728x90
반응형



Fourier Transform (푸리에 변환)


  푸리에 변환(Fourier Transform) 이란 어떤 시간 도메인(time domain)에서 표현된 신호를 주파수 도메인(frequency domain)에서의 표현으로 변환해주는 것을 말한다. 영상처리에서는 2차원 푸리에 변환을 사용하게 된다. 이는 영상을 x축 또는 y축 방향으로 따라가면서 픽셀의 밝기 변화를 파형 또는 신호로 보고 주파수 분석을 적용하는 것이다. 푸리에 변환을 통해 얻은 각 주파수 성분의 강도를 스펙트럼(spectrum)이라고 부른다. 이 스펙트럼도 이미지처럼 표현이 가능하다.


  또한, 푸리에 변환은 신호를 주파수 영역에서 분석하기 위해 사용된다. 푸리에 변환의 기본 개념은 하나의 신호는 여러 개의 sin 신호와 cos 신호의 합으로 표현할 수 있다는 것이고, 이 sin 신호와 cos 신호의 주파수 성분이 어떻게 구성되어 있는지를 파악하여 신호를 분석하게 된다. 다음 수식은 2차원 푸리에 변환과 sin과 cos을 오일러 공식을 통해 exp로 표현하고 있다. 푸리에 변환을 통해 신호해석을 용이하게 할 수 있다. 

(그림 1) A two dimensional images Fourier transform 


  푸리에 변환은 보통 DFT로 나타내는데 이산 푸리에 변환(Discrete Fourier Transform)으로 나타난다. 이는 이론적인 푸리에 변환을 실제 컴퓨터에서 실행 가능하게 만든 알고리즘이다. 이 DFT를 훨씬 빠르게 처리하기 위한 것이 바로 고속 푸리에 변환(FFT, Fast Fourier Transform)이다. 


  영상처리에서 푸리에 변환은 영상을 개선하는데 주로 많이 쓰인다. 저번에 만들어 두었던 (salt and pepper) 노이즈 예제 이미지를 가지고 푸리에 변환을 수행해 보았다.


(그림 2) 노이즈가 있는 입력영상의 푸리에 변환 이미지


  이와 같이 푸리에 변환은 영상을 개선하기 위해 노이즈 처리하기 힘든 입력영상을 노이즈 처리하기에 좋은 주파수영역으로 바꾼 다음 노이즈를 제거하는 역할을 수행하게 된다. 위 이미지의 오른쪽 이미지는 푸리에 변환을 수행한 spectrum magnitude 이미지이다. 이 주파수 영역을 나타내는 스펙트럼 이미지에서 입력영상의 노이즈 부분에 해당하는, 즉 고주파 영역이나 저주파 영역에 해당하는 부분을 아래와 같이 제거해 준다면 개선된 영상을 얻을 수 있다. 


(그림 3) 노이즈 영역을 제거한 스펙트럼 영상


이렇게 스펙트럼 영상에서 노이즈 영역에 해당하는 부분을 제거하고 푸리에 역변환(IDFT)을 수행하여 원래의 입력영상 도메인으로 바꾸면 개선된 이미지를 얻을 수 있게 된다. 푸리에 변환에 의한 필터링 과정은 다음과 같다.


f(x, y) ------- F(x, y) ------- H(u, v)F(u, v) ------- g(x, y)

Forward DFT       Filtering                InverseDFT


이러한 필터링 과정에서 H(u, v) 부분을 구현할 때 유의해야 할 점은 F(u, v)와 같은 크기의 영상 또는 행렬로 생성하지 않고, F(u, v)의 u, v 에 따라 H(u, v)의 스칼라 값을 계산하여 F(u, v)에 곱하는 방식을 사용하게 된다.


이러한 H(u, v) 부분에 적용하여 구현 할 수 있는 필터는 다음과 같은 필터가 있다.



1. 저주파 통과 필터(lowpass filtering)


  저주파 통과 필터는 F(u, v)의 저주파 영역은 통과시키고 고주파 영역은 0으로 만들어 통과시키지 않는 필터를 말한다. 영상에서 잡음을 제거하거나 또는 약화시키고 블러링하여 에지 등의 세밀한 부분을 부드럽게 만드는 역할을 한다. 


1.1 이상적인 저주파 통과 필터(ideal lowpass filtering)


이상적인 저주파 통과 필터는 주파수 영역의 원점으로부터 거리 D가 절단 주파수 D0 미만이만 통과시키고, 그렇지 않으면 통과시키지 않도록 하는 필터이다. 


1.2 버터워스(Butterworth) 저주파 통과 필터


버터워스 필터는 절단 주파수 D0과 정수 n을 사용하여 필터H(u, v)가 완만하게 0에서 1사이의 실수 값을 갖도록 한다. 영상의 중심에서는 H(u, v) = 1 을 갖고, 멀어질수록 0에 가까운 값을 갖는다.


1.3 가우시안 저주파 통과 필터


가우시안 저주파 통과 필터는 D0을 표준편차로 갖는 가우시안 함수에 의해 H(u, v)가 완만하게 0에서 1사이의 실수 값을 갖는다. 중심에서는 H(u, v) = 1을 갖고, 중심에서 멀어질수록 0에 가까운 값을 갖게 된다. 



2. 고주파 통과 필터(high pass filtering)


  고주파 통과 필터는 F(u, v)의 고주파 영역은 통과시키고 저주파 영역은 0으로 만들어 통과시키지 않는 필터를 말한다. 고주파 통과 필터는 영상을 날카롭게 강조하는 샤프팅 효과를 일으킨다. 입력영상에서 고주파 통과 필터링을 하여 IDFT 하면 변화가 없는 영역은 0 의 값을, 변화가 심한 에지 영역은 양수 또는 음수의 값을 갖게 된다. 


2.1 이상적인 고주파 통과 필터

2.2 버터워스 고주파 통과 필터링

2.3 가우시안 고주파 통과 필터링 




이와 관련된 프로그램은 개발중이며 향후 내용에 추가할 계획이다.  




참고자료 1 

http://docs.opencv.org/2.4/doc/tutorials/core/discrete_fourier_transform/discrete_fourier_transform.html

참고자료 2 : http://darkpgmr.tistory.com/14

참고자료 3 : http://paulbourke.net/miscellaneous/imagefilter/

참고자료 4 : 

http://blog.naver.com/PostView.nhn?blogId=laonple&logNo=220834097950&parentCategoryNo=&categoryNo=&viewDate=&isShowPopularPosts=false&from=postView

728x90
반응형