[컴퓨터비전개론] Fourier Transform - Filtering in Frequency Domain (Low Pass Filter, High Pass Filter)

디지털 이미지 처리(Image Processing)에서 필터링은 이미지의 특정 특성을 조작하는 핵심 기술이다. 필터링 기법은 크게 공간 영역(Spatial Domain) 필터링과 주파수 영역(Frequency Domain) 필터링으로 나눌 수 있다. 이 글에서는 이미지의 주파수 성분(Frequency Components)을 분석하고 이를 기반으로 필터링을 수행하는 주파수 영역 필터링에 대해 심층적으로 알아보고자 한다.


푸리에 변환(Fourier Transform), 이미지의 주파수 세계

일반적인 이미지는 픽셀 강도 값의 2차원 배열, 즉 공간 영역 표현으로 존재한다. 주파수 영역 필터링을 이해하기 위해서는 이미지를 주파수 관점에서 바라볼 필요가 있으며, 이때 사용되는 핵심 수학적 도구가 바로 푸리에 변환(Fourier Transform, FT)이다.
(시간(공간) 영역의 신호를 주파수 성분으로 변환)

프랑스의 수학자 조제프 푸리에(Joseph Fourier)는 모든 주기 함수가 다양한 주파수와 진폭을 갖는 사인(Sine) 및 코사인(Cosine) 함수의 합으로 표현될 수 있다는 혁신적인 개념을 제시했다. 이 아이디어는 비주기 함수까지 확장되어 강력한 신호 분석 도구인 푸리에 변환으로 발전했다.

Fourier Transform

이미지와 같은 유한한 비주기 신호에 푸리에 변환을 적용하면, 해당 이미지를 구성하는 다양한 주파수 성분과 각 성분의 크기(Magnitude/Amplitude) 및 위상(Phase) 정보를 담은 주파수 스펙트럼(Frequency Spectrum)을 얻을 수 있다. 즉, 푸리에 변환은 이미지를 다양한 진동수의 주기 함수(사인파, 코사인파) 조합으로 분해하는 과정으로 이해할 수 있다.

적분 형태의 푸리에 변환은 데이터가 연속적인 신호에 적합하지만, 이미지와 같은 대부분의 real world data는 이산적(discrete)하므로 이산 푸리에 변환(Discrete Fourier Transform)을 이용하여 계산한다.

DFT

푸리에 변환의 결과는 복소수(Complex Number) 형태로 나타나며, 크기는 특정 주파수 성분의 에너지 강도를, 위상은 해당 성분의 공간적 위치(시작점)에 대한 정보를 나타낸다. 2D 이미지의 푸리에 변환 결과 또한 2차원 데이터로 표현된다. 일반적으로 변환 결과의 중심부에는 낮은 주파수 성분(DC 성분 포함)이, 외곽으로 갈수록 높은 주파수 성분이 위치하는 특징을 가진다. 변환 결과를 시각적으로 분석하기 용이하도록, np.fft.fftshift() 함수 등을 사용하여 0 주파수 성분(DC 성분)을 이미지의 중앙으로 이동시키는 중심화(Centering) 작업을 수행하기도 한다.

0과 M 양 끝에 있는 강한 신호를 M/2만큼 shift하기
(Centering)


주파수 영역 필터링의 기본 원리

주파수 영역 필터링은 다음의 단계를 거쳐 수행된다.

  1. 푸리에 변환: 입력 이미지를 푸리에 변환(예: np.fft.fft2)하여 주파수 스펙트럼을 얻는다. (필요시 centering 수행)
  2. 필터 적용: 설계된 주파수 영역 필터 함수(H(u,v))를 주파수 스펙트럼에 점별 곱셈(Element-wise Multiplication)한다. 이 필터 함수는 특정 주파수 대역을 통과시키거나 차단/감쇠시키는 역할을 한다.
  3. 역 푸리에 변환: 필터가 적용된 주파수 스펙트럼을 역 푸리에 변환(Inverse Fourier Transform, IDFT)(예: np.fft.ifft2)하여 다시 공간 영역의 결과 이미지를 얻는다. (중심화를 수행했다면, 역 변환 전에 np.fft.ifftshift()로 원위치시키는 과정 필요)
original / spectrum / centered / filter applied / decenterize / final result


저역 통과 필터 (Low Pass Filter, LPF)

저역 통과 필터(Low Pass Filter, LPF)는 이름 그대로 낮은 주파수 성분은 통과시키고 높은 주파수 성분은 감쇠시키는 필터이다. 이미지에서 낮은 주파수는 주로 배경이나 완만한 밝기 변화 등 전반적인 형태를 나타내고, 높은 주파수는 엣지(Edge), 노이즈, 세밀한 질감 등 급격한 변화를 나타낸다. 따라서 LPF를 적용하면 고주파 성분이 제거되어 이미지 스무딩(Image Smoothing) 또는 블러링(Blurring) 효과와 함께 노이즈 제거(Noise Reduction) 효과를 얻을 수 있다.

주요 주파수 영역 저역 통과 필터는 다음과 같다.

  • 이상적인 저역 통과 필터 (Ideal Low Pass Filter, ILPF): 특정 차단 주파수(Cutoff Frequency) D₀를 기준으로 주파수 통과 여부를 날카롭게 결정한다. 즉, 중심으로부터 D₀ 거리 내 주파수는 모두 통과(값 1)시키고, 그 밖의 주파수는 모두 차단(값 0)하는 이진 마스크 형태이다. 구현은 간단하지만, 주파수 영역에서의 급격한 차단은 공간 영역에서 링잉 현상(Ringing Effect)이라는 원치 않는 파동 패턴을 유발하는 단점이 있다.
Ideal Low Pass Filter

  • 가우시안 저역 통과 필터 (Gaussian Low Pass Filter, GLPF): 가우시안 함수 형태를 따르는 필터이다. 중심 주파수(DC)에서 가장 큰 값을 가지며 중심에서 멀어질수록(주파수가 높아질수록) 필터 값이 부드럽게 감소한다. 차단 주파수 개념 대신 가우시안 함수의 표준 편차(σ)로 필터의 대역폭을 조절한다. GLPF는 ILPF와 달리 주파수 응답이 부드러워 링잉 현상이 발생하지 않으며, 결과 이미지가 더 자연스럽다는 장점이 있다. 이는 artifact에 민감한 의료 영상 등에서 중요하다.
Gaussian Low Pass Filter



참고로 Butterworth Low Pass Filter는 n값을 어떻게 조절하느냐, 즉 order에 따라 Gaussian 필터에 가까울 수도, Ideal 필터에 가까울 수도 있다.
Butterworth Low Pass Filter


고역 통과 필터 (High Pass Filter, HPF)

고역 통과 필터(High Pass Filter, HPF)는 LPF와 반대로, 높은 주파수 성분은 통과시키고 낮은 주파수 성분은 감쇠시키는 필터이다. 고주파 성분은 이미지의 엣지, 경계, 세부 디테일에 해당하므로, HPF를 적용하면 이러한 특징이 강조되어 이미지 샤프닝(Image Sharpening) 효과나 엣지 검출(Edge Detection)과 유사한 결과를 얻을 수 있다. 이미지의 전반적인 밝기 정보(저주파)는 약화된다.

HPF 역시 이상적인 형태(Ideal High Pass Filter, IHPF)와 가우시안 형태(Gaussian High Pass Filter, GHPF) 등이 존재한다. IHPF는 특정 차단 주파수 D₀ 바깥 영역은 통과(값 1)시키고 안쪽 영역은 차단(값 0)한다. GHPF는 일반적으로 1 - GLPF 형태로 구현하며, 중심부(저주파)에서 값이 0에 가깝고 외곽(고주파)으로 갈수록 값이 1에 가까워지는 형태를 가진다. IHPF 또한 링잉 현상을 유발할 수 있다.


결론

주파수 영역 필터링푸리에 변환을 통해 이미지의 공간 정보를 주파수 정보로 변환하고, 이 주파수 스펙트럼 상에서 원하는 대역을 선택적으로 조작함으로써 이미지를 처리하는 강력한 기법이다. 저역 통과 필터(LPF)는 스무딩과 노이즈 제거에, 고역 통과 필터(HPF)는 샤프닝과 특징 강조에 유용하게 사용될 수 있다. 푸리에 변환의 원리와 주파수 필터(Frequency Filter)들의 특성을 정확히 이해하는 것은 컴퓨터 비전(Computer Vision) 및 이미지 처리 분야의 심도 있는 학습과 응용을 위한 필수적인 기반 지식이다.


추천글:

[컴퓨터비전개론] Digital Image Fundamentals & Contrast Enhancement

[컴퓨터비전개론] Spatial Filtering - Smoothing filter(average, gaussian, median), Sharpening filter(sobel, laplacian)

hyeon_B

안녕하세요! AI 기술을 이용해 더 나은 세상을 만들어 나가고 싶은 과기원생 Hyeon이라고 합니다. 저는 앞으로 인공지능 시대에는 지식을 '활용'하는 능력이 중요해질 것이라고 생각합니다. 대부분의 일들은 인공지능이 뛰어난 모습을 보이지만, 인공지능은 데이터로 부터 연관관계를 학습하기 때문에 지식들을 새로 통합해서 활용하는 능력이 부족합니다. 인공지능이 뉴턴 전에 만들어졌다면 사과가 떨어지는 이유에 대답하지 못했을 것이고, 아인슈타인 전에 만들어졌다면 중력이 어떻게 생기는지 설명하지 못했을 것입니다. 따라서 앞으로 우리는 '본질'을 탐구하고 그 본질로부터 다른 곳에 적용하며 인공지능을 현명하게 활용해야 할 것입니다. 함께 인공지능 시대를 준비합시다!

댓글 쓰기

다음 이전

POST ADS1

POST ADS 2