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 댓글