논문번역

[논문 번역] StackGAN: 텍스트를 실사 합성 이미지로 변환 (2017)

인생진리 2023. 5. 1. 21:29

원문원본StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks)


윤효창 번역 실시 2023.01.17
※ 이 논문 번역은 직접 논문을 읽고, 기술에 대한 학습 후, 번역이 되었습니다. 최대한 어려운 기술용어 에 대해서는 개인적인 견해를 가미하여 자연스럽게 풀어내려고 했지만, 원문의 뉘앙스를 해치지 않는 범위 내에서 번역하려 했기 때문에 다른 번역본들과 상이한 부분이 존재할 수 있음을 미리 고지합니다. 또한 논문의 일부는 파파고 번역기 및 Oxford Dictionary의 도움을 받아 번역에 있어서 실수를 최소화 했습니다. 번역에 오타, 오역, 왜곡 혹은 저작권 상 문제 등을 발견하신 분은 yhc9308@naver.com 으로 연락을 주시면 확인 후 수정하겠습니다. 번역된 논문의 원본은 상단 링크에 첨부했습니다

 

논문 초록

텍스트 설명문을 고화질 이미지로 합성하는 것은 컴퓨터 비전에서 도전적인 과제임과 동시에 실제로 많은 분야에 적용할 수 있습니다. 기존의 text-to-image 접근법으로 생성된 샘플은 주어진 글의 의미를 대략적으로 반영할 수 있지만 중요한 디테일을 놓치거나, 선명하게 객체 부분 묘사를 하지 못합니다. 이 논문에서는 Stacked Generative Adversarial Networks (StackGAN)을 제안하여, 텍스트 설명문을 조건으로 256×256 사이즈의 실사 이미지를 생성합니다. 우리는 “스케치 개선 프로세스”를 통해 어려운 문제를 보다 관리하기 쉬운 하위 문제로 분해했습니다. Stage-I GAN은 주어진 텍스트 설명을 기반으로 객체의 원시 모양과 색상을 스케치하여 Stage-I 저해상도 이미지를 생성합니다. Stage-II GAN은 Stage-I의 결과와 텍스트의 설명을 입력으로 하고, 실사와 같은 디테일의 고해상도 이미지를 생성합니다. 이 단계에서 Stage-I 결과의 결함을 수정하고, 개선 프로세스를 통해 설득력 있는 세부 정보를 추가할 수 있도록 합니다. 또한, 합성된 이미지의 다양성을 향상시키고 conditional-GAN의 훈련을 안정화하기 위해, “latent conditioning 매니폴드”가 더 스무스함을 갖도록 새로운 “Conditioning Augmentation” 테크닉을 소개합니다. 벤치마크 데이터셋의 최신기술에 대한 광범위한 실험과 비교를 통해, 이 제안된 방법이 주어진 설명문을 기반으로 실사와 같은 이미지를 생성해내는데 있어서 엄청난 향상을 이뤄냈음을 확인했습니다.

 

1. 서론

 
텍스트로부터 실사같은 이미지를 생성해내는 것은 중요한 문제입니다. 또한 사진 편집, 컴퓨터 디자인 업무 등을 포함하여 적용 범위가 다양하죠. 최근 Generative Adversarial Networks (GAN)[8, 5, 23]이 실제 이미지 합성에 좋은 (유망한) 결과들을 보여주었습니다. 그리고 텍스트 설명이 조건부로 주어진 conditional-GAN[26, 24]들은 텍스트의 내용과 꽤나 관련있는 이미지를 생성해낼 수 있었습니다.
하지만, 고해상도 실사같은 이미지를 텍스트 설명문으로부터 생성해내는 것은 매우 어려운 일이었죠. 고해상도 이미지를 얻겠다고 단순히 더 많은 upsampling 층을 최신 GAN 모델들에 추가하는 것은 훈련에 있어서 불안정성을 초래했고, 무의미한 결과물만을 생성해냈습니다 (Figure 1(c) 참조). GAN 모델을 이용해서 고해상도 이미지를 생성하는데 가장 큰 난관은 자연 이미지와 암시 모델의 분포의 토대가 고차원 픽셀 공간에서 겹치지 않을 수 있다는 것입니다[31, 1]. 이 문제는 이미지 해상도가 올라갈 수록 더 심각합니다. Reed et al. 은 그저 텍스트 설명문을 조건으로 그럴싸한 64x64 이미지를 생성하는 것만 성공했습니다[26]. 그것마저도, 예를 들어, 그냥 새의 부리와 눈만 있는 것처럼 세부적인 묘사와 이미지의 선명함은 빠져있는게 흔했습니다. 게다가, 객체에 대한 주석을 추가하지 않고서는 고해상도 이미지 합성(예: 128x128)[24]은 불가능합니다.

Figure 1. 256x256 이미지 생성을 위한 (논문에서 제안하는) StackGAN과 vanilla one-stage GAN 비교. (a) 텍스트 설명문이 주어졌을때, StackGAN의 Stage-I에서 대략적인 형태와 객체의 기본 색상을 스케치하고, 저해상도 이미지를 생성해낸다. (b) StackGAN의 Stage-II는 Stage-I의 결과와 텍스트 설명문을 입력으로 받아서 실사같은 디테일을 추가한 고해상도 이미지를 생성한다. (c) vanailla 256x256 GAN(최신 GAN-INT-CLS[ 26 ]에 더 많은 upsampling 층을 단순 추가한 모델)의 결과물. 256x256 해상도의 그럴듯한 이미지를 만들어내지 못하고 있다.

 
사람이 그림을 그리듯이 우리는 Stacked Generative Adversarial Networks (StackGAN)을 통해서 이 “text to photo-realistic image synthesis(텍스트에서 실사같은 이미지 합성)”문제를 2개 이상의 다루기 쉬운 하위 문제들로 분해했습니다. 저해상도 이미지를 Stage-I GAN에서 먼저 생성합니다 (Figure 1(a) 참조). Stage-I GAN 위에 Stage-II GAN을 쌓고 Stage-I 결과와 텍스트 설명문을 조건으로 실제와 같은 고해상도 이미지(예: 256x256)를 생성합니다 (Figure 1(b) 참조). Stage-I의 결과와 텍스트를 다시 조건으로 받아서 Stage-II GAN은 Stage-I에서 빠뜨린 텍스트 정보를 잡아도록 학습하고 객체체를 더 상세하게 그려냅니다. 대략적으로 정렬된 저해상도 이미지로부터 생성된 모델 분포의 토대(the support of model distribution)는 이미지 분포의 토대(the support of image distribution)와 교차할 수 있는 더 높은 확률을 갖고 있습니다. 이것이 Stage-II GAN이 더 나은 고해상도 이미지를 생성할 수 있는 근본적인 이유입니다.
또한, text-to-image 생성 작업의 경우, 제한된 수의 text-to-image 쌍을 훈련시키는 것은 종종 텍스트 조절 매니폴드에 희소성을 초래하며 이러한 희소성은 GAN을 훈련시키는 것을 어렵게 만듭니다. 따라서, 우리는 잠재 컨디셔닝 매니폴드의 부드러움을 장려하기 위해 새로운 컨디셔닝 증강(Conditioning Augmentation) 기술을 제안합니다. 이 기술은 조건부 매니폴드에서 작은 임의 섭동(random perturbations, 랜덤한 노이즈)를 허용하고 합성 이미지의 다양성을 증가시킵니다.
제안된 방법이 기여하는 부분은 세 단계로 나뉘어집니다. (1) 텍스트 설명에서 사실적인 사진 이미지를 합성하기 위한 새로운 스택 생성 적대 네트워크(Stacked Generative Adversarial Networks)를 제안합니다. 이것은 고해상도 이미지 생성의 어려운 문제를 보다 관리하기 쉬운 하위 문제로 분해하여 최첨단 기술을 대폭 개선합니다. StackGAN은 먼저 256×256 해상도의 이미지를 텍스트 설명에서 사실적인 디테일로 생성합니다. (2) 조건부 GAN 훈련을 안정화하고 생성된 샘플의 다양성을 개선하기 위해 새로운 Conditioning Augmentation 기법을 제안합니다. (3) 광범위한 정성적, 정량적 실험은 개별 구성요소의 효과뿐만 아니라 전체 모델 설계의 효과도 입증합니다. 이 개별 구성요소는 앞으로의 조건부 GAN 모델 설계에 유용한 정보를 제공하게 됩니다. https://github.com/hanzhanggit/StackGAN 에서 우리 코드를 확인할 수 있습니다.

2. 관련 연구

 
이미지 생성 모델링은 컴퓨터 비전의 근본적인 문제입니다. 딥러닝 기술의 등장으로 이 방면에서 괄목할 만한 진전이 있었습니다. VAE(Variational Autoencoders)[13, 28]는 데이터 우도 하한을 최대화하는 것이 목표인 확률론적 그래픽 모델의 문제를 공식화했습니다. 픽셀 공간의 조건부 분포를 모델링하기 위해 신경망을 이용한 자기 회귀 모델(예: PixelRNN)[33]도 매력적인 합성 이미지를 생성했습니다. 최근 GAN(Generative Adversarial Networks)[8]은 더 선명한 이미지를 생성할 수 있는 유망한 성능을 보였습니다. 그러나 GAN 모델은 훈련 불안정성으로 인해 고해상도(예: 256×256) 이미지를 생성하기가 어렵습니다. 교육 과정을 안정화하고 설득력 있는 결과를 도출하기 위해 몇 가지 기술[23, 29, 18, 1, 3]이 제안되었습니다. 보다 안정적인 훈련을 위해 에너지 기반 (energy-based) GAN[38]도 제안되었습니다.
하지만 이러한 생성 모델을 기반으로 조건부 이미지 생성도 연구되었습니다. 대부분의 방법에서는 속성 또는 클래스 레이블과 같은 단순한 조건부 변수를 사용했습니다[37, 34, 4, 22]. 이러한 생성 모델을 기반으로 조건부 이미지 생성도 연구되었습니다. 대부분의 방법에서는 속성 또는 클래스 레이블과 같은 단순한 조건화 변수를 사용했습니다. 또한 사진 편집[2, 39], 도메인 전송[32, 12] 및 초해상도[31, 15]를 포함하여 이미지를 생성하기 위해 이미지를 조절하는 작업도 있습니다. 그러나 초해상도 방법[31, 15]은 저해상도 이미지에 제한된 세부 정보만 추가할 수 있으며 우리가 제안하는 StackGAN처럼 큰 결함을 수정할 수 없습니다. 최근에는 비정형 텍스트에서 이미지를 생성하는 여러 방법이 개발되었습니다. Mansimov et al. [17]은 텍스트와 생성 캔버스 사이의 정렬을 추정하는 방법을 배워 AlignDRAW 모델을 구축했습니다. Reed et al. [27]은 조건부 PixelCNN을 사용하여 텍스트 설명 및 개체 위치 제약 조건을 사용하여 이미지를 생성합니다. Nguyen et al. [20]은 대략적인 Langevin 샘플링 방식을 사용하여 텍스트 조건부 이미지를 생성합니다. 그러나 표본 추출 방식에는 비효율적으로 최적화 프로세스를 반복하도록 합니다. 조건부 GAN을 통해 Reed et al. [26]은 텍스트 설명을 기반으로 새와 꽃에 대해 그럴싸한 64×64 이미지를 성공적으로 생성했습니다. 후속 작업[24]에서는 개체 부분의 위치에 대한 추가 주석을 활용하여 128×128개의 이미지를 생성할 수 있었습니다.
영상 생성을 위해 단일 GAN을 사용하는 것 외에도 영상 생성을 위해 여러개의 GAN을 연결해 사용한 작업도 있습니다[36, 5, 10]. Wang et al. [36]은 제안된 �2S2-GAN으로 실내 장면 생성 프로세스를 구조 생성 및 스타일 생성으로 인수분해했습니다. 이와는 대조적으로, StackGAN의 두 번째 단계는 텍스트 설명을 기반으로 객체 디테일을 완성하고 Stage-I 결과의 결점을 수정하는 것을 목표로 합니다. Denton et al. [5]은 Laplacian 피라미드 프레임워크 내에 일련의 여러 GAN을 구축했습니다. 피라미드의 각 레벨에서 이전 단계의 이미지에 따라 잔여 이미지가 생성된 후 입력 이미지에 다시 추가되어 다음 단계의 입력을 생성합니다. 또한 Huang et al. [10] 은 우리의 작업과 동시에 여러 GAN을 쌓아서 사전 훈련된 분별 모델의 다단계 표현을 재구성함으로써 더 나은 이미지를 생성할 수 있음을 보여주었습니다. 그러나 그들이 32×32 크기의 이미지 생성에만 성공한 반면, 우리의 방법은 보다 단순한 아키텍처를 사용하여 256×256 사이즈의 이미지를 사진처럼 사실적인 디테일과 64배 더 많은 픽셀로 생성합니다.

3. Stacked Generative Adversarial Networks

Figure 2. 제안된 StackGAN의 아키텍처. Stage-I 생성자는 지정된 텍스트에서 객체의 대략적인 모양과 기본 색상을 스케치하고 랜덤 노이즈 벡터에서 배경을 그려 저해상도 이미지를 그립니다. Stage-II 생성자는 Stage-I 결과에서 결함을 수정하고 Stage-I 결과에 설득력 있는 세부 정보를 추가하여 보다 사실적인 고해상도 이미지를 생성합니다.

 
사진처럼 사실적인 디테일로 고해상도 이미지를 생성하기 위해 단순하지만 효과적인 Stacked Generative Adversarial Networks를 제안합니다. 이것은 text-to-image 생성 프로세스를 두 단계로 분해합니다 (Figure 2 참조).

Stage-I GAN: 주어진 텍스트 설명에 따라 조정된 객체의 원시 모양과 기본 색상을 스케치하고 랜덤 노이즈 벡터로부터 배경 레이아웃을 그려 저해상도 이미지를 생성합니다.

Stage-II GAN: Stage-I에서 저해상도 이미지의 결함을 수정하고 텍스트 설명을 다시 읽어 객체의 디테일을 완성하여 고해상도의 실제같은 사진 이미지를 생성합니다.

3.1. 준비과정

GAN(Generative Adversarial Networks)[8]은 서로 경쟁하도록 번갈아 훈련된 두 개의 모델로 구성됩니다. 제너레이터 G는 식별자 D가 실제 이미지와 분별하기 어려운 이미지를 생성함으로써 실제 데이터 분포 pdata​를 재현하도록 최적화되어 있습니다. 한편, D는 G에 의해 생성된 실제 이미지와 합성 이미지를 구분하도록 최적화되어 있습니다. 전반적으로 모델 학습 과정은 아래와 같은 함수를 가진 min-max game(경찰과 도둑 게임: 서로 속고 속이는 게임)과 유사합니다.
 

여기서 x는 실제 데이터 분포 pdata​의 실제 이미지이고 z는 분포 pz​(예: 균일 또는 가우스 분포)에서 샘플링된 노이즈 벡터입니다.
조건부 GAN[7, 19]은 생성자와 판별자 모두, 추가 조건부 변수 c를 받아, G(z,c)와 D(x,c)를 생성하는 GAN의 확장판입니다. 이 공식을 통해 G는 조건부 변수 c에 적합한 이미지를 생성할 수 있습니다.

 

3.2. Conditioning Augmentation (조건부 증강)

Figure 2에서 볼 수 있듯이, 텍스트 설명 t는 먼저 인코더에 의해 인코딩되어 텍스트 임베딩 φt​를 생성합니다. 이전 연구[26, 24]에서 텍스트 임베딩은 비선형 변환되어 생성자의 입력으로 조건부 잠재 변수(conditioning latent variables)를 생성합니다. 그러나 텍스트 임베딩을 위한 잠재 공간은 일반적으로 고차원(100차원 이상)입니다. 제한된 양의 데이터를 사용하면 일반적으로 잠재 데이터 매니폴드에 불연속성을 유발하며, 이는 생성자 학습에 바람직하지 않습니다. 이 문제를 완화하기 위해, 우리는 추가적인 조건부 변수 c를 생성하는 조건부 증강(Conditioning Augmentation) 기술을 도입합니다. [26, 24]의 고정된 조건부 텍스트 변수 c와 대조적으로, 우리는 독립 가우스 분포 N(µ(φt​),Σ(φt​))에서 잠재 변수 c를 무작위로 추출합니다. 여기서 평균 µ(φt​) 및 대각 공분산 행렬 Σ(φt​)는 텍스트 임베딩φt​의 함수입니다. 제안된 조건부 증강(Conditioning Augmentation)은 적은 수의 이미지 텍스트 쌍이 주어지더라도 더 많은 훈련 쌍을 산출합니다. 그래서 이 조건부 증강은 조건부 매니폴드에 따라 작은 섭동(변화)으로부터 영향을 덜 받도록 합니다. 조건부 매니폴드에 대한 smothness(평활성)을 더욱 강화하고 과적합을 방지하기 위해, 훈련 중 생성자의 목표에 다음과 같은 정규화 항을 추가합니다.
이는 표준 가우스 분포와 조건부 가우스 분포 사이의 쿨백-라이블러 발산(Kullback-Leibler divergence, KL divergence: 두 확률분포의 차이를 계산하는 데에 사용하는 함수)입니다. 일반적으로 동일한 문장이더라도 다양한 포즈와 모양을 가질 수 있기 때문에, 조건부 증강(Conditioning Augmentation)에 소개된 임의성은 텍스트에서 이미지로의 변환을 모델링하는 데 유용합니다.

3.3. Stage-I GAN

를 주어진 설명의 텍스트 임베딩이라고 합니다. 이 설명은 본 논문에서 사전 훈련 받은 인코더 [25]에 의해 생성됩니다. 텍스트 임베딩을 위한 가우스 조건 변수 에서 샘플링되어 변수들과 함께있을 때의 의 의미를 포착합니다. ^0과 임의변수인 의 조건에 따라 Stage-I GAN은 교대로 공식(3)항의 0은 최대화, 공식(4)의 0은 최소화를 진행함으로써 판별자 0과 생성자 0을 훈련시킵니다.
여기에서 실제 이미지 0I0​과 텍스트 설명 t는 실제 데이터 분포인pdata​로부터 가져옵니다. z는 주어진 분포 pz​(본 논문의 가우스 분포)에서 무작위로 추출한 노이즈 벡터입니다. λ는 공식(4)에서 두 항의 균형을 맞추는 정규화 매개변수입니다. 모든 실험에 대해 λ=1 로 설정합니다. [13]에서 소개된 reparameterization(매개 변수 재지정) 트릭을 사용하여, µ(φt​)과 Σ(φt​) 둘 다 네트워크의 나머지 부분과 함께 학습됩니다.
 

Model Architecture (모델 구조)
생성자 G0​의 경우, 텍스트 조건부 변수인 c^0​를 얻기 위해, 텍스트 임베딩 φt​를 먼저 fully connected layer(완전 연결층)에 공급하여, 가우스 분포인 N(µ(φt​),Σ(φt​))을 얻기 위해, 0μ0​과 0σ0​(0σ0​는 Σ0Σ0​의 대각선에 있는 값)을 생성합니다. 그런 다음 c^0​를 가우스 분포로부터 샘플링합니다. 우리의 Ng​차원의 조건부 벡터인 c^0​는 c^0​=μ0​+σ0​⊙ϵ 식과 같이 계산됩니다 (여기에서 ⊙⊙은 element-wise multiplication, 아다마르 곱이다, ϵ ~ (0,)N(0,I)). 그 다음, c^0​를 Nz​차원의 노이즈 벡터와 연결하여 일련의 up-sampling 블럭들에 의해 0W0​×H0​ 사이즈의 이미지를 생성해냅니다.
판별자 D0​의 경우, 텍스트 임베딩 φt​를 먼저 완전 연결층을 사용하는 Nd​차원으로 압축하여 평평하게 펴줍니다. 그런 다음 공간적으로 복제된 Md​×Md​×Nd​ 차원의 텐서 형태로 만듭니다. 한편, 이미지는 Md​×Md​ 공간 차원이 될 때까지 일련의 down-sampling 블록들을 거쳐 공급됩니다. 그런 다음 이미지 필터 맵이 채널의 차원을 따라 텍스트 텐서와 연결됩니다. 출력된 텐서는 이미지와 텍스트 전체의 특징을 함께 학습하기 위해 1×11×1 컨볼루션 층에 추가로 공급됩니다. 마지막으로, 하나의 노드가 있는 완전 연결층을 사용하여 decision score(의사 결정 점수)를 생성합니다.

3.4. Stage-II GAN

 
Stage-I GAN에 의해 생성된 저해상도 이미지는 일반적으로 선명한 객체 부분이 부족하고 형태상 왜곡을 포함할 수 있습니다. 첫 번째 단계에서는 텍스트의 일부 세부 정보가 누락될 수 있으며, 이는 사실적인 사진 이미지를 생성하는 데 필요한 요소입니다. Stage-II GAN은 Stage-I GAN 결과를 기반으로 구축되어 고해상도 이미지를 생성합니다. 그리고 Stage-I 결과의 결점을 수정하기 위해 저해상도 이미지와 텍스트 삽입을 Stage-II GAN의 조건부로 받습니다. Stage-II GAN은 이전에 무시된 텍스트 정보를 완성하여 보다 사실적인 세부 정보를 생성합니다.
저해상도 결과인 0=0(,^0)s0​=G0​(z,c^0​)와 가우스 잠재 변수 c^에 따라 조건화하면, Stage-II GAN의 판별자 D와 생성자 G는 교대로 공식(5)의 LD​를 최대화, 공식(6)의 LG​를 최소화하면서 훈련됩니다.
 
원래의 GAN 공식과 달리, 무작위 노이즈 z는 s0​에 의해 무작위성이 이미 보존되었다는 가정 하에 이 단계에서 사용되지 않습니다. 이 단계에서 사용된 가우스 조건부 변수 c^과 Stage-I GAN에서 사용된 c^0​은 동일한 사전 훈련된 텍스트 인코더를 공유하여 동일한 텍스트 임베딩 φt​를 생성합니다. 하지만, Stage-I과 Stage-II의 Conditioning Augmentation은 다른 평균과 표준 편차를 생성하기 위한 서로 다른 완전 연결층을 가집니다. 이러한 방식으로, Stage-II GAN은 Stage-I GAN에서 빠뜨린 텍스트 임베딩으로부터 유용한 정보를 캡처할 수 있도록 학습합니다.

Model Architecture (모델 구조)
우리는 residual blocks(잔여 블록)을 추가한 인코더-디코더 네트워크로 Stage-II 생성자를 설계했습니다 [9]. 이전 단계와 마찬가지로 텍스트 임베딩 φt​를 사용하여 Ng​ 차원의 텍스트 조건부 벡터 c^를 생성하고, 이를 공간적으로 복제하여 Mg​×Mg​×Ng​ 차원의 텐서를 형성합니다. 한편, Stage-I GAN에 의해 생성된 Stage-I 결과 s0​는 Mg​×Mg​ 공간 사이즈를 가질 때까지 여러 down-sampling 블록(즉, 인코더)으로 공급됩니다. 이미지 특징과 텍스트 특징은 채널 차원에 맞춰 연결됩니다. 텍스트 특징과 짝을 이루게 된 인코딩된 이미지 특징은, 이미지 및 텍스트 특징에 걸쳐 multi-modal representations(다양한 형태의 표현)을 학습하도록 설계된, 여러 개의 잔여 블록으로 제공됩니다. 마지막으로 일련의 up-sampling 층(즉, 디코더)를 사용하여 W×H 크기의 고해상도 이미지를 생성합니다. 이러한 생성자는 입력된 이미지의 결함을 수정하는 동시에 더 많은 세부 정보를 추가하여 사실적인 고해상도 이미지를 생성할 수 있습니다.
판별자의 경우, 이 두 번째 단계에서 이미지 크기가 더 크기 때문에 다운샘플링 블록만 추가한 Stage-I 판별자와 구조가 유사합니다. vanilla 판별자를 사용하는 대신, GAN이 이미지와 조건부 텍스트 사이의 더 나은 정렬을 학습하도록 명시적으로 강제하기 위해, 우리는 두 단계 모두에 대해 Reed et al. [26]이 제안한 matching-aware(매칭 인식) 판별자를 채택했습니다. 학습 중에 판별자는 실제 이미지와 해당 텍스트 설명을 양의 샘플 쌍으로 사용하는 반면 음의 샘플 쌍은 두 개의 그룹으로 구성됩니다. 첫 번째는 매칭된 텍스트 임베딩이 일치하지 않는 실제 이미지이고, 두 번째는 해당 텍스트 임베딩이 일치하는 합성 이미지입니다.

3.5. Implementation details (구현 세부정보)

up-sampling 블록은 가장 가까운 이웃 업샘플링과 이어서 3×3 사이즈의 스트라이드 1 컨볼루션으로 함께 구성됩니다. 배치 정규화 [11] 및 ReLU 활성화는 마지막을 제외한 모든 컨볼루션 이후에 적용됩니다. 잔여 블록은 3×3 사이즈의 스트라이드 1 컨볼루션, 배치 정규화 및 ReLU로 구성됩니다. 128×128 StackGAN 모델에는 2개의 잔여 블록이 사용되고 256×256 모델에는 4개가 사용됩니다. down-sampling 블록은 4×4 사이즈의 스트라이드 2 컨볼루션, 배치 정규화 및 LeakyReLU로 구성됩니다 (단, 첫 번째 블록에는 배치 정규화를 하지 않습니다).
파라미터의 기본값은 = 128, = 100, = 16, = 4, = 128, 0= = 64 및 = 256 입니다. 훈련의 경우 먼저 Stage-II GAN을 고정하여 600에폭 동안 Stage-I GAN의 을 반복적으로 훈련합니다. 그런 다음 Stage-I GAN을 고정하여 Stage-II GAN의 를 추가로 600에폭 더 반복하여 훈련합니다. 모든 네트워크는 배치 크기가 64이고 초기 학습률이 0.0002인 ADAM을 사용하여 훈련됩니다. 학습률은 100에폭마다 이전 값의 1/2로 감소합니다.

4. 실험 및 평가

4.1. 데이터셋과 평가지표

 
CUB[35]에는 11,788개의 이미지와 함께 200종의 새가 포함되어 있습니다. 이 데이터 세트에 포함된 새의 80%가 개체-이미지 크기 비율이 0.5[35] 미만이므로 전처리 단계로 모든 이미지를 잘라내어 경계 상자의 개체-이미지 크기 비율이 0.75보다 커지도록 합니다. Oxford-102 [21]에는 102개 범주의 8,189개의 꽃 이미지가 포함되어 있습니다. 우리의 접근법에 대한 일반화 가능성을 확인하고자, 더 까다로운 데이터셋인 MS COCO [16]도 평가에 활용됩니다. CUB 및 Oxford102와 달리 MS COCO 데이터셋에는 여러 개체와 다양한 배경을 가진 이미지가 포함되어 있습니다. 8만개 이미지로 구성된 훈련셋 및 4만개 이미지로 구성된 유효성 검사셋이 있습니다. COCO의 각 이미지에는 5개의 설명이 있으며, CUB 및 Oxford102 데이터 세트의 각 이미지에 대해서는 [25]에서 10개의 설명이 제공됩니다.

Evaluation metrics (평가지표)
생성 모델(예: GAN)의 성능을 평가하는 것은 어렵습니다. 우리는 정량적 평가를 위해 최근에 제안된 수치 평가 접근법 "inception score(인셉션 점수)"[29]를 선택했습니다.
 
여기서 x는 하나의 생성된 샘플을 나타내고 y는 인셉션 모델[30]에 의해 예측된 레이블입니다. 이 평가지표가 직관적으로 의미하는 바는 좋은 모델은 다양하고 의미 있는 이미지를 생성해야 한다는 것입니다. 따라서, marginal distribution(주변분포) p(y)와 조건부 분포p(y∣x) 사이의 KL 분산은 커야 합니다. 실험에서는 COCO 데이터셋에 대해 사전 훈련된 Inception 모델을 바로 사용합니다. 정제된 데이터셋인 CUB 및 Oxford-102의 경우 각각에 대한 Inception 모델을 미세 조정합니다. [29]에서 제안한 바와 같이, 우리는 각 모델의 많은 표본(예: 무작위로 선택된 표본 3만개)에 대해 이 메트릭을 평가합니다.
인셉션 점수는 샘플의 시각적 품질에 대한 인간의 인식과 잘 상관관계가 있는 것으로 나타났지만 [29], 생성된 이미지가 주어진 텍스트 설명에 따라 잘 생성됐는지 여부는 반영할 수 없습니다. 따라서 사람이 직접 눈으로도 평가를 합니다. CUB 및 Oxford-102 테스트셋의 각 클래스에 대해 50개의 텍스트 설명을 무작위로 선택합니다. COCO 데이터셋의 경우 유효성 검사셋에서 4만개의 텍스트 설명을 임의로 선택합니다. 각 문장에 대해 모델별로 5개의 이미지가 생성됩니다. 동일한 텍스트 설명이 주어진 경우, 10명의 사용자(저자 제외)에게 서로 다른 방법으로 결과에 순위를 매기도록 합니다. 비교된 모든 방법을 평가하기 위해, 사용자들이 평균 순위를 계산합니다.

4.2. 정성적 및 정량적 결과

Table 1. CUB, Oxford102 및 MS-COCO 데이터 세트에 대한 StackGAN, GAWWN [24] 및 GAN-INT-CLS [26]의 인셉션 점수 및 average human ranks(사람이 직접 매긴 순위).
CUB, Oxford-102 및 COCO 데이터셋에 대한 최첨단 text-to-image 방법[24, 26]과 우리의 결과를 비교합니다. Table 1은 StackGAN 및 비교 대상 방법들에 대한 인셉션 점수 및 average human ranks(사람이 직접 매긴 순위)에 대한 결과입니다. 대표적인 예는 Figure 3과 Figure 4에 비교되어 있습니다.
Figure 3. CUB 테스트셋의 텍스트 설명을 조건으로 한 StackGAN, GAWWN [ 24 ] 및 GAN-INT-CLS [ 26 ]의 예제 결과

Figure 4. StackGAN 및 GAN-INT-CLS[ 26 ]가 Oxford-102 테스트셋(맨 왼쪽 4열)와 COCO 유효성 검사셋(맨 오른쪽 4열)의 텍스트 설명을 조건으로 한 예제 결과

 
StackGAN은 세 데이터셋 모두에서 최고의 인셉션 점수와 average human ranks를 기록했습니다. GAN-INT-CLS[26]와 비교하여 StackGAN은 CUB 데이터셋의 인셉션 점수(2.88 → 3.70)에서 28.47%, Oxford-102(2.66 → 3.20)에서 20.30%의 향상을 달성했습니다. 또한 StackGAN의 더 나은 average human ranks는 제안된 방법이 텍스트 설명에 따라 더 현실적인 샘플을 생성할 수 있음을 나타냅니다.
Figure 3과 같이, GAN-INT-CLS[26]에서 생성된 64×64 샘플은 새의 일반적인 모양과 색상만 반영할 수 있습니다. 이러한 결과는 대부분의 경우 생생한 부분(예: 부리와 다리)과 설득력 있는 디테일이 부족하여 충분히 사실적이지도 않고 해상도가 높지 않습니다. GAWWN[24]은 위치 제약에 대한 추가 조건 변수를 사용했지만, CUB 데이터셋에서 여전히 약간 낮은 더 나은 인셉션 점수를 기록했습니다. Figure 3에서 보이는 것처럼, GAN-INT-CLS보다는 더 상세한 고해상도 영상을 생성하는 것을 알 수 있습니다. 그러나, GAWWN 논문의 저자들이 언급한 바와 같이, GAWWN은 텍스트 설명만을 가지고서는 그럴듯한 이미지를 생성하지 못합니다. 이에 비해 StackGAN은 텍스트 설명만을 가지고도 256×256의 사실적인 이미지를 생성할 수 있습니다.

Figure 5. CUB 테스트셋의 학습하지 않은 새로운 텍스트로부터 StackGAN이 생성한 샘플입니다. 각 열에는 StackGAN의 Stage-I 및 Stage-II에 의해 텍스트에서 생성된 이미지의 텍스트 설명이 나열됩니다.

Figure 5는 StackGAN에서 생성된 Stage-I 및 Stage-II 이미지의 몇 가지 예를 보여줍니다. 그림 5의 첫 번째 행에서 볼 수 있듯이, 대부분의 경우, Stage-I GAN은 텍스트 설명에 따라 개체의 대략적인 형태와 색상을 그려낼 수 있습니다. 그러나 Stage-I 이미지는 특히 전경 객체의 경우 다양한 결함과 누락된 세부 정보로 인해 일반적으로 흐릿합니다. 두 번째 행에서 볼 수 있듯이 Stage-II GAN은 보다 설득력 있는 디테일로 4배 더 높은 해상도의 이미지를 생성하여 해당 텍스트 설명을 더 잘 반영합니다. Stage-I GAN이 그럴듯한 모양과 색상을 생성한다면, Stage-II GAN은 생성될 이미지의 세부 사항을 완료합니다. 예를 들어, Figure 5의 첫 번째 열에서, Stage-II GAN은 만족스러운 결과로, 꼬리와 다리에 대한 세부 사항뿐만 아니라 텍스트에 설명된 짧은 부리와 흰색도 묘사하는 데 초점을 맞춥니다. 다른 모든 예시에서 Stage-II 이미지에 다양한 세부 정보가 추가되는 것을 확인할 수 있습니다. 다른 많은 경우, Stage-II GAN은 텍스트 설명을 한번 더 다시 처리하여 Stage-I 결과의 결함을 수정할 수 있습니다. 예를 들어, 5번째 열의 Stage-I 이미지에는 텍스트에 설명된 갈색계열의 머리가 아닌 파란색이 있지만 이 결점은 Stage-II GAN에 의해 수정됩니다. 일부 극단적인 경우(예: Figure 5의 7번째 열)에서, 심지어 스테이지-I GAN이 그럴듯한 모양을 그리는데 실패하더라도, 스테이지-II GAN은 합리적인 객체를 생성할 수 있습니다. 또한 StackGAN이 Stage-I 이미지로부터 배경 정보만을 전송하고 Stage-II에서 이를 더 높은 해상도로, 그리고 더 사실적으로, 미세 조정하는 것을 관측할 수 있습니다.

Figure 6. 생성된 이미지(열 1)의 경우, Stage-II 판별자 D를 사용하여 시각적 특징을 추출하여 최근접 이웃한 학습용 이미지(열 2-6)을 탐색합니다. nearest-neighbor retrieval(최근접 이웃 탐색)을 위해 특징 간의 L2 거리를 계산됩니다.

여기서 눈여겨봐야할 점은 StackGAN이 단순히 학습하는 샘플을 암기하는 것이 아니라 복잡한 [언어-이미지] 관계를 포착함으로써 좋은 결과를 얻는다는 것입니다. 우리는 StackGAN의 Stage-II 식별자 �D에 의해 생성된 이미지와 모든 학습된 이미지에서 시각적 특징을 추출했습니다. 그리고 생성된 각 이미지에 대해 훈련셋으로부터 최근접 이웃 탐색을 통해 유사한 이미지를 검색할 수 있습니다. 검색된 이미지를 육안으로 살펴보면(Figure 6 참조), 생성된 이미지가 학습 샘플과 유사한 특성을 가지지만 본질적으로 다르다는 결론을 내릴 수 있습니다.

4.3. Component analysis (성분분석)

이 하위 섹션에서는 기준 모델을 사용하여 CUB 데이터셋에 있는 StackGAN의 여러 구성 요소를 분석합니다. 이러한 기준모델의 인셉션 점수는 Table 2에서 확인할 수 있습니다.
Table 2. Inception 점수는 StackGAN의 서로 다른 기준 모델에서 생성된 30,000개의 샘플로 계산됩니다.

Figure 7. 조건부 증강(CA)은 조건부 GAN의 훈련을 안정화하고 생성된 샘플의 다양성을 향상시킵니다. (행 1) CA가 없으면 Stage-I GAN은 그럴싸한 256×256 샘플을 생성하지 못합니다. 각 열에 서로 다른 노이즈 벡터 z가 사용되더라도 생성된 샘플은 각 입력 텍스트 설명에 대해 동일하게 축소됩니다. (행 2-3) CA를 사용하되 노이즈 벡터 z를 고정하는 방법으로도 다른 자세와 관점을 가진 새를 생성할 수 있습니다.

 
The design of StackGAN (StackGAN 설계)
Table 2의 처음 4개 행에서 볼 수 있듯이, Stage-I GAN을 직접 사용하여 이미지를 생성하면 인셉션 점수가 크게 감소합니다. 이러한 성능 저하는 Figure 7의 결과를 통해 잘 드러날 수 있습니다. Figure 7의 첫 번째 행에서 볼 수 있듯이, Stage-I GAN은 Conditioning Augmentation (CA)을 사용하지 않고서는 그럴싸한 256×256 샘플을 생성하지 못합니다. CA를 포함한 Stage-I GAN은 보다 다양한 256×256 샘플을 생성할 수 있지만, 이러한 샘플은 StackGAN에서 생성한 샘플만큼 현실적이지 않습니다. 이는 이 논문에서 제안하는 적층 구조의 필요성을 보여주는 사례입니다. 또한 출력 해상도를 256×256에서 128×128로 낮추면 인셉션 점수가 3.70에서 3.35로 낮아집니다. 모든 영상은 인셉션 점수를 계산하기 전에 299×299로 스케일링됩니다. 그리고 Stack-GAN이 더 많은 정보를 추가하지 않고 이미지 크기만 늘리면 다른 해상도의 샘플에 대한 인셉션 점수는 동일하게 유지됩니다. 따라서 인셉션 점수가 128×128 StackGAN에서 낮아지는 현상은 256×256 StackGAN이 더 큰 이미지에 더 많은 세부 정보를 추가한다는 것을 의미합니다. 256×256 StackGAN의 경우, 텍스트를 Stage-I에만 입력하면("텍스트 두 번 없음"으로 표시됨) 인셉션 점수가 3.70에서 3.45로 감소합니다. 이는 Stage-II에서 텍스트 설명을 다시 처리하면 Stage-I 결과를 개선하는 데 도움이 된다는 것을 나타냅니다. 128×128 StackGAN 모델의 결과에서도 동일한 결론을 도출할 수 있습니다.

Conditioning Augmentation (조건부 증강)
우리는 또한 제안된 조건부 증강(CA)의 효과도 조사했습니다. StackGAN 256×256(Table 2에서 "CA 없음"으로 표시됨)에서 조건부 증강(CA)을 제거하면 인셉션 점수가 3.70에서 3.31로 낮아집니다. 그리고 역시 Figure 7에서 CA를 사용하는 256×256 Stage-I GAN(및 StackGAN)이 동일한 텍스트 임베딩에서 서로 다른 포즈와 관점을 가진 새들을 생성할 수 있음을 확인할 수 있습니다. 반대로, CA를 사용하지 않을 경우, 256×256 Stage-I GAN에 의해 생성된 샘플은 GAN의 불안정한 훈련 동력으로 인해 무의미한 이미지로 저하됩니다. 결과적으로, 제안된 Conditioning Augmentation (조건부 증강)은 조건부 GAN 훈련을 안정시키고 잠재 매니폴드를 따라 미세한 변화에도 안정적일 수 있는 능력 때문에 생성된 샘플의 다양성을 향상시킵니다.

Sentence embedding interpolation (문장 삽입 보간)
Figure 8. (왼쪽에서 오른쪽으로) 두 개의 문장 임베딩을 보간하여 생성된 이미지입니다. 첫 번째 문장의 의미에서 두 번째 문장의 의미로의 점진적인 외관 변화를 볼 수 있습니다. 노이즈 벡터 z는 각 행에 대해 0으로 고정됩니다.
StackGAN이 부드러운 잠복 데이터 매니폴드를 학습한다는 것을 추가로 입증하기 위해 Figure 8과 같이 선형 보간된 문장 임베딩으로부터 이미지들을 생성했습니다. 노이즈 벡터 z를 고정했기 때문에 생성된 이미지는 주어진 텍스트 설명에서만 유추됩니다. 첫 번째 줄의 이미지는 우리가 만든 간단한 문장으로 생성됩니다. 그 문장들은 간단한 색 정보만 포함하고 있습니다. 그 결과 보간된 임베딩에서 생성된 이미지들이 색상의 변화를 정확하게 반영하면서 그럴듯한 새 모양을 생성해내는 것을 확인할 수 있습니다. 두 번째 행은 보다 복잡한 문장에서 생성된 샘플을 나타내며, 각 문장들은 새의 생김새에 대한 자세한 내용이 포함되어 있습니다. 생성된 이미지들은 새의 기본 색상을 빨간색에서 파란색으로 변경하고 날개 색상은 검은색에서 갈색으로 변경합니다.

5. 결론

본 논문에서는 실제와 같은 사진 이미지를 합성하기 위한 Conditioning Augmentation을 포함한 Stacked Generative Adversarial Networks(StackGAN)을 제안합니다. 제안된 방법은 text-to-image 합성을 새로운 스케치 개선 프로세스로 분해합니다. Stage-I GAN은 주어진 텍스트 설명으로부터 기본 색상 및 형태 제약 조건 정보를 따라서 객체를 스케치합니다. Stage-II GAN은 Stage-I 결과의 결점을 수정하고 세부 정보를 추가하여 더 나은 품질로 고해상도 이미지를 생성합니다. 다양한 정량적 및 정성적 결과는 우리가 제안하는 방법의 효과를 입증하고 있습니다. 기존 text-to-image 생성 모델에 비해, 이 논문에서 제안하는 방법은 보다 사실적인 디테일과 다양성으로 고해상도 이미지(예: 256×256)를 생성합니다.
 
References
[1] M. Arjovsky and L. Bottou. Towards principled methods for training generative adversarial networks. In ICLR, 2017. 2 
[2] A. Brock, T. Lim, J. M. Ritchie, and N. Weston. Neural photo editing with introspective adversarial networks. In ICLR, 2017. 2 
[3] T. Che, Y. Li, A. P. Jacob, Y. Bengio, and W. Li. Mode regularized generative adversarial networks. In ICLR, 2017. 2 
[4] X. Chen, Y. Duan, R. Houthooft, J. Schulman, I. Sutskever, and P. Abbeel. Infogan: Interpretable representation learning by information maximizing generative adversarial nets. In NIPS, 2016. 2 
[5] E. L. Denton, S. Chintala, A. Szlam, and R. Fergus. Deep generative image models using a laplacian pyramid of adversarial networks. In NIPS, 2015. 1, 2 
[6] C. Doersch. Tutorial on variational autoencoders.arXiv:1606.05908, 2016. 3 
[7] J. Gauthier. Conditional generative adversarial networks for convolutional face generation. Technical report, 2015. 3 
[8] I. J. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-
Farley, S. Ozair, A. C. Courville, and Y. Bengio. Generative adversarial nets. In NIPS, 2014. 1, 2, 3 
[9] K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. In CVPR, 2016. 4 
[10] X. Huang, Y. Li, O. Poursaeed, J. Hopcroft, and S. Belongie. Stacked generative adversarial networks. In CVPR, 2017. 2, 3 
[11] S. Ioffe and C. Szegedy. Batch normalization: Accelerating deep network training by reducing internal covariate shift. In ICML, 2015. 5 
[12] P. Isola, J.-Y. Zhu, T. Zhou, and A. A. Efros. Image-to-image translation with conditional adversarial networks. In CVPR, 2017. 2 
[13] D. P. Kingma and M. Welling. Auto-encoding variational bayes. In ICLR, 2014. 2, 3 
[14] A. B. L. Larsen, S. K. Sønderby, H. Larochelle, and O. Winther. Autoencoding beyond pixels using a learned similarity metric. In ICML, 2016. 3 
[15] C. Ledig, L. Theis, F. Huszar, J. Caballero, A. Aitken, A. Tejani, J. Totz, Z. Wang, and W. Shi. Photo-realistic single image super-resolution using a generative adversarial network. In CVPR, 2017. 2 
[16] T.-Y. Lin, M. Maire, S. Belongie, J. Hays, P. Perona, D. Ramanan, P. Dollr, and C. L. Zitnick. Microsoft coco: Common objects in context. In ECCV, 2014. 5 
[17] E. Mansimov, E. Parisotto, L. J. Ba, and R. Salakhutdinov. Generating images from captions with attention. In ICLR, 2016. 2 
[18] L. Metz, B. Poole, D. Pfau, and J. Sohl-Dickstein. Unrolled generative adversarial networks. In ICLR, 2017. 2 
[19] M. Mirza and S. Osindero. Conditional generative adversarial nets. arXiv:1411.1784, 2014. 3 
[20] A. Nguyen, J. Yosinski, Y. Bengio, A. Dosovitskiy, and J. Clune. Plug & play generative networks: Conditional iterative generation of images in latent space. In CVPR, 2017. 2