改进的双目立体视觉正面脸合成

2014-02-21 11:46苏光大
应用科学学报 2014年1期
关键词:视差空洞人脸

王 晶, 苏光大

1.清华大学电子工程系,北京100084

2.国家计算机网络应急技术处理协调中心,北京100029

随着计算机技术的发展,人脸识别逐渐成为世界上最具挑战性的研究课题.经过几十年的发展,涌现出诸多人脸识别算法,如主成分分析法(principal component analysis,PCA)[1-3]、独立成分分析法(independent component analysis,ICA)[4]、Hausdorff距 离法[5]、弹性图匹配法(elasticgraphmatching,EGM)[6]、支持向量机法(support vector machine,SVM)[7]等.这些算法对于可控条件下的正面图像具有很高的识别率,但不能很好地适应姿态的变化.实验表明,当姿态发生变化时,上述算法的识别率急剧下降[8].

为了解决这一问题,提出了基于三维信息的人脸识别方法[9].三维人脸识别主要根据人脸的三维几何形状信息进行识别,因为包含了比二维人脸更多的信息,所以不会受到姿态的影响,具有更好的鲁棒性.人脸三维信息的获取方法主要有3种:三维形变模型方法[10]、有限元反射模型方法(shape from shading,SFS)[11-12]、双目立体视觉方法[13].基于三维形变模型的方法采用所构建人脸的三维数据库和图像纹理数据库来训练特征空间,利用不同姿态的人脸图像在特征空间的投影系数建立该人脸的三维模型.这种方法需要预先进行训练,故效果受到训练库的影响,计算量大.SFS方法假设人脸是朗伯表面[11],可以由一幅图像恢复人脸的三维形状,但恢复的眼睛、鼻子、嘴巴等区域的深度信息是不正确的.双目立体视觉的方法是基于视差原理,利用成像设备从不同的位置获取被测物体的两幅图像,通过计算图像对应点间的位置偏差,来获取物体三维几何信息的方法.由于该算法能快速而准确地得到图像的深度信息,近年来已成为一大研究热点,并涌现出诸多算法[14-15],但没有针对人脸的算法.与景物图像相比,人脸面部区域更加平滑,不利于点对点的匹配,这就给视差图的计算带来了一些难度.

针对人脸图像纹理平滑性对特征匹配带来的影响,本文基于双目立体视觉设计了一套新的匹配算法,获得了更加准确的人脸视差图,进而求出人脸的三维坐标;再根据人眼特征点定位的结果求出人脸的偏转角度,将人脸校正成正面图像.实验结果表明,基于改进的双目立体视觉的正面脸合成算法能够实时准确地恢复出正面人脸的纹理,且效果逼真.

1 算法原理

1.1 算法流程图

如图1所示,人脸的姿态角度根据旋转坐标轴分成3类:绕z轴旋转的平面内旋转、绕x轴旋转的俯仰变化、绕y轴旋转的水平偏转.其中,平面内旋转可以通过简单的图片旋转来校正,俯仰和水平偏转会造成面部的拉伸、扭曲和遮挡,增加了校正难度.水平偏转相对于俯仰变化更为常见,于是本文只考虑水平偏转.

图1 人脸偏转角度定义Figure 1 Head pose def inition

本文算法可以将绕y轴旋转的水平偏转人脸校正成正面人脸图像,其流程图见图2.首先根据摄像机标定时确定的相机参数,对原始图像进行校正,一方面消除摄像头畸变效应,另一方面将对应极线调整到图像的同一水平高度.接着进行自动人脸检测[16],检测到人脸后再根据双眼定位算法[17]确定双眼位置坐标.然后将双眼坐标作为初始值,对两幅图像的人脸区域进行第1次密集点匹配.匹配完成后采用区域增长法排除干扰,再以抛物线匹配法去除空洞,得到人脸图像完整视差图.根据视差图计算出人脸的三维坐标,由人眼三维坐标确定人脸偏转角度.最后,根据偏转角度进行旋转投影,生成正面人脸.

图2 算法流程图Figure 2 Flowchart of our algorithm

1.2 人脸图像匹配

双目摄像机将拍摄到两张图像,本文以“左图”、“右图”分别表示这两张图.根据双眼定位结果可以求出左眼对应的视差为

式中,L1x为左图像中左眼x坐标,R2x为右图像中左眼x坐标,Dx1=y1为对应像素(x1,y1)视差.那么,根据人脸的连续性得到人脸区域像素对应的视差值应该位于D±△D之间,于是本文在此范围内搜索.

首先以左图为基准.对于左图中人脸区域的每个点Lx,y,取其邻域3×3像素,并与右图对应点Rx-D,y邻域进行块匹配.采用绝对差值求和法(sum of absolute difference,SAD)进行匹配,求出对应的代价函数

式中,Dx,y为对应像素(x,y)视差,|°|为绝对值,‖‖为矩阵2范数.理论上对于不同的Dx,y,当c(Lx,y,Dx,y)取最小值时为最佳匹配值.然而,人脸图像存在着噪声等其他干扰,不可避免地导致局部匹配得到的最小代价值出现错误.因此,本文还定义如下函数进行全局优化:

式中,第1部分为人脸区域中每个点的代价之和;第2部分表示邻域中代价函数变化1 pixel,这种情况通常由于人脸深度变化造成的;第3部分表示邻域中代价函数有较大的变化,这种情况通常是由不连续造成的.α1和α2表示代价系数,为了保证人脸的平滑和连续性,α2取较大的值.至此,已将求解每个点视差的问题转化为求解式(3)最小值的最优化问题,该求解方法由文献[18]给出.

同样,以右图为基准,寻找左图对应的视差.根据匹配的唯一性,若左图人脸中某点(x,y)的视差为Dx,y,则对应右图(x-Dx,y,y)的视差应该等于Dx,y.因此,本文对每个点进行唯一性判断,将不满足条件的匹配结果视为无效.

结合局部和全局优化的方法求出人脸的视差图,得到的结果如图3所示.然而,人脸具有平滑性,给正确匹配带来了难度,使人脸区域经常出现一系列空洞,这就需要进一步处理.

图3 初步匹配结果Figure 3 Primary matching result

1.3 匹配后处理

由图3可见,第1次匹配的视差图并不理想,不仅在人脸周围存在很多其他物体的干扰,而且人脸内部存在明显的空洞,需要进一步排除和匹配.

对视差图采用区域增长法[19]来排除非人脸区域的干扰,该方法的基本原理是将具有相似性质的像素集合起来构成区域.实现区域增长首先要选定种子像素,由于人眼附近区域包含较多的纹理,这部分区域的视差图具有更高的准确性,于是本文选定左眼和右眼坐标为区域增长法的种子坐标.

区域增长必须有恰当的相似性准则.令集合R表示整个图像区域,Rb是未经过增长的区域,Ra是已经过增长的区域,则对于像素点(x0,y0)∈Ra,以及其邻域像素(x1,y,y1∈N(x0,y0),区域增长应满足

式中,τ为区域增长的阈值,Dx,y为对应像素(x,y)视差.利用区域增长法排除非人脸区域,得到的结果如图4所示.

图4 区域增长法结果Figur e 4 Region growing result

由于人脸的平滑性,局部区域可以近似为平面.但为了取得更高的匹配精度,以二次函数进行局部的拟合,并用二次抛物线匹配法填补面部空洞.二次抛物线匹配法的具体步骤如下:

步骤1 确定两幅图像对应空洞区域的端点,图像L的端点为x1和x2,图像R对应区域的端点为y1和y2,则对应区域存在如下关系:

步骤2 假设对应区域满足二次方程

同时,该函数还应满足单调性,并且面部曲率不能太大,因此系数a必须满足

步骤3 变换a,直至找到最佳匹配结果.

经二次匹配得到一个完全匹配没有空洞的人脸视差图,如图5所示.

图5 视差图最终结果Figur e 5 Disparity map

1.4 角度计算

由双目立体视觉原理可知[13],图像中某一点与其对应的真实空间中三维坐标的对应关系为

式中,M为投影矩阵,那么通过该点在两个摄像头的对应关系为

可以求出该点的三维坐标为

由于摄像机拍摄的图像经过极线校正,v1=v2,式(10)可以改写为

根据式(11)以及2.2节中求出的视差图可以算出每个点的三维坐标;再以人眼定位的结果计算出双眼的三维坐标分别为(XW1,YW1,ZW1)、(XW2,YW2,ZW2),则人脸姿态可以根据式(12)计算得到

求出人脸偏转角后,即可通过旋转投影获得正面人脸图像.

2 实验结果与讨论

为了验证本算法的效果,采集了40个人的不同角度的人脸图像,每个人采集7个水平旋转角度的图像(±45°,±30°,±15°,0°),并与传统SAD方法、NCC方法进行比较.实验设备为Bumblebee2双目相机,合成结果如图6所示.

图6 合成结果Figure 6 Composite Results

由图6可以看出,传统的SAD方法和NCC方法在计算视差图时引入了很多噪声干扰,导致合成图像很不理想.局部结合全局匹配方法没有进行匹配后处理,虽然去掉了噪声,得到了正确的结果,但仍包含一些空洞和背景干扰,导致合成图像也包含空洞和遮挡.本文算法的视差图去掉了空洞和背景干扰,得到的合成结果更加真实.本算法耗时0.4s,实验平台:2.66GHz主频,8GB内存,VS 2010.

为了进一步验证结果的准确性,采用PCA识别算法对合成的正面人脸与真实正面人脸进行识别测试,测试结果如表1所示.可以看出,本文算法的识别率最高,合成的正面脸最接近真实效果.

该方法还可以将人脸指定旋转任意角度,将正面人脸旋转(±45°,±30°,±15°)后的结果如图7所示.

表1 识别率比较Table 1 Comparison of recognition rates

图7 不同角度的合成结果Figure 7 Different pose synthesis results

3 结语

本文提出了一种基于双目立体视觉的正面脸合成算法.该方法结合了局部和全局匹配方法,同时又通过区域增长法及抛物线匹配法进一步处理,克服了原有方法对人脸处理的不足,得到了完整的视差图.通过视差图求出人脸的三维坐标,进而求出人脸的偏转角度,再根据人脸偏转角度旋转投影,最终得到一幅较好的正面人脸图像.该方法没有使用迭代等训练算法,故速度快,效率高.

[1]TURK M,PENTLAND A.Eigenfaces for recognition[J].Journal of Cognitive Neuroscience,1991,3(1):71-86.

[2]YANGJ,ZHANGD.Two-dimensional PCA:a new approach to appearance-based face representation and recognition[J].IEEE Transactions Pattern Analysis and Machine Intelligence,2004,26(1):131-137.

[3]BELHUMEUR P N,HESPANHA J P,KRIEGMAN D J.Eigenfaces vs.f isherfaces:recognition using class specif ic linear projection[J].IEEE Transactions Pattern Analysis and Machine Intelligence,1997,19(7):711-720.

[4]BARTLETT M S,MOVELLAN J R,SEJNOw SKI T J.Face recognition by independent component analysis[J].IEEE Transactions Neural Networks,2002,13(6):1450-1464.

[5]TAKACSB.Comparing face images using the modif ied Hausdorffdistance[J].Pattern Recognition,1998,31(12):1873-1881.

[6]WISKOTT L,FELLOUSJ M,KRUGERN,von DER M C.Face recognition by elastic bunch graph matching[J].IEEE Transactions Pattern Analysis and Machine Intelligence,1997,19(7):775-779.

[7]DENIZ O,CASTRILLON M,HERNANDEZ M.Face recognition using independent component analysis and support vector machines[J].Pattern Recognition Letters,2003,24(13):2153-2157.

[8]TSALAKANIDOU F,TZOVARAS D,STRINTZIS M G.Use of depth and color eigenfaces for face recognition[J].Pattern Recognition Letter,2003,24(9/10):1427-1435.

[9]王跃明,潘纲,吴朝晖.三维人脸识别研究综述[J].计算机辅助设计与图形学报,2008,20(7):819-829.WANG Yueming,PAN Gang,WU Zhaohui.A survey of 3D face recognition[J].Journal of Computer-Aided Design&Computer Graphics,2009,20(7):819-829.(in Chinese)

[10]BUSTARD J,NIXON M.3D morphable model construction for robust ear and face recognition[C]//Computer Vision and Pattern Recognition,2010:2582-2589.

[11]ZHAOW,CHELLAPPA R.Robust face recognition using symmetric shape-from-shading[R].Center for Automation Research,1999.

[12]WU J,SMITH W,HANCOCK E.Facial gender classif ication using shape-from-shading[J].Image and Vision Computing,2010,28(6):1039-1048.

[13]JACEK K,PRZEMYSLAMR.Pose invariant face recognition method using stereo vision[J].Computer Recognition Systems 4,2011:13-22.

[14]HIRSCHMULLER H.Stereo processing by semiglobal matching and mutual information[J].IEEE Transactions Pattern Analysis and Machine Intelligence,2008,30(2):328-341.

[15]GEIGER A,ROSER M,URTASUN R.Efficient largescale stereo matching[C]//Asian Conference on Computer Vision,2011:25-38.

[16]邓亚峰,苏光大,傅博.一种基于AdaBoost的快速动态人脸检测算法[J].计算机工程,2006,32(11):222-224.DENG Yafeng,SU Guangda,FUBo.An algorithm of fast face detection in video based on Adaboost[J].Computer Engineering,2006,32(11):222-224.(in Chinese)

[17]顾华,苏光大,杜成.人脸关键特征点的自动定位[J].光电子激光,2004,15(8):975-979.GU Hua,SU Guangda,DU Cheng.Automatic localization of the vital feature points on human faces[J].Journal of Optoelectronics Laser,2004,15(8):975-979.(in Chinese)

[18]HIRSCHMULLER H.Stereo processing by semiglobal matching and mutual information[J].IEEE Transactions Pattern Analysis and Machine Intelligence,2008,30(2):328-341.

[19]DINGJ J.Time-frequency analysis and wavelet transform[D].Taipei:National Taiwan University,2007.

猜你喜欢
视差空洞人脸
基于自适应窗的立体相机视差图优化方法研究
有特点的人脸
一起学画人脸
锻造过程中大截面塑料模具钢中空洞缺陷的闭合行为
三国漫——人脸解锁
基于梯度域引导滤波的视差精炼迭代算法
空洞的眼神
基于分割树的视差图修复算法研究
立体视差对瞳孔直径影响的研究
用事实说话胜过空洞的说教——以教育类报道为例