基于生成对抗网络的文本引导人物图像编辑方法
2020-08-02贾西平林智勇马震远
黄 韬,贾西平,林智勇,马震远
(1.广东技术师范大学 计算机科学学院;2.广东技术师范大学 数学与系统科学学院,广东 广州 510665)
0 引言
基于文本描述编辑人物图像是结合了计算机视觉和自然语言处理两个领域的综合性任务,是学界所关注的一个重要课题.相关的工作包括文本图像OCR技术[1-2],图像文本描述(图像摘要)[3-8],文本图像匹配检索[9],文本到图像合成[10-13]等.随着深度学习的发展,这些工作都得到了较大推进.基于文本描述编辑图像是在文本到图像合成的工作基础上发展而来的,旨在根据文本描述的语义关系编辑源图像,通过神经网络模型进而得到一张新图像.具体来说,给定一张原始图像,根据一句话或一段文本描述,改变图像中的相关区域,得到既包含文本语义信息,又不改变原始图像中其他与文本描述信息无关的新的图像.例如文献[14]根据文本描述改变给定图像中特定部分区域的颜色.
在本文中,我们关注基于文本描述的人物图像编辑工作—根据文本语义信息改变图像中人物服装的问题.近年来基于文本描述编辑图像的工作[11,13,15,16]主要集中在研究花鸟数据集[17,18]上,这些方法一般难以直接应用到人物图像的编辑中.主要的原因有两点:一是这些工作侧重于图像全局的编辑,缺乏对于局部位置的针对性;二是这些工作生成的图像容易丢失源图像的特征,不能保持人物的个人属性.现有的基于文本描述编辑人物图像的工作如FashionGAN[19]根据文本描述确定人物的目标分割图,然后将目标分割图直接渲染为彩色人物图像,最后将合成的头发/脸部区域用源图像对应的部位替换,得到了姿态合理、色彩较为自然的人物图像.但是,FashionGAN[19]的方法很依赖第一阶段生成的目标分割图,如果生成的目标分割图肢体大小、位置不合理或者不能确定服装的范围,那么渲染成彩色图像时这样的异常也会被放大.此外,在根据文本描述改变上半身的衣服时也不能保持下半身的衣服不变.FiLMGAN[20]和BilinearGAN[21]更加关注文本表示和视觉表示的融合.他们使用了图像文本匹配优化策略来优化模型.但是,这种匹配策略倾向于合成模糊和荒谬的图像,模型会根据文本编辑整个图像,而不仅仅是图像中与文本相关的某些部分.
为了解决现有的基于文本描述编辑人物图像的方法得到的人物图像清晰度不足、人物个性特征丢失以及姿态结构不合理等问题,本文基于生成对抗网络提出了一个从低分辨率到高分辨率多输出的人物图像编辑模型.如图1所示,该模型共包含三个阶段,分别将文本到图像的转化以及图像纹理的渲染放到不同的阶段中进行.其中第一个阶段使用了人物分割掩码以空间自适应归一化的方式来控制人物姿态,实现文本到低分辨率人物图像的生成.第二、三阶段使用了相同的网络结构,以去除服装部分的人物图像和前一阶段的特征作为输入,逐步细化纹理并提高图像分辨率,最后生成人物个性特征不变、结构合理且符合文本语义的清晰人物图像.
图1 方法结构图
本文接下来的部分首先介绍相关的研究工作,然后详细介绍所提出方法的模型结构、优化目标以及训练细节,在所提出的模型上进行实验,并与现有的人物图像编辑的方法进行分析比较,最后总结全文.
1 相关研究工作
文本到图像的合成是图像翻译的反问题,是生成模型研究中的一个重要研究内容,旨在学习从文本语义空间到复杂像素空间的映射.此任务有两种主要模式:一是文本直接转换为图像,二是基于文本描述的图像编辑.接下来主要介绍这两种任务的相关工作,同时介绍基于文本描述编辑图像在人物图像方面现有的主要相关工作.文本与图像相关的研究关系如图1所示.
图2 文本—图像相关研究工作关系图
1.1 文本直接转换为图像
直接使用文本描述合成逼真的图像的任务意味着模型的输入以文本描述为主要条件.近年来,越来越多的研究者对这项任务提出了挑战[10,12,13,22,23].文献[10]首次使用GANs[24]提出用于文本-图像匹配的对抗训练的策略,基于文本描述生成了花鸟图像.StackGAN[12]设计了一个金字塔式的生成结构,从不同的分辨率级别定义生成器和鉴别器.基于stackGAN的stackGAN++[23]引入了无条件的损失和色彩调节器来优化网络,它使用树状的多级生成结构来生成小到大的图像.AttnGAN[13]使用注意力驱动模型来合成图像不同子区域的细粒度细节.本文提出方法的第一个阶段以解码的方式基于文本描述生成人物图像,人物分割掩码只是作为学习归一化参数的一个条件.
1.2 基于文本描述编辑图像
基于文本描述编辑图像又称为基于自然语言的图像编辑(LBIE)[20,25],旨在通过文本描述在语义上操纵源图像.与直接由文本生成图像的任务的区别在于,LBIE需要一个源图像作为输入,要求模型根据文本描述修改图像的相关部分,但是不能影响其他不相关的部分,以维护原始图像的某些细节.文献[11]首先从图像—文本描述对中学习视觉语义文本嵌入,然后对抗训练条件式生成器网络.CCGAN[15]提出了两个耦合的条件对抗网络,生成以给定文本描述为条件的逼真的图像,并且该网络可以学习具有保留图像结构和属性的能力的映射.以上工作都主要着力于花鸟数据集,是基于文本编辑人物图像的工作基础,但人物的姿势、体态、外貌特征、纹理外观有着各式各样的要求,现有的模型很难直接应用到人物图像上.
1.3 基于文本描述编辑人物图像
本文专注于基于文本描述的人物图像编辑任务,该任务要求我们根据文本描述来改变图像中人物的发型、表情、服装等内容,近年来已经有了一些不错的工作[19-21,26].FashionGAN[19]提出了一个两阶段式的生成模型,该模型使用人类解析的分割图维持结构连贯性,包括身体形状和姿势.在第一阶段,他们使用人物的解析分割图、源图像中的特征属性以及目标文本描述来生成目标人物图像的分割蒙版,然后在第二阶段中使用此分割图生成人物图像.FiLMedGAN[20]提出了基于文献[11]的模型结构,使用特征线性调制(FiLM)的方法将文本表示与视觉表示融合在一起,而无需使用额外的空间信息.文献[27]提出了一种新方法,可以同时转移参考图像中与给定文本描述相对应的人的姿势和外观.BilinearGAN[21]提出了一种改进的条件层,称为双线性残差层,以学习LBIE任务的更强大表示.因为他们认为条件生成对抗网络(cGAN)[28]中的现有的条件处理方法缺乏表示能力,无法了解图像特征和文本特征之间的二阶相关性.在本文中,我们将姿势保持与纹理、颜色渲染分开考虑.我们提出了多阶段但一次生成的文本指导的人物图像生成框架,以根据文本描述编辑人物的相关部分,同时保留人的身体姿势和形状.
2 提出的方法
2.1 方法概述
本文模型的目标是根据指定的文本描述编辑图像中人物身穿服装的颜色、款式、袖长等属性.通过建模文本与图像之间的关系,以人物图像的分割掩码作为归一化条件来控制人物姿态,生成符合文本语义要求且结构合理的清晰的人物图像.其中文本描述以一句话的形式表示,如:This lady is wearing a blue short sleeve dress.分割掩码很容易捕获穿戴者的身体部位的形状,而不是人物的详细外观.我们使用现有的掩码提取器[29]从RGB人物图像中提取得到人物分割掩码,用以表示人体不同部位的像素级语义类别,表示像素位置是否归属于头发、脸部、上衣、下衣、手、脚等,最多可分为20个类别.在本文中仅使用头发、脸部、手、脚、上衣、裤子以及图像背景七个类别,并将其他的类别合并到与其最接近的类别当中,保证人物图像中的每一个像素都属于其中的某一个类.
本文模型是基于条件生成对抗网络而建的,由生成网络与判别网络共同组成.总的来说,生成网络输入文本以及初始人物图像,输出符合文本语义且保持初始图像人物个性特征的新的图像.为了让生成模型适应文本与图像对应的多样性,生成器同时接收高斯噪声作为网络输入.判别网络用于判别图像是来自于生成器还是原始数据集,主要用于优化模型,仅在训练阶段使用.生成器试图生成能混淆判别器的图像,而判别器则试图区别图像的真实性,二者在对抗的机制下进行训练,以此达到优化生成模型的目的.接下来先说明文本对图像的匹配策略,然后针对网络结构、损失函数与训练过程逐一进行说明.
2.2 文本与图像匹配
文本信息与图像信息属于两种不同的模态,在将文本信息转化图像信息之前,需要建立两种模态数据之间的对应关系.文本与图像匹配的关键在于保证在文本到图像转化过程中保持文本—图像语义的一致性[11].我们使用基于VGG+LSTM的方法分别提取图像特征与文本特征,然后使用特征向量之间的余弦相似度进行匹配训练[10].
2.3 网络结构
图3 生成器模型网络结构图
生成器采用的三段式生成结构,逐步生成分辨率大小32*32,64*64,128*128的图像.在32*32的阶段,为了更好地利用文本描述的全局语义信息,直接基于文本描述生成纹理粗糙但包含基本特征的人物图像,同时使用人物的全局分割掩码控制人物的姿态.接下来的两个阶段,首先基于分割掩码与初始人物图像,得到与文本描述无关的人物图像(去除了人物上衣),然后以此作为输入经过一个3*3卷积层并与前一个阶段生成的图像特征进行组合,细化纹理,重建人物特征,得到最终的结果.生成器的网络结构如图3所示.其中第三阶段的结构与第二阶段完全相同,如图中红线表示,第二阶段中的特征作为第三阶段的其中一个输入.
本文第一阶段以文本描述与人物分割掩码作为输入,输出分辨率为32*32的人物图像.生成网络使用类似于解码器的结构.文本描述经过文本编码器后得到文本的全局编码向量,将此向量与高斯噪声z混合后经过形状转换后输送到解码器中.解码器主要由卷积层、上采样层、归一化层与激活层组成.其中卷积层使用3*3卷积核,步长为1,边界填充像素为1.上采样模式使用双线性插值.经过实验证明,使用批归一化等常见的归一化方式容易生成肢体结构不合理的人物图像.同时文献[30]证明基于语义场景图的空间自适应归一化有助于限制生成图像的场景结构.考虑到语义场景图与人物分割掩码实际上是同一种数据形式,都是使用特定的数值标记图像中的每一个像素具体属于哪一个类别,我们使用空间自适应归一化替换批归一化以生成结构合理的人物图像.除了输出层的激活函数为Tanh外,其他激活函数均使用线性整流单元(rectified linear unit,ReLU).
后面两个阶段的网络结构是相同的,用于细化粗糙图像的纹理细节,重建人物特征.前一个阶段输出层前的64层的特征图,与经过3*3卷积的人物图像特征图连接起来作为新阶段的输入.模型主要由2个Resnet[31]层,1个上采样模块和1个图像输出模块(3*3卷积)组成.
判别器采用CGAN[28]的结构,针对三个不同分辨率输出的图像分别使用三个不同的尺度的判别器.每一个判别器的卷积单元依据图像大小而变化,最后使用Sigmod激活函数获得一个布尔值,用于对输入的图像进行真假的判断.
2.4 损失函数
我们的目标是建立一个以任意文本描述编辑人物图像的生成模型.由于人物图像的纹理细节复杂,服装、姿势多样,想要很好地训练生成器是一个不小的挑战.生成器与判别器以对抗的形式进行交替训练,我们使用标准CGAN[28]的对抗损失函数,具体形式为:
3 实验
本文在Fashion Synthesis[19]数据集上进行实验,基于给定的一句文本描述编辑人物图像,合成新的人物图像.FashionGAN[19],FiLMGAN[20]以及BilinearGAN[21]设计了不同的模型实现了相同的任务,我们的实验展示了与他们模型生成图像的对比的结果.
3.1 数据集与实验设置
Fashion Synthesis[19]数据集包含78979张人物图像以及对应的上衣的文本描述,图像大小为128*128.文本描述为一句话,约7至15个单词.同时为每个人物图像提供了其人物的分割掩码图.这个分割掩码将穿戴者的身体形状分成6个部分,以6个标签按像素分类.遵循FashionGAN[19],FiLMGAN[20]以及BilinearGAN[21]的实验规则,我们将整个数据集分为训练集(70000张图像)和测试(8979张图像)集.本文展示的测试样本均来自于测试集.测试时,随机从测试集中选取一个文本描述为当前图像的目标描述,并且这个文本不会被重新选取.
测试时尽可能地模拟真实的应用场景.由于应用时,并不会直接得到人物图像的分割掩码.我们使用掩码提取器[29]来获得任意输入图像的人物分割掩码图.掩码提取器[29]会将人的身体或衣服分成19个语义标签,这些标签分别表示帽子、头发、太阳镜、上衣、衣服、外套、袜子、裤子、手套、围巾、裙子、连身裤、脸、右臂、左臂、右腿、左腿、右鞋和左鞋、背景标签.我们合并源分割图的像素上相邻的一些标签,最后得到的分割图中每一个部分分别对应背景、头发、脸、上衣、裤子、腿和手臂,与Fashion Synthesis[19]数据集相同.
3.2 训练细节
本文模型使用Adam优化器训练模型并设置动量参数β1=0.5和β2=0.999.学习率设为0.0002并恒定不变.为了加速训练,使模型更快进入收敛阶段,我们使用正态分布随机初始化网络参数.训练模型在一台配置GPU型号为GTX 1080Ti的服务器上进行,共11G内存容量.每个批次为36张图像,共70000张训练图像,训练100个批次预计需要2天.经过对比实验,我们将四个超参数分别设置为
3.3 定性分析
我们将提出的模型的结果与其他相关方法进行比较,如图4所示.为了更好地比较文本描述和生成的图像之间的对应关系,我们采用FashionGAN[19]中的处理方法,将生成图像中的头发/脸部区域替换为原始图像的对应部分.由图4可以看出,FashionGAN[19]和我们提出的方法在形状和姿势方面都比BilinearGAN[21]与FiLMGAN[20]更好.同时本文的方法具有很强的文本语义翻译能力,可以识别输入文本描述的不同颜色和样式,并且可以渲染出高级的细节纹理,产生更合理的结果.在图5中,我们还展示了一些由相同文字描述生成的图像,这些图像表明我们的模型生成的图像具有丰富的多样性,并且不会影响图像的质量.
3.4 定量分析
图4 与其他方法对比效果图
图5 基于同一文本生成图像多样性对比
文本到图像的生成是图像标题生成(其中“标题”定义为简易的文本描述)任务的反向问题.当我们基于文本描述生成或编辑图片时,应该能够使用基本的标题生成器模型来获取结果图像的文本描述,并且该文本描述应与我们的输入的文本描述基本一致.基于此,设计了一个简单但准确率较高的标题生成器来生成结果图像的标题,并观察其是否与输入文本描述一致.对于标题生成器的结构,我们使用Resnet-152[33]预训练模型对图像进行编码,然后使用长短期记忆(LSTM )[34]网络作为解码器生成图像对应的标题.我们使用标准的BLEU度量标准来评估所生成标题的正确性.在表1中展示了评估的结果.与各种不同模型方法相比,我们的模型获得了最佳的评估效果,表明通过我们提出的模型生成的图像在语义上更加符合文本描述.为了进一步验证我们的评估方法的合理性,我们使用生成的标题作为搜索关键字从Google网站下载了一些图片.同时我们在数据集中检索相同关键字的图像.Google图像与数据集图像对应相同关键字的对比结果如图6所示.可以看出,我们生成的标题(文字描述)是能准确表示图像语义信息的.
表1 标题生成评估结果
参考FiLMGAN[20]的评估方法,本文还使用了Inception Score (IS)[35]和Fr'echet距离(FID)[36]作为评估指标.其中IS用于评估图像的质量与多样性,也是生成模型中使用的最为广泛的评估方法.IS值越大表示生成图像的结果越好.FID同样用于评估生成图像的多样性,但相比于IS对噪声更加鲁棒,较低的FID意味着生成图像与真实图像之间的分布更为接近,也就意味着生成图片的质量较高、多样性较好.从表 2 中可以看到,我们的方法生成的图像比其他三个方法评估质量更好一些,更具多样性.
表2 IS与FID定量评估结果
图6 DeepFashi on与Googl e 爬虫下载的图像
4 结论
本文基于生成对抗网络设计了一个人物图像编辑模型,根据文本描述编辑图像中人物服装的颜色、款式等.本文模型以多阶段的方式输出由低到高分辨率的人物图像.同时引入自适应归一化,通过人物掩码控制姿态的规范性.实验结果表明,该模型生成的图像在姿势保持、特征不变性以及纹理细节上都表现得更好,在Fashion Synthesis[19]数据集上达到最先进的性能.在未来的工作中,我们将考虑更复杂的场景,进一步将模型扩展到更高分辨率的图像以及可控的人像生成多样性.