Image-to-Image Translation with Text Guidance
发表于2020.
论文地址:https://arxiv.org/pdf/2002.05235.pdf
介绍
Conditional Image Synthesis包括T2I generation,Image Generation from Scene Graphs,Semantic Layout,Coarse Layout。
本论文旨在使用文本命令,从segmentation mask生成图片。
实现的关键在于完全分离文本和图片中的不同可视化属性,然后对其建立联系。我们提出了RefinedGAN:
1)part-of-speech(POS) tagging:过滤文本中不重要的单词
2)Affine Combination Module:ManiGAN提出的,融合不同模态表达。
3)对Discriminator和generator的multi-stage结构做了改进,增进了Discriminator的辨别差异能力,并使更低层的generator尽可能的改进细节。
4)新提出了结构损失。
模型
给定segmentation mask——S,文本T。记生成图片为I’。
我们基于ControlGAN,我们通过POS tagging过滤了无意义的单词,然后送到一个预训练的RNN,接着在每一层使用ACM来融合segmentation mask和文本特征,从而建立单词和对应的mask区域。然后,融合的特征通过残差块和上采样块进一步修改,来生成hidden features,hidden features被送到generator来生成合成图片,然后下一层继续生成更高分辨率的图片。
Part-of-Speech Tagging
省略比如’a, to, its‘之类无意义的单词。我们使用POS tagging,根据单词的词性和定义标记每个单词。
如下图所示,POS将文本作为输入,然后标记每个单词,在我们的模型中,我们只使用特定的标记:NN*, IN*, VB*, JJ*.
''代表任何元素的一次或多次输出。
NN代表所有不同形式的名词。
IN代表介词(preposition)或者从属连词(subordinating conjunction)。
VB代表所有形式的动词。
JJ*代表所有形容词。
Affine Combination Module
ACM可以更好地融合多模态的特征,我们将其用于每个残差块之前。
W和b是将segmentation mask——S转变为学习得到的权重W(S)和偏差b(S)的函数。h代表根据输入文本编码得到的隐藏特征,或者两层之间的中间变量。h’是包含文本和segmentation mask信息的融合特征。⊙指Hadamard element-wise乘积。
Refined Multi-Stage Architecture
我们提出的新的多层次结构帮助解决initial image生成不恰当的情况。如图2所示,每一层的图像分辨率是之前一层的四倍(从64x64到128x128到256x256)。
为了在前几层生成更好的细节,我们向低层次的discriminator送入了高层次的real和fake图片块,这些图片块包含看不见但却精细的细节,可以作为额外信息来帮助训练低层次discriminator的辨别能力,从而反过来训练generator生成更精细的图片。
因此,定义第i层的discriminator的非条件对抗损失LZDi:
K是层数,Pk’和Pk是合成图片Ik’和real图片Ik的随机图片块(detached)。它们的大小符合discriminator的输入要求。
因为高层的generator生成的图片块要送到低层次的discriminator里去,所以第i层的generator的非条件对抗损失定义如下:
结构损失
我们提出了一个新的结构损失,它可以区分背景和物体的数据。确切的说,我们提供了segmentation mask来分离物体和背景,然后我们随机排列组合不同的背景和物体,比如real背景和fake物体,real物体和fake背景…
定义如下:
Xi1代表fake物体和real背景的组合,Xi2代表real物体和fake背景的组合。
实验
在COCO数据集上测试,每张图片对应有一张ground truth 语义mask。我们只使用二进制segmentation mask而不是精细度的像素标记的语义图。
由于之前并没有根据自然语言命令从segmentation mask生成图像的研究,所以我们对AttnGAN和ControlGAN进行了修改,在其中加入ACM来融合segmentation mask,将其分别记做S-AttGAN和S-ControlGAN。
使用Adam optimizer,学习率为0.0002,训练120个epoch,控制LZD,LZG,LS的超参数全部设置为1.
比较
w/o POS代表没有POS,w/Concat代表使用了普通的concat,w/o Refined代表没有使用Refined Multi-Stage Structure,w/o SL 代表没有使用结构损失,w/o POS*代表训练没有用POS,但测试时用了。
有个额外材料,懒得找了。