基于属性分解融合的可控人脸图像合成算法
2023-02-28陈秋实邵明文
梁 鸿,陈秋实,邵明文
中国石油大学(华东)计算机科学与技术学院,山东 青岛 266000
近年来,随着深度学习技术的发展,人脸特征信息的提取和检测技术越来越成熟,人脸图像因此被广泛应用于各个领域,以实现安全消防、商务办公等环境中的个人身份信息识别。当前生成对抗网络(generative adversarial networks,GAN)[1]在大规模高清原始数据上可以模拟生成逼真的人脸图像,并且可以改变人脸图像的局部特征。但在实际应用中,受制于实际环境下的客观条件,很难获得大量的高清人脸图像作为原始数据进行生成。并且由于不同个体的人脸图像在轮廓特征上高度相似,而在局部细节上存在巨大差异,在原始数据质量较差的情况下,生成的人脸图像很难保持正确的特征信息,存在清晰度差、边缘模糊、五官特征变化等问题。
因此,当面对存在噪声干扰的原始图像时,如何使GAN生成的结果在兼顾关键特征质量的同时最大程度地保留原始人脸特征信息,成为急需解决的问题。本文在原始GAN 网络的基础上进行改进。主要工作总结如下:
(1)提出了一种新的生成对抗网络,通过输入不同来源的人脸图像来合成具有可控属性的生成图像。输入图像包括了全局图像与标注了局部关键特征的细节图像,建模固有属性和组件级关键属性之间复杂的相互作用,对二者进行融合。同时引入改进的注意力模块,促使模型关注局部特征和全局特征关系的同时,提升对通道之间相互影响关系的学习。最终实现了视觉效果更佳、图像失真程度更小的生成效果。
(2)在损失函数中引入色差损失和人脸分量损失。前者约束像素的颜色,用以保持颜色一致。后者将感兴趣区域划分为面部特征的关键区域,并通过格拉姆矩阵(Gram matrix)约束器官的纹理特征。两者共同保证了生成图像中身份信息的保留。
1 相关工作
1.1 人脸特征生成
人脸特征生成与外观风格转移方法[2-4]类似,都是需要在尽可能地保留原始身份信息的同时,变化生成局部关键特征。传统的人脸特征生成方法是利用图像处理技术[5-6],通过提取人脸的五官位置,根据需要的特征风格,从库中调用对应的纹理,匹配或替换生成人脸图片;在视频图像处理领域[7],通过学习特定风格的笔触特征[8],利用真实感渲染来模拟人脸区域的艺术特征;在图像滤波研究领域,研究人员使用桑原滤波器[9]平滑权重函数代替矩形区域,考虑各向异性权重函数形成聚类方法,可以在平滑图像的同时保留图像有意义的边缘信息,从而提高图像特征生成的结果。Kingma 等[10]提出了变分自动编码器(variational auto-encoders,VAEs),通过对潜在单元应用先验来调整编码器,以便对潜在单元进行采样或插入到潜在单元中以完成人脸图像。但是,由于VAEs 的训练目标是基于像素级的高斯似然函数,这种方法生成的图像往往过于平滑甚至模糊。这在修复蓝天白云等较平滑的物体时具有一定的优势,但对于人脸图像并不理想。因此Larsen 等[11]通过添加源自GAN的鉴别器改进了VAEs,并证明可以生成更逼真的人脸图像。一起训练变分自动编码器和对抗损失函数可以防止过度平滑,但可能会导致失真。这种方法需要大量的时间和人力成本来进行初步的采样工作,在实际应用中很难顺利进行。
目前,人们更多地使用生成对抗网络来生成更逼真的人脸图像。生成对抗网络已经被许多学者证明可以用来生成高质量的图像[12-16],并且在文本生成等众多其他方面取得了很好的效果。总体上GAN使用动态博弈的思想,通过生成器和判别器的不断动态对抗,合成其认为真实的图像。然而,大多数基于GAN 的生成方法受到原始图像样本数量和质量的限制,难以保证最终结果的清晰度以及身份特征的保留。于是人们进一步考虑在生成对抗网络中引入多样的注意力机制,来提高网络对于局部相关性的关注程度,更好地聚焦生成特征[17]。同时人们尝试利用多尺度特征图建立梯度传播来解决生成对抗网络稳定性差的问题,进而提升模型在面对不同类型、规模、图像质量数据集时的表现效果[18]。目前对比学习方法也被引入到生成对抗网络中,来保证模型可以在生成图像质量良好的基础上有更多样的生成结果[19]。
同时,对此类任务结果的评价不仅要比较数学分析结果上的数据差异和变化,还要考虑实际实验者的主观视觉感受。基于实验者参与的主观评价方法是一种结合以上两点的相对客观的评价方法。实验者应根据目标任务对生成的人脸图像进行评分以进行评估。
1.2 生成对抗网络
目前随着技术的发展,图像生成模型层出不穷,但并不是所有的图像生成模型都适用于含有噪声干扰的小规模数据生成。其中生成对抗网络兼顾了易用性与可拓展性,例如在pix2pix[20]模型中使用条件生成网络[21]解决图像到图像的转换任务,在pix2pixHD[22]模型中扩展到高分辨率水平。StyleGAN[23]模型提出一种全新的生成器架构来合成效果极佳的图像,该架构通过自适应实例规范化(adaptive instance normalization,AdaIN)[24]来控制生成器。Zhu等[25]提出了一种无需成对数据的无监督方法——循环生成对抗网络(CycleGAN),利用循环一致性生成图像。以CycleGAN为例,其采用了环形网络结构,包括两个生成器和两个判别器,通过对称生成器环状结构实现两个域的图像风格转换,主要应用于图像风格迁移领域。CycleGAN是一个无监督的生成对抗网络。CycleGAN可以在没有任何配对数据的情况下学习两个域之间的映射。CycleGAN的两个生成器需要分别学习从域到对应域的映射,而两个判别器需要学习各自域的真实数据,以确定对应域生成器生成的数据是否是当前域的数据。除了这两个对抗性损失之外,CycleGAN的损失函数还需要添加一个循环一致性损失来保留其输入结构,其中G表示X→Y之间的映射,F表示Y→X之间的映射。不同于之前的生成对抗网络中只有一组生成器判别器,其目的是通过一致的设计思想更好地进行循环对抗。CycleGAN的模型结构如图1所示。
图1 CycleGAN模型示意图Fig.1 Schematic diagram of CycleGAN model
本文方法建立在GAN 的基础上,通过一个带有属性分解的生成器体系结构,克服了复杂局部关键特征生成与身份信息保留等复杂问题。
2 本文方法
2.1 双输入源支持的新型生成器
针对人脸局部关键特征生成问题,本文将全局输入图像分解为两部分:一是应尽量保持身份信息特征不变的区域;二是根据成对样本进行生成的目标条件区域。与以往方法[26]中将输入图像与目标条件混合输入不同,本文的生成器通过独立的分支实现对全局输入图像与关键特征信息的编码。这两条独立的路径最终通过一系列风格融合模块进行连接,完成全局特征与关键信息纹理特征的融合,再利用解码器实现对生成图像的构建。
2.1.1 双输入源特征编码
图2 展示了改进后的生成器结构。首先对于全局输入图像Iin,根据原始图像质量,使用28个下采样卷积层组成全局特征编码器,其组成遵循常见编码器规则配置。而对于局部关键特征输入图像Is,首先通过特征分解编码将其分解为样式代码到潜层空间中,该步骤是通过提取图像的语义映射,并使用来自Iin对应位置的二进制掩码分量Mi,得到多个分解特征。如式(1)所示,其中·表示对应元素的点乘操作。
图2 生成器结构图Fig.2 Generator structure diagram
在纹理编码器Tenc中,为了更好地适应关键特征多样且不断变化的任务情况,通过使用经过预训练的VGG网络来提高编码器的泛化能力,其内部过程如图3所示。
图3 纹理编码器Tenc 示意图Fig.3 Texture encoder Tenc schematic diagram
上述方法对关键条件特征进行了细分分解的编码过程,避免了让模型一次性编码人脸范围内的所有复杂特征,而是分别对某个局部纹理特征进行编码,很好地提高了模型的收敛速度,可以在更短的时间内达到更真实的视觉效果。该结构得益于预训练,在面对少样本量的情况下有较强的特征提取能力,最终所输出的纹理特征代表着经过深度卷积后的抽象特征,是对人脸五官细节样式的特征表示。
2.1.2 纹理特征融合与图像构建
纹理特征融合的目的是将局部关键特征输入所得到的纹理特征融入到全局图像输入得到的全局特征中,在整体的身份特征中体现需要改变的风格特征。该部分由多个级联的风格融合模块F组成,每个模块由带有AdaIN的残差卷积块组成。对于每一个级联块而言,其输入是前一个块的输出特征Ft-1与纹理特征Cs,Ft-1与Cs在残差卷积块中融合运算,得到的输出与Ft-1进行再次相加,具体计算过程如式(3)。
其中,φ表示在级联块中进行的一系列操作,参数A表示AdaIN层所需要学习的仿射变换参数,包含了缩放参数与位移参数,可以用来将各层特征归一化。最后将来自最后一个级联块的输出F输入到解码器中,解码器遵循常规解码器配置,通过多个反卷积层构建生成最终图像Iout。
2.2 特征注意力模块
当原始数据质量不高时,GAN 无法有效捕捉图像的形状和结构。同时,图像中有一些不重要的细节,如果只从同一个全局层次学习,会使网络难以聚焦关键信息。目前视觉注意力机制已经应用于针对图像中关键目标区域进行识别和分类。视觉注意力对于生成人脸局部特征图像同样非常重要,因为它可以让网络知道要生成的特征应该集中在哪里。通常,神经网络通过大量数据来训练网络识别物体的能力,但训练后的网络中图片的整体价值是相等的,而计算机视觉中注意力机制的基本思想是使网络具有忽略不相关信息而专注于关键信息的能力。
因此,本文将注意力模型引入到模型判别器中。注意力模型的本质是通过分配注意力系数来强调对整体图像中关键细节的关注和选择。在关注全局和局部细节的同时,模块需要同时处理不同通道之间的关系,将两部分的关系合并成一个特征关系图。
模块结构如图4 所示。其中C代表输入特征图的通道数,H和W分别代表其高度和宽度。上一层的特征图X∈ℝC×H×W经由不同大小的卷积核进行卷积后再由1×1 卷积调整通道,最后形成4 个特征空间Q、R、S、T。
图4 改进的注意力模块图Fig.4 Improved attention module diagram
特征空间Q主要负责关注通道之间的交互关系。通道注意力图可以通过式(4)得到,其中qm,n表示第n通道对第m通道的影响。
特征空间R和S的通道数都是C/8,但生成二者所采用的卷积核大小不同。通过对上一层特征图X使用3×3大小的卷积核,使之生成的R具有相对较小的感受野,对局部特征的提取更细致,有利于聚焦局部特征。相应地使用7×7的较大卷积核,使生成的S获得相对较大的感受野,用以关注全局特征。在此基础上由R和S经由式(5)得到特征注意力图,其中pj,i表示第i个位置的特征对第j个位置的特征的影响。
之后,将两个注意力图进行转置并与特征空间T进行矩阵相乘,通过式(6)得到最终的输出特征空间E,其中包含局部和全局特征依赖信息以及通道间相互依赖信息。
根据图片不同位置上不断变化的注意力系数可以绘制出注意力热图,如图5所示。观察可知模型在学习过程中,注意力焦点不断关注关键位置,由全图分散状态逐步向中部人脸位置靠近,不断实现对特征细节的聚焦。
图5 注意力热图Fig.5 Attention heat map
2.3 改进的损失函数
模型的总体训练损失可以表示为对抗损失、重建损失、色差损失、人脸关键分量损失的集合,如式(7)所示:
其中对抗损失是考虑真实图像对与合成图像对的分布,让生成器生成的结果尽可能地类似于真实的图像数据。重建损失直接引导生成图像的视觉外观与目标图像相似,加速收敛过程,表示为生成的图像与目标图像之间的L1距离,如式(8)所示,Is、Iin分别表示输入的局部关键图像与全局图像,It表示目标生成图像。
同时,注意到原始损失函数难以改善生成图像与原始图像的色差,因此本文尝试引入额外的色差损失Lcolor。为了计算生成图像与真实图像的色差,需要将RGB 图像转换为Lab 色彩空间。在式(9)中,E00表示Lab 颜色空间中两个图像之间每个像素的色差。JLab(i)和GLab(i)分别是真实人脸图像和生成的人脸图像对应的Lab颜色空间。
为了更好地保留人脸身份特征,在损失函数中加入人脸分量损失。这个损失是为了限制人脸五官中的关键部分,进一步加强模型对人脸的感知能力。如图6所示,根据训练目标,首先选择左右眼、鼻梁、嘴巴,使用ROI align 方法进行修剪。对于每个单独的裁剪区域,使用单独的判别器来判断生成的特征是否是真实的,并且是否接近输入样本中的对应位置。
图6 面部聚焦区域图Fig.6 Facial focus area map
受文献[22]的启发,结合函数中的特征样式损失,改进为使用格拉姆矩阵来计算输入和输出之间的特征相关性。因此这部分损失函数可以表示为式(10)。
3 实验结果与分析
3.1 数据集预处理与实验环境
实验使用CelebA(CelebFaces attributes dataset)人脸图像数据集,其中包含202 599张人脸图像,每个人脸图像样本包含各种属性标签。本文根据有无眼镜标签将所有图片分为两类,一是戴眼镜的图片,二是不戴眼镜的图片。从两类图像样本中随机选取350 张图像作为训练样本,100张图像作为测试样本。本文用于训练算法模型的服务器操作系统为Windows,训练GPU 为TitanX,CPU为Intel Corei7-9700K,内存大小为64 GB。
为了模拟初始图像样本质量较差的情况,需要对训练集样本进行预处理。本实验选用均值模糊、中值模糊和自定义模糊三种预处理方法对样本添加模糊噪声。平均模糊预处理的模糊半径在9~15个像素之间随机选择,中值模糊预处理的模糊半径在7~15 个像素之间随机选择,自定义模糊为使用单通道浮点矩阵运算实现噪声的添加。模糊效果如图7所示。
图7 模糊处理效果图Fig.7 Blur effect picture
3.2 实验过程及评价指标
本文选取CycleGAN 等多个已有算法模型作为对照模型,将分别添加了三种噪声的数据集作为原始输入对未修改的对照模型与本文的改进模型进行训练,然后进行测试并对比实验结果。在测试过程中,进行了两组对照实验,一组测试是从不戴眼镜的人脸图像中生成戴眼镜的图像,另一组则相反。
之后对两次实验中获得的输出图像进行了比较和分析。除了对生成结果进行主观视觉评价外,还采用像素法来定量分析验证模型改进工作的有效性。在基于图像像素统计方面,峰值信噪比(PSNR)是一种常用的质量评价方法[27]。峰值信噪比是通过计算待评估图像与参考图像对应像素灰度值的差值,从统计的角度衡量待评估图像质量。若待评估图像为F,参考图像为R,Q为图像的量化灰度,大小为M×N,则峰值信噪比可用式(11)表示。
除了基于图像的像素统计外,2002 年Wang[28]在图像处理、图像压缩和图像视觉质量评价等研究工作的基础上,首次提出了结构信息的概念[29]。他们认为,人类视觉系统的主要功能是提取背景中的结构信息,而人类视觉系统可以以高度的适应性实现这一目标。因此,图像结构失真的测量应该是图像感知质量的最佳近似。在此基础上,提出了符合人类视觉系统特点的图像质量客观评价标准结构相似性(SSIM)。
SSIM 基于图像像素之间的相关性构建结构相似性。假设给定大小为M×N的两幅图像X和Y,则u(X)和u(Y),σ(X)和σ(Y)分别表示X和Y的像素平均值和标准差,σ(XY)表示X和Y的协方差。亮度l(X,Y)、对比度c(X,Y)、结构相似度s(X,Y)的计算及SSIM 定义可以表示为式(12):
其中SSIM是将生成图像相比原始图像的失真情况建模为亮度、对比度、结构相似度三方面。首先对两张图片分别进行亮度、对比度与结构相似度计算,最后再经由上述三者进行综合计算得出SSIM,其最终计算公式中的三个超参数∂、β、γ通常被设为1。SSIM一定是一个介于0 到1 之间的数,其值越大则说明生成图像相较原始图像失真变化程度越小,生成图像的稳定程度更高。
本算法模型的最终目的是尽可能真实地生成人脸细节特征,因此需要考虑观测者的主观视觉效果。一般来说人眼感知对于色彩亮度对比明显的变化更敏感,也会受到观测者本身感兴趣区域的影响。这更多是从全局角度出发,对图像整体变化更加关注。而PSNR 与SSIM 则更多是从图像像素点的变化出发,以像素点值的变化从细分角度反映总体变化情况,可以从数值角度对人眼视觉的主观评估效果进行修正,因此在实验过程中应当辩证地结合两类分析方法,对实验效果进行综合判断。
3.3 实验结果分析
首先以CycleGAN 为例,图8 显示了根据所描述的实验步骤生成的实验结果示例。
图8 实验效果图Fig.8 Experimental rendering
如图8所示,可以观察到在没有优化的情况下直接进行图像生成时,生成的图像质量并不好。当输入图像含有噪声模糊干扰时,传统CycleGAN算法将会难以学习五官特征,进而导致最终生成图片质量差,出现关键细节特征丢失的情况,其五官效果、面部边缘均很模糊。而通过使用本文算法的生成器结构,以双输入源编码进行学习,得益于局部关键图像的独立输入,在不添加注意力引导的情况下已经可以实现关键特征区域的良好生成,但面部中心器官边缘轮廓仍不够清晰,瞳色等身份特征也不够明显。因此在加入注意力模块进行不断引导后,最终生成的关键特征相较其他方法最为清晰,人脸的整体视觉效果更加良好,需要实现的戴眼镜特征最真实明显,同时未出现巨大的特征变化情况。
对不同模型进行测试后,计算评价指标PSNR 和SSIM,结果如图9 和图10 所示。其中实验A 是指将戴眼镜的人脸图像生成为不戴眼镜的人脸图像,实验B则是相反。
图9 PSNR结果图Fig.9 PSNR result graph
图10 SSIM结果图Fig.10 SSIM result graph
PSNR 是评价图像质量最常用、应用最广泛的客观测量方法。从图中可以得出,改进后的模型在性能上明显优于未改进的CycleGAN 模型。改进后的完整模型在两次实验中的PSNR值为7.84/14.66,无注意力模块的模型在两次实验中的PSNR 值为5.46/13.22,CycleGAN的PSNR值为4.29/11.96。
除了基于图像的像素统计外,SSIM 还用于测量比较前后图像的结构相似性。从实验结果可以得出,本文模型的SSIM值最高,为0.48/0.65,无注意力模块的模型的SSIM值为0.40/0.54,CycleGAN的SSIM值为0.33/0.47。
其他常见生成模型在本任务下的测试结果如表1所示。
表1 实验数据Table 1 Experimental data
总而言之,从实验结果分析来看,本文模型不仅具有更好的视觉效果,更接近真实人脸图像,而且在定量对比上也有更好的性能效果。例如与CycleGAN相比,其PSNR 值和SSIM 值分别提高了3.85%和38.3%。与没有特征处理单元的模型相比,也有2.63%和20.4%的提升。综合图9、图10以及表1的实验数据,从数值上可以直观得出本文算法模型生成的图像相比其他算法模型与原始图像更为相近,同时失真程度更小,结构更为稳定。可以将这种效果提高归结为以下几个原因:(1)相比传统的生成对抗网络将图像作为全局单一输入进行学习,本文模型将全局特征与局部关键特征进行区分学习,给予了模型更高的自由度,可以更好地专注于各部分的特征提取;(2)注意力引导下不断进行生成可以更好地实现关键位置聚焦,避免对于无关特征过度关注而导致其他过度变化出现;(3)多种损失的共同约束作用更好地促使模型尽量保留人脸原始身份特征,多区域裁剪后的独立判断同样是为了避免多组特征相互干扰。总体而言,本文方法增强了模型在数据质量较差的情况下捕捉关键特征的能力,进一步增强了模型的非线性变换能力,而模型泛化能力的增强也有利于整体模型深度的增加和计算性能的提升,并最终实现了人脸图像中关键位置的细节特征生成。
4 结束语
本文提出了一种基于改进生成对抗网络的人脸图像合成算法。改进后的模型通过对局部关键属性的分解与融合以及注意力机制的引入,实现对人脸关键信息的聚焦,从而在生成过程中引导身份信息的保留和细节特征的生成。在使用真实图像的综合数据集上进行实验,无论是在生成图像的视觉感知上,还是在PSNR 和SSIM 数据的量化上,本文方法相比以往方法都有更好的性能效果。不过在轮廓边缘等画面细节及关键特征的生成效果上仍可以优化。在进一步的研究中,可以尝试探索如何在最大化保留身份信息的同时提高图像质量和生成特征质量。