Posts List

[컴퓨터비전] 20. Image Matting

Image Matting

※ 매트는 사진 및 특수 효과 영화 제작에 사용되어 둘 이상의 이미지 요소를 하나의 최종 이미지로 결합합니다. 일반적으로 매트는 전경 이미지와 배경 이미지를 결합하는 데 사용됩니다. (출처 : 위키트리)

이미지 내 object를 정확히 따는 것은 classification, segmentation에서 매우 중요한 작업이었다. 

일종의 binary classification인데, 이런 작업 구현의 key idea는 alpha channel을 더 두는 것이다. 그리고 새로운 채널인 alpha channel은 색이 아닌 투명도를 의미하게 된다.

이렇게 새로운 채널을 도입했다면 마치 영화의 특수효과처럼 object와 background를 각각 독립적으로 제어할 수 있게 된다. 

그리고 object의 투명도 alpha는 이미지 합성시에 자연스러운 합성을 가능케 해준다.

object의 픽셀을 F, background의 픽셀을 B라고 하자. 그럼 위와 같이 3개 채널에 대한 방정식을 유도할 수 있는데, 여기서 object를 정확히 따지 못했다고 가정하면 미지수가 7개인데 방정식은 3개인 상황이 벌어진다.

그래서 이 연립방정식을 simplify하기 위해 배경을 파란색으로 고정하는 방법으로 (blue screen matting) 산업에 이용되고 있는데, 위와 같이 배경을 파란색으로 고정하면 아래와 같이 식을 간단하게 변형할 수 있다. (F_b = 0)

이렇게 현실에 제약(blue=background)을 주면 배경외에는 blue 색상을 가지면 안된다는 제약조건이 발생한다. 뿐만아니라 object의 주변이 파란색으로 후광이 비치는 효과(blue spilling) 역시 해결해야 할 문제점이다.

그럼 배경이 파란색이 아닌 일반적인 상황에서는 어떻게 fore/background를 분리할 수 있을까? 

전통적으로 많이 사용한 방법은 위 그림과 같이 trimap을 이용해서 명확하게 foreground인 것은 alpha=1로 설정하고 edge 부분을 unknown으로 두고 문제를 푸는 방법도 있고, 지금도 PowerPoint에 탑재되어 있는 object의 뼈대를 사용자가 입력하는 방법(scribbles)이 있다.

이런 closed-form 으로 matting을 한 방법을 넘어 현재는 DNN을 활용한 matting으로 발전하였다. 위 논문은 원본 이미지와 trimap을 입력으로 받아 encoding-decoding을 통해 최적화된 alpha 채널을 만들어주는 사례를 보여준다.






댓글 쓰기

0 댓글