扩展功能
文章信息
- 杜虓龙, 余华平
- DU Xiao-long, YU Hua-ping
- 基于改进Mobile Net-SSD网络的驾驶员分心行为检测
- Detecting Driver's Distracted Behavior Based on Improved Mobile Net-SSD Network
- 公路交通科技, 2022, 39(3): 160-166
- Journal of Highway and Transportation Research and Denelopment, 2022, 39(3): 160-166
- 10.3969/j.issn.1002-0268.2022.03.020
-
文章历史
- 收稿日期: 2021-03-22
近年来,随着家用汽车的日益普及,行车安全问题也与日俱增。根据美国国家公路交通局发布的调查数据显示,其中有30%的车祸主要原因为驾驶员驾驶时分心[1]。中国作为发展中强国,人民经济水平不断提高,汽车普及率也以极快的速度进行增长,所以对驾驶员进行实时监控,快速准确地识别驾驶时的分心行为对解决交通安全问题来说变得尤为重要。
为解决这一问题,国内外众多学者主要通过3种方式:基于传感器,基于计算机视觉以及基于两者结合的方法[2]。不过,基于计算机视觉的解决方法还是占据主流位置,李振龙[3]提出了基于反向双目的识别方法,通过Hough算法对驾驶车辆的车道偏移率进行计算,再结合车内对驾驶员头部姿态的识别分析,对两者进行融合分析来进行识别,分析是否出现了分心现象。Ren[4]等提出通过Faster-RCNN网络来识别驾驶员手中是否有手机来判断是否为分心驾驶。陈军等[5]提出了使用级联卷积神经网络对驾驶员分心行为进行检测的方法,通过构建两级神经网络对数据进行先粗略提取特征后精确识别的方法,使网络检测成功率相较于主流单模型检测方法有了明显提升。徐莲等[6]提出了基于迁移学习的眼睛状态识别网络,先利用级联网络对人脸进行识别,再利用GL-CNN对单个眼球进行开闭识别,再根据PERCLOSE准则对驾驶员进行疲劳判断。
以上方法都基本解决了分心驾驶问题,但是存在计算的参数量过大,检测类型过少等问题。
为解决上述问题,实现多种类分心识别,减少网络参数,加快网络运行速度,本研究提出了通过改进后的Mobile Net-SSD[7]轻量级目标检测网络,对驾驶员在驾驶时的正常驾驶、非正常驾驶、打电话、玩手机、喝水、调整收音机和手伸向后排这7种动作进行识别。其中,正常驾驶为无分心动作的驾驶行为,非正常驾驶为本研究新添加的类,原数据集中并没有此类,在此主要作为手伸到后排、调整收音机和玩手机类的干扰类,并不作为主要分心动作进行检测,主要用来检测网络在识别特征较为相近的不同类别时能否有效区分。
1 网络构建 1.1 网络搭建Single Shot MultiBox Detector(SSD)[8]目标检测算法是近年来优秀的one-stage目标检测算法,该算法可以同时实现目标检测[9]和分类[10]两种任务。该算法利用卷积神经网络对图片进行特征提取后,均匀地在图片的不同位置进行抽样,在抽样时抽取不同特征尺度,增加多样性,再将分类与预测同时进行,整个过程快速、准确。SSD算法精度和速度都优于同类型的R-CNN系列和YOLO系列[11],但SSD网络中大约有80%应用于基础网络(VGG16),这导致网络整体准确性不高。为此裴伟等[12]使用Restnet50替换VGG16主干网络,在引入特征融合机制后,使网络准确性得到提高,但残差网络的网络计算量较大,检测时网络运行时间较长。所以本研究使用更为轻便的Mobile Net网络对VGG16网络进行替换。替换后的网络主要由深度可分离卷积和常规卷积组成,如图 1所示。
|
| 图 1 Mobile Net-SSD主要网络结构 Fig. 1 Main network structure of Mobile Net-SSD |
| |
1.2 特征提取
深度可分离卷积将常规卷积操作拆分为深度卷积(Dw)操作和逐点卷积(Pw)操作。深度可分离卷积与常规卷积的对比图如图 2所示。
|
| 图 2 卷积对比图 Fig. 2 Convolution comparison chart |
| |
其中,Dw使用Dk×Dk内核的卷积层,在执行操作时卷积核的数量与通道数相同,每个卷积核单独对应一个通道,且该通道不能与其他卷积核进行卷积运算。该操作结束后生成的特征图数量与通道数相同。但是,Dw对每个通道进行单独运算会导致无法有效利用相同空间信息,所以需要Pw操作来弥补此缺陷。Pw则为1×1×M尺寸的卷积,其中M为通道数,Pw会将Dw生成的特征图进行深度方向的加权操作,并输出本阶段特征图。深度可分离卷积极大减少了计算参数量,优化了分心驾驶检测时出现冗余表达频率较高的现象。
经过深度可分离卷积得到特征图,随后通过批量归一化(BN)和Rule6激活函数处理,BN层主要为防止梯度爆炸和发生过拟合,Rule6为非线性函数,在轻量级神经网络中具有更好的鲁棒性[13]。Rule6函数见式(1)。
|
(1) |
传统Mobile Net-SSD网络将输入图片处理为多尺度图片,提取出多尺度特征图,再对目标进行检测,分别检测不同的特征细节,该方法虽然有效,但Mobile Net网络为轻型网络,存在较为明显的缺陷,检测准确度较差。并且由于网络简单,一些细节可能存在漏检误检。这些问题经过反复研究主要在浅层特征提取层中存在,为了解决上述问题,本研究提出一种新型MH-SSD网络模型,见图 3。
|
| 图 3 MH-SSD模型 Fig. 3 MH-SSD model |
| |
由图 1可知,传统Mobile Net-SSD网络取其中6层作为有效特征层进行检测,分别为19×19, 10×10, 5×5, 3×3, 2×2, 1×1。前3层由于特征图较大会出现漏检特征问题,本研究在这3层中加入混合空洞卷积(HDC)[14]扩大感受野,使得该3层的特征提取更加准确。后3层由于特征图较小并不适用于HDC,所以不做改变,仅用1×1卷积进行降维处理。最后使用Concat函数对6个特征层进行叠加操作,融合不同尺度提取出的图片特征,通过下采样形成新的特征金字塔[15],在不同尺度上对分心驾驶进行预测。本方法解决了Mobile Net-SSD网络的漏检和特征丢失问题。
本研究也尝试将后3层进行HDC处理,但结果并没有前3层处理效果好,后续会在文中展示两者处理后的不同结果。
2 分心检测 2.1 数据处理本研究训练数据来自公开数据集State Farm Distracted Driver Detection[16],该数据集是将车内的驾驶员动作进行拍摄并且对其进行分类,驾驶员为左边驾驶,与国内驾驶习惯一致,所以可以使用。本研究在对数据集进行研究后将数据集分成7类常见分心驾驶动作,分别为打电话、玩手机、手伸到后排、调整收音机、喝水、正常和非正常。非正常类与喝水类和打电话类共用数据集。原数据集将手机相关的类分为发送短信与打电话两类,考虑到目前手机不仅有发送短信这一个功能,本研究将发送短信改为玩手机。
试验数据总共使用11 060张图片进行训练,图片尺寸为300 pixel×300 pixel,对选取出来的图片利用LabelImg软件处理为标准PASCAL VOC数据集格式。在对图片进行标注时,非正常类与喝水类和打电话类使用同张图片。按照9∶1的比例将数据集切分为训练集和验证集,测试集则另外挑选1 000张图片用于测试网络性能,如表 1所示。
| 种类 | 驾驶类型 | 图片数量 |
| 1 | 正常 |
1 905 |
| 2 | 非正常 |
3 762 |
| 3 | 喝水 |
1 840 |
| 4 | 打电话 |
1 922 |
| 5 | 玩手机 |
1 734 |
| 6 | 调整收音机 | 1 827 |
| 7 | 手伸到后排 | 1 832 |
2.2 检测过程
MH-SSD网络提取不同尺度分心特征,并通过事先设置好的先验框对标注区域进行检测,网络使用不同尺度特征图对不同区域进行特征检测。在浅层网络特征图尺度较大,可提取特征量较为丰富,又通过HDC进行感受野扩大,可在网络前期有效提取特征关键信息点,进入深层网络后,会使用步长为2的卷积方式调整特征图的大小,进一步对特征进行提取操作。
网络中6个有效特征层的先验框个数为4,6,6,6,6,6,每个先验框长宽比均不同,将每个网络层的先验框设为k,将特征图尺寸设为n×n,则每个特征图先验框数量为k×n×n。由于数据集为人工标注,先验框会与标注的目标产生位置、类别的误差,所以根据Ground Truth匹配合适的先验框进行数据训练,最后通过损失函数[17](见式2),执行端对端前向传播,确定最佳分心类别及先验框位置坐标,见图 4。
|
| 图 4 网络检测过程 Fig. 4 Network detection process |
| |
|
(2) |
式中, N为正负样本之和;c为预测类别置信度;l为边界框的先验框位置;α为调整两个误差的比例,默认为1。Lconf为置信度损失;Lloc为位置损失;x为真实边框与预测边框的匹配标识;g为真实边框的坐标。
3 结果分析 3.1 试验平台系统:Window10
处理器:Intel(R) Core(TM) i7-8750H CPU @ 2.20 GHz 2.21 GHz
内存:32 GB
GPU型号:NVIDIA GeForce RTX 2080
Python环境:Python3.7
TensorFlow和Keras环境:TensorFlow-GPU==1.14.0, Keras==2.2.0
CUDA版本:CUDA==10.0
初始学习率设置为5e-4, 并在训练时使用自适应学习率调节算法对学习率进行实时调整。
3.2 迁移学习策略本研究使用迁移学习[18]的方法对网络进行训练,在对网络结构进行分析后可知本网络前81层均为特征提取层,所以先将网络特征提取层进行冻结,使用预训练权重对后续网络进行粗略训练,提取适应分心检测特征,再将特征提取层解冻,进行完全训练,这样做可以在数据量无法达到类似Voc2017数据集的情况下,训练出泛化能力足够强的深度神经网络,减少了网络的训练时间。
3.3 试验结果检测类别及对应准确率如表 2所示。由检测结果表 2可知,改进后的网络可以准确识别不同分心种类。
| 类别 | 调整收音机 | 喝水 | 打电话 | 玩手机 | 手伸向后排 | 正常 | 非正常 |
| 准确率/% | 100 | 99 | 100 | 100 | 100 | 98 | 100(喝水) 100(打电话) |
为检验网络的鲁棒性与特征提取能力,对正常图片进行模糊处理后再利用网络进行检测。检测后的准确率如表 3所示。
| 类别 | 调整收音机 | 喝水 | 打电话 | 玩手机 | 手伸向后排 | 正常 | 非正常 |
| 准确率/% | 100 | 99 | 98 | 99 | 99 | 99 | 100(喝水) 99(打电话) |
由表 3可知,改进后的网络可以对模糊处理后的分心动作做出准确识别,证明MH-SSD网络的特征提取能力较强,鲁棒性较好。
3.4 网络评估网络训练中的学习率变化和损失率变化如图 5所示。其中,损失率随着学习率的下降逐渐收敛,在80个epoch后趋于稳定,最终达到最优。
|
| 图 5 训练中数据变化情况 Fig. 5 Data changes during training |
| |
本次为轻量级目标检测网络的改进研究,使用平均准确率mAP(mean Average Precision)[19]和基于视频流的实时检测来评价网络性能的优劣。mAP是每一类AP取平均值求和除以类别总数得来,AP由每一类精确率(Precision)/召回率(Recall)曲线下的面积得来,具体计算公式如式(3)~(5)所示。
|
(3) |
|
(4) |
|
(5) |
式中,TP为成功分类的正样本; FP为错误分类的正样本; FN为错误分类的负样本。式(5)中p为Precision; r为Recall。
本网络与SSD(VGG16)网络,Mobile Net-SSD网络,MH2-SSD网络AP与mAP对比图如图 6所示。
|
| 图 6 mAP对比图与AP对比图 Fig. 6 mAP comparison chart and AP comparison chart |
| |
其中,MH2-SSD网络为后3层加入HDC处理网络,MH-SSD为前3层加入HDC处理网络。从图 6的mAP对比图中可以看出,在加入HDC处理网络后,相较于传统Mobile Net-SSD网络,改进后的网络性能显著增强。由图 6中AP对比图可知,改进后的网络每个AP值都优于原始的Mobile Net-SSD网络。MH-SSD网络在识别Drinking类时效果远高于MH2-SSD网络,这表示在小目标的特征提取上前3层加入HDC处理模块的效果优于后3层。由于本次研究使用轻量级网络,相较于成熟性高,网络结构复杂的SSD(VGG16)网络性能略有损失。在网络大小上,SSD(VGG16)为97 MB,Mobile Net-SSD为30 MB,MH-SSD为41 MB,MH2-SSD为43 MB。综上所述,改进后的MH-SSD网络在性能上相较于同类型的轻量级网络具有显著优势,在网络大小上相较于SSD(VGG16)网络占用更少的空间。
另外,由图 6中AP对比图可知,打电话类别在4个网络中的AP值均低于85%。通过对网络及数据集的研究判断,造成此结果的原因可能为,打电话的不同人员因手持电话露出的大小不同,导致网络无法准确判断手机是否存在,仅仅只能依靠人物动作进行判断,而人物动作判断又会被非正常驾驶行为干扰,导致出现误判现象。
为检测MH-SSD网络是否具有实时检测功能,本研究使用几组自制短视频对网络进行检测。
自制短视频被分为a, b和c这3组,每组的光照强度及人员身着颜色不同。其中,a组与c组为同一人,为检测光照条件不同情况下检测情况;b组与c组光照相同,为检测人员衣着与车内颜色相近时的检测情况。
通过不同网络对3段视频检测后发现,在衣服与车内颜色相近时手伸向后排的动作会被误判为非正常行为的概率有明显提高现象,其中MH-SSD误判率为5.3%,Mobile Net-SSD误判率为8.3%,SSD(VGG16)误判率为4.3%。这表明驾驶员衣着颜色对网络检测会产生影响。
在对光照不同的a, c两组视频进行检测后发现,仅Mobile Net-SSD对手伸向后排与打电话这两类的分心动作出现误判现象,且误判率为5.2%。文中其他网络误判率均低于3%,这表明不同光照对网络影响较小。
经过试验可知,Mobile Net-SSD在提取特征时受到了非正常类的干扰,相较于其他网络并不能有效检测特征较为相近的不同类别。
4 结论本研究提出了一种基于轻量级网络的分心驾驶检测方法,本研究通过在Mobile Net网络的浅层网络引入HDC处理模块的方法,解决了传统Mobile Net-SSD网络在浅层网络提取特征时容易出现对特征误检漏检的缺陷,建立了MH-SSD驾驶员分心检测网络模型。主要研究结论如下。
(1) 本研究通过对比在浅层网络和深层网络进行网络改进的不同结果,得出浅层网络改进优于深层网络改进的结论。
(2) 通过改进后的MH-SSD网络与另外3种网络的mAP值对比。其中,MH-SSD为94.01%,Mobile Net-SSD为91.82%,说明改进后的网络优于传统的Mobile Net-SSD网络。
(3) 文献[5]中试验数据与本研究试验数据一致,均来自同一数据集。通过本研究改进后的MH-SSD网络检测平均准确率与文献[5]中的级联卷积神经网络试验结果中的准确率对比可知,前者高于后者,得出MH-SSD网络可以有效提高检测准确度的结论。
(4) 通过自制短视频对MH-SSD网络进行验证,由验证结果可知,网络运行时画面帧数平均为25帧,除打电话类别外,其余类别均在90%以上。得出MH-SSD网络可以满足实时检测的结论。
综上所述,本研究提出的MH-SSD驾驶员分心行为检测网络模型,可以实现对驾驶员分心行为的准确检测,并且网络准确率更高,网络计算参数更少,有助于将该网络部署于移动端实现车内检测。
下一步工作将针对打电话时准确率低的情况和衣服颜色与车内装饰颜色相近时误检率高的情况进行进一步研究,并考虑加入单独识别手机模块和颜色识别模块来进行辅助识别。本研究因为图片拍摄角度问题,没有进行疲劳驾驶等类别的识别,日后将加入此项类别的识别。
| [1] |
CRAYE C, RASHWAN A, KAMEL M S, et al. A Multi-modal Driver Fatigue and Distraction Assessment System[J].
International Journal of Intelligent Transportation Systems Research, 2016, 14(3): 1-22.
|
| [2] |
OMERUSTAOGLU F, SAKAR O C, KAR G. Distracted Driver Detection by Combining In-vehicle and Image Data Using Deep Learning[J].
Applied Soft Computing, 2020, 96(6): 106657.
|
| [3] |
王冠, 李振龙. 基于反向双目识别的驾驶员分心检测[J]. 科学技术与工程, 2018, 18(17): 82-88. WANG Guan, LI Zhen-long. Driver Distraction Detection Based on Reverse Binocular Recognition[J]. Science Technology and Engineering, 2018, 18(17): 82-88. |
| [4] |
REN S, HE K, GIRSHICK R, et al. Faster R-CNN: Towards Real-time Object Detection with Region Proposal Networks[J].
IEEE Transactions on Pattern Analysis & Machine Intelligence, 2015, 39(6): 1137-1149.
|
| [5] |
陈军, 张黎, 周博, 等. 基于级联卷积神经网络的驾驶员分心驾驶行为检测[J]. 科学技术与工程, 2020, 20(14): 5702-5708. CHEN Jun, ZHANG Li, ZHOU Bo, et al. Driver Distracted Driving Behavior Detection Based on Cascaded Convolutional Neural Network[J]. Science Technology and Engineering, 2020, 20(14): 5702-5708. |
| [6] |
徐莲, 任小洪, 陈闰雪. 基于眼睛状态识别的疲劳驾驶检测[J]. 科学技术与工程, 2020, 20(20): 8292-8299. XU Lian, REN Xiao-hong, CHEN Run-xue. Detection to Fatigue Driving Based on Eye State Recognition[J]. Science Technology and Engineering, 2020, 20(20): 8292-8299. |
| [7] |
任宇杰, 杨剑, 刘方涛, 等. 基于SSD和MobileNet网络的目标检测方法的研究[J]. 计算机科学与探索, 2019, 13(11): 1881-1893. REN Yu-jie, YANG Jian, LIU Fang-tao, et al. Research on Target Detection Method Based on SSD and MobileNet Network[J]. Journal of Frontiers of Computer Science and Technology, 2019, 13(11): 1881-1893. |
| [8] |
徐守坤, 王雅如, 顾玉宛, 等. 基于改进Faster RCNN的安全帽佩戴检测研究[J]. 计算机应用研究, 2020, 37(3): 901-905. XU Shou-kun, WANG Ya-ru, GU Yu-wan, et al. Safety Helmet Wearing Detection Study Based on Improved Faster RCNN[J]. Application Research of Computers, 2020, 37(3): 901-905. |
| [9] |
邝先验, 陈涛, 周亚龙, 等. 改进Fster R-CNN在两轮车辆载人检测中的应用[J]. 河南科技大学学报(自然科学版), 2021, 42(1): 48-53, 55. KUANG Xian-yan, CHEN Tao, ZHOU Ya-long, et al. Application of Improved Faster R-CNN in Detection of Passengers on Two-wheeled Vehicle[J]. Journal of Henan University of Science and Technology(Natural Science Edition), 2021, 42(1): 48-53, 55. |
| [10] |
卢官明, 何嘉利, 闫静杰, 等. 一种用于人脸表情识别的卷积神经网络[J]. 南京邮电大学学报(自然科学版), 2016, 36(1): 16-22. LU Guan-ming, HE Jia-li, YAN Jing-jie, et al. Convolutional Neural Network for Facial Expression Recognition[J]. Journal of Nanjing University of Posts and Telecommunications (Natural Science Edition), 2016, 36(1): 16-22. |
| [11] |
芦佳, 陆振宇, 詹天明, 等. 基于YOLO和深度残差混合网络的狗脸检测算法[J]. 计算机应用与软件, 2021, 38(9): 140-145. LU Jia, LU Zhen-yu, ZHAN Tian-ming, et al. Dog Face Detection Algorithm Based on Yolo and Deep Residual Hybrid Network[J]. Computer Applications and Software, 2021, 38(9): 140-145. |
| [12] |
裴伟, 许晏铭, 朱永英, 等. 改进的SSD航拍目标检测方法[J]. 软件学报, 2019, 30(3): 738-758. PEI Wei, XU Yan-ming, ZHU Yong-ying, et al. The Target Detection Method of Aerial Photography Images with Improved SSD[J]. Journal of Software, 2019, 30(3): 738-758. |
| [13] |
吴哲夫, 李泽农, 吕跃华, 等. 一种利用对抗性学习提高推荐鲁棒性的算法[J]. 小型微型计算机系统, 2021, 42(10): 2079-2084. WU Zhe-fu, LI Ze-nong, LÜ Yue-hua, et al. Robustness-improved Recommendation Algorithm with Adversarial Learning[J]. Journal of Chinese Computer Systems, 2021, 42(10): 2079-2084. |
| [14] |
许腾, 唐贵进, 刘清萍, 等. 基于空洞卷积和Focal Loss的改进YOLOv3算法[J]. 南京邮电大学学报(自然科学版), 2020(6): 100-108. XU Teng, TANG Gui-jin, LIU Qing-ping, et al. Improved YOLOv3 Based on Dilated Convolution and Focal Loss[J]. Journal of Nanjing University of Posts and Telecommunications (Natural Science Edition), 2020(6): 100-108. |
| [15] |
章世祥, 张汉成, 李西芝, 等. 基于机器视觉的路面裂缝病害多目标识别研究[J]. 公路交通科技, 2021, 38(3): 30-39. ZHANG Shi-xiang, ZHANG Han-cheng, LI Xi-zhi, et al. Study on Multi-objective Identification of Pavement Cracks Based on Machine Vision[J]. Journal of Highway and Transportation Research and Development, 2021, 38(3): 30-39. |
| [16] |
白中浩, 王韫宇, 张林伟. 基于图卷积网络的多信息融合驾驶员分心行为检测[J]. 汽车工程, 2020, 42(8): 1027-1033. BAI Zhong-hao, WANG Yun-yu, ZHANG Lin-wei. Driver Distraction Behavior Detection with Multi-information Fusion Based on Graph Convolution Networks[J]. Automotive Engineering, 2020, 42(8): 1027-1033. |
| [17] |
李兰, 奚舒舒, 张才宝, 等. 基于改进SSD模型的工件表面缺陷识别算法[J]. 计算机工程与科学, 2020, 42(9): 1608-1615. LI Lan, XI Shu-shu, ZHANG Cai-bao, et al. A Surface Defect Recognition Algorithm Based on Improved SSD Model[J]. Computer Engineering & Science, 2020, 42(9): 1608-1615. |
| [18] |
陈军, 张黎, 周博, 等. 基于级联卷积神经网络的驾驶员分心驾驶行为检测[J]. 科学技术与工程, 2020, 20(14): 5702-5708. CHEN Jun, ZHANG Li, ZHOU Bo, et al. Driver Distracted Driving Behavior Detection Based on Cascaded Convolutional Neural Network[J]. Science Technology and Engineering, 2020, 20(14): 5702-5708. |
| [19] |
黄汉林, 景军锋, 张缓缓, 等. 基于MF-SSD网络的织物疵点检测[J]. 棉纺织技术, 2020, 48(12): 11-16. HUANG Han-lin, JING Jun-feng, ZHANG Huan-huan, et al. Fabric Defect Detection Based on MF-SSD Network[J]. Cotton Textile Technology, 2020, 48(12): 11-16. |
2022, Vol. 39

