技术领域
[0001] 本
发明属于
图像处理技术领域,更具体地说,涉及一种正面人脸重建方法。
背景技术
[0002]
人脸识别技术经过几十年的发展,得到了广泛应用。目前的人脸识别
算法对于正面图像有很高的识别率,但却不能很好的适应
姿态的变化。一系列实验表明,当输入人脸姿态发生变化时,识别率急剧下降。
[0003] 双目立体视觉是
机器视觉的一种重要形式,它是基于
视差原理并由不少于两幅图像获取物体三维几何信息的方法。双目立体视觉系统一般由双摄像机从不同
角度同时获得被测物的两幅数字图像,或由单摄像机在不同时刻从不同角度获得被测物的两幅数字图像,并基于视差原理恢复出物体的三维几何信息,重建物体三维轮廓及
位置。双目立体视觉系统在机器视觉领域有着广泛的应用前景。
发明内容
[0004] 本发明的目的是为克服已有技术的不足之处,提出一种基于双目立体视觉的四目摄像机正面人脸重建方法,该方法可增强人脸识别对姿态的鲁棒性,提高不同姿态人脸识别的准确性。
[0005] 本发明提出一种基于双目立体视觉的四目摄像机正面人脸重建方法,包括以下步骤:
[0006] 1)获取双目摄像机的参数;
[0007] 2)拍摄人脸图像;
[0008] 3)根据步骤1)得到的畸变参数R1,R2,对图像I1和图像J1进行校正,得到图像I1’和图像J1’;
[0010] 5)对人脸矩形区域进行匹配,求出
深度图;
[0011] 6)根据步骤1)得到的投影矩阵M1,M2,求出人脸三维坐标;
[0012] 7)根据人眼的双眼坐标,求出人脸的偏转角度θ;
[0013] 8)根据步骤7)求出的人脸偏转角度θ,对人脸进行旋转;
[0014] 9)将旋转后的人脸三维坐标投影到摄像机成像平面,得到正面人脸图像;
[0015] 10)对图像I2、J2进行步骤3)-步骤9)操作,生成正面人脸图像2;
[0016] 11)将步骤9)和步骤10)所得正面人脸图像进行融合,得到最终正面人脸图像。
[0017] 本发明方法通过一对双目摄像机从两个不同角度对人脸的拍摄,获得人脸的偏左姿态和偏右姿态四幅图像,采用双目立体视觉的方法将不同姿态的人脸图像恢复出高
质量的正面人脸图像,从而提高不同姿态人脸识别的准确性。
附图说明
[0018] 图1为实现本发明方法的四目摄像机布置示意图;
[0019] 图2为对待拍摄人进行人脸图像拍摄的两幅偏左姿态图像I1、J1和偏右姿态图像I2、J2;
[0020] 图3为本发明采用SGM方法进行匹配,得到初始深度图;
[0021] 图4为本发明通过二次匹配过程,得到的一个完全匹配没有空洞的人脸;
[0022] 图5为本发明得到的正面人脸图像1;
[0023] 图6为本发明生成正面人脸图像2;
[0024] 图7为将正面人脸图像1和正面人脸图像2拼接,得到正面人脸图像。
具体实施方式
[0025] 下面将结合本发明
实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一种实施方式,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0026] 本发明提出的基于双目立体视觉的四目摄像机正面人脸重建方法实施例,包括以下步骤:
[0027] 1)获取双目摄像机的参数:
[0028] 确定双目摄像机的参数是本发明的预处理部分。摄像机参数包含投影矩阵M1,M2,畸变参数R1,R2(R1,R2为1*6维的向量)。如果使用的是封装好的摄像机,摄像机参数可以从产品
说明书中查出;如果是自己搭建的双目摄像机,摄像机参数可以通过摄像机标定的方法求出。
[0029] 2)拍摄人脸图像:
[0030] 使用两台双目摄像机1、2如图1所示放置,同时从左右两个角度(左右摄像机夹角通常在30-90°之间,本实施例设置为60°)对待拍摄人3进行人脸图像拍摄,分别取得人脸的两幅偏左姿态图像I1、J1:和偏右姿态图像I2、J2,如图2所示;
[0031] 3)根据步骤1)得到的畸变参数R1,R2,对图像I1和图像J1进行校正,得到图像I1’和图像J1’:由于摄像机制造和工艺等方面的原因,图像的像点会发生畸变,在需要精确图像匹配时,这些畸变会影响匹配的
精度,因此是不容忽视的。
[0032] 根据步骤1)获得的畸变参数R1,R2,对图像I1、J1中的每个
像素点的位置(x,y)进行调整,求出每个像素点新的位置坐标(x′,y′),如公式(1)所示,以消除图像点的畸变;
[0033] 对于图像I1:x′=R1(1)x+R1(2)x2+R1(3)x3
[0034] y′=R1(4)y+R1(5)y2+R1(6)y3
[0035] 对于图像J1:x′=R2(1)x+R2(2)x2+R2(3)x3
[0036] y′=R2(4)y+R2(5)y2+R2(6)y3 (1)
[0037] 式中R1(1)为畸变参数R1的第一个分量,R1(2)为畸变参数R1的第二个分量,以此类推。
[0038] 4)人脸定位以及双眼定位:
[0039] 对步骤3)所得校正后的图像I1’和图像J1’进行人脸定位,确定图像I1’和图像J1’的人脸矩形区域;通过双眼定位,确定图像I1’和图像J1’的双眼坐标x11,y11,x12,y12和x21,y21,x22,y22;
[0040] 5)对人脸矩形区域进行匹配,求出深度图:
[0041] 首先求出图像I1’和图像J1’左眼横坐标差值d1.
[0042] d1=x21-x11 (2)
[0043] 以d1为匹配初始值,在[d1-n1,d1+n1](n1为象素值,取值范围与图像大小有关,本实施例图像大小为640*480,n1为30)范围内进行匹配,采用SGM方法进行匹配,得到初始深度图,如图3所示。从图3可以看出,初始匹配结果包含很多空洞(图中的深色区域为空洞,白色区域为错误区),空洞区域和错误区域说明匹配失败,需要进行二次匹配。根据人脸的平滑性,局部区域可以近似为平面。因此,可以利用二次方程来寻找最佳匹配结果,具体二次匹配过程如下:
[0044] a)确定图像I1’和图像J1’对应初始深度图空洞区域的端点,图像I1’的端点为f1,f2,图像J1’的端点为g1,g2;g1,g2,端点之间对应的线段存在如下关系:
[0045] g=disparity(f)+f (3)
[0046] 式中,disparity(f)表示f像素对应的坐标差值。
[0047] b)假设端点之间的对应线段满足二次方程:
[0048] g=af2+bf+c (4)
[0049] 式中,a,b,c表示二次方程的系数。
[0050] c)同时,假设该函数还应满足单调性,因此系数a必须满足如下关系:
[0051]
[0052] 在式(5)所示区间变换a,直到找到最佳匹配结果;
[0053] 通过二次匹配过程,得到一个完全匹配没有空洞的人脸,如图4所示。
[0054] 6)根据步骤1)得到的投影矩阵M1,M2,求出人脸三维坐标:
[0055] 根据双目立体视觉原理,真实空间中三维坐标(Xw,Yw,Zw)与图像I1’中的像素(x1,y1)、图像J1’中的像素(x2,y2)的对应关系为:
[0056]
[0057] 可以求出
[0058]
[0059] 7)根据人眼的双眼坐标,求出人脸的偏转角度θ:
[0060] 将步骤4)得到的双眼坐标带入公式(8),求出人的左、右眼的三维坐标分别为(Xw1,Yw1,Zw1),(Xw2,Yw2,Zw2),再通过公式(8)求出人脸偏转角度θ:
[0061] θ=tan-1((ZW1-ZW2)/(XW1-XW2)) (8)
[0062] 8)根据步骤7)求出的人脸偏转角度θ,对人脸进行旋转:
[0063] 根据步骤7)中求出的人脸偏转角度θ,求出旋转矩阵R,如公式(9)所示;
[0064]
[0065] 对人脸三维坐标进行旋转,得到新的坐标点 如公式(10)所示:
[0066]
[0067] 9)将旋转后的人脸三维坐标投影到摄像机成像平面,得到正面人脸图像:
[0068] 根据步骤1)得到的投影矩阵M1,将步骤8)得到的旋转后的三维人脸坐标进行投影,如公式(11)所示,得到正面人脸图像1,如图5所示;
[0069]
[0070] 从图5中可以看出,通过双目摄像投生成的正面人脸图像1只有左半张脸恢复完好,另外右半边脸由于遮挡原因存在畸变,因此需要通过融合的方法将两幅图像进行拼接。
[0071] 10)对图像I2、J2进行步骤3)-步骤9)相同操作,生成正面人脸图像2,如图6所示,只有右半张脸恢复完好,另外左半边脸由于遮挡原因存在畸变;
[0072] 11)将步骤9)和步骤10)所得正面人脸图像进行融合,得到最终正面人脸图像:
[0073] 调整正面人脸图像1:首先求出校正后人脸的双眼坐标,具体方法如下:通过步骤4)获得的图像I1’和图像J1’的双眼坐标x11,y11,x12,y12和x21,y21,x22,y22,重复步骤6)-步骤8),即可得到新的坐标值x1’,y1’,x2’,y2’,如公式(12)所示:
[0074]
[0075]
[0076] 对正面人脸图像1人脸图像逆
时针旋转α,使双眼在同一高度。根据双眼的坐标x1’,y1’,x2’,y2’,旋转角度α的求解如公式(13)所示:
[0077]
[0078] 采用相同的方法调整正面人脸图像2.
[0079] 以双眼的中垂线为基准,将正面人脸图像1和正面人脸图像2拼接,同时利用拼接缝两边(10个像素宽)的像素来进行线性插值,以
淡化接缝。至此,得到正面人脸图像,如图7所示。