基于深度学习的遥感影像小型船舶检测方法

作者: 童荣瑜

基于深度学习的遥感影像小型船舶检测方法0

摘要:随着海洋贸易日益繁荣,船舶数量和交通量也快速增加。不同种类和尺寸的船舶分布在广阔的海上,快速准确地发现和识别它们具有重要的实用价值。本文利用高分二号卫星影像制作高分辨率船舶检测数据集(GF2-PMS) ,提出一种船舶智能检测网络结构进行模型训练,并分别基于大尺度的高分二号卫星和谷歌地球影像测试其对小型船舶检测的有效性和通用性。具体而言,作者对训练数据集中的小型船舶样本进行过采样,生成更多样本以便更好地匹配预测锚点。在网络结构上,使用注意机制重新校准深度特征图的输入贡献,并采用增加一个预测头的方式提升对不同尺度船舶的匹配程度。实验结果表明,采用过采样策略使得船舶正确检测率大幅提升,召回率从83.96%增至88.21%(提高4.25%) 。与YOLOv5的三个检测头相比,增加一个检测头在GF2-PMS数据集上获得更高的检测精度。另外,合理使用注意力机制能持续提升检测精度,在测试集上实现较高的检测精度(准确率=91.30%,召回率=94.93%,AP=97.10%) 。在两张大尺度高分二号卫星影像测试下,本文的平均准确率从59.19%提升至76.73%,证明了该方法对小型船舶检测的有效性。此外,在大尺度的谷歌高分辨率图像上检测,无论是小型船舶、复杂背景还是部分密集排列的船舶,该方法仍能提供令人满意的检测性能。综上所述,本文提出了一种基于深度学习的有效小型船舶检测方法,在大尺度遥感影像上展现了良好的通用性。该方法对船舶的大规模、高精度、智能监测具有重要意义,将大大提高船舶管理的决策效率。

关键词:深度学习;小型船舶检测;CBAM;过采样;遥感图像

中图分类号:TP18      文献标识码:A

文章编号:1009-3044(2024)22-0025-04

开放科学(资源服务)标识码(OSID)

0 引言

随着全球经济一体化,海洋贸易日益繁荣,船舶交通量也快速增加,快速准确地发现和识别它们具有重要的实用价值[1-2]。在军事领域,能够灵活监视敌方动态和部署,为决策制定提供信息保障;在民用领域,能监控特定海域与港口的海上交通,辅助监管部门实施海上救援和侦查等行动。因此,急需一种快速、准确、全面的方法来检测船舶的位置和状态。

遥感数据作为船舶检测样本集的关键来源[3],具有快速、大规模、连续动态的优点。根据传感器的不同可分为合成孔径雷达(Synthetic Aperture Radar, SAR) 与可见光遥感影像。目前已经出现了大量基于遥感数据的船舶人工检测方法,然而,这些方法总是需要手工设计船舶特性,增加人力成本。随着人工智能(AI) 的兴起,自动船舶检测技术的发展迅速,并从实验阶段逐渐转向实践阶段。

本研究提出了一种结合过采样策略和单级检测网络—YOLOv5的船舶智能检测方法,实现对高分辨率遥感图像下船舶目标,尤其是小型船舶,更快速、更准确地自动识别。具体来说,首先使用过采样策略生成足够信息丰富的小型船舶图像,作为训练数据集的训练样本。然后,将YOLOv5增加一个预测头来细致处理船舶的大尺度方差。另外,在检测器中还加入了一个CBAM模块,进一步提高特征识别能力。最后,将改进的YOLOv5网络应用于增强训练样本,完成船舶检测任务,并以悉尼部分港口为例,分析了该方法在大尺度谷歌高分辨率影像下的船舶检测效果。

1 数据集

在本研究中,使用高分辨率船舶检测数据集(GF2-PMS) 作为模型评估的基准数据集。该数据集的原始数据来源于高分二号卫星影像,其分辨率为0.8m。制作样本标签过程中,使用QGIS开源软件按以下要求完成:1) 标注每一张影像内所有大、中、小型船舶;2) 标注遗漏率为0;3) 邻近船舶分开标注;4) 标签文件符合PASCAL VOC standard标准。标注完成后以每艘船的中心为图像切片的中心进行裁切,获取部分图像切片为800×800像素大小的船舶样本。同时需要保证每艘船完全包含在至少一个图像切片中,相应的位置信息构成了训练标签集。经过筛选后,GF2-PMS数据集中共包含1 423张光学图像以及与其一一对应的标签文件。

2 研究方法

在研究方法方面,YOLOv5是一种高速率的单级检测算法[4]。一般而言,原始的YOLOv5的网络框架由输入端(Input) 、主干网络(Backbone) 、颈部(Neck) 以及预测层(Head) 四部分组成。输入端使用Mosaic数据增强、自适应锚框计算与自适应图片缩放方法提升模型的训练速度和网络的精度,经过一系列处理后输入主干网络;主干网络使用Focus、CBS、C3和SPP在不同图像细粒度上聚合并形成图像特征;颈部则是混合和组合图像特征的网络层,加深主干网络层同时生成三个不同尺度图像特征并传递到预测层。预测层对输入的特征图进行回归和分类操作,合并输出不同尺度对象信息,确定目标类别和目标边界框的精确位置。如图1所示,本次研究提出一个改进的ImYOLOv5模型,主要包括以下3部分调整。

2.1 过采样策略

深度卷积神经网络在学习过程中,经常的卷积操作可能会导致图像特征的损失问题,尤其是较小尺寸的实例。针对这一问题,YOLOv5在输入端进行了一系列图像增强处理来提升目标的检测精度。在此基础上,采用了过采样的策略来解决包含小物体的图像特征相对较少的挑战。过采样的核心思想是通过重复正比例数据,以增大正比例噪声对模型的影响,这是提高小目标检测性能的一种简单直接的方法[5]。然而,直接对整个样本进行过采样会显著增加计算量,降低模型训练效率。这些操作对于中型和大型船舶的检测则显得不必要,因为它们通常能够被正确检测出来。

因此,本文设计了一个过采样策略流程,包括以下步骤:首先,对训练样本进行预处理,筛选出含有小型船舶的原始影像;其次,对这些筛选结果进行过采样。值得注意的是,为避免样本重复,本文采用五种图像变换方式进行处理,包括调整原始图像的对比度、亮度、饱和度,添加高斯噪声和特征模糊;接着,基于GF2-PMS数据集和提供的标签文件,复制小船舶目标的原始位置;最后,将副本粘贴到不同位置。在粘贴过程中,通过设定过采样率来控制对象个数,同时通过改变移动距离来保证目标不重叠,且完整保留在样本图像上。

2.2 CBAM模块

在神经网络中引入CBAM能够提高网络模型的特征表达能力。CBAM包括通道注意力(Channel Attention Module,CAM) 和空间注意力(Spatial Attention Module,SAM) 两个顺序的子模块,是一种能对特征图像局部信息聚焦的轻量级模块。

CAM将输入的特征图F经过全局最大池化和全局平均池化后,将得到的两个特征图送入一个两层的共享神经网络中,再通过element-wise加和操作融合特征,经过Sigmoid非线性运算得到通道注意力特征FC。SAM将原始输入F与通道注意力模块生成的特征FC进行element-wise乘法操作,得到SAM的输入F1。将F1经过基于通道的全局最大池化和全局平均池化后,得到两个特征图,进行通道拼接和Sigmoid非线性运算得到空间注意力特征FS,再将SAM的输入F1与空间注意力模块生成的特征FS进行element-wise乘法操作得到最终的输出特征FR。

在大尺度高分辨率遥感影像上,覆盖区域经常包含着特征模糊的地理元素。CBAM通过沿着通道和空间两个独立维度学习权重分配,使网络更注重关键区域的信息,强化感兴趣的信息并抵制模糊特征信息。这种方式能够提高网络在复杂场景中的特征表达能力和检测性能。

2.3 针对小目标的预测头

针对许多非常小的实例,研究还添加了一个用于小对象检测的预测头(图1 Head) 。这样做的主要目的是通过增加一个预测头来减轻剧烈的物体尺度方差造成的负面影响。具体而言,在将输入图像尺寸为800×800像素时,原始YOLOv5最后输出的特征图大小分别为25×25像素、50×50像素、100×100像素,更细粒度的格网单元可以检测出更细小的物体;通过增加一次上采样操作,相应地增加了一个特征图的大小为200×200像素的输出。需要注意的是,在增加的预测头上也叠加了CBAM的使用。通过添加额外的检测头,虽然增加了计算和内存成本,但对微小物体检测性能的提升也是显著的。

2.4 精度评价

本研究采用的模型评价指标为准确率、召回率以及平均精度(AP) 。准确率(Precision,P) 是指检测器确定的真实船舶数占总船舶数的比例,表征船舶识别结果的完整程度。召回率(Recall,R) 是指检测器确定的真实船舶数量与所有真实船舶数量的比值,反映出实际船舶对象数与船舶目标数的一致程度。AP则是通过船舶的准确率和召回率计算得出的曲线下的面积,用于全面评估目标检测网络的性能。

其对应的计算公式如下:

[P = TPTP + FP]          (1)

[R = TPTP + FN]        (2)

[AP = 01P(R)dR]          (3)

式中:TP、FP和FN分别代表真阳性、假阳性和假阴性的数量。这些数值可以通过每个批处理的基于像素的混淆矩阵来计算得出。

2.5 训练与优化环境

该网络在使用64位Ubuntu 18.04操作系统和两块NVIDIA GTX Titan显卡进行并行训练时,每块显卡内存为12GB。模型对训练集进行了500个批次的训练。采用了随机梯度下降作为优化器,其中初始学习率设置为0.02,动量设置为0.9,权重衰减设置为0.000 1,批大小设置为8。所有实验均在这一环境和参数设定下完成。

3 结果与讨论

3.1 过采样结果

为了验证过采样策略的有效性,本文基于YOLOv5进行实验。针对GF2-PMS数据集中的图像,本文保持原始大小为800×800像素,按照7∶2∶1的比例划分为训练集和测试集进行精度验证。根据表1所示,本文在测试数据集上统计了212艘船舶的检测精度。第一行展示了原始YOLOv5的检测精度,准确率和召回率分别为90.36%和83.96%。经过过采样策略处理后,第二行显示了检测精度,召回率达到了88.21%,比YOLOv5的83.96%高出了4.25%。准确率从90.36%提升到90.78%,虽然仅有0.24%的变化,但也产生了积极影响。实验结果表明,通过本文提出的过采样策略扩充原有GF2-PMS数据集,能有效提高目标检测精度。

3.2 消融实验分析

为了评估对YOLOv5网络另外两处修改的有效性,本文在过采样策略的基础上进行了以下模块消融分析。

1) 额外的预测头的影响。为微小物体添加一个检测头会使原始YOLOv5的层数从283增加到341,参数量从7068936增加到7409952。虽然这增加了计算量,但准确率和召回率的提升也非常显著。如表2所示,准确率从90.78%提升到93.37%,召回率从88.21%增至90.34%。额外的预测头使船舶的平均精度(AP) 值从89.70%增加到93.46%,产生了3.76%的增量。对比结果表明,Over-YOLOv5+Tiny在检测船舶时表现出色,因此计算量的增加是值得的。

2) CBAM。为验证注意力机制的重要性,本文在增加额外预测头的基础上,将网络模型与缺乏CBAM的模型进行了比较实验。结果如表2所示。采用过采样策略后的Over-YOLOv5+Tiny作为基线,并在实验中保持其他超参数一致。加入CBAM带来了2.64%的AP增量(93.46% vs. 96.10%) 。这表明CBAM能够提取识别和鲁棒特征,有效提高船舶的检测性能。此外,将CBAM与类似模块CA进行比较,使用CBAM的精度更高(96.10% vs. 95.21%) 。

3) 验证ImYOLOv5方法的有效性。为验证Over-YOLOv5+Tiny+CBAM(即ImYOLOv5方法)对小型船舶检测的有效性,本文选择了两张大尺度的高分二号卫星影像进行检测,并对比原始YOLOv5进行分析,结果如图4所示。绿色框表示ImYOLOv5的检测结果,红色框表示原始YOLOv5的检测结果。从第一张大尺度影像中可以看出,ImYOLOv5相比原始的YOLOv5网络检测出的船舶数从35艘增至49艘,正确检测数从29艘增至47艘,准确率从82.85%提升至95.91%;第二张大尺度影像中,检测出的船舶数从76艘降至37艘,正确检测数从27艘减至21艘,准确率从35.53%增至56.75%。结果显示,在没有海陆分割的前提下,ImYOLOv5方法具有更低的陆地误检率,且近海、远海和港口的小型船舶检测准确率更高。

上一篇 点击页面呼出菜单 下一篇