우리가 일상적으로 접하는 이미지는 공간 영역에서 픽셀 단위로 데이터를 다루지만, 주파수 영역에서는 이미지를 주파수 성분으로 분해하여 처리한다. 이러한 방식은 공간 영역의 문제를 주파수 영역에서 처리할 수 있게 할 수 있다. 특히 이는 이미지 압축, 노이즈 제거, 엣지 검출 등 다양한 작업에서 강력한 성능을 발휘한다.
이번 포스터에서는 이러한 주파수 영역에서의 영상처리를 서술해보도록 하겠다.
1. 주파수란?
주파수는 영상의 밝기나 색상이 얼마나 빠르게 변하는지를 나타내는 개념이다. 여기서 빠르게 변한다는 의미는 픽셀 값의 변화와 관련있는 내용이다. 데이터를 읽어나가는데 이것은 변화로 볼 수 있으며 이를 이용하는 것이 주파수 영역에서의 처리를 의미한다.
이러한 주파수 성분을 통해 영상에서 다양한 특성을 분석하고 조정할 수 있다. 예를 들어, 고주파 성분을 제거하면 영상이 부드럽고 선명한 세부사항이 사라지며, 반대로 저주파 성분을 제거하면 경계선이 강조되어 더 뚜렷한 형태를 만들 수 있다. 이처럼 주파수 영역에서의 처리는 영상의 다양한 특징을 조절하는 데 유용하게 활용된다.
2. 푸리에 변환
푸리에 변환은 신호를 주파수 영역으로 변환하는 대표적인 방법으로, 임의의 주기적인 신호는 연속된 사인곡선의 조합으로 표현될 수 있다는 이론에 기반을 두고 있다. 즉, 복잡한 신호나 함수를 간단한 주파수 성분으로 분해할 수 있다는 내용을 이야기한다. 이 이론은 장앙 푸리에가 처음 제시한 것으로, 오늘날 신호 처리, 이미지 처리 등 다양한 분야에서 핵심적인 역할을 하고 있다.
푸리에 변환의 핵심은 공간 영역을 주파수 영역으로 변환하는 것이다. 예를 들어, 이미지는 각 픽셀의 밝기 값으로 구성된 공간 영역에서 표현되지만, 푸리에 변환을 사용하면 이 이미지를 주파수 영역으로 바꿀 수 있다. 주파수 영역에서는 이미지의 고주파와 저주파 성분을 따로 분석하고 조정할 수 있어, 다양한 처리 작업을 더 효율적으로 수행할 수 있게 된다.
푸리에 변환은 일반적으로 1차원 신호에서 사용되지만, 이미지와 같이 2차원 데이터를 다루기 위해서는 2차원 푸리에 변환을 사용한다. 예를 들어, 2차원 연속 함수 f(x, y)에 대한 푸리에 변환을 수행하면, 이미지의 공간 영역을 주파수 영역으로 변환할 수 있다.
이때 변환된 주파수 성분은 이미지의 각 주파수 구성 요소를 나타내며, 고주파 성분은 이미지의 세부적인 변화, 저주파 성분은 이미지의 큰 형태나 전반적인 구조를 나타낸다.
이와 같은 연속 푸리에 변환은 수학적으로 매우 강력하지만, 실제 디지털 환경에서는 이산 푸리에 변환(DFT)을 사용하여 수치적으로 계산한다. 고속 푸리에 변환(FFT)은 이러한 이산 푸리에 변환을 더 빠르고 효율적으로 계산할 수 있게 도와주는 알고리즘이다.
푸리에 변환을 통해 이미지나 신호를 주파수 성분으로 분해하고 이를 조작하는 것은 노이즈 제거, 이미지 압축, 엣지 검출 등 다양한 영상 처리 작업에서 매우 중요한 역할을 한다.
3. 고속 푸리에 변환 (FFT)
고속 푸리에 변환(FFT, Fast Fourier Transform)은 신호나 데이터를 주파수 영역으로 변환하는 푸리에 변환(Fourier Transform)을 빠르게 계산하는 알고리즘이다.
3.1. FFT를 수행하는 방법
FFT는 기본 푸리에 변환(O(N²))의 느린 계산 속도를 개선하여 O(N log N)으로 가속화한 알고리즘이다. 이를 위해 Divide and Conquer(분할 정복) 방식을 사용하여 푸리에 변환의 계산 과정을 효율적으로 나눈다.
1D FFT는 1차원 데이터를 주파수 공간으로 변환하며, 이 과정을 반복적으로 적용하여 계산 속도를 높인다. 이를 기반으로 2D FFT를 수행할 수 있다. 2D FFT는 다음 단계로 이루어진다:
- 이미지의 각 행(row)에 대해 1D FFT를 적용한다.
- 이어서 변환된 결과에서 각 열(column)에 대해 1D FFT를 적용한다.
이 두 단계는 서로 독립적이기 때문에 2D 데이터를 효율적으로 주파수 영역으로 변환할 수 있다.
1차원 데이터에 대해 FFT를 수행하는 기본 단계(1D FFT):
- 데이터를 짝수와 홀수 인덱스로 나눈다.
- 각 부분에 대해 재귀적으로 FFT를 수행힌다.
- 결과를 결합하여 최종 주파수 성분을 계산한다.
이미지처럼 2차원 데이터에 대해 FFT를 수행하려면 (2D FFT) :
- 각 행(row)에 대해 1D FFT를 수행한다.
- 이어서 각 열(column)에 대해 1D FFT를 수행한다.
4. 푸리에 역변환(IFFT)
푸리에 역변환은 푸리에 변환을 통해 공간 영역의 데이터를 주파수 영역으로 변환한 뒤, 이를 다시 공간 영역으로 복원하는 과정이다. 푸리에 역변환을 활용하면 다양한 필터링 효과를 구현할 수 있다. 예를 들어:
- 저주파 통과 필터를 사용하면 부드러운 변화가 강조되어 선명하고 깔끔한 이미지를 얻을 수 있다.
- 고주파 통과 필터를 적용하면 경계선이나 세부 구조가 강조되어 엣지 검출과 같은 작업이 가능하다.
푸리에 역변환은 영상 처리에서 필터링, 압축, 노이즈 제거 후 결과를 시각적으로 확인하거나, 원본 데이터로 복원하는 데 필수적인 과정이다.
5. 푸리에 변환을 이용한 잡음제거
이러한 성질을 가진 푸리에 변환은 일정한 형태의 잡음이 들어간 영상을 처리하는 데에 효과적이다. 이것은 보통 필터와 같은 것을 사용하여 잡음을 제거한다. 이것은 특정 주파수를 인식하여 제거하는 방법을 사용한다.
'Computer Science(컴퓨터 과학) > 영상처리' 카테고리의 다른 글
영상처리 - 중간정리2 (0) | 2024.12.12 |
---|---|
영상처리 - 영상압축 (0) | 2024.12.12 |
영상처리 - 동영상 처리(카메라, avi파일 출력하기 + YUV 컬러모델) (0) | 2024.12.11 |
영상처리 - 워핑과 모핑 (1) | 2024.12.11 |
영상처리 - 기하학적 처리2(회전, 역상) (0) | 2024.11.25 |