《武汉工程大学学报》  2013年06期 67-72   出版日期:2013-06-30   ISSN:1674-2869   CN:42-1779/TQ
疲劳驾驶检测中的快速人眼定位方法


0引言疲劳驾驶引起的交通事故占据我国交通事故中很大的一部分,因此,研究有效、可行、操作简易的疲劳驾驶检测系统显得尤为重要.疲劳驾驶检测可以从多方面对驾驶员进行检测,国外已经研制出了几款比较成功的疲劳驾驶检测预警系统,例如日本先锋公司在1994年研制出来的心跳速度检测仪,美国的Ellison Research Labs在2000年研制出来了车道偏离报警系统DAS2000系统,澳大利亚人在1995年研制出来的头部位置检测仪系统,与此类似的还有转向盘检测系统.根据国外的几种疲劳驾驶检测预警系统,国内的一些专家学者根据这些方法对此进行了试验,石坚、吴远鹏、卓斌\[1\]等人通过传感器测量驾驶员驾驶时方向盘、踏板等运动参数来判别驾驶员的疲劳状态,该方法的灵敏度较高,且不用与驾驶员身体相接触,但是检测结果的可靠性与准确率一般.毛喆\[1\]采集了驾驶模拟器上被测试者在驾驶操作时的心率、肌电、皮电、皮温、呼吸频率及呼吸深度等几项生理指标,提取了疲劳状态时被测试者的生理特征值来判断,该方法的检测结果比较有效可靠,准确率高,但是该系统要与身体相接触,影响驾驶员的正常驾驶操作.还有通过测量车辆与路面相关参数来判断驾驶员的疲劳状态,这种方法虽然有效,但是测量的信息不是很可靠.结合前面的几种疲劳驾驶检测方法的优点和缺陷,笔者采用眼睛状态对疲劳驾驶进行检测.由于眼睛是驾驶员最能反映疲劳状态的因素,所以,根据眼睛的状态来判断疲劳驾驶比较有效可靠,且易于操作,不会影响驾驶员正常驾驶.由于疲劳驾驶检测中,需要保证检测系统的实时性、高效率以及准确性,故而,一种快速的高效的人眼定位方法显得尤为重要.设计二次定位,结合灰度投影并且选用基于LMS(最小均方误差)模板匹配用于人眼定位,效果良好.1系统总体设计方案选用多个摄像头对驾驶员进行图像采集,并进行图像预处理,其中,图像预处理包括光照均衡预处理,直方图均衡化,去噪等等,目的是为了增强图像对比度,使图像更清晰.将筛选后的图像选择最优的进行输入,继而进行脸部定位,然后运用积分投影对人眼进行粗定位,初步将人眼定位在眉眼区域,接着运用LMS模板匹配对图像进行最终定位.整个过程采用的是一种由粗到细的思路进行,最终达到定位更准确,效率更高.人眼定位系统总体设计框图如图1所示.图1人眼定位系统框图Fig.1Positioning system block diagram2图像筛选司机在驾驶时,难免会出现扭头之类的头部运动,因此,这些都会影响到摄像头的拍摄,也影响检测的准确率.为了解决这一问题,采用多个摄像头拍摄,在人脸的不同方位,等距离的安装多个摄像头,通过多个摄像头在不同的方位对驾驶员进行拍摄,将拍摄获取的图像进行筛选后,再输入,再对输入的图像进行检测.这里对摄像头拍摄到的图像根据面积大小进行筛选,也就是说,将拍摄到的图像中,能完整的拍摄到整个脸部的并且脸部面积最大的作为输入进行检测,整个图像筛选过程如图2所示.将人脸的形状模拟成一个椭圆,用椭圆的面积公式来求取人脸的面积.计算人脸面积如图3所示.第6期杨述斌,等:疲劳驾驶检测中的快速人眼定位方法武汉工程大学学报第35卷图2筛选图像Fig.2Filtered image图3计算人脸面积Fig.3Calculate the area of the face图3中,左右脸边缘线之间的距离为椭圆的长轴用a来表示,额头顶部与下巴底端之间的距离为椭圆的短轴用b来表示.脸部的面积就模拟为椭圆的面积用S来表示,S=πab/4,通过比较各个摄像头拍摄到的图片的脸部面积大小,取面积最大的作为样本图片进行输入.图4、图5、图6分别是从几种不同的角度拍摄的图片.图4正面图片Fig.4Positive picture图5双眼拍摄不完整图片Fig.5Incomplete picture of eyes图6侧面图片Fig.6The side picture通过上述比较方法,选择人脸面积大并且双眼拍摄完整的图4作为输入图片进行检测.3Adaboost(迭代级联分类器)算法进行人脸定位通过CCD摄像头采集驾驶员的面部图像,然后对其面部图像进行脸部定位,脸部定位有很多种方法\[23\],例如有基于肤色的人脸检测方法,基于模板匹配的人脸检测等等.但是由于图像中有一些类似肤色区域,因此,用基于肤色的检测方法会把类似肤色区域也错判为人脸,模板匹配法大多是用归一化互相关联直接计算两幅图像之间的匹配程度.因此,这种检测方法对图像的要求比较高.所以,采用Adboost(迭代级联分类器)算法\[4\]进行人脸检测.AdaBoost (迭代级联分类器)算法是通过把一些比较弱的分类方法合在一起,组合成一种新的且较强的分类方法的一种算法.一个弱分类器hj(x)包括一个类 Harr 特征fi和一个分类阈值θj以及一个分类方向pj,并有如下关系:hj(x)=10,如果pjff(x)阈值每个弱分类器根据不同的自身分类精度具有不同的票权值,如果候选区域通过了该弱分类器,则它的投票权值会被累加,如果权值累加值达到一个预先设定的阈值也就是强分类器的阈值时,则该区域通过了该强分类器.图7、图8、图9分别是原始图像、二值化后的图像、人脸定位后的图像.图7原图Fig.7The original picture图8二值化图像Fig.8Two value image图9人脸定位Fig.9Face location经过Adaboost算法训练出来的级联分类器就具有很高的识别率,能较准确的检测到人脸.4人眼定位对于眼睛的定位检测有很多种方法,例如霍夫变换\[5\]法,霍夫变换是三维的,计算比较复杂.阈值分割法,该方法对于如人眼闭合,戴眼镜等一些情况定位效果较差.模板匹配法\[6\],由于这种方法对图片要求比较高,所以仅仅靠模板匹配来进行检测不是很准确.还有利用灰度大小来判断,由于眉毛区域的灰度也比较低,因此仅仅靠灰度来对人眼进行检测会将眉毛进行误判.鉴于以上几种方法的优缺点提出将灰度投影\[7\]与模板匹配相结合的方法进行判断,最后精确的定位出人眼.4.1用灰度投影法勾选出大致的人眼位置因为人的脸部器官的各个灰度不同,眉眼区域相对来说比较黑,因此其灰度比较小,采用水平积分投影将图像定位在眉眼区间,以缩小检测范围.图10是经过灰度投影法后初步框选出的眼睛区域.图10框选出眼睛区域Fig.10Mark the area of the eye根据水平和垂直的灰度投影大致可以框选出眉眼区间的位置.由于图片越大,在后续的模板匹配中的匹配速度就越慢,因此,初步框选出眼睛区域后的匹配速度要比直接进行模板匹配快得多.4.2基于LMS的模板匹配最终定位人眼由于眼睛区域经常会受到眼皮睫毛之类的遮挡,因此,在对眼睛进行进一步定位前先对眼睛区域进行边缘检测\[8\].LMS算法即最小均方误差,它是通过调节自身权矢量,使得误差能量达到最小.这里是指使得模板和匹配目标的误差达到最小,从而使其能更加准确的匹配\[9\].对于模板匹配,首先要利用以下公式衡量模板T(m,n)和匹配目标Sij(i,j)的相似性.D(i,j)=∑Mm=1∑Nn=1\[Sij(m,n)-T(m,n)\]2=∑Mm=1∑Nn=1\[Sij(m,n)\]2-2∑Mm=1∑Nn=1Sij(m,n)×T(m,n)+∑Mm=1∑Nn=1\[T(m,n)\]2再将其归一化后,得到模板匹配的相关系数为R(i,j)=∑Mm=1∑Nn=1Sij(m,n)×T(m,n)∑Mm=1∑Nn=1\[Sij(m,n)\]2∑Mm=1∑Nn=1\[T(m,n)\]2当模板和子图完全一样时,相关系数R(i,j)=1.在匹配目标Sij(i,j)中完成全部搜索后,找出R的最大值Rmax(im,jm),其对应的子图即所匹配到的目标图像.显然,用这种公式做图像匹配计算量大、速度慢.因此,选用另外一种算法最小均方误差(LMS)来计算,来衡量T(m,n)和Sij(i,j)的误差,其公式为:e(i,j)=∑Mm=1∑Nn=1|Sij(m,n)-T(m,n)|e2(i,j)=∑Mm=1∑Nn=1\[(Sij(m,n))2+T2(m,n)-2Sij(m,n)T(m,n)\]E\[e2(i,j)\]=∑Mm=1∑Nn=1{E\[(Sij(m,n))2\]+E\[T2(m,n)\]-2E\[Sij(m,n)T(m,n)\]}通过调整权矢量,使得均方误差最小,即使得T(m,n)=Sij(i,j),达到匹配效果.图11和图12分别是未经过灰度投影初步框选眼睛和经过灰度投影初步框选眼睛后利用本文提出的算法的模板匹配的结果图.图11未经初步框选定位眼睛Fig.11Eye location without the initial marking图12经初步框选后定位眼睛Fig.12Eye location with the initial marking传统的模板匹配法是对整幅图像进行模板匹配,这样会提高计算的复杂度,并且检测时间较长,经过初步的定位之后,缩小了模板匹配的区域,将其缩小在比较小的眼睛区域进行匹配,采用LMS模板匹配对图像进行匹配,大大提高了匹配的速度,提高了匹配的准确率,也降低了模板匹配的复杂度.将传统的模板匹配\[10\]人眼定位与本文提出的人眼定位算法进行比较,比较结果如表1所示.表1人眼定位方法的比较Table 1Comparison of eye location method人眼定位的方法模板匹配检测平均时间/ms准确率/%传统模板匹配170.294.16LMS模板匹配(未经框选定位)90.596LMS模板匹配(经初步框选定位)30.597在人眼定位仿真实验中,选用了100幅图片对其进行定位,其中未经初步框选的能准确定位的有96幅,经过初步框选的能准确定位的有97幅,相比传统的模板匹配,其准确率提高了.并且在未经过初步框选的模板匹配的检测时间提高到了90.5 ms,经过初步框选后的模板匹配时间提高到了30.5 ms,检测效率也提高了.在定位眼睛的过程中,对传统的定位方法进行了改进,将灰度投影法,模板匹配法几种方法结合起来,对眼睛区域进行多次定位,提高了定位的检测时间和准确率.由表1不难看出,在初步定位的基础之上,新的模板匹配定位人眼不仅检测时间大大缩短,准确率也提高了.5结语采用多个摄像头对司机进行拍摄,这样避免了单个摄像头在司机扭头或者其他一些动作的时候不能及时拍到司机的头部画面而不能对其当时的状态进行检测,采用的多个摄像头拍摄在保证不影响司机正常驾驶的情况下,提高了检测的准确率,降低了漏检率.接着采用了将灰度投影法和改进的LMS模板匹配两种人眼定位的方法相结合来进行人眼的定位,在有了前面的初步定位的前提下,新的模板匹配比传统的模板匹配检测的效率大大提高了,检测的准确率也提高了.对眼部状态进行司机疲劳驾驶的检测是比较有效的.但是根据驾驶的环境的不同,不同的人的驾驶状态也不同,每个人疲劳驾驶的判定的差异很大,而且每种疲劳驾驶检测的方法的侧重点不同.因此,为了提高疲劳驾驶的准确性与有效性,多种疲劳驾驶方法相结合是今后研究的重点.致谢感谢智能机器人湖北省重点实验室提供的基金资助.