APP下载

基于GAN 的人脸图像光照迁移∗

2019-09-12张晓昆李艳楠

北京电子科技学院学报 2019年4期
关键词:人脸光照图像

宁 宁 金 鑫 张晓昆 李艳楠

北京电子科技学院,北京市 100070

引言

基于深度卷积神经网络的图像风格迁移可以实现将一类图像风格(真实场景图片)转为另一类图像风格(绘画图像),神经网络中,还有一种网络能够实现一类图像转为另一类图像,即生成对抗网络(GAN)。 Isola 在GAN[1]的原理上,实现了一种开放的图像生成转化框架,能够实现图像翻译,将街景标签图像翻译为真实街景图像,将简笔画图像翻译为真实图像。 本文在生成对抗网络的启发下,设计并实现一种基于生成对抗网络的光照迁移方法,实现改变输入图像的光照,使之接近参考图像的光照。

循环一致生成对抗网络(CycleGan)的生成器不仅能实现将图像由原始类型X转换为目标类型Y,还能将图像再转换回原始类型X, 以判断生成器的转换能力。 受这一点启发,本文设计能迁移光照效果和去除光照效果的网络,可迁移理想的光照效果,也可将图像恢复为均匀光照或者无光照的图像,即去光。 如图1 所示,为图像的光照迁移和去除光照示意图。

本论文的创新点在于提出了新颖的基于GAN 的人脸光照迁移方法,实现了对整幅人脸图像的光照分析与重渲染,并保持了目标人脸图像的几何结构特征和细节特征。 本文从迁移效果等方面进行了实验验证与结果分析,结果表明,与其他方法相比,我们的方法在光照迁移效果上表现良好。

图1 光照迁移和去除光照示意图

1 相关工作

在人脸图像的后期合成工作中,经常需要将参考人脸图像的光照属性重渲染到目标人脸图像。 如何在保持目标人脸图像几何结构特征的同时,生成近似于参考人脸图像的光照效果,是人脸图像光照分析与迁移需要解决的关键问题。

人脸图像光照迁移有两大类解决思路,一类是基于模型[11][12],对人脸建模,通过模型获得图像的光照信息,从而迁移光照效果;另一类是基于图像分解,通过图像本征分解或者滤波器分解等多种方式,旨在从二维图像中分解出光照信息,从而迁移光照。

人脸光影迁移最初使用商图[13]从图像中提取参考人脸的光影信息。 该方法首先通过在没有饱和或曝光不足的静态光照下拍摄参考照片,然后在各种光照条件下拍摄参考的照片并与均匀光照条件下的照片推导出不同带有反射率场的商图,最后利用参考照片生成的商图对均匀光照条件下的目标人脸图像进行重光照。 但是商图需要在参考对象静止的条件下,拍摄两张图像,使得该方法在互联网条件下难以推广和普及。 基于滤波器的方法[14-17]能够将单幅图像的光照迁移到均匀光照条件下的目标人脸上,该类方法首先使用滤波器分离图像的低频部分和高频信号,低频部分是光照信息,高频信息是人脸的皮肤细节信息。 然后用参考人脸的高频信息替换目标人脸的低频信息。 为了尽可能将光照信息与人脸皮肤细节分离,滤波器的参数会根据图像先验信息自适应计算。 但是依然存在以下局限性:(1)只有在参考人脸图像和目标人脸图像形状相似的假设前提下此方法才能够生成较好的光照迁移效果;(2)没有分离出光照信息而只传输与光照信息相关的特征层,导致某些情况下迁移了参考人脸图像的外观。

深度学习的兴起为计算机视觉领域的很多研究带来了突破,2018 年Zhu 等人提出了一种无需成对图像的基于GAN[1]的图像转换CycleGAN[2]。 他构建了两个生成器网络和一个循环一致损失,两个生成器网络分别用来生成不同风格图像,循环一致损失用来约束输入图像经过两个生成器网络后所得图像与自身一致,从而增强生成器网络生成某种风格图像的能力。 CycleGAN 解决了传统GAN 中需要成对图像的问题,即需要图像在两种风格下的真实图像。

Tu[18]等人介绍了基于深度学习和马尔可夫随机场(MRF)的人脸光照迁移方案。 他使用Yale Face 数据集中成对的人脸数据训练,分别为同一摄像对象在原光照和参考图像光照效果下的图像,用成对数据组建两个指定光照效果的数据集。 首先将数据集中的每幅图像分解为光照分量和详细纹理分量,然后分别训练提取光照特征和细节纹理特征。 最后,基于MRF 方法综合光照特征和细节特征,得出光照迁移的结果图像。 该方法的缺陷在于只对局部人脸做光照迁移,没有对整幅图像做光照迁移,并且损失了测试图像的部分面部特征。

目前光照迁移方法只迁移图像人脸部分的光照,尚没有较好完成对图像非人脸部分的光照迁移。 而更实际应用中需要对整幅人脸图像,包括人脸部分和非人脸部分都做光照迁移,以改变整幅图像的光照效果。 本文希望能研究出对整幅人脸图像做光照迁移的方法,它能使整幅目标图像获得理想光照效果的同时,更接近实际的光照迁移应用场景,并能保持目标人脸图像的几何结构特征和细节特征条件。

2 光照迁移方法

2.1 生成对抗网络原理

生成对抗网络受博弈论的纳什均衡[2][3]启发。 两个功能不同的网络为一组构成生成对抗网络。 一个为生成器网络,根据给定的图像数据学习数据特征,生成具有给定数据特征的新图像。 另一个为判别器网络,用来鉴定图像数据是生成器网络生成的图像,还是真实存在的图像。生成器网络的目标是不断学习图像的特征,生成足够真实能以假乱真使判别器网络无法鉴别的图像。 判别器网络的目标是一直增强自身的判别能力,分辨出真实存在的图像和生成器生成的图像。 一般交替优化两个网络,使二者达成一种平衡状态,这个过程就是纳什均衡。

一般用G表示生成器网络,D表示判别器网络,生成对抗网络的结构示意图如图2 所示。生成器网络的输入为随机噪声,判别器网络的输入为真实图像数据集和生成器网络生成的图像,输出为图像是真实图像的概率。 目标公式为公式1。

图2 生成对抗网络结构图

其中,x表示随机噪声,z表示真实数据集,生成对抗网络的目标即不断增强提高判别器D判别数据的能力,同时不断训练生成器网络G来降低D判断正确的概率。

2.2 循环生成对抗网络原理

循环生成对抗网络即CycleGAN[2]网络,传统的GAN 需要成对的数据,即一组原始类型图像和目标类型图像的组合,但现实中成对的数据很难获取,而CycleGAN 解决了成对数据难以获取的问题。 如图3,以人脸光照图像解释传统GAN 和CycleGAN 所需数据的区别。 GAN 需要的图像数据集为同一摄像对象两种不同类型的光照,CycleGAN 的数据集不需要同一摄像对象,只需两种类型的光照图像数据集。

CycleGAN 的结构如图4 所示。 CycleGAN包括生成器网络G和F,生成器网络G的功能是由类型x的图像生成类型y的图像^y,生成器网络F的功能是由类型y的图像生成类型x的图像^x。x和y是真实图像数据,^x和^y是由生成器网络生成的图像,Dx和Dy的功能是判别输入数据是真实数据x、y还是由生成器网络生成的图像数据^x、^y。 CycleGAN 的损失函数包括公式2、3 和4。

图3 GAN 所需成对数据和CycleGAN 所需不成对数据示意图

图4 CycleGAN 结构示意图

其中X和Y为两个图像域,生成器网络G生成接近图像域Y的图像G(x),DY是区分图像是G(x) 还是真实图像y的判别器,y∈Y。 生成器网络F生成接近图像域X的图像F(y),DX是区分图像是F(y) 还是真实图像x的判别器,x∈X。 与GAN 一样,网络训练的目标是不断增强提高判别器DX和DY判别数据的能力,同时不断训练生成器网络F和G来降低两个判别器判断正确的概率。

2.3 光照迁移原理

一个基于生成对抗网络的应用实例是将任意的彩色衬衫图像转换为白衬衫图像,即CycleGAN 中相对应的两个生成器网络中,完成后向传输的网络能够去除衬衫上的图案使衬衫转换为白衬衫。 以图像风格迁移来解释,这种前向传输网络(风格迁移)需要输入图像和参考图像两个输入数据,而后向传输网络(去除风格)只需要带有风格的图像为输入数据。

本文的光照迁移方法采用的前向传输网络和后向传输网络为非对称网络的一种模式[9]。包括两个不对称的网络,一个是前向传输的迁移光照的网络,可以根据任意参考图像的光照效果,迁移到任意的输入图像上;另一个是去除光照效果,将带有明显光照效果的图像恢复为没有光照或光照均匀的原始图像。 每个生成器网络均和判别器网络一同训练。 为了加强网络重现参考图像光照效果的能力,本文受人脸图像匹配变形启发,将参考图像中的摄像对象的人脸,变形为和输入图像相同的人脸,用变形后参考图像和输入图像训练光照迁移网络对应的判别器网络。

为了对不同摄像对象进行光照迁移,我们使用无监督的方法。 如图5 所示,同时训练两个独立的神经网络G和F,G用于传输特定的光照效果,F用于去除光照效果,对G输入图像的重构。 期望通过使用不同的训练图像数据,网络G可以将其学习到的光照迁移方法推广到其它未被训练的光照效果图像中,并且能够将任意的光照效果迁移到任意的输入图像中。 在光照迁移网络中,给定带有光照效果的参考图像和无或均匀光照的输入图像,光照迁移网络G从参考图像中提取光照信息并将光照信息迁移到输入图像上。 在去除光照效果的网络中,给定带有光照效果的输入图像(和光照迁移网络的参考图像相同),去除光照效果的网络F可以学习去除带有光照效果的输入图像的光照效果,得到无或均匀光照的结果图像。 由此F网络的输出可以与G网络的输入进行比对以实现重构损失,从而约束光照迁移过程中可能出现的模式崩塌。 可将G的输出作为带有光照效果的图像输入到F中以获得输出,使得带有光照效果的图像数据增加一倍。 根据光照迁移的特性,采用以下损失函数。

图5 基于GAN 的人脸图像光照迁移网络图

本文首先采用对抗性损失来约束G的结果,使其看起来与来自图像数据集Y的光照效果接近。 损失函数定义为:

公式6 中,判别器DY试图区分出来自图像数据集Y的真实数据和由G所生成的数据G(x,yβ),并且生成器网络G的目标是生成DY无法区别的图像。

本文也使用对抗性损失如公式7 所示,来使得F可以生成与图像数据集X中的无或均匀光照的真实图像难以区分的结果图像。

公式6 和公式7 的对抗性损失约束了G的输出,使其结果接近带有光照效果的人脸面部,但会损失x的部分面部结构特征,我们使用L1损失来缩小面部结构的差异,如公式8 所示。

公式8 限制了G的输出,使得输出图像在接近Y(带有光照效果的图像)的过程中保留自身的面部结构特征。 但是这还不能够确保成功迁移特定光照效果的光照细节。 因此,本文额外定义了两种风格损失,L1 重构损失和风格判别器损失。

2.4 网络结构设计及训练参数

生成器网络G和判别器网络F的常用结构选择是传统的编码器解码器网络Unet[8],它逐步将输入图像编码为紧凑的隐藏代码,然后逐步上采样隐藏的代码,以重建与输入图像相同分辨率的图像。 Unet 能够保留输入图像中较突出的亮度,并生成新的光照,但它无法处理比例和方位的差异。 本文使用DRN(Dilated ResNet)[10]结构来代替Unet。 扩展卷积增加了深层网络层的接受域,同时保持空间分辨率以避免信息丢失。 DRN 利用高分辨率特征矩阵来保存图像细节,其降低层可以进一步提高空间预测的准确性。 本文的生成器网络包含三个扩张剩余块,还在网络末端添加了两个降低层,以避免结果中产生伪影。 本文的生成器网络G将两个图像作为输入,而生成器网络F的输入只有一个图像,因此不需要级联。

判别器网络依照pix2pix 中的256× 256 鉴别器的设计。 生成器网络G不是直接生成输出像素,而是计算可以添加到输入图像来获得结果输出图像的增量图像。 我们希望保持输入图像的皮肤细节特征不变,只对图像的光照信息进行迁移。 由此,增量图形应该是稀疏的,并将一个正则化项LyR=‖G(x,yβ)-x‖1以0.1 的权重加权到目标函数。

具体的训练细节设计为: 首先使用CycleGAN 预训练生成器网络F。 CycleGAN 可以去除面部大部分的光照效果,但不能将特定的光照效果迁移到另一个新的图像上。 有CycleGAN 初始化F后,交替进行G的训练和F的微调。 经过实验验证设置λG=λF=λP=0.5,共训练400 轮。 如图6 所示,分别为参数设定0.2、0.5、0.8 的结果图展示。

图6 不同参数设定结果图

3 实验结果及分析

3.1 数据集

本文使用Yale Face 人脸数据集。 为去除数据集中图像背景部分窗户等过亮因素的干扰,我们对该数据集做了处理。 首先,裁剪去除图像中过亮的背景部分,在此基础上裁剪图片为正方形,然后将图片重新调整大小为256× 256 的图像。 通过这种方式,收获了1368 张图像的没有光照效果的图像数据集,2394 张图像的带有光照效果的图像数据集。 数据集包含男性和女性,不同的种族和不同的光照效果。

如图7 为处理前图像数据和处理后图像数据的示意图,背景中的窗户影响了整体的光照效果,故将其去除。 由于每个拍摄对象构图不同,不同拍摄对象处理的具体操作存在细微的差别,但目标相同。 对上述3762 张图片均做如图7 所示的处理。

图7 数据集处理示意图

3.2 实验效果分析与对比

如图8 所示,为基于GAN 的光照迁移网络更多的实验结果。 本文的迁移方法不仅能够在不同性别之间迁移光照,还能够迁移不同光照效果的光照。 能够迁移一定程度的光照,并且如图中第三行结果所示,能迁移脖子部分的光照效果,产生一个自然过渡的结果。

图8 多组光照迁移结果图

如图9 所示,为基于GAN 的光照迁移结果和基于滤波器的光照迁移、基于CNN 的光照迁移的对比。 相较于基于CNN 的光照迁移,基于GAN 的光照迁移能够迁移不同摄像对象图像间的光照效果。 相较于基于滤波器的光照迁移方法,基于GAN 的光照迁移能够自然迁移脖子部分的光照效果。

图9 实验结果对比图

由图10 所示,图(1)给出了迁移结果图像亮度层和参考图像亮度层的差值在不同值域上的分布,图(2)给出了迁移结果图像亮度层和参考图像亮度层的差值在各个亮度值上累计百分比。

图10 基于GAN 的人脸图像光照迁移方法精度分析图

图11 去除光照实验结果图

图11 为去除光照效果的实验结果图。 本文的光照去除方法能够去除面部的光照,并且结果图像能够保留输入图像的面部结构特征。 缺陷在于受实验环境的限制,所产生的结果图像不够清晰。

4 结论

本文提出了一种光照迁移与去除方法,用于将任意的光照效果迁移到任意的输入图像中,并能够去除光照效果。 本文引入了非对称风格迁移的想法,以及用于训练光照迁移和去除光照效果的网络框架。 与之前的光照迁移工作相比,本文能够迁移整幅图像的光照效果,能够更快更迅速地产生逼真的结果,在一组不同摄像对象作为输入图像和参考图像的情况下,能够保留输入图像的面部结构特征。 此外,本文拓展了光照处理的工作,实现了去除光照。 光照在人脸识别等领域会对实验产生很大的干扰和影响,因此去除人脸图像的光照在实际中也有很广泛的应用。

猜你喜欢

人脸光照图像
肉种鸡的光照不应性对养殖生产的不良影响分析
基于生成对抗网络的CT图像生成
有特点的人脸
一起学画人脸
浅析p-V图像中的两个疑难问题
玻璃窗上的人脸
巧用图像中的点、线、面解题
隐蔽的力量
水禽舍的光照及其控制
蛋鸭的光照管理