王刚伟 张志佳
摘 要:为了快速检测车辆前排乘员是否系安全带,提出了一种改进YOLOv4-tiny网络及MobileNeXt网络的安全带检测算法。针对车辆及前排挡风玻璃的形状和大小,设计了一个结合深度可分离卷积、检测头可重构的轻量化YOLOv4-tiny目标检测框架,通过设置不同数量检测头的两个网络分别用于车辆和挡风玻璃检测。在MobileNeXt网络中,通过在沙漏残差模块中添加SAM空间注意力模块实现安全带检测。在车辆数据集、挡风玻璃数据集、安全带数据集上进行训练和测试,实验结果表明,车辆检测网络在平均精度(mean Average-Precision, mAP)为99.69%时速度为145 帧/秒,挡风玻璃检测网络在平均精度为99.88%时速度为163 帧/秒,安全带检测网络在准确率(Accuracy, ACC)为93.13%时速度为77 帧/秒。本文算法在兼顾速度的同时具有较高的检测精度。
关键词:安全带检测;目标检测;深度可分离卷积
中图分类号:TP391.41 文献标识码:A
Research on Seat Belt Detection Algorithm for Front Seat Occupants of Vehicles
WANG Gangwei ZHANG Zhijia
Abstract: In order to quickly detect whether the front seat occupants of the vehicle are wearing seat belts, this paper proposes a seat belt detection algorithm based on the improved YOLOv4-tiny network and MobileNeXt network. According to the shape and size of the vehicle and its front windshield, a lightweight YOLOv4-tiny target detection framework is designed that combines depthwise separable convolution and reconfigurable detection head. Two networks with different number of detection heads are set for detecting the vehicle and its windshield respectively. In the MobileNeXt network, seat belt detection is achieved by adding a SAM (Spatial Attention Module) to the hourglass residual module. Training and testing are performed on the vehicle dataset, windshield dataset, and seat belt dataset. Experimental results show that the vehicle detection network achieves a speed of 145 fps (frames per second) with a mean Average-Precision (mAP) of 99.69%. The windshield detection network achieves a speed of 163 fps with a mAP of 99.88%. The speed of the seat belt detection network is 77 fps with an accuracy (ACC) of 93.13%. The proposed algorithm has high detection accuracy while considering the speed.
Keywords: seat belt detection; object detection; depthwise separable convolution
1 引言(Introduction)
近年來,由于公路上的机动车数量不断增加导致交通事故频发。发生交通事故时,只有佩戴安全带才能够有效保障驾乘人员的生命安全。由于数据量大,人工判断乘员是否系安全带成本高,效率低,工作量大。目前,计算机视觉技术发展迅速,取得了突破性的进展,使用图像识别的方式来检测乘员是否系安全带成为必然趋势。
车辆检测的研究方法包括传统方法的检测[1-2]和深度学习的方法检测[1,3-4]。传统方法包括:(1)基于先验知识的检测方法。(2)基于立体视觉的检测方法。(3)基于运动的检测方法。(4)基于差分的检测方法。基于深度学习的方法有:(1)两阶段的R-CNN系列网络检测方法。(2)单阶段的YOLO系列网络检测方法。
安全带检测的研究方法包括传统方法的检测和深度学习的方法检测[5-6]。传统方法主要是基于特征的匹配方法。深度学习的方法包括语义分割检测[7-8]与分类检测。
目前,安全带检测已经取得了初步的进展,但车辆和挡风玻璃检测速度还有待提高,不同场景下提高安全带检测的精度还有待深入研究。在车辆和挡风玻璃检测时,本文使用了YOLOv4-tiny网络,并在不同的应用场景下对网络做出改进,在不降低精度的情况下有效降低了网络的参数,提高了网络的运行效率。安全带检测时,在MobileNeXt网络中的沙漏残差模块中使用了SAM空间注意力机制,在仅仅增加少量参数的情况下带来了1.09%的精度提升。
2 车辆及挡风玻璃检测(Vehicle and windshield detection)
由于交通监控场景中车辆移动速度快,为了实时检测驾乘人员是否佩戴安全带,需要快速地定位车辆的位置。相比两阶段的目标检测算法而言,单阶段的YOLO算法能够在精度和速度上达到平衡,在实际场景下得到广泛应用。本文在车辆和挡风玻璃检测时使用YOLO算法实现快速检测,其检测流程如图1所示。
2.1 车辆检测
YOLO算法检测目标虽然具有高效性,但与两阶段的算法相比,在检测小目标时,其存在很大的不足。安全带检测时,相机的采集视野固定,图像中的车辆尺寸大,因此可忽略YOLO算法在小目标检测上的劣势。本文仅针对近距离的车辆进行驾乘人员是否佩戴安全带的检测。由于检测的目标尺寸大,在平衡精度和速度的前提下,本文使用YOLOv4-tiny网络进行车辆检测,并且在其中引入了深度可分离卷积,提高了网络的检测速度,如图2所示为结合深度可分离卷积的YOLOv4-tiny网络结构。
2.2 挡风玻璃检测
车辆中的挡风玻璃具有几何形状规则、目标大、易检测等特点,因此,本文保留了YOLOv4-tiny网络两个检测头中分辨率低的检测头用于挡风玻璃的检测,在检测头处使用深度可分离卷积替换3×3卷积。如图3所示为挡风玻璃检测网络结构。
3 安全带检测(Seat belt detection)
3.1 MobileNeXt网络
相比MobileNetV2、MobileNetV3等轻量化网络,MobileNeXt网络的沙漏残差模块中使用两次1×1卷积编码通道间的信息,两次深度可分离卷积保留了更多的空域信息,有助于检测性能的提升。如图4所示为MobileNeXt网络结构。
3.2 引入SAM模块的MobileNeXt网络
安全带检测时,在MobileNeXt网络的沙漏残差模块中引入SAM空间注意力模块能够将原图中的空间信息转换到另一个空间中并保留图像中的关键信息。引入SAM空间注意力模块的MobileNeXt网络如图5所示。
4 实验结果与分析(Experimental results and analysis)
4.1 数据集
本文的实验数据来源于交通监控的图像,对图像使用开源标注软件制作成如表1所示的数据集。
4.2 实验环境与评价指标
实验中,软件环境的操作系统为Ubuntu 20.04,深度学习软件框架为Pytorch;硬件环境的CPU为Intel(R) Core(TM) i5-8400 2.80 GHz×6,内存8 GB;GPU为Nvidia(R) GTX(R) 1050TI。
本文中安全带检测采用准确率(ACC)、精准率(PPV)、召回率(TPR)作为评价指标,如式(1)、式(2)、式(3)所示。
(1)
(2)
(3)
其中,TP表示模型检测为正样本并且真值是正样本;FP表示模型检测为正样本但真值不是正样本;FN表示模型检测为负样本但真值不是负样本;TN表示模型检测为负样本并且真值是负样本。
4.3 车辆检测实验
在车辆数据集上使用YOLOv4、YOLOv5S、YOLOv4-tiny等基础网络进行实验,结果如表2所示。
表2中,YOLOv4-tiny-DW-1为单个检测头及使用深度可分离卷积的YOLOv4-tiny网络;YOLOv4-tiny-DW为两个检测头及使用深度可分离卷积的YOLOv4-tiny网络;MobileNetV2-v4-tiny、MobileNetV3-v4-tiny、MobileNeXt-v4-tiny分别为主干特征提取网络为MobileNetV2、MobileNetV3、MobileNeXt的YOLOv4-tiny网络。
表2数据表明,使用单检测头的YOLOv4-tiny-DW-1网络会造成车辆大幅度漏检。因此,本文使用YOLOv4-tiny-DW网络进行车辆检测,检测示例如图6所示。
4.4 挡风玻璃检测实验
在车辆数据集上快速定位出车辆后,截取每幅图像中车辆的区域作为挡风玻璃的数据集,使用YOLOv4-tiny网络及替换主干特征提取网络的YOLOv4-tiny网络进行实验,结果如表3所示。
表3数据表明,YOLOv4-tiny-DW-1网络与YOLOv4-tiny原网络相比不仅没有降低网络的检测精度,而且还将网络的检测速度从131 幀/秒增加到了163 帧/秒。本文使用YOLOv4-tiny-DW-1网络进行挡风玻璃检测,其检测示例如图7所示。
4.5 安全带检测
车辆中安全带为一块连续的区域,可通过语义分割网络分割出安全带区域,因此有研究人员使用语义分割进行安全带检测。本文使用语义分割网络与使用SAM空间注意力模块的MobileNeXt网络进行实验,得到如表4所示的数据。
实验结果表明,当安全带与背景颜色相近、出现类似安全带阴影区域时,使用安全带语义分割会造成大量误检。而安全带分类检测更关注图像的整体,受复杂背景的影响较小,检测结果更稳定,鲁棒性更好。如图8所示为图像中出现阴影区域时,安全带语义分割与安全带分类检测的典型对比结果。图8(a)—图8(d)均为原图,图8(e)—8(h)为语义分割的检测结果,图8(i)—图8(l)为语义分割错误的检测乘员系安全带的区域。以上场景在使用安全带分类检测时均正确检测出乘员未系安全带。
5 结论(Conclusion)
本文采用改进的轻量化YOLOv4-tiny网络快速检测驾驶员和副驾驶区域,使用结合SAM空间注意力模块的MobileNeXt网络进行安全带的检测。实验表明,本文方法能够快速地检测乘员是否系安全带,检测的准确率为93.13%,能够满足现代智能交通中安全带识别的需求。
参考文献(References)
[1] 吳天舒,张志佳,刘云鹏,等.结合YOLO检测和语义分割的驾驶员安全带检测[J].计算机辅助设计与图形学学报,2019,31(01):126-131.
[2] 赵奇慧,刘艳洋,项炎平.基于深度学习的单阶段车辆检测算法综述[J].计算机应用,2020,40(S2):30-36.
[3] 李祥鹏,闵卫东,韩清,等.基于深度学习的车牌定位和识别方法[J].计算机辅助设计与图形学学报,2019,31(06):979-987.
[4] 凌艳,陈莹.多尺度上下文信息增强的显著目标检测全卷积网络[J].计算机辅助设计与图形学学报,2019,31(11):
2007-2016.
[5] 霍星,费志伟,赵峰,等.深度学习在驾驶员安全带检测中的应用[J].计算机科学,2019,46(S1):182-187.
[6] 付春芬.基于深度学习的安全带检测方法研究[D].武汉:华中科技大学,2015.
[7] 熊昌镇,智慧.多模型集成的弱监督语义分割算法[J].计算机辅助设计与图形学学报,2019,31(05):800-807.
[8] CHEN L C, PAPANDREOU G, KOKKINOS I, et al.
Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2018, 40(4):834-848.
作者简介:
王刚伟(1996-),男,硕士生.研究领域:机器学习,目标检测.
张志佳(1974-),男,博士,教授.研究领域:机器学习,模式识别.