본문 바로가기

인공지능/컴퓨터비전

Image Inpainting for Irregular Holes Using Partial Convolutions


< 목차 >

  1. 용어정의
  2. 요약
  3. 학습방법
    1. Partial convolution layer
    2. Network architecture and implementation
    3. Loss function
  4. 구현결과
  5. 출처

1. 용어정의

  • 피드백 후 작성예정입니다.

2. 요약

Image Inpainting 이란 영상 혹은 이미지데이터 내 원치 않는 아이템을 삭제(이하, 마스킹)하고 해당공간의 영상을 복구하는 기술이다.

 

기존 Deep learning 기반의 inpainting기술은 color discrepancy나 blurriness 등의 artifacts  존재하여, 복잡한 후처리(post-processing)과정이 반드시 요구되었다. 또한, 이미지 중앙에 오로지 사각형 마스크를 만들어 영상 복구를 시도하였던 학습 및 검증방법은 실제환경에 사용되기 어렵다는 한계가 있었다.

 

해당 기술은 영상데이터 내 다양한 형태로 블규칙하게 마스킹(Irregular holes)하여 실제환경에서 발생할 수 있는 경우에 대해서도 안정적이게(robust) 적용할 수 있다는 가능성을 보여주는 연구사례이다.


3. 학습방법

3-1. Parital convolution layer

논문에서 기술한 Partial convolutional layer는 Partial (normalized) convolution 연산과 Mask update step을 나타낸다.

 


[Partial convolution operation]

  • binary mask의 M을 입력 X에 element-wise multiplication하여 삭제되지 않은 영역(Non-masked region)에 대해서만 convolution 연산을 수행하게 되고, convolution  (sliding) window 가 마스킹 영역을 일부 포함할 경우에는 그만큼 scaling하게되어 partial convolution 연산을 가능하게 함.

 

[Mask update step]

  • 각 레이어의 convolution 연산을 지날 때마다 window의 마스크는 window 영역에 한해 삭제되지 않은 영역을 포함할 경우, 삭제된 구간에 대해 binary 요소를 갱신하며, 이에 의해 마스킹 영역이 점차적으로 감소하게 됨. 

(본문내용: “Given sufficient layers of successive updates, even the largest masked holes will eventually shrink away, leaving only valid responses in the feature map”.)

 

3-2. Network architecture and implementation

기존 U-Net과 동일한 구조의 Encoding와 Decoding layers로 구성된 아키텍처 U-Net의 모든 Convolutional layer 는 Partial convolution 연산으로 수행되었으며, 레이어에 연산된 특징맵(Feature map)과 마스크는 다음 레이어의 입력값으로 주어진다(논문에서는 이것을 skip link라고 표현).

 

 

또한, 이 값들은 concatenation형태로 decoding layer의 입력값으로 사용되며, 결과적으로 학습모델이 이미지 내 마스크(Hole)를 점진적으로 채워 나가 영상복원을 가능하게 한다.

3-3. Loss function

Loss functions은 다음과 같이 다수의 weighted Loss function으로 구성되며, 부분적 재현성과 영상 전체 조화을 고려하였다.

 

Valid & hole Loss

  • 마스킹 영역과 마스킹 되지않은 영역에 대해 output과 ground truth의 L1 loss

Perceptual Loss

  • 각 레이어의 특징맵(Feature map)에 대한 Loss이며, 이미지 structure에 대한 특성을 나타낸다.

Style Loss

  • Gram matrix 를 사용하여 각 레이어의 특징맵들의 autocorrelation값을 L1 loss로 비교하여 이미지 스타일 특징을 나타낸다.

Total variation(tv) Loss

  • 복구된 영상과 기존 영상 픽셀간의 discrepancy를 최소화하기 위하여 인접 픽셀값을 포함한 영상의 smoothing을 유도함.


사이드 연구로, 아래 Figure은 각 Loss의 weight 값에 따라 발생되는 artifacts의 종류를 나타낸다.

 

 


4. 구현결과

논문에서는 두가지 Phase (Initial training / Fine-tuning training)으로 나누어 학습을 진행하며, Initial training은 삭제된 영역을 채워가는 단계, Fine-tuning training은 해당 영역을 전체 영상을 고려하여 후처리하는 단계라고 볼 수 있다. 이때, 학습데이터셋으로는 Imagenet (ILSVRC 2012) 을 무작위 추출하여 사용하였다.

 

Phase 1 (Initial training) : Training step – 2000, Validation step – 200, Epoch – 50, Learning rate – 0.0002, Adam optimizer, Batch normalization in all layers
Phase 2 (Fine-tuning training) : Training step – 2000, Validation step – 200, Epoch – 50, Learning rate – 0.00005, Adam optimizer, Disabled Batch normalization in encoding layers


5. 출처

논문 - arxiv.org/abs/1804.07723


 

728x90
반응형