摘要
驾驶员疲劳驾驶会导致各种交通事故,造成严重的财产损失和人员损伤。所以能在驾驶员刚发生疲劳时检测到驾驶员疲劳信息并进行实时预警,对减少交通事故和维护人民生命财产安全等方面具有非常重要的意义。目前为了保证人们驾车出行的安全,整个行业针对驾驶员疲劳这方面的检测主要提供了三种不同的解决方案,一种是基于生理特征,一种是基于车辆运动特征,还有一种是基于面部特征。这三种方案各有利弊,其中由于生理的接触性特点和车辆运动的迟滞性特点带来的诸多不便,所以本文采用非接触性而且能实时监测驾驶员面部疲劳状态信息的机器视觉方法来进行疲劳预警。 本文在对国内外各种疲劳驾驶算法进行具体研究后,针对传统方法计算量大,鲁棒性差等特点,采用卷积深度学习网络对人脸和人眼等目标进行检测分类,针对夜间光线复杂的驾驶环境中图像目标存在漏检和误检的情况,本文采用红外灯来补光和减弱其他光线的影响,针对在嵌入式上存在报警延迟的问题,本文采用简单的算法框架来快速检测,并进行算法优化提高精度。本文主要工作内容如下: (1)针对驾驶员在夜间行驶时受各种光照的影响,出现漏检和错检等情况,本文采用空间域图像增强算法来进行图像增强,达到对比度拉伸的效果,并且选择合适的红外摄像头在光线暗环境中进行补光;光线复杂时减少其他光线干扰;还可以穿透墨镜来获取眼部信息。针对MTCNN中P-Net网络受噪点影响较大的问题,本文采用非线性滤波中的中值滤波进行去噪,减少噪点对网络模型的影响,达到加快检测速度的效果。 (2)针对以往算法比较容易受到干扰,计算量大的问题,本文采用一种应用较广的多任务卷积神经网络(MTCNN)来进行人脸检测和人脸的五个特征点定位,该算法可以检测与定位同时进行。采用该算法达到比其他检测算法速度更快的效果。并且本文通过把SiameseNetwork嵌入到MTCNN算法中来减少大量无效的候选框计算,该融合可以加速模型的快速拟合,进一步减少检测速度。 (3)经过MTCNN提取眼部嘴部特征后,再采用端到端的YOLOv3-tiny算法来进行分类。针对YOLOv3-tiny算法的简单结构会导致小目标检测不友好的问题,本文增加了一层感受野较小的YOLO层来提高目标的检测精度。本文整体采用MTCNN和YOLO的融合算法来进行疲劳检测。在ARM开发板上验证了算法的准确性和实时性。