1、电子设计工程Electronic Design Engineering第31卷Vol.31第4期No.42023年2月Feb.2023收稿日期:2021-11-15稿件编号:202111099作者简介:黄剑翔(1996),男,江苏泰州人,硕士研究生。研究方向:人工智能。近年来,深度学习由于具备高准确度、快速检测等优点,已经逐步占据传统算法的主导地位1,主要分为两种方法:一类是基于检测框和分类器的 two-stage算法,如R-CNN2、Fast R-CNN3等,这系列算法精度相比于其他检测算法较高,但耗时较长,难以满基于改进的YOLOv5算法道路目标检测分类技术研究黄剑翔1,朱 硕2(1.南京
2、信息工程大学 电子信息与通信工程学院,江苏 南京 210044;2.无锡学院 电子信息工程学院,江苏 无锡 214000)摘要:随着互联网技术的飞速发展,智慧交通系统(Intelligent Traffic Systems,ITS)技术日渐成熟。其中,智慧道路交通管理服务领域需要对交通动态信息进行实时检测,在获得相应路口车流量信息的同时,还需要对经过该路口的目标进行分类、统计、追踪。因此,如何对经过路口的目标进行检测分类逐渐变成当前视觉领域研究的热点问题。该文借助雷视一体机收集了大量道路目标数据集,利用处理后的数据集在pytorch框架上进行训练。通过标签平滑处理、数据增强、改进损失函数等方法
3、来提升检测效果。实验对比之后,该模型处理结果比优化前的模型对远处小目标、遮挡车辆、镜头前大车辆等目标的识别效果更好,mAP达到了77.57%,相比原先的网络提高了2.76%。关键词:智慧交通;目标检测;数据集;数据处理;损失函数中图分类号:TN919.8文献标识码:A文章编号:1674-6236(2023)04-0188-06DOI:10.14022/j.issn1674-6236.2023.04.039Research on road target detection and classification technology based on improvedYOLOv5 algorith
4、mHUANG Jianxiang1,ZHU Shuo2(1.School of Electronic Information and Communication Engineering,Nanjing University of InformationEngineering,Nanjing 210044,Chian;2.School of Electronic Information Engineering,Wuxi University,Wuxi 214000,China)Abstract:With the rapid development of Internet technology,I
5、ntelligent Traffic Systems(ITS)technologyis becoming more and more mature.Among them,the intelligent road traffic management service fieldneeds to detect the traffic dynamic information in real time.While obtaining the traffic flow information ofthe corresponding intersection,it also needs to classi
6、fy,count and track the targets passing through theintersection.Therefore,how to detect and classify the targets passing through the intersection hasgradually become a hot issue in the field of vision.In this paper,a large number of road target data setsare collected with the help of mine vision alli
7、none machine,and the processed data sets are trained onthe pytorch framework.The detection effect is improved by label smoothing,data enhancement and lossfunction.After experimental comparison,the processing result of the model is better than that of theoptimized model for the recognition of distant
8、 small targets,occluded vehicles,large vehicles in front ofthe lens and other targets,mAP reaches 77.57%,which is 2.76%higher than the original network.Keywords:intelligent transportation;target detection;data sets;data processing;loss function-188足智慧交通系统所需的实时性;另一类是基于回归的 one-stage 算法,如 YOLO 系列和 SSD4
9、等,相比于two-stage算法,这类算法的推理速度快,可满足智慧交通系统的实时性要求。该文采用 one-stage 算法 YOLOv5 网络。对其IOU损失函数、数据处理算法进行改进,将改进后的网络与原有网络进行检测对比,对比结果显示改进后的网络相比原有网络的检测效果有明显的提升,具有更广泛的应用价值。1YOLO网络模型2020年 5月 30号,Ultralytics LLC 公司提出一种新的算法 YOLOv5,YOLOv5的 FPS达到 140,速度快的时候仅需 0.007 s便可完成图像的推理,这一点便满足了实际情况下实时性的要求。相比之前的YOLO 系列,YOLOv5 网络结构更小。Y
10、OLOv5 在数据处理方面不但采取了与 YOLOv4相同的 mosaic数据增强算法,同时在主干网络部分进行优化,使得网络能够满足对小目标的检测要求。YOLOv55检 测 网 络 包 括 四 种 不 同 的 结 构:YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x。这四种网络结构与 YOLOv3 和 YOLOv4 不同,YOLOv5 系列均以 yaml 格式来呈现,而 YOLOv3、YOLOv4 则是以cfg 格式承载网络;YOLOv5 的四种网络的宽度系数和深度系数各不相同,因此在算法性能上四种结构也有所区别,部分主要指标如表1所示。表1四种网络结构的参数YOLOv5YOLOv
11、5sYOLOv5mYOLOv5lYOLOv5x深度系数0.330.671.01.33宽度系数0.500.751.01.25其中,YOLOv5s的权重文件和 YOLOv4相比,仅仅占 YOLOv4权重文件的 1/9,是四种结构中最小的一个。相比其他三种网络结构,YOLOv5x结构纵深最大,网络权重文件也最大,但其AP精度也是四种网络结构中最高的;考虑到消耗时间及网络大小二者的利弊,权衡之下该文选用YOLOv5x作为基础网络。YOLOv5神经网络结构6主要由三大模块组成,分别为Backbone、Neck、Head模块,如图1所示。1)Backbone7(主干网络):是 YOLOv5网络的主要组成部
12、分,是一个小型卷积神经网络8,能用来形成图像特征。Backbone 主要包括 Focus、CSP、SPP9以及relu激活函数。其中,Focus模块用于对input进行切片操作,如图2所示。图2Focus切片操作图 2 中,左边是一个 441 的图片,经过 Focus切片操作之后,变成了右边所示的 224结构。以YOLOv5x模型为例,将b,3,640,640的图像输入网络中,经过 Focus 切片处理之后,得到b,12,320,320的特征图,经过 32个 1112的卷积核的卷积操作,得到b,32,320,320的特征图。其中,b表示 batch,即每次输入的图片数,3和 12表示图片的通道
13、数,640和320 表示图片的长、宽。经过 Focus 模块处理,减少了计算量,为模型大大节省了计算机资源和时间资源;同时还不会导致重要信息的丢失,从而保留图片下采样信息,为后面的特征提取部分提供了便利。2)Neck 模块:处于 Backbone 和 Head 之间的模块,Neck模块存在的目的就是更好地利用 Backbone提取出的特征,该模块分为 FPN10结构和 PAN 结构。FPN结构流程自上向下,经过upsample和concat将上层特征图和底层特征图融合得到待预测的新特征 图。图 中 picture5 位 置 处 获 得 的 特 征 图 通 过upsample 得到与 pictu
14、re4 特征图大小相同的上采样层,再通过 concat 融合,得到新的待预测特征图。FPN 层后有一个 PAN 层,该层操作方向与 FPN 恰恰相反,它是一个自底向上的特征金字塔。FPN层自顶向下,PAN自底向上,二者结合进行参数聚合。图1YOLOv5网络结构黄剑翔,等基于改进的YOLOv5算法道路目标检测分类技术研究-189电子设计工程 2023年第4期3)Head(输出层):Head模块用来提取输出,利用提取的特征做出预测。进行train时考虑到代价函数中的锚框机制以及预测框筛选的修改,YOLOv5的输出层采用 GIOU 作为损失函数,通过非极大值抑制(NMS)10来筛选目标框。训练时预测
15、值与真实值之间往往存在着误差,主要用损失函数来评价二者之间的差异程度,通过损失函数可衡量一个模型的好与坏,从而评价一个模型的性能,因此损失函数的选择至关重要。最为常见的损失函数为IOU_LOSS。如图3所示,其中A与B分别为两个互有重合的矩形框,M为A和B的交集,N表示A与B两个集合的并集,IOU11即是交集与并集之比,IOU_LOSS 即是N-M与N之比,二者的定义如下:IOU=ABAB=MN(1)IOU_LOSS=1-ABAB=1-MN(2)训练的目的就是降低IOU_LOSS的值,随着该值的减小,说明模型效果在增加。但当两个框 A、B 不相交时,则无法预测两个框之间的距离。图3IOU示意图
16、为了解决这个问题,在 YOLOv5的预测中,利用GIOU_LOSS11作为物体的边界框的损失函数。如图 4所示,N为图 3中 A、B的并集,N+2C表示包住两个框的最小的矩形面积,GIOU及GIOU_LOSS的定义如下:GIOU=IOU-|2C|N+2C(3)GIOU_LOSS=1-GIOU(4)先计算出两个并集及 IOU,再计算出两个框的最小包合矩形面积,然后计算最小包合矩形面积中N 的补集所占面积的比重,最后用 IOU 减去该比重得到GIOU,计算GIOU_LOSS只需用1减去GIOU。图4GIOU示意图2基于YOLOv5x网络结构的优化2.1损失函数的优化该文所使用的 YOLOv5网络默认选择上文所说的 GIOU损失函数;相比 IOU,GIOU不仅关注重叠区域,同时也关注非重合区域,能很好地反映两者的重合度,因此能解决 IOU 中两个框没有相交这种情况下没有梯度回传、无法进行学习的问题。当遇到两个框A、B彼此存在包含关系,如图5(a)所示,GIOU_LOSS 几乎会退化成 IOU_LOSS,这导致IOU_LOSS 问题会再次出现;此外,在这种情况之下GIOU_LOSS使得回归速度