Abstract

최근 연구에 따르면 두 도메인에 대한 이미지 대 이미지 번역이 괄목 할만한 성공을 거두었습니다.
그러나 기존 접근 방식은 모든 이미지 도메인 쌍에 대해 서로 다른 모델을 독립적으로 구축해야하므로 두 개 이상의 도메인을 처리 할 때 확장 성과 견고성이 제한적입니다.
이러한 한계를 해결하기 위해 단일 모델 만 사용하여 여러 도메인에 대해 이미지-이미지 변환을 수행 할 수있는 새롭고 확장 가능한 접근 방식 인 StarGAN을 제안합니다.
StarGAN의 이러한 통합 모델 아키텍처는 단일 네트워크 내에서 서로 다른 도메인을 가진 여러 데이터 세트의 동시 훈련을 허용합니다.
우리는 얼굴 속성 전달 및 표정 합성 작업에 대한 접근 방식의 효과를 경험적으로 보여줍니다.
1. Introduction

이미지를 이미지로 변환하는 작업은 주어진 이미지의 특정 측면을 다른 것으로 변경하는 것입니다 (예 : 사람의 얼굴 표정을 미소에서 찡그린 얼굴로 변경) (그림 1 참조).
이 작업은 GAN (Generative Adversarial Network)의 도입에 따라 상당한 개선을 경험했으며, 결과는 머리 색깔 변경 [9], 에지 맵에서 사진 재구성 [7], 풍경 이미지의 계절 변경 [33]에 이르기까지 다양합니다.
서로 다른 두 도메인의 학습 데이터가 주어지면 이러한 모델은 이미지를 한 도메인에서 다른 도메인으로 변환하는 방법을 배웁니다.
우리는 용어 속성을 머리 색깔, 성별 또는 나이와 같은 이미지에 내재 된 의미있는 특징으로 표시하고 속성 값을 속성의 특정 값으로 표시합니다 (예 : 머리 색깔은 검정 / 금발 / 갈색, 성별은 남성 / 여성).
예를 들어 여성 이미지는 한 영역을 나타내고 남성 이미지는 다른 영역을 나타낼 수 있습니다.
여러 이미지 데이터 세트에는 레이블이 지정된 여러 속성이 있습니다.
예를 들어, CelebA [19] 데이터 세트에는 머리 색깔, 성별, 나이와 같은 얼굴 속성과 관련된 40 개의 라벨이 포함되어 있으며 RaFD [13] 데이터 세트에는 'happy', 'angry'및 '와 같은 표정에 대한 8 개의 라벨이 있습니다. 슬퍼'. 이러한 설정을 통해 더 흥미로운 작업, 즉 다중 도메인 이미지 대 이미지 변환을 수행 할 수 있습니다. 여기서 여러 도메인의 속성에 따라 이미지를 변경합니다.
그림 1의 처음 5 개 열은 '금발', '성별', '노인', '창백한 피부'의 4 가지 영역에 따라 CelebA 이미지를 번역 할 수있는 방법을 보여줍니다.
그림 1의 맨 오른쪽 열에서와 같이 RaFD에서 학습 한 기능을 사용하여 CelebA 이미지의 얼굴 표정을 변경하기 위해 CelebA 및 RaFD 이미지를 공동 학습하는 것과 같이 서로 다른 데이터 세트에서 여러 도메인을 학습하는 것으로 확장 할 수 있습니다.
그러나 기존 모델은 이러한 다중 도메인 이미지 번역 작업에서 비효율적이며 비효율적입니다.
이들의 비효율성은 k 도메인 간의 모든 매핑을 학습하려면 k (k-1) 생성기를 훈련해야한다는 사실에서 기인합니다. 그림 2 (a)는 4 개의 서로 다른 도메인간에 이미지를 변환하기 위해 12 개의 개별 생성기 네트워크를 훈련해야하는 방법을 보여줍니다.
한편, 얼굴형과 같은 모든 영역의 이미지에서 학습 할 수 있는 글로벌 특성이 존재하더라도 각 생성기는 전체 학습 데이터를 충분히 활용할 수 없고 k 중 두 영역에서만 학습 할 수 있다는 점에서 비효율적입니다.
훈련 데이터를 완전히 활용하지 못하면 생성 된 이미지의 품질이 제한 될 수 있습니다.
또한 각 데이터 세트가 부분적으로 레이블이 지정되어 있기 때문에 다른 데이터 세트에서 도메인을 공동으로 훈련 할 수 없습니다.
이러한 문제에 대한 해결책으로 여러 도메인 간의 매핑을 학습 할 수있는 새롭고 확장 가능한 접근 방식 인 StarGAN을 제안합니다.
그림 2 (b)에서 볼 수 있듯이 우리 모델은 여러 도메인의 학습 데이터를 가져와 단일 생성기를 사용하여 사용 가능한 모든 도메인 간의 매핑을 학습합니다.
아이디어는 간단합니다.
고정 번역 (예 : 검은 색에서 금발 머리)을 배우는 대신 생성기는 이미지와 도메인 정보를 모두 입력으로 받아들이고 이미지를 해당 도메인으로 유연하게 번역하는 방법을 학습합니다.
도메인 정보를 나타 내기 위해 레이블 (예 : 바이너리 또는 원-핫 벡터)을 사용합니다.
훈련 중에 대상 도메인 레이블을 무작위로 생성하고 모델을 훈련시켜 입력 이미지를 대상 도메인으로 유연하게 변환합니다.
이렇게 하면 도메인 레이블을 제어하고 테스트 단계에서 이미지를 원하는 도메인으로 변환 할 수 있습니다. 또한 도메인 레이블에 마스크 벡터를 추가하여 서로 다른 데이터 세트의 도메인 간 공동 훈련을 가능하게하는 간단하지만 효과적인 접근 방식을 소개합니다.
우리가 제안한 방법은 모델이 알 수없는 라벨을 무시하고 특정 데이터 세트에서 제공하는 라벨에 집중할 수 있도록합니다.
이러한 방식으로 우리 모델은 그림 1의 맨 오른쪽 열에 표시된 것처럼 RaFD에서 학습 한 특징을 사용하여 CelebA 이미지의 얼굴 표정을 합성하는 등의 작업을 잘 수행 할 수 있습니다.
우리가 아는 한, 우리의 작업은 다른 데이터 세트에서 다중 도메인 이미지 번역을 성공적으로 수행한 최초의 것입니다.
전반적으로 우리의 기여는 다음과 같습니다.
• 단일 생성기와 판별기를 사용하여 여러 도메인 간의 매핑을 학습하고 모든 도메인의 이미지에서 효과적으로 훈련하는 새로운 생성 적 적 네트워크 인 StarGAN을 제안합니다.
• StarGAN이 사용 가능한 모든 도메인 레이블을 제어 할 수 있도록하는 마스크 벡터 방법을 활용하여 여러 데이터 세트 간의 다중 도메인 이미지 변환을 성공적으로 학습 할 수있는 방법을 보여줍니다.
• StarGAN을 사용하여 얼굴 속성 전달 및 얼굴 표정 합성 작업에 대한 질적 및 양적 결과를 모두 제공하여 기준 모델보다 우월함을 보여줍니다.

2. Related Work
- Generative Adversarial Networks
GAN (Generative Adversarial Network) [3]은 이미지 생성 [6, 24, 32, 8], 이미지 번역 [7, 9, 33], 초고해상도 이미징 [14],및 얼굴 이미지 합성 [10, 16, 26, 31] 등 다양한 컴퓨터 비전 작업에서 놀라운 결과를 보여주었습니다.
일반적인 GAN 모델은 판별기와 생성기의 두 가지 모듈로 구성됩니다.
판별자는 실제 샘플과 가짜 샘플을 구별하는 방법을 배우고 생성기는 실제 샘플과 구별 할 수 없는 가짜 샘플을 생성하는 방법을 학습합니다.
또한 우리의 접근 방식은 적대적 손실을 활용하여 생성된 이미지를 최대한 사실적으로 만듭니다.
- Conditional GANs
GAN 기반 조건부 이미지 생성도 활발히 연구되었습니다.
이전 연구에서는 등급에 따라 조절된 샘플을 생성하기 위해 판별자와 생성자 모두에 클래스 정보를 제공했습니다 [20, 21, 22].
다른 최근 접근법은 주어진 텍스트 설명과 매우 관련이 있는 특정 이미지를 생성하는 데 중점을 두었습니다 [25, 30].
조건부 이미지 생성 개념은 도메인 이전(domain transfer)[9, 28], 초고해상도 이미징 [14], 사진 편집 [2, 27]에도 성공적으로 적용되었습니다.
본 논문에서는 조건부 도메인 정보를 제공하여 다양한 대상 도메인으로 이미지 변환을 유연하게 조정할 수 있는 확장 가능한 GAN 프레임 워크를 제안합니다.
- Image-to-image Translation
최근 작업은 이미지 대 이미지 번역에서 인상적인 결과를 얻었습니다 [7, 9, 17, 33].
예를 들어, pix2pix [7]는 cGAN [20]을 사용하여 감독하는 방식으로 이 작업을 학습합니다.
적대적 손실과 L1 손실을 결합하므로 쌍을 이룬 데이터 샘플이 필요합니다.
데이터 쌍을 얻는 문제를 완화하기 위해 짝을 이루지 않는 이미지 대 이미지 변환 프레임 워크 [9, 17, 33]가 제안되었습니다.
UNIT [17]은 VAE (variational autoencoder) [12]를 CoGAN [18]과 결합합니다. CoGAN은 두 생성기가 가중치를 공유하여 교차 도메인에서 이미지의 공동 분포를 학습합니다.
CycleGAN [33]과 DiscoGAN [9]은 주기 일관성 손실을 활용하여 입력과 변환된 이미지 사이의 주요 속성을 보존합니다.
그러나 이러한 모든 프레임 워크는 한 번에 두 개의 서로 다른 도메인 간의 관계만 학습 할 수 있습니다.
이들의 접근 방식은 각 도메인 쌍에 대해 서로 다른 모델을 학습해야하므로 여러 도메인을 처리 할 때 확장 성이 제한됩니다.
앞서 언급한 접근 방식과 달리 우리의 프레임 워크는 단일 모델을 사용하여 여러 도메인 간의 관계를 학습 할 수 있습니다.
3. Star Generative Adversarial Networks
먼저 단일 데이터 세트 내에서 다중 도메인 이미지 대 이미지 변환을 처리하는 프레임 워크인 제안된 StarGAN을 설명합니다.
그런 다음 StarGAN이 서로 다른 레이블 세트를 포함하는 여러 데이터 세트를 통합하여 이러한 레이블을 사용하여 이미지 번역을 유연하게 수행하는 방법에 대해 논의합니다.
3.1 Multi-Domain Image-to-Image Translation
우리의 목표는 여러 도메인 간의 매핑을 학습하는 단일 생성기 G를 훈련시키는 것
이를 달성하기 위해, G를 훈련시켜 입력 이미지 x를 대상 도메인 레이블 $c, G (x, c) → y$에 조건이 지정된 출력 이미지 y로 변환합니다.
G가 입력 이미지를 유연하게 변환하는 방법을 배울 수 있도록 대상 도메인 레이블 c를 무작위로 생성합니다. 또한 단일 판별자가 여러 도메인을 제어 할 수 있는 보조 분류기 [22]를 도입했습니다.
즉, 판별기는 소스와 도메인 레이블 $D : x → {D_{src}(x), D_{cls}(x)}$에 대한 확률 분포를 생성합니다.
그림 3은 우리가 제안한 접근법의 훈련 과정을 보여줍니다.
▪ Adversarial Loss
생성된 이미지를 실제 이미지와 구분할 수 없도록 하기 위해 G가 입력 이미지 x와 대상 도메인 레이블 c 모두에 조건이 지정된 이미지 G (x, c)를 생성하는 반면 D는 실제 이미지와 가짜 이미지를 구분하려고하는 적대적 손실을 채택합니다.
이 논문에서 우리는 Dsrc (x)라는 용어를 D가 제공하는 소스에 대한 확률 분포라고합니다.
생성기 G는이 목표를 최소화하려고 시도하고, 판별기 D는이를 최대화하려고합니다.
$$L_{adv} = E_x[logD_{src}(x)] + E_{x,c}[log(1-D_{src}(G(x,c)))]$$ → 식(1)
▪ Domain Classification Loss
주어진 입력 이미지 x 및 대상 도메인 레이블 c에 대해 우리의 목표는 x를 대상 도메인 c로 적절하게 분류 된 출력 이미지 y로 변환하는 것입니다.
이 조건을 달성하기 위해 D 위에 보조 분류기를 추가하고 D와 G를 모두 최적화 할 때 도메인 분류 손실을 부과합니다.
즉, 목표를 D를 최적화하는 데 사용되는 실제 이미지의 도메인 분류 손실과 G를 최적화하는 데 사용되는 가짜 이미지의 도메인 분류 손실이라는 두 가지 용어로 분해합니다.
구체적으로 전자는 $D_{cls} (c_0 | x)$라는 용어가 D로 계산 된 도메인 레이블에 대한 확률 분포를 나타내는 것으로 정의됩니다.
이 목표를 최소화함으로써 D는 실제 이미지 x를 해당 원본 도메인 $c_0$로 분류하는 방법을 배웁니다.
입력 이미지와 도메인 레이블 쌍 $(x, c_0)$이 훈련 데이터에 의해 제공된다고 가정합니다.
한편, 가짜 이미지의 도메인 분류를 위한 손실 함수는 다음과 같이 정의된다.
즉, G는 이 목적함수를 최소화하여 타겟 도메인 c로 분류 할 수 있는 이미지를 생성하려고한다.
이 목표를 최소화함으로써 D는 실제 이미지 x를 해당 원본 도메인 $c_0$로 분류하는 방법을 배웁니다.
입력 이미지와 도메인 레이블 쌍 $(x, c_0)$이 훈련 데이터에 의해 제공된다고 가정합니다.
한편, 가짜 이미지의 도메인 분류를 위한 손실 함수는 다음과 같이 정의된다. 즉, G는 이 목적함수를 최소화하여 타겟 도메인 c로 분류 할 수있는 이미지를 생성하려고 한다.
$$L_{cls}^r = E_{x,c'}[-logD_{cls}(c'|x)]$$ → 식(2)
$$L_{cls}^f = E_{x,c}[-logD_{cls}(c|G(x,c))]$$ → 식(3)
▪ Reconstruction Loss
적대적 및 분류 손실을 최소화함으로써 G는 현실적이고 올바른 대상 도메인으로 분류 된 이미지를 생성하도록 훈련되었습니다.
그러나 손실을 최소화한다고해서 (Eqs. (1) 및 (3)) 번역 된 이미지가 입력 이미지의 내용을 보존하면서 입력의 도메인 관련 부분만 변경한다는 보장은 없습니다.
이 문제를 완화하기 위해, 생성기에 주기 일관성 손실(cycle consistency loss)[9, 33]을 적용합니다. G는 변환 된 이미지 G (x, c)와 원래 도메인 레이블 $c_0$을 입력으로 받아들이고 원본 이미지 x를 재구성하려고합니다.
우리는 재건 손실(reconstruction loss)로 L1 표준을 채택합니다.
단일 생성기를 두 번 사용하여, 먼저 원본 이미지를 대상 도메인의 이미지로 변환한 다음, 변환된 이미지에서 원본 이미지를 재구성합니다.
$$L_{rec} = E_{x,c,c'}[||x-G(G(x,c),c')||_1]$$ → 식(4)
▪ Full Objective
마지막으로, $λ{cls}$ 및 $λ{cls}$는 적대 손실과 비교하여, 각각 도메인 분류 및 재구성 손실의 상대적 중요성을 제어하는 하이퍼 매개 변수이므로, G 및 D를 최적화하는 목적 함수가 각각 작성됩니다.
우리는 모든 실험에서 $λ{cls}=1$ 및 $λ{cls}=10$을 사용합니다.
$$L_D =-L{adv}+\lambda_{cls}L_{cls}^r$$ → 식(5)
$$L_G=L_{adv}+ \lambda_{cls}L_{cls}^f+\lambda_{rec}L_{rec}$$ → 식(6)
3.2 Training with Multiple Datasets
StarGAN의 중요한 장점은 StarGAN이 테스트 단계에서 모든 레이블을 제어 할 수 있도록 서로 다른 유형의 레이블을 포함하는 여러 데이터 세트를 동시에 통합한다는 것입니다.
그러나, 여러 데이터 세트에서 학습할 때 문제는 레이블 정보가 각 데이터 세트에 부분적으로만 알려져 있다는 것입니다.
In the case of CelebA [19] and RaFD [13], while the former contains labels for attributes such as hair color and gender, it does not have any labels for facial expressions such as ‘happy’ and ‘angry’, and vice versa for the latter.
CelebA [19]와 RaFD [13]의 경우, 전자는 머리 색깔과 성별과 같은 속성에 대한 레이블이 포함되어 있지만 'happy', 'angry'와 같은 표정에 대한 레이블이 없으며 그 반대의 경우도 마찬가지입니다.
변환된 이미지 G (x, c)에서 입력 이미지 x를 재구성 할 때 레이블 벡터 {c_0}에 대한 완전한 정보가 필요하기 때문에 문제가됩니다 (식 (4) 참조).
▪ Mask Vector
이 문제를 완화하기 위해 StarGAN이 지정되지 않은 레이블을 무시하고 특정 데이터 세트에서 제공하는 명시적으로 알려진 레이블에 집중할 수 있도록하는 마스크 벡터 m을 도입합니다.
StarGAN에서 우리는 m을 나타내기 위해 n 차원 원-핫 벡터를 사용하며, n은 데이터 셋의 수입니다.
또한 레이블의 통합 버전을 벡터로 정의합니다. 여기서 [·]는 연결을 의미하고 $c_i$는 i 번째 데이터셋의 레이블에 대한 벡터를 나타냅니다.
알려진 레이블 $c_i$의 벡터는 이진 속성에 대한 이진 벡터 또는 범주 속성에 대한 원-핫 벡터로 나타낼 수 있습니다.
나머지 $n-1$ 개의 알려지지 않은 레이블에 대해 단순히 0 값을 할당합니다.
실험에서는 $n= 2$ 인 CelebA 및 RaFD 데이터 세트를 사용합니다.
$$L_G=L_{adv}+ \lambda_{cls}L_{cls}^f+\lambda_{rec}L_{rec}\widetilde{c}=[c_1,...,c_n,m]$$ → 식 (7)
▪ Training Strategy
다중 데이터 세트로 StarGAN을 훈련 할 때, 우리는 Eq. (7) 발전기에 대한 입력으로 식 (7)에 정의 된대로 도메인 라벨 $\widetilde{c}$.을 사용
그렇게 함으로써, 생성기는 벡터가 0인 지정되지 않은 레이블을 무시하고, 명시적으로 지정된 레이블에 초점을 맞추는 방법을 학습합니다.
생성기의 구조는 입력 레이블 $\widetilde{c}$의 차원을 제외하고는 단일 데이터 세트로 훈련 할 때와 정확히 동일합니다.
다른 한편으로, 모든 데이터 세트에 대한 레이블에 대한 확률 분포를 생성하기 위해 판별기의 보조 분류기를 확장합니다.
그런 다음, 판별자가 알려진 레이블과 관련된 분류 오류(classification error)만 최소화하려고 시도하는 다중 작업 학습 설정(multi-task learning setting)에서 모델을 훈련시킵니다.
예를 들어, CelebA에서 이미지로 훈련 할 때 판별기는 RaFD와 관련된 얼굴 표정이 아닌 CelebA 속성과 관련된 레이블에 대한 분류 오류를 최소화합니다
Under these settings, by alternating between CelebA and RaFD the discriminator learns all of the discriminative features for both datasets, and the generator learns to control all the labels in both datasets.
이러한 설정에서, CelebA와 RaFD를 번갈아 가며 판별자는 두 데이터 세트의 모든 구별 기능(discriminative features)을 학습하고, 생성기는 두 데이터 세트의 모든 레이블을 제어하는 방법을 학습합니다.

4. Implementation
▪ Imporved GAN Training
훈련 프로세스를 안정화하고 고품질 이미지를 생성하기 위해, xˆ가 한 쌍의 실제 이미지와 생성 된 이미지 사이의 직선을 따라 균일하게 샘플링되는 것으로 정의된 기울기 패널티 [1, 4]가있는 Wasserstein GAN를 Eq. (1) 대신 사용
모든 실험에 λgp = 10을 사용합니다.
$$L_G=L_{adv}+ \lambda_{cls}L_{cls}^f+\lambda_{rec}L_{rec}\widetilde{c}=[c_1,...,c_n,m]L_{adv} = E_x[D_{src}(x)]-E_{x,c}[D_{src}(G(x,c))]- \lambda_{gp}E_{\widehat{x}}[(||\triangledown_{\widehat{x}}D_{src}(\widehat{x})||_2-1)^2]$$ → 식(8)
-Networks Architecture
CycleGAN [33]으로 부터 차용하여, StarGAN은 다운 샘플링(down sampling)을위한 보폭 2 개, 잔여 블록(residual block) 6 개 [5], 업샘플링(upsampling)을 위한 보폭 2 개를 가진 2 개의 전치된(transposed) 컨벌루션 레이어로 구성된 2 개의 컨벌루션 레이어로 구성된 생성기 네트워크를 가지고 있습니다.
생성기에 인스턴스 정규화 [29]를 사용하지만 판별자에 대해서는 정규화를 사용하지 않습니다.
우리는 로컬 이미지 패치가 진짜인지 가짜인지를 분류하는 판별자 네트워크에 PatchGAN [7, 15, 33]을 활용합니다.
5. Experiments
이 섹션에서는 먼저 사용자 연구를 수행하여 StarGAN을 최근의 얼굴 속성 전달 방법과 비교합니다.
다음으로 표정 합성에 대한 분류 실험을 수행합니다.
마지막으로 StarGAN이 여러 데이터 세트에서 이미지 대 이미지 변환을 학습 할 수 있다는 경험적 결과를 보여줍니다.
모든 실험은 훈련 단계에서 보이지 않는 이미지의 모델 출력을 사용하여 수행되었습니다.

5.1. Baseline Models
기본 모델로 DIAT (Deep identity-aware transfer of facial attributes)[16] 및 CycleGAN [33]을 채택합니다.
두 도메인 모두 서로 다른 두 도메인 간의 이미지 대 이미지 변환을 수행합니다.
비교를 위해 두 도메인의 모든 쌍에 대해 이러한 모델을 여러 번 훈련했습니다.
We also adopt IcGAN [23] as a baseline which can perform attribute transfer using a cGAN [22].
또한, cGAN[22]을 사용하여 속성 전송(attribute transfer)을 수행 할 수있는 기준선으로 IcGAN [23]을 채택합니다.
DIAT는 적대적 손실을 사용하여 x ∈ X에서 y ∈ Y 로의 매핑을 학습합니다.
여기서 x 및 y는 각각 두 개의 다른 도메인 X 및 Y의 얼굴 이미지입니다.
This method has a regularization term on the mapping as ||x − F(G(x))||1 to preserve identity features of the source image, where F is a feature extractor pretrained on a face recognition task.
이 방법은 소스 이미지의 신원 특징(identity features of the source image)을 보존하기 위해 $|| x − F (G (x)) ||_1$로 매핑에 정규화 항c(regularization term)을 가지며, 여기서 F는 얼굴 인식 작업에 대해 사전 훈련 된 특징 추출기입니다.
CycleGAN은 또한 적대적 손실을 사용하여 두 개의 다른 도메인 X 및 Y 간의 매핑을 학습합니다.
이 방법은 주기 일관성 손실, $|| x-(G_{YX} (G_{XY}(x))) ||_1$ 및 $|| y-(G_{XY}(G_{YX}(y))) ||_1$ 을 통해 매핑을 정규화한다.
이 방법에는 두 개의 서로 다른 도메인의 각 쌍에 대해 두 개의 생성기와 판별자가 필요합니다.
IcGAN은 인코더와 cGAN [22] 모델을 결합합니다.
cGAN은 잠재 벡터 z와 조건부 벡터 c 모두에 조건이 지정된 이미지 x를 생성하는 매핑 G : {z, c} → x를 학습합니다.
또한 IcGAN은 cGAN, Ez : x → z 및 Ec : x → c의 역 매핑을 학습하는 인코더를 도입했습니다.
이를 통해 IcGAN은 조건부 벡터 만 변경하고 잠재 벡터를 보존하여 이미지를 합성 할 수 있습니다.
5.2. Datasets CelebA.
▪ CelebA
CelebFaces Attributes (CelebA) 데이터 세트 [19]에는 유명인의 얼굴 이미지 202,599 개가 포함되어 있으며 각 이미지에는 40 개의 이진 속성이 주석 처리되어 있습니다.
초기 178x218 크기 이미지를 178x178로 자른 다음 128x128로 크기를 조정합니다.
테스트 세트로 2,000 개의 이미지를 무작위로 선택하고, 나머지 이미지를 모두 학습 데이터에 사용합니다.
머리 색깔 (검은 색, 금발, 갈색), 성별 (남성 / 여성) 및 나이 (젊음 / 노인) 속성을 사용하여 7 개의 도메인을 구성합니다.
▪ RaFD
Database (RaFD) [13]는 67 명의 참가자로부터 수집 한 4,824 개의 이미지로 구성되어 있습니다.
각 참가자는 세 가지 다른 시선 방향으로 8 개의 얼굴 표정을 만들어 세 가지 다른 각도에서 캡처합니다.
얼굴이 중앙에있는 256 × 256으로 이미지를 자른 다음 128 × 128로 크기를 조정합니다.
5.3. Training
모든 모델은 β1 = 0.5 및 β2 = 0.999 인 Adam [11]을 사용하여 훈련됩니다.
데이터 증가를 위해 0.5 확률로 이미지를 수평으로 뒤집습니다.
[4]에서와 같이, 5번의 판별기 업데이트 후에 생성기 업데이트를 한 번 수행합니다.
모든 실험에서 배치 크기는 16으로 설정됩니다.
CelebA에 대한 실험의 경우 처음 10 개의 Epoch 동안 학습률이 0.0001 인 모든 모델을 훈련하고 다음 10 개의 Epoch 동안 학습률을 0으로 선형적으로 감소시킵니다.
데이터 부족을 보완하기 위해, RaFD로 학습 할 때 학습률 0.0001로 모든 모델을 100 Epoch에 대해 훈련시키고 다음 100 Epoch에 대해 동일한 감쇠 전략을 적용합니다.
단일 NVIDIA Tesla M40 GPU에서 훈련하는 데 약 하루가 걸립니다.
5.4. Experimental Results on CelebA
먼저 제안된 방법을 단일 및 다중 속성 전송 작업(a single and multi-attribute transfer tasks)에 대한 기준 모델과 비교합니다.
가능한 모든 속성 값 쌍을 고려하여 DIAT 및 CycleGAN과 같은 교차 도메인 모델을 여러 번 훈련합니다. DIAT 및 CycleGAN의 경우 다단계 번역을 수행하여 여러 속성을 합성합니다 (예 : 머리 색깔 변경 후 성별 속성 전송).-
▪ Qualitative evaluation.

그림 4는 CelebA의 얼굴 속성 전달 결과를 보여줍니다.
우리의 방법은 교차 도메인 모델에 비해 테스트 데이터에서 번역 결과의 시각적 품질이 더 높다는 것을 관찰했습니다.
한 가지 가능한 이유는 다중 작업 학습 프레임 워크를 통한 StarGAN의 정규화 효과입니다.
즉, 과적합이 발생하기 쉬운 고정 번역 (예 : 갈색 금발 머리)을 수행하도록 모델을 교육하는 대신 대상 도메인의 레이블에 따라 이미지를 유연하게 번역하도록 모델을 교육합니다.
이를 통해, 모델은 얼굴 속성 값이 서로 다른 여러 이미지 도메인에 보편적으로 적용할 수있는 신뢰할 수 있는 특징을 학습 할 수 있습니다.
또한 IcGAN과 비교하여 우리 모델은 입력의 얼굴 정체성 특징을 보존하는 이점을 보여줍니다.
우리의 방법은 IcGAN 에서 처럼 낮은 차원의 잠재 벡터가 아닌 잠재 표현으로 convolutional layer의 활성화 맵을 사용하여 공간 정보를 유지하기 때문이라고 추측합니다.


▪ Quantitative evaluation protocol. 양적 평가 프로토콜
정량적 평가를 위해 Amazon Mechanical Turk (AMT)를 사용하여 설문 조사 형식으로 두 가지 사용자 연구를 수행하여 단일 및 다중 속성 전송 작업(single and multiple attribute transfer tasks)을 평가했습니다.
입력 이미지가 주어지면, Turkers는 지각적 사실성(perceptual realism), 속성 전달 품질(quality of transfer in attribute(s)) 및 인물의 원래 정체성 보존을 기반으로 가장 잘 생성 된 이미지를 선택하도록 지시 받았습니다.
옵션은 4가지 다른 방법으로 생성 된 무작위로 섞인 4개의 이미지였습니다.
한 연구에서 생성 된 이미지는 머리 색깔 (검은 색, 금발, 갈색), 성별 또는 연령에서 단일 속성 전이(a single attribute transfer)를 갖습니다.
다른 연구에서, 생성 된 이미지는 속성 전송의 조합(combination of attribute transfers)을 포함합니다.
각 Turker는 인간의 노력을 검증하기위한 몇 가지 간단하지만 논리적 질문과 함께 30-40 개의 질문을 받았습니다.
각 사용자 연구에서 검증된 Turker의 수는 단일 및 다중 전송 작업에서 각각 146 개와 100 개입니다.

▪ Quantitative results 정량적 평가 프로토콜
표 1과 2는 각각 단일 및 다중 속성 전송 작업에 대한 AMT 실험의 결과를 보여줍니다.
StarGAN은 모든 경우에 가장 좋은 속성을 전달하기 위해 다수의 표를 얻었습니다.
표 1의 성별 변경의 경우, 우리 모델과 다른 모델 간의 투표 차이는 미미했습니다.
예를 들어 StarGAN의 경우 39.1 %, DIAT의 경우 31.4 %였습니다.


그러나 표 2의 'G + A'사례와 같은 다중 속성 변경에서는 성능 차이가 현저하게 나타납니다 (예 : StarGAN의 경우 49.8 %, IcGAN의 경우 20.3 %).보다 복잡한 경우 StarGAN의 장점을 명확하게 보여줍니다. , 다중 속성 전송 작업.
다른 방법과 달리 StarGAN은 학습 단계에서 대상 도메인 레이블을 무작위로 생성하여 여러 속성 변경과 관련된 이미지 변환을 처리 할 수 있기 때문입니다.
5.5. Experimental Results on RaFD. RaFD의 실험결과
다음으로, 얼굴 표정을 합성하는 작업을 배우기 위해 RaFD 데이터 세트에서 모델을 훈련시킵니다.
StarGAN과 기준 모델을 비교하기 위해 입력 도메인을 '무표정'으로 고정하지만 대상 도메인은 나머지 7 개 표현식에서 다릅니다.
▪ Qualitative evaluation. 정량적 평가
그림 5에서 볼 수 있듯이 StarGAN은 입력의 개인 정체성과 얼굴 특징을 적절하게 유지하면서 가장 자연스러운 표정을 명확하게 생성합니다.
DIAT 및 CycleGAN은 대부분 입력의 ID를 유지하지만 대부분의 결과는 흐릿하게 표시되며 입력에서 볼 수있는 선명도를 유지하지 않습니다.
IcGAN은 남성 이미지를 생성하여 이미지에서 개인의 정체성을 유지하지 못합니다.
이미지 품질에서 StarGAN의 우월성은 멀티 태스킹 학습 설정의 암시적 데이터 증가(implicit data augmentation) 효과 때문이라고 생각합니다.
RaFD 이미지에는 상대적으로 작은 크기의 샘플 (예 : 도메인 당 500 개 이미지)이 포함됩니다.
두 도메인에서 훈련할 때 DIAT 및 CycleGAN은 한 번에 1,000 개의 훈련 이미지만 사용할 수 있지만 StarGAN은 훈련에 사용 가능한 모든 도메인에서 총 4,000 개의 이미지를 사용할 수 있습니다.
▪ Quantitative evaluation protocol. 정량적 평가.
이를 통해 StarGAN은 생성된 출력의 품질과 선명도를 유지하는 방법을 올바르게 학습 할 수 있습니다.
정량적 평가를 위해 합성된 이미지에서 표정의 분류 오류를 계산합니다.
ResNet-18 아키텍처 [5]를 사용하여 RaFD 데이터 세트 (훈련 및 테스트 세트에 대해 90 % / 10 % 분할)에서 표정 분류기를 훈련하여 99.55 %의 거의 완벽한 정확도를 얻었습니다.
그런 다음, 동일한 학습 세트를 사용하여 각 이미지 변환 모델을 학습하고 동일한 보이지 않는 테스트 세트에서 이미지 변환을 수행했습니다.
마지막으로, 위에서 언급한 분류기를 사용하여 이러한 번역 된 이미지의 표현을 분류했습니다.

표 3에서 볼 수 있듯이, 우리 모델은 가장 낮은 분류 오류를 달성하여 우리 모델이 비교 된 모든 방법 중에서 가장 현실적인 표정을 생성 함을 나타냅니다.
우리 모델의 또 다른 중요한 장점은 필요한 매개 변수 수의 확장성(scalability)입니다.
표 3의 마지막 열은 StarGAN의 모든 번역을 학습하는 데 필요한 매개 변수 수가 DIAT보다 7 배, CycleGAN보다 14 배 적다는 것을 보여줍니다.
StarGAN은 도메인 수에 관계없이 한 쌍의 단일 생성기와 판별자만 필요하지만 CycleGAN과 같은 교차 도메인 모델(cross-domain model)의 경우 각 소스-타겟(source-target)도메인 쌍에 대해 완전히 다른 모델을 학습해야하기 때문입니다.
5.6. Experimental Results on CelebA+RaFD (CelebA+RaFD에 대한 실험결과)
마지막으로, 우리 모델은 단일 데이터 세트 내의 여러 도메인뿐만 아니라 여러 데이터 세트에서도 학습 할 수 있음을 경험적으로 보여줍니다.
마스크 벡터를 사용하여 CelebA 및 RaFD 데이터 세트에서 모델을 공동으로 훈련합니다 (섹션 3.2 참조).
RaFD에서만 훈련 된 모델과 CelebA 및 RaFD에서 훈련 된 모델을 구분하기 위해 전자는 StarGAN-SNG (단일), 후자는 StarGAN-JNT (공동)로 표시합니다.
▪ Effects of joint training. 합동 훈련의 효과.

그림 6은 StarGAN-SNG와 StarGAN-JNT의 질적 비교를 보여줍니다. 여기서 작업은 CelebA에서 이미지의 얼굴 표정을 합성하는 것입니다.
StarGAN-JNT는 높은 화질로 감성 표현을, StarGAN-SNG는 회색 배경으로 합리적이지만 흐릿한 이미지를 생성합니다.
이 차이는 StarGAN-JNT가 훈련 중에 CelebA 이미지를 번역하는 방법을 학습하지만, StarGAN-SNG가 아니라는 사실 때문입니다.
즉, StarGAN-JNT는 두 데이터 세트를 모두 활용하여 안면 키포인트 감지 및 세분화(facial keypoint detection and segmentation)와 같은 공유된 low-level의 작업을 개선 할 수 있습니다.
CelebA와 RaFD를 모두 활용함으로써, StarGAN-JNT는 이러한 저수준 작업(low-level tasks)을 개선 할 수 있으며, 이는 표정 합성 학습에 도움이됩니다. 마스크 벡터의 역할을 배웠습니다.
이 실험에서는 특정 표정 (두 번째 데이터 세트 인 RaFD에서 사용 가능)의 차원을 1로 설정하여 원-핫 벡터 c를 제공했습니다.

이 경우, 두 번째 데이터셋과 관련된 레이블이 명시적으로 지정되었으므로 적절한 마스크 벡터는 [0, 1]이 됩니다. 그림 7은이 적절한 마스크 벡터가 주어진 경우와 [1, 0]의 잘못된 마스크 벡터가 주어진 반대의 경우를 보여줍니다.
잘못된 마스크 벡터를 사용하면, StarGAN-JNT는 얼굴 표정 합성에 실패하고, 입력 이미지의 나이를 조작합니다.
이는 모델이 표정 레이블을 알 수 없음으로 무시하고, 마스크 벡터에 의해 얼굴 속성 레이블을 유효한 것으로 취급하기 때문입니다.
얼굴 속성 중 하나가 'young'이기 때문에 모델은 0 벡터를 입력으로받을 때 이미지를 젊음에서 늙음으로 변환합니다.
이 동작을 통해, StarGAN은 여러 데이터셋의 모든 레이블을 모두 포함 할 때, 이미지 대 이미지 변환(image-to-image translation)에서 마스크 벡터의 의도된 역할을 올바르게 학습했음을 확인할 수 있습니다.
6. Conclusion
본 논문에서는 단일 생성기와 판별기를 사용하여 여러 도메인간에 확장 가능한 이미지-이미지 변환 모델 인 StarGAN을 제안했습니다.
확장성의 이점 외에도, StarGAN은 멀티 태스킹 학습 설정의 일반화 기능으로 인해 기존 방법 [16, 23, 33]에 비해 더 높은 시각적 품질의 이미지를 생성했습니다.
또한, 제안된 단순 마스크 벡터를 사용하면 StarGAN이 서로 다른 도메인 레이블 세트가있는 여러 데이터 세트를 활용하여 사용 가능한 모든 레이블을 처리 할 수 있습니다.
사용자가 여러 도메인에서 흥미로운 이미지 번역 응용 프로그램을 개발