APP下载

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

2023-09-15任丹梅RENDanmei王晖WANGHui

价值工程 2023年25期
关键词:注意力准确率车辆

任丹梅 REN Dan-mei;王晖 WANG Hui

(南京理工大学紫金学院,南京 210023)

0 引言

面对日益拥堵的道路,如何有效缓解交通拥堵,提高交通系统的安全性和通行效率,成为当下交通管理部门需要解决的重要问题。在交通管理中,车辆目标检测是一项重要的技术,它可以实时地检测出交通场景中的车辆,从而为交通管理提供更加精准和高效的数据支持,特别是高精度、快速的车辆目标检测尤为重要。设计实时性和鲁棒性的车辆目标检测算法,对智慧交通、智能驾驶、行人检测、数字化、网络化建设有非常重要的价值。

1 车辆目标检测

目标检测算法在计算机视觉领域非常重要,主要是在图像或视频中对特定目标进行识别和定位。目标检测算法通常可分为三类:传统的目标检测方法、基于区域的方法和基于回归的方法。传统的目标检测方法主要是以特征工程方法为基础,这些方法存在着检测速度慢、准确率低等问题,且在复杂场景下的表现不佳的问题。基于区域的方法一般需要生成候选区域,再对每个候选区域进行分类和定位,常见基于区域的方法有滑动窗口法、选择性搜索法及EdgeBoxes 法等。基于回归的方法则是直接利用深度学习算法对目标的类别和位置信息进行预测。典型的基于回归的方法包括:YOLO、SSD(Single Shot Multibox Detector)、Faster R-CNN(Faster Region-based Convolutional Neural Network)等。

目前,基于深度学习的目标检测算法已经成为主流,其具有较高的检测准确率和较快的检测速度。基于卷积神经网络的YOLO 算法可以实现实时的目标检测,它使用单个网络分析整个图像,并将目标的类别和位置信息直接输出,所以速度比较快。该算法的核心思想是将图像分成若干个网格,每个网格预测一个BoundingBox 和对应的类别概率,然后通过非极大值抑制(NMS)算法[1]筛选出最终的目标框。

相比于其它目标检测算法,YOLO 算法的运行速度快、精度高、可扩展性强,能够达到实时处理的程度,可以对多个目标进行检测,并且在不同尺度的图像上都能取得较好的检测结果。因此,本文利用深度学习方法,基于YOLO 算法,对车辆目标检测技术进行研究。

2 改进YOLOv5 的车辆目标检测

2.1 YOLOv5 算法

YOLOv5 的网络结构分为四部分,分别为输入端、Backbone、Neck 和输出端,如图1 所示。输入端主要对图像进行预处理操作,包括数据增强、图像缩放、锚框。Backbone 为主干网络,主要作用是对图像中的目标特征进行提取,由Focus、CBS、CSP、SPP 组成。其中,Focus 结构是实现图像的切片操作。CSP(Cross Stage Partial Network)[2]主要用作局部的跨通道融合,解决网络优化中梯度信息重复的问题。Neck 主要将高层信息与底层信息进行融合,并将得到的预测图像输出,具有对不同尺度的物体进行检测的功能。输出端能够生成3 种不同尺度的图像,用来进行预测目标类别和置信度。

图1 YOLOv5 的网络结构

YOLOv5 版本的优势是在输入端用自适应锚框,且在主干网络中应用Focus 结构,总体而言,YOLOv5 版本在检测精度和速度上比之前版本有很大提升。

2.2 改进YOLOv5 算法

2.2.1 引入注意力机制

CBAM(Convolutional Block Attention Module)[3]是一种注意力机制,在网络模型中,引入CBAM 注意力机制,能够加强对检测目标的注意,弱化复杂环境的干扰,达到提高目标检测精度的目的。

CBAM 包括两个独立的注意力模块,通道注意力模块(CAM)和空间注意力模块(SAM)。CAM 模块是通过全局平均池化操作得到每个通道的全局平均值,然后将这些平均值通过两个全连接层进行处理,得出每个通道的重要权重,最后将这些权重乘以原特征图后再进行加权,增强特征的区分性。

SAM 模块是对于给定的输入特征图,通过先进行通道维度的卷积操作,再进行空间维度的卷积操作,得到每个像素点的权重,表示该像素点在特征图中的重要性,然后将这些权重乘以原始特征图,得到加权后的特征图,增强特征的区分性。

CAM 模块通过计算通道注意力分数来自适应地重新加权特征映射,而SAM 模块则通过计算空间注意力分数来聚焦于特征映射的重要区域。引入CBAM 模块后,特征能够覆盖到待识别物体的更多部位,选择性地关注信息特征,提高识别效率,CBAM 注意力机制的结构如图2 所示。

2.2.2 损失函数的改进

损失函数可以计算模型对结果的预测准确程度,用来判断模型与实际数据之间的差距,选择适合的损失函数,能够使得训练模型以更快的速度收敛。

YOLOv5 的损失函数由边框回归损失、置信度损失、分类概率损失三部分组成。其中,在边框回归损失中,采用完全交并比损失函数[4]实现预测,其公式如下:

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

CIoU loss 对边界框回归中的重叠面积、横纵比以及中心点的距离分别进行考虑,却忽略了宽高与置信度的真实差异,不利于模型的优化,Zhang 等人[5]在CIoU Loss 的基础上将纵横比拆开,提出了有效交并比损失函数(efficient intersection over union loss,EIoU Loss),并且加入Focal 来聚焦优质的锚框。由于BBox 的回归中存在训练样本不均衡问题,Focal-EIoU Loss 能够把高质量的锚框和低质量锚框分开,其公式如下:

其中,γ 表示控制异常值的抑制程度,Cw和Ch分别表示覆盖两个Box 的最小外接框的宽度和高度,由上述公式可知:IoU 越高的损失越大,相当于加权作用,给越好的回归目标一个越大的损失,有助于提高回归精度。

2.2.3 引入SAConv 模块

SAConv 是一种用于图神经网络(Graph Neural Networks)的卷积操作。它结合了自注意力机制和稀疏的卷积核来提高模型的性能和效率。SAConv 引入了注意力矩阵来计算节点之间的相似度,然后根据这个相似度加权地聚合节点特征。

与传统的卷积核不同,SAConv 使用稀疏的卷积核,只考虑邻居节点之间的连接关系,从而减少了计算量。SAConv 所需计算的参数数量较少,可以更好地适应大规模图数据集。首先将相关代码添加到yolov5-master/models路径下的common.py 文件中,最后在网络结构中在Backbone 里将后三个C3 模块替换成SAConv。

3 实验及结果分析

车辆目标检测实验流程如图3 所示,首先采集汽车图像,并对图像进行打标签、数据划分等预处理,将处理后的图像作为数据集,然后对数据集进行训练得到初步训练模型,由于初步训练模型精度不够高,所以对初步训练模型采取优化措施得到理想训练模型,最后,进行测试并对结果进行分析。

图3 车辆目标检测流程

3.1 实验环境及数据集准备

本实验选择部署在上海恒源云网络科技有限公司所提供的云服务器上,并在JupyterLab 环境下运行程序,环境配置如表1 所示。

表1 环境配置

本文研究所用的数据集由本人在百度图片搜集,数据集中共有1000 张图片,训练集和验证集一共1745 张图片,其中622 张作为验证集,1123 张作为训练集。数据集的标签通过https://www.makesense.ai/网站进行标注。另外,从网络上搜集停车场及交通道路的视频作为测试集,同时也在实际交通环境中进行测试。

3.2 性能指标

本文实验结果从精确度(precision)、召回率(recall)、平均准确率均值(mAP)、平均准确率(AP)来对改进模型的性能进行评估,其中精确度和召回率的计算公式如下:

其中,TP(True Positives)为正样本数据被正确识别出来的目标数量,即被正确识别的车辆目标;FN(False Negatives)为正样本数据没有被正确识别的目标数量,即漏检的车辆目标;FP(False Positives)为将非正样本数据识别为正样本目标数量,即误检的车辆目标。

平均准确率AP(Average Precision)与平均准确率均值mAP(mean Average Precision)可以用来衡量网络模型的优劣,其需要根据模型的精确度和召回率计算得出,计算公式如下:

3.3 实验及结果分析

为了验证改进模型对网络整体性能的影响,本文采用递进的方式逐个增加改进模块。改进模型对网络性能的影响如表2 所示,首先,在YOLOv5 网络的基础上,通过增加CBAM 注意力机制来修改网络结构得到Ⅰ-YOLOv5 模型,相比于YOLOv5 网络其mAP 值提升0.8%;其次,在Ⅰ-YOLOv5 网络基础上优化loss 函数并添加解耦头得到Ⅱ-YOLOv5 网络结构,相比于Ⅰ-YOLOv5 网络其mAP 值提升0.4%;最后,在Ⅱ-YOLOv5 网络基础上添加SAConv 模块得到Ⅲ-YOLOv5 网络模型,相比于Ⅱ-YOLOv5 网络其mAP 值提升0.6%。相比于改进前的网络改进后网络mAP值提升了1.8%。

表2 改进模块对网络性能的影响

由表2 及分析结果可知,随着对YOLOv5 网络的改进优化,mAP.5 和mAP.5:95 的值逐步增加,即检测的平均准确率均值得到提升。

为了更加直观地对比改进后网络的性能,对改进前后网络训练结果中的重要性能指标进行对比,如表3 和表4所示。

表3 改进前后网络性能对比

表4 目标的平均准确率(AP)对比

由表3 数据可知,改进后网络精确度提高了2.2%,召回率提高了2.1%,平均准确率均值达到69.3%,模型收敛速度提升了20%。

表4 为检测的三种类型车辆,分别为car、bus、truck,根据其结果可知,改进后三种类型车辆准确率(AP 值)均有提升,其中bus 类型检测中AP 值提升了2.8%。

为了验证车辆目标检测的准确性和实时性,因此对实际环境中的车辆进行检测,改进网络后实际环境的检测效果如图4 所示,由图可知,对车辆目标检测的准确性和实时性能够满足实际场景中的应用,特别对于距离较近的车辆,检测结果准确率较高。对于较远距离的车辆,仍有较大的改进空间。

4 结论

为了对实际道路中车辆进行实时且准确的检测,本文提出了将YOLOv5 算法改进并在实际道路中进行检测,与原网络YOLOv5 相比,改进网络Ⅲ-YOLOv5 的整体检测性能得到了提升,训练速度提升20%,模型精确度提升了2.2%。

猜你喜欢

注意力准确率车辆
让注意力“飞”回来
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
高速公路车牌识别标识站准确率验证法
车辆
“扬眼”APP:让注意力“变现”
冬天路滑 远离车辆
提高车辆响应的转向辅助控制系统