一种基于改进Yolov7-tiny的轻量化目标检测方法

未命名 09-29 阅读:98 评论:0

一种基于改进yolov7-tiny的轻量化目标检测方法
技术领域
1.本发明涉及机器视觉与目标检测技术领域,具体涉及一种基于改进yolov7-tiny的轻量化目标检测方法。


背景技术:

2.随着深度学习技术的不断发展,机器视觉领域成为了一项热门研究方向,目标检测技术作为机器视觉领域中的重要研究方向之一,被广泛应用于人脸识别、智能安防、智能交通、自动驾驶等领域。然而,随着目标检测技术对复杂场景、多目标检测的需求,一些结构复杂、高精度的目标检测模型被训练出来,伴随着模型检测能力的提升,模型的参数量、计算量也逐渐攀升,这将导致模型不便于部署在嵌入式设备上。因此,对目标检测模型轻量化处理显得尤为重要。基于深度学习的目标检测技术分为双阶段检测和单阶段检测。双阶段检测模型以r-cnn(regions with cnn features,区域卷积神经网络)系列为主,模型检测精度高,但同时含有大量的参数,导致无法满足嵌入式终端设备部署的需求。与双阶段检测相比,单阶段检测模型以yolo(you only look once,yolo)系列为主,可以实现端到端的检测,具有更少的参数量,花费更少的时间,但是精度稍低于双阶段检测模型。
3.当前yolo系列模型在目标检测领域取得重大突破,以其速度快、检测精度高的优点受到广泛关注。然而,在轻量化目标检测领域,模型在嵌入式设备上存在运行速度慢、耗时长的问题。为了解决这个问题,薄景文等人提出使用shufflenetv2网络替换主干网络来实现模型轻量化。宋中山等人提出使用融合senet模块shufflenetv2网络替换主干网络降低网络计算复杂度。张利红等人提出使用mobilenetv2替换backbone达到网络轻量化的目的。吴珺等人提出添加网络模型与注意力机制融合达到轻量化的目的。虽然,通过改变主干网络或添加注意力机制可以实现网络轻量化,但是该方法往往不能兼顾高精度与轻量化的需求。


技术实现要素:

4.发明目的:针对现有技术中存在的问题,本发明以yolo系列作为研究目标,选用当前轻量化模型yolov7-tiny,并提出了一种基于改进yolov7-tiny的轻量化目标检测方法。
5.技术方案:本发明提供了一种基于改进yolov7-tiny的轻量化目标检测方法,包括如下步骤:
6.s1:数据采集与处理:从真实场景中收集大量的图像数据,并对采集到的数据进行预处理;
7.s2:将采集到的数据集构建yolo格式数据集,将s1采集到的图像中,每个目标标注其类别、位置和大小信息,还对标注数据进行筛选和清洗,最后将标注的xml文件转化成yolo目标检测算法可以识别的格式;
8.s3:在yolov7-tiny网络模型基础上进行改进,将yolov7-tiny模型backbone网络中cbs模块去除,并使用fasternet模块和basicstage模块对elan模块和mp模块进行替换;
将neck网络中c3模块替换为pconv模块,并在pconv模块后添加ca注意力模块;最后将yolov7-tiny中ciou损失函数替换为focal-eiou损失函数;
9.s4:使用改进后的yolov7-tiny轻量化模型进行训练评估,在训练过程中选择合适的超参数、优化器和损失函数;
10.s5:对模型训练后的数据进行分析判断,并对模型进行调整和优化,保留训练后最优权重模型;将训练后的模型进行实验测试。
11.进一步地,所述步骤3中使用fasternet块和basicstage模块对elan模块和mp模块进行替换具体为:
12.第一层elan模块采用步长为4的fasternet模块进行替换,第三层、第五层和第七层elan模块采用步长为2的fasternet模块进行替换,mp模块采用步长为1的basicstage模块进行替换。
13.进一步地,所述fasternet模块有四个分层阶段,每个阶段都有一个嵌入层或一个合并层前置,用于空间下采样和通道数扩展;每个阶段有一个fasternet块,每个fasternet块都包含一个pconv层和两个pwconv层;fasternet模块归一化层采用批量归一化;激活层放置在每个中间pwconv之后,最后全局平均池化层、1
×
1卷积层和全连接层用于特征转换和分类。
14.进一步地,所述嵌入层为步长为4的常规conv 4
×
4;所述合并层为步长为2的常规conv2
×
2。
15.进一步地,所述pconv模块通过将输入特征图分成多个子特征图,并为每个子特征图分配一个独立的卷积核进行处理,所述子特征图可以是空间上划分的不重叠区域,也可以是按通道划分的子组。
16.进一步地,所述focal-eiou损失函数具体为:
17.eiou loss损失函数如公式(1):
[0018][0019]
focal loss如公式(2):
[0020]
l
fl
=-(1-p
t
)
γ
log(p
t
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0021]
将eiou loss和focal loss公式进行整合,得到最终的focal-eiou损失函数,其公式如下:
[0022]
l
fe-iou
=iou
γ
l
eiou
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0023]
l
fe-iou
=-(1-iou)
γ
log(iou)eiou
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0024][0025]
有益效果:
[0026]
本发明针对当前目标检测算法模型参数量和计算量大,难以在嵌入式设备端部署的问题,提出了一种基于改进yolov7-tiny的轻量化目标检测方法。具体而言,该方法采用更加轻量的fasternet网络替换原有主干网络,在neck层使用pconv卷积替代部分conv卷积来减少计算冗余和内存访问,从而有效降低模型的参数量和计算量。此外,引入ca注意力机制,使得模型网络可以同时捕获跨通道信息、方向感知信息和位置感知信息,在避免模型网
络引入大开销的同时提高了目标检测的精度,并引入focal-eiou损失函数来优化模型的收敛速度和效率。实验结果表明,在自建数据集中,该方法在map@0.5上提高了7.7%,在参数量和计算量上分别降低24%和20.4%,同时模型权重文件也降低了27.2%。该方法在保持较高检测精度的同时,满足了在轻量化方面的需求。
附图说明
[0027]
图1为本发明改进yolov7-tiny的轻量化目标检测方法流程图;
[0028]
图2为本发明改进yolov7-tiny网络模型图;
[0029]
图3为本发明fasternet网络结构图;
[0030]
图4为本发明pconv卷积模块图;
[0031]
图5为本发明使用yolov7-tiny模型的检测效果图;
[0032]
图6为本发明使用改进后的yolov7-tiny模型的检测效果图。
具体实施方式
[0033]
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0034]
本发明公开了一种基于改进yolov7-tiny的轻量化目标检测方法,包括如下步骤:
[0035]
s1:数据采集与处理:从真实场景中收集大量的图像数据,并对采集到的数据进行预处理,预处理包括图像出兑调整、颜色空间转换、数据增强等,以提高模型的鲁棒性和泛化能力。
[0036]
s2:将采集到的数据集构建yolo格式数据集,将s1采集到的图像中,每个目标标注其类别、位置和大小信息,一般采用专业的标注工具进行标注。还对标注数据进行筛选和清洗,最后将标注的xml文件转化成yolo目标检测算法可以识别的格式。
[0037]
s3:在yolov7-tiny网络模型基础上进行改进,将yolov7-tiny模型backbone网络中cbs模块去除,并使用fasternet模块和basicstage模块对elan模块和mp模块进行替换,其中,第一层elan模块采用步长为4的fasternet模块进行替换,第三层、第五层和第七层elan模块采用步长为2的fasternet模块进行替换,mp模块采用步长为1的basicstage模块进行替换。将neck网络中c3模块替换为pconv模块,并在pconv模块后添加ca注意力模块,可以有效提高模型的特征表达能力和检测精度。最后将yolov7-tiny中ciou损失函数替换为focal-eiou损失函数,从而有效解决样本不平衡问题,进一步提高模型的性能。
[0038]
fasternet网络有四个分层阶段,每个阶段都有一个嵌入层(步长为4的常规conv 4
×
4)或一个合并层(步长为2的常规conv 2
×
2)前置,用于空间下采样和通道数扩展。每个阶段有一个fasternet块,每个fasternet块都包含一个pconv层和两个pwconv层。此外,该网络归一化层采用批量归一化(bn),以实现更快的推理;激活层放置在每个中间pwconv之后,以保持特征多样性并实现较低的延迟。最后,全局平均池化层、1
×
1卷积层和全连接层用于特征转换和分类。总体而言,fasternet网络在减少计算量和参数量的同时,实现了较高的检测准确率和较快的检测速度。fasternet网络结构如图3所示。
[0039]
为了减少计算冗余和内存访问,采用了一种基于图像修复和语义分割任务的卷积操作,即pconv卷积,如图4所示。该卷积操作仅对一部分输入通道应用常规conv进行空间特
征提取,其余通道保持不变。此外为了避免连续或常规的测内存访问,它将第一个或最后一个连续的通道视为整个特征图的代表,因此输入和输出特征图具有相同数量的通道。通过这种设计可以节省内存空间,并且不会影响模型的性能。
[0040]
focal-eiou损失函数具体为:
[0041]
eiou loss损失函数如公式(1):
[0042][0043]
focal loss如公式(2):
[0044]
l
fl
=-(1-p
t
)
γ
log(p
t
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0045]
将eiou loss和focal loss公式进行整合,得到最终的focal-eiou损失函数,其公式如下:
[0046]
l
fe-iou
=iou
γ
l
eiou
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0047]
l
fe-iou
=-(1-iou)
γ
log(iou)eiou
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0048][0049]
s4:使用改进后的yolov7-tiny轻量化模型进行训练评估,在训练过程中,首先需要选择合适的超参数、优化器和损失函数,合理划分训练集、验证集和测试集,以进行模型的训练和评估。
[0050]
s5:对模型训练后的数据进行分析判断,并对模型进行调整和优化,保留训练后最优权重模型,将训练后的模型进行实验测试。可以采用可视化工具对模型的损失和精确率等指标的变化趋势进行分析,并对模型进行调整和优化,以提高模型的性能。如果,修改后的模型在损失、精确率和参数量等参数上相比原模型有更优秀的表现,则选取当前训练结果作为最优模型,否则模型训练不达标,继续调整训练参数,进行下一轮训练。保留训练后最优权重模型。经过筛选,得到的最优权重模型,相比原模型在精度保持提升的同时,在参数量和计算量上同比降低,这意味着该模型能够更快、更准确地进行目标检测,并且在嵌入式设备端部署更便捷。
[0051]
本实施例实验平台基于linux操作系统运行,训练平台采用nvidia geforce rtx 3090-24ggpu,intel(r)xeon(r)cpu e5-2680 v428g 28核cpu处理器,代码运行框架为pytorch,运行环境为python3.8,cuda11.3。
[0052]
为验证本文改进点对算法性能提升起到的效果,本文设计了以下实验,在yolov7-tiny骨干网络基础上添加了一些列改进点,包括fasternet网络结构、pconv卷积、focal-eiou损失函数、cbam注意力机制、ca注意力机制,用于测试对算法性能的影响。其中t1~t6表示添加改进点后的模型。实验结果如表1所示。
[0053]
表1消融实验对比
[0054][0055]
从实验结果可以看出,更改模型主干网络和替换普通卷积可以实现模型参数量、计算量以及权重的降低。将损失函数更改为focal-eiou和eocal-ciou后,模型收敛效果更好,计算量相比降低了6.2%,但focal-ciou损失函数在精度上下降了2%,因此,相比而言focal-eiou更适合于应用。最后通过嵌入注意力模块,可以提高目标的关注度,增强模型性能。通过实验得出,在neck层嵌入cbam和ca注意力模块参数量分别降低12%、12.3%,权值分别降低11.5%,11.3%,但ca模块在精度上提升显著,相比于原模型提高了7.7%,因此,选用ca模块作为模型添加的注意力机制。
[0056]
为了进一步验证本文算法性能的有效性,本文选择了当前主流的单阶段目标检测算法模型进行设计对比试验。其中包括经典的yolov3-tiny和yolov5s,以及轻量化的yolov7-tiny,同时也包括本文提出的新算法模型。这些模型在骨干网络、颈部网络和预测头等方面均有所不同,因此对比试验将有助于评估各模型在不同场景下的表现。具体而言,对比试验将分别在精度、参数量、计算量等方面进行评估,以便进行可视化比较分析。对比试验如表2所示。
[0057]
表2算法模型实验对比
[0058][0059]
由表3实验结果可以看出,本文算法在参数量、map@0.5、计算速度、权重上表现优异,在参数量上,本文算法与轻量级网络模型yolov3-tiny、yolov7-tiny相比降低了47%,24%,在map@0.5上与yolov3-tiny、yolov7-tiny相比提升了9.4%,7.7%,与当前主流的yolov5s相比较在精度上已达到相当水平,在参数量和计算量上占有绝对的优势,此外,本算法在计算量上相比于轻量级网络yolov3-tiny、yolov7-tiny降低了19.2%,20.4%,权重值降低了48.6%,27.2%,综上,改进后的算法模型更容易在移动端设备部署。
[0060]
为了测试改进后模型检测的效果,在行人车辆检测场景下,分别采用改进模型与原模型进行检测。图5展示了原模型的检测效果,图6展示了改进模型的检测效果。原模型采用yolov7-tiny权重文件进行测试,目标检测识别时间为2.5ms,而改进模型目标检测识别
时间为2.2ms,通过检测效果图可以看出,改进后的模型对人、车辆漏检率更低,识别精度更高。
[0061]
上述实施方式只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。

技术特征:
1.一种基于改进yolov7-tiny的轻量化目标检测方法,其特征在于,包括如下步骤:s1:数据采集与处理:从真实场景中收集大量的图像数据,并对采集到的数据进行预处理;s2:将采集到的数据集构建yolo格式数据集,将s1采集到的图像中,每个目标标注其类别、位置和大小信息,还对标注数据进行筛选和清洗,最后将标注的xml文件转化成yolo目标检测算法可以识别的格式;s3:在yolov7-tiny网络模型基础上进行改进,将yolov7-tiny模型backbone网络中cbs模块去除,并使用fasternet模块和basicstage模块对elan模块和mp模块进行替换;将neck网络中c3模块替换为pconv模块,并在pconv模块后添加ca注意力模块;最后将yolov7-tiny中ciou损失函数替换为focal-eiou损失函数;s4:使用改进后的yolov7-tiny轻量化模型进行训练评估,在训练过程中选择合适的超参数、优化器和损失函数;s5:对模型训练后的数据进行分析判断,并对模型进行调整和优化,保留训练后最优权重模型;将训练后的模型进行实验测试。2.根据权利要求1所述的基于改进yolov7-tiny的轻量化目标检测方法,其特征在于,所述步骤3中使用fasternet块和basicstage模块对elan模块和mp模块进行替换具体为:第一层elan模块采用步长为4的fasternet模块进行替换,第三层、第五层和第七层elan模块采用步长为2的fasternet模块进行替换,mp模块采用步长为1的basicstage模块进行替换。3.根据权利要求1或2所述的基于改进yolov7-tiny的轻量化目标检测方法,其特征在于,所述fasternet模块有四个分层阶段,每个阶段都有一个嵌入层或一个合并层前置,用于空间下采样和通道数扩展;每个阶段有一个fasternet块,每个fasternet块都包含一个pconv层和两个pwconv层;fasternet模块归一化层采用批量归一化;激活层放置在每个中间pwconv之后,最后全局平均池化层、1
×
1卷积层和全连接层用于特征转换和分类。4.根据权利要求3所述的基于改进yolov7-tiny的轻量化目标检测方法,其特征在于,所述嵌入层为步长为4的常规conv 4
×
4;所述合并层为步长为2的常规conv 2
×
2。5.根据权利要求1所述的基于改进yolov7-tiny的轻量化目标检测方法,其特征在于,所述pconv模块通过将输入特征图分成多个子特征图,并为每个子特征图分配一个独立的卷积核进行处理,所述子特征图可以是空间上划分的不重叠区域,也可以是按通道划分的子组。6.根据权利要求1所述的基于改进yolov7-tiny的轻量化目标检测方法,其特征在于,所述focal-eiou损失函数具体为:eiou loss损失函数如公式(1):focal loss如公式(2):l
fl
=-(1-p
t
)
γ
log(p
t
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)将eiou loss和focal loss公式进行整合,得到最终的focal-eiou损失函数,其公式如
下:l
fe-iou
=iou
γ
l
eiou
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)l
fe-iou
=-(1-iou)
γ
log(iou)eiou
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)。

技术总结
本发明涉及机器视觉与目标检测技术领域,公开了一种基于改进Yolov7-tiny的轻量化目标检测方法,本发明采用更加轻量的FasterNet网络替换原有主干网络,在Neck层使用PConv卷积替代部分Conv卷积来减少计算冗余和内存访问,从而有效降低模型的参数量和计算量。此外,引入CA注意力机制,使得模型网络可以同时捕获跨通道信息、方向感知信息和位置感知信息,在避免模型网络引入大开销的同时提高了目标检测的精度,并引入Focal-EIoU损失函数来优化模型的收敛速度和效率。与现有技术相比,本发明在保持较高检测精度的同时,满足了在轻量化方面的需求。的需求。的需求。


技术研发人员:王文聘 张青春 张恩浦 宁建峰 文张源
受保护的技术使用者:淮阴工学院
技术研发日:2023.06.27
技术公布日:2023/9/25
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐