subinium / Deep-Papers

Deep Learning Paper Simple Review + Helpful Article

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SinGAN: Learning a Generative Model from a Single Natural Image

subinium opened this issue · comments

Introduction

  • 1장의 이미지로 훈련하여 이미지를 생성하는 방법론 (Single Image)
  • unconditional하게 noise로 부터 image 생성
  • general purpose한 적용 방법 제안
  • 1장의 이미지에서 어떻게 internal distribution을 잘 배울 수 있는 unconditional generator를 만드는가 가 이 논문의 핵심

Multi Scale Architecture

multi scale architecture

  • 이 논문의 핵심 구조는 이 아키텍쳐.
  • G_0, G_1, G_N의 생성자 피라미드 구조
    • 생성되는 이미지 스케일은 r배 downsampling (r > 1)
    • 총 8개의 scale 사용 r은 약 4/3
  • Discriminator는 patch 단위 (Patch-GAN)
  • stage 별로 학습을 마치면 G는 fix, D는 사용하지 않음
  • Coursest to Fine (거친 것부터 세세한 것으로 학습)
    • 작은 이미지에서는 patch 사이의 관계로 전체적인 특성을 파악
    • 큰 이미지의 patch에서는 세부적인 물체들을 파악
    • 아래 설명에서 receptive field를 보면 될 듯

Single scale generation

single scale generation

  • 너무 capacity를 크게 가져가면 trainging image를 외우는 문제 발생
    • 적은 capacity를 갖도록 설계
  • [conv 3x3 - BatchNorm - LeakyReLU]를 5개 쌓음
    • 11x11만한 receptive field

ETC

  • Adversarial Loss (WGAN-GP Loss)
  • Reconstruction Loss
  • metric (AMT, SIFID)

Application

결과는 논문 참고 (상당히 재미있는 결과들이 많다)

  • Single Image Super Resolution
  • Paint-To-Image Style Transfer
  • Editing
  • Harmonization
  • Single Image Animation

개인적으로 실험해보고 싶은 논문 1순위인듯

윤제님 수업에서 배운 추가 내용

SinGAN의 핵심 구조는 2가지.

  1. PatchGAN
  2. Multi-Stage Training
    • 없으면 반복적인 patern을 생성할 것.
  • zero padding 덕분에 잘 됨 (테두리)
  • positional encoding