董小明 李昌乐 迟志诚 陈一凡
摘 要:提出了基于驾驶员脸部及周围信息的驾驶员状态检测方法。文章通过实车摄像头采集了驾驶员驾驶状态视频数据,利用Dlib和OpenCV库对采集的驾驶员图像进行脸部检测,基于驾驶员脸部数据建立了深度学习数据集,然后基于该数据集设计了一种卷积神经网络模型FaceNet,利用PyTorch深度学习框架在数据集上对模型进行训练,最终得到了有较高准确率的驾驶员状态检测模型,其可识别抽烟、睡觉、左手打电话和右手打电话四种驾驶员状态。
关键词:安全驾驶;驾驶员状态;卷积神经网络
中图分类号:U471 文献标识码:A 文章编号:1671-7988(2020)03-99-04
前言
在汽车智能化的发展中,驾驶员状态的智能检测在安全驾驶领域也越来越重要。据国家统计局资料显示,在2016年中国发生交通事故中由驾驶员人为过失导致的交通事故占所有交通事故的90%以上。驾驶员危险驾驶和疲劳驾驶等不规范驾驶行为直接或者间接导致交通事故的发生。
通过摄像头获取驾驶员驾驶状态的计算机视觉方法是一种有效的识别技术,深度学习算法可以大大提高驾驶行为识别的精度。但传统的方法是基于整个采集的图像作为深度学习算法的输入,而驾驶员状态主要集中在脸部及周围信息,所以传统方法的模型学习到的信息不集中,且模型参数较大,本文基于此提出了驾驶员脸部及周围信息的驾驶员状态检测方法。
1 人脸检测
1.1 算法设计
本文首先通过实车摄像头采集了驾驶员驾驶状态视频数据,由于采集的图像中驾驶员信息主要集中在驾驶员脸部及周围,所以利用Dlib和OpenCV库对采集的驾驶员图像进行脸部检测,从而获得驾驶员脸部图像数据。基于Jupyter Notebook环境调用人脸识别库,对采集的图片进行检测,检测效果如图1所示。
1.2 算法优化
由于人脸检测需要对后期的驾驶员状态分析做依据,即依据驾驶员的脸部及周围信息来分析驾驶的状态。根据人脸识别库输出的驾驶员脸部范围,对后面的分析来说范围较小,无法检测到手机等脸部周围信息,如图2所示。所以在后期判断驾驶员是否打电话等状态的识别中无法准确的识别,因此需要对算法进行优化。
在上述驾驶员脸部检测坐标的基础上,再做进一步判断,对脸部检测范围的前后左右均增大20个像素,流程图如3所示:
通过以上算法的优化,对采集的驾驶员视频数据的每一帧进行处理,提取驾驶员全部的脸部数据,为后面驾驶员状态的判断提供基础数据,驾驶员原始视频数据帧如图4所示,对应的驾驶员脸部及周围信息数据如图5所示。
2 深度学习数据集的建立
在上述驾驶员脸部及周围信息数据的基础上,建立深度学习数据集,用于训练和测试驾驶员状态识别模型。
2.1 建立图像数据集
根據前面已经检测的驾驶员脸部数据,将其总共分为4类:“抽烟”、“左后打电话”、“右手打电话”、“睡觉”,即深度学习模型为四分类模型,数据示例图如图6所示。
在图像数据建立之后,打乱所有数据并划分数据集,建立训练数据集和测试数据集,如图7所示,训练数据集总共2509张,测试数据集总共419张,分别建立文件夹保存。
2.2 建立数据集标签
本设计中,驾驶员状态总共分为4类:“抽烟”、“左后打电话”、“右手打电话”、“睡觉”,即深度学习数据集总共有4个标签,本设计采用0~3的数据对上述标签进行标注,其中“抽烟”:0、“左后打电话”:1、“右手打电话”:2、“睡觉”:3,并分别建立训练标签文件和测试标签文件,标签txt文件如图8所示,包括图片文件名和图片标签值。
3 深度学习模型的建立
本文基于PyTorch深度学习框架,搭建了卷积神经网络模型FaceNet,模型输入图像大小为126 x 126 x 3,模型结构如图9所示,网络模型参数见表1。
4 驾驶员状态识别
在以上数据集和模型的基础上,设置模型训练环境和策略,训练驾驶员状态识别模型,整体流程图如图10所示。
本文模型训练基于Jpytter Notebook环境,实验参数见表2所示。模型训练策略中,选择小批量梯度下降方法,根据模型训练环境和数据集大小,设置每一批数据大小为16,优化器采用Adam算法,损失函数为交叉熵损失函数,学习率为0.01,迭代周期为100。
经过100次迭代后,模型损失函数基本趋于收敛,停止模型训练。将该模型在测试集进行进行测试,模型的准确率为85.3%,即模型基本可以识别出驾驶员的状态,具有一定的可靠性,识别示例如图11所示。
5 结论
本文基于深度学习提出了基于驾驶员脸部及周围信息的驾驶员状态检测方法,传统的方法是基于整个采集的图像作为深度学习算法的输入,而驾驶员状态主要集中在脸部及脸部周围信息,传统方法的模型学习到的信息不集中,且模型参数较大,本文通过实车摄像头采集了驾驶员驾驶状态视频数据,基于该数据建立了驾驶员脸部数据集,基于该数据集建立了深度学习模型,最终得到了有较高准确率的驾驶员状态检测模型,模型检测速度较快。后期可以考虑模型压缩和嵌入式测试等工作。
参考文献
[1] 中华人民共和国国家统计局官网.National Bureau of Statistics of China[DB/OL].http://data.stats.gov.cn/,2016.
[2] Zhao H,Yin Z Y,Xiang H Y,et al.Preliminary study on alteration of altitude road traffic in China from 2006 to 2013[J].Plos One,2017, 12(2):e0171090.
[3] 吳昊.基于深度学习的驾驶行为识别方法研究[D].东南大学,2018.
[4] Krizhevsky A,Stutskever I,Hinton G E.ImageNet classification with deep convolutional neural networks[C].//International Conference on Neural Information Processing Systems Curran Associates Inc. 2012:1097-1105.