自监督论文阅读笔记 Ship Detection in Sentinel 2 Multi-Spectral Images with Self-Supervised Learning

        船舶自动检测 为用于 安全 或 经济监测目的 的海事领域感知 提供了必要的功能。这项工作提出了一种用很少的标记示例,在 Sentinel2 多光谱图像中 训练深度学习舰船检测器 的方法。

        本文设计了一种具有 可单独预训练主干 的舰船检测网络结构。通过使用自监督学习,一种新兴的无监督训练程序,在Sentinel-2图像上学习良好的特征,不需要标记,以初始化我们的网络骨干。然后对整个网络进行微调,学习在具有挑战性的环境中检测船只。本文将这种方法与ImageNet 上的预训练 以及 传统的图像处理流程进行了比较。

        我们检查了自监督学习步骤的变化的影响,本文表明,在少样本学习设置中,自监督预训练取得了 比ImageNet预训练更好的结果。当有足够的训练数据可用时,本文的自监督方法 与预训练的ImageNet一样好。我们的结论是,更好的自监督任务设计 和 更大的无注释数据集大小 可以在没有任何注释成本的情况下 超过ImageNet预训练的性能


        船舶检测 是经济情报 和 海上安全领域的一项重要挑战,可用于 检测海盗 或 非法捕鱼 以及监控物流链。目前,协作转发器系统,如 AIS,为海上监视提供 船舶检测 和 识别。但是,有些船舶可能有 不工作的转发器;很多时候,转发器被故意关闭 以隐藏船舶运动海上巡逻 可以帮助识别可疑船只,但这 需要很多资源 并且它们的 范围受到限制

        因此,使用诸如欧洲航天局 Sentinel-2 任务的 卫星 来检测沿海地区的船只是一种很有前途的解决方案,因为它们的覆盖范围大且重访时间长

        一些商业卫星星座提供 超高分辨率的图像 (VHR)(<1 m/像素),重访时间短(1-2 天)。然而,VHR 图像通常仅限于 R、G、B 波段,并且对此类高分辨率图像的图像分析是 计算密集型的。

        另一方面,也可以使用合成孔径雷达 (SAR) 卫星,尽管它们的分辨率低于 VHR 光源(例如,Sentinel 1 的分辨率为 5 m),但对其图像的分析是船舶检测的主要方法因为无论 云量和昼夜循环如何,都可以获取 SAR 图像。 SAR 的缺点在恶劣的海况下性能低下,但最重要的是,检测只能在远离陆地的海域进行对于停泊在港口的船舶或小于 10 m 的船舶是不可能的 [1]。此外,SAR 容易受到干扰 [2]。

        欧洲航天局的 Copernicus Sentinel-2 任务提供免费的多光谱图像,刷新率最长为 5 天,分辨率低至 10 m,如表 1 所示。我们的工作专注于这个数据源有几个原因。首先,多光谱信息可以 更好地提取船舶特征 并将其 与陆地或人造结构 区分开来,如 [3,4] 所示。其次,基于多光谱光学学习的方法可以 在公海和港口环境中 执行检测,同时 还无需存储海岸线矢量图 和 执行云去除 作为预处理步骤。因此,它可以适应 实时的星载卫星设置,并且不受干扰的影响

自监督论文阅读笔记 Ship Detection in Sentinel 2 Multi-Spectral Images with Self-Supervised Learning_第1张图片

        尽管船舶检测是一项具有挑战性的任务,但遥感图像中的 船舶识别 更加困难[5]。可以使用监督分类 对船舶类型(集装箱船、渔船、驳船、邮轮等)进行粗略识别,其准确度应与图像分辨率密切相关。然而,要唯一地建立船舶身份,使用 Sentinel-2 传感器 提取 适合此目的的特征 似乎并不可行,例如 对船舶进行测量以达到米精度、提取精确轮廓 或 检测不同船舶的显著独特特征。

        本文的工作侧重于检测,但该方法是通用的,可以扩展到具有更好分辨率的其他传感器,最终允许识别。 

        最近基于机器学习的遥感方法需要大量的注释数据。已经为 VHR 图像、SAR 和 Sentinel 2 收集和注释数据做出了一些努力,但对于后者,这些工作并未特别针对船舶检测。对于使用卷积神经网络 (CNN) 进行 目标检测,克服数据不足的一种有趣方法是 使用迁移学习。这可以通过 使用在足够“接近”的域(例如数码照片)中收集的大型标记数据集上预训练的 CNN  或 通过在卫星图像域上预训练神经网络 来实现。

        后者可以通过使用自监督学习 (SSL) [6] 的无监督流程来完成,这是一种对比学习范式,可提取有用的模式、学习不变性 并 解开训练数据中的因果因素。以这种方式学习的特征 更适合于少样本目标检测器的迁移学习。我们建议使用这种范例来创建一个数据很少的船舶探测器


        对于 VHR 图像,存在大量文献,随着传感器数量的增加 和 公开可用数据的数量的增加,作品的数量也随之增加 [7,8]。其中许多方法都集中在使用经典图像处理管流程 检测船舶:使用光谱指数 或 直方图进行图像处理(例如,海陆分割、云去除)、船舶候选提取(例如,阈值、异常检测、显着性),然后,使用统计方法进行基于规则的 船舶识别 或 分类。几乎所有这些工作都集中在具有 R、G、B 和 PAN (全色)波段的 VHR 图像上,偶尔会添加 NIR(近红外),分辨率小于 5 m。通过使用 目标检测卷积神经网络 (CNN) 将深度学习应用于分辨率低于 1m 的图像:R-CNNs [9,10]、YOLO [11,12]、U-Net [13,14]。

        对于 SAR 图像,[1] 回顾了在多个传感器上工作的 四个可操作船舶探测器。所有方法都使用经典的处理链,并从过滤掉陆地像素开始。此过滤器基于 shapefile 或从 SAR 图像生成的陆地/水域分割掩膜。然而,在这两种情况下,海岸线周围都有很大的余地,从而消除了停泊在港口的任何船只。深度学习也被应用于 SAR 船舶检测,[15] 中详细介绍了显着的结果。

        在多光谱图像中,最引人注目的工作是 [4],它使用 SVM 识别水、云 和 陆地像素,然后构建 CNN 来融合多个光谱通道。这个融合网络预测水中的物体是否是船。其他方法,例如 [3],依靠手工制定的大小和光谱值规则 来区分船舶、云、岛屿和冰山。唯一公开可用的 Sentinel 2 船舶数据集是 [16],但它 仅包括小尺寸图像chips 和 用于精确定位的弱注释,即每艘船的单个点,通过将 AIS GPS 坐标与 chips中的像素坐标进行地理参考获得。

        尽管存在用于 VHR 图像的大型数据集,但对于 Sentinel-2,没有一个具有像素级注释的数据集,而通常需要数千个示例来训练深度学习目标检测器。基于少样本学习的方法 可以为一般的遥感,特别是在我们的环境中带来有趣的视角。少样本学习 包括 训练带有少量标记样本的神经网络,这通常要归功于 执行迁移学习的 高质量的特征提取器。最近一种用于对特征提取器进行无监督学习的方法是对比自监督学习 [6,17]。对比 SSL 依赖于从业者定义的“前置训练任务”,它帮助网络学习数据中的不变性和潜在模式 [18-20]。

        存在几种选择前置任务的策略:上下文预测 [21]、拼图游戏 或 简单地考虑各种增强视图。后者被 [22,23] 用于遥感应用,如土地利用分类和变化检测。


        Contributions:

  • 用于少样本的船舶检测的深度学习流程。本文利用自监督学习来学习 Sentinel 2 图像的大型非注释数据集的特征,并使用少样本迁移学习来学习船舶检测器;
  •  一个新颖的 Sentinel 2 船舶检测数据集,包含 16 张港口图像,像素级共有 1053 条船舶注释。

       本文的方法基于具有 ResNet-50 主干的 U-Net 架构,以生成输入图像的 二元船舶/非船舶分割掩码。 U-Net 已广泛用于遥感应用,传统上具有简单的连续卷积块下采样路径,没有向下跳跃连接。


        尽管 U-Net 的 普通版本通常是从头开始训练的,但在这项工作中,本文对其进行了修改以使用不同的主干 ResNet-50,ResNet-50可以很容易地 使用对比目标 单独进行预训练,然后插入 U -网络架构。图 1 以图形方式描述了这种架构。

自监督论文阅读笔记 Ship Detection in Sentinel 2 Multi-Spectral Images with Self-Supervised Learning_第2张图片

        该网络将 64 × 64 像素块作为输入,其中 6 个通道对应于 B2 (B)、B3 (G)、B4 (R)、B8 (NIR) 以及 B11 和 B12 (SWIR,短波红外) 光谱通道。下采样路径通过 跨步卷积层 减小宽度和高度,同时增加通道数。 ResNet50 主干的最后一层有 2048 个通道。在这一层和 U-Net 的上采样分支的第一个 UPconv 块之间添加了一个“桥梁”。

        输出层使用 逐点卷积相当于在每个像素处应用一个全连接层,以产生一个二维向量 p = pi, i ∈ {0, 1}。该向量包含属于船舶类别 i = 1 的像素的类别概率。分类决策 p 由该输出向量在每个像素中的 argmax(p) 进行,在输入图像的分辨率下给出二元掩码

        选择 64 × 64 像素的输入块大小,以便在桌面 GPU 上对 ResNet-50 主干进行 SSL 训练在技术上是可行的,如下节所述。


        本文选择 MoCo 架构 [24] 来对 ResNet50 骨干网进行自监督预训练。在这种方法中,来自先前版本的特征提取器的嵌入的字典被缓存无需额外计算即可在每次迭代中提供大量负样本来对比损失。

        MoCo 的主要优点是它不需要大批量 [6],因此可以在单个台式 GPU 上进行训练。在这种方法中,使用当前版本的编码器 在每次训练迭代中 只计算很少的负嵌入。使用以前版本的编码器计算的许多其他嵌入被缓存,因此可以重用。使用 基于编码器权重的 动量规则 更新编码器,因此向编码器收敛得更慢

自监督论文阅读笔记 Ship Detection in Sentinel 2 Multi-Spectral Images with Self-Supervised Learning_第3张图片

        Moco 算法在图 2 中描述。这里 xq 和 xk 是两个 64 × 64 像素块。我们将 xq 指定为查询patch,并将 xk− 指定为“负样本”。在每次训练迭代中,都会考虑一个新的查询patch,并且前置任务会生成一个“正”patch k+。许多随机负块被采样 并通过动量编码器 以产生“负”嵌入。计算查询块与正块和负块的嵌入之间的相似度 q · k。负样本的嵌入 是从当前批次中的负样本计算的那些 和 从负嵌入的 FIFO 队列中提取的那些 的并集。本文在相似性度量上使用 NTXent 损失

        编码器和动量编码器都是 ResNet-50 网络,如图 1 的主干块中所述,但顶部有一个额外的平均池化 和 全连接层。全连接层有 512 个输出神经元并产生嵌入。编码器的参数 θq 使用 SGD 更新,而动量编码器的参数 θk 使用等式 (2) 更新,其中 m = 0.99 是动量值:

        SSL 中的patch 通过首先裁剪到 在预训练数据集上 为每个波段计算的 第 3 个和第 97 个百分位数进行预处理。然后通过减去均值 并除以在 EuroSAT 数据集的一部分 [25] 上计算的标准差来 标准化patch。


 两个前置任务

        数据增强(Data-Augmentations ,A):它包括根据本文的网络 需要学习的不变性 来选择数据增强。在本文的例子中,它必须识别船只,无论它们的方向、大小如何,即使水是湍流的或背景是否嘈杂。因此,本文将增强函数 aug 应用于本文的查询patch,其中 aug 是以下之一:颜色抖动、随机旋转、具有小尺度差异的裁剪和调整大小、轻微的高斯噪声:

         区域级的相似性和数据增强(Region-wise similarity and data augmentations,RA):学习增加同一地理区域的两个patch之间相似性的特征。该任务如图 3 所示,可以形式化为,其中 aug 与上述相同,sample_neighbor 生成 地理上接近 的patch。受 [26] 的启发,该策略旨在帮助网络 更好地将相似区域(土地、水体等)聚集在一起。可以 改变最大距离 以控制 采样的patches的平均重叠。较大的距离 会增加多样性,但会产生彼此差异太大的patches(例如:应用于沿海地区时的水和土地)。本文测试了两种变体:高距离 (RA) 和低距离 (RA-lo)。

自监督论文阅读笔记 Ship Detection in Sentinel 2 Multi-Spectral Images with Self-Supervised Learning_第4张图片


        本文考虑 全尺寸的训练图像 及其相关的真值,即 每个多光谱图像的 二进制像素掩码。在掩码中,值为 1 的像素是 ship舰船像素,其他的为零。接下来,我们从这些图像中随机抽取 64 × 64 像素的patches ,但要确保 patches 中至少有五个像素属于一艘船。由于图像中的船只稀少,这一步重新平衡了训练中船只与非船只像素的分布。

        在训练过程中,本文通过使用 focal loss 焦点损失 [27] 来训练 U-Net 模型,进一步考虑像素的类别不平衡。对于 预测和 真值 y:

自监督论文阅读笔记 Ship Detection in Sentinel 2 Multi-Spectral Images with Self-Supervised Learning_第5张图片

         本文设置 γ = 2,α0 = 0.05(对应于背景像素)和 α1 = 0.25(对应于船舶像素)。本文使用 ADAM 优化器 训练 U-Net 检测器,同时在训练中引入一些数据增强:随机垂直和水平翻转。

        本文以 与前置任务相同的方式 对训练patches 进行归一化(参见第 2.3 节)。


        为了使用本文的模型检测船舶,本文首先 使用常规网格 将目标图像切割成 与训练中相同大小的块(64 × 64 像素)。然而,为了推断,本文 将这些patches 有着 32 像素的重叠。众所周知,由于主干中 填充padding的影响,U-Net 架构和 CNN 通常在图像边界上的性能低于中心。由于本文的主干在 SSL 期间接受了 对比目标任务的训练,因此这种类型的填充是最直接的方法。当迁移到 U-Net 设置时,0-padding 会在图像边界上引入伪影artifacts。本文选择简单地切掉patches的 16 像素宽的边界

        最后,通过 将各个patch掩码 拼接在一起 来生成完整的图像二进制掩码。我们应用具有 4 连接性的连接组件算法来提取此掩码中的 blob斑点 。每个 blob 都被视为检测到的船,无需额外过滤。


        可选择地,本文可以使用从 OpenStreetMap 海岸线矢量数据 生成的水/土地掩码 过滤这些检测。启用后,我们通过 将图像二进制预测掩码 与 水掩码 相乘来执行过滤,然后再提取连通分量。这样,停泊的船只 将被检测到,而不会溢出到 其他船只或陆地。这种过滤的一个变体 涉及一个水掩码,除去沿海地区(在600米范围内),以便仅在公海中执行检测。通过 对水/陆地掩码的距离变换 进行阈值化获得第二个公海掩码。因此,本文的流程有一个可选的过滤阶段,有两种变化:海岸线 (CO) 或公海 (OS)


        据本文所知,目前还没有 针对移动和静态船舶的带有像素级注释的船舶检测Sentinel-2数据集发布。本文提出了一种新的 由沿海 和 港口区域图像组成的 船舶检测数据集S2-SHIPS

        该数据集包括海岸线、港口和苏伊士运河的 16 个 L2A 图像。图 4 显示了数据的地理分布。这些图像的大小为 1783 × 938,每个覆盖 167 平方公里,并在像素级别上标注了总共 1053 艘不同的船只。本文还为这些图像提供 土地/水掩码,从 OpenStreetMap 图层栅格化。船舶大小不一,面积从 100 平方米(如游船、小型渔船)到 5000 多平方米(如货船)不等。由于 Sentinel 2 任务不提供高海图块,因此图像是在海岸附近拍摄的,本文分别注释了停泊的船只和海上的船只。本文的数据集 还提供了 在不同天气条件下拍摄的图像,包括汹涌的大海、云层或阳光。因此,本文数据集中 船舶周围的复杂环境 使得船舶检测具有挑战性。图 5 显示了几个样本。本文在 16 个地理参考图像上对 OpenStreetMap 水层(海洋、主要河流、运河)进行栅格化,以生成水的二进制掩码。这些层有时具有对等点、码头的轮廓,但这些实体作为土地的注释没有保险。


        对于使用 SSL 的骨干预训练,本文查看现有的大规模 Sentinel 2 数据集。近年来已经发表了几个数据集,通常 侧重于土地覆盖 分类或分割。由于本文不使用标签进行预训练,可以轻松地大量使用这些类型的数据。


        预训练后,本文将使用 SSL 训练的 ResNet-50 主干的参数 复制到 U-Net 的相应层中。本文以两种方式训练网络:微调(FT)和迁移学习(TL)。第一个,FT,对应于在船舶检测任务上训练 U-NET 的所有层,而对于后者,TL,本文冻结了主干的层


        基线:

                1. ImageNet 迁移学习:该基线没有使用 SSL 对主干进行预训练,而是使用了一个在 ImageNet 上预训练的 ResNet-50 编码器,由 torchvision 包实现。由于这些编码器是在 RGB 图像上训练的,因此本文复制了第一层的前 3 个通道的权重,以初始化对应于光谱带 B8、B11 和 B12 的通道。 TL 和 FT 船舶探测器训练方法都可以应用于此基线;

                 2. 随机初始化:本文没有使用经过训练的骨干网络,而是 按照标准 Kaiming 初始化 随机初始化 ResNet-50 编码器。随机初始化权重时 仅应用微调(FT)检测器训练模式;

                 3. BL-NDWI——使用 NDWI 的水分割基线:本文开发了一个 基于经典图像处理技术的简单基线。本文使用 NDWI 光谱指数 ,并将其值作为阈值 来分割水和非水像素。 NDWI 分割阈值的选择 是为了在整个数据集上获得最佳性能,这可能导致某些图像的选择不理想。接下来,我们使用水/陆分割(CO)(第 2.5.1 节)图 消除陆地像素,给出 船舶候选图。本文认为 在通常是水域的非水域像素 可能是船舶。我们提取连接的组件 并消除那些宽度和高度大于 50 像素(500 m)的组件,因为不存在大于此尺寸的船舶。这些是由于在 OpenStreetMap 图层中 未正确映射 岛屿或沙洲 或 OpenStreetMap 中的海岸线注释不精确的稀薄水岸。最后,我们对生成的候选图进行了几次过滤:形态学开放,我们在生成的映射图上 应用分水岭分割 来识别单个船只。


        本文的评估有三个目标:(1)研究主干的 SSL 预训练策略对船舶检测器最终性能的影响,(2)将本文的 SSL 训练的 U-Net 与基线进行比较,(3)分析 SSL 的少样本性能。


        (1)自监督学习方法分析:     

                本文在 S2-SHIPS 数据集上 以留一法 训练船舶检测器:在 N 张图像中,我们选择 N-1 张进行训练,一张进行测试。对于某些地理区域,数据集中有几张图像,而对于其他地理区域只有一张。因此,通过改变测试和训练图像,我们测量了学习到的检测器的 可迁移性,用于 训练和测试集之间 不同级别的 域差异。我们不执行交叉验证,U-Net 的超参数是先验选择的,没有优化。

                我们用 15 个训练图像和 1 个测试图像获得 16 个折叠。训练集由 匹配第 2.4 节中 描述的船舶存在标准的 patches组成,从原始图像中提取。该采样平均每折叠产生约 1800 个patches。本文报告了 16 次折叠的平均精度、召回率和 F1 分数,平均超过 5 次实验运行。我们不报告标准偏差,因为它们总是微不足道的。本文最初的目标是 评估检测器的整体性能,而不考虑图像中的土地覆盖。因此,本文首先在没有过滤阶段的情况下进行测试,精度结果反映了陆地和海上的误报假正。

                表 2 显示了这种比较的结果。首先,我们可以观察到数据集大小与所获得的性能之间存在很强的关系。为了更详细地了解这一点,在图 6 中,我们在 (A)ugmentation 前置任务下,使用迁移学习 (TL) 以图形方式显示 F1 分数的差异取决于预训练数据集的大小

自监督论文阅读笔记 Ship Detection in Sentinel 2 Multi-Spectral Images with Self-Supervised Learning_第6张图片

         表 2 还显示,与增强相结合的区域相似性 (RA) 优于仅增强预训练(A)。此外,与低距离/高重叠 (RA-lo) 相比,较大的 最大正patch距离 是有益的

        此外,表 3 显示了 误报率 如何从 EuroSAT 的 1.70 艘船/km² 急剧下降到没有过滤的 SEN12MS-A 的 1.20 艘船/km²,以及公海环境 (OS) 的 0.14 艘船/km²。


        (2)SSL 与基线方法的比较

                本文将本文最好的预训练方法(SEN12MS+RA)与 ImageNet 预训练和 BL-NDWI 基线进行比较。表 4 给出了这种比较,表 5 分析了不同方法的误报率,图 7 按图像比较了结果。

自监督论文阅读笔记 Ship Detection in Sentinel 2 Multi-Spectral Images with Self-Supervised Learning_第7张图片

         表 4 显示,当所有方法都用 陆地/海洋映射 进行过滤时,深度学习算法的结果大大优于 BL-NDWI 方法:在迁移学习模式下,它获得了 20 个百分点的 F1 和两倍的召回率。这意味着许多船舶没有被 BL-NDWI 检测到,一种解释可能是 NDWI 的阈值选择通常不是对所有图像都是最优的。次优阈值问题如图 7 所示,其中对于一些测试图像,例如 Suez 1 和 2,阈值几乎是完美选择的,而在 Suez 3、Suez 5 和 Suez 6 上,检测确实是薄弱的。由于NDWI 的阈值选择 是为了最大限度地提高整个数据集的性能,因此它在单个图像上不是最优的

        对于 SEN12MS-RA 等深度学习方法,在图像 Suez 2、Panama 和 Rotterdam 2 上都存在泛化问题,但这主要是 由于这些测试图像引起的挑战性条件,而不是领域差异:大面积土地覆盖 (苏伊士运河)、云(鹿特丹、巴拿马)和汹涌的大海(巴拿马)。

       本文基于 SSL 的管道在迁移学习设置中实现了与 ImageNet 预训练相似的结果,在微调设置中 F1 得分高出两个百分点。值得注意的是,从头开始训练在微调设置中取得了更好的 F1 分数。在对 15 张图像进行训练时,由于简单和更好的性能,从头开始学习似乎是更好的选择。事实上,大多数作品都将此设置用于遥感应用。然而,本文的目标是研究很少的样本的学习性能,在这种情况下,如下几节所示,从头开始学习是不利的

        一般来说,深度学习方法在背景较暗(草、云影)、波浪或大船迹的区域较弱,会导致很多误报。

        图 8 对他们的结果进行了定性分析。在这些情况下,从头开始训练或在 EuroSAT 和 BigEarthNet 上预训练的网络会导致最差的结果。一些 桥墩码头和 船坞码头也与船舶混淆。深度学习方法似乎对亮度、水色或环境差异具有鲁棒性,而且它们也很少将小岛预测为船只

自监督论文阅读笔记 Ship Detection in Sentinel 2 Multi-Spectral Images with Self-Supervised Learning_第8张图片


        (3)所研究方法的少样本性能

                为了评估所提出方法在少样本学习设置中的性能动态,本文将数据集分为两部分。训练集包含 13 张图像,测试集 3 张:一张来自苏伊士运河,第二张来自布雷斯特,最后一张来自鹿特丹。我们将训练图像的数量从 1 变化到 13,这对应于不同船只数量从 42 到 742 的变化。该实验旨在突出 网络对训练数据集大小和多样性(阳光闪烁、水的颜色等)的鲁棒性。

                改变训练样本的数量表明,在大型数据集上训练的 SSL 方法,尤其是基于区域的前置任务,比在少量数据上微调的 ImageNet 预训练网络 取得了具有竞争力甚至更好的结果。实际上,在图 9 中,我们看到 只用 200 到 300 个训练样本就足以让 SEN12MS-RA 方法接近 35% 的 F1 分数,而 ImageNet 网络至少需要 350 个样本才能达到这一性能。该实验还证实了前置任务的重要性:SEN12MS-RA 方法引起的区域不变性 大大提高了性能。事实上,SEN12MS-RA 只需要 290 艘船即可获得 750 艘训练船获得的 92% 的最佳性能,而其他方法至少需要多出三分之一的训练船。

                此外,在少样本设置中,有 126 个训练示例,图 10 分析了正在研究的方法在船舶不同子分类上的性能:小型与大型、停泊或海上。到目前为止,SEN12MS-A 和 SEN12MS-RA 的召回率比 ImageNet 或从头开始的训练要好。 SEN12MS 预训练在 检测停泊船舶 方面明显优于其他方法,包括 ImageNet。

                ImageNet 的弱点可能来自于它需要进一步微调其权重,因为将在以目标为中心的数据集上学到的知识 迁移到遥感图像上时 存在很大的域差异。因此,与从头开始训练或在 ImageNet 上预训练的网络不同,当训练样本很少时,鲁棒的 SSL 方法可以提供很好的提升


        在全球范围内,这些结果让我们得出结论,深度学习技术取得了可喜的成果。在所有情况下(靠近海岸和公海)召回率都很高,超过 75%。在公海和靠近海岸的地方,本文每平方公里获得的误报少于 0.14 次,误报率在 1 艘/km2 左右。尽管可以通过为每个图像找到更优的 NDWI 阈值来改进 BL-NDWI 基线,但深度学习方法的性能差异似乎很难弥补。与 ImageNet 预训练的网络相比,使用 SSL 训练的网络取得了更好的结果。在少样本设置中,SSL 预训练通常更好更稳定。当有足够的示例可用时,SSL 预训练与 ImageNet 或从头开始训练一样好。我们还注意到,性能随着预训练数据集的大小而增加。由于这些没有注释,因此很容易构建这样的数据集。这里选择的那些与手头的船舶检测问题无关,因此在这些数据集中选择图像不需要很大的努力

        需要根据下游任务选择前置任务,以学习所需的不变性。基于区域的前置任务看起来很有前景,可能是因为它有助于编码器 更好地将相似的元素聚集在一起,例如水、农作物或住宅区,而简单的前置任务 数据增强 只关注颜色或噪声的不变性。在本文的案例中可以看到这种前置任务的好处,因为它降低了陆地和海岸附近的误报数量

        在计算复杂度方面,所有深度学习方法的区别在于本文预训练权重的方式。与可用于在 ImageNet 数据集上训练 ResNet-50 的监督流程相比,自监督流程具有相似的复杂性,但需要更大的批量大小。这对于多光谱图像尤其成问题,需要至少 8 Go 内存的 GPU。前置任务训练非常耗时:我们使用多 GPU 机器(4 GPU 总共 64 Go 内存)在 SEN12MS 数据集上训练它花了将近两天的时间。在具有至少 8 Go 内存的单个桌面 GPU 上进行训练是可行的,但持续时间更长。


        Conclusion

                本文提出了一种使用自监督学习在 Sentinel-2 图像中训练船舶检测器的方法。本文的方法在 U-NET 架构中插入经过 SSL 训练的主干。它取得了比标准深度学习方法更好或相似的结果,并且 比基于光谱索引的方法 明显更好。

                SSL阶段前置任务的选择是性能提升的主要来源。进一步的研究应侧重于设计更有效的前置任务。本文的工作表明,尽管实现这一目标的方向仍不清楚,但仍有改进的余地。代替手工设计的前置任务,学习更好的前置任务可能是一种富有成效的研究途径。然而,预训练的计算成本很高,因此有必要首先 降低这个成本 或使用轻量级代理模型来近似预训练阶段的性能

                SSL 管道可以应用于没有 ImageNet 预训练可用的网络,例如特定于遥感的自定义架构。因此,一个有趣的研究目标是通过 SSL 进行训练,这是一种为遥感应用设计的特征提取器,它在从头开始学习或 ImageNet 预训练的基础上大大提高。

                对于船舶检测,本文基于图像的方法与应用于 SAR 图像的方法的误报性能相比仍有两个数量级 [1]。为了改进基于图像的船舶检测,可以研究更好的网络主干,更适合小物体。此外,最好在网络中明确包括云过滤和土地/水分类。尽管添加更多数据始终是一个好主意,但少样本设置更具挑战性,并且可以为遥感深度学习带来更多方法性的改进。

自监督论文阅读笔记 Ship Detection in Sentinel 2 Multi-Spectral Images with Self-Supervised Learning_第9张图片

你可能感兴趣的:(论文阅读笔记,计算机视觉,人工智能,深度学习,机器学习,python)