一种基于改进YOLOv5模型的检测行人车辆的方法

文档序号:35277231发布日期:2023-08-31 19:51阅读:35来源:国知局
一种基于改进YOLOv5模型的检测行人车辆的方法

本发明属于目标检测领域,涉及一种基于改进yolov5模型的检测行人车辆的方法。


背景技术:

1、目前,计算机视觉领域的目标检测算法已经不断取得了较大的进展,其中,基于深度学习的目标检测方法已经成为了当前较流行的技术之一。目前主要的检测算法分为两阶段检测算法和单阶段检测算法,虽然两阶段检测算法的精度比较高,应用也比较广泛,但是由于检测速度相对于单阶段检测算法来说比较慢一些,而yolo系列算法作为单阶段算法的代表算法之一,是一种高效的目标检测算法,广泛被应用于工业领域、安防领域等多个领域。yolov5模型主要基于深度学习技术,即基于卷积神经网络(cnn)的目标检测算法。这种算法通过学习大量带标注的图像数据,构建出一个深度学习模型,从而实现对图像中目标的检测任务。目标检测算法的核心是对输入的图像进行有效的特征提取,因此图像处理技术在目标检测中也扮演着重要角色。yolov5模型是一种高效的目标检测算法,其采用了轻量化的卷积神经网络结构,能够在较小的运算量和内存消耗下实现较高的检测精度,因此被广泛应用于各个领域。改进yolov5模型的检测行人车辆的方法基于yolov5算法,通过对算法进行改进,提高了其对行人车辆的检测精度和减少了错误识别的可能性。当自动驾驶车辆行驶在道路上时,yolov5模型可以实时地检测图像或摄像头中出现的行人和车辆,帮助车辆做出相应的决策,比如避让或者变道,此模型可以应用在自动驾驶领域帮助自动驾驶车辆更加准确的感知道路交通的情况从而更好地完成自动驾驶的任务。


技术实现思路

1、本发明针对在无人驾驶或自动驾驶过程中车辆能否对行人车辆进行准确有效的避让并完成驾驶任务的问题,提供了一种基于改进yolov5模型的检测行人车辆的方法。本发明可以针对环境状况不同、天气状况不同和光线强度不同的情况下对道路上的行人和车辆进行检测。一种基于改进yolov5模型的检测行人车辆的方法,技术方案如下:

2、(1)自制数据集,在城市道路上乘坐出租车或私家车在副驾驶位固定机位拍摄道路上行人车辆的图片;

3、(2)处理数据集,并对准备好的数据集使用标注工具进行标注;

4、(3)划分数据集,将数据集分为训练集、测试集、验证集;

5、(4)改进网络,使用k-means聚类方法对已经标注完毕的数据集中的目标框进行聚类分析得到适合该数据集的先验框尺寸,给网络添加cbam注意力机制,更换模型的损失函数,将主干网络中c3模块全部替换为c3ghost模块;

6、(5)训练网络,将步骤(4)改进好的网络进行训练,并保存训练好的结果。用训练好的模型对城市道路的车辆和行人进行检测;

7、进一步的所述,步骤(1)包括以下步骤:

8、在公开的城市道路上乘坐出租车或者乘坐私家车在固定机位拍摄道路上行人和车辆的照片来模仿自动驾驶过程中拍摄车辆或者行人。拍摄完毕后检查数据集,将不清晰的图片和图片里不含有行人或车辆的数据集进行剔除。

9、进一步的所述,步骤(2)中包括以下步骤:

10、将拍摄好的数据集取一部分进行图像的模糊处理,以此来模仿天气状况差时拍摄到的道路上的行人和车辆的状况。图片处理完毕后给图片进行编号,方便在处理数据集的时候进行增删改查。将处理好并编好号的数据集使用labelimg标注工具进行图片的标注,如果标注目标为汽车则标注为car,如果标注目标为行人则标注为people。标注完成后会生成xml文件,最后使用python脚本再将xml文件转为yolov5模型可以识别的txt文件。

11、进一步的所述,步骤(3)中包括以下步骤:

12、使用python脚本将数据集划分为训练集、测试集和验证集,比例为8:1:1。

13、进一步的所述,步骤(4)中包括以下步骤:

14、(4-1)使用k-means聚类算法计算出适合该模型的anchor boxes,并将新得到的anchor boxes替换掉原来的anchor boxes。

15、(4-2)将cbam注意力机制添加到yolov5模型中,cbam是一种轻量级的注意力机制,具有很强的通用性,cbam包括两个独立的子模块,有通道注意力模块和空间注意力模块(channel attention module和spatial attention module),这样可以节约参数和计算力,能够直接应用到现有的网络架构中,cbam注意力机制的步骤主要有:

16、(4-2-1)通道注意力模块:首先维度为c*h*w的特征图分别从基于宽和高的全局最大池化和全局平均池化得到维度为c*1*1的特征图,再将它们分别送入一个神经网络(mlp),这个神经网络有两层,第一层神经元个数为其中r为减少率,激活函数为relu激活函数,第二层的神经元个数为c,然后将mlp输出的特征基于element-wise进行加和操作(其中element-wise是各向量或矩阵之间对应元素相计算的操作,包括加减乘除),然后再经过sigmoid激活操作,生成通道注意力特征即,最后将和前面输入的特征图进行element-wise乘法操作就可以生成空间注意力模块所需要的输入特征。通道注意力特征的公式如下:

17、mc(f)=σ(mlp(avgpool(f))+mlp(maxpool(f)))

18、(4-2-2)空间注意力模块:将通道注意力模块中输出特征作为空间注意力模块的输入特征图,基于channel对输入特征图做一个全局最大池化和全局平均池化,得到两个维度为1*h*w的特征图,然后基于channel将这两个特征图做concat操作,随后通过一个维度为7*7的卷积操作将concat得到的特征图维度降为1*h*w,再通过sigmoid激活函数生成空间注意力特征即,最后将此模块的输入特征与通过该模块最后生成的空间注意力特征进行element-wise乘法操作生成最后的特征。空间注意力特征公式如下:

19、ms(f)=σ(f7×7([avgpool(f);(maxpool(f)]))

20、(4-3)本模型采用eiou loss代替原模型的ciou loss,加速了收敛,提高了回归的精度。eiou loss的计算公式为:

21、

22、其中,b和bgt分别为预测边界框和真实边界框中心点的坐标,w和wgt分别为预测边界框的宽度和真实边界框的宽度,h和hgt分别为预测边界框的高度和真实边界框的高度,wc和hc分别为预测边界框和真实边界框能够组成的最小外接矩形的宽度与高度,d2(b,bgt)代表预测边界框和真实边界框中心点的坐标之间欧氏距离的平方,d2(w,wgt)代表预测边界框的宽度和真实边界框的宽度的差值的平方,d2(h,hgt)代表预测边界框的高度和真实边界框的高度的差值的平方。

23、(4-4)将模型中主干网络里的c3模块全部替换为c3ghost模块,c3ghost模块使用了一种模型压缩的方法,能在保证精度的同时减少模型的网络参数和模型的计算量,提高了模型的计算速度,使得训练之后得到的权重文件大小更小,更适合在将此模型应用在自动驾驶领域中。其中c3ghost卷积模块能够先通过普通的卷积操作得到通道数比较少的特征图,然后将少量的特征图按通道进行线性变化,最后进行特征连接,得到的特征图与直接进行普通卷积得到的特征图尺寸一样,可以理解为c3ghost卷积模块能将常规卷积的乘法操作拆分成为两个计算量相对较少的乘法之后再相加。

24、进一步的所述,步骤(5)中包括以下步骤:

25、网络模型改好之后,将改进的网络进行训练,保存模型训练完之后的权重文件和全局平均精度(map)。和原模型训练得到的权重文件相比,文件大小从原来的14.4mb减少到了10.1mb,和原模型训练完得到的map值相比较,map值从0.722上升到了0.758。用训练好的模型检测道路上的车辆和行人,识别精度和准确率均有提升。

26、本发明具有如下优势:

27、(1)对数据集进行处理使得模型能够在天气恶劣情况下识别行人和车辆信息,使得模型具有更好的抗干扰性能。

28、(2)通过给模型加入cbam注意力机制使得模型的检测精度有一定的提升。

29、(3)采用eiou loss代替原模型的ciou loss,使得模型的收敛速度更快,提升了回归的精度。

30、(4)通过将主干网络的c3模块全部替换为c3ghost模块使得网络轻量化,可以使得模型在保证拥有识别精度的前提下生成的权重文件大小也比之前有所减少。

31、(5)将此网络应用到自动驾驶的过程中可以在道路上快速准确的识别车辆和行人,以保障驾驶员和行人的安全和减少事故的发生。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1