一种基于相似度保留堆叠自编码器的人脸姿态重建与识别方法与流程

文档序号:11211648阅读:535来源:国知局
一种基于相似度保留堆叠自编码器的人脸姿态重建与识别方法与流程

本发明涉及计算机视觉和模式识别领域,具体涉及一种基于相似度保留堆叠自编码器的人脸姿态重建与识别方法。



背景技术:

人脸姿态重建与识别由于其巨大的理论研究空间以及在广泛的实际应用中具有良好的应用潜力,成为了目前的一个热点研究领域。现实中,人脸在不同环境中易受姿态变化的影响,使得基于姿态变化的人脸识别问题成为了一个研究难点。识别带有不同姿态角度变化的非配合主体对于公安刑侦破案、出入口控制、边界安防等领域发挥着至关重要的作用。

在实际应用中,如视频监控和图像采集等场合,由于用户的非配合,致使采集到的图像存在不同程度的角度旋转,从而导致人脸被部分遮挡以及脸部纹理形变,最后提取到的姿态特征不能很好和原始正脸图像的特征相匹配,从而降低了识别率。

为了解决姿态变化带来的人脸重建和识别问题,目前现有的技术主要为2d和3d两类方法。2d方法中的经典方法是运用堆叠步进自编码器网络结构来将较大姿态的人脸图像逐步地转换为较小姿态的图像,从而完成正脸姿态的重建。这种方法虽然能够提取到鲁棒性较强的姿态不变特征,但是其在某种程度上,使得在姿态重建过程中,人脸的局部纹理信息丢失太多,导致重建后的正脸图像质量下降,从而影响了后续的识别性能;在3d方法中,则主要是运用基于三维人脸建模的方法来处理姿态变化带来的识别性能降低等问题。基于3d建模的方法其计算量较大,且在某些情况下,运用3d方法进行姿态重建后的人脸其识别率没有得到很大程度上的提升。



技术实现要素:

本发明的目的是针对现有技术的不足,而提供一种基于相似度保留堆叠自编码器的人脸姿态重建与识别方法。这种方法能够消除人脸图像的姿态角度偏转影响、能够提取到人脸对于多姿态变化更具鲁棒性的特征,且提取到的姿态特征能和原始正脸图像的特征相匹配,从而提高识别率。

实现本发明目的的技术方案是:

一种基于相似度保留堆叠自编码器的人脸姿态重建与识别方法,包括如下步骤:

1)多角度人脸图像的姿态角度步进减小:给定多角度姿态输入图像x(1)以及图像x(1)下一级小姿态角度图像将x(1)作为第一步进自编码器的输入,则作为第一步进自编码器的期望输出,接着在第一步进自编码器编码过程中,通过编码参数{w1(1),b1(1)}将多角度姿态输入图像x(1)映射到隐含层h1中,在第一步进自编码器解码过程中,又通过解码参数{w1(2),b1(2)}将输入图像的隐含层特征h1映射到输出层y(1),最后通过最小化均方误差函数lpose来实现姿态角度的步进减小;

2)目标姿态特征提取:将步骤1)中第一步进自编码器的目标姿态角度图像作为第二半自编码器的输入,通过参数{w1(3),b1(3)}将映射到第二半自编码器的隐含层即为提取到的目标姿态特征;

3)构建相似度保留自编码器的总损失函数:步骤1)中的第一步进自编码器和步骤2)中的第二半自编码器构成一个相似度保留自编码器,在第一步进自编码器的损失函数lpose中加入相似度保留约束项,即对输入图像的隐含层特征h1和目标姿态的隐含层特征作相似度约束在损失函数lpose中引入相似度保留项后,再在其中加入对隐含层特征h1和的稀疏性限制lsparse1,lsparse2,即稀疏正则项,来共同构成网络总的损失函数ltrain;

4)堆叠相似度保留自编码器:步骤3)中得到了第一个相似度保留自编码器的总损失函数ltrain,通过最小化损失函数,采用随机梯度下降法来训练网络参数{w1(1),b1(1)}、{w1(2),b1(2)}和{w1(3),b1(3)},之后将多角度姿态输入图像x(1)通过训练好的参数{w1(1),b1(1)}得到隐含层特征h1,接着将h1作为第二步进自编码的输入,取的下一级小姿态角度图像作为第二步进自编码的目标姿态图像,同样按照步骤1)的方法来将h1映射到隐含层为h2,h2又被映射到输出层y(2),另一方面,第二步进自编码的目标姿态图像又作为第二半自编码器的输入,按照步骤2)的方法将其映射到隐含层接着同步骤3)来构建第二相似度保留自编码器的总损失函数,并最小化第二相似度保留自编码器的损失函数来训练参数,如此往复来堆叠多个这样的相似度保留自编码器来逐步重建正脸图像,并提取姿态不变特征;

5)训练并微调网络:经过上述的4个步骤预训练过程后,网络的参数有了初始值,以多角度姿态图像x(1)作为微调网络的输入,在最终的输出端,以正脸姿态图像作为网络的期望输出,通过步骤1)-步骤4)预训练过程训练好的参数将x(1)映射到最终的输出层y0,接着通过最小化微调网络的损失函数来微调整个网络;

6)重建与识别:即重建测试图像的正脸图片,并提取网络最高隐含层特征,最后识别多姿态人脸图像,将带有不同姿态角度的测试图像输入到训练好的微调网络中,通过连接训练好的参数,将测试图像步进映射到多个隐含层中,在输出端得到重建好的正脸图像,接着将重建好的正脸图像和网络的最高隐含层特征分别使用线性判别分析法,即lda法进行降维来提取具有判别性的人脸特征,并用最近邻分类器完成人脸识别。

这种方法通过在步进自编码器的隐含层中引入相似度保留项,即让每一个步进自编码器的隐含层特征和这个自编码器的目标姿态特征做相似度约束,使得在姿态逐层减小的同时,又能够让每一个人对应的姿态特征相似,从而使得提取到的隐含层表达对姿态变化更具鲁棒性,则网络能够很好重建人脸图片的细节信息,且重建后的正脸图片整体光滑,噪点少,主观视觉和客观结构相似度表现都很好;由于多姿态角度图像重建后的正脸图像获得了较好的重建质量,则将重建后的正脸图像通过降维提取特征并分类,一定程度上提高了识别率;此外,由于引入相似度保留约束项,使得网络的最高隐含层特征含有的冗余信息少,则将最高隐含层特征同样通过降维特征提取和分类过程,也能很大程度上提高识别率。

这种方法使用步进自编码器,能够有效地消除人脸图像的姿态角度偏转影响、使用相似度保留项,对隐含层做相似度约束,增强了同一个人对应的人脸特征的相似度,使得人脸特征的鲁棒性更强,重建图像整体光滑,噪点少,提取到的姿态特征能和原始正脸图像的特征相匹配,从而提高识别率。

附图说明

图1为实施例的流程示意图;

图2为实施例中相似度保留自编码器人脸姿态重建结构图;

图3为实施例中相似度保留自编码器网络微调结构图。

图4为实施例的算法识别率性能图。

具体实施方式

下面结合附图和实施例对本发明内容作进一步的详细说明,但不是对本发明的限定。

实施例:

参照图1、图2、图3、图4,一种基于相似度保留堆叠自编码器的人脸姿态重建与识别方法,包括如下步骤:

1)多角度人脸图像的姿态角度步进减小:给定多角度姿态输入图像x(1)以及图像x(1)下一级小姿态角度图像将x(1)作为第一步进自编码器的输入,则作为第一步进自编码器的期望输出,接着在第一步进自编码器编码过程中,通过编码参数{w1(1),b1(1)}将多角度姿态输入图像x(1)映射到隐含层h1中,在第一步进自编码器解码过程中,又通过解码参数{w1(2),b1(2)}将输入图像的隐含层特征h1映射到输出层y(1),最后通过最小化均方误差函数lpose来实现姿态角度的步进减小,具体地:

(1)如图1所示,首先给定多姿态人脸图像x(1),其包含姿态角度p1~pk,且pk>pk-1>...>p1>0,与此对称的角度为-pi(i=1,2...k),以p0表示正脸姿态,所以共2k+1种姿态。这里设k=3,则输入图像共包含7种姿态角度,分别为{-45°,-30°,-15°,0°,+15°,+30°,+45°};

(2)将x(1)作为第一步进自编码器的输入,经编码函数f(x)和编码参数{w1(1),b1(1)}映射到隐含层h1中,接着隐含层特征h1经解码函数g(h)和解码参数{w1(2),b1(2)}又映射到了输出层y(1)中。编解码过程如下所示,

h1=f(x(1))=s(w1(1)x(1)+b1(1))

y(1)=g(h1)=s(w1(2)h1+b1(2))

式中的s(x)是非线性映射sigmoid激活函数,且

(3)经过网络的编解码过程,接下来要通过最小化均方误差函数lpose来实现姿态角度的步进减小,即将较大姿态角度-pk(-45°)和pk(+45°)图像分别映射到下一级小姿态角度-pk-1(-30°)和pk-1(+30°)图像,其余角度分别映射到本身,则在第一步进自编码器中期望输出图像的角度范围为-pk-1-pk-1(-30°-+30°),记为lpose表达式如下,

式中,n是训练样本个数;

2)目标姿态特征提取:将步骤1)中第一步进自编码器的目标姿态角度图像作为第二半自编码器的输入,通过参数{w1(3),b1(3)}将映射到第二半自编码器的隐含层即为提取到的目标姿态特征,具体地:

作为第二半自编码器的输入,如图2中右边一列所示。通过参数{w1(3),b1(3)}连接得到目标姿态的特征映射过程如下式所示,

式中的函数f和s同步骤1)中的步进自编码器函数,分别为编码函数和sigmoid激活函数;

3)构建相似度保留自编码器的总损失函数:步骤1)中第一步进自编码器和步骤2)中的第二半自编码器构成一个相似度保留自编码器,在第一步进自编码器的损失函数lpose中加入相似度保留约束项,即对输入图像的隐含层特征h1和目标姿态的隐含层特征作相似度约束在损失函数lpose中引入相似度保留项后,再在其中加入对隐含层特征h1和的稀疏性限制lsparse1,lsparse2,即稀疏正则项,来共同构成网络总的损失函数ltrain,具体地:

(1)将目标姿态特征和步进自编码器提取的姿态特征h1进行相似度约束,使得在第一层中同一个人对应的姿态特征相似,表达式如下所示:

式中的n同样为训练样本个数;

(2)分别对隐含层特征h1和添加稀疏惩罚项来限制隐含层中较大的平均激活度,ρx和分别表示步进自编码器隐含层和目标姿态隐含层的平均激活度,表达式如下,

接着引入相对熵(kullback-leiblerdivergence)来限制隐藏单元的激活度,隐含层特征h1和的kl熵表达式分别如下式,

式中,ρ0是稀疏度参数,是一个接近于0的数,这里取值为0.05,通过施加限制在kl熵中,能够保证隐藏单元的平均激活度保持在很小的范围内,d是隐藏层h1和神经元的个数;

(3)将步进自编码器的均方误差损失函数lpose,相似度保留约束项lhidden以及隐含层的稀疏性正则项lsparse1与lsparse2合起来构成相似度保留自编码器的总损失函数ltrain,

ltrain=lpose+αlhidden+β(lsparse1+lsparse2)

式中的α和β是平衡损失函数中不同项之间的参数,可以分别取值为1,0.001,同时在本实施例中,网络中隐含层节点数取值为2000;

(4)通过求解总的目标函数式ltrain的最小值点,并运用共轭梯度(conjugategradients,cg)优化算法来学习网络参数{w1(i),b1(i)},网络参数的更新公式如下式所示:

上式中,η>0是学习速率;

4)堆叠相似度保留自编码器:步骤3)中得到了第一个相似度保留自编码器的总损失函数ltrain,通过最小化损失函数,采用随机梯度下降法来训练网络参数{w1(1),b1(1)}、{w1(2),b1(2)}和{w1(3),b1(3)},之后将多角度姿态输入图像x(1)通过训练好的参数{w1(1),b1(1)}得到隐含层特征h1,接着将h1作为第二步进自编码的输入,取的下一级小姿态角度图像作为第二步进自编码的目标姿态图像,同样按照步骤1)的方法来将h1映射到隐含层为h2,h2又被映射到输出层y(2),另一方面,第二步进自编码的目标姿态图像又作为第二半自编码器的输入,按照步骤2)的方法将其映射到隐含层接着同步骤3),最小化第二相似度保留自编码器的损失函数来训练参数,如此往复来堆叠多个这样的相似度保留自编码器来逐步重建正脸图像,并提取姿态不变特征,具体地:

(1)训练好第一相似度保留自编码器后,再以多姿态人脸图像x(1)作为输入,计算隐含层特征h1,此时的隐含层h1已经完成了小姿态角度的映射,其包含-pk-1-pk-1(-30°-+30°)姿态范围内图像的特征;

(2)接着将h1作为第二步进自编码器的输入,按步骤1)中的第(2)步来将h1映射到h2,h2又被映射到输出层y(2);同时又按照第(3)步来最小化均方误差函数lpose,实现将角度-pk-1(-30°)和pk-1(+30°)图像分别映射到下一级小姿态角度-pk-2(-15°)和pk-2(+15°)图像,其余角度分别映射到本身,则在第二步进自编码器中期望输出图像的角度范围为-pk-2-pk-2(-15°-+15°),记为接着按照步骤2,将作为另一个半自编码器的输入来提取目标姿态-pk-2-pk-2(-15°-+15°)的特征最后参照步骤3的方法来构建第二相似度保留自编码器的总损失函数,并通过最小化损失函数运用随机梯度下降法来更新网络参数;然后训练完第二个网络后,又将h1作为第二相似度保留自编码器的输入,依据更新好的参数来获得-pk-2-pk-2(-15°-+15°)姿态范围内图像的特征h2;

(3)将h2作为第三步进自编码器的输入,重复上述步骤,来训练第三相似度保留自编码器网络,使得最后的姿态角度均为0°;

5)训练并微调网络:经过上述的4个步骤预训练过程后,网络的参数有了初始值,以多角度姿态图像x(1)作为微调网络的输入,在最终的输出端,以正脸姿态图像作为网络的期望输出,通过步骤1)-步骤4)预训练过程训练好的参数将x(1)映射到最终的输出层y0,接着通过最小化微调网络的损失函数来微调整个网络,具体地:

当预训练好相似度保留堆叠自编码器后,网络中各层参数{w1(i),b1(i)}有了初始值,在微调过程中,以各姿态角度人脸图像x(1)再次作为微调网络的输入,通过运用如下公式逐层将输入图像映射到各个隐含层中,并在输出层得到重建后的正脸图像,

h1=f(x(1))=s(w1(1)x(1)+b1(1))

h2=f(h1)=s(w2(1)h1+b2(1))

h3=f(h2)=s(w3(1)h2+b3(1))

y0=f(h3)=s(w3(2)h3+b3(2))

上述各式中,h1,h2,h3为微调网络的隐含层特征,y0为输出层表达,其包含的图像角度均为0°,此时,在微调网络的输出端,以各姿态角度人脸图像x(1)所对应的正脸图像作为网络的期望输出,表示为则微调阶段的损失函数lfine-tune表达式如下:

接着最小化上式,同样使用共轭梯度优化算法来学习网络参数。经过微调过程,进一步修正网络中的参数,使得参数达到最优取值;

6)重建与识别:即重建测试图像的正脸图片,并提取网络最高隐含层特征,最后识别多姿态人脸图像。将带有不同姿态角度的测试图像输入到训练好的微调网络中,通过连接训练好的参数,将测试图像步进映射到多个隐含层中,在输出端得到重建好的正脸图像,接着将正脸图像和网络的最高隐含层特征分别使用线性判别分析法,即lda法进行降维来提取具有判别性的人脸特征,并用最近邻分类器完成人脸识别,具体地:

(1)经过训练和微调后,网络获得了最优的参数取值,在测试时,输入多角度姿态测试图像,经各层参数连接将测试图像映射到隐含层,在网络输出端得到了重建后的正脸图像;

(2)将重建后的正脸图片和网络中提取的最高隐含层特征h3分别通过线性判别分析法降维来提取具有判别性的人脸特征,然后再通过最近邻分类器来识别多姿态人脸图像;

通过上述的实施例步骤,可以将多姿态人脸图像重建为正脸图像,并能够提取到网络的最高隐含层特征,图4为分别用相似度保留堆叠自编码器重建后的正脸图像和网络的最高隐含层特征做识别的结果图,从图中可以看出,用网络提取的最高隐含层特征来做多姿态人脸识别后,其识别率要高于用重建出的正脸图像做识别的识别结果;但是用重建后的正脸图像做识别,其识别率也相对较优。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1