[논문리뷰] Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks, 2017, CVPR

HEEJOON MOON·2022년 2월 3일
0

논문 리뷰 및 실습

목록 보기
10/20

이전에 발표되었던 Pix2Pix가 paired training data를 필요로 하였다면, CycleGAN은 unpaired한 training data를 대상으로 합니다. 위의 그림에서 G(AB)를 통해 생성된 이미지들과 Real images를 D(B)에 넣어주면, D(B)는 G(AB)를 학습시키게 됩니다. 하지만, Real images와 같은 그림을 만들게 되는데, 이는 우리가 원하는 domain이 아니게 됩니다. 이를 해결하기 위해서, Cycle-GAN은 Generator를 하나 더 도입하여서, G(BA)가 G(AB)가 생성한 이미지를 입력으로 받아서 생성한 결과를 실제 입력이미지와 L1 loss를 통해서 모양과 형태가 유사할 수 있도록 합니다.

Abstract

본 논문은 pix2pix 논문 후속으로 발표된 논문입니다. 기존의 Image-to-image translation의 goal이 aligned된 input, output 이미지들의 mapping을 학습하는 것이었습니다. 하지만 많은 task들은 paired한 training data가 불가능하고, 이를 해결하기 위해서 저자는 paired하지 않는 source domain X에서 target domain Y로 translate 학습방법을 제시합니다. 즉, G : X -> Y 로의 mapping 과정을 학습을 통해, G(x)의 분포를 Y의 분포와 유사하게 만듬과 동시에, F : Y -> X로의 inverse mapping을 통해 Cycle consitency loss를 통해서 F(G(X)) = X가 되도록 합니다.

Introduction


본 논문은 paired training examples의 부재 속에서, image-to-image translation의 새로운 방법을 제시합니다. 기존의 image-to-image translation은 주어진 입력의 scene인 x를 다른 domain y로 전이할 시, G : X -> Y는 y' = G(X)인 이미지들을 생성하고, 이를 입력 실제 target domain 이미지 y를 이용해서 discrminator는 y와 y'를 구별하게 되고, 결국에는 y'은 P(y)의 distribution처럼 됩니다. 즉, optimal한 G는 domain X를 Y와 동일한 분포로 translate 시킵니다. 하지만 위와 같은 transaltion은 input x와 output y와의 paired한 의미있는 관계를 생성하지 못하며, y'과 동일한 유도 방법은 여러가지가 있을 것이며, mode-collapse의 문제가 생겨서 모든 input 이미지들을 동일한 output image로 만들어서 더이상 진행이 안되는 문제가 발생합니다.

따라서 저자는 위의 문제들을 해결하기 위해서 loss함수를 수정하였습니다. 먼저 "Cycle consistent"라는 특성을 도입하여서, G:X->Y가 있으면 반대로 F:Y->X로 하는 역함수 과정이 서로 존재하여서, mapping과정이 서로 bijection하도록 합니다.** 이러한 과정을 통해 F(G(x)) = x가 되고, G(F(y)) = y가 되도록하여서, 이것을 adversarial loss와 더해서 domain X, Y에 적용하여 unpaired한 image translation을 가능하도록 합니다.

Related Work

Generative Adversarial Networks

: GAN의 성공의 열쇠로 adversarial loss의 중요성을 강조합니다. Adversarial loss를 이용하여 mapping을 학습할 수 있다고 합니다.

Image-to-Image Translation

기존 Image-to-Image translation은 "pix2pix"의 예를 들면, conditional generative adversarial network를 이용하여 input과 output의 mapping을 학습하도록 합니다. 하지만 이것은 paired한 training dataset을 필요로 합니다.

Unpaired Image-to-Image Translation

기존의 unpaired setting에서의 진행된 연구들은 task-specific, 즉 사전에 input과 output의 similarity function이 정의가 되어있어야 합니다. 하지만 Cycle-GAN은 그러할 필요가 없다고 소개하고 있습니다.

Fomulation

Goal을 2개의 서로 다른 domain X, Y의 mapping을 학습하는 것으로 설정하고, CycleGAN은 크게 2개의 mapping이 존재하게 됩니다.(G:X->Y, F:Y->X) 또한 2개의 Discriminator D(X), D(Y)를 두어서, D(X)는 x와 F(y)를 구분하고, D(Y)는 y와 G(x)를 구분합니다. Loss는 크게 adversarial loss(생성이미지와 target domain distribution matching)와 cycle consistency loss(학습된 G와 F가 서로 모순되는 것을 방지)로 구분됩니다.

Adversarial Loss


G와 F 모두 마찬가지로 generated images을 최대한 domain Y와 비슷하게 생성하려 하는 반면, discriminator는 생성된 이미지들과 실제 이미지들을 구분하려 합니다. 따라서 adversarial loss를 G는 줄이려 하지만, D는 최대화하려 합니다.

Cycle Consistency Loss


x → G(x) → F(G(x)) ≈ x의 Forward cycle-consistency, y → F(y) → G(F(y)) ≈ y의 backward cycle consistency를 바탕으로, L1 norm을 이용하여서 F(G(x))와 x, G(F(y))와 y의 loss를 사용하여서 reconstructed된 이미지들과 original 이미지들이 동일하게 되도록 합니다.


Total loss는 위와 같으며, λ는 2개의 loss함수들의 중요도를 조절합니다.

Evaluation Metrics


GAN은 Unsupervised learning이고 생성된 결과가 잘 되었는지 판단하기 위한 새로운 지표가 필요할 것입니다. 본 논문에서는 크게 2가지의 측정 지표를 소개하고 있습니다.

AMT perceptual studies

실제 사람들에게 ground truth와 생성된 이미지를 보여주고 "real vs fake"를 고르도록 하여 성능을 측정하는 방식입니다.

FCN score

FCN 측정법은 generated된 photo들이 얼마나 interpretable한지 측정하기 위해서, segementation 알고리즘 기반의 fully-connected-network를 사용하여 얻은 label map과 ground-truth 이미지들을 standard한 semantic segmentation 알고리즘을 통해 얻은 label과의 비교를 통해서 측정하는 방법입니다. Semantic segmentation metrics에는 photo->label을 생성하기 위해서 per-pixel accuracy, per-class accuracy, mean class Intersection-over-Union을 사용합니다.

Limitations and Discussion

본 논문서 실험한 결과들을 살피면, color와 texture 변화에 큰 성공을 거두었지만, geometric한 change를 요구하는 변화는 아래와 같이 잘 하지 못하였는데 이는 apperance change에 특화된 generator의 아키텍쳐 때문이라 저자는 주장합니다.


또한 training dataset의 distribution 특징들로 인해 실패가 생긴다고도 하는데, hores->zebra의 경우 model은 사람이 올라탄 경우를 학습하지 않았기 때문에 제대로된 결과를 만들 수 없었다고 합니다. 하지만 본 논문을 통해 unsupervised setting에서 경계를 깰 수 있었다고 저자는 소개하고 있습니다.

Reference

  • Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks, 2017, CVPR
  • 패스트캠퍼스, 주재걸 교수님 GAN 강의자료 p.134
profile
Robotics, 3D-Vision, Deep-Learning에 관심이 있습니다

0개의 댓글