본문 바로가기

VISION

[논문] Unpaired Image-to-Image Translation using CycleGAN

Author: Jun-Yan Zhu, Taesung Park, Phillip Isola, Alexei A. Efros

 

 이미지를 특정 스타일로 변환시키는 style transfer model 을 학습시킬 때, 변형 전과 변형 후 데이터가 세트로 존재하는 경우는 변환 모델을 쉽게 학습시킬 수 있다. 하지만 대부분의 경우 직접적인 순서쌍이 없는데 이 논문에서는 이러한 경우를 위한 변환 모델 학습 방법인 CycleGAN 을 제시하였다

 

 

모델 기본 구조

 음식 이미지를 특정 화가의 그림체로 바꾸고 싶다고 했을 때, 사람은 실제 사진과 변환될 이미지의 순서쌍이 없더라도 어떤 식으로 변환될 지 상상이 가능하다. 이 점을 이용해 타겟 이미지 세트의 특징을 잡아내 다른 이미지 세트에 적용하는 모델을 개발하였다.

 

 

 CycleGAN 은 세트 X에서 세트 Y로의 변환 모델을 학습시키고자 할 때, G: X→Y 뿐 아니라 F: YX를 동시에 학습시킨다. 즉 G로 생성된 Y를 다시 F에 적용했을 때 기존의 이미지 X로 돌아올 수 있어야 한다. Y는 하나의 이미지가 아닌 세트이기 때문에 특정 이미지를 Y의 스타일로 변환시키는 mapping G는 무수히 많이 존재할 수 있다. 따라서 그 중 가장 적합한 G가 선택되도록 하기 위해 역방향으로의 변환인 F ◦ G 가 identity mapping이 되도록 학습시키는 것이다 이를 “cycle consistency” 라 한다.

 

 

Loss function

 이 모델에서는 cycle consistency loss (L_cyc)와 GAN 에서 적용되는 adversarial loss (L_gan)의 두 가지 loss function이 적용된다. 논문에서는 여러 실험을 통해 두 loss를 함께 사용했을 때 가장 좋은 결과를 얻어낼 수 있음을 확인하였다. 하이퍼파라미터 λ를 통해 cycle consistency loss 의 비중을 조절한다.

 

 

Limitation

 CycleGAN은 컬러 변화나 텍스처 변화에는 강하지만 경계선 자체의 위치가 변화하는 경우에는 제대로 작동하지 않는다. 예를 들어 강아지를 고양이로 변환시키는 경우 거의 변화하지 않는 것을 볼 수 있다.

 

 

 

 

아이디어 1)

 두 세트는 사실 real world 의 두 가지 다른 해석이다. 이 두 mapping 을 모두 구현하도록 하면 어떨까? 하나의 세트에서 또다른 세트로의 정/역변환이 아니라 real world를 가정해 세트 1으로의 정/역변환과 세트 2로의 정/역변환 모델을 학습하고 추가로 1↔real2의 변환이 가능하도록 만들면 더 정확한 예측이 가능하지 않을까?

 

아이디어 2)

 스타일 세트만으로 변환될 이미지를 상상할 수 있는 사람의 추론능력이 이 모델에 직접 적용되지는 않았다. CycleGAN은 역변환 모델 없이는 타겟 세트의 분포를 따르는 어떤 이미지로든 (잘못된) 변환이 가능하다. 정답 label이 없는 대신 기존 이미지와 타겟 세트라는 두 가지 대안을 가지고, 정변환 모델에서는 타겟 세트와, 역변환 모델에서는 기존 이미지와 비교하는 방법으로 이 문제를 해결하였다.
 그런데 사람은 역변환까지 고려해 정변환을 추론하지는 않는데, 이 모델이 정변환만으로 추론능력을 모방할 수 없는 데는 타겟 세트의 분포를 따르도록 한 게 문제이지 않을까? 이미지의 픽셀값 분포로 이미지를 표현한다는 건 위험이 크다. 대신 low level feature에 집중해서 학습하면 어떨까? 타겟 세트에서는 edge의 스타일 변화를 학습해 변환시키고 기존 이미지의 color distribution을 따라가도록 하면 사람의 추론과정을 모방하면서도 전혀 다른 이미지로 변환되는 것을 막을 수 있을 것 같다.