푸리에 변환
푸리에 변환은 Fourier가 제시한 아이디어인 Fourier series라는 모든 주기함수는 각기 다른 주파수의 사인과 코사인 함수의 가중합으로 표현될 수 있다는 아이디어로부터 확장된 개념이다. 아래 그림은 다양한 주파수의 사인함수를 더해서 unit function에 수렴하게 만드는 대표적인 Fourier series의 예시이다.
푸리에 변환은 어떤 함수를 주기함수(주파수를 갖는 함수)의 합으로 표현할 수 있다는 개념을 차용하여 아래와 같이 변환하는 방법이다.
물론 그 역과정을 통해 원시함수를 찾아내는 푸리에 역변환 과정도 가능하다.
이때 F(w)는 Magnitude가 A이고 Phase가 Ø인 주기함수이고 각각은 아래와 같이 실수부 R(w)과 허수부 I(w)로 표현된다.
Continuous한 domain에서 푸리에 변환은 아래와 같이 계산되고
픽셀로 이루어진 영상처리 과정과 같이 discrete한 domain에서는 아래와 같이 계산된다.
Magnitude vs Phase
Input image가 치타인 경우이다.
치타의 Magnitude transform 결과는 아래와 같다.
이는 log magnitude 결과이다. 그냥 magnitude는 dynamic range가 너무 커서 정말 중심부에 흰점이 찍혀있고 주변은 모두 까맣다. 따라서 이미지의 특성을 잘 확인하기 위해 log scale로 확장하는 것이다. 그럼에도 기본적으로 중심부에 밝은 값이 많이 분포한 것은 저주파의 값이 대다수라는 것을 의미한다.
세로 방향의 빛줄기는 세로 방향으로 움직일때 고주파가 많이 검출되었다는 것으로 가로 줄무늬가 존재했다는 것을 의미하고 가로 방향의 빛줄기는 가로 방향으로 움직일때 고주파가 많이 검출되었다는 것으로 세로 줄무늬가 존재했다는 것을 의미한다. 이때 치타 사진은 비교적 균등한 방향으로 패턴이 존재하므로 빛줄기가 골고루 퍼진것을 볼 수 있다.
위는 치타의 phase transform 결과로 0~2π 값을 0~255의 밝기 값으로 매핑한 결과이다.
이번에는 얼룩말 사진이 input으로 들어온 경우에 대해서 살펴보자.
얼핏 보기에도 치타사진 보다는 특정한 방향으로 고주파가 편향되어 있을 것이 예상된다. 그러한 예상과 함께 얼룩말 사진의 Magnitude transform 결과를 살펴보면 아래와 같다.
예상과 같이 x축방향, y축방향, 좌상단에서 우하단 방향으로 편향된 밝은 값들이 관찰된다. 얼룩말의 줄무늬 방향과 갈기의 줄무늬 방향이 반영된 것으로 추정할 수 있다. 그전에 아무리 고주파 사진이더라도 자연물을 찍었기에 저주파에 밝은 값이 많이 모여있는 것을 볼 수 있다. 고주파 부분을 강조하기 위해 확대하여 찍은 사진임에도 중앙부에 밝은 값이 모인 것을 볼 수 있다. 자연스러운 풍경을 찍으면 그러한 경향은 더 강하게 나타난다.
이는 얼룩말 사진의 phase transform 결과이다.
다음으로 magnitude transform 결과와 phase transform을 섞어서 복원을 하여 어느 transform 결과가 원본의 특징을 더 잘담고 있는지 확인해보자.
위는 얼룩말의 Phase와 치타의 Magnitude를 이용하여 푸리에 역변환을 하여 복원한 결과이다. A(cosØ + i*sinØ)에서 A는 치타의 값이고 Ø는 얼룩말의 값인 것이다. 사진은 얼룩말로 보이므로 phase가 원본의 특징을 더 잘담고 있다는 것을 알 수 있다.
다음은 치타의 phase와 얼룩말의 magnitude를 이용하여 복원한 결과이다. 위에서와 같이 phase가 더 큰 역할을 하여 치타로 보이는 것을 확인할 수 있다.
Man made scene
인공물에 대한 영상은 보다 각이 확실하고 strong edge를 가진 경우가 많아서 magnitude transform 결과에서 특징을 확실하게 확인할 수 있다.
아래 그림과 같이 특징점들을 인위적으로 지워버리고 복원하면 변형된 결과를 확인할 수 있고 그 특징들도 어느정도 예상해볼 수 있다.
추가적으로 아래와 같이 지워버리면 위에서부터 각각 Low-Pass Filter, High-Pass Filter를 통과한 효과를 낼 수 있다. 고주파부분을 지워버리거나 저주파부분을 지워버리는 선택을 할 수 있기 때문이다. 실제 LPF와 HPF에서 기대되는 효과인 smoothing과 edge detection 효과를 아래 그림에서 확인해 볼 수 있다.
Convolution Theorem
두 함수의 convolution 결과를 푸리에 변환한 것은 각각 푸리에 변환을 하고 곱하는 것과 같다는 정리이다. 다시 말해 spatial domain에서의 convolution 연산은 frequency domain에서의 product 연산과 같다는 것이다.
'Quality control (Univ. Study) > Digital Image Processing' 카테고리의 다른 글
Digital Image Processing - Clustering / Segmentation (0) | 2024.05.08 |
---|---|
Digital Image Processing - Color Image Processing (1) | 2024.05.01 |
Digital Image Processing - Warping (0) | 2024.04.15 |
DIP 실습 - Median / Bilateral / Canny edge detection (0) | 2024.04.12 |
Digital Image Processing - Subsampling (3) | 2024.04.10 |