안녕하세요. 지난 포스팅의 디지털 영상 처리 - 공간 개선 방법 결합에서는 어떤 문제를 달성하기 위해서 다양한 필터링 기법과 밝기 변환 함수들을 함께 적용하는 것을 보았습니다. 지난 포스팅까지는 영상 공간 필터링(image domain filtering)에 대해서 다루었다면 오늘은 주파수 공간 필터링(frequency domain filtering)에 대해서 알아보도록 하겠습니다. 주파수 공간 필터링을 정확하게 이해하기 위해서는 많은 선행 지식을 필요로 하기 때문에 오늘 포스팅은 해당 개념을 알기 위한 기초 공사 정도로 생각하면 될 거 같습니다.
1. 복소수(Complex Numbers)
복소수에 대해서는 다들 고등학교나 대학교 1학년 때 기초 수학에서 아마 배우실 것이기 때문에 간단하게 설명하고 넘어가도록 하겠습니다. 복소수 $C$는 아래와 같이 정의될 수 있습니다.
$$C = R + jI$$
여기서 $R, I$는 실수, $j = \sqrt{-1}$을 의미합니다. 이때, $R$은 실수부, $I$는 허수 부라고 정의됩니다. 자세히 보시면 $I = 0$이라면 복소수는 단순히 실수가 되는 것을 볼 수 있습니다. 따라서 실수는 복소수의 부분집합이라는 것이죠. 또한 복소수 $C$의 공액 복소수 $C^{*}$는 아래와 같이 정의됩니다.
$$C^{*} = R - jI$$
복소수는 가로축이 실수부, 세로축이 허수부를 의미하는 복소평면이라는 공간에서 정의될 수 있습니다. 즉, 복소수 $R + jI$는 복소평면 상에서는 $(R, I)$와 동일합니다. 이를 그림으로 그리면 아래와 같습니다.
이때, 원점 $O$로부터 복소수까지 직선을 그으면 가로축과 직선 사이의 각이 생깁니다. 그 각을 $\phi$라고 하면 복소수를 극좌표(polar coordinate)로 표현하면 더 편해집니다.
$$C = |C|(\cos{\theta} + j\sin{\theta})$$
이 경우에는 $\theta$가 가로축에서 직선까지의 각도, $|C|$는 원점으로부터 복소평면 상의 복소수까지의 거리로 $|C| = \sqrt{R^{2} + I^{2}}$와 동일합니다. 여기에 아주 유명한 오일러 공식(Euler's formula) $e^{j\theta} = \cos{\theta} + j\sin{\theta}$를 이용하면 아래와 같이 쓸 수 있습니다.
$$C = |C|e^{j\theta}$$
2. 푸리에 급수(Fourier Series)
어떤 함수 $f(t)$가 주기 $T$, 연속 변수 $t$를 가지고 있다면 해당 함수 $f(t)$는 $\sin, \cos$의 선형 결합(linear combination)으로 표현될 수 있습니다. 이를 푸리에 급수라고 표현하며 아래와 같은 식을 같습니다.
$$f(t) = \sum_{n=-\infty}^{\infty} c_{n}e^{j\frac{2\pi n}{T}t}$$
여기서 $c_{n} = \frac{1}{T}\int_{-\frac{T}{2}}^{\frac{T}{2}} f(t)e^{-\frac{2\pi n}{T}t} \; dt$로 정의됩니다. 이를 그림으로 그리면 아래와 같습니다.
상단 그림의 가장 아래쪽에 위치한 함수는 푸리에 급수를 이용하면 위의 모든 정현파를 더한 것과 같다는 것을 알 수 있습니다. 이러한 아이디어는 1807년에 샤를 푸리에 Joseph Fourier에 의해 제안되었습니다. 이 푸리에 급수는 앞으로 배울 주파수 공간 필터링의 기본 공식이 되기 때문에 알아두면 좋을 거 같습니다.
3. 임펄스와 선별 특성(Impulse and their sifting property)
$t = 0$에 위치하는 연속 변수 $t$의 단위 임펄스 $\delta(t)$는 아래와 같이 정의됩니다.
$$\delta(t) = \begin{cases} \infty &t = 0 \\ 0 &t \neq 0\end{cases}$$
그리고 $\int_{-\infty}^{\infty} \delta(t) \; dt = 1$을 만족해야 합니다. 단위 임펄스를 어떤 함수 $f(t)$와 곱하여 적분하면 $f(0)$의 값을 바로 적을 수 있습니다. 즉, 저희는 $f(t)$로부터 $t = 0$에서의 값을 선별했기 때문에 이러한 특성을 선별 특성이라고 부릅니다.
$$\int_{-\infty}^{\infty} f(t)\delta(t) \; dt = f(0)$$
이 특성을 일반화시키면 저희가 원하는 임의의 점 $f(t_{0})$를 아래와 같이 선별할 수 있습니다.
$$\int_{-\infty}^{\infty} f(t)\delta(t - t_{0}) \; dt = f(t_{0})$$
이번에는 조건을 조금 바꿔서 $x$가 이산 변수(discrete variable)을 갖는 다고 가정하겠습니다. 그러면 단위 이산 임펄스 $\delta(x)$는 단위 연속 임펄스와 유사하게 정의될 수 있습니다. 다만, 다른 점은 연속 임펄스는 $\infty$를 가지지만 이산 임펄스에서는 $1$을 가집니다.
$$\delta(x) = \begin{cases} 1 &x = 0 \\ 0 &x \neq 0\end{cases}$$
또한, 연속 임펄스도 단위 이산 임펄스도 마찬가지로 $\sum_{x = -\infty}^{\infty} \delta(x) = 1$을 만족하는 것을 볼 수 있습니다. 단위 이산 임펄스에서의 선별 특성 역시 아래와 같이 쓸 수 있습니다.
$$\sum_{x=-\infty}^{\infty} f(x)\delta(x) = f(0)$$
$$\sum_{x=-\infty}^{\infty} f(x)\delta(x - x_{0}) = f(x_{0})$$
하지만 단순한 단위 임펄스는 딱히 사용할 수 없습니다. 하지만 이러한 단위 임펄스들을 동일한 간격 $\Delta T$만큼 쭉 나열하면 임펄스 열(impulse sequence) $s_{\Delta T}(t)$를 얻을 수 있습니다.
$$s_{\Delta T}(t) = \sum_{n=-\infty}^{\infty} \delta(t - n\Delta T)$$
이를 그림으로 보시면 더욱 쉽게 이해할 수 있습니다. 연속 임펄스도 마찬가지로 이산 임펄스와 유사한 모습을 보이게 됩니다. 임펄스 열이 매우 중요한 개념이 되는 데 그 이유는 다음 포스팅에서 신호 샘플링을 보시면 될 거 같습니다.
변경사항
22.10.22. 샤를 푸리에 $\rightarrow$ Joseph Fourier로 변경
'image processing' 카테고리의 다른 글
디지털 영상 처리 - 샘플링과 샘플링된 함수의 푸리에 변환 (6) | 2021.03.31 |
---|---|
디지털 영상 처리 - 주파수 공간 필터링 기초 2 (3) | 2021.03.29 |
디지털 영상 처리 - 공간 개선 방법 결합 (0) | 2021.03.24 |
디지털 영상 처리 - 샤프닝 공간 필터 구현 (0) | 2021.03.22 |
디지털 영상 처리 - 샤프닝 공간 필터(Sharpening Spatial Filter) : 언샤프닝 마스킹, 하이부스팅 필터링, 비등방성 필터 (0) | 2021.03.21 |