关键点重建算法在人脸超分辨率重建中的应用

2017-03-06 20:36安婧孙亮
电子技术与软件工程 2016年23期
关键词:关键点

安婧 孙亮

摘 要

文中主要对基于关键点的人脸图像逐点超分辨率重建算法进行研究。在该算法中,对人脸中局部部位的细节进行重建,通过在算法中对人脸关键点附近区域中的超分辨映射函数的分别训练,实现了对人脸超分的逐层迭代重建。实验结果表示,利用该方法可以有效减少目标图像重建中的难度。

【关键词】分层网络 关键点 自编码

1 引言

面向人脸图像的超分辨率技术已经在多个领域广泛应用,如身份认证、网络化监控等应用更加深入和广泛。在本文中,主要采用基于线性与非线性的学习方法,对上述的超分映射函数进行学习。这其中,基于线性方法中选择采用主成分分析;而非线性方法在学习中则主要采用自编码网络,所有的方法均可以对人脸图像的局部区域进行训练超分映射函数的处理与学习。这其中,所提到的自编码网络学习方法,是神经网络学习领域中进行深度学习的主要理论基础。而在图像的超分辨率重构过程中,则主要采用双线性插值的方式来进行初始化处理;接着,将样本学习过程中所获得的超分辨率映射函数用于对人脸图像中局部内容的计算与处理,并将处理结果叠加到全局的人脸图像,从而实现整体图像的超分处理过程。

2 基于局部细节的人脸图像超分辨率重构

2.1 关键点与逐层训练概念

文中所使用的关键点概念,是指人脸图像中,具有一定语义特征的脸部区域,比如:人脸的鼻角、眼角以及嘴角等位置。对于算法中所采用的关键点定位方法,则采用已有的SDM方法,基于大量的人脸关键点训练样本;在对Hessian矩阵的求解中通过学习梯度下降的方式来实现,最终实现对关键点的定位效果。同时,利用常用的关键点提取方法,对存在于较低分辨率图像中的人脸关键点进行提取。

考虑到从分辨率较低的图像重构高分辨率图像过程的难度不小,文中选用逐层训练的方式来实现。具体操作过程为:

(1)采用双线性插值的方式,对需要重构的原始图像进行初始化操作;

(2)利用上述的关键点算法,对人脸图像中所包含的局部特征进行定位处理;

(3)利用得到的关键点,获得其相邻的局部区域,对局部区域的大小,则需要以实验的方式来确定,以便能够获得最佳的重构效果。

在具体的算法设计与实现中,文中针对所有的局部区域进行逐层训练操作。首先,对存在于低分辨率图像和次高分辨率图像中的映射关系进行训练;然后,对存在于次高分辨率图像和高分辨率图像中的映射关系进行训练,以便能够得到更好的重構效果。需要说明的是,在次高分辨率图像的生成过程中,需要经过两次降采用操作,即先将人脸图像中的局部临近像素值进行缩小,逾期大小为原来大小的一半;再利用线性插值的方法,对原始数值进行计算。

在对人脸图像中的各个局部区域,在完成对其逐层的超分辨率重构处理后,将可以将重构得到的所有区域,以关键点位置为依据,将所有区域叠加到原来的全局因条件图像中。对于叠加后的图像,不可避免地存在重叠部分,而对这些重叠部分的处理,文中主要采用像素平均的方法,对重构后图像中所存在的图像灰度突变问题进行有效解决。

不过,对于经过叠加后所得到的全局图像,其中的重叠部分,会产生多样的块状区域,应该加以解决。本文中所采用的方法,主要为基于泊松编辑方法。在泊松编辑的过程中,首先应该完成的是对针对全局图像进行卷积计算,通过采用拉普拉斯算子,可以得到如下的式子:

2.2 基于AE的自编码技术

在如图1中,给出了基于自编码理论的非线性超分网络结构。可以发现,该网络中采用了三层的网络结构体系。

在图1中,输入层所对应的包含于原始图像的局部区域数据。可以利用设定的编码器,来获得相应的隐层,然后再经过设定的解码层,对输出层进行计算,即经过重构后的重构结果。

在具体的实验过程中,对于微环节则主要采用误差反向传播,即BP的方式来实现。利用该方法,可以针对整个模型中所使用的连接权重,进行全局性的微调与优化,对其中所设置的价函数利用梯度下降算法进行最小代,使得存在于超分图像与目标图像之间的误差得以缩减。在优化中所采用的代价函数中,包含了误差项以及正则化项,这里,可以将正则化项理解为权重衰减项,可以实现对权重变化幅度的控制与调整。最后,再利用目标图像与重建结果之间的误差,对相应的权重进行重新调整。

3 实验

3.1 数据准备

本实验主要针对证件照中所常用的人脸图像进行超分辨率运算,将大量的人脸图像以及相应的高分辨率图像作为样本数据进行训练。

3.2 参数设置

算法计算中所选用的人脸局部区域大小,会对整个算法的高分辨率重构效果产生更加直接的影响。在实验中,对于所收集的人脸样本数据,在N分别为20、30、40以及50的情况下,对得到的重构结果进行对比。根据所得到的实验结果,发现在N的取值为30的情况下,所得到的图像重构平均误差的值最小,同时,重构后图像的峰值信噪比的取值更高,所重构得到的图像绿细节信息更优。

在采用的非线性方法中,对于其中的自编码网络的设置,其首层节点数量可以定为900,第二层相应的节点数定为1000,将计算过程中的权重误差设置为0.0005,而算法中的学习率则可以设置为0.01。

需要补充的是,在自编码网络中,其第二层网络还可以采用更深的网络。这样,在从次高清和高清图像的重构过程中,实现的难度会增大,需要对网络进行必要的加深学习处理。比如,在基于PCA的线性回归计算方法中,对于维度为30*30的人脸局部图像,可以将其维度进行降低处理下操作,并在此基础上对经过降维处理后的高低分辨率人脸局部区域图像进行相应的线性回归操作与运算。

3.3 实验结果分析

利用分层网络所设计的逐层训练方法,可以通过对图像细节的重构,实现对计算误差的控制与缩减。具体到人脸图像的重构中,可以对其中的局部区域将其平均误差控制到0.6~0.8的水平。利用低分辨率图像,经过重构后所得到高分辨率图像的效果,要比分层网络训练方法中所得到的人脸细节信息较差。通过采用基于关键点的处于方法,其效果相较于对全图所进行的分层网络重构效果更加较好,这主要是由于在人脸局部区域的训练过程中,其中所设置的参数比较少,相应的网络收敛性能更佳;同时,通过对人脸图像数据每个部分所对应的重构网络的分开训练过程,使得训练与重构过程的速度更快,进而实现对不同区域中图像数据的超分辨率处理与运算。

对于文中实验过程中所采用的逐层训练方法,相较于直接训练方法,所得到的人脸区域图像的重构结果的效果更好。考虑到在人脸的所有器官中,眼睛图像所在区域所集中的信号能量更强,是整体人脸特征的重要表征,是更具有代表性的人脸器官,能够作为人脸重构细节说明的目标图像。通过对人脸重构效果的对比,可以对实验中所采用的分步网络算法的性能进行说明。具体如图2中所示。在该图中,a图表示原始的人眼图像,b图为采用直接方法所得到的重构图像,c图为采用分层网络方法所重构后得到的结果,而d图则为目标图像。

从图2的实验结果可以发现,c图中的重构结果与目标图像更加接近。对于皮肤上的细节信息,所重构得到的结果比较差;而眼皮上的细节信息,则是由低分辨率图像中的信息量所决定的。可以发现,a图和b图中的细节重构结果不够精细,且相应的轮廓也比较模糊。其中,b图中主要利用多层网络方法对眼皮进行直接重构,所得到的效果较差。

利用人脸图像中的关键点,所提取得到的所有局部区域数据,在完成相应的分层训练操作与处理后,就可以将经过重构后的人脸局部图像数据叠加到原图的对应位置上,对于重叠的局部位置,则主要采用增值的方式加以处理,从而得到整个人脸图像的超分辨率重构结果。根据前文说明,还可以采用泊松编辑的过程,对结果中的块状效应进行消除,确保所得到重构结果的平滑性。

利用网络上公开的人脸数据库FERET中所提供的人脸数据,对文中所采用算法的有效性进行进一步验证,通过选用实验数据进行测试的结果,如果3中所示。其中,a图为采用双立方内插方法得到的结果,b图为采用非负权重领域嵌入方法所得到的结果;c图中图像为文中所采用方法的实验结果,在为原始的高清图像;通过比较后可以发现,采用双立方内插方法所得到的实验结果为最差。

4 结束语

在本文中,主要利用基于关键点的图像超分算法,对人脸中不同区域进行区别重建。这样,可以确保所重建的人脸图像更精细;利用对不同区域图像的区别重建,可以对不同区域中人脸图像的超分重建。不过,所采用的算法对人脸皮肤以及眼睛等细节信息的处理还不免够理想。

参考文献

[1]曹明明,干宗良,崔子冠,等基于司寺征描述的非负权重邻域嵌入人脸超分辨率重建算法[J].电子与信息学报,2015,37(04):777-783.

[2]李涛,王晓华,宋桂芹,等基于学习的彩色人脸图像超分辨率重构研究[J].北京理工人學学报,2010,30(02):193-196.

[3]李玉花,齐春.利用位置字典对的人脸图像超分辨率方法[J].西安交通大学学报,2012(06):7-11.

[4]郑梅兰,章品正,郭伟伟,鲍旭东.基于学习的人脸图像超分辨率重建方法[J]. 计算机工程与应用,2009(01):170-175.

作者简介

安婧,女,甘肃省徽县人。毕业于西北师范大学。硕士研究生学历。现为兰州文理学院讲师。研究方向为信号处理、模式识别。

孙亮,男,河北省玉田县人。毕业于西北师范大学。硕士研究生学历。现为兰州文理学院副教授。研究方向为数据挖掘、多媒体信息处理。

作者单位

兰州文理学院 甘肃省兰州市 730000

猜你喜欢
关键点
肉兔育肥抓好七个关键点
GE6B燃机安装关键点控制
利用定义法破解关键点
猪人工授精应把握的技术关键点
融资能力将成为决胜关键点之一
医联体要把握三个关键点
锁定两个关键点——我这样教《送考》
构建高效课堂的关键点