System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于改进YOLOv8n的轻量化车辆行人检测方法技术_技高网

基于改进YOLOv8n的轻量化车辆行人检测方法技术

技术编号:40781141 阅读:6 留言:0更新日期:2024-03-25 20:25
本发明专利技术涉及目标检测领域,针对当前车辆行人检测算法计算量大等问题,提出了一种基于改进YOLOv8n的轻量化车辆行人检测方法。首先,使用相机采集车辆行人图像数据并标注,将标注后的数据与开源数据集KITTI相结合,生成更加完备的车辆行人数据集;其次基于YOLOv8n检测模型进行改进,使用轻量化卷积模块Ghostconv和GhostC2f替换传统卷积,在颈部网络引入CBAM注意力机制并使用BiFPN结构以增强特征融合能力,使用WIoUv3作为损失函数;最后对改进后的模型进行训练验证,并部署到车载嵌入式设备实现车辆行人实时检测。结果显示相对于原始YOLOv8n,改进后模型计算量降低了24.7%,模型大小降低了15%,平均检测精度提升了0.7%。本发明专利技术能够在不降低检测精度的同时减少模型的计算量和模型大小,降低系统负载,具有较高的实用价值。

【技术实现步骤摘要】

本专利技术涉及目标检测领域,特别是涉及基于改进yolov8n的轻量化车辆行人检测方法。


技术介绍

1、基于深度学习的目标检测算法主要分为两种:二阶段目标检测算法和单阶段目标检测算法。二阶段目标检测算法通过选择性搜索等方法得到候选区域,再对候选区域进行特征提取得到特征矩阵,最后将特征矩阵送入svm分类器进行预测并分类,检测精度较高,但由于大量候选区域的判别及处理,导致检测时间长、效率低。而单阶段目标检测算法直接将图像送入检测网络提取特征并预测,不需要提取候选区域,检测效率高,更加适用于对实时性要求较高的场景中,代表模型有ssd、yolo系列算法等。从2016年发布的yolov1到目前最新的yolov8,yolo系列算法的检测精度在不断提高,但在车载嵌入式系统等计算资源有限的设备上,由于检测算法实现高精度检测的同时带来大量计算资源消耗,给系统造成较大负载。因此,在保证检测精度的同时,轻量化检测算法消耗较少的计算资源,能够降低系统负载,具有重要研究意义。


技术实现思路

1、本专利技术针对现有技术存在的问题,提出一种基于改进yolov8n的轻量化车辆行人检测方法。本专利技术可以在保证检测精度不下降的同时,有效减少模型的计算量和参数量,降低系统负载。

2、实现上述目的的技术方案是:

3、步骤1,构建车辆行人图片数据集,通过在乘用车前挡风玻璃上端安装固定机位,根据采集的道路视频,分帧得到车辆行人图片数据;获取kitti数据集并进行预处理。

4、步骤2,训练集、验证集、测试集的生成,使用开源软件labelimg对采集到的车辆行人数据进行标注,并进一步结合kitti数据集,将结合后数据集按7:1:2的比例随机划分为训练集、验证集、测试集。

5、步骤3,模型轻量化改进,以yolov8n作为基准模型构建目标检测模型,在yolov8n基础上进行轻量化改进,得到改进后的模型。

6、步骤4,模型训练,通过设置训练超参数,使用步骤2中的训练集对步骤3中的改进模型进行训练。

7、步骤5,模型验证,对步骤4训练完成的模型进行验证,数据显示模型识别准确率可达到92.6%,相较于yolov8n提升了0.7%;计算量为6.1gflops,相较于yolov8n降低了24.7%;模型大小为5.1m,相较于yolov8n降低了15%,实现了在保证检测精度的同时实现模型的轻量化。

8、步骤6,将验证后的模型部署到车载嵌入式设备实现车辆行人实时检测。

9、所述步骤1中数据采集方式为,拍摄道路交通视频,再使用算法每10帧抽取一张图片构建数据集,视频格式为.mp4,录制尺寸为1242*375,帧率为30fps,抽取完成后得到2481张图片。

10、所述步骤1中kitti数据集为开源的道路交通场景数据集,共有9类目标。对kitti数据集的预处理方式为:将pedestrian、person_sitting类的标签合并为person,删除tram、misc、dontcare类的标签,保留car、van、truck、cyclist类的标签,处理后的kitti数据集共包含行人、小型乘用车、二轮车辆(摩托车、自行车)、小型货车、大型货车五类目标。

11、所述步骤2中使用labelimg对步骤1中采集的数据进行标注,标注的类别与处理后的kitti数据集一致,从处理后的kitti数据集中随机抽取5000张图片与标注后的图片相结合,然后按照7:1:2的比例划分为训练集、验证集、测试集。训练集包含5236张图片,验证集包含748张图片,测试集包含1497张图片。

12、所述步骤3对yolov8n模型的措施具体如下:

13、(1)基于轻量级卷积模块ghostconv设计ghostbottleneck和ghostc2f,并使用ghostconv替换传统卷积模块,使用ghostc2f替换c2f模块。ghostconv原理是先通过常规卷积生成部分特征图,再使用深度可分离卷积(depthwiseconv)进一步生成新的特征图,最后将两组特征图拼接起来。ghostconv通过传统卷积生成较少的特征图,后续在得到的特征图上使用深度可分离卷积,最后将两组特征图拼接起来,从而实现轻量化。基于ghostconv设计的ghostbottleneck模块根据卷积步长不同,有两种不同结构。当步长为1时,ghostbottleneck结构依次为输入层、ghostconv、ghostconv、连接层、输出层;当步长为2时,ghostbottleneck结构依次为输入层、ghostconv、depthwiseconv、ghostconv、连接层、输出层。ghostc2f与原始c2f模块结构类似,使用ghostbottleneck替换所有原始c2f模块中的bottleneck,生成ghostc2f模块。

14、(2)在模型颈部网络增加cbam注意力机制来增强特征融合能力。cbam注意力机制添加位置为neck部分每个ghostc2f模块后,与head层连接。

15、(3)在颈部网络使用bifpn(加权双向特征金字塔)结构增强特征融合能力。bifpn为一种加权融合方式,实现方法如下:

16、在主干网络依次提取320*320*64、160*160*128、80*80*256、40*40*512、20*20*1024五个特征层,建立特征融合金字塔,自下而上建立特征金字塔通道,同时删除只有一个输入的节点,当网络输出节点和原始输入节点通道数相同时,连接原始输入节点和输出节点从而融合更多特征。

17、(4)使用wiou(wise-iou)v3作为模型的损失函数。wiouv3使用动态非单调机制评价锚框质量,使普通质量的锚框得到更多关注,可以有效提高模型的检测精度。wiou计算公式如下:

18、lwiou=rwiou×liou

19、其中

20、

21、

22、其中表示真实框中心点坐标,表示预测框中心点坐标,cw表示预测框和真实框长度差,ch表示预测框和真实框高度差,a表示预测框,b表示真实框。

23、wiouv3在wiou基础上定义了一个离群值β用于衡量锚框质量,并基于离群值构建非单调焦点因子r,wiouv3计算公式如下:

24、lwiouv3=lwiou×r

25、其中:

26、

27、这里,α值取1.9,β值取3。

28、所述步骤4中的训练是在搭载windows10的台式计算机上进行,cpu为amd5600x,gpu为rtx3060ti,内存为16g。训练超参数设定如下:训练次数为200次,batch size为设为16,使用adam优化器,初始学习率为1*10-3,最终学习率为1*10-4,并采用余弦退火算法动态调整学习率。

29、所述步骤5中验证时iou设为0.5,batchsize设为1。

...

【技术保护点】

1.一种基于改进YOLOv8n的轻量化车辆行人检测方法,其特征在于,包括如下步骤:

2.根据权利要求书1所述的一种基于改进YOLOv8n的轻量化车辆行人检测方法,其特征在于,在步骤1中,先使用固定机位相机录制的道路交通视频,视频格式为.mp4,画面尺寸为1242*375,帧率为30FPS,再使用算法每隔10帧抽取一张图片,抽取完成后得到2481张图片。对KITTI数据集的预处理方式为:将Pedestrian、Person_sitting类的标签合并为Person,删除Tram、Misc、DontCare类的标签,保留Car、Van、Truck、Cyclist类的标签,处理后的KITTI数据集共包含行人、小型乘用车、二轮车辆(摩托车、自行车)、小型货车、大型货车五类目标。

3.根据权利要求书1所述的一种基于改进YOLOv8n的轻量化车辆行人检测方法,其特征在于,在步骤2中,从处理后的KITTI数据集中随机抽取5000张图片与标注后的图片相结合,生成更加完备的车辆行人数据集,训练集、验证集、测试集的划分比例为7:1:2,训练集包含5236张图片,验证集包含748张图片,测试集包含1497张图片。

4.根据权利要求书1所述的一种基于改进YOLOv8n的轻量化车辆行人检测方法,其特征在于,在步骤3中,主要包括以下改进措施:

5.根据权利要求书1所述的一种基于改进YOLOv8n的轻量化车辆行人检测方法,其特征在于,在步骤4中,训练在搭载Windows10的台式计算机上进行,CPU为AMD5600X,GPU为RTX3060TI,内存为16G。训练超参数设定如下:训练次数为200次,Batch Size为设为16,使用Adam优化器,初始学习率为1*10-3,最终学习率为1*10-4,并采用余弦退火算法动态调整学习率。

6.根据权利要求书4所述的一种基于改进YOLOv8n的轻量化车辆行人检测方法,其特征在于,所述Ghostconv原理是先通过常规卷积生成部分特征图,再使用深度可分离卷积(DepthWiseConv)进一步生成新的特征图,最后将两组特征图拼接起来。

7.根据权利要求书4所述的一种基于改进YOLOv8n的轻量化车辆行人检测方法,其特征在于,所述CBAM添加位置为Ncek部分每个GhostC2f模块后,与Head层连接。

8.根据权利要求书4所述的一种基于改进YOLOv8n的轻量化车辆行人检测方法,其特征在于,所述BiFPN为一种加权融合方式,实现方法如下:

9.根据权利要求书4所述的一种基于改进YOLOv8n的轻量化车辆行人检测方法,其特征在于,所述WIoUv3使用动态非单调机制评价锚框质量,使普通质量的锚框得到更多关注,可以有效提高模型的检测精度。WIoU计算公式如下:

10.根据权利要求书1所述的一种基于改进YOLOv8n的轻量化车辆行人检测方法,其特征在于,在步骤5中,使用步骤2中所述的验证集验证结果,验证参数设置具体为:

11.根据权利要求书1所述的一种基于改进YOLOv8n的轻量化车辆行人检测方法,其特征在于,在步骤5中,验证结果数据显示模型的平均检测精度可达到92.6%,相较于YOLOv8n提升了0.7%;计算量为6.1GFlops,相较于YOLOv8n降低了24.7%;模型大小为5.1M,相较于YOLOv8n降低了15%,在保证检测精度的同时实现了模型的轻量化。

12.根据权利要求书1所述的一种基于改进YOLOv8n的轻量化车辆行人检测方法,其特征在于,在步骤6中,将验证后的模型转化为onnx格式,部署到车载嵌入式设备上,实现车辆行人的实时检测。

...

【技术特征摘要】

1.一种基于改进yolov8n的轻量化车辆行人检测方法,其特征在于,包括如下步骤:

2.根据权利要求书1所述的一种基于改进yolov8n的轻量化车辆行人检测方法,其特征在于,在步骤1中,先使用固定机位相机录制的道路交通视频,视频格式为.mp4,画面尺寸为1242*375,帧率为30fps,再使用算法每隔10帧抽取一张图片,抽取完成后得到2481张图片。对kitti数据集的预处理方式为:将pedestrian、person_sitting类的标签合并为person,删除tram、misc、dontcare类的标签,保留car、van、truck、cyclist类的标签,处理后的kitti数据集共包含行人、小型乘用车、二轮车辆(摩托车、自行车)、小型货车、大型货车五类目标。

3.根据权利要求书1所述的一种基于改进yolov8n的轻量化车辆行人检测方法,其特征在于,在步骤2中,从处理后的kitti数据集中随机抽取5000张图片与标注后的图片相结合,生成更加完备的车辆行人数据集,训练集、验证集、测试集的划分比例为7:1:2,训练集包含5236张图片,验证集包含748张图片,测试集包含1497张图片。

4.根据权利要求书1所述的一种基于改进yolov8n的轻量化车辆行人检测方法,其特征在于,在步骤3中,主要包括以下改进措施:

5.根据权利要求书1所述的一种基于改进yolov8n的轻量化车辆行人检测方法,其特征在于,在步骤4中,训练在搭载windows10的台式计算机上进行,cpu为amd5600x,gpu为rtx3060ti,内存为16g。训练超参数设定如下:训练次数为200次,batch size为设为16,使用adam优化器,初始学习率为1*10-3,最终学习率为1*10-4,并采用余弦退火算法动态调整学...

【专利技术属性】
技术研发人员:王博徐威杰王华伟胡溧
申请(专利权)人:武汉科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1