随着人脸识别技术应用场景的扩大,人脸识别越来越受到光照、年龄、遮挡等因素的影响。研究人员利用包含多种影响因素的人脸数据库和有监督的深度学习方法,来增强模型的性能。但是,有监督的人脸识别算法受到标注数据的限制。数据标注困难、标注数据缺乏等都会影响有监督算法的性能。无监督的人脸识别算法虽然不受数据标注的限制,但是在判别能力上逊色于有监督的算法。为解决这一问题,基于二值编码的无监督人脸识别模型由于具有较强的泛化能力和鲁棒性,能够应对多种因素的影响,受到了广泛的关注。然而,现有的二值人脸识别算法主要基于手工设计特征或基于浅层学习的方法提取二值特征。这些特征缺乏人脸的高层信息表示,在面对极端的光照变化、表情变化、大面积的遮挡时都将失效。因此,本节介绍基于深度二值自动编码器(Deep Binary Auto-Encoder,DBAE)的无监督学习方法来学习具有泛化能力和判别能力的特征,能够提取到兼顾判别性和鲁棒性、性能和效率的深度二值特征,同时实现跨一般因素人脸生成和识别。
为提取到人脸中更高层次的具有判别能力的二值特征,对二值自动编码器进行改进,提出更具表达能力的DBAE。在原有二值自动编码器的基础上增加了多个隐含层,如图2-28所示,隐含层L2和L3使用sigmoid激活函数。sigmoid激活函数能够增强模型的非线性表达能力,有利于提取到包含高层语义信息的压缩特征表示。最后一个隐含层也L4使用恒等函数(d(x)=x)作为激活函数,从而能够实现二值编码特征的学习。
图2-28 深度二值自动编码器(DBAE)
DBAE首先通过前n-2个隐含层,从低层次的隐含层中逐渐学习到压缩的含有更高层次语义信息的人脸表示。在学习到具有判别信息的实值特征表示的基础上,第n-1个隐含层对第n-2个隐含层的输出进行二值编码,进而学习到具有判别能力的二值编码。
在实际应用中,二值编码具有如下特性时,将包含更多的信息量,具有更强的表达能力:(1)相似度保持性。二值编码保留数据的相似性信息;(2)独立性。二值编码的每一位都是独立的;(3)平衡性。二值编码中+1和-1编码的数量是一样的。
假设DBAE的输入人脸数据用X∈R D×m表示,其中,D表示输入数据的维度,m表示输入数据的数量。针对特性(1),DBAE通过重构原则,从人脸中学习到能够保持身份相似性的特征,并设置如下目标函数:
公式(2-102)和公式(2-103)约束二值编码具有独立性和平衡性,在长度一定的情况下,能够包含尽可能多的信息,具有更强的判别能力和表达能力。
综上所述,深度二值自动编码器的目标函数由公式(2-101)、公式(2-102)、公式(2-103)共同组成,写作:
式中,λ1、λ2、λ3和λ4分别是四个约束项的权重系数。
1.基于深度二值自动编码器的人脸识别模型(DBAEM)的具体实现
如图2-29所示的基于深度二值自动编码器的人脸识别模型(DBAEM)框架,通过分块特征提取、二值编码、聚类和池化的方式,极大地提高了特征的泛化能力和判别能力。
(www.xing528.com)
图2-29 基于深度二值自动编码器的人脸识别模型(DBAEM)流程框图
2.基于局部块的像素差值向量的提取
若将人脸分成M个局部块,对每个局部块提取特征和学习二值编码,则最终人脸可由M个二值编码特征进行表示。相比于直接从人脸全局特征中学习一个二值编码对人脸进行表示,将人脸分成M个局部块并分别进行特征提取和二值编码的方法,具有更好的局部不变性、灵活性和泛化能力。现有的基于人脸局部块特征提取的算法中,基于图像块的像素差值向量(Pixel Difference Vectors,PDVs)方法具有较为出色的性能,首先对人脸图像进行无重叠的分块,然后计算每一个局部块中每一个像素与其邻域的像素差值。最终每一个局部块都将得到一个维度为d×N的PVDs,作为该局部块的特征表示。其中d表示一个局部块中PVDs的维度,N为一个局部块中PVDs的个数。
3.二值编码
图2-29所示的模型在对人脸图像进行分块、提取PVDs和二值编码后,将对每一个局部块中PVDs的二值编码进行聚类和池化操作。根据数据的统计分布特性,当输入到聚类模型和池化模型的二值编码具有以下性质时,模型能够学习到更具表达能力的特征:(1)二值编码具有大的方差;(2)二值编码聚类后得到的聚类中心需要具有尽可能强的判别能力。这样使用尽可能少的聚类中心就能够充分表示PVDs。
二值编码具有判别能力通过优化公式(2-104)来保证。因此,为满足二值编码具有大的方差的性质,在DBAE中增加能够使二值编码获得最大方差的约束项:
4.无监督聚类和池化过程
聚类和池化过程能够充分利用人脸二值编码的结构特性,提升模型的数据适应性,学习具有判别能力的人脸特征。在训练阶段,人脸二值编码特征通过无监督聚类得到人脸二值编码特征的字典表示;在测试阶段,通过池化的方式,利用字典对人脸二值编码特征进行重新表示得到统计直方图特征。
(1)无监督聚类原理
一张人脸图像分成M个局部块,再经过提取PVDs和进行二值编码,将得到M个长度为L×N的二值编码,其中,N为一个局部块中PVDs的个数,L为二值编码的长度。若是直接将M个长度为L×N的二值编码进行拼接,会导致输出特征维度非常大,造成信息冗余。并且,二值特征相比于实值特征存在表达能力不足的缺点。于是,研究人员们研究利用聚类的方式将包含相似结构信息的二值编码进行聚合,去除冗余信息,得到具有判别性的实值聚类中心。聚类中心描述了在PVDs的二值编码中对特征表示贡献度较大的二值编码。这些二值编码的信息分布中包含了占主导地位的结构信息和判别信息。在得到聚类中心后,池化过程将利用聚类中心对人脸局部块中PVDs的二值编码进行重新表示,能够极大降低输出特征的维度和增强特征的表达能力。本节采用K-means无监督聚类方法,聚类中心的个数取为500。通过随机初始化和迭代优化的方式,得到最佳的聚类中心。
(2)池化原理
通过无监督聚类,将得到一系列聚类中心。所有的聚类中心构成能够表示人脸局部块的字典。因此,人脸局部块中PVDs的二值编码可由距离最小的聚类中心重新表示。在利用聚类中心对人脸局部块进行重新表示的过程中,发现同一个体不同区域的局部块和不同个体同一区域的局部块中聚类中心出现的频次是不同的。因此,只需统计重新表示的人脸局部块中每个聚类中心出现的频次,便可得到具有判别性的人脸局部特征描述子。由聚类中心对人脸局部块进行重新表示得到统计直方图的过程就是池化过程。经过池化,每一个局部块中PVDs的特征维度与聚类中心的个数是一致的,即每一个人脸局部块的特征维度为500。特征的每一维表示聚类中心出现的频次。最终,将所有局部块的输出特征表示拼接得到维度为M×500的人脸特征表示。
如图2-29所示,池化过程最终得到的统计直方图可以直观显示出每一个聚类中心在特征中的贡献程度。池化后得到的输出人脸特征能够去除冗余,对人脸的局部变化非常鲁棒,能够降低噪声对人脸的干扰,提高人脸特征的判别能力和泛化能力。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。