1.一种基于YOLOv4的轻量级遥感图像检测方法,其特征在于,包括以下步骤:步骤1:获取遥感图像的数据集;
步骤2:以YOLOv4网络为基本模型,构造GSC‑YOLO模型;
2.1:采用Ghostnet作为特征提取网络提取图像的原始特征,并使用Ghost卷积替换除特征提取网络外的所有普通卷积;
首先将输入图片大小调整为608×608×3送入Ghostnet;
其次,取出经过第三、四、五个残差块后的特征图,送入加强特征提取网络中,特征图尺寸分别为76×76×40、38×38×112、19×19×160;
最后,采用Ghost卷积替换掉加强特征提取网络和预测头的所有普通卷积;
Ghost卷积首先利用普通卷积进行通道压缩生成不含冗余信息的特征图A,将A经过特征映射和简单的卷积运算生成最终的特征图B;
采用传统卷积和Ghost卷积参数量比为:
公式中分子为传统卷积,分母为Ghost卷积;n,c分别为输入和输出特征图通道数;k为卷积核大小;d为廉价运算的卷积核大小;s为变换次数;其中c>>s;d的大小与k的大小基本相同,由公式可得出Ghost模块较传统卷积显著减少参数量;
2.2:在加强特征提取网络中使用SPP结构,在不同尺度上进行池化操作;使用PANet将来自骨干网络的不同尺度的特征图进行特征融合;
2.3:在检测头部引入SA‑A注意力机制;
2.4:采用CP‑Cluster代替基于NMS的方法对预测框进行后处理;
步骤3:将处理后的DOTA数据集输入到GSC‑YOLO网络模型中,进行迭代训练,直至网络收敛;
步骤4:使用测试集样本输入训练好的GSC‑YOLO网络模型中,输出结果,并查看检测到的遥感图像效果图。
2.根据权利要求1所述的一种基于YOLOv4的轻量级遥感图像检测方法,其特征在于,所述的步骤1中,具体方法为:在DOTA数据集中提取实验数据,DOTA数据集包含15种类别的航拍图像,将图片裁剪尺寸为600*600的图片,然后将数据集处理为VOC格式,以供检测框架读取。
3.根据权利要求1所述的一种基于YOLOv4的轻量级遥感图像检测方法,其特征在于,所述的步骤2.3中,具体方法为:输入一张特征图X,首先将其在通道上分成G组,X=[X1,......,XG],其中XK为子特征;
再将子特征在通道维上分为两部分Xk1、XK2,将Xk1在通道维上分为Xk11、XK12两部分,分别送入使用全局平均池化和使用全局最大池化的通道注意力模块,进行全局平均池化和全局最大池化,生成通道统计;得到的通道统计进行变换,经过变换函数和Sigmoid激活后,得到两个特征图X′K11、X′K12,将得到的两个特征图X′K11、X′K12在通道维度进行堆叠,得到经过通过注意力后的子特征图X′K1,通道注意力计算过程如下:X′K12=σ(Fc(FGMP(XK12)))*XK12=σ(W12*max(XK12)+b2)*XK12X′K1=CONAT(X′K11,X′K12)
将XK2送入空间注意力模块,首先通过组标准化获得空间统计,将空间统计变换函数及Sigmoid激活后,与输入特征图相乘,到经过通过注意力后的子特征图X′K2,空间注意力计算过程如下:X′K2=σ(W2*GN(XK2)+b2)*XK2
对得到的两个特征图X′K1、X′K2,在通道维上进行堆叠,形成新的子特征图XK,将所有子特征图XK进行聚合,最后采用Channel Shuffle算子来实现跨组信息沿通道维度流动,最终的输出特征图与输入特征图X大小相同。
4.根据权利要求1所述的一种基于YOLOv4的轻量级遥感图像检测方法,其特征在于,所述的步骤2.4中,具体方法为:
2.4.1)产生马尔科夫随机场图:对于目标检测模型,设B={b1,b2,b3...}是后处理之前模型输出的原始边界框集,对于每对框(bi,bj∈B),如果它们的IOU大于θ,就在它们之间绘制一条无向边,生成一组马尔科夫随机场图G={g1,g2...};对于每个子图gi∈G,将 定义为边集, 定义为节点集,对于一个框 它的相邻节点集 包含在gn中所有与bi相连的节点,G中子图的数量与预测框的数量相同;
2.4.2)产生正消息:对于边界框 置信度低的邻居集 是其邻居 的子集,其IOU(bi,bj)>θn且对于每个 而言其置信度P(bj)<P(bi);
边界框的增强主要受两个因素的影响:①其较弱的邻居数;②较弱邻居的置信度值;因此由边界框bi生成的正消息Mp(i)计算过程为:其中Q为bi较弱邻居的数量,(1‑P(bi))是规范化项,确保在应用加强正例边界框后P(bi)的最大值不大于1.0;
2.4.3)产生负消息:给定一个边界框 置信度高的邻居集 是 的一个子集,其中IOU(bi,bj)>θ和P(bj)>P(bi);对于每个 如果边界框的强邻居集不为空,它将被置信度更高的邻居 抑制,利用从 到bi的负影响因子 来选择哪个边界框来抑制bi; 的计算过程为:
当设置α=1.0时,选择 中置信度值最大的框;相反,如果α=0.0,则从 中选择具有最大IOU(bi,bj)的最近强邻居;最后产生负消息Mn(i),Mn(i)的计算过程如下:其中SUPj,i用于限制bi被bj抑制的次数,2是最大抑制次数,将选取负影响因子最大的框来惩罚bi;
2.4.4)更新置信度:利用正消息MP(i)和负消息Mn(i)来更新置信度P(bi),并更新IOU阈值进行下一次迭代,随着迭代次数增加,低置信度的框会逐渐小于IOU阈值,保留下高置信度的框,P(bi)的计算过程如下:P(bi)←P(bi)+MP(i)‑Mn(i)。