기존 CycleGANs의 한계
CycleGAN은 최대 두 개의 고정된 도메인 간의 이미지 변환만 가능하며, 여러 도메인 간의 변환을 위해서는 여러 개의 생성 모델이 필요합니다. 이러한 문제를 해결하기 위해 StarGAN이 제안되었습니다.
StarGAN은 단 하나의 생성 모델로 여러 도메인 간의 이미지 변환을 가능하게 합니다.
Important terms
- Attribute: 이미지에 포함된 의미 있는 특징 (예: 머리색, 성별, 나이 등).
- Attribute Value: Attribute의 특정한 값 (예: 머리색: 검정색, 금색, 갈색 / 성별: 남자, 여자 등).
- Domain: 같은 attribute value를 공유하는 이미지의 집합 (예: 여자 이미지 - 하나의 도메인, 남자 이미지 - 또 다른 도메인).
Multi-Domain Image-to-Image Translation
StarGAN의 목표는 여러 도메인 사이의 매핑이 가능하도록 생성자 를 학습시키는 것입니다. 입력 이미지 와 도메인 레이블 를 에 입력하면 출력 이미지 를 생성하도록 학습합니다.
또한, 판별자 에 auxiliary classifier를 추가하여 soruce(생성자의 생성 이미지의 진위여부와 domain label(입력한 c의 적중여부)에 대한 확률 분포를 생성합니다.
Loss Function
Adversarial Loss: X -> Y 매핑.
Domain Classification Loss:
- D 최적화: 실제 이미지의 Domain Classification Loss로, 실제 이미지와 입력 이미지의 domain label이 일치하도록 D를 학습시킵니다.
- G 최적화: 생성 이미지의 Domain Classification Loss로, 생성자가 target domain에 맞는 이미지를 생성하도록 유도합니다.
Reconstruction Loss: Input image의 content를 보존하면서 target domain의 부분만 변화시키기 위함입니다. 변환된 이미지와 도메인 레이블 c′를 입력받아 x를 복원한 후, x와의 절대 오차를 계산합니다.
Full Loss Function: G와 D 각각에 대한 전체 Objective function으로, λcls=1, λrec=10으로 domain classification과 reconstruction의 상대적 중요도를 조절합니다.
Training with Multiple Datasets
Partially Known Labels
여러 데이터셋을 학습할 때, 레이블 정보가 부분적으로만 포함된 문제가 발생합니다. 예를 들어, CelebA와 RaFD 데이터셋에서 CelebA는 머리색과 성별에 대한 attribute만 가지고 있으며, 얼굴 표정에 대한 attribute는 가지지 않습니다. 변환된 이미지 G(x,c)에서 x로 복원할 때, 온전한 도메인 레이블 가 필요합니다.
Mask Vector
n(데이터셋의 개수)차원의 one-hot 벡터를 사용하여 StarGAN이 명시된 레이블에 집중하고, 명시되지 않은 레이블은 무시하도록 합니다.
CelebA와 RaFD를 교차 학습하여, D가 두 dataset의 차이를 구분하고, G가 label들을 학습할 수 있게 합니다.
실험 결과, RaFD dataset으로만 학습시킨 StarGAN보다 RaFD와 Celeb A를 joint하여 학습시킨 StarGAN이 세부적인 특징을 더 나태는 것을 확인 할 수 있었습니다.
Comparison with other baselines
StarGAN은 다른 기법들과 비교했을 때 가장 선명하고 질적으로 우수한 이미지를 생성합니다.
Conclusion
StarGAN은 한 개의 생성 모델로 다양한 도메인 간의 이미지 변환을 수행할 수 있는 프레임워크를 제시합니다. 특히 얼굴 표정 변환과 같은 이미지 작업에서 뛰어난 성능을 보입니다. Cycle consistent loss와 domain classification loss를 통해 세부 사항을 유지하면서 target domain의 특징을 잘 포착하는 능력은 매우 인상적이었습니다.