본문 바로가기

딥러닝

[논문리뷰] Specular Reflection Separation using Dark Channel Prior

Specular Reflection Separation using Dark Channel Prior

Hyeongwoo Kim et al., 2013

 

논문: https://openaccess.thecvf.com/content_cvpr_2013/papers/Kim_Specular_Reflection_Separation_2013_CVPR_paper.pdf

 

 

※혹시나 포스팅에 문제가 있을 시 댓글 남겨주세요!

 

[Dichromatic Model]

본 논문을 이해하려면 Dichromatic Model에 대한 이해가 선행되어야 한다.

출처 : https://www.researchgate.net/figure/Dichromatic-reflection-model_fig1_312643138

Dichromatic Model은 우리가 물체를 보는 이미지는 빛이 물체에 반사되어 우리 눈으로 인식하는 것인데 이러한 반사를 두 가지 종류로 구분할 수 있다고 한다.

 

1) Diffuse reflection : 물체 내부의 원자들(특히 색소 같이 색을 나타내는 성분)과의 상호작용을 거친 후 반사되는 성분

2) Specular reflection : 물체 표면에서 즉시 반사되는 성분

 

따라서 아래 그림에서와 같이 원래 이미지에서 물체의 intrinsic color 성분을 나타내는 것이 diffuse reflection, 물체의 색 정보보다는 조명의 영향을 많이 받은 광택 성분이 specular reflection라고 할 수 있다.

특정 이미지를 아래 식과 같이 diffuse reflection과 specular reflection의 linear combination으로 표현하려는 모델이 Dichromatic Model이다.


Introduction

본 논문은 Dichromatic Model을 기반으로 해서 이미지를 diffuse reflection과 specular refleciton으로 separation하는 것을 목적으로 하고 있다. 이전의 연구는 diffuse reflection을 추정하기 위한 prior로 specular-free image를 많이 사용했다고 한다. 아래 그림에서 왼쪽이 input image, 오른쪽이 specular-free image이다. 왼쪽 그림에서 주황색 인형을 보면 군데군데 조명의 세기가 매우 강해서 흰색 광택이 나타나고 원래 인형의 주황색은 없어진 것을 확인할 수 있다. 이렇듯 같은 색을 갖지만 saturate된 정도가 다른 image에 대해서는 specular-free image는 오른쪽 그림과 같이 실제 물체의 색을 복원해내지 못하는 한계점이 있었다고 한다. specular-free image는 Dichromatic model에 의하면 diffuse reflection 즉, 실제 물체의 색에 가까워야하는데 그렇지 못한 것이다. 따라서 specular separation task를 위한 새로운 prior가 필요해졌다.

출처 : R.T Tan and K.Ikeuchi. Separating Reflection Components of Textured Surfaces using a Single Image


Reflection Model

본 논문에서는 새로운 prior로 dark channel image를 제안한다. 아래 그림에서 (a)는 input image, (c)가 dark channel에 해당한다. dark channel 이미지를 보면 물체의 색보다는 조명에 의한 영향을 나타내고 있다. 즉, specular reflection의 prior로 활용할 수 있는 것이다.

dark channel prior를 구하는 방법은 간단하다. 어떤 이미지의 한 픽셀의 RGB 채널 intensity 값이 (R, G, B) = (255, 255, 3) 이라고 하자. 이때 최소 intensity를 갖는 채널의 값으로 다른 채널의 값도 통일시킨다. 즉, (R, G, B) = (3, 3, 3)이 dark channel pixel의 RGB 값이 되는 것이다. 원래 픽셀은 R, G 값이 둘다 매우 크고, B는 없는 것이나 마찬가지기 때문에 R, G를 섞은 노란색을 띨 것이다. 하지만 가장 작은 3의 값으로 모두 통일시켰기 때문에 색 성분은 거의 사라졌다고 볼 수 있다. 즉, specular reflection에 가까운 것이다. 이런 연산을 이미지의 모든 픽셀에 적용하면 하나의 dark channel image가 되는 것이다. 그렇다면 아래 식에서 pseudo는 pseudo-diffuse image를 나타내는데, 원래 이미지에서 dark channel(pseudo-specular라고 할 수 있겠다)를 뺀 이미지가 dichromatic model에 의해 diffuse reflection에 유사한 이미지가 되는 것이다.

위에서 예시로 든 것처럼 만약 B채널의 intensity가 가장 작은 값을 가졌다면 pseudo-diffuse image를 구하는 과정은 RGB space 상의 input image(아래 그림 초록색 점)를 RG-plane으로 projection(노란색 점)시키는 것과 같은 연산이 된다(가장 작은 intensity를 가졌던 B채널의 값은 자기자신을 뺀 것이므로 0이 되니까). 본 논문에서는 Γ(chromaticity of specular component)의 값이 모든 채널에 대해 갖다고 가정했기 때문에 dark channel(RGB 채널의 값이 모두 같음)을 빼는 연산은 Γ와 평행하게 RG-plane으로 projection하는 것과 같다. 아래 그림을 보면 이해가 될 것이다(됐으면 좋겠다.!.!). 즉 dark channel은 초록색 점과 노란색 점을 잇는 선분과 동일하다. projection시킨 pseudo-diffuse reflection에서 ground truth diffuse reflection(빨간색 점)으로 가까워지도록 모델을 학습시키는 것이 본 논문의 목표가 되겠다.

앞선 내용을 정리하여 dichromatic model 식을 정리하면 아래와 같다.


Loss

본 논문에서는 MAP(Maximum a Posteriori, 최대사후확률) approach에 기반하여 아래의 loss들을 최소화하며 모델을 학습시킨다.

1) Likelihood of the specular reflection separation

-위의 식에서 uniform specular chromaticity assumption과 diffuse와 specular의 계수로 normalize해줬기 때문에 실질적인 변수는 α, Λ만 남게 된다. 아래 식의 괄호 안의 왼쪽 항이 dichromatic model의 GT(Ground Truth)이고, 오른쪽 항이 estimated dichromatic model이다. 즉, 아래의 loss를 줄이게 되면 정답에 해당하는 separation에 가까워지게 된다. dichromatic model based specular separation이 목적이기 때문에 가장 중요한 loss라고 볼 수 있다.

2) Smooth variation of specular reflection

-2번부터는 이미지에 대한 사전 정보를 활용한 추가적인 loss에 해당한다. 아래아래 이미지에서 (a)가 input image, (b)가 specular reflection에 해당한다. specular reflection은 실제 빛이 물체에 쬐어지는 것이기 때문에 highlight된 부분은 smooth한 변화를 나타낸다. 따라서 specular coefficient의 gradient에 L2-norm을 적용했다(2차함수는 더 부드럽게 수렴하기 때문).

3) Locally constant and edge-preserving properties of diffuse chromaticity

-위 이미지에서 (c)는 diffuse reflection에 해당한다. specular와 달리 같은 색을 나타내는 영역에서는 같은 색으로 일정하고(locally constant), 다른 색 간의 경계에서는 색의 sharp한 변화가 나타난다. 따라서 diffuse chromaticiy의 gradient에 L1-norm(1차함수는 더 급격하게 수렴하기 때문)을 적용했다.

여기서 λ는 diffuse reflection에서 물체의 색을 기준으로 clustering을 했을 때의 cluster의 index에 해당한다. 아래 loss에서 두번째 항은 L0-norm에 해당하기 때문에 optimize하기 어렵다. 따라서 보조변수 λ ̃를 추가하여 quadratic relaxation을 진행하여 loss function의 계산을 더 용이하게 해주었다. relaxation에 대해서는 나중에 기회가 되면 관련 글을 써봐야겠다.

최종 objective function


Optimization

-loss function을 최소화하기 위한 알고리즘은 아래와 같다.

 

Experimental Results

아래와 같이 본 논문에서 제시한 Dark channel prior를 활용했을 때 더 좋은 specular separation 성능을 보이고 있음을 확인할 수 있다.