APP下载

基于多维度信息交互的遥感图像目标检测算法

2022-11-01卜荟力方贤进杨高明

黑龙江工业学院学报(综合版) 2022年10期
关键词:维度样本特征

卜荟力,方贤进,2,杨高明

(1.安徽理工大学计算机科学与工程学院,安徽淮南232001;2.合肥综合性国家科学中心人工智能研究院,安徽合肥230088)

随着卫星遥感技术的不断发展,高分辨率遥感影像的信息量急剧增加,其中包含的详细信息也越来越丰富。一些敏感目标,如船舶、坦克、飞机、港口等,肉眼也能清晰可见,其检测的方法已成为学者们关注的热点[1]。而目标检测是计算机视觉领域最基本的问题之一。检测的任务是准确有效地从图像中识别和定位预定义类别对象实例。经过多年的深度学习发展,可以在普通图像中高精度地识别物体,几乎可以满足各种应用。

传统目标检测算法简单、快速、易于实现,但对目标状态和目标大小要求较高,在复杂背景下性能表现较差。而近些年来,基于深度学习的检测发展迅速,许多基于CNN(卷积神经网络)的目标检测算法已经被提出并应用于遥感图像中的目标检测。目前,目标检测算法可以分为两种主要类型:两阶段算法和一阶段算法。两阶段方法是基于候选区域的深度卷积神经网络。它首先生成包含检测目标的可能候选区域,然后对候选区域进行分类和回归,最终得到检测框,实现目标检测。比较常见的算法有R-CNN、Fast R-CNN和Faster R-CNN[2]等。这些方法检测精度高,但速度较慢。一阶段方法是基于回归计算的深度卷积网络的目标检测,它使用端到端的目标检测方法,直接回归目标的类别和定位信息。常见算法有SSD[3]、YOLO系列[4-6]等。这些方法检测速度较快,可以满足实时性要求。

以YOLOv5s为网络框架为基准,提出了一种改进YOLOv5s的网络模型MPSA-YOLOv5,该方法通过在主干网络中加入设计的高效多维度信息交互极化自注意力(Multi-dimensional information interaction Polarized Self-Attention,MPSA)模块,改进特征增强结构等方式增强网络的特征提取能力,提高遥感图像的检测精度。

1 YOLOv5目标检测算法

YOLOv5于2020年6月由ultralytics LLC公司推出,目前只有官方代码,还在不断更新当中。它是一个单级检测器和基于区域的目标检测网络。YOLO算法将目标检测定义为回归任务,从而提高了处理速度。YOLOv5在借鉴了上一版本以及其他网络的优势后,改变了之前YOLO目标检测算法检测速度较快但准确率不高的缺点,提高了检测精度和实时性。其一共有四种网络模型,针对不同的网络模型,提供了不同的网络深度和宽度,分别为YOLOv5s、YOLOv5m、YOLOv5l和YOLOv5x,模型复杂程度依次递增,其中YOLOv5s可以在移动端使用,不仅满足了实时图像检测的需求,而且结构更小,效果非常惊人。因此使用YOLOv5s作为检测模型。其网络模型分为4部分,分别是Input、Backbone、Neck和Prediction,其网络结构如图1所示。

图1 YOLOv5s网络结构

输入端包括马赛克数据增强(MDE)、自适应锚框尺寸计算(AAFSC)和自适应图像缩放用于数据处理。YOLOv5s采用和YOLOv4相同的马赛克数据增强方式,通过随机裁剪、随机缩放和随机排布将四张图片拼接,丰富了检测数据集,尤其增加了小目标,提高了网络的鲁棒性,同时也降低了GPU的计算量,增加了网络的通用性。自适应锚框计算为不同的数据集通过聚类算法设置初始锚框,网络在初始锚框的基础上进行预测,然后与真实框进行比较计算损失值,通过反向传播不断迭代更新网络参数。锚框参数为[116,90,156,198,373,326],[30,61,62,45,59,119],[10,13,16,30,33,23]。自适应图像缩放是对于不同尺寸的图像统一缩放到固定大小,在数据预处理阶段已经实现。

Backbone包括Focus和C3模块。Focus模块将输入图像切分为4份,然后在channel维度进行拼接。最后再经过卷积操作得到最终的特征图,C3模块具体结构如图1中所示。

Neck采用FPN(特征金字塔网络)和PANet(金字塔结构与路径聚合网络)结构。FPN通过从上到下的上采样传递和融合高级特征信息,以传达强烈的语义特征信息。PAN是一个自下而上的特征金字塔,用于传达强大的定位特征信息。将两者同时使用,增强网络特征融合能力。

预测部分包括边界框损失函数和NMS(非最大抑制)。YOLOv5s-6.0使用CIoU损失函数作为边界框的损失函数,有效解决了边界框不重合的问题,提高了预测框回归的速度和准确率。

为了增强识别多个目标和被遮挡目标的能力,在得到所有的目标检测框后,YOLOv5s使用加权NMS进行过滤,得到最优的目标检测框。

2 改进的YOLOv5目标检测算法

2.1 MPSA模块

Polarized Self-Attention(PSA)[7]是一种结合空间与通道两个维度更精细的双重注意力建模结构,提出一种极化滤波的机制,在对空间或通道维度进行压缩时,让其正交方向的维度依然保持高分辨率,并通过Softmax对被压缩特征矩阵进行信息增强。但PSA的通道与空间注意力是分离的,并未考虑计算注意力权重时捕获跨维度依赖的重要性,这会导致部分细节信息的丢失。因此本文从维度交互的角度出发,提出一种多维度信息交互极化自注意力(Multi-dimensional information interaction Polarized Self-Attention,MPSA)模块,对PSA增加了一个旋转自注意力模块,具体做法如图2中间部分所示。首先输入特征先经过一个旋转操作,变为H×C×W维度特征,接着使用1×1卷积将输入转换为q和v,其中q的H维度被完全压缩,而v的H维度缩减为一半。对q执行Softmax进行信息增强,对v执行Reshape操作变为H/2×CW的权重,将q和v进行矩阵乘法并依次接上1×1卷积、LN和Sigmoid函数。最后再通过旋转操作变为C×H×W维度矩阵。将所得结果与PSA输出进行相加。通过对原始特征图进行维度置换操作得到新特征图,并使用较小的计算开销对新生成的特征图进行编码,将不同维度间的相互依赖连接起来,有效避免了细节信息的大量丢失。将MPSA模块嵌入到YOLOv5s中,具体嵌入位置参照2.3节,改进后的模型命名为MPSA-YOLOv5。

图2 MPSA模块

2.2 改进的特征增强网络

空间金字塔池化(Spatial Pyramid Pooling,SPP)[8]是由HE等人提出,其最初的目的是为了解决图像尺度统一的问题,避免输入图像因裁剪或缩放导致信息丢失。其主要做法是接收任意尺寸的特征图,通过不同尺度的池化操作,得到固定大小的特征向量。在目标检测任务中常使用的SPP结构主要由三个不同尺度的最大池化层和一个跳跃连接构成四个并行的分支,池化核大小分别为5×5,9×9,13×13,但最大池化(MaxPool)只能选择局部最大的单一值,在进行特征映射时可能会丢失关键信息,而SoftPool[9]对感受野内的所有像素以加权求和的方式映射到网络的下一层中,相比MaxPool能更好的保留特征图中的细粒度特征,因此选择其代替MaxPool,公式如式(1)所示。

(1)

其中aj为感受野内像素激活值,R为激活区域。

同时为了提取不同尺寸目标的空间特征信息,提升模型对于空间布局和物体变形的鲁棒性,将原SPPF中串行连接的三个池化层调整为四个,为了节约计算资源,将原SPPF中的池化层的池化核大小由5×5调整为3×3,具体结构如图3所示。

图3 改进后的SPPF模块

2.3 MPSA-YOLOv5主干网络

YOLOv5s算法具有体积小、检测效果好等特点,尤其是加强了对小物体的识别能力。因此选择其作为基准网络。但是结合目前的研究进展和实际应用情况来看,YOLOv5s仍具有进一步的改进空间,改进后的MPSA-YOLOv5主干网络整体结构如表1所示。

其中From列数字表示对应层的输出作为当前层的输入,而负数表示以当前层为基准,取前x层的输出作为当前层的输入,例如-1,-2表示取前1,2层的输出。Module列对应当前层模块名称。Params列为当前模块具体参数量。Arguments列参数包括当前层模块的输入通道数、输出通道数、卷积核大小以及步长等信息。

表1 MPSA-YOLOv5主干网络结构

3 实验结果与分析

3.1 实验环境

实验基于Ubuntu20.04操作系统,使用PyTorch深度学习框架搭建模型,具体实验配置如下:CPU型号为Intel(R) Xeon(R) Gold 6142 CPU@2.60GHz,GPU型号为NVIDIA GeForce RTX 3060,内存为16G,显存为12G,并使用cuda11.1和cudnn8.1.1进行加速计算。

3.2 数据集

NWPUVHR-10数据集[10-12]包含800个高分辨率的卫星图像,这些图像是从Google Earth和Vaihingen数据集裁剪而来的,数据集分成10类(飞机,轮船,储罐,棒球场,网球场,篮球场,地面跑道,港口,桥梁和车辆)。其中正样本图像(至少包含一个目标)共计650张,负样本图像(背景图片)共计150张,标签由专家手动进行标注得到。由于采用监督学习,因此只选用正样本数据集进行实验。在实验之前,按照6∶2∶2的比例将正样本数据集划分为训练集、验证集和测试集。最终得到390张训练图像,130张验证图像,130张测试图像。其中部分数据集示例如图4所示。

图4 数据集示例

3.3 评价指标

在目标检测的领域,召回率、精确率和平均精度均值(Mean Average Precision, mAP)通常用于评估目标检测算法的性能。其中召回率描述在所有正例的样本中有多少被预测对的比例。精确率描述预测为正例的样本中真实正样本的比例[13]。计算公式如式(2)和式(3)所示。

(2)

(3)

其中R为召回率,P为精确率,TP为算法预测正确的正样本个数,FN为算法预测错误且判断为负样本的个数,FP为算法预测错误但是判断为正样本的个数。

平均精度均值(Mean Average Precision, mAP)指的是数据集中每个类别平均检测精度(AP)的均值,具体公式如式(4)和式(5)所示。

(4)

(5)

其中公式(4)中AP值为PR曲线所围成的面积,公式(5)中的n表示总类别数。依据预测框和真实框的交并比(IoU)判断是否检测到物体,并在评估时统一将IoU阈值选定为0.5。具体公式如式(6)所示。

(6)

其中M表示预测框,N表示真实框。

3.4 实验结果及分析

实验使用原始YOLOv5s和MPSA-YOLOv5在相同数据集上进行对比分析,在实验中,将输入图片大小设置为640×640,使用SGD优化器优化网络,动量为0.937,权重衰减系数为0.0005。初始学习率设置为0.01,为避免学习率过高导致模型训练时不稳定,使用余弦退火算法[14]来对学习率进行更新,最终学习率为0.001。Batch Size设置为16,训练epoch数设置为220。

图5和图6为MPSA-YOLOv5算法在训练过程中性能指标的变化情况,图5为训练集和验证集上损失值的变化情况,图6为性能评估指标值的变化情况。从图5中可以看到,经过220个epoch的训练,模型逐渐趋于稳定。

图5 loss变化曲线

图6 性能指标变化曲线

为了进一步验证MPSA-YOLOv5的有效性,在设置的相同训练条件下训练其他几种常见的目标检测算法,最终的实验分析结果如表2所示。

由表2可知,MPSA-YOLOv5储油罐、网球场、桥梁三个类别上的平均精度优于其它算法,而在其余7类目标上也均处于较高水平。因此最终的平均精度均值达到91.4%,均优于其他检测算法,相比YOLOv3、YOLOX-S、YOLOv5s分别提高了2.8%、1.45%、1.7%。

3.5 实验效果图

实验使用原始YOLOv5s和MPSA-YOLOv5算法对测试集进行测试,图7显示了部分检测图片的对比结果。

图7 MPSA-YOLOv5与原始YOLOv5s的检测对比

对于图7,其中上边四张为原始YOLOv5s的检测效果图,可以明显看到在桥梁、港口、舰船等目标上均出现了漏检现象,在车辆目标上还出现了误检现象。相比之下,下面四张图为MPSA-YOLOv5算法的检测结果,基本解决了对目标的漏检和误检问题,改进后的网络可以准确给出正确的目标框,提高目标检测的置信度,大大减少了误判次数。

4 结论

文章提出了一种改进的深度学习算法MPSA-YOLOv5用于遥感图像检测,同时经过最终的实验结果表明,改进后的模型MPSA-YOLOv5与原始YOLOv5s相比具有更高的检测精度。综合来看该算法是一种有效的遥感图像检测算法。由于数据集较小、硬件设备等问题,因此检测效果还存在进一步优化的空间,后续研究将考虑收集制作更复杂环境下的样本,同时进一步改进网络,提升模型的泛化性能,使得模型的检测效果更佳。

猜你喜欢

维度样本特征
离散型随机变量的分布列与数字特征
理解“第三次理论飞跃”的三个维度
认识党性的五个重要维度
浅论诗中“史”识的四个维度
抓特征解方程组
不忠诚的四个特征
规划·样本
随机微分方程的样本Lyapunov二次型估计
人生三维度
“官员写作”的四个样本