System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及目标检测领域,特别是涉及基于改进yolov8n的轻量化车辆行人检测方法。
技术介绍
1、基于深度学习的目标检测算法主要分为两种:二阶段目标检测算法和单阶段目标检测算法。二阶段目标检测算法通过选择性搜索等方法得到候选区域,再对候选区域进行特征提取得到特征矩阵,最后将特征矩阵送入svm分类器进行预测并分类,检测精度较高,但由于大量候选区域的判别及处理,导致检测时间长、效率低。而单阶段目标检测算法直接将图像送入检测网络提取特征并预测,不需要提取候选区域,检测效率高,更加适用于对实时性要求较高的场景中,代表模型有ssd、yolo系列算法等。从2016年发布的yolov1到目前最新的yolov8,yolo系列算法的检测精度在不断提高,但在车载嵌入式系统等计算资源有限的设备上,由于检测算法实现高精度检测的同时带来大量计算资源消耗,给系统造成较大负载。因此,在保证检测精度的同时,轻量化检测算法消耗较少的计算资源,能够降低系统负载,具有重要研究意义。
技术实现思路
1、本专利技术针对现有技术存在的问题,提出一种基于改进yolov8n的轻量化车辆行人检测方法。本专利技术可以在保证检测精度不下降的同时,有效减少模型的计算量和参数量,降低系统负载。
2、实现上述目的的技术方案是:
3、步骤1,构建车辆行人图片数据集,通过在乘用车前挡风玻璃上端安装固定机位,根据采集的道路视频,分帧得到车辆行人图片数据;获取kitti数据集并进行预处理。
4、步骤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张图片,验证集包含74
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,并采用余弦退火算法动态调整学...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。