朱嘉琪, 陶 然, 阮振平, 詹 曙
(1.合肥工业大学 计算机与信息学院,安徽 合肥 230601; 2.安徽医科大学第二附属医院,安徽 合肥 230601)
面部属性编辑的任务在深度学习中已经引起了广泛的关注,并且随着生成对抗网络[1]的出现而取得了显著进展。该任务的目的是根据给定的域标签来操纵源图像,以拥有单个或多个目标属性。生成的结果不仅应包括所需要的属性,还应包括背景区域和其他属性。面部属性编辑实际上是一个多领域图像到图像的翻译任务。现有的大多数方法[2-5]只专注于2个域之间图像到图像的转换,尽管这些方法可以从成对的图像中准确捕获目标属性,但实际上成对图像很难获得,而且为每个特定属性编辑任务学习单个翻译模型也只能获得不完全的成功。为了克服这些问题,最近提出了几种多域方法[6-8],这些方法通常结合编码器和解码器网络,并将源图像和目标属性矢量作为输入。
随着编解码器体系结构的出现,已经实现了各种各样的图像到图像转换任务,并产生了大量令人瞩目的结果。这些网络通过逐步对输入图像进行下采样并将其压缩为静态表示形式以获得图像的抽象属性和内容。文献[7-9]使用自动编码器网络;文献[4]、文献[6]采用带有残差块的浅层编解码器网络,但是这样的体系结构容易在各种面部成分上产生模糊的效果和较大的失真,导致合成图像的感觉不真实。为了避免信息丢失,可以在编码器和解码器层之间[2,7]添加跳过连接以组合特征。虽然跳过连接的部署可以在输入图像中保留上下文和纹理信息,但是它不能处理比例和方向差异,并且不利于属性编辑。
此外,现有的大多数方法通常不会显式地利用图像中的语义结构信息。具体来说,StarGAN[6]使用单个生成器将图像及其对应的二进制属性标签作为输入来执行多域图像转换,但是该模型缺乏有效地对属性建模的能力,无法解开多个属性之间的相关性。与StarGAN相似,AttGAN[7]依据目标属性向量执行面部属性编辑,但是无法将属性向量连接到图像潜在表示来有效地构造属性信息。另外,AttGAN和StarGAN的重建结果不尽人意,如图1所示。一个可能的原因是它们过度使用了常规的卷积层和批处理归一化,导致网络传播过程中极大地溶解了图像有效信息。
为了克服这些问题,本文从选择性细化的角度研究了面部属性编辑,并提出了新的面部属性编辑生成对抗网络(facial attribute editing generative adversarial networks,FAE-GAN)模型。从选择性角度来说,FAE-GAN在每个解码器层上提供一个全局上下文,为低层网络提供指导,以选择属性的详细信息,从而获得具有不同感受野的多尺度特征,可以有效地在整个网络中传播语义信息。从细化角度来说,FAE-GAN不仅考虑了需要编辑的属性,以避免归一化层“冲走”目标属性中的信息,而且有效地训练了难以生成的面部成分和精致的面部结构。
借助多尺度注意力归一化(multi-scale attention normalization,MAN),生成器可以通过特定尺度的修改来控制面部属性的编辑。FAE-GAN允许模型根据需要专注于图像和属性的最相关部分,并且不会带来大量的计算开销。本文的主要贡献如下:
(1) 提出了多尺度注意力归一化或简称MAN模块,以提高属性处理能力和图像质量。在模块内部,MAN采用残差学习来改善特征提取,从而防止了原始信息丢失。
(2) 设计了一个紧凑的网络,该网络可以有效利用深层的语义特征来合成更好的实验结果。实验结果表明,FAE-GAN的性能优于最新技术。
生成对抗网络(generative adversarial networks,GAN)[1]是一种强大的无监督生成模型,已广泛用于图像生成任务,如图像合成[10-11]、图像到图像翻译[2,4,12-13]、图像超分辨率[14]等。通常,GAN模型包括生成器G和判别器D这2个部分。在GAN的训练阶段,生成器G尝试根据先验分布从随机噪声中合成模仿训练样本的假样本,判别器D学会区分生成的样本和训练样本。通过交替训练使生成的样本与训练样本无法区分,并最终达到平衡状态。
图像到图像的翻译旨在学习一种在有监督或无监督条件下映射图像的功能。文献[2]提出了一种基于条件GAN的框架,该框架使用成对的图像作为输入。基于此工作,CycleGAN[4]引入了循环一致性损失,并利用跨域映射进行未配对的图像到图像转换。但是,以上方法是为单域翻译设计的,为了解决此局限性,MUNIT[15]和DRIT[16]将图像分解为域不变的内容和样式2个部分,以捕获特定域的属性,但仍仅限于包含原始域和目标域之间对齐良好的图像数据集。
面部属性编辑是未配对的多域图像到图像转换的问题。尽管已经有几种方法[2-5]专注于2个域之间的特定属性编辑的单个转换模型,但是这些方法对于多属性场景是不灵活的。因此单个模型的多域翻译逐渐引起重视。IcGAN[8]将GAN和编码器组合到一个模型中,该模型可以处理多个属性,但是生成的图像通常包含不真实的部分和不想要的纹理。FaderNetworks[9]以端到端的方式训练编码器-解码器网络,以学习属性不变的表示形式,但会导致信息的丢失。StarGAN[6]和AttGAN[7]通过将目标属性向量作为转换模型的输入并引入属性分类损失来实现面部属性编辑。但是,当简单地将属性融合到不同层时,StarGAN和AttGAN都会发生不同特征图之间的冲突和信息丢失。为了获得浅层的丰富语义信息并同时保留背景区域和其他属性,本文提出了一种新的多尺度注意力归一化模型,该模型利用高层特征图中的语义信息作为上下文提示来增强较低层特征图的语义信息。
归一化层已成为深度神经网络必不可少的组成部分。针对不同的任务已经提出了多种归一化方法。批处理归一化(batch norm,BN)[17]通过最小批处理信息对输入进行归一化。具体来说,首先将网络层的激活标准化为零均值和单位方差;然后从外部数据中推断所需的缩放参数和位移参数并用于调制激活以对其进行归一化。对于语义图像合成任务,SPADE[18]可以学习一个空间变化函数,该函数将任意分割图映射到归一化层的适当参数图。对SPADE的训练需要一个包含带注释的分割图的数据集。但是,在带注释的分割图的数据集上训练感兴趣的特定图像内容是一项艰巨的任务,基于没有带注释的分割图的数据集则更加困难。相比于从分割图上学习缩放参数和位移参数,FAE-GAN学习注意力图和偏差从深层网络提取信息,从而将目标属性与语义信息相结合。而且,与SPADE中的SPADE ResBlk相比,FAE-GAN具有更紧凑的结构,且占用的计算资源更少。
MAN可以看作是条件归一化的一种变体,可以将特定于类别的语义信息编码为BN层的参数。对于需要局部更改的图像属性,MAN通过推断高级特征图中的仿射变换来逐步细化每个解码器层的特征,同时通过将仿射变换用作上下文线索来调制低层特征图的语义,并选择残差块优化已经调制好的低级特征图的语义。
FAE-GAN模型框图如图2所示。考虑神经网络1个批次的输入Xi∈RB×C×H×W,其中,i、B、C、H、W分别代表第i层、批次大小、通道数量、高度和宽度。首先网络开始学习产生1个注意力图和偏差参数图;然后用学习到的参数调制归一化后的激活Xi;最后调制好的激活通过一个残差模块去细化原始的特征并拼接到深层网络上。FAE-GAN最后在深层拼接函数为:
(1)
(2)
为了获得面部属性编辑中必不可少的语义信息,在调制后,利用残差块将低级特征图添加到调制后的特征图。本文使用残差块的动机与ResNets的动机不同[19]。ResNets的目的是通过增加网络深度来提高准确性。在本文中,由于增加了跳过连接,通过学习输入特征的残差来优化网络比优化基础映射更容易,只需要从原始特征中学习补充信息,同时保留原始信息即可。MAN的性能取决于其固有特性。MAN可以避免归一化层“冲走”输入属性目标中的信息,这是由于学习到的仿射参数在空间上是变化的,允许浅层根据给定任务相关的空间区域进行更新。此外,MAN不仅可以适应转置卷积过程中的各种激活程度,而且还可以从深层提取不同尺度的语义信息,从而更精确地指导面部属性编辑。
图2中,MAN过滤特征并传递有效信息到跳过连接层。通过在粗尺度上提取上下文信息,实现面部的选择性细化。图2a所示为去除刘海、改变性别和增加浓密的眉毛的转换。FAE-GAN包含生成器G和判别器D 2个组件。G的网络结构由编码器Ge和解码器Gd组成。在主干的编码器Ge中,输入由核大小为4和步幅为2的5个卷积层进行下采样,而解码器Gd具有5个转置的卷积层用于上采样,并用层归一化替代批处理归一化。此外,MAN已集成到生成器中,以通过跳过连接传递有效特征。D的网络结构有2个分支Dadv和Dcls。Dadv包含5个卷积层,以及2个完全连接的层以区分图像是生成图像还是真实图像。Dcls具有类似的体系结构,并与Dadv共享所有卷积层,但是可以预测属性向量。
给定一张输入图像x,每一层编码器Ge将x依次编码为潜在表示,如下所示:
l=Ge(x)
(3)
(4)
用M表示MAN模块,MAN模块被部署到4层编解码器中作为跳过连接,将MAN模块与Gd模块结合,即
(5)
(6)
整个模块的过程如下:
y=Gd(Ge(x),v)
(7)
其中,y为编辑后拥有期望属性的图片。
接着,详细描述对抗、属性分类和重建损失,FAE-GAN利用这些损失函数来帮助训练。
2.3.1 对抗损失
本文利用对抗损失使生成的图像看起来与真实样本相似。此外,本文用Wasserstein GAN[10]和WGAN-GP[20]创建一个稳定的生成器,将生成结果与具有高频细节的真实图像区分开,表示如下:
(8)
(9)
(10)
其中:G(x,v)为生产的假样本;ε为配对的真实和生成样本之间均匀采样。
2.3.2 属性分类损失
即使没有真实的生成样本,FAE-GAN的生成结果也需要不仅真实而且很好地对应目标属性。为此,本文添加了一个辅助分类器Dcls,Dcls训练真实图像的属性分类损失定义如下:
(11)
此外,属性分类损失也用于约束生成器,保证生成的图像具有判别器监督的目标属性,表示如下:
(12)
2.3.3 重构损失
生成器在学习属性的相关部分时应保留输入面部纹理的一些不相关内容。当目标属性与源属性相同时,生成器应学习通过对潜在表示进行解码来编辑输入图像以近似于源图像,因此将重建损失表示为:
(13)
2.3.4 总损失
结合上面讨论的损失来优化G和D的总损失函数如下:
(14)
(15)
其中,λ1、λ2、λ3、λ4为平衡损失的超参数。
本文在拥有一块1080Ti图像处理器的电脑上执行实验,使用了ADAM[21]优化器去优化网络框架训练模型,(14)式和(15)式中的超参数设置为λ1=λ3=10、λ2=1、λ4=100,初始化的学习率设置为2×10-4并微调到2×10-5,训练和微调的迭代次数分别为200和100。
CelebFaces属性数据集CelebA[22]包含来自10 177名名人的202 599张对齐的面部图像,每张照片都具有40个属性注释。本文将这些图像分为训练集、验证集和测试集,并从验证集中选择1 000张图像来评估训练过程,剩下的验证集和训练集按照AttGAN[7]的分割策略进行训练以进行公平比较。本文选择以下13个属性进行实验,即秃头、刘海、黑发、金发、棕发、浓密的眉毛、眼镜、性别、嘴巴略张、胡子、胡须、皮肤和年龄,它们在外观和视觉上对于比较实验有意义。在实验中,所有对齐的图像被居中裁剪为178×178,并调整为128×128。
本文在CelebA数据集上与IcGAN[8]、FaderNet[9]、AttGAN[7]、StarGAN[6]进行了对比。首先,在单属性面部属性编辑任务上评估本文的方法,5种方法的人脸单属性编辑结果如图3所示。
IcGAN和FaderNet的结果通常模糊不清,导致不够真实的感觉。这主要是由于这些方法对潜在表示施加了属性无关的约束,损害了它们的表现能力并产生了平滑的结果。相反,FAE-GAN的结果看起来更加自然和真实,并保留了输入图像原本的信息。对于StarGAN和AttGAN,它们都可以准确地编辑属性,但是它们的某些结果没有被充分修改,例如光头和胡须。此外,某些背景区域可能被错误地转移。相反,FAE-GAN可以准确地编辑局部和全局属性,同时可以很好地保留属性(不包括面部识别、照明和背景等细节),充分表明了MAN有助于生成更高的视觉质量图像。
此外,对于多个面部属性编辑评估,本文与StarGAN[6]和AttGAN[7]进行了比较,这2种方法是同时学习和传递多个属性的代表性方法。FAE-GAN、AttGAN和StarGAN的多种面部属性编辑比较结果如图4所示。对于StarGAN,面部细节失真。与FAE-GAN相比,AttGAN产生的清晰结果的图片较少。造成这些不良结果的主要是因为StarGAN和AttGAN将语义和目标属性向量以其他方式融合时会发生冲突,从而导致无法有效地解耦不同属性的信息。相比之下,即使在多个属性的复杂组合下,FAE-GAN仍然表现良好。通过组合高级和低级信息,可以对图像属性和背景进行显式且单独地建模,从而确保属性不被纠缠并保留细节。
直接运用属性增强控制是FAE-GAN特点之一。尽管FAE-GAN是用二值属性训练,但是在不改变原始的结构设计上,测试阶段能生成连续的属性结果。属性强度控制结果如图5所示,将0~1之间的连续值作为属性输入,生成的图像具有平滑和自然的过渡。
为了定性评价人脸属性编辑的性能,本文从属性编辑精度和图像视觉质量2个方面进行了分析。为了评估属性编辑的准确性,本文在训练集上设计了一个分类器,通过判断编辑后的图像是否具有期望的属性来衡量13个属性编辑的准确性。属性生成准确度见表1所列,除性别属性外,FAE-GAN在所有属性中准确率最高。主要原因是IcGAN[8]严重改变了其他不包含属性的细节,尤其是面部身份,因此在性别属性上表现得更好。此外,对于秃头、黑发、棕发、眉毛和胡子等属性,FAE-GAN比其他方法的准确率提高了20%。
至于图像视觉质量,采用结构相似指数(structural similarity index,SSIM)、峰值信噪比(peak signal-to-noise ratio,PSNR)评价指标定量分析结果。在所有属性不变,即目标属性向量与源属性向量相同的情况下,采用这些评价措施来评价输入图像与重建图像之间的性能,以表明FAE-GAN能更好地保留不变的属性。IcGAN[8]、FaderNet[9]、StarGAN[6]、AttGAN[7]、FAE-GAN的比较结果如见表2所列。与其他竞争方法相比,FAE-GAN获得了更好的结果,主要得益于如下2个方面:一方面,利用MAN结构,在进行属性编辑的同时,很好地保留了语义信息;另一方面,在解码器中用层归一化替代了批处理归一化,减少了传播过程中输入的草图和颜色信息的分解。
表1 属性生成准确度
表2 5种方法重构损失比较
本文介绍了编解码器网络在面部属性编辑中的缺点,从选择性细化的角度出发,提出了一种多尺度注意力归一化模型,该模型可以在保留图像身份信息的同时编辑属性。
通过利用学习到的仿射变换来指导较低层并结合残差学习,FAE-GAN可以通过更改感兴趣的特定属性来修改图像,同时保留其他不变的 属性。
面部属性编辑的实验表明,在图像重建质量和属性的灵活翻译方面,FAE-GAN优于目前其他一些方法的性能。