基于改进YOLOV7的航拍图像目标检测方法及系统与流程
未命名
10-21
阅读:170
评论:0
基于改进yolo v7的航拍图像目标检测方法及系统
技术领域
1.本发明属于目标检测技术领域,尤其涉及一种基于改进yolo v7的航拍图像目标检测方法及系统。
背景技术:
2.本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
3.航拍图像目标检测指的是使用航拍图像来检测和识别图像中的目标物体;这项技术在很多领域都有广泛的应用,包括城市规划、环境监测、灾害管理、交通监管、农业和林业等等;随着深度学习的兴起,基于卷积神经网络的目标检测技术显著提高了目标检测的性能,然而,大多数目标检测模型都是基于自然场景图像数据集进行设计,自然场景图像与航拍图像之间存在显著差异;近年来,随着大数据技术的发展和计算机运行速度的不断增加,基于深度学习的目标检测方法不断被提出,并取得了很好的检测效果;基于深度学习的目标检测方法可以被分为两类:两阶段检测和单阶段检测算法;它们各自的优点可以概括为良好的检测精度和计算速度;其中,两阶段检测算法的主要思想是将目标检测分为两个阶段进行处理:生成候选区域和候选区域分类;单阶段目标检测算法只需一次前向传递即可完成目标检测,在损失少量精度的情况下大大提升了检测速度;yolo v7作为最先进的单阶段目标检测算法之一,已经在许多自然场景数据集上取得先进效果;然而yolo v7算法并没有专门针对小目标检测任务进行优化,这使得yolo v7算法并不能适应于包含大量小目标的航拍图像检测。
技术实现要素:
4.为克服上述现有技术的不足,本发明提供了一种基于改进yolo v7的航拍图像目标检测方法及系统,其参数量显著降低、检测效果更好并能满足实时检测要求。
5.为实现上述目的,本发明的一个或多个实施例提供了如下技术方案:本发明第一方面提供了一种基于改进yolo v7的航拍图像目标检测方法,包括:获取并处理航拍图像数据集,利用图像增强技术对航拍图像数据集进行扩充;利用扩充后的航拍图像数据集训练改进的yolo v7模型;所述改进的yolo v7模型是指去除yolo v7模型主干网络中的第一个下采样层和最后一个检测头,将与最深的elan模块相连的elan-w模块替换为mscsp模块,调整yolo v7的通道数,得到改进的yolo v7模型;将真实场景下的航拍图像输入至训练后的改进的yolo v7模型中,得到航拍图像中各检测目标的类别、置信度分数和相应的目标框坐标信息。
6.本发明第二方面提供了一种基于改进yolo v7的航拍图像目标检测系统,包括:航拍图像数据集获取模块,被配置为:获取并处理航拍图像数据集,利用图像增强
技术对航拍图像数据集进行扩充;改进的yolo v7模型训练模块,被配置为:利用扩充后的航拍图像数据集训练改进的yolo v7模型;所述改进的yolo v7模型是指去除yolo v7模型主干网络中的第一个下采样层和最后一个检测头,将与最深的elan模块相连的elan-w模块替换为mscsp模块,调整yolo v7的通道数,得到改进的yolo v7模型;航拍图像目标检测模块,被配置为:将真实场景下的航拍图像输入至训练后的改进的yolo v7模型中,得到航拍图像中各检测目标的类别、置信度分数和相应的目标框坐标信息。
7.以上一个或多个技术方案存在以下有益效果:(1)由于过多的神经网络层会造成浅层特征信息的过多丢失,此外对小目标的检测也不需要过大的感受野;本发明去掉下采样层的操作降低了yolo v7模型的感受野,而去掉最深检测头不仅降低了改进yolo v7的感受野,还减少了神经网络模型的层数,使得yolo v7算法能够很好的适应于包含大量小目标的航拍图像检测中。
8.(2)本发明对yolo v7模型中sppcspc模块进行改进,大尺寸的最大池化层会造成细粒度特征信息的丢失从而不利于对小目标的检测,将其中的最大池化层用相同尺寸的深度可分离卷积层代替,可以在融合不同尺寸特征信息的同时更细致的提取特征信息。
9.本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
10.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
11.图1为第一个实施例的一种基于改进yolo v7的航拍图像目标检测方法流程图。
12.图2为现有yolo v7模型的结构图。
13.图3为第一个实施例的改进的yolo v7模型的结构图。
14.图4为现有sppcspc模块的结构图。
15.图5为第一个实施例的改进的mscsp模块的结构图。
16.图6为第一个实施例的mp模块的结构图。
具体实施方式
17.术语说明:elan:extended efficient layer aggregation networks扩展高效层聚合网络。
18.elan-w:是elan模块的一个变种。
19.cbs为串联的普通卷积层+批量归一化层+silu激活函数层。
20.mp模块有两个分支,作用是进行下采样。
21.cat:拼接层,表示将多个模块处理后的特征图在通道维度上进行拼接。
22.upsample:最近邻插值上采样层。
23.rep:重参数卷积层。
24.depthcbs为串联的深度可分离层+批量归一化层+silu激活函数。
25.maxpool:最大池化层。
26.k表示网络层的核尺寸。
27.实施例一如图1所示,本实施例公开了一种基于改进yolo v7的航拍图像目标检测方法,包括:步骤1、获取并处理航拍图像数据集,利用图像增强技术对航拍图像数据集进行扩充;步骤2、对yolo v7模型进行改进;步骤3、利用扩充后的航拍图像数据集训练改进的yolo v7模型;步骤4、将训练后的改进的yolo v7模型用于真实场景下的航拍图像目标检测中,得到各检测目标的类别、置信度分数和相应的目标框坐标信息。
28.其中,检测目标包括:飞机,桥梁,储油罐,船舶,游泳池,车辆,人,风车等目标。
29.在步骤1中,步骤101、获取并处理航拍图像数据集,包括:从visdrone官网上下载ai-tod数据集;将ai-tod数据集转换为yolo格式。
30.步骤102、利用图像增强技术对ai-tod数据集进行扩充,包括:所使用的数据增强技术包括:mosaic(使用率为100%)、mixup(使用率为15%)、色调随机变化幅度为在[0,0.15]、饱和度随机变化幅度为[0,0.7]、亮度随机变化幅度为[0,0.4]、水平和垂直平移范围为[-0,20.2]、随机缩放程度为0.9、使用概率为50%的左右翻转和使用概率为15%的图像粘贴;在步骤2中,对yolo v7模型进行改进,包括:步骤201、去除yolo v7模型主干网络中的第一个下采样层;步骤202、去除yolo v7模型主干网络中最后一个检测头;步骤203、将步骤202得到的yolo v7模型中与最深的elan模块相连的elan-w模块替换为mscsp模块,以帮助模型聚合不同尺寸的特征信息;步骤204、调整步骤203中得到的yolo v7模型的通道数,使得改进yolo v7模型和原yolo v7模型的gflops(浮点运算数)相接近,以清晰地对比两者的检测效果。
[0031]
其中,mscsp模块的获取步骤如下:(1)将yolo v7模型中sppcspc模块(如图4所示)的最大池化层用相同尺寸的深度可分离卷积层代替;(2)去掉sppcspc模块下采样层前的两个cbs模块,cbs模块包括联的卷积层和批量归一化层和silu激活函数;本发明利用mscsp将输入特征图用不同尺寸的深度可分离卷积层和普通卷积层(cbs模块)进行处理,然后通过拼接层和卷积层进行特征信息融合,从而提取不同深度和不同尺寸的特征信息,mscsp模块的结构如图5所示。
[0032]
如图3所示,改进的yolo v7模型包括:依次串联的输入模块input、改进的骨干网络backbone、改进颈部网络neck和改进的检测头;输入模块input用于缩放输入图像的尺寸至训练改进yolo v7模型时所使用的图
像输入尺寸(640*640);改进的骨干网络包括依次串联的第一cbs模块、第二cbs模块、第三cbs模块、第四elan模块,第五mp模块、第六elan模块、第七mp模块和第八elan模块;改进的骨干网络用于从图像中提取特征信息并对backbone中不同位置提取的特征信息进行交互;具体的,首先将输入模块的图像依次经过3个cbs模块,得到特征图大小为16s*16s*32,然后将大小为16s*16s*32的特征图输入到依次堆叠的第四elan模块、第五mp模块、第六elan模块、第七mp模块和第八elan模块,其中,第六elan模块和第八elan模块分别输出大小为8s*8s*128和4s*4s*512的特征图至改进的颈部网络;如图6所示,mp模块包括两条分支,第一条分支先经过一个maxpool(最大池化层),然后再经过cbs模块进行通道信息的交互,第二条分支先经过一个cbs模块做通道信息的交互,然后再经过一个步长为2的cbs模块(k=3)进行下采样,最后通过将两条分支输出的特征图进行拼接后输出。
[0033]
改进的颈部网络neck包括第九cbs模块、第十cat模块、第十一elan-w模块、第十二rep模块、第十三mscsp模块、第十四upsample模块、第十五mp模块、第十六cat模块、第十七elan-w模块和第十八rep模块;本实施例使用mscsp和elan-w模块来提取不同层次的特征信息,使用上采样层和下采样层改变特征图尺寸以拼接不同分支的特征图。
[0034]
具体的,第十三mscsp模块对改进的骨干网络中第八elan模块的输出进行特征提取后,一路输出经过第十四上采样层采样后,通过第十拼接层将其与第六elan模块的输出进行拼接后,再利用第十一elan-w模块进行特征提取后输出尺寸为8s*8s*128的特征图;第十一elan-w模块的一路输出经过第十二卷积层后输入至第十九head模块;第十一elan-w模块的另一路输出经过第十五mp模块后,利用第十六cat模块将其与第十三mscsp模块的输出进行拼接后,依次经过第十七elan-w模块和第十八rep模块后输入至第二十head模块;考虑到目标检测领域中检测不同尺寸的目标所需要的模型感受野不同,而航拍图像通常以小尺寸目标为主。原模型中最深的检测头所具有的感受野过大,并不适用于小目标的检测。因此剔除原模型中的最深的检测头,本发明改进的检测头包括第十九head模块和第二十head模块。检测头利用backbone和neck提取得到的特征信息得到检测目标的类别大小位置信息。
[0035]
在步骤3中,在ai-tod数据集上训练改进yolo v7的具体步骤为:步骤301、定义图片输入尺寸为32s*32s(s为一个变量,因为模型并不需要指定特定大小的输入图片尺寸,32s*32s为输入图片的宽和高。模块的32s*32s*16的含义为经过该模块处理后的特征图尺寸的宽高和通道数分别为32s、32s和16,其它模块同理)、模型训练轮次和bathsize大小;步骤302、将数据集划分为训练集和测试集;步骤303、使用k-means算法对训练集的真实锚框进行聚类,再通过遗传算法对所述聚类结果进行优化得到改进yolo v7模型所使用的先验锚框;步骤304、加载预训练权重;步骤305、进行模型训练并更新权值;
步骤306、利用测试集对模型进行测试。保存模型检测效果达到最好时的网络参数;本实施例中,改进的yolo v7模型所使用的正负样本分配策略与原版yolo v7的区别在于:只使用yolo v5正负样本分配策略进行分配而不进行后续的筛选流程。
[0036]
使用的yolo v5的正负样本分配策略为:yolo v7和yolo v5的三个输出特征图的每个网格包含三个预测边界框的长宽和中心点坐标信息。在每个特征图内与实际目标中心距离最近的三个网格中,若预测边界框与实际目标的正确标注边界框满足下面的公式,则该预测边界框被选为正样本。
[0037]
其中,pw、ph、gw、gh分别为预测边界框的宽高和被正确标注的边界框的宽高。
[0038]
本发明后续的筛选流程包括:计算每个样本的lcls(类别损失)和lreg(回归损失);使用每个实际目标的预测样本最大的10个iou(边界框与预测框之间的交并比)和作为需要分配到的正样本数(dynamic k);使用每个实际目标最大的10个iou和作为需要分配到的正样本数(dynamic k);为每个实际目标取cost最小的前dynamic k个样本作为正样本,cost=lcls(classify losses分类损失)+3*lreg(bounding box regression loss边界框回归损失)。
[0039]
本实施例中去除后续筛选流程的有益效果在于:在小目标检测任务中,gt与预测框的iou通常很低,即lreg在训练早期很低,因此去除后续筛选过程后,yolo v7在训练时获得的正样本数将大幅度提升。
[0040]
为了更好的说明本发明的有效性,将改进yolo v7和原版yolo v7在ai-tod数据集上的检测效果进行了对比,结果如表1所示,表1 yolo v7和改进yolo v7的检测效果对比表modelmap@0.5map@0.5:0.95gflopsyolov730.48%9.28%103.3g改进yolov736.18%12.18%124.2g表中,ap为准确率(p)和召回率(r)组成的曲线面积,map为各类别ap的平均值,map@0.5:0.95表示从0.5,0.55,0.60......0.95这10个iou(目标的预测边界与标注边界的交并比)阈值下map平均值,map@0.5表示iou=0.5时的map值。
[0041]
召回率r:式中,tp表示iou大于指定阈值的检测框数量;fn表示没有被检测到的目标数量。
[0042]
平均精确率(mean average precision)map:式中,n表示目标类别数量,ai-tod数据集上的n=8。
[0043]
实施例二本实施例公开了一种基于改进yolo v7的航拍图像目标检测系统,包括:
航拍图像数据集获取模块,被配置为:获取并处理航拍图像数据集,利用图像增强技术对航拍图像数据集进行扩充;yolo v7模型改进模块,被配置为:对yolo v7模型进行改进,去除yolo v7模型主干网络中的第一个下采样层和最后一个检测头,将与最深的elan模块相连的elan-w模块替换为mscsp模块,调整yolo v7的通道数,得到改进的yolo v7模型;yolo v7模型训练模块,被配置为:利用扩充后的航拍图像数据集训练改进的yolo v7模型;航拍图像目标检测模块,被配置为:将真实场景下的航拍图像输入至训练后的改进的yolo v7模型中,得到航拍图像中各检测目标的类别、置信度分数和相应的目标框坐标信息。
[0044]
本领域技术人员应该明白,上述本发明的各模块或各步骤可以用通用的计算机装置来实现,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。本发明不限制于任何特定的硬件和软件的结合。
[0045]
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
技术特征:
1.一种基于改进yolo v7的航拍图像目标检测方法,其特征在于,包括:获取并处理航拍图像数据集,利用图像增强技术对航拍图像数据集进行扩充;利用扩充后的航拍图像数据集训练改进的yolo v7模型;所述改进的yolo v7模型是指去除yolo v7模型主干网络中的第一个下采样层和最后一个检测头,将与最深的elan模块相连的elan-w模块替换为mscsp模块,调整yolo v7的通道数,得到改进的yolo v7模型;将真实场景下的航拍图像输入至训练后的改进的yolo v7模型中,得到航拍图像中各检测目标的类别、置信度分数和相应的目标框坐标信息。2.如权利要求1所述的一种基于改进yolo v7的航拍图像目标检测方法,其特征在于,所述获取并处理航拍图像数据集,包括:将航拍图像数据集转换为yolo格式。3.如权利要求1所述的一种基于改进yolo v7的航拍图像目标检测方法,其特征在于,所述利用扩充后的航拍图像数据集训练改进的yolo v7模型,包括:定义输入图片尺寸、训练批次和训练轮次;将扩充后的航拍图像数据集划分为训练集和测试集;使用k-mans算法对训练集的真实锚框进行聚类,再通过遗传算法对聚类结果进行优化得到改进的yolo v7模型所使用的先验锚框;利用训练集训练改进的yolo v7模型;利用测试集测试训练后的改进的yolo v7模型;保存yolo v7模型检测效果达到最好时的网络参数。4.如权利要求1所述的一种基于改进yolo v7的航拍图像目标检测方法,其特征在于,所述mscsp模块的获取步骤包括:将sppcspc模块的最大池化层用相同尺寸的深度可分离卷积层代替;去掉sppcspc模块下采样层前的两个cbs模块;所述cbs模块包括卷积层、批量归一化层和silu激活函数。5.如权利要求1所述的一种基于改进yolo v7的航拍图像目标检测方法,其特征在于,所述改进的yolo v7模型包括:依次串联的输入模块、改进的骨干网络backbone、改进的颈部网络neck和检测头。6.如权利要求5所述的一种基于改进yolo v7的航拍图像目标检测方法,其特征在于,改进的骨干网络backbone用于从图像中提取特征信息并对backbone中不同位置提取的特征信息进行交互;改进的骨干网络backbone包括依次串联的第一cbs模块、第二cbs模块、第三cbs模块、第四elan模块、第五mp模块、第六elan模块、第七mp模块和第八elan模块。7.如权利要求5所述的一种基于改进yolo v7的航拍图像目标检测方法,其特征在于,改进的颈部网络neck包括第九cbs模块、第十cat模块、第十一elan-w模块、第十二rep模块、第十三mscsp模块、第十四upsample模块、第十五mp模块、第十六cat模块、第十七elan-w模块和第十八rep模块。8.一种基于改进yolo v7的航拍图像目标检测系统,其特征在于,包括:航拍图像数据集获取模块,被配置为:获取并处理航拍图像数据集,利用图像增强技术对航拍图像数据集进行扩充;yolo v7模型改进模块,被配置为:对yolo v7模型进行改进,去除yolo v7模型主干网络中的第一个下采样层和最后一个检测头,将与最深的elan模块相连的elan-w模块替换为
mscsp模块,调整yolo v7的通道数,得到改进的yolo v7模型;yolo v7模型训练模块,被配置为:利用扩充后的航拍图像数据集训练改进的yolo v7模型;航拍图像目标检测模块,被配置为:将真实场景下的航拍图像输入至训练后的改进的yolo v7模型中,得到航拍图像中各检测目标的类别、置信度分数和相应的目标框坐标信息。9.如权利要求8所述的一种基于改进yolo v7的航拍图像目标检测系统,其特征在于,所述获取并处理航拍图像数据集,包括:将航拍图像数据集转换为yolo格式。10.如权利要求8所述的一种基于改进yolo v7的航拍图像目标检测系统,其特征在于,所述利用扩充后的航拍图像数据集训练改进的yolo v7模型,包括:定义输入图片尺寸、训练批次和训练轮次;将扩充后的航拍图像数据集划分为训练集和测试集;使用k-mans算法对训练集的真实锚框进行聚类,再通过遗传算法对聚类结果进行优化得到改进的yolo v7模型所使用的先验锚框;利用训练集训练改进的yolo v7模型;利用测试集测试训练后的改进的yolo v7模型;保存yolo v7模型检测效果达到最好时的网络参数。
技术总结
本发明公开了一种基于改进YOLO V7的航拍图像目标检测方法及系统,属于目标检测技术领域,包括:利用扩充后的航拍图像数据集训练改进的YOLO V7模型;其中,去除YOLO V7模型主干网络中的第一个下采样层和最后一个检测头,将与最深的ELAN模块相连的ELAN-W模块替换为MSCSP模块,调整YOLO V7的通道数,得到改进的YOLO V7模型;将改进的YOLO V7模型用于航拍图像目标检测中。本发明去掉下采样层以及最深检测头的操作不仅降低了YOLO V7模型的感受野,还减少了神经网络的层数。还减少了神经网络的层数。还减少了神经网络的层数。
技术研发人员:何为凯 曾亚琳 高建永 王伟 张肖 刘存根 杨富春 杜付鑫
受保护的技术使用者:山东开泰智能抛喷丸技术研究院有限公司
技术研发日:2023.09.11
技术公布日:2023/10/19
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/