논문

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

Entropic thresholding based on gray-level spatial correlation histogram

[cite]10.1117/1.3526333[/cite]

1 Introduction

이미지에서 객체와 배경을 분리해내기 위하여 많은 스레숄딩 방법이 만들어졌습니다. 그 중에서도 샤논의 정보 이론에서의 엔트로피 개념을 이용한 방법들이 있습니다. 하지만 엔트로피 기반의 방법들은 포함한 모든 스레숄딩 방법들은 한가지 단점이 있는데 그것은 지역적인 특징을 반영하지 못한다는 점입니다. 이를 극복하기 위하여 여러가지 방법이 제안되었는데, 일반적으로 2D 히스토그램을 사용한 방법을 예로 들 수 있습니다. 하지만 2D 히스토그램을 사용하여 그 결과의 질은 높아졌지만 계산 복잡도가 같이 늘어나는 것은 여전히 단점으로 작용합니다.

이 논문에서는 지역적 특성을 반영하고 계산 복잡도를 줄일 수 있는 2D 히스토그램인 Gray-evel spaitial correlation (GLSC) 히스토그램과 이를 이용하여 엔트로피 기반의 스레숄딩 방법을 소개하고 있습니다. GLSC는 그레이 값과 그 주변에서 비슷한 값을 갖는 픽셀들의 갯수를 이용하여 히스토그램을 생성하게 됩니다. 또한 엔트로피를 적용할 때 비선형 가중치 함수를 적용합니다.

2 GLSC Histogram

2.1 Two-Dimensional Histogram

기존의 2D 히스토그램은 그레이 값과 해당 픽셀 주변의 평균값을 이용하여 만들어집니다. 가로 축 T는 그레이 값을, s는 평균값을 나타냅니다. 이렇게 생성된 히스토그램은 주로 대각선 성분에 집중하게 됩니다. 즉, 주변 평균값과 비슷한 픽셀 값을 갖는 픽셀들은 일관된 색을 갖는 물체나 배경이라고 생각할 수 있기 때문입니다. 반대로 말하면 주변의 평균값보다 차이가 나는 픽셀은 노이즈나 에지 부분이라고 생각할 수 있습니다. 이러한 성질을 이용하여 전체 2D 히스토그램을 이용하여 스레숄드 값을 정할 때, 4개의 사분면 중, 2, 4분면만을 이용하고 나머지는 무시하게 됩니다.

하지만 에지 또한 중요한 정보를 가지고 있는데 이것이 무시되기 때문에 이를 활용해보고자 합니다.

2.2 GLSC Histogram Computation

GLSC 히스토그램은 픽셀의 그레이 값과 그 주변에서 비슷한 값을 갖는 픽셀의 수를 이용하여 생성됩니다.

$ f(x, y) $를 x, y 위치의 픽셀 값, $ g(x, y) $를 주변 N * N 영역 내에서의 $ f(x, y) $와 비슷한 값을 갖는 픽셀의 수라고 합시다. 이 $ g(x, y) $는 다음과 같이 정의됩니다.

$$g(x, y) = \sum_i^N \sum_j^N ?(|f(x+i, y+j) - f(x, y) | \leq \zeta)$$

여기서 함수 $ ?() $는 내부의 식이 참이면 1, 거짓이면 0을 갖는 indicator 함수입니다.

이 두 함수를 이용하여 히스토그램을 계산할 수 있습니다.

$$h(k, m) = Prob \big[ f(x, y) = k \text{ and } g(x, y) = m \big]$$

여기서 $ k \in G = \{ 0, \dots, 255 \} $는 픽셀 값, $ m \in \{ 1, \dots, N \times N \} $ 입니다. 이 식의 정규화된 버전은 다음과 같습니다.

$$\hat{h(k, m)} = \frac{\text{Num}(k, m)}{Q \times R}$$

Q, R은 이미지의 가로 세로 크기입니다.

3 Threshold Selection Using GLSC Histogram

3.1 Computation of the Object and Background Probabilities

먼저 확률 함수 $ p (k, m) = \hat{h}(k, m) $으로 정의합시다. 스레숄드 t는 픽셀 값의 집합 G를 물체색 $ G_A = \{ 0, \dots, t \} $와 배경색 $G_B = \{ t +1, \dots, 255 \} $로 나누는 값입니다. 따라서 각 영역에서의 확률 함수는 다시 정의됩니다.

$$\Big[ \frac{p(0, 1)}{P_A(t)}, \dots, \frac{p(0, N \times N)}{P_A(t)}, \frac{p(1, 1)}{P_A(t)}, \dots, \frac{p(t, N \times N)}{P_A(t)} \Big]$$

$$\Big[ \frac{p(t+1, 1)}{P_A(t)}, \dots, \frac{p(t+1, N \times N)}{P_A(t)}, \frac{p(t+2, 1)}{P_A(t)}, \dots, \frac{p(255, N \times N)}{P_A(t)} \Big]$$

$$P_A(t) = \sum_{k=0}^{t} \sum_{m=1}^{N \times N} p(k, m)$$

$$P_B(t) = \sum_{k=t+1}^{t} \sum_{m=1}^{N \times N} p(k, m)$$

$$P_A(t) + P_B(t) = 1$$

3.2 Entropic Criterion Function

앞에서 에지 픽셀 또한 정보를 가지고 있지만 버려지는 단점을 언급했었습니다. 하지만 에지는 어떤 면에서는 스레숄딩값보다 물체와 배경을 분리하는데 더 많은 정보를 제공합니다. 여기서는 이러한 정보 또한 활용하도록 하고 있습니다. 히스토그램의 각 성분에 엔트로피를 계산할 때에, 비선형 가중치를 적용하여 주변과 얼마나 차이나는에 따라 가중치를 차등적으로 적용할 것입니다.

$$\text{weight}(m, N) = \frac{1 + e^{-9m / N \times N}}{1 - e^{-9m / N \times N}}$$

가중치까지 적용하여 만든 식을 살펴보면,

$$H_A(t, N) = - \sum_{k=0}^{t} \sum_{m=1}^{N \times N} \frac{p(k, m)}{P_A(t)} ln \big[ \frac{p(k, m)}{P_A(t)} \big] \text{weight}(m, N)$$

$$H_B(t, N) = - \sum_{k=t+1}^{255} \sum_{m=1}^{N \times N} \frac{p(k, m)}{P_B(t)} ln \big[ \frac{p(k, m)}{P_A(t)} \big] \text{weight}(m, N)$$

따라서 우리는 엔트로피 함수 $ \Phi(t, N) = H_A(t, N) + H_B(t, N) $ 을 최대화하는 t를 찾으면 됩니다.

4 Computation Complexity

2D 히스토그램에 기반하여 적절한 스레숄드 값 t를 구하는 방법으로는 255단계에 모두 계산하여 그 중에서 가장 좋은 값을 선택하는 것입니다. 하지만 식을 잘 풀어보면 현재 값을 계산하기 위해서는 이전 값에서 계산했던 내용을 그대로 활용할 수 있는 경우가 많습니다. 따라서 t의 값이 증가할 때 마다, 이전 값을 최대한 활용하고 새로이 추가되는 부분만을 계산하여 계산 복잡도를 줄일 수 있습니다.

자세한 수식은 생략하도록 하겠습니다.


Add a Comment Trackback