司机疲劳驾车会影响车辆的正常行驶, 严重时会威胁司机和乘客的生命安全, 因此检测司机是否出现疲劳现象可以有效保障人们的出行安全. 在现实生活中, 一般在夜间光照强度较弱的情况下, 司机出现疲劳驾驶的次数较多, 但是现有的相关检测算法无法处理灯光问题, 导致其在夜间检测时准确率较低. 针对此问题, 本文提出了基于低光增强的夜间疲劳驾驶检测算法. 首先对人脸图像进行低光增强处理, 从而提高图像的曝光度; 然后使用人脸关键点检测网络获取图像的眼睛区域; 之后使用卷积神经网络对眼睛区域进行睁、闭眼分类; 最后统计单位时间内睁、闭眼数量的比值, 以此判定司机是否处于疲劳状态. 实验结果表明, 在夜间环境中, 本文提出的检测算法相对现有算法在检测成功率上提升了15.38%, 取得了更好的效果.
Driver’s fatigue will affect the normal driving of the vehicle, and in serious cases will threaten the life safety of driver and passengers. Therefore, detecting whether the driver is fatigue can effectively protect people’s travel safety. In real scenario, generally, when the night light intensity is weak, the driver has a lot of time of fatigue driving, but the existing related detection algorithms cannot deal with the lighting problem, resulting in a low accuracy rate at night fatigue driving detection. Aiming at such problem, this study proposed a night-light fatigue driving detection algorithm based on low-light enhancement. Firstly, the LIME algorithm was used to perform low-light enhancement processing on the face image to improve the exposure of the image. Secondly, the face keypoint detection network was used to obtain the eye area of the image. Thirdly, the convolutional neural network was used to classify the eye area with open and closed eyes. Finally, the ratio of the number of eyes opened and closed per unit time is counted to determine whether the driver is in a fatigue state. The experimental results show that in the night environment, the detection algorithm proposed in this study improves the detection success rate by 15.38% compared with the existing algorithms, and achieves better results.
随着国家科技水平的发展和国民经济水平的提高, 人们对于出行的要求也让汽车行业得以迅猛的发展. 但是, 汽车行业的迅猛发展, 在方便人们的出行的同时, 也导致了交通事故率的显著提高.
疲劳驾驶, 是指驾驶员在长时间的连续驾驶后, 产生的生理上和心理上的某些机能的严重失调, 从而导致出现的一系列开车技能显著降低的现象. 然而, 驾驶员的疲劳驾驶是可控的, 所以, 能够准确地检测驾驶员的疲劳状态, 并在驾驶员疲劳时给出相应的安全警示, 可以有效地保障司机的出行安全.
目前的疲劳驾驶检测技术主要分为以下3类: 第1种是基于驾驶员生理特征的疲劳驾驶检测. 驾驶员的生理特征是指生物信号, 主要包括人的心电波、脑电波、肌电波等, 这些生理特征与驾驶员的疲劳状态呈现正相关的趋势[
光照强度较弱的情况. 由于驾驶员疲劳一般出现在夜间光照很弱的情况下, 该情况下的图像曝光度低, 图像特征不够明显, 直接将原始图像输入到MTCNN网络中可能会检测不到眼睛区域从而影响整个检测器的性能. 所以基于此问题, 本文提出了一种基于低光增强的夜间疲劳驾驶检测方法, 该方法在基于MTCNN网络的检测算法的基础上首先对原始图像进行低光增强处理, 提高了图像的曝光度, 从而使得图像特征更加明显, 最终提高整个检测器的性能.
本文的贡献如下: 1) 采用RGB摄像头拍摄了夜间视频建立了夜间疲劳驾驶检测数据集; 2) 在疲劳驾驶研究领域, 本文最先提出使用低光增强的方法来解决夜间图像曝光度低的问题.
传统的检测模型框架如
基于MTCNN网络的检测模型
上述模型中, 在低光环境下, 主要存在两点不足: 首先在将图像输入到MTCNN中时, 没有对原始图像进行任何处理, 而对于低光照下曝光度低的图像, 直接将图像输入到MTCNN, 由于图像特征不明显, 可能会导致MTCNN检测不到脸部区域, 导致检测结果错误; 其次即使能够检测到脸部以及眼睛区域, 在第2步将眼睛图像输入到CNN进行分类时, 由于眼睛图像特征不明显, 也会导致CNN判别出错. 因此, 在低光照下, 基于MTCNN网络的检测模型效果不够理想.
在本节中, 我们针对传统基于MTCNN算法在低光照下的不足, 在传统算法的基础上进行了创新, 提出了一种基于低光增强的疲劳驾驶检测模型.
如
第1步利用低光增强算法对图片进行处理是本文工作的重点. 使用低光增强, 我们不再将原始图像直接输入到MTCNN中进行检测. 而是在进行检测之前, 创新提出了使用LIME算法[
基于低光增强的检测模型
在实现低光增强的过程中, 输入的数据为低光下的低曝光图像, 输出为经过处理的高质量图像. 本文使用LIME算法进行改进并适用于本模型中, 该算法是基于Retinex理论[
根据上面的分析, 我们总结了增强处理算法的具体实现流程, 其伪代码如算法1所示.
算法1. LIME算法具体实现流程
1. 根据式(2)计算图像的初始亮度估计值
2. 根据式(3)计算图像的权重矩阵
3. 根据优化式(4)计算表达式值最小时的
4. 对光照图像
5. 根据式(1)求得最终所需的增强图像
在将夜间图片进行低光增强之后, 可以获取到高质量的图片. 之后采用传统的MTCNN算法进行特征提取, 和采用CNN算法进行疲劳驾驶识别. 此过程和传统的疲劳驾驶检测模型类似, 本工作只是进行相应的参数调优, 因此在文中不再累述.
根据上述中低光增强的检测模型, 我们可以在夜间光照强度较弱的情况下, 更好的识别司机是否出现疲劳驾驶.
本文采用的数据集是笔者自己建立的数据集. 考虑到目前公开的夜间疲劳驾驶检测数据集都是利用红外摄像头采集, 而红外摄像头成像质量差, 颜色纹理对比度都不够清晰, 所以笔者自己使用640×480的RGB摄像头建立了一个数据集, 整个数据集采集了18个人的夜间视频数据, 均在实际场景中(即车里)拍摄, 每个人都会拍摄疲劳与不疲劳两种状态的视频, 总共有36段视频, 其中18段疲劳, 18段不疲劳, 用于疲劳驾驶的检测.
为了制作眼睛分类网络的数据集, 笔者从36段视频中分别获取了60帧视频帧, 剔除成像质量过差或噪点过多的图像, 最终从所有视频中获取了1664帧图像, 对于每张640×480的图像, 都会对其进行LIME增强处理或不做处理, 然后对于两种情境下的图像经过MTCNN进行处理, 得到两种情况下(增强与不增强)的眼睛图像, 然后将所有眼睛图像resize到48×48大小, 用于制作眼睛分类网络的数据集, 眼睛数据集图片如
睁闭眼分类网络数据集图像
本文检测算法的流程图如
本文实验流程图
实验机器配置情况
类型 | 型号 | 参数 |
系统 | Ubantu | 16.04.2 LTS |
CPU | Intel(R) Core(TM) i9-9900 | 8核 |
显卡 | Nvidia GeForce GTX 1080 | 8 GB |
内存条 | DDR4 | 32 GB |
LIME处理结果
亮度统计结果
MTCNN处理结果
MTCNN检测准确率(单位: %)
样本 | 未加入增强 | 加入增强 |
左眼 | 96.49 | 100 |
右眼 | 96.51 | 100 |
眼睛状态识别方法对比
眼睛状态 | 基于MTCNN的检测方法 | 基于低光增强的检测方法 | |||
正确数 | 识别率(%) | 正确数 | 识别率(%) | ||
睁眼 | 1095 | 90.64 | 1181 | 97.76 | |
闭眼 | 412 | 90.35 | 446 | 97.81 |
以下是疲劳驾驶检测的实验结果, 疲劳驾驶的检测针对的对象是一段视频, 判断疲劳驾驶使用的方法是在1分钟内获取60帧视频帧, 睁眼状态的数量比低于80%则可认为是疲劳, 反之则为正常状态.
基于MTCNN的检测方法实验结果
样本 | 正确数 | 准确率(%) |
18段正常视频 | 14 | 77.78 |
18段瞌睡视频 | 12 | 66.67 |
基于低光增强的检测方法检测结果
样本 | 正确数 | 准确率(%) |
18段正常视频 | 16 | 88.89 |
18段瞌睡视频 | 14 | 77.78 |
两种方法试验对比(单位: %)
方法 | 基于MTCNN的检测方法 | 基于低光增强的检测方法 |
准确率 | 72.22 | 83.33 |
本文提出了一种基于低光增强的夜间疲劳驾驶检测方法, 在检测之前先对图像进行低光增强, 然后利用人脸关键点检测方法定位眼睛区域, 最后使用眼睛睁闭眼分类网络对眼睛区域进行分类. 本文使用了LIME算法来对图像进行低光增强, 实验表明, 加入低光增强方法的检测器比不加入的准确率高. 对比其他的疲劳检测方法, 该方法不仅不需要与驾驶员直接接触, 而且针对晚上图像曝光度低的情况均有更好的效果.
Wang F, Wang SN, Wang XH, et al. Driving fatigue detection based on EEG recognition and vehicle handling characteristics. Chinese Journal of Scientific Instrument, 2014, 35(2): 398–404. (本条文献为中文文献, 请联系作者确认).
雷凌俊, 冯佳琳, 赵洋, 等. 基于脑电信号疲劳驾驶的检警头环设计. 电脑知识与技术, 2019, 15(29): 204–207.
徐礼胜, 张闻勖, 庞宇轩, 等. 基于短时心电信号的疲劳驾驶检测算法. 东北大学学报(自然科学版), 2019, 40(7): 937–941.
Chuang CH, Huang CS, Ko LW, et al. An EEG-based perceptual function integration network for application to drowsy driving. Knowledge-Based Systems, 2015, 80: 143–152.
Zheng WL, Gao KP, Li G, et al. Vigilance estimation using a wearable EOG device in real driving environment. IEEE Transactions on Intelligent Transportation Systems, 2020, 21(1): 170–184, doi: 10.1109/TITS.2018.2889962.
Sayed R, Eskandarian A. Unobtrusive drowsiness detection by neural network learning of driver steering. Proceedings of the Institution of Mechanical Engineers, Part D: Journal of Automobile Engineering, 2001, 215(9): 969–975.
陈志勇, 杨佩, 彭力, 等. 基于BP神经网络的驾驶员疲劳监测研究. 计算机科学, 2015, 42(S1): 67–69, 93.
Forsman PM, Vila BJ, Short RA, et al. Efficient driver drowsiness detection at moderate levels of drowsiness. Accident Analysis & Prevention, 2013, 50: 341–350.
郑伟成, 李学伟, 刘宏哲, 等. 基于深度学习的驾驶疲劳检测算法与应用. 计算机工程. https://doi.org/10.19678/j.issn.1000-3428.0055912. [2019-12-05].
李文学, 谢凯. 基于深度学习的疲劳驾驶检测方法研究. 电子世界, 2019, (17): 51–52.
潘志庚, 刘荣飞, 张明敏. 基于模糊综合评价的疲劳驾驶检测算法研究. 软件学报, 2019, 30(10): 2954–2963.
刘炜煌, 钱锦浩, 姚增伟, 等. 基于多面部特征融合的驾驶员疲劳检测算法. 计算机系统应用, 2018, 27(10): 177–182.
戴诗琪, 曾智勇. 基于深度学习的疲劳驾驶检测算法. 计算机系统应用, 2018, 27(7): 113–120.
Zhang KP, Zhang ZP, Li ZF, et al. Joint face detection and alignment using multitask cascaded convolutional networks. IEEE Signal Processing Letters, 2016, 23(10): 1499–1503.
Xu L, Yan Q, Xia Y, et al. Structure extraction from texture via relative total variation. ACM Transactions on Graphics, 2012, 31(6): 139.