一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于M3-YOLOv5的指定移动目标检测方法与流程

2022-02-22 10:08:10 来源:中国专利 TAG:

一种基于m3-yolov5的指定移动目标检测方法
技术领域
1.本发明属于目标检测领域,具体是一种基于mobilenetv3-yolov5的指定移动目标检测方法。


背景技术:

2.目标检测是在图像或者视频中判断是否存在感兴趣的目标,若存在则确定目标在图像中的位置,同时对目标所属类别进行判断。基于深度学习的目标检测比传统方法的速度和精度更高,并广泛应用在各个领域,如道路上的行人车辆识别,生产制造过程中的产品瑕疵识别等等。目标检测是计算机视觉领域中重要的研究方向之一,随着人工智能、互联网等的快速发展,人们身边存在大量的图像与视频数据,使得计算机视觉技术对人类生活的影响越来越大。
3.yolo(you only look once)是一种单阶段的目标检测算法,其基本原理是把目标检测转变成一个回归问题,利用整张图片作为网络的输入,仅仅经过一个神经网络便得到边界框位置及其所属类别。yolov5是yolo系列最新的网络模型,其检测效果优于yolov1-yolov4。
4.现有技术中,应用于不同场景的改进的yolo算法有很多,并取得了良好的应用成果。申请号为202110274273.5的文献公开了一种基于myolov3网络的杆塔图像检测方法,利用mobilenetv3-large网络构建3个检测子网路,减少检测子网络中各个卷积层的通道数,提高了对杆塔图像的检测速度。但此改进方法中,杆塔是静止目标。针对指定移动目标的检测,受到同类目标干扰以及目标移动速度的影响,现有方法的应用效果并不理想,需要更高的检测速度及准确度。


技术实现要素:

5.针对现有技术的不足,本发明拟解决的技术问题是,提供一种基于mobilenetv3-yolov5的指定移动目标检测方法。
6.本发明解决所述技术问题的技术方案是,提供一种基于m3-yolov5的指定移动目标检测方法,其特征在于,该方法包括以下步骤:
7.步骤1、获取目标检测所需的图像数据;
8.步骤2、对图像数据进行划分,建立训练集和测试集;
9.步骤3、结合mobilenetv3算法对yolov5算法进行改进,得到mobilenetv3-yolov5算法的网络模型;
10.步骤4、使用步骤2得到的训练集对步骤3得到的mobilenetv3-yolov5网络模型进行训练,得到训练后的mobilenetv3-yolov5网络模型;
11.步骤5、将步骤2得到的测试集输入步骤4得到的训练后的mobilenetv3-yolov5网络模型中进行检测,得到检测结果。
12.与现有技术相比,本发明有益效果在于:
13.1、本发明将yolov5目标检测算法与mobilenetv3检测算法相结合,改进简便,构建出检测速度快、检测精度高的网络模型。本发明在保留检测精度的同时提高了检测速度,保证检测的实时性,更适用于指定移动目标的检测,使移动终端、嵌入式设备运行神经网络模型成为可能。
14.2、本发明将yolov5的骨干网络替换为原始mobilenetv3算法网络的去除最后的平均池化层和两个逐点卷积层的部分,并添加了上采样模块,便于瓶颈网络中的与最大尺度输出最近的拼接模块(concat)的操作。
15.与改进前的初始yolov5相比,mobilenetv3网络中使用深度可分离卷积代替普通卷积,参数量变为原来的(n为输出通道数,dk为卷积核的边长),提高了检测速度;上采样操作可以使目标在图像中占比较小时得到更好的检测。
16.3、本发明将yolov5的瓶颈网络中的与输出端最近的3个cbl模块替换为1个pdp_1模块和2个pdp_2模块。pdp模块中的深度卷积使瓶颈网络中的参数量减少,优选提高整个网络模型的检测速度;逐点卷积使通道间的特征信息融合,能够保留更高的检测精度。
附图说明
17.图1为原始yolov5s算法的网络结构图;
18.图2为本发明的mobilenetv3-yolov5算法的网络结构图;
19.图3为本发明的mobilenetv3-yolov5算法的pdp_1模块的结构图;
20.图4为本发明的mobilenetv3-yolov5算法的pdp_2模块的结构图。
具体实施方式
21.下面给出本发明的具体实施例。具体实施例仅用于优选详细说明本发明,不限制本技术权利要求的保护范围。
22.本发明提供了一种基于m3-yolov5的指定移动目标检测方法(简称方法),其特征在于,该方法包括以下步骤:
23.步骤1、获取目标检测所需的图像数据;
24.优选地,步骤1具体是:利用摄像设备采集不同时刻的视频数据,对视频数据中带有指定目标的视频帧进行截取,得到所需的图像数据;
25.步骤2、对图像数据进行划分,建立训练集和测试集;
26.优选地,步骤2具体是:对步骤1得到的图像数据进行翻转、缩放、裁剪操作来扩充图像数量,直至达到所需数量,得到扩充后的图像数据;再对扩充后的图像数据中感兴趣目标进行标注,并将图像转换成适合大小;将每一个图像生成对应的xml文件,所述xml文件包含目标标签名称;将每个xml文件在python中进行图像格式转化,转换成yolo支持的txt文件,得到感兴趣目标的检测数据集;将检测数据集划分为训练集和测试集。
27.步骤3、结合mobilenetv3算法对yolov5算法进行改进,得到mobilenetv3-yolov5算法的网络模型;
28.优选地,步骤3中,yolov5包括yolov5s、yolov5m、yolov5l、yolov5x四个版本,其中yolov5s的检测速度最快,更适用于移动目标的检测。mobilenetv3包括mobilenetv3-small
和mobilenetv3-large两个版本,其中mobilenetv3-small的参数量更少,检测速度更快。
29.优选地,步骤3中,结合mobilenetv3算法对yolov5算法进行改进,得到mobilenetv3-yolov5算法的网络模型的具体步骤如下:
30.步骤3.1、将yolov5算法的骨干网络(即focus模块至spp模块)替换为去除最后的平均池化层和两个逐点卷积层的mobilenetv3网络;在此mobilenetv3网络中的第九个模块(即bhse_1模块)与第十个模块(即bhse_1模块)之间添加一个上采样(upsample)模块(即图2中编号为10的模块);将此mobilenetv3网络中的第十三个模块(即bhse_1模块)中的卷积层的卷积步长设置为2;
31.步骤3.2、将yolov5算法的瓶颈网络中的与最大尺度输出最近的cbl模块替换为pdp_1模块(即图2中编号为20的模块),与中间尺度输出最近的cbl模块替换为pdp_2模块(即图2中编号为25的模块),与最小尺度输出最近的cbl模块替换为pdp_2模块(即图2中编号为29的模块);
32.优选地,步骤3.2中,如图3所示,pdp_1模块包括顺序连接的一个逐点卷积层(pw,pointwise convolution)、一个激活函数层(relu)、一个深度卷积层(dw,depthwise convolution)、一个激活函数层、一个逐点卷积层和一个带泄露修正线性单元函数层(leaky_relu);所述深度卷积层中卷积核大小为3*3,卷积步长为s=1。
33.优选地,步骤3.2中,如图4所示,pdp_2模块包括顺序连接的一个逐点卷积层、一个激活函数层、一个深度卷积层、一个激活函数层、一个逐点卷积层和一个带泄露修正线性单元函数层;所述深度卷积层中卷积核大小为3*3,卷积步长为s=2。
34.步骤3.3、将yolov5算法的瓶颈网络中的第一个csp2_1模块(即图2中编号为15的模块)中卷积层的通道数设置为576;将瓶颈网络中的第一个cbl模块(即图2中编号为16的模块)、第二个csp2_1模块(即图2中编号为19的模块)、与中间尺度输出最近的csp2_1模块(即图2中编号为27的模块)以及最小尺度输出路径上的pdp_2模块(即图2中编号为29的模块)中卷积层的通道数设置为96;将最大尺度输出路径上的pdp_1模块(即图2中编号为20的模块)、与最大尺度输出最近的csp2_1模块(即图2中编号为23的模块)以及中间尺度输出路径上的pdp_2模块(即图2中编号为25的模块)中卷积层的通道数设置为48;将与最小尺度输出最近的csp2_1模块(即图2中编号为31的模块)中卷积层的通道数设置为192;进而得到mobilenetv3-yolov5网络模型。
35.优选地,步骤3中,mobilenetv3-yolov5网络模型包括输入端、骨干网络、瓶颈网络和输出端;数据从输入端经一定的处理到达骨干网络,再到达瓶颈网络,最终到达输出端;
36.输入端中,首先对输入图像进行尺寸变换使其适用于模型训练,再通过mosaic数据增强方式将任意四张图片随机缩放、裁剪、排布;通过自对抗训练,利用神经网络更改原始图像,对图像做改变扰动,然后在此图像上训练;丰富了检测数据集,有利于检测小目标,减少gpu资源占用,提高模型鲁棒性。
37.骨干网络中,包括ch模块、bhse_1模块、br模块、brse模块和bhse_2模块;其中ch模块为卷积层加h-swish激活函数层,h-swish激活函数使检测精度更高;bhse_1模块、br模块和brse模块包含的线性瓶颈结构(bottle neck),减少参数量并提高网络深度,进一步提升检测效果;bhse_1模块和brse模块包含的压缩激励(se)模块,使得网络模型对特征图中有效部分的权重增大,无效或效果小的部分的权重减小,使检测效果更准确、快速;bhse_2模
块引入大小为5
×
5的深度卷积代替3
×
3的深度卷积,使输出特征图保留目标的效果更好。
38.mobilenet使用深度可分离卷积来构建深度神经网络,并引入两个超参数,从而减少计算量。假设输入的特征映射f的尺寸为(df,df,m),采用的标准卷积核k为(dk,dk,m,n),则输出的映射g的尺寸为(df,df,n)。则原始计算量表示如式(1),引入深度可分离卷积后的计算量表示如式(2):
39.df×df
×m×dk
×dk
×nꢀꢀꢀ
(1)
40.df×df
×m×dk
×dk
df×df
×m×nꢀꢀꢀ
(2)
41.式(1)-(2)中,df为输入特征图的边长;dk为卷积核的边长;m为输入通道数;n为输出通道。
42.相比于标准卷积,深度可分离卷积的计算量减少如式(3)所示:
[0043][0044]
引入超参数后的计算量如式(4)所示:
[0045]
βdf×
βdf×
αm
×dk
×dk
βdf×
βdf×
αm
×
αn
ꢀꢀꢀ
(4)
[0046]
式(4)中,α∈(0,1]为宽度因子,用来调整通道数的大小;β∈(0,1]为分辨率因子,用来调整特征图的分辨率。
[0047]
瓶颈网络中,采用fpn和pan相组合的结构,主要通过上采样操作进行信息传递和融合,获取不同尺度的检测层。
[0048]
输出端中,通过边界框损失函数giou_loss进行计算和非极大值抑制diou_nms进行筛选,最终输出检测结果。
[0049]
步骤4、使用步骤2得到的训练集对步骤3得到的mobilenetv3-yolov5网络模型进行训练,得到训练后的mobilenetv3-yolov5网络模型;
[0050]
优选地,步骤4具体是:将训练集输入到mobilenetv3-yolov5网络模型中,利用随机梯度下降法,对mobilenetv3-yolov5网络模型进行迭代训练,得到训练后的mobilenetv3-yolov5网络模型。
[0051]
步骤5、将步骤2得到的测试集输入步骤4得到的训练后的mobilenetv3-yolov5网络模型中进行检测,得到检测结果。
[0052]
实施例1
[0053]
本实施例针对背景简单、实时性要求较高的场景,具体场景是:使用跑步机代替传送带,将贴有带“你好”字样的白色纸条的黑色中性笔作为指定目标。
[0054]
步骤1、将指定目标与其他同种型号的不贴字样或贴有不同字样的黑色中性笔排列放在跑步机上,调整黑色中性笔的不同排列次序及放置方向后进行拍摄,获得图像数据;
[0055]
步骤2、将步骤1获得的图像数据进行扩充,扩充至15000张;调整图像大小为608
×
608;将所有的黑色中性笔图像数据按照8:2的比例划分为训练集和测试集;
[0056]
步骤3、结合mobilenetv3算法对yolov5算法进行改进,得到mobilenetv3-yolov5算法的网络模型;mobilenetv3选用mobilenetv3-small,yolov5选用yolov5s。
[0057]
步骤4、使用步骤2得到的训练集对步骤3构建的mobilenetv3-yolov5网络模型进行训练,得到最优网络模型;
[0058]
步骤5、使用最优网络模型对测试集进行检测,并计算识别准确率。
[0059]
对比例1
[0060]
本对比例针对背景简单、实时性要求较高的场景,具体场景是:使用跑步机代替传送带,将贴有带“你好”字样的白色纸条的黑色中性笔作为指定目标。
[0061]
步骤1、将指定目标与其他同种型号的不贴字样或贴有不同字样的黑色中性笔排列放在跑步机上,调整黑色中性笔的不同排列次序及放置方向后进行拍摄,获得图像数据;
[0062]
步骤2、将步骤1获得的图像数据进行扩充,扩充至15000张;调整图像大小为608
×
608;将所有的黑色中性笔图像数据按照8:2的比例划分为训练集和测试集;
[0063]
步骤3、使用步骤2得到的训练集对yolov5s网络模型进行训练,得到最优网络模型;
[0064]
步骤4、使用最优网络模型对测试集进行检测,并计算识别准确率。
[0065]
测试结果
[0066]
实施例1和对比例1的识别准确率与视频检测速率的结果见表1:
[0067]
表1
[0068][0069]
识别准确率的计算公式为:tp为正确检测的数量;ap为检测总数。
[0070]
视频检测速率的计算公式为:f为视频的帧数,t为检测视频所用的时间。
[0071]
由表1可以看出,本发明方法在笔这类目标上的检测速率高于原有yolov5方法,并保留了足够高的识别准确率,是一种非常实用的检测方法。
[0072]
本发明未述及之处适用于现有技术。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献