疲劳驾驶检测模块设计及仿真验证

2018-01-18 07:11徐朝阳
电子设计工程 2018年1期
关键词:人脸驾驶员卷积

蔡 羽,徐朝阳

(1.江苏科技大学电信学院,江苏镇江212003;2.中国船舶重工集团公司第723研究所江苏扬州225001)

交通安全主管部门调查数据显示,疲劳驾驶是引发车祸的重要因素之一[1-3]。因此,研究疲劳检测技术对驾驶员的行车安全具有重要意义。目前疲劳检测方法大体分为3类:1)基于驾驶员生理参数,检测准确性高,但是成本很高,而且需要与人体接触;2)基于驾驶员的操作行为及车辆状态参数,准确性不高;3)基于驾驶员生理反应特征参数,检测准确性较高,非接触式。三者相比较而言,第三种方法成为当前的检测的首选。PERCLOS已被证明是一种有效的疲劳检测手段,但仅仅根据眼睛的状态信息进行驾驶员的疲劳程度的判定,容易漏判、误判。基于此,本文通过摄像头来实时的拍摄驾驶员的图像,获取双眼、鼻和嘴部状态参数,分别合成相应模板,根据不同区域所含信息量和疲劳判断所占重要程度对其设定不同的权重系数,结合多目标优化和卷积相关理论知识,确定驾驶员的疲劳与否。实验结果表明,综合三者面部器官检测,增强重要器官对实验结果的影响,比单纯的参数检测具有更高的准确性。

1 驾驶员人脸定位

通过摄像头拍摄所获得的驾驶员图像并不能直接进行人脸的检测,计算机在进行图像处理的过程中容易出现失真,在传输过程中受到各种噪声的干扰,造成图像与原图像存在一定的差异[4-5]。因此,对图像进行预处理是十分有必要的,图像颜色的纯正可以提高图像特征聚类与提取的正确性,有利于后续人脸定位的精度。将彩色图像转换成灰度图像,然后进行直方图均衡化,使图像灰度范围扩展,提高图像对比度、凸显更多的细节信息,最后使用参考白方法对图像进行光照补偿,改进局部白平衡,从而得到比较纯正的图像,如图1所示。

图1 预处理结果

原始图灰度图直方图均衡化光照补偿图在彩色图像中,肤色是人脸区别于其他事物的重要特征,人脸区域可以通过简单的阈值处理分割出来,获得二值化图像。HSV肤色模型具有良好的聚类性,对RGB到HSV色彩空间的转换公式进行修正,综合考虑各个分量H、S、V的信息一起提取人脸候选区。公式修正为:

对于图像中的每一个像素的R、G、B的值转化到HSV色彩空间中,若像素点的H、S、V的值满足以下的关系时,则将该点判别为肤色,像素值设置为1,否则为非肤色点,像素值设置为0,利用此方法对图像进行二值化。

采用先开启、腐蚀后闭合的形态处理步骤,去除二值化图像细小的噪声干扰,得到粗检后的可能的人脸区域如图2所示。

图2 二值化图像和形态处理的对比图

已经分割为目标(肤色)和背景(非肤色)两个区域有着明显的对比。采用快速投影的方法来确定人脸区域的位置,对二值图像中白色像素点的个数做水平和垂直方向的求和,公式分别如下:

高度起始为(height/6,5*height/6),宽度起始为(width/6,6*width/7),粗略的来获取面部区域在水平方向上的左侧和右侧的坐标值及在垂直方向上的顶部和底部的坐标值。先在水平方向上进行像素点的快速投影,在最大累计值所对应的行号以上的人脸区域内,进行垂直方向上的快速投影,得到最大累计值所对应的列号。此行和列的交点即为人脸的中心点。根据人脸的尺寸约束,即满足人脸长(height)宽(width)比(h/w)0.8<h/w<1.59的条件,进而得到人脸区域的定位图像。方框以内即为驾驶员在不同状态下检测到的人脸图像,人脸区域定位的效果如图3所示。

图3 人脸定位图

2 面部器官的定位与提取

完成人脸区域的定位之后,需要定位出左右眼的中心位置,且人眼定位越精确疲劳状态判别越准确,对驾驶员疲劳监测的可靠性也就越高。为了进一步定位人眼位置,提高人眼定位精度,本文提出改进的ASEF算法,即先用ASEF算法对人眼定位,已经具有一定的定位精度,然后分割出初始定位点邻域部分,采用Otsu最大类间方差法得到一个合适的阀值,使图像二值化,最后采用灰度积分投影算法,从而得到左右眼的中心位置。此方法不仅消除了眉毛的影响,而且算法简单,对人眼定位的实时性影响很小。图4是人眼定位图。

图4 人眼定位图

由于人脸面部器官分布遵循3庭五眼规律[6-9],三庭就是从发际线到下颌划分为三等份;五眼是指从左耳到右耳的水平线上可以分成五个眼睛的宽度,如图5所示。分别对眼部、鼻部及嘴部区域进行划分,并进行缩放变换,使三者区域的图像大小统一,避免无用背景对驾驶疲劳判别的影响。而鼻部和嘴部的定位是在左右眼定位的基础上进行的,所以眼睛定位的精确性直接影响其他器官定位的准确性。对这3部分图像分别进行相应的判别,确定驾驶员行驶过程中是否处于疲劳驾驶状态,并给出相应的提示信息。

图5 人脸面部器官分布

3 疲劳状态的判定

通常,在这些面部器官图像中,眼睛状态有3种状态:完全睁开、半开半闭、完全闭合;鼻部有未侧移和侧移两种状态;嘴部状态存在完全张开、半张半闭、完全闭合[10-12]。为了提高人脸面部器官状态判别的可靠性,本文利用模板匹配法,结合模板卷积的相关理论,采用多目标优化技术,最后实现眼部、鼻部和嘴部图像的状态检测。其具体的操作方法如下:

1)建立图形库。对摄像机拍摄的驾驶员不同疲劳状态的面部器官图像进行采集,对图像进行预处理,包括光照补偿、尺寸归一化、灰度化等,获得实验数据库。

2)生成卷积模板。根据常用的人脸比例,以实验库图像特征为依据,识别定位人脸区域,将分割出的眼部、鼻部和嘴部区域设定统一的尺寸大小,然后分别合成卷积模板。

3)归一化。包括图像尺寸归一化和像素值归一化,对待识别的区域进行尺寸归一化,获得与对应面部器官的卷积模板尺寸相同,然后对卷积模板和待识别图像进行像素值归一化处理,实现后续图像疲劳状态判断标准。

4)训练阈值。根据模板和待识别图像的卷积值进行训练,并构造多目标函数,求出眼部、鼻部和嘴部卷积模板的权重系数。

5)验证。对待识别驾驶员图像进行疲劳判定。

人脸中的眼部、鼻部和嘴部相对于其他面部信息量更丰富,对疲劳判定的影响程度会更大,所以为了突出这三者区域的重要性,分别合成眼部模板、鼻部模板和嘴部模板,结合不同区域所含信息量和疲劳判断所占重要程度对其设定相应的权重系数,利用待匹配图像与3种卷积模板的卷积值,加权求和得到用于驾驶员图像疲劳判断的最终卷积值。当进行卷积的两幅图像非常相似时,其对应部位的像素值乘积扩大,卷积值也会非常大;反之,会得到非常小的卷积值。积值。根据这一理论,通过实验库中的图像,训练3种不同卷积模板的权重系数及图像匹配最佳阈值[13-16]。

假设三者模板的权重系数分别为K1,K2,K3,Ye,Yn,Ym分别表示待检测图像的眼部区域、鼻部区域和嘴部区域与其对应疲劳状态模板的卷积值,则疲劳匹配判断最终卷积值Y的表达式为:

其中K1,K2,K33个量的数值和为1,即:

本文涉及到3种不同疲劳状态模板系数(K1,K2,K3)和最优阈值VT,这4个未知变量即为待求目标参数,利用多目标优化技术,训练不同模板系数,得到一组接近实验目的有效解。优化问题的最终目标是为了使检测疲劳状态的正确率最大,其表达式为:

P(i)表示i幅图像是否处于疲劳驾驶的异常状态,n表示用于训练多目标的图像总数。当待判别未知状态的局部图片与数据库中的对应疲劳面部器官图片匹配结果正确,则进行计数,否则,不进行计数。约束条件除了式(7)和式(8),还包括:

约束条件中函数H(i)表示算法的判别结果,其表达式的含义为:通过训练得到的最优阈值VT对待检测图像进行自动判断,当最终的卷积值Y大于等于阈值VT,表示判别结果和卷积模板匹配,此时系统自动将H(i)的值赋值为1,判定待检测图像为疲劳驾驶状态;否则,判别结果和卷积模板匹配,H(i)的值为0,判定待检测图像为正常驾驶状态;函数D(i)表示待检测图像本身是否为疲劳驾驶状态,此函数作为已知的真实条件存在。若待检测图像本身处于驾驶疲劳状态,将D(i)的值赋值为1;否则D(i)的值为0。

当函数H(i)和D(i)值相同时,将P(i)的值赋值为1;否则,P(i)的值为0。函数P(i)存在以下4种情况:

1)待检测图像本身处于疲劳驾驶状态,经该算法自动判断后,判断其与对应卷积模板相匹配,被判断为疲劳驾驶,判断结果正确。

2)待检测图像本身处于正常驾驶状态,经该算法自动判断后,判断其与对应卷积模板不匹配,被判断为非疲劳驾驶,判断结果正确。

3)待检测图像本身处于疲劳驾驶状态,经该算法自动判断后,判断其与对应卷积模板不匹配,误判为正常驾驶,判断结果错误。

4)待检测图像本身处于正常驾驶状态,经该算法自动判断后,判断其与对应卷积模板相匹配,误判为疲劳驾驶,判断结果错误。

由上述4种情况可知,前两种情况会得到正确的匹配结果,此时H(i)和D(i)值相同,P(i)赋值为1;而后两种匹配结果出错,H(i)和D(i)值不同,P(i)的值为0。

为了得到3种不同疲劳状态模板系数(K1,K2,K3)和最优阈值VT,需要选择一定的训练样本图像。具体的算法流程分为以下几步:首先对选取的训练集图像灰度化并进行直方图均衡化,裁剪出双眼、嘴和鼻部区域,对其尺寸归一化处理,使该图像的尺寸与其对应的卷积模板的尺寸相同,从而得到3种图像库;然后对提取的所有位置的灰度值进行像素值归一化,分别与双眼、嘴和鼻部3种卷积模板进行卷积操作,即对应位置像素的数值相乘再相加求和的计算,得到3组卷积值;之后利用公式(7)将3个卷积值分别与待求的权重系数相乘后相加,得到用于匹配判断的最终卷积值;根据式(9)对4个未知变量即3种模板的权重系数及最佳匹配阈值构造目标优化方程,通过多目标优化问题的约束条件,不断修正3种模板权重系数,权重系数的每一种变化情况都影响着唯一的判断正确率和唯一的阈值,在训练的过程中,需要提前设定判断准确率,直到3种权重系数和最优匹配判断阈值满足正确率达到或者接近设定的要求,此时训练过程结束,选择对应的一组值作为训练结果并输出,否则重复操作。算法流程图如图6所示。

图6 权重系数及阈值算法流程图

4 系统构建及测试

4.1 实验环境

实验运行环境:

操作系统:Windows 10旗舰版

处理器:英特尔Corei5-6200U@2.30GHz双核

内存:4GB

系统类型:64位操作系统

实验开发环境:

开发软件:Microsoft Visual Studio 2013

开发语言:C++

软 件 工 具:AdobePhotoshop CS6(64 Bit) ,MATLAB2013

本文采用C++开发语言,对驾驶员疲劳检测算法进行了设计与实现。使用AdobePhotoshop CS6对待测驾驶员图像进行尺寸归一化处理,同时采用MATLAB2013工具箱合成卷积模板。

4.2 实验结果

本系统为了判定驾驶员疲劳,获得更准确的检测效果,增强影响程度大的面部器官的比重系数,减弱影响作用小的面部器官的比重系数,眼、鼻和嘴对应不同的权重系数,提出3组卷积值加权求和的算法。

本实验通过摄像头获得驾驶员的图像库,首先对图形库中的图像进行预处理,彩色图像灰度化并进行直方图均衡化,分割出的眼部、鼻部和嘴部区域设定尺寸分别为85×17像素、38×33像素、55×33像素。部分实验库图像如图7所示。

图7 实验库图像

利用实验图像库合成卷积模板,共300幅疲劳图像,其中女性图像100幅,男性图像是200幅,最终卷积模板如图8所示。

实验监测驾驶员疲劳状态图像共200幅,正常驾驶状态图像60幅,在没有考虑眼镜遮盖物影响的情况下,利用本实验库图像得到的实验结果如表1所示。

表1 无遮盖物的判别结果

利用同样的方法,被检测人戴上墨镜的情况进行了检测,实验结果如表2所示。

表2 有遮盖物的判别结果

从表1和表2可以看出,在无遮盖物的情况下,对驾驶员疲劳状态和非疲劳状态匹配的总正确率达到了97.5%,有遮盖物的情况下眼部的状态认为是无效的,被误判的几率增加,总正确率为89.85%。从实验结果可以看出,基于面部器官3组卷积值加权求和的算法对驾驶员疲劳监测的效果更好、正确率更高,对于疲劳和非疲劳图像进行辨别能达到满意的结果。

图8 卷积模板

5 结束语

本文结合多目标优化和卷积相关理论知识,提出了一种基于面部器官3组卷积值加权求和的方法,易于实现、计算量小,利用人脸重要的面部器官,加强对检测疲劳影响大的特征信息的权重系数,突出了重要器官的作用,弥补了单纯依靠整个面部特征进行疲劳状态检测在一些情况下正确率低的缺点。实验结果表明该方法检测正确率高,在一定场合下能准确检测疲劳状态,为进一步研究疲劳驾驶检测的新方法提供一定的参考价值。

[1]姜兆普,许勇,赵检群.基于眼部特征的疲劳检测算法[J].计算机系统应用,2014,23(8):91-96.

[2]朱真真,王伟,段晓东,等.基于Kinect的人脸眼部状态实时检测[J].大连民族学院学报,2015,17(1):81-84.

[3]宋浩东,林小竹.变化光照条件下人眼定位方法[J].北京印刷学院学报,2014,22(2):62-67.

[4]张波,王文军,张伟,等.驾驶人眼睛局部区域定位算法[J].清华大学学报:自然科学版,2014,54(6):756-762.

[5]徐杰.多特征疲劳检测系统的设计与实现[D].武汉:武汉华中科技大学,2013.

[6]陈旭,肖洪兵.基于面部综合信息的疲劳驾驶判断研究[J].科学技术与工程,2014,14(11):226-230.

[7]SUN Li-shu,ZHU Yu-chuan.Eye detection method for fatiguedetection system under complex environment[J].ComputerSystems&Applications,2014,23(11):256-263.

[8]SONG Hao-Bong,LIN Xiao-zhu.Eye location under varying illumination[J].Journal of Beijing Institute of Graphic Communication,2014,22(2):62-67.

[9]ZHANG Bo,WANG Wen-jun,ZHANG Wei,et al.Drivers eye region location algorithm[J].Journal of Tsinghua University(Sci&Technol),2014,54(6):756-762.

[10]Hyun HeeJo,Helen Hong Jin Mo Goo.Pulmonary nodule registration in serial CT scans using global rib matching and nodule template matching[J].Computers in Biology and Medicine,2014,4(5):87-97.

[11]Tae Yong Kim,JongMyoungPark,HyunUkKim,et al.Design of homo-organic acid producing strains using multi-objective optimization[J].Metabolic Engineering,2015,2(8):63-73.

[12]孙立书,朱予川.用于复杂环境下的疲劳检测系统人眼检测方法[J].计算机系统应用,2014,23(22):62-67.

[13]徐国庆.在线融合特征的眼睛状态识别算法[J].计算机应用,2015,35(7):2062-2066.

[14]朱维宁.基于人眼状态的驾驶员疲劳检测研究[D].南京:南京理工大学,2014.

[15]程红,陈文剑,孙文邦.一种改进的快速归一化积相关图像匹配算法[J].光电工程,2013,40(1):118-125.

[16]牛清宁,周志强,金立生,等.基于眼动特征的疲劳驾驶检测方法[J].哈尔滨工程大学学报,2015,36(3):394-398.

猜你喜欢
人脸驾驶员卷积
基于高速公路的驾驶员换道意图识别
驾驶员安全带识别方法综述
基于3D-Winograd的快速卷积算法设计及FPGA实现
有特点的人脸
一起学画人脸
从滤波器理解卷积
三国漫——人脸解锁
基于傅里叶域卷积表示的目标跟踪算法
起步前环顾四周是车辆驾驶员的义务
长得象人脸的十种动物