APP下载

双层级联神经网络的人脸超分辨率重建

2020-07-06刘嘉佩杜康宁

计算机工程与应用 2020年13期
关键词:低分辨率人脸分辨率

刘嘉佩 ,曹 林 ,杜康宁

1.北京信息科技大学 光电测试技术及仪器教育部重点实验室,北京100101

2.北京信息科技大学 信息与通信工程学院,北京 100101

1 引言

图像超分辨率重建是计算机视觉领域一个经典问题,旨在从低分辨率图像中恢复高频细节。其中,人脸作为视频和图像等媒介中经常出现的一类对象,对其进行超分辨率具有广泛的应用价值。例如,人脸检测与处理、验证与识别;公共区域安防检查、终端解锁与快捷支付等。经典的人脸超分辨率复原方法可分为两大类[1]:基于复原的方法和基于学习的方法。基于复原的方法通过求解图像降质的逆过程获取高分辨率图像,但计算量大,不同图像退化模型不唯一,重建结果与原图存在较大差距。基于学习的方法则通过学习高低分辨率图像之间的内在联系完成重建任务[1],由于基于学习的方法能够自主的学习图像规律,已成为超分辨率的主流方法[2]。基于学习的方法中,通过训练神经网络完成重建任务的思想随SRCNN(Super-Resolution Convolutional Neural Network)[3]的提出得到了广泛关注。SRCNN 堆叠了三个卷积层学习高低分辨率图像对之间的非线性映射,从而完成超分辨率任务。但由于SRCNN 的网络层数较少,只能提取浅层信息,重建的图像较模糊。以SRCNN为基础,Wang 等人[4]将网络深度扩展到20 层提取深层特征,将高低分辨率图像残差作为学习目标,减轻模型运算量。Kim等人[5]提出DRCN(Deeply-Recursive Convolutional Network)使用递归网络循环处理数据,并在网络层中加入跳跃连接,缓解梯度消失与爆炸现象,充分利用低分辨率信息。Tong 等人[6]用稠密块减轻网络梯度消失等问题,支持特征复用,减少参数,降低训练难度。这些方法证明加深网络层数、学习残差图像、层间跳跃连接等方法在重建多种类别的图像,包括人脸重建任务时的有效性,但由于人脸是一类具有规则结构表达的对象。利用普通超分辨率算法进行重建往往无法获得最佳效果。

针对人脸图像,Yu 等人[7]提出UR-DGN,首次将生成对抗网络引入人脸超分辨率过程,并使用近似对齐的正面人脸图像训练模型。解决了由于输入分辨率过低,难以定位五官等信息,导致重建结果出现伪影的情况。但由于数据集中的图片类别单一,重建侧面及其他姿势的面部图像存在较大误差。Zhu等人[8]通过交替优化面部重建任务与面部密集场估计重建轮廓清晰的人脸图像,但由于采用非端到端的网络结构,学习过程较复杂。Song等人[9]则将输入图像依照五官划分为5个不同区域,经过对应的卷积神经网络生成重建图像,使用区域增强方法生成具有丰富五官细节的完整重建图像。但由于拼接的原因,重建效果不均匀并会出现明显的不连续区域。Li 等人[10]提出GFRNet,将属于同一人的待重建图像与另一张高分辨率引导图像作为共同输入,估计稠密流场以对齐引导图像与待重建图像,利用对齐后的图像完成重建。重建结果能够很好的保留人物特征,但这种方法需要同一人的高清图像辅助重建,而这一条件在实际应用中较难满足。

针对以上人脸超分辨率算法的不足,考虑到逐渐提高图片清晰度有利于达到图像从粗糙到精细的特性[11],本文设计了一种双层级联神经网络重建人脸图像。

其中,第一层基于深度残差网络提取输入图像的深层特征;第二层将面部估计模块与残差模块结合,提取输入图像的面部关键点信息,约束重建图像人脸五官的精确性。训练过程中,使用不同的下采样因子(×2、×3、×4)降质高分辨率图像构成训练样本,交叉训练网络模型。

综上,本文提出的双层级联神经网络人脸超分辨率重建方法主要完成以下任务:

(1)基于深度残差模块以端到端的方式构建双层神经网络,逐层提取图像高频特征完成重建。

(2)针对人脸的特有结构,在重建网络中加入人脸信息估计模块辅助重建,从几何层面约束重建结果,有效应对多姿态人脸的重建任务。

(3)使用混合放大因子训练模型,提高模型泛化能力。

2 双层级联卷积神经网络

本文提出一种基于双层级联神经网络的超分辨率重建方法,包含两部分:先验恢复网络以及结构约束网络。网络流程如图1 所示。给定低分辨率输入图像为ILR,经过双三次插值放大,得到与对应的高分辨率图像IHR相同大小(128×128)。输入图像ILR首先经过第一层先验恢复网络得到初步重建的图像:

随后,第一层的输出IMID通过第二层结构约束网络,得到最终的重建图像:

图1 双层级联神经网络结构图

在训练阶段,重建图像ISR与真实高分辨率图像IHR一并作为判别器的输入,判别器随机选择一张图像判别其真伪并输出判别结果。

2.1 先验恢复网络

为了从低分辨率输入中提取深层特征,重建高频信息丰富的人脸图像,同时避免由于网络过深而导致的梯度消失等现象。本文以残差块[12]为设计先验恢复网络的基本架构,残差块包含两个大小为3×3 的卷积层,每层均连接一个批量归一化层,中间使用PReLU 作为激活函数。

由于当输入图片分辨率过低时,从中提取出人脸的准确结构信息难度较大。因此,网络首先从输入的低分辨率人脸图像中提取图像的深层先验特征。网络结构如图1(a)所示。低分辨率输入首先经过一个大小为3×3 的卷积核,为减少运算,设置移动步长为2,特征图大小为输入的一半。随后20层残差块对图像进行特征提取,再由反卷积层放大图像至初始大小并使用一个卷积层重建图像。

2.2 结构约束网络

通过约束第一层网络的MSE 损失及感知损失(详细描述见3.1、3.2 节)能够获得高频细节丰富的良好重建图像,但由于没有将人脸的面部结构信息加入到面部重建过程中,在重建一些表情丰富或姿势多样的图像时,重建图像的五官细节可能会出现明显错误。

为减轻这种错误的影响,第二层结构约束网络引入一种对称的沙漏结构(Hourglass,HG)[13]估计人脸先验信息。一个四阶沙漏块的基本结构如图2所示,通过在对称层之间使用跳跃连接,沙漏块能够有效整合各种尺度特征并且保留不同尺度的空间信息。多层堆叠的沙漏块(Stucked HG,SHG)能够捕捉面部各个关键点的空间位置信息进行面部估计。此外,叠加的HG模块通过复用上一级的信息能够极大地提高估计精度[13]。结构约束网络如图1(b)示,上层的重建结果经过浅层特征提取后通过两层叠加的HG模块获得面部关键点热图,随后,经过三层残差块对特征解码,两层反卷积层将特征恢复至初始大小,最后由一个卷积层完成重建。通过对关键点热图进行中继监督,加强重建图像与真实图像的面部一致性。此外,在重建过程中,HG模块也可以提供更多的高频信息[14],有助提高重建效果。

图2 Hourglass模块结构图

3 损失函数

3.1 重建损失

给定低分辨率输入图像为ILR,对应的高分辨率真实图像为IHR。经过第一层先验恢复网络的输出为IMID=G1(ILR) ,第二层结构约束网络的输出为ISR=G2(IMID)=G(ILR)。定义训练集为,N为训练样本对数量。则重建损失用来最小化重建图像与真实图像间的像素距离,定义为:

3.2 感知损失

单独使用重建损失能够约束两张图像在底层像素上的一致性,提高PSNR 值,但重建图像还应与真实图像在高层特征上也保持良好的一致性。SRGAN[15]以及Johnson 等人[16]提出的感知损失,通过约束两张图片在特征空间的相似度,使重建图像在细节上更接近真实图像。SRGAN 使用VGG-19[11]结构中第五个池化层之前的第四个卷积层后的高级特征,定义感知损失定义:

其中,ϕi,j表示在VGG19网络中第i个卷积层之前的第j个卷积层(在激活层之后)的特征图,VGG loss是重构图像和参考图像的特征图的欧式距离,上式中的Wi,j和Hi,j表示特征图的维度。

3.3 关键点损失

为加强重建人脸图像与高分辨率图像的空间一致性,本文分别将高分辨率图像与重建图像通过2.2 节第二层结构约束网络,得到各自图像对应的的人脸关键点热图,并将关键点损失定义为:

3.4 对抗损失

基于生成对抗思想[15],本文将双层级联神经网络整体作为生成器,使用判别器网络在无监督学习下通过约束对抗损失强制生成更真实的高分辨率人脸图像。在训练过程中,判别器在重建图像与真实图像中随机选取一张,区分实际数据分布与生成数据分布。判别器与生成器相互作用,促使生成器产生逼真细节的图像。为了避免普通GAN难收敛的问题,本文使用WGAN-GP[17]将对抗损失定义为:

3.5 总损失

综上,整个网络的目标函数为:

其中,α、β、χ、δ为各自损失对应的权重。

4 实验结果

4.1 数据准备及参数设置

本文选取CelebA 数据集中的2 000 张图片作为高分辨率图像构建训练样本集,并在CelebA与Helen数据集中各选择100 张图片构成测试集。为确保测试集样本的多样性,正面人脸图像以1∶1的男女比例占测试集的50%,侧面人脸、遮挡人脸各自占20%,其余10%为非常规表情人脸。样本集中的每张图像以人脸区域为中心,被裁剪至128×128的大小并进行降质处理,

式中,图像I首先与标准差为ρ的高斯模糊核kρ做卷积运算,之后进行系数为s的下采样操作↓s后叠加噪声系数为σ的加性高斯白噪声nσ,最后使用质量系数q对图像进行JPEG压缩得到降质图像Id,s。为使网络的输入与输出大小一致,使用双三次线性插值(Bicubic)将Id,s放大至初始大小作为低分辨率样本:

为增强模型泛化能力,设置s∈{2:1:4},ρ=1,σ=3,q=50。

在训练阶段,各个损失函数对应的权重分别为α=1,β=0.1,χ=0.005,δ=0.01,设置Batchsize为10,初始学习率为0.1×10-3,使用RMSprop优化网络,所有模型均在PyTorch 中实现,使用Titan XpGPU 迭代300次共用9小时。

4.2 网络有效性实验

考虑到从低分辨率图像中直接估计面部结构较困难,本文以先验恢复网络为第一层初步重建图像,再通过第二层的结构约束网络提高人脸重建效果。因此,为验证结构约束网络在人脸重建任务中的有效性与网络整体结构的合理性,分别搭建Net_1 与Net_2 进行验证。其中,Net_1 从原网络中移除第二层结构约束网络,将判别器直接作用于第一层网络的输出;Net_2 则调换两层网络的位置,其余部分保持不变。Net_1 与Net_2 均使用与本文方法完全相同的数据集和参数进行训练。

如图3分别展示了Net_1与本文方法在2、3、4倍放大因子下的重建效果,图中代表性的区域以红色方框进行标注,并在右下角放大显示。可以看出,与去掉结构约束网络的Net_1相比,本文方法具有更清晰的面部轮廓,对五官的表现更加准确与锐利,还原了更多的高频细节(如头发、饰品、背景)。此外,本文能够正确地恢复五官,而Net_1的重建图像在放大倍数较高时均出现了不同程度的错误。

图3 结构约束网络在重建图像视觉效果上的对比

如图4,比较了Net_2 与本文方法在CelebA 测试集下的峰值信噪比(Peak Signal to Noise Ratio,PSNR)。由图可见,在多种放大倍数下,本文方法均取得了更优的PSNR 值,放大倍数越高,本文与Net_2 的PSNR 差距也越大。因此,有必要使用先验恢复网络初步重建输入图像,之后再进行优化,以达到更好的效果。

图4 网络层顺序在重建结果PSNR值上的对比

4.3 对比实验

本文使用2~4 倍放大因子对Bicubic 放大后的低分辨率人脸图像进行重建,并与Bicubic 方法、SRGAN 方法以及WGAN方法的重建结果进行对比。量化对比采用图像处理任务中经常使用的PSNR 值和图像结构相似度(Structural Similarity Index,SSIM),结果如表1 所示。由表可见,在CelebA 数据集下放大因子分别为2、3、4 倍时,本文的PSNR 值相比其他方法分别平均提高了 1.91 dB、2.34 dB、2.58 dB,SSIM 值 分 别 提 高 了0.044 3、0.067 8、0.082 7。可以看出,尽管随着放大倍数提高,本文的PSNR与SSIM值有不同程度的降低,但相比其他方法,本文在高放大倍数时能够恢复更多细节,在 Helen 数据集上,平均PSNR 值提高 1.24 dB,SSIM 值提高了0.040。由于选择CelebA作为训练集,因此Helen测试集的数值结果提升较小。

表1 不同算法在不同数据集中重建效果比较

从视觉效果上对比了以上方法与本文的重建效果:图 5 分别使用 2、3、4 倍放大因子在 CelebA 测试集上进行对比。可见,在不同放大因子下,本文均能重建出清晰的面部轮廓,相比其他算法,也能恢复更接近原始图像的五官形状以及更精致的纹理细节。尽管随放大因子的增大,重建图像的清晰度逐渐降低。但放大倍数越高,重建效果提高越大,与量化指标相一致。图6以3倍放大因子在Helen测试集上进行对比。依然能够获得清晰的重建图像。

图5 CelebA数据集上不同方法在多放大因子下的重建效果比较

图7展示了本文方法在以放大因子3重建多姿态人脸(例如表情人脸、侧面人脸、有遮挡人脸)时的表现。在此类面部五官难以准确识别的图像中,本文方法仍可准确重建面部轮廓与五官。

图6 Helen数据集上放大因子为3时重建效果比较

图7 不同场景下重建效果比较

5 结束语

本文提出一种基于双层级联神经网络的人脸图像超分辨率重建算法。首先,构建深度残差网络提取图像深层先验信息,初步恢复重建图像;再叠加人脸结构估计模块,提取图像中人脸关键点信息约束重建结果;最后引入生成对抗损失,提高图像视觉效果,使用混合放大因子训练模型,提高模型泛化能力。实验结果表明,本文方法在主观视觉与客观量化上均可得到较普通方法更好的评价,获得细节丰富、轮廓清晰的重建图像,并能充分应对复杂情况下的重建任务。

猜你喜欢

低分辨率人脸分辨率
红外热成像中低分辨率行人小目标检测方法
有特点的人脸
一起学画人脸
基于边缘学习的低分辨率图像识别算法
EM算法的参数分辨率
原生VS最大那些混淆视听的“分辨率”概念
三国漫——人脸解锁
树木的低分辨率三维模型资源创建实践
一种提高CCD原理绝对值传感器分辨率的方法
基于深度特征学习的图像超分辨率重建