基于人眼状态检测的疲劳驾驶安全监测方法与流程

文档序号:11951963阅读:527来源:国知局
基于人眼状态检测的疲劳驾驶安全监测方法与流程

本发明属于智能安全技术领域,涉及一种基于人眼状态检测的疲劳驾驶安全监测方法。



背景技术:

疲劳驾驶检测是安全驾驶中的重要部分,如何自动的检测行驶中的驾驶员的疲劳状态,并提醒驾驶员安全驾驶,这一问题已经成为一个广受关注的问题。关于疲劳检测目前有很多种方法。《驾驶员疲劳检测》104887253A 通过采集与车辆在一段时间周期内的横摆率相关的数据,并计算其与理想轨迹的偏差来提供危险驾驶状态的指示。由于影响横摆率发生变化的因素很多,这一方法采集的横摆率数据的可靠性不强。《疲劳检测系统及方法》105718033A,通过采集眼球图像的图片,并统计其中红色像素点所占的比例。这一方法要求眼球区域图像质量较高,这在实际的使用过程中比较难以实现。



技术实现要素:

本发明需要解决的问题是如何准确的获取人眼的大致区域,采用的技术主要是人脸检测以及人脸特征点定位。该方法能够准确定位人眼区域。另一方面需要解决如何确定人眼区域中是否存在人眼以及人眼的睁闭状态,然后通过统计一段时间内的人眼睁闭的比率来进行疲劳状态的检测。

本发明方法包括以下步骤:

步骤1.利用红外摄像头采集人脸图像。

步骤2.将人脸图像灰度化,通过人脸检测算法,检测人脸位置。

步骤3.利用检测到的人脸位置或者前一帧可信的人脸特征点检测的人脸位置,将人脸归一化。

步骤4.利用基于LBF的人脸特征点定位算法,定位人脸特征点;分别计算左右眼中心点到鼻尖点的距离,然后选取离鼻尖点较近的眼睛中心点,得到可信人眼的位置。

步骤5.在RGB彩色图上,以选取的可信人眼为中心截取人眼局部区域图片,针对当前人眼局部区域图片,分别统计RGB三个颜色通道的颜色直方图,并进行颜色直方图归一化。

步骤6.对当前人眼局部区域进行灰度直方图统计,计算灰度值占整个灰度图的比例超过50%的灰度值,如果该灰度值低于设定的阈值,则认为人眼为不透光的墨镜,并给出非人眼状态,且不再进行网络判定。

步骤7.将归一化图像加入深度神经网络模型中,由深度神经网络模型输出当前人眼的状态,共分三种:睁眼、闭眼以及非人眼。

步骤8.根据当前帧的人眼检测状态设置反馈值,供下一帧人眼特征点检测使用。如果为非人眼,则设置当前人脸特征点定位结果为不可信,则下一帧则需要重新利用人脸检测算法提供的人脸区域。如果为睁闭眼,则设置反馈值为可信,同时更新当前的睁闭眼状态的状态池。

步骤9.统计当前帧下的睁闭眼状态池的闭眼率,如果当前闭眼率超过预设的阈值,则输出报警状态。如果当前状态为异常,则给出异常警报。

本发明的有益效果:

1、能够简单准确的定位人眼位置,而且对光照以及眼镜等干扰具有一定的鲁棒性。

2、利用了帧间信息,能够降低偶然因素带来的误报警。

3、警报准确高,允许用户根据不同的处理器,调整阈值从而提高检测率。

附图说明

图1为本发明方法流程图。

图2为眼睛状态检测流程图。

图3为eye status detect net 网络结构。

具体实施方式

以下结合实施例和附图1对本发明作进一步说明:

本实施例的数据采集使用的设备是红外摄像头,安装于驾驶室内。安装要求:摄像头居中架设,要求摄像头焦距为8MM左右,摄像头距离人脸为70-80cm。设定算法要求的参数,主要包括统计的视频帧数,疲劳检测的上下阈值。对红外视频数据,调用本算法提供的算法接口,算法会根据输入图像,调用相应的模型给出当前驾驶员的疲劳状态,如果疲劳将会给出报警信息。具体实施方案如下,参见图1和图2:

1.利用红外摄像头采集人脸图像。

2.将人脸图像灰度化,利用常规的人脸检测算法,检测人脸位置。

3.利用检测到的人脸位置或者前一帧可信的人脸特征点检测的人脸位置,将人脸归一化。人脸特征点检测模块结合了前一帧的人眼状态反馈值,具体设置由步骤8所述。

4.利用基于LBF的人脸特征点定位算法,定位人脸特征点。本发明分别计算左右眼中心点到鼻尖点的距离,然后选取离鼻尖点较近的眼睛中心点,得到可信人眼的位置。

5.在RGB彩色图上,以选取的可信人眼为中心截取32*32大小的人眼局部区域图片,针对当前人眼局部区域图片,分别统计RGB三个颜色通道的颜色直方图,并进行颜色直方图归一化。

6.对当前人眼局部区域进行灰度直方图统计,计算灰度值占整个灰度图的比例超过50%的灰度值,如果该灰度值低于设定的阈值,则认为人眼为不透光的墨镜,需给出非人眼状态,且不再进行网络判定。

7.将归一化图像加入深度神经网络模型中,如图3所示,输入图像经过一层核尺寸为5,pad为2的卷积层conv1,卷积后图片尺寸保持不变,其后连接Batch Norm层,scale层以及Pooling层,之后连接激活函数Relu。此后再连接一层核大小为3,pad为2的卷积层conv1_1,Batch Norm层以及relu层,然后连接核为5,pad为2的卷积层,三层卷积过后,需要降低当前优化参数的数目,使用dropout策略,降低过拟合的概率。之后连接全连接层,经dropout后计算当前网络输出的概率。最终输出当前人眼的状态,共分三种:睁眼,闭眼以及非人眼。

8.根据当前帧的人眼检测状态设置反馈值,供下一帧人眼特征点检测模块使用。如果为非人眼,则设置当前人脸特征点定位结果为不可信,则下一帧则需要重新利用人脸检测算法提供的人脸区域。如果为睁闭眼,则设置反馈值为可信,同时更新当前的睁闭眼状态的状态池。

9.统计当前帧下的睁闭眼状态池的闭眼率,如果当前闭眼率超过预设的阈值,则输出报警状态。如果当前状态为异常,则给出异常警报。

为准确定位人眼位置,本发明在基于LBF的特征点检测算法的基础上,加入了基于当前人脸姿态的初始化特征方法。即,如果前一帧经人眼状态分析,如果判定当前特征点检测合理,则利用前一帧特征点检测结果,估计当前人脸的姿态,然后对初始平均形状进行姿态扰动,扰动后的形状作为常用的基于特征点检测算法的初始迭代形状。

本发明检测人眼状态的输入人眼区域为可信人眼区域。即在左右眼中挑选出更准确的局部人眼区域。具体为:分别计算左右眼中心点到鼻尖点的距离,然后选取离鼻尖点较近的眼睛中心点,并以此截取人脸局部区域图像。这一实现既降低了运算量又加强了对人眼特征点检测的鲁棒性。

人眼状态除睁眼和闭眼之外,还设置了第三种人眼状态:非人眼。非人眼作为一种反馈机制,输入到人脸特征点检测模块中。

本发明采用的睁闭眼检测算法是一种基于深度神经网络的策略。根据人眼局部特征的特点设计网络结构,人眼局部图像需经直方图均衡化,去除光照影响。网络结构中第一层的卷积层的设计为核大小和图片边界扩充数目分别设置为5和2,输入图片经卷积层后,图片的尺寸保持不变,第二层卷积层设计技巧也保持图片尺寸不变,这样能够保持人眼特征的完整性。整体网络结构包括三层卷积层,每层卷积层后连接Batch Norm层以及Pooling层,后接两层全连接层。

设置人眼状态池,根据当前帧的人眼检测状态设置反馈值,供下一帧人眼特征点检测使用。如果为非人眼,则设置当前人脸特征点定位结果为不可信,则下一帧则需要重新利用人脸检测算子提供的人脸区域。如果为睁闭眼,则更新当前的人眼状态的状态池。

综上,本发明充分考虑了驾驶过程中的各种复杂因素,首先排除了偶然因素导致的人眼数据不可靠的情况,准确定位人眼,然后从人眼视觉层面判断人眼当前的状态。本发明不需要复杂的眼球分析以及轨迹分析等技术。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,应带理解,本发明并不限于这里所描述的实现方案,这些实现方案描述的目的在于帮助本领域中的技术人员实践本发明。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1