본문 바로가기
과학/영상처리

[영상처리] 영상의 복원과 위너 필터(Wiener filter)

by 원쓰원 2023. 1. 5.

 

1. 영상 복원(Image restoration)

우리는 주로 휴대폰 카메라를 사용하여 사진을 찍고는 합니다. 우리가 이렇게 찍은 사진에는 사실 열화(degradation)가 필연적으로 발생합니다. 우리가 기대했던 사진과는 다소 다른 사진을 얻게 되죠. 이러한 열화를 아예 제거하거나, 획득 혹은 전송 이후에 줄이는 작업을 영상 복원(Image restoration)이라고 합니다. 영상 열화의 발생 원인으로는 렌즈로 인한 기하학적인 왜곡 현상, 피사체의 움직임, 전기적 원인에 의한 노이즈(noise) 등이 있을 수 있습니다. 그렇다면 우리가 원하는 완벽한 영상을 얻기 위해서는, 열화의 정의를 정확히 알고 이를 없애는 것이 중요합니다.

2. 영상의 열화 모델(Degradation model)

그렇다면, 이제 영상의 열화 모델(degradation model)은 어떻게 구성되어 있는지 알아보겠습니다. 기존의 영상과 열화 함수의 정보가 있다면, 우리가 획득하였던 열화 된 영상을 생성할 수 있습니다. 이때, 원 영상을 f(x, y), 열화 함수를 H, 생성된 영상을 d(x, y)라 한다면 식은 아래와 같습니다.

d(x, y) = H(f(x, y))

하지만, 일반적인 경우에는 대부분 노이즈가 섞여있기 때문에, 열화 영상을 제대로 모델링하기 위해서는 잡음도 고려해야 합니다. 이를 제대로 고려하지 않는다면, 우리가 원하는 열화가 제대로 제거된 영상을 얻기 힘들 것입니다.

3. 잡음 모델(Noise model)

그렇다면, 노이즈(Noise)를 고려한 영상의 열화모델은 어떤 형태일지 살펴보겠습니다. 노이즈란 영상을 획득하는 과정 전체에 걸쳐 발생할 수 있으며, 영상에 추가되는 방법에 따라 그 종류가 구분됩니다. 만약, 일정한 값이 더해진다면 가산 노이즈, 곱해진다면 증가 노이즈라 부릅니다. 또한, 영상에 추가되는 노이즈의 대역에 따라 백색 노이즈, 유색 노이즈로 나뉩니다. 백색 노이즈는 모든 주파수 대역 전체에서 발생하며, 유색 노이즈는 특정 대역에서만 발생합니다. 이 외에도 노이즈의 분포에 따라 균일 노이즈, 가우시안 노이즈, 지수 분포 노이즈 등으로 나눌 수 있습니다.

결론적으로 열화 함수(degradation function)과 노이즈를 다 포함한 전체 열화 과정은 아래와 같습니다. 각각 f(x, y)는 원본 영상, H는 열화 함수, n(x, y)는 노이즈, g(x, y)는 열화 된 영상, f^(x, y)는 복원된 영상을 의미합니다.

g(x, y) = H [f(x, y)] + n(x, y)

 

만약 H가 선형적이며 공간 불변적이라면, 아래와 같이 표현 가능합니다.

g(x, y) = h(x, y) * f(x, y) + n(x, y)

또한, 이를 주파수 도메인에서 표현하다면 아래와 같습니다.

G(u, v) = H(u, v) F(u, v) + N(x, y)

지금까지의 전체적인 열화/복원 과정을 이 그림으로 표현할 수 있습니다.

 

영상의 열화(Degradation)/복원(Restoration) 과정

4. 역 필터(Inverse filter)

역 필터는 아주 단순한 개념입니다. 영상을 복원할 때에 노이즈가 없고 열화 함수만이 존재한다는 가정 하에 사용할 수 있습니다. 기존에 곱해져 있으니, 반대로 나눈다는 개념입니다. 이는 위에서의 G(u, v)에 대한 식을 F(u, v)에 대해 나타내면 얻을 수 있으며, 단순히 열화 함수를 역으로 적용하면 표현 가능하다는 의미에서 역 필터(Inverse filter)라고 부릅니다.

F^(u, v) = G(u, v) / H(u, v)

5. 위너 필터(Wiener filter)

우리는 노이즈가 존재할 때, 존재하지 않을 때 각각 조건을 나누어 다른 식을 사용하였습니다. 하지만, 우리는 어떤 조건에서든 열화 과정을 한 번에 표현하는 식이 필요합니다. 이 필요성에서 시작된 것이 위너 필터(Wiener filter)입니다. 영상 복원의 궁극적인 목표는 오염되지 않은 영상과 복원된 영상 사이의 차이를 최소화하는 것으로 생각할 수 있습니다. 이 위너 필터의 식을 도출해내는 과정은 기댓값 즉, (두 영상 간의 차이)의 제곱합의 평균을 계산하는 과정입니다. 이 필터를 사용하기 위해서는 아래의 세 가지 조건이 필요합니다.

1) 영상과 노이즈 사이에는 상관성이 없다.

2) 영상의 평균 혹은 노이즈의 평균이 0이다.

3) 추정된 영상 값은 열화된 영상 값에 대한 선형함수이다.

이 세가지 조건만 만족한다면 우리는 아래와 같은 식으로 복원된 영상을 구할 수 있습니다.

위너 필터(Wiener filter)

이때, Sn은 노이즈의 전력 스펙트럼을, Sf는 열화 되지 않은 영상의 전력 스펙트럼을 의미합니다. 만약, 노이즈가 없다고 가정한다면, 위의 위너 필터 식은 역필터(Inverse filter)에서 살펴보았던 식과 동일한 식임을 알 수 있습니다.

댓글