안녕하세요. 지난 포스팅의 디지털 영상 처리 - 선형 및 위치 불변 열화 함수에서는 열화 함수에 선형성(가산성과 동차성을 동시에 만족)과 위치 불변성이라는 특별한 가정을 했을 때 오염된 영상 $g(x, y)$란 깨끗한 영상 $f(x, y)$와 열화 함수 $H$의 임펄스 응답 $h(x, y)$ 사이의 컨볼루션 연산을 통해 얻을 수 있음을 알게 되었습니다. 이를 정리하면 아래와 같죠.
$$g(x, y) = h(x, y) * f(x, y) + \eta(x, y) \Leftrightarrow G(\mu, \nu) = H(\mu, \nu)F(\mu, \nu) + N(\mu, \nu)$$
여기서 $G(\mu, \nu), F(\mu, \nu), H(\mu, \nu), N(\mu, \nu)$는 각각 $g(x, y), f(x, y), h(x, y), \eta(x, y)$의 푸리에 변환을 적용한 결과를 의미합니다. 지난 포스팅부터 저희의 관심영역은 $h(x, y)$ 또는 $H(\mu, \nu)$를 찾는 것입니다. 하지만 저희에게 주어진 정보는 얼마 없기 때문에 완벽한 열화함수를 찾는 것은 어려워 이를 열화함수 추정이라고 표현하였습니다. 완벽하게는 못찾더라도 어느정도 유사한 열화함수를 찾는 것이죠! 이와 같이 진짜 열화함수를 알아내는 것은 거의 불가능에 가깝기 때문에 디지털 영상 처리에서는 이를 블라인드 디컨볼루션(Blind Deconvolution)이라고 합니다. 그리고 열화함수를 추정하는 방법은 크게 1). 관찰, 2). 실험, 3). 수학적 모델링으로 나누어볼 수 있으며 오늘은 각각의 방법에 대해서 알아보겠습니다.
1. 영상 관찰에 의한 추정(Estimation By Image Observation)
기본적으로 현재 저희에게 열화함수 $H$에 대한 어떠한 단서도 없다고 가정하겠습니다. 다만, 적용된 열화함수가 선형성과 위치 불변성만큼은 만족한다고 가정하도록 하겠습니다. 그 다음으로는 오염된 영상을 관찰합니다. 만약, 영상이 블러링되어있으면서 흔히 말하는 "상자 효과(Blocky Effect)"가 나타났다면 어떤 열화함수가 적용된 것 일까요? 이 경우에는 해당 열화함수가 상자 필터와 같은 평균 필터가 적용될 가능성이 높다는 것을 알 수 있습니다.
다음으로는 영상을 세밀하게 부영상으로 나누어서 관찰해봅니다. 관찰하고 있는 부영상을 $g_{s}(x, y)$라고 가정하겠습니다. 그리고 처리된 부영상을 $\hat{f}(x, y)$라고 하겠습니다. 방금 제시한 예시와 같은 부영상에서 블러링된 영상을 샤프닝 필터를 이용해서 영상의 왜곡이 심해지지 않는 선에서 최대한 강한 엣지가 발생하도록 만들어줍니다. 그 결과 영상이 $\hat{f}(x, y)$가 되는 것이죠. 그리고 저희는 현재 작은 부영상을 고려하고 있기 때문에 $N_{s}(x, y) \approx 0$이라는 가정을 추가하도록 하겠습니다. 그러면 $G_{s}(\mu, \nu) = H_{s}(\mu, \nu)\hat{F}_{s}(\mu, \nu) + N_{s}(\mu, \nu) = H_{s}(\mu, \nu)\hat{F}_{s}(\mu, \nu)$가 됩니다. 따라서 아주 작은 영역에 대한 열화 함수는 아래와 같이 쓸 수 있습니다.
$$H_{s}(\mu. \nu) = \frac{G_{s}(\mu, \nu)}{\hat{F}_{s}(\mu, \nu)}$$
만약 추정된 아주 작은 영역의 $H_{s}$가 전체적으로 가우시안 분포의 형태를 띈다고 가정하면 다음으로 진행하는것은 가우시안 형태는 고정하고 영역을 살짝 더 키워서 위의 과정을 또 진행해줍니다. 하지만, 이와 같은 추정방법은 노동력이 많이 들어가기 때문에 아주 오래되고 역사적 가치가 있는 사진들을 복원하는 것과 같이 특별한 상황에서만 사용된다고 합니다.
2. 실험에 의한 추정(Estimation By Experimentation)
만약 저희가 열화된 영상을 얻을 때 사용한 장비와 유사한 장비를 구한다면 어느정도 더 정확한 열화함수를 추정할 수 있지 않을까요? 실험에 의한 추정방법은 간단합니다. 열화된 영상을 얻을 때 사용한 장비를 구한다음에 열화된 영상과 어느정도 유사한 장비를 얻을 때 까지 계속 반복하여 찍습니다. 그러면 가장 유사한 열화된 함수가 나왔을 때 장비의 파라미터 값을 이용하면 단순한 관찰에 의한 추정에 비해서 더 정확한 열화함수를 얻을 수 있을 것 입니다.
3. 수학적 모델링에 의한 추정(Estimation By Mathematical Modeling)
이번에는 지금까지 알아본 방법과 다른 추정 방법입니다. 수학적 모델링에 의한 추정을 위해서 가장 먼저 고려해야할 것은 열화된 영상이 얻어지는 환경입니다. 예를 들어 난기류에 의해 심하게 흔들리는 공간에서 사진을 찍었다고 가정하겠습니다. 그러면 Hufnagel과 Stanley에 의해 제안된 수학적 모델은 아래와 같습니다.
$$H(\mu, \nu) = e^{-k(\mu^{2} + \nu^{2})^{\frac{5}{6}}}$$
여기서 $k$는 난기류의 성질에 종속되는 상수이고 $\frac{5}{6}$를 제외하면 그냥 이전에 보았던 가우시안 저역통과 필터와 유사한 모양을 띈다는 것까지 확인할 수 있습니다.
위 그림은 난기류 종속 상수 $k$에 따른 영상의 오염수준을 보여주고 있습니다. $k$가 커질수록 영상의 블러링이 어느정도 더 심해진다는 것을 알 수 있습니다.
이와 같이 수학적 모델링을 이용한 열화함수 추정은 오염된 영상이 찍힌 환경을 고려하여 만들어집니다. 이번에는 영상을 획득했을 때 영상과 센서 간에 균일 선형 움직임에 의해 영상이 흐려졌다고 가정하겠습니다. 간단하게 생각하면 어떤 모션블러가 적용되었다고 보겠습니다. 이를 모델링하기 위해서 영상을 $f(x, y)$, $x_{0}(t), y_{0}(t)$를 각각 $x$와 $y$ 방향에서의 움직임의 시간에 의한 함수라고 가정하겠습니다. 여기서 영상 획득에서의 한 가지 사실을 활용하여 모델링을 하도록 하겠습니다.
"기록 매체(필름, 디지털 메모리, 카메라)의 어떤 점에서의 전체 노출 시간은 영상화 시스템의 셔터가 열려있는 동안 순시 노출들을 적분하여 얻어진다."
셔터 개폐가 아주 짧은 시간($dt$)에 일어난다고 가정하면 영상 움직임의 효과를 분리할 수 있습니다. 여기서 $T$를 노출 경과 시간이라고 하면 오염된 영상 $g(x, y)$은 아래의 수식으로 얻을 수 있습니다.
$$g(x, y) = \int_{0}^{T} f\left[x - x_{0}(t), y - y_{0}(t)\right] \; dt$$
따라서 오염된 영상의 푸리에 변환 $G(\mu, \nu)$는 아래와 같습니다.
$$G(\mu, \nu) = \int_{-\infty}^{\infty} \int_{-\infty}^{\infty} g(x, y)e^{-j2\pi(\mu x + \nu y)} \; dx dy = \int_{-\infty}^{\infty} \int_{-\infty}^{\infty} \left[\int_{0}^{T} f\left[x - x_{0}(t), y - y_{0}(t)\right] \; dt\right]e^{-j2\pi\left(\mu x + \nu y\right)} \; dx dy $$
여기서 적분의 순서를 바꾸면 다시 아래와 같이 쓸 수 있습니다.
$$G(\mu, \nu) = \int_{0}^{T} \left[\int_{-\infty}^{\infty} \int_{-\infty}^{\infty} f\left[x - x_{0}(t), y - y_{0}(t)\right]e^{-j(\mu x + \nu y)} \; dx dy\right] \; dt $$
여기서 푸리에 변환의 이동특성을 활용하면 또 다시 식을 아래와 같이 쓸 수 있습니다.
$$G(\mu, \nu) = \int_{0}^{T} F(\mu, \nu) e^{-2j\pi\left[\mu x_{0}(t) + \nu y_{0}(t)\right]} \; dt = F(\mu, \nu)\int_{0}^{T} e^{-2j\pi\left[\mu x_{0}(t) + \nu y_{0}(t)\right]} \; dt$$
이때 저희가 $H(\mu, \nu) = \int_{0}^{T} e^{-2j\pi\left[\mu x_{0}(t) + \nu y_{0}(t)\right]} \; dt$라고 정의하겠습니다. 그러면 아래와 같이 지금까지 저희가 보았던 친숙한 형태의 수식을 얻을 수 있습니다.
$$G(\mu, \nu) =F(\mu, \nu) H(\mu, \nu)$$
만약 $x_{0}(t)$와 $y_{0}(t)$를 측정을 통해 구할 수 있다면 열화 함수 $H(\mu, \nu)$를 바로 얻어낼 수 있다는 것에 주목해주시길 바랍니다. 여기서 영상의 흔들림이 $x$ 축방향에만 선형 속도로 전해진다고 가정하겠습니다. 즉, $x_{0}(t) = \frac{at}{T}$이고 $y_{0}(t) = 0$입니다.
$$H(\mu, \nu) = \int_{0}^{T} e^{-2j\pi\left[\mu x_{0}(t) + \nu y_{0}(t)\right]} \; dt = \int_{0}^{T} e^{-2j\pi\mu\frac{at}{T}} \; dt = \frac{T}{\pi \mu a}\sin{\left(\pi \mu a\right)}e^{-j\pi \mu a}$$
'image processing' 카테고리의 다른 글
디지털 영상 처리 - 최소 평균 오차(Wiener) 필터링 (0) | 2021.06.14 |
---|---|
디지털 영상 처리 - 역 필터링 (0) | 2021.06.03 |
디지털 영상 처리 - 선형 및 위치 불변 열화 함수 (0) | 2021.05.30 |
디지털 영상 처리 - 노이즈만 있을 때 복원하기(공간 필터링) : 적응 필터 구현 (0) | 2021.05.29 |
디지털 영상 처리 - 주파수 도메인 필터링에 의한 노이즈 감소 (0) | 2021.05.23 |