< 목차 >
- 용어정의
- 요약
- 학습방법
- Partial convolution layer
- Network architecture and implementation
- Loss function
- 구현결과
- 출처
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) 을 무작위 추출하여 사용하였다.
5. 출처
'인공지능 > 컴퓨터비전' 카테고리의 다른 글
Loss functions for Image Transformation (1) | 2021.04.20 |
---|---|
EdgeConnect: Generative Image Inpainting with Adversarial Edge Learning (0) | 2021.04.19 |
Partial Convolution based Padding (0) | 2021.04.19 |
Deep Convolutional Generative Adversarial Nets(DCGANs) (0) | 2021.04.14 |
Generative Adversarial Nets(GAN) (0) | 2021.04.14 |