基于生成对抗网络的人脸妆容自动迁移方法

2022-09-30 01:48颜文胜吕红兵
吉林大学学报(信息科学版) 2022年3期
关键词:妆容人脸损失

颜文胜,吕红兵

(1.台州职业技术学院 信息技术工程学院,浙江 台州 318000;2.浙江大学 计算机科学与技术学院,杭州 310027)

0 引 言

图像风格迁移[1]作为计算机科学和视觉应用的研究热点,是一种结合给定的内容图与风格图,生成同时具有内容特征和艺术风格特征的风格迁移图的技术[2-3]。随着神经网络、深度学习[4]等技术的跨越式发展,促进了图像风格迁移技术的研究[5-6]。例如,缪永伟等[7]针对现有的图像风格迁移方法中难以对内容图局部区域进行风格迁移的难点,提出了一种基于卷积神经网络的图像局部风格迁移框架,从而能高效、快速并自然地实现输入内容图的局部风格迁移。李慧等[8]针对图像风格迁移中出现的图像扭曲、内容细节丢失的问题,提出了一种基于深度卷积神经网络的带有语义分割的图像风格迁移算法,从而得到精确的风格迁移,解决了图像扭曲和细节丢失的问题。余志凡等[9]针对传统方法存在风格迁移后图像表现不自然的问题,提出了一种基于Gram矩阵和CNN(Convolutional Neural Networks)的图像风格迁移算法,在更短的时间内更好地实现了艺术图像的风格迁移。

图像风格迁移技术中有一类专门针对人脸妆容的迁移应用,被称为人脸妆容风格迁移。人脸妆容迁移是指把参考妆容迁移到素颜人脸图像上,并保持其上妆风格的一种技术,它提供了快速高效的候选妆容可视化的解决方案,目前得到了学术界和工业界的广泛关注[10]。例如,黄妍等[10]针对真实同人异妆数据缺失以及五官差异而导致的迁移脸部结构丢失等问题,提出了一种多通路的分区域快速妆容迁移深度网络模型,从而得到了更协调的视觉效果与更快的上妆速度。文献[11-12]提出了一种由卷积网络的不同层分别表达的图像结构和纹理,从而实现人脸妆容风格的自动迁移。

神经网络在人脸妆容迁移实际应用中,人工创建的配对训练图像库的规模往往有限,导致妆容迁移效果相对较差[13]。随着生成对抗网络[14]的出现,依其具有图像风格自动迁移,可减少工作量,且结果丰富的优质特性,被广泛应用于图像迁移中。例如,杜振龙等[15]利用改进的循环一致性对抗网络CycleGAN实现了图像风格的自动迁移。张惊雷等[13]提出了一种改进循环生成式对抗网络(CycleGAN++),取消了环形网络,实现了不依赖训练数据映射的图像风格迁移。李君艺等[16]提出了一种基于感知对抗网络的图像风格迁移方法,使生成图与原图在多个网络层次的特征差异能被持续发掘,生成图的内容和风格更接近原图。生成对抗网络在图像风格迁移的成功应用,也为人脸妆容迁移提供了新的、更好的技术途径。国外已有将生成对抗网络应用于人脸妆容迁移的研究[17-18],但国内目前将生成对抗网络应用于人脸妆容迁移的研究成果报道很少[19],有待进一步加强。

为此,笔者综合考虑了一致性损失、感知损失、对抗性损失以及弥补损失,构建了生成对抗网络目标函数;基于卷积-正则化-激活函数思想,采用Encoder-Decoder神经网络,构建了生成对抗网络的生成器,通过最小化妆容迁移图像与原始素颜图像的五官特征差异实现最优化;基于多层卷积神经网络构建鉴别器,将人脸图像分割为N个小部分,通过对妆容迁移图像和参考图像的妆容风格相似度最大化实现迁移最优化,提出了一种基于生成对抗网络的人脸妆容自动迁移方法。

1 妆容迁移方法

为解决上述问题,笔者提出了基于生成对抗网络的人脸妆容自动迁移方法,在不改变素颜图像人脸结构的情况下,精准地将妆容风格迁移至素颜图像上,实现为素颜的自主上妆。整个算法框架如图1所示。

图1 基于生成对抗网络的人脸妆容迁移框架Fig.1 Face makeup transfer framework based ongenerating antagonistic network

1.1 目标函数

生成对抗网络的目标函数包含4方面的损失项:一致性损失、感知损失、对抗性损失以及弥补损失。

为了在妆容迁移过程中保留原图像信息,笔者采用人脸识别模型LightCNN(Light Convolutional Neural Network)[20]构建了一致性损失函数

(1)

(2)

两个鉴别器的目标函数包含了对抗损失,将所生成的图像与参考图像进行区分

式(3)和式(4)中重构项Lrecons(·)的引入,是为了确保只在妆容风格上迁移,并不会偏离原始图像。为便于模型的训练,在生成对抗网络中将图像像素归一化为[-1,1],阈值设置为τ=1,重构项Lrecons(·)则可由

(5)

图2 基于LightCNN的弥补损失Fig.2 Structural parameters of discriminator neural network

(6)

其中fbt(·)为面部特征提取算子。

以上一致性损失、感知损失、对抗性损失以及弥补损失构成了生成器Ga的目标函数

(7)

其中α、β、γ和δ为损失函数权重因子。

1.2 生成器网络

生成对抗网络中生成器的目的是基于输入素颜图像生成服从参考妆容的妆容迁移图像。生成器的输入及输出在人脸形态、五官特征是保持不变的,仅在妆容风格上产生变化,两者的高维特征是一致的。由此,基于卷积-正则化-激活函数思想,采用Encoder-Decoder[21-22]神经网络,如图3所示构建了生成对抗网络的生成器。

图3 生成器的跳跃连接网络Fig.3 Jump connection network for generator

其中Encoder用于素颜图像向高维特征的映射,Decoder用于高维特征解码以及迁移图像的生成,为更好地保留素颜图像原本特征解决网络劣化问题,使用跳跃连接以实现信息共享,即由卷积网络下采样前的权重矩阵直接传递权值到上采样反卷积矩阵中[23]。

1.3 鉴别器网络

笔者构建的妆容迁移生成对抗网络中鉴别器的目的是鉴别妆容迁移图像与参考图像的妆容风格差异。为更好地捕捉图像中的妆容风格信息,基于多层卷积神经网络构建鉴别器(见图4),将人脸图像分割为N小部分,然后通过鉴别器以识别样本是来自于生成的迁移图像还是妆容参考图像,最后将鉴别器对样本的输出均值作为鉴别器的最终输出,具体网络架构说明如表1所示。

图4 鉴别器的网络架构Fig.4 Architecture of discriminator

表1 鉴别器神经网络结构参数Tab.1 Structural parameters of discriminator neural network

1.4 训练算法

EIsrc,Iref(log(1-Ga(Isrc,Iref)))+Lrecons(Ga(Isrc,Iref))

(8)

基于随机梯度下降采用交替优化的方式,优化D1,D2时固定Ga,优化Ga时固定D1,D2,如此交替进行,直至算法收敛或达到最大训练次数,训练过程如下:

1) 重复以下步骤直到达到最大训练次数;

2) 重复循环k次;

5) 通过随机梯度下降更新两个鉴别器的参数φ1和φ2

6)k次循环结束;

7) 通过随机梯度下降更新生成器的参数θ

8) 结束循环。

2 实验验证

为验证笔者方法的有效性和实用性,从互联网上收集了素颜照和彩妆照,组成了妆容迁移实验样本集,并将图像分辨率调整为大小均为256×256像素。

方法训练过程中,将训练的学习效率设为0.002、批量大小为1,利用VGG-16[24]的relu_4_1特征层进行神经网络训练。生成对抗网络中目标函数的权重值分别设为α=1、β=10、γ=0.5和δ=1。

实验验证过程中,随机选择4张素颜照片分别作为生成对抗网络Isrc输入,选择4张带妆照片分别作为生成对抗网络Iref输入,如图5所示。

图5 妆容迁移实验的输入样本Fig.5 The input sample of the makeup transfer experiment

图6 人脸妆容迁移实验效果Fig.6 Facial makeup transfer experiment effect

为检验笔者方法的对比优势,分别同其他先进的风格迁移算法进行了仿真比对。图7和图8给出了笔者方法与其他两种方法对妆容迁移效果的定性比较。其中,CycleGAN[25]采用两个单向GAN构成环形GAN,有效解决了图像风格迁移时需要配对训练数据的问题。但CycleGAN因使用两个单向GAN组成网络,网络结构的加深会使计算复杂度提高,训练速率降低,导致应用性与实时性较差[13]。CycleGAN只是针对图像风格迁移所提出的方法应用于人脸妆容图像上,由于其生成器无法准确把握人脸五官特征,导致在妆容风格迁移过程中上妆位置不准,出现妆容模糊、错误、虚化等问题。BeautyGAN[26]与CycleGAN相似,通过一些鉴别器将风格图像转移到样本图像上,但BeautyGAN更注重专门针对人脸妆容迁移的算法设计,采用了对不同面部区域计算的像素级直方图损失实现妆容迁移。BeautyGAN很好地实现了妆容风格的迁移,但有时还存在不能保持瞳孔颜色、没有相同粉底作为参考等问题,此外在处理带有不同姿势和表情的图像时,脸部上妆错误区域问题也较为突出。笔者方法在目标函数中通过一致性损失、感知损失、对抗性损失以及弥补损失对妆容迁移加以控制,再加上重构项的引入有效提升了不同姿态和表情妆容迁移的准确度,从而获得更为精致、自然的妆容迁移效果。

图7 正面妆容迁移效果比对Fig.7 Positive makeup transfer effect comparison

图8 不同姿态及表情的妆容迁移效果比对Fig.8 Different posture and expression of the makeup transfer effect comparison

表2给出了上述10组测试样本妆容迁移方法耗时情况,笔者方法平均耗时0.25 s,分别比CycleGAN快10倍,比BeautyGAN快2倍。表明笔者所提妆容迁移方法在保持素颜妆图像脸部结构不变,尽可能地体现参考妆容风格的同时,运算耗时更低,方法更为迅速。

表2 方法耗时情况比对Tab.2 Method time consumption comparison

3 结 语

针对人脸妆容训练数据缺乏以及因姿态差异考虑不足而导致上妆区域错误等问题,笔者提出了一种基于生成对抗网络的人脸妆容自动迁移方法。通过在生成对抗网络目标函数中考虑一致性损失、感知损失、对抗性损失以及弥补损失,更有效地提升了妆容迁移准确度;通过采用Encoder-Decoder神经网络构建生成对抗网络的生成器,实现了妆容迁移图像与原始素颜图像的五官特征差异的最小化;通过构建基于多层卷积神经网络的鉴别器,实现了参考图像到生成图像的妆容风格迁移的最大化。最后,进行仿真实验,获得完全保留原素颜图像人脸和五官特征的妆容迁移图像,实现了素颜人脸图像自动上妆的功能,上妆效果好、妆容自然。经过方法对比仿真可知,笔者方法能在保持素颜妆后图像脸部结构不变的同时,尽可能地体现参考妆容风格,且不受不同姿势和表情影响,具有更强的应用优势。

猜你喜欢
妆容人脸损失
有特点的人脸
一起学画人脸
两败俱伤
三国漫——人脸解锁
能打造光泽透亮质感的妆容
菜烧好了应该尽量马上吃
拯救妆容的“小棒子”
走偏锋 暗黑哥特妆容AB面
损失
长得象人脸的十种动物