A Bayesian approach to digital matting
[cite]10.1109/CVPR.2001.990970[/cite]
1. Introduction
이미지에서 foreground 물체 영역을 추출하여 그 색과 투명도를 추정하는 방법을 digital matting이라고 합니다. 투명도는 보통 alpha 값이라고 부르며, 이미지에 대응하는 투명도 이미지를 보통 alpha matte나 key라고 부릅니다. 이 matting은 물체를 다른 이미지와 조합할 때도 사용되는데, 이 때 머리카락이나 털 같은 부분을 처리하는 것이 아주 어려운 작업입니다. 물체에 해당하는 픽셀들 마다 색과 투명도 사이의 무한대의 경우의 수가 존재하기 때문입니다.
Digital matting은 크게 두가지로 나누어 일정한 색으로 이루어진 배경에서 물체를 추출하는 작업을 constant-color matting, 특별한 조건 없이 촬영된 이미지에서 물체를 추출하는 작업을 natural image matting으로 분류됩니다.
이를 해결하기 위한 방법으로 저자는 이미 알고 있는 foreground와 background 영역의 통계적 수치를 이용하고, 투명도를 추정하고자 합니다. 그리고 그 방법을 Bayesian framework에서 풀어내도록 합니다.
2. Background
기존의 matting 방법인 Porter and Duff, Smith and Blinn, Mishima, Ruzon and Tomasi, Knockout 방법들을 소개하고 있습니다. 내용은 생략하도록 하겠습니다.
3. Our Bayesian framework
먼저 다른 방법들과 마찬가지로 이미지는 3개 영역으로 나눠지게 됩니다. 바로 background와 foreground, 그리고 unknown 입니다. 알고리즘은 unknown 영역의 각 픽셀의 색 $ C $를 이용하여 foreground의 색 $ F $와 background 색 $ B $, 그리고 투명도 $ \alpha $를 구하는 것입니다.
Ruzon and Tomasi의 방법을 일부 참조하여, foreground와 background의 분포를 그 대상 픽셀의 주변 영역에서 계산을 할 것이지만, 원래 알고리즘과는 달리 sliding window를 사용하여 $ F, B, \alpha $를 계산할 것이니다. 나아가 이들 값들을 이용하여 maximum a posteriori (MAP) 를 이용하여 문제를 풀도록 하겠습니다. 이제 자세히 살펴보겠습니다.
만약 픽셀 값 $ C $가 주어졌을 때, 그 픽셀의 foreground, background 색과 투명도 $ F, B, \alpha $가 가장 큰 확률을 갖는 값들을 찾고자함을 나타내면 아래와 같습니다.
$$\arg \max_{F, B, \alpha} = P(F, B, \alpha | C)$$
이는 Bayes rule에 의하여
$$\arg \max_{F, B, \alpha} = P(C | F, B, \alpha) P(F) P(B) P(\alpha) / P(C)$$
가 되고, log를 씌우면 이는,
$$\arg \max_{F, B, \alpha} = L(C | F, B, \alpha) + L(F) + L(B) + L(\alpha)$$
가 됩니다. 여기서 $ L(\cdot) = log P(\cdot) $ 이며, $ P(C) $는 상수로 취급할 수 있으므로 생략하였습니다. 이제 문제는 각 log likelihood $ L(C | F, B, \alpha), L(F), L(B), L(\alpha) $를 정의하기만 하면 됩니다.
먼저 첫번째 식은, 주어진 색과 우리가 구해야하는 $ F, B, \alpha $와의 차이를 노이즈의 분포 $ \sigma^2_C $를 감안하여 계산하는 것으로 생각할 수 있습니다.
$$L(C|F, B, \alpha) = - ||C - \alpha F - (1 - \alpha)B ||^2 / \sigma^2_C$$
이제 다음 foreground 색의 차례입니다. 앞에서 설명한 것과 같이 Ruzon and Tomasi의 방법을 변형하여 대상 픽셀의 주변 픽셀들 $ N $으로 부터 컬러 분포를 구합니다. 좀 더 강인한 모델을 각 픽셀에 2가지 기준으로 가중치를 주도록 하겠습니다. 먼저 픽셀 $ i $ 에 할당된 $ \alpha_i^2 $를 가중치로 사용할 것입니다. 두번째로 $ \sigma = 8 $ 일때의 Gaussian fall-off $ g_i $ 를 구하여 가중치에 이용할 것입니다. 두가지를 조합하여 정리된 가중치 $ w_i $는 $ \alpha_i^2 g_i $ 로 계산됩니다.
가중치가 모두 주어졌으면 Orchard and Bouman의 방법에 따라 주변을 여러 클러스터로 나눌 것입니다. 그리고 분포를 계산하기 위하여 각 클러스터에 대하여 가중치를 고려한 mean $ \overline{F} $과 covariance $ \Sigma_F $를 구해야 합니다. 각각은 다음고 ㅏ같이 계산됩니다.
$$\overline {F} = \frac{1}{W} \sum_{i \in N} w_i F_i$$
$$\Sigma_F = \frac{1}{W} \sum_{i in N} w_i (F_i - \overline{F}) (F_i - \overline{F})^T$$
여기서 $ W = \sum_{i \in N} w_i $ 으로 각 픽셀의 가중치를 합한 값입니다. 이를 토대로 픽셀 값 F의 log likelihood는 가우시안 함수로 사용할 것입니다.
$$L(F) = -(F- \overline{F})^T \Sigma_F^{-1} (F- \overline{F}) / 2$$
다음, $ L(B) $는 상황에 따라 다르게 쓰일텐데, natural image matting일 경우, 위의 $ L(F) $ 에 대한 식에서 $ w_i = (1- \alpha_i)^2g_i $의 값으로 대체하여 사용합니다. constant-color matting의 경우엔 이미지 전체에서 background에 해당하는 부분에 대한 mean과 covariance 값을 사용합니다.
마지막으로 $ L(\alpha) $는 상수로 생각하고 생략하도록 합니다.
주어진 식 $ F(C | F, B, \alpha ) $는 변수 $ F, B, \alpha $가 모두 서로 곱해져 quadratic equation이 아니기 때문에 쉽게 풀리지 않습니다. 따라서 이를 두 부분으로 나누어 풀어보도록 하겠습니다.
먼저 $\alpha $를 상수로 간주하면, 식 $ L(C | F, B, \alpha) + L(F) + L(B) + L(\alpha) $를 $ F, B $에 대하여 편미분을 할 수 있습니다.
$$
\begin{bmatrix} \Sigma^{-1}_F + I \alpha^2/\sigma^2_C & I \alpha(1-\alpha)/\sigma^2_C \\
I \alpha(1-\alpha)/\sigma^2_C & \Sigma^{-1}_B + I \alpha^2/\sigma^2_C
\end{bmatrix}
\begin{bmatrix} F \\ B \end{bmatrix}
-
\begin{bmatrix} \Sigma^{-1}_F \overline{F} + C \alpha / \sigma^2_C \\ \Sigma^{-1}_B \overline{B} + C (1-\alpha) / \sigma^2_C \end{bmatrix}
= 0$$
편미분 값을 0 으로 놓고 풀어내면 식을 최대로 하는 $ F, B $ 값을 구할 수 있습니다.
이렇게 구한 $ F, B $를 이용하여 컬러 $ C $를 $ F, B$로 이루어지는 컬러 공간에 프로젝션 하여 $ \alpha $를 계산합니다.
$$\alpha = \frac{(C-B)\cdot(F-B)}{||F-B||^2}$$
이 과정을 번갈아가며 계산하면 최적의 $ F, B, \alpha$ 값을 찾아낼 수 있습니다.
만약 Ruzon and Tomasi의 방법과 같이 forebround와 background가 여러 클러스터로 나뉠 경우에는, 각각의 foreground, background 쌍에 대하여 $ F, B, \alpha $를 계산해본 뒤 likelihood가 제일 큰 값으로 선택하도록 합니다.
4. Results and comparisons
Blue-screen matting과 Natural image matting 방법에 대하여 기존 Knockout과 Ruzon and Tomasi의 방법과 비교하였습니다.
5. Conclusions
요약하자면 이 방법의 특징은 다음과 같습니다.
- Bayesian framework를 이용하여 MAP를 사용한 최적화 방법입니다.
- oriented Gaussian covariance 를 사용하였습니다.
- foreground, background 컬러 분포를 계산하는데 sliding window를 이용하여 주변부의 색을 조사하였고, 기존의 이미 계산된 값도 여기에 포함이 됩니다.
- 계산은 영역의 바깥부터 안으로 이동하며 이루어집니다.