CN116597326A - 一种基于改进YOLOv7算法的无人机航拍小目标检测方法 - Google Patents
一种基于改进YOLOv7算法的无人机航拍小目标检测方法 Download PDFInfo
- Publication number
- CN116597326A CN116597326A CN202310525931.2A CN202310525931A CN116597326A CN 116597326 A CN116597326 A CN 116597326A CN 202310525931 A CN202310525931 A CN 202310525931A CN 116597326 A CN116597326 A CN 116597326A
- Authority
- CN
- China
- Prior art keywords
- convolution
- network
- layer
- yolov7
- cbs
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 53
- 238000012549 training Methods 0.000 claims abstract description 35
- 238000000034 method Methods 0.000 claims abstract description 15
- 238000012360 testing method Methods 0.000 claims abstract description 8
- 238000012795 verification Methods 0.000 claims abstract description 7
- 230000006872 improvement Effects 0.000 claims abstract description 6
- 238000012544 monitoring process Methods 0.000 claims abstract description 3
- 230000002776 aggregation Effects 0.000 claims description 30
- 238000004220 aggregation Methods 0.000 claims description 30
- 230000004927 fusion Effects 0.000 claims description 29
- 238000005070 sampling Methods 0.000 claims description 18
- 238000011176 pooling Methods 0.000 claims description 14
- 230000002457 bidirectional effect Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 claims description 6
- NTHWMYGWWRZVTN-UHFFFAOYSA-N sodium silicate Chemical compound [Na+].[Na+].[O-][Si]([O-])=O NTHWMYGWWRZVTN-UHFFFAOYSA-N 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 4
- 230000001133 acceleration Effects 0.000 claims description 3
- 230000004913 activation Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 238000013527 convolutional neural network Methods 0.000 description 5
- 238000007689 inspection Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
- G06V20/17—Terrestrial scenes taken from planes or by drones
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/10—Image acquisition
- G06V10/16—Image acquisition using multiple overlapping images; Image stitching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Remote Sensing (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于改进YOLOv7算法的无人机航拍小目标检测方法,包括以下步骤;步骤1,获取无人机航拍数据集并转换为YOLO格式,划分训练集、验证集和测试集;步骤2,搭建改进的YOLOv7网络;所述改进的YOLOv7网络是对YOLOv7网络做出了修改颈部网络结构并在其中引入空间注意力SGE的改进;步骤3,以所述改进的YOLOv7网络为检测模型,利用所述训练集和验证集对该监测模型进行训练和验证,得到最终的检测模型;步骤4,利用所述最终的检测模型,以无人机航拍图像为输入,进行小目标检测。本发明用于提高无人机航拍小目标检测的精度。
Description
技术领域
本发明属于计算机视觉目标检测技术领域,具体涉及一种基于改进YOLOv7算法的无人机航拍小目标检测方法。
背景技术
无人机航拍小目标检测是利用目标检测技术辅助进行无人机航拍视频中小目标的识别和定位。该技术可应用于无人机的自动化巡检,例如,森林巡检、边境巡检等。目前目标检测算法以基于深度学习的目标检测算法为主,该类算法利用卷积神经网络提取图像深层次特征,具有很强的泛化性,因此被广泛应用于各种目标检测任务中。
基于深度学习的无人机航拍小目标检测算法分为两阶段和一阶段。两阶段算法主要是R.Girshick等人提出的R-CNN算法及其改进算法,该类算法在训练阶段需要先提取区域候选框再利用CNN提取特征,在推理阶段同样需要先提取区域候选框再利用训练阶段生成的特征通过分类器判断候选框属于目标还是背景,在候选框属于目标时对候选框进行微调完成对目标的检测,其优势在于检测精度较高,缺点在于无法达到实时性效果。
一阶段算法主要是Joseph Redmon等人提出的YOLO算法及其改进算法,该类算法直接通过CNN网络进行目标的识别和定位,主要思路是将图像划分成S×S的网格,若一个物体的中心点位于某个格子中,该格子就负责预测该物体的类别和位置,其优势在于能够实时检测,但检测精度相较于R-CNN系列略逊一筹。但是随着YOLO系列算法的不断改进,其检测精度也达到甚至超过二阶段算法。
YOLO系列前沿算法实时性好,适合无人机航拍小目标的实时检测,但将YOLO系列前沿版本YOLOv7应用于无人机航拍小目标检测存在检测精度不高的问题。
现有的CN202210701583.5一种基于改进YOLOv4的无人机航拍小目标检测方法对YOLOv4主干网络进行了轻量化并对颈部网络特征融合结构进行了改进,提高了检测精度,但是输出的13×13、52×52、104×104三种尺度特征图尺寸相差很大,容易漏检特定大小的目标。
发明内容
为了克服以上现有技术存在的问题,本发明的目的在于提供一种基于改进YOLOv7算法的无人机航拍小目标检测方法,用于提高无人机航拍小目标检测精度。
为了实现上述目的,本发明采用的技术方案是:
一种基于改进YOLOv7算法的无人机航拍小目标检测方法,包括以下步骤;
步骤1,获取无人机航拍数据集并转换为YOLO格式,划分训练集、验证集和测试集;
步骤2,搭建改进的YOLOv7网络;所述改进的YOLOv7网络是对YOLOv7网络做出了修改颈部网络结构并在其中引入空间注意力SGE的改进;
步骤3,以所述改进的YOLOv7网络为检测模型,利用所述训练集和验证集对该监测模型进行训练和验证,得到最终的检测模型;
步骤4,利用所述最终的检测模型,以无人机航拍图像为输入,进行小目标检测。
所述步骤1的无人机航拍数据集为VisDrone数据集,在官网下载VisDrone2022无人机数据集,将训练集图片及其标签用于训练网络。
所述步骤2搭建改进的YOLOv7网络,分别搭建主干网络、颈部网络、160×160特征图的四检测头网络;
所述主干网络用于提取数据集图像中的特征;
所述颈部网络用于对主干网络提取的图像特征进行融合增强;
所述160×160特征图的四检测头网络用于利用颈部网络增强的特征对图像中的目标进行预测。所述主干网络与YOLOv7主干网络相同,结构自左往右分别是:输入层->卷积层1->卷积层2->卷积层3->卷积层4->层聚合网络结构1->下采样层1->层聚合网络结构2->下采样层2->层聚合网络结构3->下采样层3->层聚合网络结构4;其中:
输入层的图像尺寸为640×640,所有的卷积层均为CBS卷积结构,该结构是整个网络的基本构建块,由Conv卷积、批量归一化BN、SiLU激活函数串联而成,不特别说明的情况下,所有的卷积操作都是带填充的卷积,卷积前后特征图的大小不会发生变化;
卷积层1的卷积核大小为3×3,滑动步长为1,通道数为32;
卷积层2的卷积核大小为3×3,滑动步长为2,通道数为64,该卷积层是无填充的卷积,起下采样的作用,使得特征图变为320×320;
卷积层3的卷积核大小为3×3,滑动步长为1,通道数为64;
卷积层4的卷积核大小为3×3,滑动步长为2,通道数为128,该卷积层是无填充的卷积,起下采样的作用,使得特征图变为160×160;
层聚合网络结构1由7个CBS卷积结构组成,具体连接方法是:首先,5个CBS卷积结构串联,从左往右是1个卷积核大小为1×1、滑动步长为1、通道数为64的CBS卷积结构和4个卷积核大小为3×3、滑动步长为1、通道数为64的CBS卷积结构,然后,第1、3、5个CBS卷积结构与另外1个卷积核大小为1×1、滑动步长为1、通道数为64的CBS卷积结构拼接,最后,拼接结果后面串联1个卷积核大小为1×1、滑动步长为1、通道数为256的CBS卷积结构;
下采样层1由3个CBS卷积结构和1个最大池化结构组成,具体连接方式是:分为上下两部分,上面部分是最大池化结构串联1个卷积核大小为1×1、滑动步长为1、通道数为128的CBS卷积结构,下面部分是1个卷积核大小为1×1、滑动步长为1、通道数为128的CBS卷积结构串联1个卷积核大小为3×3、滑动步长为2、通道数为128的无填充CBS卷积结构,最后上下两部分进行拼接,使得特征图变为80×80;
层聚合网络结构2与层聚合网络结构1的结构相同,不同之处在于前6个CBS卷积结构的通道数为128,最后1个CBS卷积结构的通道数为512;
下采样层2与下采样层1的结构相同,不同之处在于3个CBS卷积结构的通道数为256,使得特征图变为40×40;
层聚合网络结构3与层聚合网络结构1的结构相同,不同之处在于前6个CBS卷积结构的通道数为256,最后1个CBS卷积结构的通道数为1024;
下采样层3与下采样层1的结构相同,不同之处在于3个CBS卷积结构的通道数为512,使得特征图变为20×20;
层聚合网络结构4与层聚合网络结构3完全相同。
所述颈部网络是对YOLOv7颈部网络PANet改进而成的E-PAN结构,该颈部网络结构是:空间金字塔池化结构->特征金字塔1->特征金字塔2;其中:
特征金字塔1主要由三个上采样层、三个层聚合网络结构组成,三次上采样使得特征图尺寸从经过空间金字塔池化结构后的20×20特征图变成40×40、80×80、160×160,用于与主干网络中的40×40、80×80、160×160特征图分别进行特征融合,160×160是主干网络中输入经过两次下采样的浅层特征图,40×40是主干网络中输入经过四次下采样的深层特征图,这里的上采样层使用转置卷积,这里的层聚合网络结构与主干网络层聚合网络结构的不同之处在于,串联的5个CBS卷积结构均与另外的1个CBS卷积结构拼接,特征金字塔1经过三次特征融合,每个特征融合结构都是BiC双向级联结构,以第一次特征融合为例,该BiC结构由三部分拼接而成,第一部分,层聚合网络结构1的输出串联一个卷积核大小为1×1、滑动步长为1的CBS卷积结构;第二部分,卷积层3的输出串联一个卷积核大小为1×1、滑动步长为1的CBS卷积结构以及一个卷积核大小为3×3、滑动步长为2的无填充CBS卷积结构;第三部分,空间金字塔池化结构经过一个卷积核大小为1×1、滑动步长为1的CBS卷积结构的输出串联一个转置卷积上采样;
特征金字塔2主要由三个下采样层、三个层聚合网络结构组成,同样经过三次特征融合,每个特征融合结构与YOLOv7网络特征融合结构相同。
所述E-PAN结构,首先,将YOLOv7原有的20×20特征图、40×40特征图、80×80特征图输入到颈部网络,将主干网络160×160特征图也输入到颈部网络中,构建三上采样和三下采样的双向融合特征金字塔;
其次,将颈部网络自顶向下特征金字塔FPN的浅层特征图与深层特征图融合结构替换成一种双向级联结构,该双向级联结构将上采样方法替换为转置卷积,并在原始浅层特征图与深层特征图融合结构的基础上添加另一个浅层特征图用于特征融合。
所述60×160特征图的四检测头网络主要包括四个重参数化卷积,四个卷积的卷积核大小均为3×3、滑动步长为1,通道数分别为128、256、512、1024。
所述步骤3训练网络模型,向步骤1的VisDrone训练集中输入配置网络环境,在VisDrone数据集的训练集上训练至收敛,得到YOLOv7以及改进的YOLOv7模型在VisDrone数据集的测试集上mAP;其中,mAP的全称是平均精度均值(Mean Average Precision),为所有目标类别的平均精度AP求和除以类别数的结果,mAP使用所有目标类别平均检测精度的均值来衡量算法性能。
所述配置网络环境,用于为在服务器中运行算法创建软件环境;
环境配置具体为,在服务器端安装cuda10.1、cudnn7603用于GPU加速训练,人工智能框架Pytorch1.7.1用于代码支持,以及YOLOv7运行需要的库,matplotlib用于数据图形化绘制、numpy用于数组和矩阵运算、opencv用于图像处理。
所述步骤2中,准备无人机航拍数据集,数据集的好坏直接影响到算法的泛化性能,因此需要准备一个代表性较强的无人机航拍数据集用于模型训练;
所述无人机航拍数据集使用VisDrone2022数据集,该数据集分为训练集、验证集、测试集三个部分,分别有6471张、548张、1610张图片,为了将该数据集用于网络训练,需要将数据集格式转换为YOLOv7网络需要的YOLO格式。
在准备的数据集上对原始YOLOv7算法和改进的YOLOv7算法进行训练,记录两个模型在数据集上的平均精度均值mAP,该性能指标用于衡量模型的性能,通过比较两者的mAP体现改进的YOLOv7算法的性能提升。
本发明的有益效果:
第一,由于颈部网络输入添加了一个160×160特征图,空间信息更多的浅层特征图被加入颈部网络的双向特征融合,小目标的空间信息被进一步增强。
第二,由于颈部网络使用了双向级联结构,两个浅层特征图被用于与一个深层特征图特征融合,小目标的定位能力进一步得到增强。
第三,由于颈部网络使用四种特征图进行特征融合,检测头网络的输出特征图也从三个变为四个,新增的160×160输出特征图能够检测更小的目标,从而提高了小目标的检测精度。
附图说明
图1为本发明的整体流程图。
图2为YOLOv7网络结构图。
图3为本发明提出的改进的YOLOv7网络结构图。
图4为原颈部PANet结构与新颈部E-PAN结构图。
图5为训练后YOLOv7和改进的YOLOv7在测试集mAP。
具体实施方式
下面结合附图和实施例对本发明作进一步详细说明。
如图1-图5所示,本实施例的实现步骤如下。
步骤1,环境配置。
在服务器端安装cuda10.1、cudnn7603用于GPU加速训练,人工智能框架Pytorch1.7.1用于代码支持,以及YOLOv7运行需要的另外一些库,如matplotlib用于数据图形化绘制、numpy用于数组和矩阵运算、opencv用于图像处理等等。
步骤2,准备VisDrone数据集。
在官网下载VisDrone2022无人机数据集,将数据集格式转换为YOLO格式,将训练集6471张图片及其标签用于训练网络。
步骤3,搭建改进的YOLOv7网络。
如图3所示,改进的YOLOv7网络由主干网络、颈部网络、检测头网络组成,其实现如下:
3.1)搭建改进的YOLOv7网络的主干网络:
该主干网络与YOLOv7主干网络相同,结构自左往右分别是:输入层->卷积层1->卷积层2->卷积层3->卷积层4->层聚合网络结构1->下采样层1->层聚合网络结构2->下采样层2->层聚合网络结构3->下采样层3->层聚合网络结构4。
其中:
所有的卷积层均为CBS卷积结构,该结构是整个网络的基本构建块,由Conv卷积、批量归一化BN、SiLU激活函数串联而成,不特别说明的情况下,所有的卷积操作都是带填充的卷积,卷积前后特征图的大小不会发生变化;
卷积层1的卷积核大小为3×3,滑动步长为1,通道数为32;
卷积层2的卷积核大小为3×3,滑动步长为2,通道数为64,该卷积层是无填充的卷积,起下采样的作用;
卷积层3的卷积核大小为3×3,滑动步长为1,通道数为64;
卷积层4的卷积核大小为3×3,滑动步长为2,通道数为128,该卷积层是无填充的卷积,起下采样的作用;
层聚合网络结构1由7个CBS卷积结构组成,具体连接方法是:首先,5个CBS卷积结构串联,从左往右是1个卷积核大小为1×1、滑动步长为1、通道数为64的CBS卷积结构和4个卷积核大小为3×3、滑动步长为1、通道数为64的CBS卷积结构,然后,第1、3、5个CBS卷积结构与另外1个卷积核大小为1×1、滑动步长为1、通道数为64的CBS卷积结构拼接,最后,拼接结果后面串联1个卷积核大小为1×1、滑动步长为1、通道数为256的CBS卷积结构;
下采样层1由3个CBS卷积结构和1个最大池化结构组成,具体连接方式是:分为上下两部分,上面部分是最大池化结构串联1个卷积核大小为1×1、滑动步长为1、通道数为128的CBS卷积结构,下面部分是1个卷积核大小为1×1、滑动步长为1、通道数为128的CBS卷积结构串联1个卷积核大小为3×3、滑动步长为2、通道数为128的无填充CBS卷积结构,最后上下两部分进行拼接;
层聚合网络结构2与层聚合网络结构1的结构相同,不同之处在于前6个CBS卷积结构的通道数为128,最后1个CBS卷积结构的通道数为512;
下采样层2与下采样层1的结构相同,不同之处在于3个CBS卷积结构的通道数为256;
层聚合网络结构3与层聚合网络结构1的结构相同,不同之处在于前6个CBS卷积结构的通道数为256,最后1个CBS卷积结构的通道数为1024;
下采样层3与下采样层1的结构相同,不同之处在于3个CBS卷积结构的通道数为512;
层聚合网络结构4与层聚合网络结构3完全相同。
3.2)搭建改进的YOLOv7网络的颈部网络:
该颈部网络是对YOLOv7颈部网络PANet改进而成的E-PAN结构,图4是两种结构示意图,该颈部网络结构是:空间金字塔池化结构->特征金字塔1->特征金字塔2。其中:
特征金字塔1主要由三个上采样层、三个层聚合网络结构组成,这里的上采样层使用转置卷积,这里的层聚合网络结构与主干网络层聚合网络结构的不同之处在于,串联的5个CBS卷积结构均与另外的1个CBS卷积结构拼接。特征金字塔1经过三次特征融合,每个特征融合结构都是如图4(b)右侧所示的BiC双向级联结构。以第一次特征融合为例,该BiC结构由三部分拼接而成,第一部分,层聚合网络结构1的输出串联一个卷积核大小为1×1、滑动步长为1的CBS卷积结构;第二部分,卷积层3的输出串联一个卷积核大小为1×1、滑动步长为1的CBS卷积结构以及一个卷积核大小为3×3、滑动步长为2的无填充CBS卷积结构;第三部分,空间金字塔池化结构经过一个卷积核大小为1×1、滑动步长为1的CBS卷积结构的输出串联一个转置卷积上采样。
特征金字塔2主要由三个下采样层、三个层聚合网络结构组成,同样经过三次特征融合,每个特征融合结构与YOLOv7网络特征融合结构相同。
3.3)搭建改进的YOLOv7网络的检测头网络:
该检测头网络主要包括四个重参数化卷积,四个卷积的卷积核大小均为3×3、滑动步长为1,通道数分别为128、256、512、1024。
步骤4,训练网络模型。
在VisDrone数据集的训练集上训练至收敛,得到YOLOv7以及改进的YOLOv7模型在VisDrone数据集的测试集上mAP,如图5所示,比较可知,mAP从41.9%上升为44.2%,说明改进的YOLOv7很大程度地提升了无人机航拍小目标检测的精度。
综上,本发明提出的一种基于改进YOLOv7的无人机航拍小目标检测算法可以更好地适合无人机航拍小目标检测任务,有效地提高了小目标检测精度。以上描述仅为本发明的一个具体实例,并非对本发明的范围进行限定,仅为了方便本领域技术人员进行理解,对本发明的技术方案做出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。
Claims (9)
1.一种基于改进YOLOv7算法的无人机航拍小目标检测方法,其特征在于,包括以下步骤;
步骤1,获取无人机航拍数据集并转换为YOLO格式,划分训练集、验证集和测试集;
步骤2,搭建改进的YOLOv7网络;所述改进的YOLOv7网络是对YOLOv7网络做出了修改颈部网络结构并在其中引入空间注意力SGE的改进;
步骤3,以所述改进的YOLOv7网络为检测模型,利用所述训练集和验证集对该监测模型进行训练和验证,得到最终的检测模型;
步骤4,利用所述最终的检测模型,以无人机航拍图像为输入,进行小目标检测。
2.根据权利要求1所述的一种基于改进YOLOv7算法的无人机航拍小目标检测方法,其特征在于,所述步骤2搭建改进的YOLOv7网络,分别搭建主干网络、颈部网络、160×160特征图的四检测头网络;
所述主干网络用于提取数据集图像中的特征;
所述颈部网络用于对主干网络提取的图像特征进行融合增强;
所述160×160特征图的四检测头网络用于利用颈部网络增强的特征对图像中的目标进行预测。
3.根据权利要求2所述的一种基于改进YOLOv7算法的无人机航拍小目标检测方法,其特征在于,所述主干网络与YOLOv7主干网络相同,结构自左往右分别是:输入层->卷积层1->卷积层2->卷积层3->卷积层4->层聚合网络结构1->下采样层1->层聚合网络结构2->下采样层2->层聚合网络结构3->下采样层3->层聚合网络结构4;其中:
输入层的图像尺寸为640×640,所有的卷积层均为CBS卷积结构,该结构是整个网络的基本构建块,由Conv卷积、批量归一化BN、SiLU激活函数串联而成,不特别说明的情况下,所有的卷积操作都是带填充的卷积,卷积前后特征图的大小不会发生变化;
卷积层1的卷积核大小为3×3,滑动步长为1,通道数为32;
卷积层2的卷积核大小为3×3,滑动步长为2,通道数为64,该卷积层是无填充的卷积,起下采样的作用,使得特征图变为320×320;
卷积层3的卷积核大小为3×3,滑动步长为1,通道数为64;
卷积层4的卷积核大小为3×3,滑动步长为2,通道数为128,该卷积层是无填充的卷积,起下采样的作用,使得特征图变为160×160;
层聚合网络结构1由7个CBS卷积结构组成,具体连接方法是:首先,5个CBS卷积结构串联,从左往右是1个卷积核大小为1×1、滑动步长为1、通道数为64的CBS卷积结构和4个卷积核大小为3×3、滑动步长为1、通道数为64的CBS卷积结构,然后,第1、3、5个CBS卷积结构与另外1个卷积核大小为1×1、滑动步长为1、通道数为64的CBS卷积结构拼接,最后,拼接结果后面串联1个卷积核大小为1×1、滑动步长为1、通道数为256的CBS卷积结构;
下采样层1由3个CBS卷积结构和1个最大池化结构组成,具体连接方式是:分为上下两部分,上面部分是最大池化结构串联1个卷积核大小为1×1、滑动步长为1、通道数为128的CBS卷积结构,下面部分是1个卷积核大小为1×1、滑动步长为1、通道数为128的CBS卷积结构串联1个卷积核大小为3×3、滑动步长为2、通道数为128的无填充CBS卷积结构,最后上下两部分进行拼接,使得特征图变为80×80;
层聚合网络结构2与层聚合网络结构1的结构相同,不同之处在于前6个CBS卷积结构的通道数为128,最后1个CBS卷积结构的通道数为512;
下采样层2与下采样层1的结构相同,不同之处在于3个CBS卷积结构的通道数为256,使得特征图变为40×40;
层聚合网络结构3与层聚合网络结构1的结构相同,不同之处在于前6个CBS卷积结构的通道数为256,最后1个CBS卷积结构的通道数为1024;
下采样层3与下采样层1的结构相同,不同之处在于3个CBS卷积结构的通道数为512,使得特征图变为20×20;
层聚合网络结构4与层聚合网络结构3完全相同。
4.根据权利要求2所述的一种基于改进YOLOv7算法的无人机航拍小目标检测方法,其特征在于,所述颈部网络是对YOLOv7颈部网络PANet改进而成的E-PAN结构,该颈部网络结构是:空间金字塔池化结构->特征金字塔1->特征金字塔2;其中:
特征金字塔1主要由三个上采样层、三个层聚合网络结构组成,三次上采样使得特征图尺寸从经过空间金字塔池化结构后的20×20特征图变成40×40、80×80、160×160,用于与主干网络中的40×40、80×80、160×160特征图分别进行特征融合,160×160是主干网络中输入经过两次下采样的浅层特征图,40×40是主干网络中输入经过四次下采样的深层特征图,这里的上采样层使用转置卷积,这里的层聚合网络结构与主干网络层聚合网络结构的不同之处在于,串联的5个CBS卷积结构均与另外的1个CBS卷积结构拼接,特征金字塔1经过三次特征融合,每个特征融合结构都是BiC双向级联结构,以第一次特征融合为例,该BiC结构由三部分拼接而成,第一部分,层聚合网络结构1的输出串联一个卷积核大小为1×1、滑动步长为1的CBS卷积结构;第二部分,卷积层3的输出串联一个卷积核大小为1×1、滑动步长为1的CBS卷积结构以及一个卷积核大小为3×3、滑动步长为2的无填充CBS卷积结构;第三部分,空间金字塔池化结构经过一个卷积核大小为1×1、滑动步长为1的CBS卷积结构的输出串联一个转置卷积上采样;
特征金字塔2主要由三个下采样层、三个层聚合网络结构组成,同样经过三次特征融合,每个特征融合结构与YOLOv7网络特征融合结构相同。
5.根据权利要求4所述的一种基于改进YOLOv7算法的无人机航拍小目标检测方法,其特征在于,所述E-PAN结构,首先,将YOLOv7原有的20×20特征图、40×40特征图、80×80特征图输入到颈部网络,将主干网络160×160特征图也输入到颈部网络中,构建三上采样和三下采样的双向融合特征金字塔;
其次,将颈部网络自顶向下特征金字塔FPN的浅层特征图与深层特征图融合结构替换成一种双向级联结构,该双向级联结构将上采样方法替换为转置卷积,并在原始浅层特征图与深层特征图融合结构的基础上添加另一个浅层特征图用于特征融合。
6.根据权利要求2所述的一种基于改进YOLOv7算法的无人机航拍小目标检测方法,其特征在于,所述60×160特征图的四检测头网络主要包括四个重参数化卷积,四个卷积的卷积核大小均为3×3、滑动步长为1,通道数分别为128、256、512、1024。
7.根据权利要求1所述的一种基于改进YOLOv7算法的无人机航拍小目标检测方法,其特征在于,所述步骤1的无人机航拍数据集为VisDrone数据集,将训练集图片及其标签用于训练网络。
8.根据权利要求7所述的一种基于改进YOLOv7算法的无人机航拍小目标检测方法,其特征在于,所述步骤3训练网络模型,向步骤1的VisDrone训练集中输入步骤1配置网络环境,在VisDrone数据集的训练集上训练至收敛,得到YOLOv7以及改进的YOLOv7模型在VisDrone数据集的测试集上mAP;其中,mAP的全称是平均精度均值,为所有目标类别的平均精度AP求和除以类别数的结果,mAP使用所有目标类别平均检测精度的均值来衡量算法性能;
在准备的数据集上对原始YOLOv7算法和改进的YOLOv7算法进行训练,记录两个模型在数据集上的平均精度均值mAP,该性能指标用于衡量模型的性能,通过比较两者的mAP体现改进的YOLOv7算法的性能提升。
9.根据权利要求8所述的一种基于改进YOLOv7算法的无人机航拍小目标检测方法,其特征在于,所述配置网络环境,用于为在服务器中运行算法创建软件环境;
环境配置具体为,在服务器端安装cuda10.1、cudnn7603用于GPU加速训练,人工智能框架Pytorch1.7.1用于代码支持,以及YOLOv7运行需要的库,matplotlib用于数据图形化绘制、numpy用于数组和矩阵运算、opencv用于图像处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310525931.2A CN116597326A (zh) | 2023-05-11 | 2023-05-11 | 一种基于改进YOLOv7算法的无人机航拍小目标检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310525931.2A CN116597326A (zh) | 2023-05-11 | 2023-05-11 | 一种基于改进YOLOv7算法的无人机航拍小目标检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116597326A true CN116597326A (zh) | 2023-08-15 |
Family
ID=87600138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310525931.2A Pending CN116597326A (zh) | 2023-05-11 | 2023-05-11 | 一种基于改进YOLOv7算法的无人机航拍小目标检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116597326A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116895029A (zh) * | 2023-09-11 | 2023-10-17 | 山东开泰抛丸机械股份有限公司 | 基于改进yolo v7的航拍图像目标检测方法及系统 |
CN117557922A (zh) * | 2023-10-19 | 2024-02-13 | 河北翔拓航空科技有限公司 | 改进YOLOv8的无人机航拍目标检测方法 |
-
2023
- 2023-05-11 CN CN202310525931.2A patent/CN116597326A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116895029A (zh) * | 2023-09-11 | 2023-10-17 | 山东开泰抛丸机械股份有限公司 | 基于改进yolo v7的航拍图像目标检测方法及系统 |
CN116895029B (zh) * | 2023-09-11 | 2023-12-19 | 山东开泰抛丸机械股份有限公司 | 基于改进yolo v7的航拍图像目标检测方法及系统 |
CN117557922A (zh) * | 2023-10-19 | 2024-02-13 | 河北翔拓航空科技有限公司 | 改进YOLOv8的无人机航拍目标检测方法 |
CN117557922B (zh) * | 2023-10-19 | 2024-06-11 | 河北翔拓航空科技有限公司 | 改进YOLOv8的无人机航拍目标检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110188705B (zh) | 一种适用于车载系统的远距离交通标志检测识别方法 | |
CN109584248B (zh) | 基于特征融合和稠密连接网络的红外面目标实例分割方法 | |
CN111461083A (zh) | 基于深度学习的快速车辆检测方法 | |
CN112801169B (zh) | 一种基于改进yolo算法的伪装目标检测方法、系统、装置及存储介质 | |
CN115063573B (zh) | 一种基于注意力机制的多尺度目标检测方法 | |
CN114495029B (zh) | 一种基于改进YOLOv4的交通目标检测方法及系统 | |
CN116597326A (zh) | 一种基于改进YOLOv7算法的无人机航拍小目标检测方法 | |
CN113723377B (zh) | 一种基于ld-ssd网络的交通标志检测方法 | |
CN110378398B (zh) | 一种基于多尺度特征图跳跃融合的深度学习网络改进方法 | |
CN114022770A (zh) | 基于改进自注意力机制与迁移学习的山体裂缝检测方法 | |
CN116824413A (zh) | 一种基于多尺度空洞卷积的航拍图像目标检测方法 | |
CN109977978A (zh) | 一种多目标检测方法、装置及存储介质 | |
CN112232411B (zh) | HarDNet-Lite在嵌入式平台的优化方法 | |
Cho et al. | Semantic segmentation with low light images by modified CycleGAN-based image enhancement | |
CN112733815B (zh) | 一种基于rgb室外道路场景图像的红绿灯识别方法 | |
CN114998566A (zh) | 一种可解释的多尺度红外弱小目标检测网络设计方法 | |
CN117372898A (zh) | 一种基于改进yolov8的无人机航拍图像目标检测方法 | |
CN115861619A (zh) | 一种递归残差双注意力核点卷积网络的机载LiDAR城市点云语义分割方法与系统 | |
CN113052106A (zh) | 一种基于PSPNet网络的飞机起降跑道识别方法 | |
CN114494812A (zh) | 一种基于改进CenterNet的图像小目标检测方法 | |
CN112784756A (zh) | 人体识别跟踪方法 | |
CN114332473A (zh) | 目标检测方法、装置、计算机设备、存储介质及程序产品 | |
CN116824335A (zh) | 一种基于YOLOv5改进算法的火灾预警方法及系统 | |
CN113743300A (zh) | 基于语义分割的高分遥感图像云检测方法和装置 | |
CN115937659A (zh) | 基于Mask-RCNN的室内复杂环境下多目标检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |