doublejy715 / Paper_review

Paper_review
1 stars 0 forks source link

[ Skimming ] Pix2pix : Image-to-Image Translation with Conditional Adversarial Networks #31

Open doublejy715 opened 2 years ago

doublejy715 commented 2 years ago

참고 홈페이지

Link 1 Link 2

1. Abstract

2. Introduction

여러 문제 해결을 위한 image to image network은 따로 연구되어 왔음. 앞의 이미지 변환 문제를 위한 일반적인 framework를 개발하는 것이 목표 무엇을 최소화 해야 하는지 CNN에게 알려줘야 한다.(loss function의 중요성)

실제와 정답 사이의 유클리드 거리를 최소화 하는 경우 blur한 이미지를 생성하게 된다. 유클리드 거리는 그럴듯한 결과를 평균했을 때 최소화되기 때문이고 이미지가 흐려지는 결과를 가져온다. (WHY?)픽셀 전체에 대해서 평균을 계산하기 때문에 정확성이 떨어지나?

GAN은 실제와 가짜를 구분하지 못하도록 학습하며, blur문제를 해결한다.

이 논문이 기여하는 바

3. Related Works

Structures losses for image modeling

Conditional GANs

4. Method

4.1 GAN

4.2 CGAN

4.3 목적함수

4.4 Network architectures

DCGAN을 G와 D의 기본 모델로 하였고 둘다 convolution-BatchNorm-ReLU구조이다.

Generator with skips

이미지 변환에서 어려운 점은 고해상도 input grid를 고해상도 output grid로 mapping하는 것이다. 과거에는 encoder-decoder 네트워크를 이용하였다. bottleneck 네트워크를 통과하기 때문에 정보의 손실이 필연적이었다. 그래서 skip-connection을 추가한 U-Net이라는 구조를 이용하였다.

bottleneck에서 정보의 손실이 발생한다. 이미지의 디테일한 정보를 잃어버리는듯 하다. skip-connection을 통해서 각 feature map 해상도에서 손실된 정보를 부여한다. image

Markovian discriminator(PatchGAN)

고해상도를 위한 모델링을 위해 Discriminator를 PatchGAN 구조로 만들었다. PatchGAN은 일반 GAN인데 Patch 단위로만 살핀다. N x N 개의 각 Patch별로 해당 부분이 진짜인지 가짜인지 판별한다.

실험을 통하여 N이 작아도 전체 이미지를 한번에 보는 것보다 더 좋은 결과를 보였다. 작은 patch의 PatchGAN은 적은 parameter를 가지는 이점을 보이며, 빠르고 더 큰 이미지에 적용하는데도 이점이 있음을 보인다.

5. Optimization and inference

일반적인 GAN 접근법을 따랐다. pix2pix에서는 D optimization 함수를 2로 나누어 D가 G보다 상대적으로 더 빠르게 학습되지 않도록 하였다.

6. Conclusion

이 논문에서는 image-to-image translation 문제에 대해, 특히 고도로 구조화된 그래픽 결과에 대해 conditional adversarial networks가 괜찮은 접근법이라는 것을 보여주었다. 이 네트워크는 문제와 데이터에 대한 loss를 학습함으로써 넓은 범위의 문제에 대해 적합함을 보여주었다.

doublejy715 commented 2 years ago

코드로 살펴보기

참조 링크

특이한 점

discriminator의 손실함수 부분. real_label과 fake_label를 만들기 위해서 16x16 크기의 label 생성 feature map(16x16)을 real / fake 판단 대상으로 삼아 고해상도 이미지를 생성하는 생성기를 학습한다. 기존에는 vector 1개 가지고 real / fake를 구분하였지만, 디테일한 정보가 그나마 남아있는 feature map을 가지고 real / fake를 구분하였기 때문에 고해상도 이미지를 생성했을 것이다.

discriminator loss 계산 부분도 흥미 BCEloss에 0~1 범위의 patch가 들어가도 괜찮나?