논문읽기 | Unpaired Image-to-image Translation using Cycle-consistent Adversarial Networks
1. Introduction
supervised한 image translation은 paired image 데이터셋을 얻기 힘듦.
그래서 cycle consistent한 속성을 가지는 translation을 사용
2. Related Work
GAN, Image-to-Image Translation, Unpaired Image-to-image translation, Cycle consistency, Neural style transfer
안읽었음
3. Formulation
3.1. Adversarial loss
Lgan=평균(로그(구별자가 y를 제대로구별해냄)) + 평균(로그(구별자가 G(x)를 못구별해냄))
3.2. Cycle Consistency loss
??? 앞부분 이해 X
adversarial loss 만으로는 인풋과 desired 아웃풋을 map하는것을 보증못함
그래서 x -> G(x) -> F(G(x))가 x와 비슷하도록 함 (forward cycle consistency)
그리고 y -> F(y) -> G(F(y))도 y와 비슷하도록 함(backward cycle consistency)
Lcyc=평균(F(G(x))와x의 L1에러) + 평균(G(F(y))와 y의 L1에러)
3.3 full objective
Lgan(G와 D_Y) + Lgan(F와 D_X) + 람다*Lcyc
이때 D는 손실을 max하고싶어하고 F,G는 min하고싶어함
이건마치 두개의 오토인코더를 트레이닝하는것과 같다(?)
두 손실함수 다 필수적이고 사이클도 쌍방향 모두 필요
4. implementation
네트워크 구조:
생성 네트워크 구조는 Johnson et al의 네트워크를 차용
(https://arxiv.org/pdf/1603.08155.pdf)
instance normalization을 사용??
구별자 네트워크 구조는 PatchGAN을 사용?
트레이닝:
negative log-likelihood 대신 least-squares loss를 사용 (안정성을 위해)
(공식 있음)
구별자는 해당 단계 생성자가 생성한 이미지만으로 업데이트하지 않고, 앞서 만들어진 50개의 이미지 히스토리를 사용하여 업데이트함. (모델 오씰레이션을 방지하기 위해. 모델 오씰레이션은 GAN 트레이닝에 있어 상습적으로 발생하는 문제인 듯하며, 수렴하지 않는다는듯)
실험에서 람다는 10으로 유지됨
5. Results
일단 paired dataset에 대해 기존 알고리즘과 성능비교를 하고 어블래이션 연구를 한뒤에 unpaired data에 대해서 generality를 입증하겠음
5.1 Evaluation
pix2pix와 같은 evaluation dataset, metrics 사용
5.1.1 Evaluation metrics
AMT Perceptual studies:
놀랍게도 Amazon Mechanical Turk는 이름과 달리 기계가 아니라 사람으로 밝혀져...
수치는 [22]와 비교하기보다는 baseline과 비교하는데 사용해야 알맞음
FCN score:
생성된 이미지를 off-the-shelf 시맨틱 세그멘테이션 알고리즘이 얼마나 잘 구별? 검출? 해내는지 (FCN: fully convolutional network)
semantic segmentation metrics:
per-pixel accuracy, per-class accuracy, mean class IoU
5.1.2 Baseline
CoGAN, simGAN 등 아무튼 여러가지 있음
5.1.3 Comparison against baselines
baseline 알고리즘들로는 그럴듯한 이미지를 생성해내지 못함
AMT도 거의 1~2퍼센트정도만 real이라고 라벨링함
그에 반해 CycleGAN은 꽤 그럴듯한 이미지를 생성했고 AMT도 2n퍼센트가 real이라고 라벨링함. (인간을 4번 중에 1번이나 속여먹다니 기계도 많이 발전했군)
FCN 점수도 CycleGAN이 가장 높음
5.1.4 Analysis of the loss function
gan, cycle 손실함수 모두 중요하고, cycle은 두 방향 다 있어야 함
없으면 트레이닝이 안되거나 mode collapse를 일으킴
근데 사진만 봐선 cycleGAN도 잘햇ㄴ느지 잘 모르겟음
5.1.5 Image reconstruction quality
잘햇음
5.1.6 Additional results on paired dataset
pix2pix 에서 사용한 dataset에도 적용해봤는데 잘했음
5.2 Applications
트레이닝 데이터의 translation이 테스트 데이터 translation보다 예쁘게 나왔다고 함
Collection style transfer:
사진을 넣고 작가의 한 그림의 화풍이 아니라 전체 작품 컬렉션의 화풍을 mimic할 수 있음
Object transfiguration:
한 카테고리의 어떤 클래스를 같은 카테고리의 다른 클래스로 (예를 들면 사과를 오렌지로, 말을 얼룩말로) 바꿀 수 있음
Season transfer:
생략
Photo generation from paintings:
그림을 넣고 사진을 만들 수 있음.
이때, 진짜 사진이 인풋으로 제공되었을 경우 identity mapping과 가까워지도록 L_identity 손실을 사용함. 이 손실이 없으면 인풋을 수정할 필요가 없는데도 수정하게 됨. 그래서 자꾸 낮 풍경을 저녁 풍경으로 바꾸는 식의 변환이 일어남 (이러한 cycle도 유효하므로)
photo enhancement:
DoF를 수정할 수 있음
Comparison with Gatys et al.:
neural style transfer와의 비교.
CycleGAN이 잘함
6. Limitations and Discussion
잘 안될때도 있음
댓글
댓글 쓰기