多任务姿态不变的人脸识别
2017-04-27段龙云方雅婷吴洁。
段龙云 方雅婷 吴洁。
摘要:在实际应用中,人脸识别系统采集到的人脸图像中人脸姿态变化范围较大,这给识别过程带来了较大的挑战,大大降低了识别算法的准确率。该文针对姿态问题对人脸识别的影响展开研究,提出了一种新的人脸识别算法,可以实现士90°范围内人脸的准确识别。本文提出的算法将多任务学习概念引入对转换字典的学习过程中,将不同姿态看成不同任务,对每一个姿态分别进行转换字典的学习。在FERET和CMU-PIE等数据库中的大量实验结果表明,该文提出的算法明显优于基于单任务学习的人脸识别算法,在非限定姿态下的人脸识别达到了较好的效果。
关键词:人脸识别系统;算法;多任务学习
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2016)29-0178-03
1绪论
1.1研究背景及意义
近几十年来,人脸识别在计算机视觉领域是最热门的研究课题之一。早在1888年和1910年高尔顿就在《Nature》杂志发表了两篇关于利用人脸进行身份识别的文章,对人脸自身的人脸识别能力进行了分析。但当时还没有条件研究人脸的自动识别问题。直到近几十年才真正的研究了人脸自动识别,经过几十年的努力,现在已经实现了自动的人脸识别。
人脸识别作为一种生物体征识别与其他较成熟的识别方法(如指纹、虹膜、DAN检测等)相比有以下几个优点:无侵犯性;低成本、易安装;无人工参与。由于具有以上优点,近几年来,人脸识别技术引起了越来越多科研人员的关注。
1.2研究现状
人脸识别技术经过几十年的发展,也取得了很大的突破。现阶段自动人脸识别系统已经投入到应用中,主要应用于考勤机等方面,在非限定姿态下进行人脸识别还不能达到应用的要求。人脸识别仍然受很多因素的影响,如姿态、光照和表情等。因为姿态变化在实际应用中是最常见的情况,所以本文主要介绍了一种解决姿态问题的人脸识别算法,将自由姿态下的人脸与正脸进行匹配,从而解决姿态变化对人脸识别准确率的影响。
姿态变化导致人脸图像产生很大变化,从本质上来讲,导致这一问题的原因主要是人头3D几何结构很复杂。如图1所示,人头的旋转导致正脸图像产生封闭区域,也就是说一些脸部特征变得不可见,而且图像中人脸的可视的区域的形状和位置也是非线性变化的。这些问题给人脸识别带来了很多问题,使很多识别算法的识别率大大下降。
2多任务姿态不变的人脸识别算法
2.1人脸特征表示法
现有的很多人脸表示法都是试图在人脸图像中提取出一些固定长度的特征,但是这是在人脸图像都是在可见范围内的基础上才能实现的。在实际应用中,很难保证这一点,因为在侧脸是很多人脸产生了自我封闭性,导致很多信息变得不可见。考虑到这个问题,本文提出基于块的人脸表示法,并将人脸的表示与人脸姿态相联系。因为正脸所包含的信息一定是比侧脸要多的,所以正脸需要更多数据来表示。本文所提出的基于块的表示方法主要包括以下三个步骤:人脸姿态归一化;非封闭人脸区域检测;图像块的特征提取。
2.1.1人脸姿态归一化
本文采用标准3D模型方法进行人脸姿态归一化,采用BFM算法得到3D模型。在姿态归一化过程中,本文采用了人脸最稳定的五个特征点(两眼的中心点,鼻尖点,两个嘴角点),利用正射投影法将3D模型映射到2D人脸图像上,实现姿态的归一化。结果如图2所示。
2.1.2非封闭区域检测
人脸姿态归一化对由于姿态变化引起的人脸纹理的变形进行了校正,但是并不能恢复出由于封闭性导致的信息丢失。受到人能直接识别出侧脸图像的人的身份的启发,本文提出了一种充分利用可见区域进行识别的方法。本文首先将3D模型旋转到与2D人脸图像姿态相近的角度,我们很容易就可以得到旋转后的3D模型投影到2D图像的边缘,如图3(a)所示。将含有边缘的区域匹配到待识别人脸图像中,得到了图3(b)的结果。对得到的红色框内的区域进行Canny算子的边缘检测,得到图3(c)的效果。最后一步就是如何在上述得到的边缘中找到我门需要的边缘,本文采用了两种办法进行检测,首先利用水平梯度,将水平梯度为零的点全部删除,再利用CPD(点漂移算法)得到最后的人脸边缘线,即封闭区域与非封闭区域的分界线。
2.1.3基于块的人脸表示法
首先将归一化得到的人脸图像分成M×N个小块,用非封闭区域检测得到的边缘进行分割,若一个块中超过80%的像素在非封闭区域,将这个块纪委有效块,否则视为无效。然后将每个有效块分成J×J个小块,计算每个小块的DCP特征,得到DCP直方图。最后将J×J个小块的DCP直方图通过PCA(主成分分析法)降维,得到一个在子空间中的D维特征。
2.2多任务特征转换学习
经过以上步骤我们得到了用块特征表示的人脸图像,理论上可以直接进行块匹配来实现人脸识别。本文中进一步提出了一种多任务特征学习转换字典的方法,将正脸图像中的块和待识别图像中的块转换到一个更有识别力的子空间进行识别。每个块分别进行学习,得到M×N个转换字典。
2.2.1特征转换学习
在特征转换学习过程中,我们需要考虑三个问题:姿态归一化得到的图像质量差异较大;不同姿态之间的相关性;在实际应用中,较难采集到大量样本以供训练。考虑到以上问题,我们引入多任务学习的概念,将每个姿态看成一个任务,进行特征转换学习,同时考虑到了不同姿态的相关性和差异性。多任务转换学习法为所有任务学习得到一个转换字典,通过不同的投影向量来选择不同姿态的转换矩阵。由此可以看出,多任务特征转换学习法可以找到更多有识别力的特征。
首先介绍一些在学习转化矩阵过程中用到的变量。集合{(Xt,Yt):1≤t≤Pl表示的是类内和类间的训练数据。其中P表示可用于学习的任务数,即姿态数;Xt∈RD×N表示的是类内(即同一个人的不同姿态)的数据,Xt的第n列xnt是類内任务t(侧面)的第n块的特征与任务0(正面)做差;Y∈RD×N示的是类内(即不同人的不同姿态)的数据,Yt第n列ynt是类间任务t(侧面)的第n块的特征与任务0(正面)做差;U表示学习得到的转换字典,αt表示投影向量,矩阵A用来存储投影向量,At是投影向量扩展得到的对角矩阵;λ表示类间和类内权重的正则化参数。
我们建立模型的理论依据就是类内和类间数据的距离最大。定义损失函数TU,t如下:
(1)
将上述问题转换成最优化问题
(2)
μ是另一个正则化参数。将αt中的非零个数记为d,我们要得到的结果就是用αt在U中最具识别力的d个最有识别力的投影向量。其中λ,μ,d是用交叉验证的方法得到的最优值。
2.3人脸图像匹配
本部分主要介绍基于块的人脸多任务学习的人脸图像匹配问题。在上一部分,我们已经得到了转换字典U和投影矩阵A。
假设我们对一个第t中姿态的侧脸图像与库中的正脸图像进行匹配。将待识别图像分成K块之后将每一块的特征存储在中,将正脸图像中与之对应的K块的特征存储在中。首先,将匹配块的特征用得到的Uk和Ak投影到子空间中。
(3)
Akt?表示Ak的第t列扩展得到的对角矩阵。
计算相似度:
(4)
s就是待识别图像与库内图像的相似度。最后,通过最近邻分类法进行分类,确定待识别人脸图像的身份。
虽然本文采用了相对于文献中更简单的比对方法,但由于本文所提出的方法充分考虑了不同姿态之间的相关性,将提高人脸识别算法的鲁棒性。
3实验结果
本文实验主要基于以下三大主流人脸姿态数据库,CMU-PIE,FERET和Multi-PIE。主要针对姿态变化问题进行实验。
待识别图像多归一化到156×130,图像块大小为26×24,重叠50%分块,将每个小块分成2×2个小块。由实验结果可以看出本文所提出的算法在姿态变化下的人脸识别有较高的识别率及较强的鲁棒性。
由图5可以看出本文提出的多任务学习的方法明显好于传统的单任务学习方法。
4总结
姿态变化在人脸识别过程中对传统算法的鲁棒性有较大影响。本文分两个方面考虑了姿态问题。首先本文提出了一种基于块的人脸表示方法,只利用人脸的非封闭区域进行识别。之后,通过多任务特征转换学习。充分考虑不同姿态间的相关性。实验结果证明,本文所提出的多任務学习算法明显好于现有的单任务学习算法。
本文主要讲述了一种基于块的多任务特征学习转换方法的人脸识别,经过大量实验证明本文所提方法可行有效。