[논문 리뷰]Real-Time High-Resolution Background Matting

박선후·2021년 6월 28일
1

PaperReview

목록 보기
3/5

Introduction

영화에서 사용되는 특수 효과의 주축을 이루는 백그라운드 교체가 이제 Zoom, Google Meet, Microsoft Teams와 같은 화상 회의의 도구에서 광범위하게 사용되고 있다.
현재 많은 도구가 백그라운드 교체 기능을 제공하지만 경계, 특히 머리카락이나 안경처럼 섬세한 디테일이 있는 영역에서 아티팩트를 생성한다. 반면, 기존의 이미지 매팅 방법은 훨씬 높은 품질의 결과를 제공하지만 실시간으로 실행되지 않으며 수동 입력이 자주 필요하다. 본 논문에서는 최초로 완전 자동화된 실시간 고해상도 매팅 기법을 도입하여 4K에서는 30fps, HD에서는 60fps로 실시간 백그라운드 교체를 제공한다.
고해상도 영상을 실시간으로 처리할 수 있는 네트워크를 설계하기 위해 영상에서 미세 조정이 필요한 영역은 상대적으로 적다는 것을 알 수 있다.(배경을 제외한 부분만 조정하면 되기 때문에) 따라서, 고해상도가 필요할 수 있는 영역을 지정하는 오류 예측 맵과 함께 알파 매트 및 포그라운드 레이어를 낮은 분해능으로 예측하는 기본 네트워크를 도입한다. 그런 다음 미세화 네트워크는 저해상도 결과와 원본 영상을 합하여 선택한 영역에서만 고해상도 출력을 생성한다.

Approach

이미지 I 와 캡처된 배경 B가 주어지면 알파 매트 a와 foreground F를 예측한다. 이 값을 통해 I'=aF + (1-a)B'로 새로운 배경을 합성할 수 있다. 여기서 B'는 새로운 배경이다. foreground를 바로 구하지 않고, foreground 잔차인 FR = F-I로 구할 수 있다. 그런 다음 적절한 클램핑으로 입력 이미지 I에 FR을 추가하여 F를 복구할 수 있다.

이 공식을 통해 학습 능력을 향상시키며, 업샘플링을 통해 고해상도 입력 이미지에 낮은 해상도의 foreground 잔차를 적용한다.
고해상도 매팅에 딥 네트워크를 직접 적용하는 것은 비실용적인 연산과 메모리 소비량이 발생하기 때문에 어렵다.

다음 그림과 같이 인적 매트는 대부분 희박하고, 픽셀의 큰 영역이 배경(a=0) 또는 foreground(a=1)에 속하며, 머리카락, 안경, 사람의 윤곽 등과 같은 일부 영역만 더 섬세한 디테일을 포함한다. 따라서 고해상도 영상에서 작동하는 하나의 네트워크를 설계하는 대신에 두개의 네트워크를 도입한다. 하나는 저해상도로 작동하고 다른 하나는 기존 네트워크의 예측에 따라 원래 해상도로 선택된 패치에 대해서 작동한다.

Architecture


아키텍처는 기본 네트워크 Gbase와 세분화 네트워크인 Grefine으로 구성된다. 원본 이미지 I와 캡처된 배경 B가 주어졌을 때, 먼저 I와 B에 대한 피쳐를 다운 샘플링한다. 이를 Ic와 Bc라고 하자. 기본 네트워크인 Gbase는 Ic와 Bc를 입력으로 받고 coarse-grained alpha matte인 ac, foreground 잔차인 FRc, 예측 오차 맵인 Ec, 그리고 히든 피쳐 Hc를 예측한다. 정제 네트워크인 Grefine에서 Hc,I 그리고 B를 이용하여 예측 오차 Ec가 큰 지역에서만 ac와 FRc를 정제하고 원래 해상도에서 a 및 foreground 잔차 FR을 생성한다. 본 모델은 fully-convolutional이며 임의의 크기와 가로 세로 비율에 대해서 작업하도록 훈련되었다.

Refinement 네트워크를 좀 더 자세히 설명하자면, 중복 컴퓨팅을 줄이고 고해상도 매팅 세부 정보를 복구하는 것을 목표로 한다. 기본 네트워크는 전체 이미지에서 작동하지만 미세 조정 네트워크는 오류 예측 맵 Ec를 기반으로 선택한 패치에서만 작동한다. 먼저 원래 해상도의 1/2에서 최대 해상도로 2단계 정교화를 수행한다.
원래 해상도의 1/c(HD에서는 1/4, 4K에서는 1/8)에서 대략적인 오류 예측 맵 Ec를 먼저 원래 해상도로 다시 샘플링한다. 맵의 각 픽셀은 원래 해상도의 4X4 패치에 해당한다. Refine 모듈을 통해 정교해진 패치 위치를 나타내기 위해 예측된 오류가 가장 높은 상위 픽셀을 선택한다.
Refine 모듈에서 나오는 패치들을 원래 해상도 입력 이미지 및 배경에서 추출한 곳에 합친다. 이 과정에서 알파 매트와 foreground 잔차를 얻을 수 있다. 마지막으로 coarse 알파 매트 ac와 foreground 잔차 FRc를 원래 해상도로 업샘플링하고 최종 알파 매트와 foreground 잔차를 얻기 위해 각각의 패치를 교환 한다.

Loss

  • alpha= 알파 매트 / alpha*= 알파 매트 Ground Truth
  • 오른쪽 항은 각각의 알파 매트의 Sobel gradient

  • 알파 매트에 해당하는 부분에서만, 예측 foreground와 ground-truth의 차를 구함

  • 예측한 에러 맵(==a-a*)과 ground-truth의 차

  • 각 모듈에 대한 Loss Function

성능

  • DIM(Deep Image Matting)
  • FBA(FBA matting)
  • BGM(Background Matting)
  • SAD(sum of absolute difference)
  • MSE(mean squared error for alpha and foreground)
  • Grad(spatial-gradient metric)
  • Conn(connectivity for alpha only)



profile
공부노트

0개의 댓글