논문

하루에도 수만개의 글자를 읽고 있습니다. 하루에도 수백장의 종이를 들춰 읽습니다.
이것은 그 읽기에 대한 일기입니다.

General Bayesian estimation for speckle noise reduction in optical coherence tomography retinal imagery

[cite]10.1364/OE.18.008338[/cite]

1. Introduction

노이즈의 제거는 모든 종류의 이미지에서 공통적으로 제기되는 문제이다. 특시 간섭 파장을 이용하는 SAR, 초음파, coherent optical image 등에서의 이미지를 입자를 뿌려놓은 듯하게 만드는 speckle 노이즈는 다루기 까다로운 문제로 남아있다. Speckle에는 노이즈 뿐만 아니라 이미지의 정보가 함께 혼합되어있기 때문이다. OCT(Optical coherence tomography)에서 speckle 내의 노이즈만을 제거하기 위하여 nonlinear log-scace General Baysian least squares estimation 방법에 대해 이야기해보도록 하자. 이 방법은 조건부 확률 샘플링을 통하여 노이즈가 제거된 데이터의 분포를 별도의 파라미터 없이 추측하고자 한다.

2. Theory

OCT 이미지를 격자형 영역들 $ S $로 나누고, 그 중 하나를 $ s \in S $라고 하자. 그리고 영역 $ s $에 대한 관측 데이터의 분포를 $ M = \{ M(s) | s \in S \}$, 그에 대한 노이즈가 포함되지 않은 데이터와 노이즈에 대한 랜덤 변수의 분포를 각각 $ A = \{ A(s) | s \in S \}$, $ N = \{ N(s) | s \in S \}$라고 정의하자. 이 분포들은 각 영역 s에 따라 달라질 것이다. 그리고 이러한 분포에서 우리가 실제로 얻은 값을 각각 $ m(s), a(s), n(s)$라 부르기로 하자. 그렇다면 OCT 이미지에서의 Speckle은 다음과 같이 노이즈가 없는 데이터와 노이즈간의 곱 형태로 나타낼 수 있다.

$$m(s) = a(s) \cdot n(s)$$

이렇게 speckle 자체가 노이즈가 없는 데이터에 따라 달라지기 덕택에 그 두가지를 분리해 내는 일이 중요한 문제로 되어버렸다. 소개하는 방법에서는 general Bayesian least squares estimate방법을 이용하여 이를 해결하려 한다.

먼저 데이터 $ a(s) $와 노이즈 $ n(s)$를 분리하기 위하여 $ m(s) $을 로그 공간으로 변환한다.

$$\log m(s) = m_l(s) = \log[a(s) \cdot n(s)] = \log \{a(s)\} + \log\{n(s)\} = a_l(s) + n_l(s)$$

그리고 변환한 로그 공간에서의 $ a_l(s) $의 general Bayesian least squares estimate를 정의한다.

$$\hat{a}_l(s) = {\arg\min}_{a_l(s)} \{ E[(a_l(s) - \hat{a}_l(s))^2 | m_l(s)]\}$$

이는 결국 아래와 같이 관측값 $ m_l(s) $이 주어졌을 때의 $ a_l(s) $의 기대값으로 계산된다.

$$\hat{a}_l(s) = \ \int p(a_l(s) | m_l(s)) a_l(s) da_l(s)$$

그렇다면 주어진 관측값에 대하여 특정 노이즈가 사라진 데이터의 확률 $ p(a_l(s) | m_l(s)) $을 어떻게 계산할 것인가? 그것이 이 방법의 가장 중요한 부분인 것이다. 이를 위하여 논문에서는 영역 s의 특성에 따라서 비슷한 특성을 갖도록 하는 a에 더 많은 확률을 주고자 한다. 정확한 확률 값을 계산하기는 힘들기에 Markov-Chain Monte Carlo 방법을 이용해보자. 우리가 모르는 $ p(a_l(s) | m_l(s)) $를 추정하기 위하여 알고 있는 분포 $ Q(s'|s) $ 에서 샘플링을 시작할 것이다. 이 Q는 영역 s가 주어졌을 때의 s’ 위치가 스캔될 확륭로 Gaussian distribution으로 정의하도록 하자.

$$Q(s'|s) = \frac{1}{2 \pi \sigma_{ \text{spaitial} } }e^{-(\frac{||s' - s ||^2}{2 \sigma^2_{\text{spaitial}}})}$$

여기서 $ ||s' - s||^2 $는 영역 s와 s’와의 거리를 나타내고 $ \sigma_{\text{spaitial}} $$Q(s'|s)$의 거리적 분산을 나타내는데, 7 픽셀을 사용하였다. 따라서 이 Q는 s와 가까운 곳을 더 자주 샘플링한도록 동작할 것이다.

s’가 샘플링되면 이 s’가 $ p(a_l(s) | m_l(s)) $에 포함되는 녀석인지 아래 조건으로 판단하도록 하자.

$$| \mu(s) - \mu(s')| \lt 2 \sigma$$

이 식에서 $ \mu(s) $는 s 주변의 평균 값으로 77 영역의 평균값을 계산하였고, $ \sigma $는 노이즈의 분산을 나타내는 값으로 방금 전의 77 영역의 분산 값을 사용하였다.

위의 조건을 이용하여 제대로된 샘플을 원하는 수만큼 얻을 때 까지 샘플링 작업을 수행한다.

위에서 얻은 샘플 영역들 $ \gamma $의 각 영역들을 $ \omega = {s'_1, s'_2, ... , s'_\gamma} $에 대한 각각의 가중치 $ W = {w(s'_1 | s), w(s'_2 | s), ... } $를 계산하자.

$$w(s'_i | s) = \exp [ -( \frac{|\mu(s'_i) - \mu(s)|}{2 \sigma^2})]$$

s에 대하여 영역 $ \gamma $와 가중치를 얻었으면, $ p(a_l(s) | m_l(s)) $를 추정해보도록 하자. 이는 가중치가 적용된 히스토그램 방식으로 계산한다.

$$\hat{p}(a_l(s) | m_l(s)) = \frac{\sum_{k = \omega} w(s'_k | s) \delta (a_l - m_l(s'_k))} {Z}$$

여기서 $ a_l $은 가능한 값의 범위 $ [L_{\min}, L_{\max}] $를 같은 크기를 갖도록 나눈 각 히스토그램 빈의 값이다.

최종적으로 이 식을 이용하여 Bayesian estimate를 back-projecting 하여 $ a(s) = exp[\hat{a}_l(s)] $를 계산한다.

3. Results and discussion

기존의 Adaptive median filter, Linear least squares estimation, Wavelet noise reduction, MAP estimation, Anisotropic diffusion, Fuzzy anisotropic diffusion 방법들을 average SNR, contrast-to-noise (CNR), equivalent number of looks (ENL), edge preservation의 기준에 따라 평가하였다.


Tags:
Add a Comment Trackback