一种多角度的人脸识别方法*
2010-01-11余水映周祥明
杨 凡, 余水映, 周祥明
(浙江师范大学 数理与信息工程学院,浙江 金华 321004)
0 引 言
人脸角度、光照和面部表情中任一因素的变化都会对人脸识别系统的识别率产生较大的影响.大多数人脸识别系统只有在特定环境下才会取得令人满意的结果,对没有任何约束条件下的人脸进行识别是一项极具挑战性的工作.
基于多角度的人脸识别方法大致可以分为2类:基于2D的方法和基于3D的方法.笔者曾提出过一种基于RP-LDA的人脸识别方法[1],它对不同光照条件下的人脸具有较好的识别率.1994年,文献[2]提出了基于多角度特征空间的识别方法,通过计算输入图像到多个特征空间的距离,然后根据距离选取某一角度的特征空间,这样输入的人脸图像就可以用该特征空间的向量合成;文献[3]提出了多角度的AAM算法,其基本思想是通过一些特征点描述一个人脸的形状并得到该形状内的纹理信息,且已证明该方法是可行的,也验证了在人脸发生旋转时能够对其进行很好的跟踪;文献[4]提出了一种基于静态分析的仿射变换算法,并在FERET人脸库上进行了测试,虽然该方法与那些没有进行姿态矫正的算法相比在识别率上有所提高,但总体的识别率还是较低,特别当人脸的旋转角度超过30°时,识别率只有50%左右.受文献[3]基于多角度的人脸跟踪算法的启发,本文提出了一种多角度的人脸识别方法,它可以把任意角度的人脸转化为正面人脸.实验表明:该方法在人脸旋转角度较大时,与PCA等方法相比具有较高的识别率.
1 AAM算法
1998年,Cootes[5]提出了AAM算法,它是在对训练数据进行统计分析的基础上建立模型,然后利用先验模型对图像中的目标物体进行匹配运算.AAM不仅利用形状信息,而且对重要的脸部纹理信息也进行了统计分析,并试图找出形状与纹理之间的联系.
AAM一般分为2个部分:模型建立和对应的拟合计算.
1.1 AAM建模
AAM是对象的动态表观模型,表观是形状和纹理的组合,表观模型是在形状模型的基础上结合对象的纹理而建立的.AAM模型实例就是将AAM的纹理通过仿射变换的形式映射到对应的形状实例中去,得到描述当前对象的模型.所以,实现AAM表观建模首先要实现形状和纹理建模.
实现形状建模,首先对训练图像手工标记V个特征点,并让这些点的位置集合构成形状S(S=(x1,y1;x2,y2;…;xV,yV));其次对所有训练图像对应的形状进行归一化处理,归一化是指以某个形状为基准,对其他形状进行旋转、缩放和平移,使得其尽可能地与基准形状的整体位置相接近;最后用主成分分析法(PCA)对形状归一化后的数据进行处理,得到平均形状S0和按特征值大小排序后的前n个形状特征向量Si.因而,AAM中形状S可以用线性方程表达,即
(1)
所以,在给定任意一组形状参数bs后就能得到一个S.这就是AAM的形状模型实例.当根据人脸图像的形状进行训练得到平均形状S0和形状特征向量Si后,就完成了对形状的建模.
当完成形状建模后,得到了对应的AAM的形状特征向量Si和平均形状S0.先将S0和训练集中的人脸形状分别Delaunay三角化,然后通过分段线形仿射的方法将训练人脸形状中的纹理映射到S0中,实现对纹理归一化采样,再对归一化后的纹理信息进行PCA处理,得到平均纹理A0和按特征值大小排序后的前m个纹理特征向量Ai.纹理与AAM的形状非常相似,也可以用线性表达式表示
(2)
因此,在任意设置一组纹理参数bg后,通过式(2)就能得到一个纹理模型实例.
表观模型则是进一步将式(1)定义的形状模型和式(2)定义的纹理模型融合起来,即将bs和bg串连起来得到表观向量
(3)
式(3)中对角阵ws用来调整bs和bg之间纲量的不同.对得到的b进行PCA处理,进一步消除形状和纹理之间的相关性,从而得到表观模型
(4)
1.2 AAM拟合
基于上述建立好的AAM表观模型,输入一幅新的人脸图像In,AAM对其进行特征配准的基本思路就是对一个表观模型系数c的最优化过程,以最终达到模型纹理与输入纹理的最佳匹配.具体的是要最优化下式的目标函数:
Δ=|δg|2=|gs-gm|2.
(5)
式(5)中:gm通过式(2)计算得到;gs则是输入图像根据当前形状S形变到平均形状得到的纹理.
尽管上述优化过程比较清晰明了,但通常来说表观模型参数可能有数十个之多,因此,一般优化算法的速度不够快.Cootes等进一步提出了一种基于纹理预测参数变化的启发式参数搜索策略[5],这种策略利用了输入模型纹理差别δg,模型参数变化δc及相似变换参数变化δϑ之间存在的一定程度的线性关系.因此,可以通过线性回归进行参数预测,即
δc=Rcδg;
(6)
δϑ=Rϑδb.
(7)
其中线性回归变换矩阵Rc和Rϑ可以在训练阶段通过人为加扰的方法得到.
AAM搜索流程如下:
1)初始化t=0,模型参数初始化为c=0;
2)计算模型纹理和当前纹理之差δg=gs-gm;
3)利用线性回归模型预测参数变化δc=Rcδg;
4)尝试新的模型参数c′t=ct-kδc,k=1;
5)重新计算误差函数δ′g;
6)比较‖δg‖,‖δ′g‖的大小;
7)如果‖δ′g‖<‖δg‖,则接受c′t作为新的参数,否则就转4),尝试k=1.5,0.5,0.25等;
8)t=t+1,如果|‖δ′g‖-‖δg‖|<ξ或者迭代次数t超过预定次数,则退出,否则转2).
2 合成正面人脸
2.1 多角度模型和姿态的估计
根据Cootes等在文献[3]中提出的方法,首先,假设模型表观参数可以由人脸旋转的角度线性表示
c=c0+cxcosθ+cysinθ.
(8)
式(8)中的向量c0,cx和cy是从训练样本中估计得到的.这里只考虑人脸在x轴方向的旋转(在y方向的角度变化也可以用相似的方法得到).
当得到一幅新人脸图像的模型表观参数c后,由式(8)可得
(9)
根据式(9)就可以估计人脸旋转的角度.
假设(cx,cy)的逆可以由R-1c表示,则式(9)可以变为
(10)
2.2 正面人脸的合成
本文分别建立±45°,±25°和0°共5个AAM.当有一幅人脸图像输入的时候,首先用这5个模型进行拟合;然后取gm和gs之间误差最小所对应的表观参数,进而根据式(10)估计人脸旋转的角度;最后定义cres为剩余向量,它不能被多角度模型所表示,可以根据下式计算得到:
cres=c-(c0+cxcosθ+cysinθ).
(11)
根据下式,就能够重构任意角度α的人脸所对应的表观参数:
c(α)=c0+cxcosα+cysinα+cres.
(12)
因为本文只需要合成正面的人脸,所以取α=0°即可,则式(12)可以变为
c(0)=c0+cx+cres.
(13)
根据式(4)就可以得到0°时所对应的纹理参数bg和形状参数bs,从而根据纹理参数bg合成正面的人脸.图1所示分别为一个人的侧面人脸、由侧面人脸经过以上算法合成的正面人脸、正面人脸以及正面人脸影射到平均形状的人脸.从图1可以看出,合成的正面人脸与正面人脸差别并不大.
图1 侧面人脸、合成的正面人脸、正面人脸以及正面人脸影射到平均形状的人脸
3 AAM和LDA的人脸识别
假设一共有M幅人脸图像,每幅人脸图像的大小是N×N.基于AAM-LDA算法的人脸识别可根据以下步骤来实现:
1)根据第1部分提到的算法训练得到5个不同角度的AAM模型,以及对应的纹理参数和表观参数.
2)用训练图像的表观参数估计得c0,cx和cy.
3)把训练图像的纹理系数当作降维处理后的人脸图像yi,并用来计算平均人脸
(14)
(15)
(16)
6)把降维后的人脸图像yi投影到W上,即
fi=WTyi.
(17)
训练集中的每一个人脸经过上面的变换后,可以由投影系数fi来表示.在进行人脸识别时,输入的人脸也须经过AAM和多角度模型处理,首先得到合成正面人脸所需要的纹理参数,然后通过LDA变换得到系数f,最后用最邻近准则来判别待测试的人脸图像与它最近的样本图像是否属于同一类.
4 实 验
本文用自己拍摄的人脸图像进行实验,在光照条件变化较小的情况下,对20个人进行拍摄,每人60幅,共1 200张图像,正面、左侧面和右侧面的人脸图像分别为400幅.同时,对300幅(每人每个方向各5幅)人脸图像进行特征点标记,每幅人脸图像中有46个特征点(如图2所示).然后用特征点标记好的300幅人脸图像训练得到5个不同角度的AAM模型,并根据训练得到的表观参数估计c0,cx和cy.最后用剩余的900幅不同角度的人脸图像进行测试,分别记录用AAM-LDA算法和用PCA算法的识别率.
从图3可以看出,当人脸旋转角度为0°(也就是正面人脸图像)时,AAM-LDA与原始的PCA算法的识别率都能达到90%左右,但还是AAM-LDA的识别率稍好一些.当人脸旋转角度为±25°时,AAM-LDA算法的识别率明显比PCA的高.这是由于通过AAM和多角度模型能够获得合成正面人脸所需要的纹理系数,然后用该纹理系数通过LDA获取最佳分类特征.
图2 进行特征点标记图像
图3 AAM-LDA和PCA的识别率
本文提出了一种较鲁棒的多角度人脸识别算法.从实验结果可知,当人脸旋转角度较大时,用AAM-LDA算法进行识别,识别率与PCA相比具有较大的优势.
[1]Yang Fan,Zhou Xiangming,Duanmu C J.Face Recognition Method Based on RP and LDA[J].Journal of Information and Computational Science,2008,7(11):885-894.
[2]Pentland A V,Moghaddam B,Starner T.View-based and Modular Eigenspace for face recognition[C]//Proc of IEEE Conference on CVPR ’94.Seattle:PAMI TC,1994:84-91.
[3]Cootes T F,Walker K,Taylor C J.View-based Active Appearance Models[M]//IEEE Proc of the 4th IEEE International Conference on AFGR 2000.Los Alamitos:IEEE Computer Society Press,2000:227-232.
[4]Chai Xiujian,Shan Shiguang,Gao Wen.Pose normalization for robust face recognition based on statistical affine transformation[C]//Information,Communication and Signal Processing,and the 4th Pacific Rim Conference on Multimedia.Singapore:PCM,2003:1413-1417.
[5]Cootes T F,Edwards G J,Taylor C J.Active Appearance Models[M]//Burkhard H,Neumann B.Proc of the 5th European Conference on Computer Vision.Heidelberg:Springer,1998:484-498.