본문 바로가기
Paper Review/Style Transfer

UNIT : Unsupervised Image-to-Image Translation Networks (2017)

by HanByol Jang 2021. 9. 25.
728x90

Unsupervised Image-to-Image Translation Networks(UNIT)는 unpaired한 데이터들간 서로 공유하고 있는 중요 특징(shared latent space)을 이용해 style을 변환시켜주는 연구이다. NVIDIA에서 2017년에 발표한 논문입니다.

UNIT : https://arxiv.org/abs/1703.00848


Shared Latent Space

이 논문의 가장 핵심적인 개념으로 두 domain간에는 서로 공유하고 있는 latent space가 존재한다는 것입니다.

두 domain간 공유하고 있는 latent space

X1의 domain에서 X2 domain간 공유하고 있는 latent space z가 있다고 가정을 하면 위의 그림처럼 x1이미지에서 Encoder E1을 통해 z가 되고 이 z를 가지고 Generator G2를 통해 x2 이미지를 생성할 수 있다. 반대로 x2이미지에서 x1이미지도 만들수가 있는 것입니다.


Weight-sharing

UNIT Network Framwork

Network는 VAE와 GAN을 섞은 형태로 중간에 z를 공유한다는게 UNIT의 가장 큰 특징입니다.

x1과 x2는 각각 E1, E2를 통해 shared latenet space인 z로 인코딩됩니다. 그리고 이 z를 가지고 G1, G2를 통해 x1', x2'의 이미지를 생성하게 됩니다. 

E1와 E2의 끝부분 몇개의 Convolution layer는 공유하게 설계함으로써 공유하는 z를 추출합니다. 그리고 G1와 G2의 첫부분 몇개의 Convolution layer도 마찬가지로 공유하게 설계합니다.

Generator와 Discriminator는 일반 GAN과 같은 형태입니다.


Training Loss

Total Loss

VAE와 GAN이 섞인 형태이기 때문에 전체 loss는 위와 같이 VAE의 loss와 GAN의 loss가 포함됩니다. 그리고 Cycle Consistency loss가 추가되는데 이는 CycleGAN에서 설명한 개념입니다. x1을 가지고 G2를 통해 x2'의 이미지를 생성하고 다시 G1를 통해 x1'이미지를 생성하면 이는 원본 x1과 같아야만한다는 개념입니다.

GAN 학습의 전략과 동일하게 E1, G1, E2, G2를 고정한채 D1, D2인 discriminator부터 학습하고 그 뒤, D1, D2를 고정한채 Encoder, Generator를 학습시킵니다.


Experiment Result 

실험 결과

위의 이미지처럼 Input 이미지들이 다양하게 변화하는 것을 볼 수 있습니다. shared latent space를 통해 unpaired한 데이터간의 변화를 더 자연스럽게 만들어주었습니다. 하지만 해당 모델로는 one to one mapping만 가능하다는 단점이 있기에 같은 연구팀의 후속 연구로 Multi modal이 가능한 MUNIT가 출시됩니다. 

728x90

댓글