본문 바로가기

AI/Paper Review

Image-to-Image Translation with Conditional Adversarial Networks

Video synthesis 세미나를 준비하며 역사적으로 거슬러 올라가다 보니 안짚고 넘어갈 수 없었던 Pix2Pix 논문.

읽어야지 읽어야지 하다가 드디어 손에 잡고 읽어봤다.

결과가 명확하기 때문에 논문도 쉽게 잘 쓰였고, 정리도 정말 쉬웠던 논문이였다.


저자

 - 다른 사람은 잘 모르겠으나 Tinghui zhou는 everybody dance now의 저자 중 한명으로 알고 있고, 실제로 컨택도 해봤다.(하다가 끊기긴 했다만..)

Application
 - Labels to street scene
 - Aerial to Map
 - Labels to Facade
 - BW to Color
 - Day to Night
 - Edges to Photo

 - 논문상의 application 외에도 Kaggle의 실제 이미지의 모네 풍 스타일로의 style transfer 등도 있음

 

Data
 - 학습 데이터셋은 각 어플리케이션마다 작은 데이터셋(eg. 400개)으로 구성 (그래서 학습 시간도 2시간 정도밖에 안걸림)

GAN
 - Conditional GAN
   -> G:{X, z} -> Y. X는 input image, Y는 output image. z는 noise vector인데, 이 논문에서는 dropout의 형태로 z를 추가했다고 주장한다.(타 논문에서는 gaussian noise를 넣는 경우도 있었지만, 저자는 이게 효과적이지 않다고 봤다)



구조
 - Generator : U-Net. U-net은 encoder-decoder with skip connection (Concatenate)
   -> skip connection없는 encoder-decoder 모델과 비교할 때, encoder-decoder 모델은 realistic image 생성이 불가능했고, low-level 정보 학습이 어려웠다. 실제 FCN-score 또한 U-Net이 뛰어났다.
 - Discriminator : PatchGAN classifier. 전체 이미지 사이즈에 적용하면 low-frequency structure의 퀄리티를 저해할 수 있어서 이를 패치 단위로 적용.

Metric
 - 50명의 Amazon Mechanical Turk(AMT)를 이용한 주관 평가("real vs fake" perceptual studies)
   -> Map generation, Aerial photo generation, Image colorization에 이 방법 적용
   -> 10장을 처음에 연습문제로 준 이후 40개의 이미지를 연속으로 테스트.
   -> Aerial photo : 18.9%를 속였음. Photo ->Map : 6.1%를 속였음. Colorization : 22.5%을 속였음.
 - FCN-score : pretrained semantic classifier를 pseudo-metric으로 이용해서 생성 결과의 discriminality 판단
   -> 생성 결과가 realistic하다면 실제 이미지에 학습된 classifier가 합성 영상 또한 잘 분류할 수 있다고 가정.
   -> FCN-8s(semantic segmentation용도)를 cityscapes dataset에 학습하여 classification accuracy를 측정.

 

Demo

 - Kaggle의 Monet Style Transfer(https://www.kaggle.com/c/gan-getting-started/overview) 데이터로 Pix2Pix를 학습하여 만든 결과

 


실제로 데모 코드까지 직접 학습시켜 보니 300개의 적은 데이터만으로도 충분히 학습이 가능하다는게 실감이 됐다.

Pix2Pix는 GAN의 대표적인 어플리케이션으로 여전히 언급되는 중요한 모델이어서 이 참에 제대로 리뷰해봤다.

다음엔 Video Synthesis (or Motion Transfer) 논문을 리뷰할 예정이다.