ML/머신러닝

StarGAN: Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation 논문 번역

KAU 2020. 5. 6. 10:41

Figure 1. Multi-domain image-to-image translation results on the CelebA dataset via transferring knowledge learned from the RaFD dataset. The first and sixth columns show input images while the remaining columns are images generated by StarGAN. Note that the images are generated by a single generator network, and facial expression labels such as angry, happy, and fearful are from RaFD, not CelebA.

Abstract

최근 연구는 두 개의 도메인에 대한 이미지-이미지 변환에서 현저한 성공을 보였습니다.

기존 모델은 scalability and robustness (확장성 및 견고성)이 제한적이며,

서로 다른 모델이 모든 이미지 도메인 쌍에 대해 독립적으로 구축되어야하기 때문이다.

StarGAN은 단일 모델 만 사용하여 여러 도메인에 대해 이미지 간 변환을 수행 할 수있는 새롭고 확장 가능하다.

단일 모델 아키텍처는 단일 네트워크 내에서 서로 다른 도메인으로 여러 데이터 세트를 동시에 학습 할 수 있습니다.

This leads to StarGAN’s superior qualityoftranslatedimagescomparedtoexistingmodelsas well as the novel capability of flexibly translating an input imagetoanydesiredtargetdomain

우리의 친밀도계 이동과 얼굴표정합성의 효과에 대한 경험적 연구한다.

 

1. Introduction

이미지를 이미지로 변환하는 작업은 특정 인물의 이미지를 다른 것으로 변경하는 것입니다.

(예 : 사람의 얼굴 표정을 웃고 찌푸림에서 다른 것으로 변경) (그림 1 참조).

이 작업은 헤어 컬러 변경 [9], 엣지 맵에서 사진 재구성 [7] 및 풍경 이미지의 계절 변경 [33]에 이르는 결과로 생식 적대적 네트워크 (GAN)가 도입 된 후 크게 개선되었습니다.

서로 다른 두 도메인의 교육 데이터가 제공되면이 모델은 한 도메인에서 다른 도메인으로 이미지를 변환하는 방법을 배웁니다.

용어 속성은 머리 색, 성별 또는 연령과 같은 이미지에 내재 된 의미있는 기능으로 표시되며 속성 값 (예 : 검정 / 금발 / 갈색 머리 / 머리 색 / 남성 / 여성용)과 같은 특정 값으로 표시됩니다. 또한 도메인을 동일한 속성 값을 공유하는 이미지 세트로 표시합니다. 예를 들어, 여성의 이미지는 하나의 도메인을 나타내는 다른 도메인을 나타냅니다.

여러 이미지 데이터 세트에는 여러 개의 레이블이 지정된 속성이 있습니다.

예를 들어, CelebA [19] 데이터 세트에는 머리카락 색, 성별 및 연령과 같은 얼굴 속성과 관련된 40 개의 레이블이 포함되며 RaFD [13] 데이터 세트에는 'happy', 'angry'및 ' 슬퍼'. 이러한 설정을 통해 여러 도메인의 속성에 따라 이미지를 변경하는보다 흥미로운 작업, 즉 다중 도메인 이미지 간 이미지 변환을 수행 할 수 있습니다.

그림 1의 다섯 번째 열은 CelebA 이미지가‘금발 머리’,‘성별’,‘노인’,‘창백한 피부’등 네 가지 도메인 중 하나에 따라 어떻게 변환 될 수 있는지 보여줍니다. CelebA와 RaFD 이미지를 공동으로 훈련하는 등 서로 다른 데이터 세트에서 여러 도메인을 훈련시킬 수 있으며 그림 1의 가장 오른쪽 열에서와 같이 RaFD에 대한 교육을 통해 학습 한 기능을 사용하여 CelebA 이미지의 표정을 변경할 수 있습니다.

 

Figure 2. Comparison between cross-domain models and our proposed model, StarGAN. (a) To handle multiple domains, crossdomain models should be built for every pair of image domains. (b) StarGAN is capable of learning mappings among multiple domains using a single generator. The figure represents a star topology connecting multi-domains.

그러나 기존 모델은 이러한 다중 도메인 이미지 변환 작업에서 비효율적입니다.

이들의 비 효율성은 k 도메인 간의 모든 매핑을 배우기 위해서는 k (k-1) 생성기가 훈련되어야한다는 사실에서 비롯된다.

그림 2 (a)는 4 개의 서로 다른 도메인간에 이미지를 변환하기 위해 12 개의 개별 생성기 네트워크를 어떻게 훈련해야하는지 보여줍니다.

한편, 얼굴 모양과 같은 모든 영역의 이미지에서 학습 할 수있는 글로벌 기능이 존재하더라도 각 생성기는 전체 교육 데이터를 완전히 활용할 수 없으며 k 중 두 영역에서만 학습 할 수 있습니다.

교육 데이터를 완전히 활용하지 않으면 생성 된 이미지의 품질이 제한 될 수 있습니다. 또한 각 데이터 세트에 부분적으로 레이블이 지정되어 있기 때문에 서로 다른 데이터 세트에서 도메인을 공동으로 학습 할 수 없습니다. (섹션 3.2에서 자세히 설명).

다중 도메인 간의 매핑을 학습 할 수있는 참신하고 확장 가능한 접근법 인 StarGAN을 제안합니다.

그림 2 (b)에서 알 수 있듯이, 우리의 모델은 여러 도메인의 데이터를 학습하고 단일 생성기 만 사용하여 사용 가능한 모든 도메인 간의 매핑을 학습합니다

Instead of learning a fixed translation (e.g., black-toblond hair), our generator takes in as inputs both image and domain information, and learns to flexibly translate the image into the corresponding domain

We use a label (e.g., binary or one-hot vector) to represent domain information

교육 과정에서 대상 도메인 레이블을 임의로 생성하고 모델을 학습하여 입력 이미지를 대상 도메인으로 유연하게 변환합니다.

이를 통해 도메인 레이블을 제어하고 테스트 단계에서 이미지를 원하는 도메인으로 변환 할 수 있습니다.

또한 도메인 레이블에 마스크 벡터를 추가하여 서로 다른 데이터 집합간에 도메인을 교육 할 수있는 간단하지만 효과적인 접근 방법을 소개합니다.

모델이 알 수없는 레이블을 무시하고 특정 데이터 세트에서 제공하는 레이블에 초점을 맞출 수 있도록합니다.

 

이런 식으로, 우리 모델은 그림 1의 가장 오른쪽 열에 표시된 것처럼 RaFD에서 배운 기능을 사용하여 

CelebA 이미지의 얼굴 표정 합성과 같은 작업에서 잘 수행 할 수 있습니다.

우리의 작업은 다른 데이터 세트에 걸쳐 다중 도메인 이미지 변환을 성공적으로 수행하는 것입니다.

Our work is the first to successfully perform multi-domain image translation across different datasets. 

 

 

stargan network는 single generator 와 discriminator를 사용하여 여러 도메인 간의 매핑을 학습하여

모든 도메인의 이미지를 효과적으로 학습합니다.

We demonstrate how we can successfully learn multidomain image translation between multiple datasets

by utilizing a mask vector method that enables StarGAN to control all available domain labels.

StarGAN을 사용하여 얼굴 속성 전송 및 얼굴 표정 합성 작업에 대한 정 성적 및 정량적 결과를 제공하여

기존 모델보다 우수성을 보여줍니다.

 

2. Related Work

Generative Adversarial Networks

A typical GAN model consists of two modules: a discriminator and a generator. The discriminator learns to distinguish between real and fake samples, while the generator learns to generate fake samples that are indistinguishable from real samples. Our approach also leverages the adversarial loss to make the generated images as realistic as possible.

 

Conditional GANs. 

Prior studies have provided both the discriminator and generator with class information in order to generate samples conditioned on the class

 

Image-to-Image Translation.

Image-to-Image Translation. Recent work have achieved impressive results in image-to-image translation [7, 9, 17, 33]. For instance, pix2pix [7] learns this task in a supervised manner using cGANs[20]. It combines an adversarial loss with a L1 loss, thus requires paired data samples. To alleviate the problem of obtaining data pairs, unpaired image-to-image translation frameworks [9, 17, 33] have been proposed. UNIT [17] combines variational autoencoders (VAEs) [12] with CoGAN [18], a GAN framework where two generators share weights to learn the joint distribution of images in cross domains. CycleGAN [33] and DiscoGAN [9] preserve key attributes between the inputandthetranslatedimagebyutilizingacycleconsistency loss. However, all these frameworks are only capable of learning the relations between two different domains at a time. Their approaches have limited scalability in handling multiple domains since different models should be trained for each pair of domains. Unlike the aforementioned approaches,ourframeworkcanlearntherelationsamongmultiple domains using only a single model.

 

그러나 이러한 모든 프레임워크는 한 번에 서로 다른 두 영역 사이의 관계를 학습할 수 있을 뿐이다. 각 도메인 쌍에 대해 서로 다른 모델을 교육해야 하기 때문에 이들의 접근방식은 다중 도메인을 처리하는 데 있어 확장성이 제한적이다. 전술한 접근 방식과는 달리, 우리의 프레임워크는 단일 모델만을 사용하여 여러 도메인을 학습할 수 있다.

 

3. Star Generative Adversarial Networks

Figure 3. Overview of StarGAN, consisting of two modules, a discriminator D and a generator G. (a) D learns to distinguish between real and fake images and classify the real images to its corresponding domain. (b) G takes in as input both the image and target domain label and generates an fake image. The target domain label is spatially replicated and concatenated with the input image. (c) G tries to reconstruct the original image from the fake image given the original domain label. (d) G tries to generate images indistinguishable from real images and classifiable as target domain by D.

 의 그림을 보면 여느 GAN모델과 같이 2개의 모듈로 구성되어 있다. discriminator인 D 와 generator인 G로 구성된다.

a) D는 real image 와 fake image를 구별하는 것과 동시에 real image일때 그것과 상응하는 domain을 분류해내는 것을 학습한다.

b) G는 input으로 image와 동시에 target domain label을 받고 fake image를 생성한다.

c) G는 original doamin label을 가지고 fake image를 다시 original image로 reconstruction하려고 한다.

d) G는 real image와 구분불가능하고 D에의해 target domain이 분류가능한 이미지를 생성하려 한다. (즉 real image처럼 보이려고 노력하는 것이다.)

3.1. Multi-Domain Image-to-Image Translation

우리의 목표는 여러 도메인 간의 매핑을 학습하는 단일 생성기 G를 훈련시키는 것입니다.

이를 위해 입력 도메인 x를 대상 도메인 레이블 c, G (x, c) → y에 따라 출력 이미지 y로 변환하도록 G를 훈련시킵니다.

G가 학습 할 수 있도록 대상 도메인 레이블 c를 무작위로 생성합니다.
입력 이미지를 유연하게 번역합니다. 우리는 또한 단일 분류 기가 할 수있는 보조 분류기 [22]를 소개합니다.
여러 도메인을 제어합니다. 즉, 우리의 판별 기는 소스와 도메인 레이블 D : x → {Dsrc (x), Dcls (x)}에 대한 확률 분포를 생성합니다. 그림 3은 제안 된 접근법의 훈련 과정을 보여줍니다.

 

Adversarial Loss

생성 된 이미지를 실제 이미지와 구별 할 수 없도록하기 위해 Adversarial Loss을 채택합니다 여기서 G는 둘 다 조건이 지정된 이미지 G (x, c)를 생성합니다 입력 이미지 x 및 대상 도메인 레이블 c,

D 실제 이미지와 가짜 이미지를 구별하려고 시도합니다.

 

src(source)로 real data에서 온것이냐 아니면 생선된 fake data에서 온것이냐를 말한다.

D는 real로 판별이 된다면 1에 가깝게 출력을 낼 것이고, fake로 판별이 된다면 0에 가깝게 출력을 낼 것이다.

(D는 확률값을 가지기 때문이다.) 

이 논문에서는 Dsrc (x)라는 용어를 D가 제공 한 소스에 대한 확률 분포라고합니다.

The generator G tries to minimize this objective, while the discriminator D tries to maximize it.

 

 

Domain Classification Loss

That is, we decompose the objective into two terms: a domain classification loss of
real images used to optimize D, and a domain classification
loss of fake images used to optimize G

 Dcls(c'|x)는 real image x가 주어졌을때 D 가 계산해낸 domain label c'일 확률분포이다. 위의 식은 adversarial loss와 같으니 설명은 생략한다. 결국엔 이 Loss를 최소화함으로써, D는 real image x 를 그것에 대응되는 original domain c'으로 분류시키는것을 배운다.

2) domain classification loss of fake image used to optimize G

다시 말해서, G는 target domain c로 분류되어질 수 있는 이미지를 생성하도록 이 Loss를 최소화 하려고 하게된다.

 

Reconstruction Loss

 

 여기서 한 가지 Loss를 더 추가하게된다. 왜냐하면 위에서 소개한 Loss 들 만으로는 input image의  target domain에 관련된 부분만을 변화시킬때 input image의 본래 형태를 잘 보존 할 수 없기 때문이다. 그래서 Generator에 한 가지  loss를 더 적용하게 된다.

 

 G는 변환된 image G(x,c)와 original doamin label c'을 input으로 받고 original image x 를 복원하려 하게되는 것이다. L1 norm으로 계산을 하게된다.

 

Full Objective

 

이렇게 해서 최종적으로  G와 D에대한 objective fucntion 이 나오게 된다.

λcls와 λrec는 hyperparameter로, domain 분류와 reconstruction loss들 의 상대적인 중요도를 컨트롤한다.

 

Training with Multiplel Datasets

 

 StarGAN의 중요한 이점은, 다른 domain을 가진 datasets들을 동시에 포함하는 것 이다. 그러나 다수의 dataset들을 학습시킬때의 문제는 label 정보가 각 dataset에 부분적으로만 있다는 것이다.

 예를들어 Celeb A와 RaFD의 경우에, Celeb A는 hair color 와  gender에대한 attribute만을 가지고  facial expression 을 나타내는 happy 와 angry같은 attribute는 가지지 않는다는 것이다. 역으로 RaFD도 마찬가지다. 이것이 왜 문제가 되나면 , 변환된 image G(x,c)르보터 input image x를 reconstruction하려면 label vector c'에 완전한 정보가 있어야하기 때문이다.

 

Mask Vector

 

 이러한 문제를 해결하기 위해서 mask vector m을 소개한다. 이것은 StarGAN이 명시되지 않은 label에 대해서는 무시하게하고 명시된 label에대해서는 집중하게 해준다. 여기서 n차원의 one-hot vector를 사용한다. (n은 dataset의 수 이다)

 ci는 i번째의 dataset의 label들의 vector를 나타낸다. 또한 ci는 binary attribute를 가진 binary vector 또는 categorical attribute를 가진 one-hot vector이다.

 여기서 dataset은 Celeb A와 RaFD이므로 n은 2가 된다.

 

 즉, mask vector 에 어떤 dataset 인지를 명시해 줌으로써 , 해당 dataset의 attribute에 관련된 label에 집중을 한다는 것 이다. 예를들면 CelebA를 학습시키려고 명시해 주었다면 RaFD에 관련된 facial expression 들은 무시하고 학습한다는 것이다.

 

 CelebA와 RaFD를 교차시킴으로써 Discriminator는 두 dataset에서 차이를 구분짓는 모든 feature들을 학습하게 되고, Generator는 모든 label을 컨트롤하는것을 학습하게 된다.

 

Figure 8. Overview of StarGAN when training with both CelebA and RaFD. (a) ∼ (d) shows the training process using CelebA, and (e) ∼ (h) shows the training process using RaFD. (a), (e) The discriminator D learns to distinguish between real and fake images and minimize the classification error only for the known label. (b), (c), (f), (g) When the mask vector (purple) is [1, 0], the generator G learns to focus on the CelebA label (yellow) and ignore the RaFD label (green) to perform image-to-image translation, and vice versa when the mask vector is [0, 1]. (d), (h) G tries to generate images that are both indistinguishable from real images and classifiable by D as belonging to the target domain.