소소한 개발 공부

논문 리뷰: Deep Photo Enhancer: Unpaired Learning for Image Enhancement from Photographs with GANs (CVPR2018) 본문

컴퓨터 지식/논문

논문 리뷰: Deep Photo Enhancer: Unpaired Learning for Image Enhancement from Photographs with GANs (CVPR2018)

이내내 2022. 7. 12. 23:45

Deep Photo Enhancer: Unpaired Learning for Image Enhancement fromPhotographs with GANs, Yu-Sheng Chen et al, CVPR 2018 paper link

공부한 내용을 정리한 글입니다.

아래 글에 나오는 그림과 표는 해당 논문을 참조했습니다. 부분부분 오역 및 본인의 해석이 있습니다.

 

논문 리뷰 발표 자료입니다.

20220718, CVPR2018, Deep Photo Enhancer Unpaired Learning for Image Enhancement from Photographs with GANs(발표자료).pptx
3.07MB

Contents

0.Abstract

1. 목적

2. Global U-Net

3. Adaptive WGAN

4. 개별 배치 정규화 계층(iBN)


 

0.Abstract

이 논문은 이미지 향상을 위한 unpaired learning method을 제안한다. 원하는 특징의 사진 셋이 주어지면, 입력 이미지를 그 특징을 가진 향상된 이미지로 변형시키는(transform) photo enhancer을 학습한다. 이 방법은 몇가지 개선된 2-way GAN 프레임워크를 기반으로 한다.

1) U-Net이 Global features를 가지도록 확장하고 그것이 더 효과적임을 보여준다. global U-Net은 enhancer 모델에서 generator(생성기) 역할을 한다.

2) Wasserstein GAN(WGAN)을 adaptive weighting scheme을 사용해 개선한다. 이 scheme으로, 학습은 더 빠르고 잘 수렴되며, WGAN-GP보다 매개변수에 덜 민감하다.

3) 2-way GANs의 generator 각각에 batch normalization layer를 사용할 것을 제안한다. 이는 generator가 입력 분포에 더 잘 적응하는 것을 돕는다.

이 3가지로 deep photo enhancer에 대한 GAN 학습의 안정성을 크게 향상시킨다. 정량적 그리고 시각적 결과 모두 제안된 방법이 이미지 향상에 효과적임을 보여준다.


deep photo enhancer의 목적

- 영상 개선 (Image Enhancement)

- 입력 이미지 x에서 개선된 버전 Φ(x)를 생성하는 photo enhancer Φ (= G_X) 를 만드는 것

- 사용자가 원하는 특징(지도 학습을 통해 배운 특징)을 가진 영상을 생성

 

이를 위한 이 논문의 제안

1. GAN topology: Global U-Net

2. 학습 방식: Adaptive WGAN

3. 개별 배치 정규화 계층을 사용한 2-way GAN

 

요구되는 사전 지식

1. U-Net

- 이미지의 전반적인 Context 정보 획득

- 정확 지역화(localization)을 위한 네트워크                                      

Contraction Path: 입력 이미지의 Context를 캡쳐

Expanding Path: 세밀한 Localization을 구성

 

 

논문

O. Ronneberger, P. Fischer, and T. Brox. U-net: Convolutional networks for biomedical image segmentation. In Proceedings of International Conference on Medical Image Computing and Computer-Assisted Intervention (MICCAI), pages 234–241. Springer, 2015. paper link

 

2. WGAN, WGAN-GP

- GAN의 단점(Generator와 Discriminator 간 불균형적 학습, mode collapsing)을 보완한 버전

- loss function을 Earth Mover Distance 식으로 사용. 이는 미분 가능해야 한다는 조건이 있음

- Lipschitz 조건(두 점 사이 거리가 특정 값 이하 iff EM distance 연속)에 의존하여 EM distance 만족

- 이 조건을 만족하기 위해 weight clipping(weight가 [-c, c] 안에 존재하도록 강제) 사용

- c가 너무 크거나 작으면 문제가 생김

 

이에 대한 대안으로 WGAN-GP가 제안됨

- weight clipping 대신 discriminator gradient norm패널티를 줄 것을 제안

- loss 식 안의 패널티 가중치 매개변수 λ의 값에 따라 성능이 좌우됨

 

WGAN 논문

M. Arjovsky, S. Chintala, and L. Bottou. Wasserstein GAN. In arXiv preprint arXiv:1701.07875, 2017. paper link

WGAN-GP 논문

I. Gulrajani, F. Ahmed, M. Arjovsky, V. Dumoulin, and A. Courville. Improved training of Wasserstein GANs. In Advances in neural information processing systems (NIPS), 2017. paper link

 

3. 2-way GAN

생성 이미지가 원본에 가깝게 만들기 위해 사이클 일관성(cycle consistency)을 도입한 구조

 

논문

J.-Y. Zhu, T. Park, P. Isola, and A. A. Efros. Unpaired imageto-image translation using cycle-consistent adversarial networks. In Proceedings of IEEE International Conference on Computer Vision (ICCV), 2017. paper link


1. 목적

Image Enhancement 영상 개선

입력 이미지 x에서 개선된 버전 Φ(x)를 생성하는 photo enhancer Φ (= G_X)

사용자가 원하는 특징(지도 학습을 통해 배운 특징)을 가진 영상을 생성

1. GAN topology: Global U-Net

2. 학습 방식: Adaptive WGAN

3. 개별 배치 정규화 계층을 사용한 2-way GAN

2. Global U-Net

 

U-Net: Convolutional Networks for Biomedical Image Segmentation

3. Adaptive WGAN

Wasserstein GAN(WGAN)

GAN의 단점을 보완한 버전

- 기존의 GANdiscriminatorgenerator간 균형을 유지하며 학습하기 어려움

- 학습이 완료된 이후에도 mode dropping(=mode collapsing, 생성 결과가 최빈값으로만 치우치는 현상) 발생

Ex) MNIST 데이터셋을 학습했는데 생성하는 숫자만 생성한다

이는 discriminator가 최적점까지 학습되지 못했기 때문에 발생

http://dl-ai.blogspot.com/2017/08/gan-problems.html

WGAN의 제안

Discriminator 대신 Critic 사용

scala 값 출력으로 좋은 gradient 도출

- discriminatorgenerator간의 balance 맞추기

- mode dropping (mode collapse) 문제 해결

-loss function으로 Earth Mover Distance(EM Distance, Wasserstein-1) 사용

EM Distance를 사용하기 위한 제약 조건 미분 가능해야 함

- Lipschitz 조건:

                               두 점 사이 거리가 특정 값 이하 iff EM distance 연속

이 조건을 만족하기 위해 weight clipping:

                                weight[-c, c] 안에 존재하도록 강제

⇒ c가 크면 최적의 지점까지 학습하는데 시간이 오래 걸림

⇒ c가 작으면 gradient vanishing 문제 발생

Wasserstein GAN – Gradient Penalty (WGAN-GP)

-Weight clipping 대신 discriminator gradient norm패널티를 줄 것을 제안
-Gradient penalty 추가로 gradient 직접 제한

* D: Discriminator

 * P_r: target 데이터 분포

 * P_g: Generator 분포

                                                                                                        * P_x ̂ : P_r P_g 사이 샘플된 분포

λ original discriminator loss에 따라 가중치에 패널티 부여

Þλ 값에 따라 Loss 가 영향을 받아 성능이 달라짐

너무 작으면 Lipschitz 조건을 보장할 수 없고, (연속 보장 x)

너무 크면 수렴이 늦어짐

 

A-WGAN

- Adaptive weighting scheme 사용

Gradient가 원하는 구간(ex. [1.001, 1.05]) 내에 위치하도록

적절한 가중치 선택

 

=Penalty

 

 

* y ̂ target distributiongenerator distribution 점 사이 선을 따라 샘플링

: L2-norm

 

Gradient1보다 클 때만 패널티를 부여

Gradient의 평균이 이동하는게 상한치보다 크다면 λ2배 증가

Gradient의 평균이 이동하는게 하한치보다 작다면 λ 반으로 감소

=> λ  ̃

기존 WGAN-GP패널티 매개변수 λ에 영향을 많이 받았으나

A-WGAN 어떤 λ 사용하든 일반적으로 좋은 결과를 냄

4. 개별 배치 정규화 계층(iBN)

 

Summary

-Generator Discriminator 구조는 global U-Net
-GeneratorDiscriminator의 학습은 A-WGAN으로 adaptive weighting scheme으로 패널티 사용해 gradient 제한
-입력 분포 X와 생성 분포  X’ 각각의 Generator(G_X, G_X^′) 개별 배치 정규화 적용