디지털 이미지 처리(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) |
주파수 영역 필터링의 기본 원리
주파수 영역 필터링은 다음의 단계를 거쳐 수행된다.
- 푸리에 변환: 입력 이미지를 푸리에 변환(예:
np.fft.fft2
)하여 주파수 스펙트럼을 얻는다. (필요시 centering 수행) - 필터 적용: 설계된 주파수 영역 필터 함수(H(u,v))를 주파수 스펙트럼에 점별 곱셈(Element-wise Multiplication)한다. 이 필터 함수는 특정 주파수 대역을 통과시키거나 차단/감쇠시키는 역할을 한다.
- 역 푸리에 변환: 필터가 적용된 주파수 스펙트럼을 역 푸리에 변환(Inverse Fourier Transform, IDFT)(예:
np.fft.ifft2
)하여 다시 공간 영역의 결과 이미지를 얻는다. (중심화를 수행했다면, 역 변환 전에np.fft.ifftshift()
로 원위치시키는 과정 필요)
저역 통과 필터 (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)이라는 원치 않는 파동 패턴을 유발하는 단점이 있다.
- 가우시안 저역 통과 필터 (Gaussian Low Pass Filter, GLPF): 가우시안 함수 형태를 따르는 필터이다. 중심 주파수(DC)에서 가장 큰 값을 가지며 중심에서 멀어질수록(주파수가 높아질수록) 필터 값이 부드럽게 감소한다. 차단 주파수 개념 대신 가우시안 함수의 표준 편차(σ)로 필터의 대역폭을 조절한다. GLPF는 ILPF와 달리 주파수 응답이 부드러워 링잉 현상이 발생하지 않으며, 결과 이미지가 더 자연스럽다는 장점이 있다. 이는 artifact에 민감한 의료 영상 등에서 중요하다.
고역 통과 필터 (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) 및 이미지 처리 분야의 심도 있는 학습과 응용을 위한 필수적인 기반 지식이다.
추천글: