改进的轻量级YOLOv5算法在行人检测的应用

本文针对行人检测算法存在的问题,改进了YOLOv5模型,采用深度可分离卷积降低计算量和参数量,添加CBAM注意力机制提升检测精度,使用EIOU损失函数优化训练。实验结果显示,改进后的模型在INRIA数据集上精度提升至89%,检测速度达到106帧/秒,提高了行人检测的效率和准确性。
摘要由CSDN通过智能技术生成

目录

引言

1 YOLOv5网络结构

图1

1.1 输入模块

1.2 骨干网络模块

图2

1.3 颈部网络模块

图3

1.4 预测模块

2 改进YOLOv5算法

2.1 深度可分离卷积

图4

图5

2.2 注意力机制CBAM

图6

图7

图8

图9

图10

2.3 损失函数和先验框的改进

图11

图12

3 实验结果与分析

3.1 实验环境与参数

图13

3.2 数据集

3.3 评价指标

3.4 实验结果

图14

图15

4 结论与展望


摘要

【目的】 目前,行人检测算法存在模型复杂、检测精度较低、检测速度慢的问题。为了解决这些问题,将YOLOv5算法进行了改进,能够更好地应用于行人检测。【方法】 首先使用深度可分离卷积替换YOLOv5算法骨干网络中的普通卷积,降低了模型的计算量和参数量,提高模型的检测效率;然后在骨干网络的特征融合部分添加通道注意力和空间注意力机制,让网络关注于图像中行人的位置信息和通道信息;最后使用EIOU损失函数优化训练模型,并使用K-means++聚类算法来生成先验框。【结果】 将改进后的模型在INRIA行人检测数据集上与其他算法进行了对比实验。结果表明,改进后的模型精确度达到89%,相比于原模型提高了7.6%,检测速度达到每秒106帧。【结论】 本文改进算法提高了行人检测的速度和精度,且模型数据量小,易于实时检测和部署。

关键词: 行人检测; 深度学习; YOLOv5; 深度可分离卷积; 注意力机制

引言

行人检测是计算机从视频或者图像中定位出行人目标。随着深度学习的发展,行人检测在安防监控、无人驾驶、机器视觉等方面的应用越来越广泛。由于现实环境复杂,行人通常呈现姿态各异、衣着不同、相互遮挡等情况。如何在复杂环境下保证较高的检测准确率和检测速度,对行人检测算法提出了挑战。

传统的行人检测方法利用人工设置特征算子来完成检测任务,首先基于形状特征、边缘特征、变换特征或统计特征描述图像中的行人信息,然后使用支持向量机分类模型将行人检测转换为分类任务对行人进行定位。Dalal[1]首次使用了梯度直方图法 (Histogram of Oriented Gradient, HOG),根据图像中不同区域像素的梯度变化情况来提取图像中的特征信息,然后将提取到的图像特征信息通过支持向量机分类。Dollár[2]将待检测图片中的局部通道特征和增强算法相结合然后开展行人检测。由于人工设置的特征算子只关注图像中某一类特征信息,对原图像中的特征提取能力不足,而且过于依赖人工设定,因此不易泛化,鲁棒性较差。

目前,采用深度学习方式开展行人检测算法可以根据处理流程分为两类:一类是将目标的位置与分类进行回归计算的一阶段检测算法,具有代表性的算法包括SSD[3]YOLO[4]系列算法等;另一类则首先利用区域候选网络或者选择搜索方法生成包含目标的候选框,然后进一步对目标种类和位置信息进行预测,代表性的算法有R-CNN[5]系列算法。不同算法的性能对比如表1所示。二阶段的算法模型虽然精度较高,但由于需要预先生成候选框而消耗大量的计算资源检测速度较慢。一阶段检测模型直接通过网络预测目标位置以及类别信息,无需生成候选区域,因此检测速度更快。

1   目标检测算法性能对比

Table 1  Performance comparison of target detection algorithms

Algorithms

Input size

Test dataset

Speed/(frame s-1)

mAP(0.5)/%

Fast RCNN

600×1000

VOC2007

0.5

70.2

Faster RCNN

600×1000

VOC2007

5

73.5

SSD

512×512

VOC2007

18

76.6

YOLOv1

448×448

VOC2007

46

62.8

YOLOv2

544×544

MS COCO

40

43.6

YOLOv3

608×608

MS COCO

24

58.7

YOLOv4

608×608

MS COCO

58

66.9

YOLOv5s

608×608

MS COCO

69

57.8

新窗口打开下载CSV

本文提出了一种改进后的YOLOv5[6]轻量级行人检测算法。主要的工作内容如下:

1)使用深度可分离卷积替换YOLOv5算法骨干网络中的普通卷积,降低了模型的计算量和参数量,提高模型的检测效率。

2)在骨干网络的特征融合部分添加通道注意力和空间注意力机制[7](CBAM),让网络关注于图像中行人的位置信息和通道信息。

3)使用EIOU[8]损失函数优化训练模型,并使用K-means++[9]聚类算法来生成先验框。

1 YOLOv5网络结构

通过YOLOv5的网络结构图(图1)可以看出,网络主体由4个部分组成,分别是图片输入端Input模块、骨干网络主体Backbone模块、特征融合Neck模块以及预测部分Prediction模块,下面将对这4个部分详细介绍。

1


1   YOLOv5网络结构

Fig.1   YOLOv5 network structure


 

1.1 输入模块

YOLOv5网络输入端,采用了自适应锚框算法、Mosaic数据增强以及图片尺寸缩放技术。自适应锚框算法是YOLOv5算法为不同的数据集设定不同的初始化锚框尺寸。在训练的过程中,网络会通过预测锚框与真实锚框的对比计算反向更新并优化网络参数。YOLOv5算法的图片输入部分采用了Mosaic数据增强对输入图片采用随机缩放、裁剪与随机排布的方式处理,使检测数据集更加多样,增强了网络泛化能力。图片尺寸缩放则是将输入原始图片缩放到统一尺寸再输入网络。

1.2 骨干网络模块

YOLOv5的骨干网络由FocusCSPNet结构组成。Focus结构在骨干网络中主要执行切片任务,保持数据量不变,将图像尺寸减小,如图2所示。

2


2   Focus中的切片

Fig.2   Slices in Focus

YOLOv5继承了YOLOv4骨干网络中的CSP结构,并且将其应用到Neck模块中。其中CSP_X结构存在于骨干网络中,CSP2_X结构则存在于Neck模块中。

1.3 颈部网络模块

Neck中使用了特征金字塔[10]FPN)与金字塔注意力网络(PAN)的组合结构。如图3所示,FPN特征金字塔是一种自上而下的金字塔结构,将抽象信息以上采样的方式来传递融合,传达语义特征。PAN结构则为自下而上的倒金字塔结构,主要传达定位特征从不同的骨干网络层对不同参数进行聚合。

3


3   Neck中的FPN+PAN结构

Fig.3   FPN+PAN structure in Neck


 

1.4 预测模块

预测模块主要由两个部分组成,分别是预测框损失函数部分和非极大值抑制组件。在YOLOv5的网络结构中使用GIOU loss[11]作为预测框的损失函数。考虑了边界框中心点的距离信息和边界框宽高比的尺度信息,有效地解决了边界框不重合时的问题,使预测框的精度和速度有了提高。同时使用NMS非极大值抑制有利于在多目标框重叠以及遮挡情况下筛选出最优目标框。

2 改进YOLOv5算法

针对YOLOv5模型数据量大,行人检测框定位不够准确的问题,本文引入深度可分离卷积来减小网络模型的数据量。引入注意力模块CBAM使网络重点关注行人检测任务重的关键特征并抑制非关键特征,从而提高算法的检测精度。引入EIOU损失函数作为目标框回归损失函数,改善定位精度低和训练过程中检测框回归速度慢的问题。

2.1

  • 17
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: yolov5是一种目标检测算法,用于在图像或视频中检测出物体的位置和种类。它是yolo系列中的最新版本,在yolov4的基础上进行了改进,并且运行速度更快。 yolov5使用卷积神经网络(CNN)对输入的图像进行分析,并使用网络预测每个像素可能属于的物体类别和位置。它还使用了一些技巧来提高精度,例如边界框预测、多尺度预测和多比例预测。 yolov5的优点在于其高效的运行速度,可以实时检测目标物体。它也能够处理高分辨率图像,并且能够识别多种类型的物体。不过,yolov5也存在一些缺点,例如对于小物体的检测可能不够准确,并且在遇到遮挡或不规则形状的物体时可能会出现问题。 ### 回答2: YOLOv5是一种端到端的实时目标检测算法。它是YOLO(You Only Look Once)系列的最新版本。与之前的版本相比,YOLOv5具有更简单的架构,并且在准确度和速度方面有了显著的提升。 YOLOv5采用了一种新的结构,称为CSPDarknet53,用于提取图像特征。CSPDarknet53在保持准确度的同时,显著减少了计算量和参数数量。与其它检测算法相比,YOLOv5的运行速度更快,并且在目标检测精度方面表现出色。 YOLOv5还引入了一种自适应训练策略,利用不同的分辨率进行训练。这种策略可以提高目标检测的鲁棒性,并且可以在不同的应用场景中灵活应用。此外,YOLOv5还使用了一种新的数据增强技术,称为Mosaic增强,可以有效地扩充训练集,提高模型的泛化能力。 YOLOv5有多个版本,包括YOLOv5s、YOLOv5m、YOLOv5l和YOLOv5x。这些版本在模型大小和准确度之间进行权衡,可以根据应用需求选择适合的版本。 总的来说,YOLOv5是一种高效准确的目标检测算法,具有快速的推理速度和出色的检测精度。它可以广泛应用于物体检测、行人检测、交通监控等场景,大大提高了智能视觉系统的性能和效率。 ### 回答3: YOLOv5是一种高效的目标检测算法,它是YOLO(You Only Look Once)系列算法的最新版本。与之前的YOLO算法相比,YOLOv5具有更快的检测速度和更高的准确率。 YOLOv5采用了一种类似于特征金字塔网络(FPN)的架构,称为特征融合金字塔(FPN)。FPN由一系列不同分辨率的特征图组成,可以提取出不同尺寸的特征信息,并将这些信息进行融合,使得算法能够在不同尺度下对目标进行检测和定位。 YOLOv5还引入了一种名为CSPDarknet的轻量级骨干网络,在保持较少参数的同时,提升了检测的准确率。此外,YOLOv5还采用了一种创新的数据增强策略,称为Mosaic,用于增加训练数据的多样性,提高算法的鲁棒性。 相较于之前版本,YOLOv5在网络结构上进行了优化,减少了内存消耗,并提高了对小目标和遮挡目标的检测能力。此外,YOLOv5还支持多尺度的预测,在检测速度和准确率之间实现了更好的平衡。 总而言之,YOLOv5是一种高效准确的目标检测算法,通过引入特征融合金字塔、CSPDarknet等创新机制,以及优化网络结构和数据增强策略,实现了更快速、更精准的目标检测能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

罗伯特之技术屋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值