改进YOLOv5s算法的车辆目标实时检测方法
2024-07-02陈秀锋王成鑫吴阅晨谷可鑫
陈秀锋 王成鑫 吴阅晨 谷可鑫
摘 要:针对城市道路车辆检测中小目标车辆漏检率高和存在异类冗余框的问题,提出一种改进YOLOv5s的车辆实时检测算法。对YOLOv5s算法网络结构进行优化,采用增加小目标检测层,将浅层特征图与深层特征图拼接后进行检测的方法,提升小目标车辆的检测率;针对异类冗余框问题,采用加权非极大值抑制融合两边框信息的方法,提升检测准确性。实验结果表明,改进YOLOv5s算法的平均检测精度(mAP@05∶095)达到6417%,相比YOLOv5s算法,查准率、召回率分别提高172%、 072%;在小目标车辆检测中,正检率提高595%,漏检率降低463%。改进YOLOv5s算法能有效改善小目标车辆的检测精度和准确率。
关键词:车辆检测;深度学习;改进YOLOv5s算法;小目标检测;异类冗余框
DOI:10.15938/j.jhust.2024.01.012
中图分类号: U4912 文献标志码: A
文章编号: 1007-2683(2024)01-0107-08
A Real-time Detection Method of Vehicle Target Based on Improved YOLOv5s Algorithm
CHEN Xiufeng, WANG Chengxin, WU Yuechen, GU Kexin
(School of Civil Engineering, Qingdao University of Technology, Qingdao 266520,China)
Abstract:Aiming at the high missed detection rate of small target vehicles and the heterogeneous redundant frames in video vehicle detection, a real-time vehicle detection algorithm based on improved YOLOv5s was proposed To improve the detection rate of small target vehicles, an optimization of the YOLOv5s algorithm network structure was established, which added a small target detection layer and spliced the shallow feature map with the deep feature map in the detection For the problem of heterogeneous redundant frames, weighted non-maximum value suppression is used to fuse the information of both frames to improve the detection accuracy The experimental results show that the average detection accuracy (mAP@05∶095) of the improved YOLOv5s algorithm reaches 6417% Compared with the YOLOv5s algorithm, the precision and recall rate are improved by 172% and 072% respectively In the small target vehicle detection, the positive detection rate is increased by 595% and the missed detection rate is reduced by 463% The improved YOLOv5s algorithm can effectively improve the detection precision and accuracy of small target vehicles
Keywords:vehicle detection; deep learning; the improved YOLOv5 algorithm; small target detection; heterogeneous redundant frames
0 引 言
随着城市化进程的加快和居民出行需求的不断提高,交通拥堵程度日益严峻,对道路交通运行的安全、效率和智能化等提出了更高的要求。智能交通管理中实时准确的信息采集和分析是交通管理措施有效的前提和保障。其中,视频车辆检测能够实时、准确检测车辆到达从而为交通管控提供有效的数据保障,已成为智能交通领域研究的热点之一[1]。
Zhang等[2]融合毫米波雷达和相机的位置和速度信息,利用坐标转换和参数标定生成感兴趣区域,提出边界框回归算法精确定位和识别检测目标,但传感器数据差异使得数据融合效果并不理想。Pablo等[3]利用物体的运动一致性来实现目标检测,采用高斯混合模型进行背景建模,车辆跟踪中提出目标空间邻接的粒子滤波算法,并采用自定义的虚拟环路检测实现车辆统计,模型能较好地改善道路车辆检测能力,但在光照变化复杂和阴影环境下的检测误差较大。Kachach等[4]提取滑动窗口内方向梯度直方图特征,利用线性支持向量机实现车辆目标检测分类。但模型参数的确定较为复杂,在工程应用中的适应性和稳定性有待提高。随着机器学习技术的发展,先进的深度学习技术逐步应用到车辆目标检测,并取得了理想的性能。基于深度学习的目标检测方法分为两类:一步法和两步法[5]。一步法的典型算法为You Only Look Once(YOLO)系列算法[6-7],YOLO将对象分类和检测过程统一为一个回归过程[8],直接利用回归来检测目标。两步法[9]的代表模式为Region Convolutional Neural Network(R-CNN)系列算法[10-12],采用选择搜索算法在目标图像中选择候选目标区域,提取候选区域目标并按照统一尺寸对图像进行裁剪,经过神经网络采集数据输出特征图像,利用支持向量机分类器进行判断和回归校正,从而得出目标检测结果。相对于两步法,一步法更适合实时性的车辆检测[13]。YOLO系列算法通过卷积神经网络提取特征来产生目标的位置和类别信息,是一种端到端的目标检测算法,具有更快的检测速度。其中,YOLOv5算法在YOLOv4算法的基础上加以改进,根据不同通道的尺度进行缩放,改变主干网络和颈部网络结构加快算法训练速度。然而,在实际的车辆检测应用中,由于下采样、卷积等操作的存在,深度神经网络架构中的特征映射大小随着层数的增加而逐渐减小,这导致了网络传播过程中特征的丢失,削弱了特征的利用率。与利用深度神经网络结构的算法类似,YOLOv5算法中也存在对于远距离小目标的检测能力不足,小目标车辆漏检率高、异类冗余框、检测效率低等问题。
综上,本文在YOLOv5s算法的基础上,增加小目标检测层[14]来解决小目标车辆漏检率高问题,其次,通过判断是否存在异类冗余框并融合异类冗余框的两步操作法,来抑制出现的异类冗余框问题。
1 YOLOv5s算法原理
YOLO系列利用CNN将输入图片划分成网格,每个网格负责检测目标中心落入网格,然后预测边界框和边界框的置信度,最后利用非极大值抑制进行网络预测[15]。YOLOv5系列算法具有检测查准率较高、算法运行速度快等优势,已经部署于道路车辆的实时检测。YOLOv5系列中包含了4种模式,分别是YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,算法体积逐渐扩大,相应的检测查准率越高。YOLOv5s算法[16]流程分为训练和检测两个流程部分,其中YOLOv5s的网络结构如图1所示。YOLOv5s算法网络结构分为头部(Head)、颈部(Neck)和主干网络(Backbone)。主干网络由Foucs结构和CSP(center and scale prediction)模块构成,用于从输入图像中提取关键特征;颈部网络由SPP模块和PA-NET(path aggregation network)组成,用于将主干输出的特征整合后提供给头部网络;头部网络负责最后的检测步骤,将边界框位置与识别类型构造神经网络形成最终输出向量[17]。
图1中,Conv指代卷积层,BN指代批标准化层,缩放特征图像使输入标准化固定每层输入信号的均值与方差,缓解过拟合;LeakyReLU与SiLU为激活函数;CSP即Cross Stage Partial,指跨阶段局部层;MaxPool为最大值池化层;Focus为注意力层;Concat为组合层;SPP即Spatial Pyramid Pooling,指空间金字塔池化层;ResUnit为残差单元[18],借鉴残差神经网络的思想,解决了卷积网络随着深度增加出现梯度消失的问题[19],使网络可以传播更深。
训练流程部分主要包含损失函数与数据增强两个模块,YOLOv5采用 CIOU-Loss 作为边界框回归损失函数[20],有效解决了边界框不重合时的问题;除翻转、旋转、变形、缩放等传统数据增强方法外,YOLOv5训练过程额外采用马赛克数据增强方法[21],阻止神经网络学习不相关的特征,缓解过拟合现象,提升算法整体性能。
检测流程部分,首先,在将图像输入 YOLOv5网络前需要先对图像进行缩放和补零,使图像尺寸符合YOLOv5网络的输入要求;其次,经YOLOv5算法运算后输出若干边界框的位置信息与类型预测结果,再利用非极大值抑制模块处理输出边界框,以减少重复检测的边界框数量;最后,将剩余边界框进行输出,作为图像中车辆的检测结果。
2 改进YOLOv5s车辆检测算法
2.1 网络结构优化
YOLOv5s算法的下采样次数多,降低图像分辨率的同时导致检测效果低下,且层数较深的特征图像很难学习到小尺寸目标的特征信息,无法有效检测小目标。本文在 YOLOv5s算法中增加小目标检测层,将浅层特征图与深层特征图拼接后进行检测,如图2所示。小目标检测层由上采样模块、融合模块、Bottleneck CSP模块与卷积模块组成。红色栅格区域为小目标检测层。对第17层图像特征上采样后放大输入图像细节,使得小目标物体经过上采样后,特征信息中小目标物体的像素点占具一定比例;将第20层输出图像与主干网络中第2层输出图像进行融合,使得深层特征图与浅层特征图在语义性和空间性上进行更好的平衡,以优化小尺寸目标检测效果。在原三组锚框基础上,增加一组较小的锚框,这些锚框长宽分别为(6,7)、(9,15)、(16,12)。
2.2 异类冗余框抑制
YOLOv5s算法中结果输出采用非极大值抑制消除同类型重复检测的边界框,但存在将目标检测为不同类型的情况。小汽车被检测为car后又被检测为truck,将这组边界框称为异类冗余框,如图3所示。针对此问题,本文在YOLOv5s算法中提出异类冗余框抑制方法,该方法包括异类冗余框判别和融合两步操作。
YOLOv5s算法结果输出为二维数组,数组每行代表一条检测结果,每条检测结果表示为
pbi=[x1i,y1i,x2i,y2i,Ppi,{ηi∶l}](1)
式中:pbi为边界框i的预测结果;x1i与y1i为边界框左上角点的横纵坐标(pixel);x2i与y2i为边界框右下角点的横纵坐标(pixel);Ppi为预测概率;ηi为识别类型;{ηi∶l}为类型字典,l为车辆类型检测次数。
判别异类冗余框流程为:计算两两边界框间IoU(intersection over union)值,若IoU值高于异类冗余框阈值,
则判定边界框为异类冗余框。阈值根据非极大值抑制模块的阈值取值。IoU的计算公式为
IoUij=aIij(ai+aj-aIij)(2)
aIij=max(0,min(x2i,x2j)-max(x1i,x1j))×max(0,min(y2i,y2j)-max(y1i,y1j))(3)
ai=|x2i-x1i||y2i-y1i|(4)
aj=|x2j-x1j||y2j-y1j|(5)
式中:aIij为边界框i与j重叠区域面积(pixel×pixel);ai为边界框i的面积(pixel×pixel)。
融合异类冗余框步骤为:取异类冗余框坐标均值作为融合边界框坐标,将两个边界框类型加权求和后放入类型字典。识别类型不同时,采用加权非极大值抑制以增加注意框面积,丰富模型提取到的细节数据信息,使得边界框定位更加准确,从而提升算法检测性能。异类冗余框融合的结果表示为
pbi=x1i+x1j2,y1i+y1j2,x2i+x2j2,y2i+y2j2,Ppi+Ppj2,
ηi∶2aiPpi2,ηj∶2ajPpj2,ηi≠ηj
x1i+x1j2,y1i+y1j2,x2i+x2j2,y2i+y2j2,Ppi+Ppj2,
{ηi∶2},ηi=ηj(6)
在车辆检测过程中,若同一辆车被多次检测,将每次识别类型保存于类型字典中,输出车辆类型时选择数值最大的识别类型。
2.3 算法流程
改进YOLOv5s算法车辆检测系统含有4个子模块:数据库建立、网络结构优化、模型训练和车辆检测,如图4所示。
数据库提供模型训练所需的数据集;以YOLOv5s为基准算法,增加小目标检测层,优化神经网络小尺寸车辆图像的检测能力;在改进YOLOv5s网络上训练算法以更新算法参数;利用改进YOLOv5s算法检测图像获得检测目标的边界框,基于非极大值抑制模块消除同类型的重复检测边界框,然后利用异类冗余框抑制模块消除不同类型的重复检测边界框。
3 实验分析与验证
3.1 实验环境与数据集
本文实验软硬件设置为:Windows10操作系统,Inter-酷睿i5-10200H CPU,NVIDIA GeForce GTX 1650ti GPU,16GB内存,Pycharm Community IDE。
以美国AI-HCM-CITY2020数据集为基准,车辆数据场景涵盖白天、黑夜、路段、交叉口等共26种,经过数据分析、清洗、马赛克数据增强技术等制作均衡数据集,最终获取4671张图片,其中小汽车样本13596个,公交或中大型客车样本6604个,货车或卡车样本6195个,以此数据集训练改进YOLOv5s算法。
采用实际道路交叉口车辆数据验证改进YOLOv5s算法的有效性。对于小目标检测效果,本文以青岛市市南区香港中路-燕儿岛路交叉口南进口2022年5月17日晚高峰10分钟视频数据集为研究对象,对前7分12秒视频图像每隔5秒截取图像,共得到80帧作为样本。对于异类冗余框抑制效果,选取香港东路-海尔路交叉口2022年5月18日早高峰监控视频数据作为研究对象,取视频前1分12秒,视频帧率为25frame/s,每5~125帧输出一次检测样本。
3.2 改进前后YOLOv5s算法的对比分析
3.2.1 改进网络结构算法性能测试
改进YOLOv5s算法增加小目标检测层,检验对于提升小目标车辆的检测能力;改进异类冗余框抑制模块,检验对于车辆误检率的变换情况。对比改进网络结构YOLOv5s算法,得出算法在车辆实时检测中的查准率、召回率、mAP@05、mAP@05∶095和检测速度的数据指标如表1所示,其指标中的查准率体现了检测算法拒绝错误检验的能力,召回率体现了算法正确检验的能力,检测速度体现算法快速检测目标物体的能力,平均准确率反映了算法对于车辆目标的综合检测性能。
从表1可以看出,相比YOLOv5s算法,改进YOLOv5s算法的查准率提高了172%,召回率提高了 072%,mAP@05指标提高了138%,mAP@05∶095指标提高了128%。改进YOLOv5s算法增加了小目标检测层,检测速度下降约16216%。
3.2.2 迭代过程可视化分析
在AI-HCM-CITY2020构建的均衡数据集上,将改进前后YOLOv5s算法分别进行训练,记录算法前50epoch的变化过程,见图5。可以看出,在迭代23次前改进YOLOv5s算法的查准率、召回率、mAP@05、mAP@05∶095指标均略低于YOLOv5s算法,说明增加了小目标检测的改进算法中网络结构更深,需要的训练时间更长且迭代初期不稳定。但随着迭代次数的增加,从数据中提取的特征信息不断累积,数据特征信息不断丰富,迭代恢复稳定状态。改进算法性能指标与YOLOv5s算法基本持平,甚至优于YOLOv5s算法。
3.2.3 小目标检测效果对比
将改进前后YOLOv5s算法对小目标车辆检测效果进行验证,假设不存在车辆重检或将非车辆物体识别为车辆。如图6所示,工程应用中视频检测器设置于进口道停车线上游,在检测对向进口道车辆时,YOLOv5s算法出现小目标车辆漏检(见图6(a))。改进的YOLOv5s算法在同样场景下可有效实现小目标车辆检测(见图6(b))。说明改进算法增强了分辨率较低情况下对于小目标车辆的检测能力。本文采用正检率、误检率、漏检率指标来衡量改进算法的有效性,两种算法的检测结果对比如表2所示。
由表2可知,在小目标车辆检测中,相比较YOLOv5s算法,本文算法的正检率提高了595%,误检率降低了217%,漏检率降低了463%,均优于YOLOv5s算法,表明改进YOLOv5s算法对小目标车辆检测有较强的识别能力。
3.2.4 异类冗余框抑制效果对比
采用正检率、误检率、漏检率和重检率评价指标对比分析改进YOLOv5s算法对异类冗余框抑制的效果,结果见表3。重检率为目标检测中同一样本被标记为不同类别样本的比率,其计算公式为
Pδ=∑iΩmδ(i)mall
式中:Pδ为重检率;mδ(i)为第i 帧重复检测车辆数。
由表3可见,改进YOLOv5s算法正检率提高了702%,误检率降低了936%,漏检率降低了124%。YOLOv5s算法的车辆重检率高达760%,改进算法不存在车辆重检情况,改进算法有效解决了车辆重检问题。
YOLOv5s算法与改进YOLOv5s算法部分输出检测结果对比如图7所示。可以看出采用改进的YOLOv5s算法,其输出结果中不存在车辆重检。可见改进算法消除了异类冗余框。
4 结 论
本文提出一种改进YOLOv5s算法应用于道路车辆检测,利用小目标检测层改进YOLOv5s算法网络结构,采用异类冗余框抑制模块提升YOLOv5s算法检测准确率。在车辆检测数据集AI-HCM-CITY2020上对改进YOLOv5s算法进行训练,利用实际道路监控数据进行检验,实验表明,改进YOLOv5s算法查准率、召回率、mAP@05、mAP@05∶095相比YOLOv5s算法有所提高,检测速度有一定降低,但仍能满足实时性要求。在后续研究中,需要针对改进YOLOv5s算法导致网络结构复杂的情况下,实现目标检测高精度和高速度的平衡。
参 考 文 献:
[1] WU T, ZHOU P, LIU K, et al. Multi-agent Deep Reinforcement Learning for Urban Traffic Light Control in Vehicular Networks [J]. IEEE Transactions on Vehicular Technology, 2020, 69(8): 8243.
[2] ZHANG X, ZHOU M, QIU P, et al. Radar and Vision Fusion for the Real-time Obstacle Detection and Identification [J]. Industrial Robot An International Journal, 2019, 46(3): 391.
[3] PABLO B, CHRISTIANO B, FABIANO, et al. A Novel Video Based System for Detecting and Counting Vehicles at User-Defined Virtual Loops [J]. Expert Systems with Applications, 2015, 42(4): 1845.
[4] KACHACH R, CANAS J M. Hybrid Three-dimensional and Support Vector Machine Approach for Automatic Vehicle Tracking and Classification Using a Single Camera [J]. Journal of Electronic Imaging, 2016, 25(3): 033021.
[5] TIAN Y N, YANG G D, WANG Z, et al. Apple Detection During Different Growth Stages in Orchards Using the Improved YOLO-v3 Model [J]. Computers and Electronics in Agriculture, 2019,157:417.
[6] REDMON J, DIVVALA S, GIRSHICK R, et al. You Only Look Once: Unified, Real-time Object Detection [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. IEEE, 2016: 779.
[7] REDMON J, FARHADI A. YOLO9000: better, faster, stronger [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. IEEE, 2017: 7263.
[8] REDMON J, FARHADI A. YOLOv3:An Incremental Improvement [R]. arXiv: 1804. 02767v1, 2018.
[9] BOCHKOVSKIY A, WANG C Y, LIAO H Y M. Yolov4: Optimal Speed and Accuracy of Object Detection [J/OL]. arXiv: 109342020. http://arxiv.org/abs/2004.10934, 2020.
[10]GIRSHICK R, DONHUE J, Darrell T, et al. Region-based Convolutional Networks for Accurate Object Detection and Segmentation [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 38(1): 142.
[11]ZHANG N, DONAHUE J, GIRSHICK R, et al. Part-based R-CNNs for Fine-grained Category Detection [C]// European Conference on Computer Vision. ECCV, Zurich, 2014: 834.
[12]HE K, ZHANG X, REN S, et al. Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(9): 1904.
[13]朱茂桃, 邢浩,方瑞华. 基于YOLO-TridentNet的车辆检测方法 [J].重庆理工大学学报:自然科学 , 2020, 34(11): 1.
ZHU Maotao, XING Hao, FANG Ruihua. Vehicle Detection Based on YOLO-TridentNet [J]. Journal of Chongqing University of Technology:Natural Science, 2020, 34(11): 1.
[14]柳长源, 王琪, 毕晓君. 多目标小尺度车辆目标检测方法 [J].控制与决策,2021,36(11):2707.
LIU Changyuan, WANG Qi, BI Xiaojun. Multi-target and Small-scale Vehicle Target Detection Method [J]. Control and Decision, 2021,36(11):2707.
[15]邵延华, 张铎, 楚红雨, 等.基于深度学习的YOLO目标检测综述[J].电子与信息学报,2022,44(10):3697.
YAN Shaohua, ZHANG Duo, CHU Hongyu, et al. A Review of YOLO Object Detection Based on Deep Learning [J]. Journal of Electronics & Information Technology, 2022,44(10):3697.
[16]李海军, 孔繁程, 林云. 基于改进的YOLOv5s红外舰船检测算法 [J/OL].系统工程与电子技术:1.
LI Haijun, KONG Fancheng, LIN Yun. Infrared Ship Detection Algorithm Based on Improved YOLOv5s [J/OL]. Systems Engineering and Electronics:1.
[17]蔡仁昊, 程宁, 彭志勇, 等. 基于深度学习的轻量化红外弱小车辆目标检测算法研究[J].红外与激光工程,2022,51(12):357.
CAI Renhao, CHENG Ning, PENG Zhiyong, et all. Lightweight Infrared Dim Vehicle Target Detection Algorithm Based on Deep Learning [J]. Infrared and Laser Engineering,2022,51(12):357.
[18]CHOLLET F. Xception: Deep Learning with Depthwise Separable Convolutions [J]. arXiv preprint arXiv: 1610.02357,2016.
[19]黄英来, 李大明, 吕鑫, 等. 改进YOLOv4算法的袋料香菇检测方法 [J].哈尔滨理工大学学报,2022,27(4):23.
HUANG Yinglai, LI Daming, L Xin, et all. A Detection Method of Lentinus Edodes Based on Improved YOLOv4 Algorithm [J]. Journal of Harbin University of Science and Technology,2022,27(4):23.
[20]Dong X, Yan S, Duan C. ALightweight Vehicles Detection Network Model Based on YOLOv5 [J]. Engineering Applications of Artificial Intelligence, 2022, 113: 104914.
[21]FAWZI A, SAMULOWITZ H, TURAGA D, et al. Adaptive Data Augmentation for Image Classification [C]// IEEE International Conference on Image Processing. IEEE, 2016: 3688.
(编辑:温泽宇)
基金项目: 国家自然科学基金(52272311);国家自然科学基金青年基金(62003182)
作者简介:王成鑫(1998—),男,硕士研究生;
吴阅晨(1997—), 男,硕士
通信作者:陈秀锋(1977—),男,博士,副教授,E-mail:chenxiufeng@quteducn