改进YOLOv5s的车辆目标检测研究

2024-03-22 14:17李甜林贵敏余烨楷
时代汽车 2024年1期
关键词:注意力机制目标检测

李甜 林贵敏 余烨楷

摘 要:为改善在车辆目标检测中实时性和精确度低的问题,提出一种改进的YOLOv5s算法。引入CBAM(Channel Attention Module)注意力模块,以增强网络对特征的关注度;将CIoU Loss替换为EIoU Loss提高目标边界框的回归速度和定位精度;新增一个小目标检测头,提高模型对小目标的检测能力。实验结果显示:改进后的 YOLOv5s算法相较原始算法mAP0.5提高11.4%,mAP0.5:0.95提高了7.3%。在满足实时性的同时,模型检测精度大幅提升。

关键词:YOLOv5s 目标检测 车辆检测 注意力机制 EIoU

1 引言

面对道路拥堵问题,交通管理部门需要有效缓解交通拥堵、提高交通系统的安全性和通行效率。其中,车辆目标检测技术在交通管理中扮演着重要的角色。这一技术能够实时检测交通场景中的车辆,为交通管理提供更准确和高效的数据支持。特别是,高精度和快速的车辆目标检测具有关键意义。因此,设计实时性和鲁棒性强的车辆目标检测算法对于推动智慧交通、智能驾驶、行人检测、数字化和网络化建设具有重要价值。

目标检测算法在计算机视觉领域扮演着关键角色,主要用于在图像或视频中识别和定位特定目标。随着深度学习和GPU技术的发展,深度学习目标检测方法日益流行,可以被划分为两种主要结构:一阶段(One-Stage)和两阶段(Two-Stage)[1]。两阶段算法首先生成候选区域,然后对这些区域进行分类和校准,通常带来更高的准确度。代表模型有 R-CNN 系列[2]。相反,一阶段算法在检测过程中无需生成候选区域。它们直接预测目标的类别和边界框,因此具有更快的检测速度。著名模型有 SSD [3]、RetinaNet[4]以及 YOLO 系列[5]。YOLOv5是YOLO系列中的一种模型,兼具快速推理速度和高准确率的优势。

深度学习车辆检测表现出高速度和卓越的准确性,适用于多种环境和设备。一些研究已尝试改进不同方面的车辆检测和跟踪方法,但存在一些限制。黄开启等[6]改进了YOLOv3算法以增加在雾霾天气下的车辆定位精度,尽管如此,仍需要借助传统图像处理方法,难以实现完全端到端的检测。鞠默然等[7]专注于小目标检测问题,对YOLOv3的输出进行上采样和特征融合,通过K-means聚类分析改进网络以有效检测小目标,但研究数据集的多样性有限。李国进等[8]提出了改进的Inception模块和特征融合结构,以提升车辆检测的准确性和速度,然而,他们仍未解决模型权重过大,无法在边缘设备上部署的问题。在监控视频中进行车辆跟踪时,面临多目标跟踪任务的挑战,包括遮挡、动态模糊和尺度变化等问题。李俊彦等[9]提出了将YOLOv3与KCF相结合的方法,但KCF算法对尺度变化和快速变形不够适用。刘磊等[9]提出了结合YOLO识别和Mean shift跟踪的方法来改善车流量统计问题,但Mean shift算法对相似颜色目标的干扰不够鲁棒。

在综合前述研究的基础上,本文使用轻量级目标检测模型YOLOv5s 作为基础,针对车辆识别率低问题进行改进,新增一个小目标检测头,使模型可以处理目标的多尺度变换,提高小目标的检测精度;引入CBAM注意力机制增强了模型的特征提取能力,侧重于被检测目标;同时,使用EIoU Loss替代原始檢测框回归损失函数,以改善低定位精度和训练速度慢的问题。对原算法进行改进并在VisDrone2019数据集上实验。

2 改进YOLOv5s的车辆目标检测

2.1 YOLOv5s算法

YOLOv5s的结构包括四个关键组成部分:Input输入端、Backbone主干网络、Neck网络以及Head输出端。在Input输入端,进行数据预处理,包括Mosaic数据增强和自适应图像填充。此外,为了适应不同数据集,YOLOv5s还集成了自适应锚框计算,能够根据数据集自动设定初始锚框大小。Backbone部分是主要的特征提取组件,包括Focus、CBS、CSP和SPP结构,用于提取目标特征。CSP(Cross Stage Partial Network)用于局部跨通道融合,以解决网络梯度信息重复的问题。Neck将高层和底层信息融合,并输出预测图像,用于不同尺度物体的检测。输出端生成三种不同尺度的图像,用于目标类别和置信度的预测。YOLOv5版本的优势在于使用自适应锚框和引入Focus结构,从而显著提高了检测精度和速度,相较于以前的版本有重大改进。因此本文选取轻量级YOLOv5s模型进行针对性改进。

2.2 改进YOLOv5s算法

2.2.1 CBAM注意力机制

为了强化模型对道路监控视频中的车辆目标特征的关注,我们采用了轻量级CBAM注意力机制。它能够加强网络对空间和通道信息的聚焦,提高目标特征的提取性能。尤其对于处理大区域图像时,有助于精准地定位感兴趣的区域。CBAM模块的嵌入位置没有一个固定的标准答案,因为最佳的嵌入方式需要依赖于具体的场景和任务。在我们的研究中,我们进行了一系列实验和调整,结果表明只有将CBAM注意力层置于每个检测头之前,才能显著提升检测准确性。这一方法的关键在于,通过在每个检测头前面引入CBAM模块,网络能够更好地关注和强化目标特征,从而提高了目标检测的性能。这种策略是根据我们的实验结果和任务需求得出的,以确保最佳性能。

2.2.2 损失函数的改进

损失函数在机器学习中起到了重要的作用,它用于度量模型的预测与实际数据之间的差距,以便评估模型的性能并指导训练过程,选择合适的损失函数可以加速模型的收敛。YOLOv5的损失函数包含三个要素:边框回归损失、置信度损失以及分类概率损失。在边框回归损失中,采用了完全交并比损失函数,该损失函数的公式如下:

其中,b表示预测框的中心点,bgt表示真实框的中心点,ρ表示两个中心点之间的欧式距离,c表示包含预测框和真实框的最小闭包区域的对角线距离,w和wgt分别代表预测框和真实框的宽度,h和hgt分别代表预测框和真实框的宽度,IOU是预测框和真实框之间的交集和并集之比。

CIoU loss是一种用于边界框回归的损失函数,综合了重叠面积、横纵比以及中心点距离等因素,但它在考虑宽高与置信度之间的真实差异方面存在不足,可能对模型的优化产生不利影响。EIoU Loss在CIoU Loss基础上引入了Focal机制,专注于提高高质量锚框的准确性。

EIoU Loss解决了边界框回归中的问题,特别是在处理不均衡的训练样本时,它有助于更好地区分高质量和低质量的锚框。以下是EIoU Loss的公式:

其中,γ表示控制异常值的抑制程度,Cw和Ch分别表示两个框的最小外接框的宽度和高度,这个公式的关键思想是:当两个边界框的交并比(IoU)越高时,损失值越大。简言之,引入了一种权重机制在损失计算中,使得对于拟合效果更好的回归目标,损失值更为突出,从而有助于提高回归精度。

2.2.3 新增检测头

为增强小目标检测能力,我们在YOLOv5s模型中引入了小目标检测头。这模块专注于处理尺寸较小的目标,如在车流量检测中常见的小物体。小目标检测头采用更小的锚框设计,适配小目标的尺寸范围,以确保高效检测。其主要目的是提升小目标检测性能,通过操作特定的特征图来更好地捕获小目标信息,通常包括选择高分辨率的特征图以精细定位小目标。改进后的模型结构图如图1所示。

3 实验结果与分析

3.1 实验环境准备

本文的实验是在一台配置为Ubuntu 18.04操作系统,搭载了Intel Xeon Gold 5218 CPU、512GB 内存和Tesla V100 32G GPU显卡的机器上进行。网络框架基于 pytorch1.8.1, CUDA10.2。模型的训练参数设置为100个迭代次数(epoch),批次大小为32,并采用Adam优化器,其余参数均为默认值。

3.2 评价指标

本文评估改进模型的性能主要使用了精确度(precision)、召回率(recall)、平均准确率均值(mAP)、以及平均准确率(AP)这些指标。

我们使用了以下评估指标用于衡量目标检测模型的性能,包括TP(True Positives,正确识别的正样本目标数)、FN(False Negatives,未正确识别的正样本目标数)和FP(False Positives,误识别的非正样本目标数)。其中TP表示成功检测的目标,FN表示被遗漏的目标,而FP则表示被错误地识别为目标的非目标。

平均准确率(AP,Average Precision)和平均准确率均值(mAP,mean Average Precision)是用来评估网络模型性能的重要指标。它们的计算需要使用模型的精确度和召回率。

3.3 实验及结果分析

为验证P2小目标检测层的添加、EIoU损失函数的改进以及CBAM卷积注意力机制的有效性,本文研究了以YOLOv5s为基准模型,进行了一系列消融实验,评估不同模块和方法组合对目标检测性能的影响,均在相同的实验条件下进行。消融实验的结果详见表1。

消融实验结果表明,本文提出的模块和方法明显提高了小目标检测的准确性。单独添加某一模块方面来看,B实验将小目标检测层与特征融合和预测结合,mAP0.5提高了10.5%,mAP0.5:0.95提高了6.7%。尽管增加了模型复杂性和参数量,但显著提升了检测准确性,因此添加小目标检测头是合理的选择。C实验表明,改进后的EIoU损失函数提高了mAP0.5和mAP0.5:0.95各1.3%和0.6%,平衡了不同目标尺度的损失,增强了小目标的位置预测。D实验引入CBAM注意力机制,mAP0.5和mAP0.5:0.95分别提高了2.6%和1.2%,增强了网络对小目标的全局感知,有助于更准确地检测小目标。

不同模块的组合方面来看,E、F、G实验显示,将三种模块结合显著提升了模型精度,尽管EIoU与CBAM模块组合时mAP0.5相对于单独添加EIoU模块和CBAM模块降低了0.5%和0.8%,但当三种模块一起添加时,模型的检测精度达到最高。最后,通过实验H,将三个模块组合形成的新算法表现最出色,mAP0.5和mAP0.5:0.95分别提高了11.4%和7.3%。尽管检测速度相对原始算法略有下降,但在满足实时性需求的情况下,该算法显著提高了检测精度,充分证明了其在车辆信息检测方面的有效性。

另外,本文在VisDrone2019数据集上进行了可视化对比实验,结果如图2所示。黄色实线框表示改进后算法检测到更多的小目标。从图中可以看出本文改进后的算法能够检测到更多的小目标车辆信息,对车流量检测任务提供了很好的改进依据。

4 结束语

为了解决实际道路中车辆准确精度低的问题,本文基于YOLOv5s算法,通过引入CBAM注意力机制,改进损失函数以及新增小目标检测头的方法,提出了一种适用于车辆目标检测的改进YOLOv5s算法。与原始算法相比,改进后的算法性能得到了显著的提升,在满足实时性检测要求的前提下,能够更准确的检测到车辆目标。

项目基金:福建省自然科学基金项目(2019J01761,2023J011401),福建省本科高校教育教学研究项目(FBJY20230095)。

参考文献:

[1]ZOU Z,SHI Z,GUO Y,et al.Object detection in 20 years:a survey[J].arXiv:1905.05055,2019.

[2]REN S,HE K,GIRSHICK R,et al.Faster R-CNN:Towards real-time object detection with region proposal networks[C]// Advances in Neural Information Processing Systems,2015:91-99.

[3]LIU W,ANGUELOV D,ERHAN D,et al.SSD:Single shot multibox detector[C]//European Conference on Computer Vision,2016:21-37.

[4]LIN T Y,GOYAL P,GIRSHICK R,et al.Focal loss for dense object detection[C]//Proceedings of the IEEE International Conference on Computer Vision,2017:2980-2988.

[5]ZHU X,LYU S,WANG X,et al.TPH-YOLOv5:Improved YOLOv5 based on transformer prediction head for object detection on drone-captured scenarios[C]//2021 IEEE/CVF International Conference on Computer Vision Workshops (ICCVW),Montreal,BC,Canada,2021:2778-2788.

[6]黃开启,刘小荣,钱艳群,等.雾霾天气车辆检测的改进 YOLOv3算法[J].重庆大学学报,2021,45(12):95-102.

[7]鞠默然,罗海波,王仲博,等.改进的 YOLOV3 算法及其在小目标检测中的应用[J]. 光学学报,2019,39(7):253-260.

[8]李国进,胡洁,艾矫燕.基于改进SSD算法的车辆检测[J].计算机工程,2022,48(1):266-274.

[9]李俊彦,宋焕生,张朝阳,等.基于视频的多目标车辆跟踪及轨迹优化[J].计算机工程与应用,2020,56(5):194-199.

猜你喜欢
注意力机制目标检测
面向短文本的网络舆情话题
基于自注意力与动态路由的文本建模方法
基于深度学习的问题回答技术研究
基于LSTM?Attention神经网络的文本特征提取方法
基于注意力机制的双向LSTM模型在中文商品评论情感分类中的研究
InsunKBQA:一个基于知识库的问答系统
视频中目标检测算法研究
行为识别中的人体运动目标检测方法
移动机器人图像目标识别
基于背景建模法的运动目标检测