驾驶人头部姿态估计研究

2018-06-28 05:36张文霞王旭
时代汽车 2018年5期
关键词:中心点鼻孔人脸

张文霞 王旭

长春汽车工业高等专科学校 吉林省长春市 130000

驾驶人的人为因素是造成交通事故发生的重要因素之一。相关的安全辅助驾驶技术应用于辅助驾驶系统,可以为减少车辆因驾驶的认为因素造成的交通事故提供技术支持。本文提出了一种头部姿态估计的方法。

先利用AdaBoost分类器检测出人脸的面部特征(如鼻尖、嘴和眼睛),最后再根据得到的特征点的位置及位置关系进行人脸姿态估计。本文使用的图像序列的背景是驾驶室内的特定环境,拍摄过程中摄像头安装在方向盘的下方,因此,图像序列中的鼻孔、人嘴信息比较明显,而且不容易受表情等因素的影响。此外,眼睛也是人脸图像上比较明显且稳定的特征,所以选取两眼睛的中心点、两鼻孔中心点和人嘴中心点作为特征点,使用这四个特征点构建为特征三角形进行头部姿态估计。

1 人脸特征点定位

特征点定位的主要思路是:首先,将人脸上半部分设为感兴趣区域;再对感兴趣区域进行灰度化、自适应阈值分割(二值化)和利用数学形态学进行去噪处理;然后再使用轮廓跟踪算法求出二值图的轮廓;一般情况下,二值化后的图像上就只剩下眼睛和眉毛的孔、洞,这样就可以根据一定的规则够判出眼睛中心的位置;再使用同样的方法确定鼻孔和人嘴所在的大致区域,利用一定规则确定鼻孔和人嘴的中心的具体位置。

1.1 人眼精确定位

人眼定位的主要思路是:首先,对人眼感兴趣区域(ROI,Region Of Interest)进二值化,并利用形态学进行去噪处理;然后求得二值图的眉毛和眼睛孔的轮廓;最后根据一定的规则,就能够确定眼睛中心的位置。

由人脸分类器可以得到人脸区域,并框出人脸区域。再根据人脸长与脸宽标准比例“三庭五眼”[1],确定出针对人眼检测与定位的感兴趣区域ROI。

设驾驶人人脸矩形区域的宽度为w,高度为h,由于眼睛处于人脸矩形区域的中间1/3h处,又考虑到额头有头发等遮挡物以及光照、头部姿态等因素的影响,实际得到的人脸矩形区域的高度h可能小于人脸的真实的高度(人脸的长度),所以本文将感兴趣区域ROI的高度设为h/2,宽度设为w。针对驾驶人人眼感兴趣区域如图1所示。

本文使用的是基于最大类间方差(Otsu)法进行阈值选取的。其基本原理[2]是:设图像像素点数为N,灰度变化范围为[0,L-1],

图1 驾驶人人眼感兴趣区域

类间方差为:

利用中值滤波和形态学处理对二值化的图像去噪,再利用轮廓跟踪法得到图像上的孔、洞的轮廓,对于得到的轮廓获得其外界矩形,从而得到每个区域的中心点、高和宽。面积最大的区域即为人脸上半部区域,对人脸区域内的孔,洞所在位置进行分析,实验结果如下图3。

经过分析可知当人脸区域内的孔、洞满足以下条件时,将其视为候选眼:

(1)人脸区域内孔、洞中心中心点X坐标值与人脸宽度之比范围为[0.2,0.5]和[0.6,0.9];

图2 Otsu法二值图像

图3 人脸区域内孔、洞的中心点X、Y坐标值与人脸的宽度之比

(2)人脸区域内孔、洞中心中心点Y坐标值与人脸上半部分的高度之比范围为[0.4,0.9];

(3)人脸区域内孔、洞的面积与人脸上半部分面积之比范围为[0.02,0.08]。

经过上面三个的条件筛选,候选眼的为眼睛和眉毛,按照中心点X值的位置将候选眼分成两组。X坐标与人脸宽度的比值位于0.2和0.4之间的候选眼为一组,即为右眼候选眼,比值位于0.6和0.9之间的为另一组,即为左眼候选眼。

在实际的实验中发现,由于头发的遮挡、噪声、眨眼和头部旋转角度较大等情况的存在,候选眼的孔、洞可能会出现下列几种情况,对于不同情况采取相应的处理方法,以便准确的获取眼睛中心位置:

(1)如果两组都有2个候选点,则分别选择Y值大的一对做为眼睛对。(2)如果两组中有一组为2个候选点,而另一组有1个候选,则分别计算出一组候选点与二组候选点连线的斜率k1,k2,将绝对值小的斜率的候选点看成为一对;根据两个眉毛中心连线和两个眼睛中心连线是平行的,所以二者连线斜率相等,所以可以把另外1个候选点(眉毛或眼睛)计算出来,最后选择Y值大的一对做为眼睛对。(3)如果两组中都只有1个候选点,求得两点连线的斜率k,若k的绝对值足够小,则两点同是眼睛或同是眉毛,再分别与前一张对应组中眼睛位置比较,小于一定值时认为两点是眼睛位置,否则,用前一张图像眼睛的位置作为当图像眼睛位置。(4)如果只有一组数据且有2个候选点,则用前一张图像眼睛位置当作当前图像眼睛位置。

1.2 鼻孔与嘴的精确定位

将人脸检测得到的矩形区域设置为鼻孔与嘴检测的感兴趣区域。人脸感兴趣区域的处理和2.1节的一样,都样经过图像灰度化、二值化、去噪,然后再由轮廓跟踪法得到感兴趣区域内孔、洞的轮廓,从而得到每个区域的中心点、高和宽。面积最大的区域即为人脸上区域,对人脸区域内的下半部分的孔,洞进行分析,实验结果如图4。

经过分析可知,鼻孔和嘴满足以下条件:

(1)人脸下半部分区域内孔、洞中心点X坐标值与人脸宽度之比在[0.3,0.7]范围内的为候选鼻孔与嘴。(2)人脸下半部分区域内孔、洞中心点Y坐标值与人脸高度之比在[0.5,0.7]范围内的为候选鼻孔,在[0.75,0.95]范围内的为候选嘴。

经过条件一的筛选可以得到候选鼻孔,候选鼻孔可能会出现下列几种情况,对于不同情况采取相应的处理方法,以便准确的获取鼻孔中心位置:

图4 人脸下半部分区域内孔、洞中心点X、Y坐标值与人脸宽度之比

(1)当候选点数目为1时,此时两鼻孔已经连在一起,则去此候选点为鼻孔中心点。(2)当候选点数目为2时,候选点即为两鼻孔。(3)当候选点数目大于2时,找出面积差最小的两个候选点为鼻孔。

经过条件二的筛选可以得到候选嘴,由于嘴的面积最大,所以拥有最大面积的候选最即为人嘴区域。

2 头部姿态参数估计

2.1 头部姿态模型构建

建立的人眼、人嘴和人眼和鼻孔特征三角形,如图5所示。

特征三角形中的A、B、C、D分别表示人的右眼、左眼、鼻孔、人嘴中心点,坐标分别设为(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)。当头部未转动正对摄像头时,特征三角形△ABC和△ABD是等腰三角形。人脸特征三角形△ABC边长AB上的高为:

特征三角形△ABD边长AB上的高为:

2.2 绕Y轴的转角α的计算

建立头部绕Y轴旋转α角度后特征点的位置变化模型,设人脸绕Y轴逆时针旋转为负方向,顺时针旋转为正方向,左眼中心点A、右眼中心点B、鼻孔中心点C、人嘴中心点D在绕Y轴的转角α角度后点坐标变为RA、RB、RC、RD位置,在X-Z平面中如图6,红色点代表旋转α角度后两眼位置,黑色点代表旋转前两眼睛的位置,角α计算公式为:

式中,ab为头部未转动时的两眼中心连线长,ab′为头部转动后在X-Y平面上的投影长度,ab′可由实际人脸图像中A,B两点间的距离求得。

根据三庭五眼的原理:

可推得:

2.3 绕X轴的转角β的计算

建立基于眼、嘴特征三角形头部绕X轴旋转β角度后特征点的位置变化模型,设人脸绕X轴逆时针旋转为正方向,顺时针旋转为负方向。转角β,表示了人头部的仰俯程度。如图7(b)所示,是绕X轴的转角β的人头姿态示意图。

图5 特征三角形示意图

人眼中心点连线AB上的高为OD,图7(a)和(b)分别表示在Y-Z平面上头部未绕X轴旋转OD的位置和头部绕X轴旋转β角度后OD的位置,黑色点代表旋转前两眼睛连线上的垂足和人嘴中心,红色点代表旋转β角度后两眼睛连线上的垂足和人嘴中心,角β计算公式为:

其中,h表示旋转前人眼中心点连线AB上的高为OD的长度,h′表示旋转β角度后OD在X-Y平面上的投影,h′可由公式 得到。

根据三庭五眼理论,鼻底至嘴中心是脸长的1/6,从眉骨至眼睛中心是脸长的1/10,因此:

推得:

基于眼、鼻特征三角形的头部绕X轴旋转β角度后特征点的位置变化模型和基于眼、嘴的模型一样,只是在计算β角的公式有一些差异,其中:

推得:

在实际的姿态估计中可能由于一些客观因素影响无法正确的找到鼻孔或嘴的位置,这样影响了姿态估计的准确率,如果将两种模型结合起来,可以提高了准确率。

3 头部姿态估计结果分析

对α、β角估计的分析结果见表1,头部绕Y轴方向的旋转角度与实际标记角度之间的平均误差为3.8578°,均方差为4.9878°,即误差波动在5°左右,比较低。基于眼鼻特征三角形的头部绕X轴方向旋转角度估计值与实际标记角度之间的平均误差为3.4498°,均方差为2.9044°,即误差波动在3°左右,比较低,这证明本文所提出估算α、β角度的方法准确性较高、稳定性较好。基于眼嘴特征三角形的估计结果基本与基于眼鼻特征三角形相同。可见,在进行头部姿态判别时可将基于眼嘴特征三角形与基于眼鼻特征三角形的估计方法联合使用,当鼻孔或人嘴无法定位时,就采用可以定位的人嘴或鼻孔构建特征三角形,这样能提高β角估计的准确性和估计值得可用性。

图6 人脸绕Y轴旋转在X-Z平面的示意图示意图

图7 人脸绕X轴旋转在Y-Z平面的示意图示意图

表1 头部姿态模型对α、β角验证实验结果

4 结语

本文提出了一种基于人脸特征三角形的驾驶人头部姿态估计方法。首先基于Adaboost算法的人脸分类器,进行人脸检测确定人脸区域;然后根据各器官(眼睛、鼻子、人嘴)的几何关系进行特征点的精确定位,提取出眼睛、鼻孔和人嘴的中心点坐标;由特征点构建特征三角形,推导出头部姿态计算公式,根据特征三角形与头部姿态的映射关系进行姿态参数估计。通过大量实验对姿态估计结果进行了分析,结果表明提出的人脸特征点定位及头部姿态估计方法的有效性、精确性。这都为以后的驾驶人头部姿态估计研究奠定了基础。

猜你喜欢
中心点鼻孔人脸
Know Yourself你的秘密
动物鼻孔照
有特点的人脸
一起学画人脸
玻璃窗上的人脸
一种基于标准差的K-medoids聚类算法
Scratch 3.9更新了什么?
如何设置造型中心点?
不通气的鼻孔
寻找视觉中心点