疲劳驾驶检测系统的研究

(整期优先)网络出版时间:2019-07-17
/ 2

疲劳驾驶检测系统的研究

高利鹏许伟靖梅春来李阔田润超

沈阳城市建设学院沈阳辽宁沈阳110167

摘要:随着我国生活水平的提高,在交通方面有了质的飞跃,其中汽车保有量更是与日俱增。但是,随之而来的交通事故也源源不断。据统计,我国交通事故死亡人数己连续10多年居世界第一,其中,驾驶员疲劳造成交通事故的占总数的20%左右,占特大交通事故的40%以上,阻止疲劳驾驶的发生已刻不容缓。

关键词:疲劳驾驶;人眼定位;眨眼频率;综合判定

1引言

疲劳驾驶是指驾驶员由于睡眠不足或长时间持续驾驶造成的反应能力下降,这种下降表现在驾驶员困倦、打磕睡、驾驶操作失误或完全丧失驾驶能力。在所有的驾驶员错误中,最常见的是知觉延迟和决策错误,这些错误会产生注意力不集中、反映迟钝、操作不当等,而产生这些错误的根本原因就是疲劳驾驶。

由此可以知道,疲劳驾驶正逐渐成为交通事故的主要原因之一,成为马路上的“第一杀手”。因此,研究出一套疲劳检测的系统对社会和民众都有不可估量的社会意义和经济价值。

2疲劳检测系统

为了减少由于驾驶员疲劳驾驶引起的交通事故,提出驾驶员疲劳状态检测系统的方案。使用3×3中值滤波去除噪声和光照对图像的影响,通过对AdaBoost算法的强分类器训练算法改进、级联分类器优化实现人脸的快速检测,在检测到的人脸区域,通过积分灰度投影和从粗到细改进的模板匹配方法对人眼进行准确定位;通过面部表情、眨眼频率、瞳孔变化和头部运动的计算,进行疲劳驾驶的综合判定。

2.1图像预处理

由于自然条件下的噪声和光照影响等一些因素,会给人脸图像的处理带来一定干扰,所以需要找到合适的方法滤除噪声和改善非均匀光照的影响。经实验验证,3×3中值滤波法可达到很好的预处理效果。

例如一幅15*15的图像f(i,j)其灰度值由函数f(i,j)=16×|i-j|(i,j=1,2,...,15)给出,用3*3中值滤波器作用于该图像上,求输出图像,处理过程如下:

首先创建15*15灰度图像矩阵,并转换为uint8格式。然后创建中值滤波器。从首行首列开始,取出3*3的像素作为矩阵。然后将该矩阵转换为行矩阵,取其中值,并将中值赋值给中心位置元素。同理,一直处理到m-n+1行/列(m为行/列数,n为模板位数)。

2.2人脸检测

整个疲劳检测系统首先必须准确地检测到人眼位置,我们采用先确定人脸区域,然后在人脸区域内进一步检测、定位人眼的方法,这样可以使得人眼的检测与定位更准确一些。

2.2.1.AdaBoost算法目标检测方法

AdaBoost算法的基本思想就是将大量的分类能力一般的弱分类器通过一定方法叠加起来,构成一个分类能力很强的强分类器,且算法不需要任何关于弱分类器性能的先验知识,很容易应用到实际问题中。算法流程图如图2-2-1所示:

图2-2-1AdaBoost算法流程图

虽然该算法在应用方便比较普遍得到大众的认可,但是却也存在着算法本身训练比较耗时,整个系统的训练时间长的问题,所以在分析这些问题的基础之上,本文提出了改进的AdaBoost目标检测算法,极大降低了检查的时间。

2.2.2.强分类器训练改进算法

基于 AdaBoost的快速目标检测算法,使用积分图的方式进行了快速计算,本文在进行特征选取的时候将这些小面积矩形特征进行过滤,在保证分类器检测率的同时,也提高了分类器的训练速度。

AdaBoost 算法能够完成实时性检测的原因除了通过积分图进行快速特征计算之外,另一个重要原因是该算法在进行检测目标时采用了级联分类器。级联结构分类器如图2-2-2所示:

图2-2-2级联结构分类器

在将强分类器串联在一起形成叠层分类器时,应遵循“先重后轻”的分类器思想,将由重要特征的结构简单强分类器放在面前。这样可以先排除大量假样本,从而提高检查速度。AdaBoost算法在进行级联分类器训练的时候,都进行了重新训练,比较耗时。本文为了提高训练速度,对级联分类训练时,后一级的强分类器会重复利用前一级已经训练好的弱分类器,并在此基础上通过增加弱分类器的数量来提高强分类器的性能。这样可以大大减少强分类器的时耗。

2.3人眼定位

2.3.1.灰度积分投影确定准眼睛区域

在准确定位脸部位置后,根据人脸的面部器官的分布,人眼在脸部的上半部,所以首先截取人脸区域是上半部进行处理。人脸图像中眼睛部位的灰度值通常比周围区的灰度值小,利用该特征常使用积分投影的方法来定位眼睛。最为常用的投影函数是积分投影函数。

2.3.2.改进的模板匹配精确定位眼睛

模板匹配方法是假设待搜索图像S的尺寸为w’H,模板下的尺寸为M’N.,通过一定的算法在大图像(即待搜索图像S)中搜索与模板T具有相近的尺寸、方向和图像的子图,并确定其坐标位置。

图2-3-1图2-3-2

基于相似度的模板匹配算法以各局部图像作为模板,先在人脸集中手工提取各种状态的眼睛作为模板。

一幅眼睛图片为一个模板,即一个二维矩阵,利用眼睛模板与人脸图像作匹配,匹配函数如下:

当模板匹配的相关系数R(i,j)等于1的时候,说明搜索子图与模板完全匹配。当然,这只是一个理想值,模板匹配过程中主要是寻找相关系数的最大值,此时它所对应的搜索子图便是所要寻找的目标子图。显然,用这种公式做图像匹配计算量大、速度慢。可以使用另外一种算法衡量T和S(i,j)的误差,其公式为:

计算两个图像的向量误差,可以增加计算速度,根据不同的匹配方向选取一个误差阈值E0,当E(i,j)>E0时就停止该点的计算,继续下一点的计算。

3技术实现线路

利用MATLAB等仿真软件进行仿真,在仿真实验中改进并完善项目实施方法,实现疲劳驾驶检测系统可靠运行。经过对疲劳驾驶的特征进行分析,得出验证所处理的图片的瞳孔变化、面部表情变化、眨眼频率、头部运动的特征来判定是否存在疲劳驾驶,再使用视频图像监视器、图像切换器、图像采集器、图像处理器、智能语音警器组成完整的疲劳驾驶检测设备,以下是基于视频图像的疲劳驾驶检测系统的研究线路。

4结语

本文在借鉴了很多疲劳驾驶检测研究资料的基础上,比较了多种疲劳驾驶方法,描述了基于视频图像的面部表情、眨眼频率、瞳孔变化、头部运动识别的疲劳驾驶分析及判断方法,改善了现有的光照预处理方法,融合了3*3图像预处理算法,系统能基本上实现对驾驶员疲劳状态的判断,并及时做出检测报警,有效地提升司机的驾驶安全。

基金项目:2018年大学生创新创业训练计划(课题编号:201813208025)。

参考文献:

[1]王炳浩,魏建勤,吴永红.汽车驾驶员磕睡状态脑电波特征的初步探索[J],汽车工程,2004,26(1):70-73.

[2]石坚,卓斌等.汽车驾驶员主动安全性因素的辨识与分析[J],上海交通大学学报,2000,28(6):441-444.