Abstract:

基于卷积神经网络(CNN)的方法近年来在航空场景分类领域占据主导地位。虽然取得了显著的成功,但基于cnn的方法存在过多的参数,并依赖于大量的训练数据。在本工作中,我们将小样本学习引入到航拍场景分类问题中。小样本学习的目的是学习一个基于基本集的模型,该模型仅使用少量的标记样本就能快速适应novel-set 中未见的类别。为此,我们提出了一种用于航拍场景图像小样本分类的元学习方法。首先,我们在所有基本类别上训练一个特征提取器来学习输入的表示。然后在元训练阶段,利用带有可学习尺度(scale)参数的余弦距离在度量空间中优化分类器。最后,在元测试阶段,在给定少量支持样本的情况下,自适应分类器对未见类别中的查询样本进行预测。我们在NWPU-RESISC45和RSD46-WHU两个具有挑战性的数据集上进行了广泛的实验。
实验结果表明,该方法具有较好的性能。此外,还进行了多个消融实验,研究了数据集规模、不同度量(metrics)的影响和支持集 shots 数量的影响;实验结果证实了我们的模型在小样本的情况下是特别有效的。

Keywords:航拍场景分类;遥感图像分类;few-shot学习;元学习

1. Introduction

从空中和太空拍摄的航空图像提供了地球表面的充分细节,如地貌、植被、景观、建筑和其他各种资源。这些丰富的信息是对地观测[1]的重要数据源,为城市规划[2]、土地利用和土地覆盖(LULC)测定[3,4]、测绘[5]、环境监测[6]和气候模拟等一系列重要应用打开了大门。航拍场景分类是遥感领域的一个基本问题,是这些研究领域的关键。Xia等人[7]将航拍场景分类定义为根据每幅图像的内容自动为其分配特定的语义标签。

在过去的几十年里,航拍场景分类受到了研究者们的广泛关注,并提出了许多方法。根据文献[7],现有的航拍场景分类方法主要分为三类:采用低级特征描述符的方法[8-11]、采用中级视觉表征的方法[12-15]和依赖深度学习网络的方法[7,16 - 19]。

Methods adopting low-level feature descriptors. 早期关于航拍图像分类的研究[8-10]多属于这一类。这些方法使用手工制作的、低层次的视觉特征,如颜色、光谱、纹理、结构或它们的组合来区分航拍场景图像。在手工特征中,最有代表性的特征描述符包括颜色直方图[8]、纹理特征[9]和SIFT[10]。这类方法在某些结构和空间安排一致的航拍场景中表现良好,但对于包含复杂语义信息的航拍图像性能有限。

Methods using middle-level visual representations 为了克服低层次分类方法的不足,人们探索了许多中层分类方法。这些方法主要是将低层次特征方法提取的局部视觉属性结合到高阶统计模式中,构建航空场景的整体场景表示。视觉词汇袋(BOVW)[12]及其许多变体已被广泛使用。除了BOVW模型外,典型的中层方法还包括但不限于空间金字塔匹配(SPM)[13]、局部聚合描述符向量(VLAD[14])、位置约束线性编码(LLC)[20]、概率潜在语义分析(pLSA)[15]和潜在Dirichlet分配(LDA)[21]。与低级方法相比,采用中层视觉表示的场景分类方法获得了更高的准确率。然而,中级方法只能到此为止;它们需要手工设计的特征,缺乏适应性;对于复杂场景或海量数据,它们的泛化能力较差。

Methods relying on deep learning 幸运的是,随着深度学习特别是卷积神经网络的出现[22,23],图像分类方法在精度和效率上都取得了巨大的成功,在遥感领域也是如此。该方法依靠深度神经网络从输入数据中自动学习全局特征,将航拍场景分类任务转化为端到端问题。最近,虽然深度cnn方法已经成为航空场景分类领域的最新解决方案[16,18,24,25],但也有明显的局限性。具体来说,深度学习方法最臭名昭著的缺点是,它们通常需要大量的标记数据,并且样本效率很低,这就排除了许多数据本质上很稀少或很昂贵的应用程序。相比之下,人类拥有一种非凡的能力,可以从少数例子中学习新的抽象概念,并迅速将其归纳到新的环境中。例如,G.F.[27]指出,即使是一个7个月大的婴儿也可以在两分钟内从一些没有标记的例子中学习抽象的语言规则。

Why do we need few-shot learning? 在一个拥有无限数据和计算资源的世界里,除了深度学习,我们可能几乎不需要任何其他技术。然而,我们生活在一个数据从来都不是无限的现实世界,特别是在遥感界,因为收集的成本很高。尽管如此,几乎所有现有的航拍场景数据集都有几个明显的局限性。

一方面,分类精度趋于饱和;更具体地说,最先进的方法可以在最流行的UC Merced数据集[12]和WHU-RS19[28]数据集上实现近100%的准确率。然而,我们认为,这两个数据集中的类别数量如此有限,在现实世界中是远远不够的。另一方面,场景类别的规模和每类图像的数量有限,图像缺乏场景的变化和多样性。解决这一问题的一种直观的方法是构建一个用于航空场景分类的大规模数据集,并提出了几个更具挑战性的数据集,包括AID数据集[7]、PatternNet数据集[29]、NWPU-RESISC45数据集[18]和RSD46-WHU数据集[30,31]。见表A1(附录A)对这些公用数据集的详细描述。

尽管航拍场景数据集的规模有所增加,但从深度学习的角度来看,大多数航拍场景数据集仍然较小。对于机器学习社区中的类似情况,小样本学习[32]提供了一种从不同角度解决数据匮乏问题的替代方法。取代扩展数据集规模,小样本学习的目标是学习一个模型,可以根据很少标记的例子迅速概括到新的任务。可以说,少样本学习是一种类似于人类的学习方式。它假设一个不依赖数千或数百万监督训练数据的更现实的情况。即,少样本学习可以帮助减轻收集数据的负担,特别是在某些特定领域,其中收集标记示例通常既费时又费力,例如空中场景领域或药物发现。图 1 展示了一个特定的 1-shot 场景,即可以仅从一张图像中了解有关新类别的大量信息。


鉴于少镜头学习可以减轻数据收集工作、提高计算效率、弥合人工智能和类人学习之间的差距的潜力,我们将少镜头范式引入到空中场景分类问题中。这项工作的目标是用只有1或5个标记样本对航拍场景图像进行分类。更具体地说,我们采用元学习框架来解决这个问题。据我们所知,只有很少的努力集中在空中/远程场景体制的少镜头分类问题上。在工作[26]中提出了一种深度少镜头学习方法来解决高光谱图像分类中的小样本问题。最近的工作[33]开发了一种基于原型网络[32]的少镜头学习方法,用于RS场景的分类。到目前为止,我们是第一个为航拍场景图像的少镜头分类提供实验平台(testbed)的。我们使用更深的主干网络 Resnet-12 重新实现了几种最先进的小样本学习方法 (即,prototype Networks [32], MAML[34]和关系网络[35]),以进行公平比较。此外,我们重新实现了一种典型的机器学习分类方法D-CNN[16],以评估其在小样本场景下的性能。

本文的主要贡献总结如下:

1.这是第一项提供统一测试平台的工作,用于与航空场景领域中几种最先进的小样本学习方法进行公平比较。我们的实验评估显示,仅从几张带标签的图像中就可以了解到一个新类别的许多信息,这对遥感界来说是一个巨大的潜力。

2.该方法包括特征提取模块和元学习模块。首先,ResNet-12 用作主干来学习基集上输入的表示 fθ。然后,在元训练阶段,我们利用特征空间中具有可学习尺度参数的余弦距离优化分类器,既不固定θ,也不引入额外的参数。我们的方法简单而有效,在两个具有挑战性的数据集:NWPU-RESISC45和RSD46-WHU上实现了最先进的性能。

3.我们进行了大量的实验,并从RSD46-WHU构建了一个迷你数据集,以进一步研究影响性能的因素,包括数据集规模的影响、不同指标的影响和支持集shots的数量。实验结果表明,我们的模型在少镜头场景下特别有效。

本文的其余部分组织如下。在第2节中,我们讨论了基于cnn的航拍场景分类方法以及近年来发展起来的各种效果最好的小样本分类方法的相关工作。在第三节中,我们对少镜头分类做了一些初步的介绍,因为有人可能是新的读者。所提出的元学习方法在第4节中描述。我们举例说明数据集并讨论实验结果见第5节。最后,第六部分对全文进行了总结和展望。

2. Related Work

3. Preliminary

4. Proposed Method

4.1. Overall Framework

在本文中,我们提出了一种用于航拍场景图像少镜头分类的元学习方法。该框架由特征提取器、元训练阶段和元测试阶段组成。图3说明了我们方法的整个过程。首先,在基础数据集 Dbase 上训练特征提取器以学习输入的表示,以便在特征空间中进行进一步比较。为了实现这一点,我们通过最小化标准交叉熵损失并移除其最后一个全连接(FC)层【为什么去除?】来在所有基本类别上训练一个典型的分类器【分类器来获得特征表示吗?】,以获得 512 维特征表示 fθ。然后,我们考虑在元训练阶段的一组episodes上训练元学习分类器M。具体地说,不像之前的一些工作[50,51],我们没有冻结fθ以进行进一步的微调;相反,我们将其视为一个初始权值,并通过最小化跨episodes的泛化误差【这是什么?】直接优化它。对于单个episode,通过缩放余弦距离【如何缩放?】将查询特征与支持特征的类别均值进行比较。元训练的目标是最小化查询集中N-way预测损失。最后,在元测试阶段,元学习分类器M是根据从新类别集Dnovel(通常被称为元测试集)中抽样的一组 episodes 来估计的。

Figure 3. 我们方法的总体框架。顶部表示在基本数据集上训练的特征提取器;通过去除FC层,网络生成一个特征编码器fθ。元训练过程的目的是通过利用多个 episodes 来优化参数θ以学习元分类器。在元测试阶段,一旦提供了从看不见的类别中抽样的新 episodes ,就会评估元分类器的性能。

4.2. Feature Extractor

我们在基集 Dbase 上训练一个具有参数 θ 的特征提取器 fθ,它将输入数据编码为适合比较的 512 维特征向量。在这里,我们使用 ResNet-12 在所有基本类别上学习分类器,并删除最后一个全连接层以获得 fθ,如下所述; 不过,也可以使用其他 backbones 。在提供给网络之前,Dbase中的所有输入图像都被调整为80 × 80。如图4所示,我们使用的ResNet-12架构设置由四个 ResNet 块组成。三个卷积层为每个 ResNet 块配置一个 3 ×3 内核,然后是 BN 和 Leaky ReLU。如下图所示,{Ci} i=1到4 表示每个ResNet块中卷积层的通道,分别为64、128、256、512。然后我们在每个残差块之后采用 Leaky ReLU 和 2 ×2 最大池化层。最后,通过将ResNet Block-4生成的5 ×5 ×512向量输入到5 ×5平均池化层,我们最终可以得到512维的特征表示,如前面所述。


4.3. Meta-Training Stage

元学习的目的是通过从一组任务(也称为情景)中提取元知识来提高学习成绩。情景学习在小样本分类问题中得到了广泛的应用。根据传统的 N-way K-shot 设置,我们的目标是训练一个元学习模型 M(·|S),使 n 路预测损失最小化。为了实现这一点,我们从基本类别的训练数据中采样许多 episodes 。一个episode从每个类别中随机选择的K个输入输出对,即总共 N×K 个样本用于 N-way 分类训练和 N×Q 个查询样本用于测试。尽管每 episode 仅使用有限数量的支持样本进行训练,但分类器 M 的参数在许多 episode 之间共享。 因此从大量任务中学习这样的 M 减少了样本需求负担。在元训练阶段,我们提出了一个额外的元验证集来选择模型M(·|S)的超参数。图5说明了提出的元学习阶段的工作流程。


给定支持集 S 的 episode,我们将 Sc 表示为 S 的一个子集,类别 c [32] 中的所有样本将原型 ωc 定义为属于 Sc(类别 c 的质心)的嵌入的均值向量,嵌入是 由我们在 4.2 节中描述的具有可学习参数 θ 的预训练特征提取器 fθ 生成。我们可以把ωc写成这样:

预测查询样本 x 属于类别 c 的概率的一种直观方法是比较特征嵌入 fθ (x) 和类别 c 的质心 ωc 之间的距离。两种常见的距离度量是欧氏距离和余弦相似度,这里我们使用余弦相似度,因此预测可以形式化如下:
其中cos(·,·) 表示两个向量的余弦相似度。

受文献[46]的启发,我们引入一个可学习的标量参数α调整余弦相似度的原始值范围 [−1,1]。在我们的实验中,α初始化为10,我们观察到缩放相似度度量更适合下面的softmax层【什么意思???】。则预测概率为:


4.4. Meta-Testing Stage

一旦学习了元学习模型 M(·|Sbase),就在保留集Dnovel上评价其泛化程度。需要注意的是,新类别集 Dnovel 中的所有类别在元训练阶段都是没见过的。在元测试时,我们会得到从Dnovel中抽样的新剧集,通常称为元测试集:

学习模型被用来使用新的支持集 Snovel 来预测没见过的类别。

5. Experiments and Analysis

5.4. Analysis

5.4.1. Effect of Dataset Scale

为了研究数据集规模如何影响性能,我们进行了 RSD46-WHU 数据集的一个变体,每个类别中只有 500 张图像,称为 mini-RSD46-WHU。 表 6 报告了 5-way 1-shot 和 5-shot 的总体准确率。我们在两个数据集上采用相同的主干和训练策略。 正如我们所看到的,显然,当数据集规模变大时,性能会提高。 5-way 1-shot 和 5-shot 在原始数据集上的整体准确率比 mini 数据集提高了 6.86% 和 5.78%。

5.4.2. Effect of Metrics

我们研究了不同度量策略对少样本分类的影响,即基于欧几里德距离和余弦相似度。 两种选择在表 7 中进行了比较; 此外,我们通过将其添加到两个指标来研究缩放参数 α 的影响。 缩放参数 α 根据经验初始化为 0.1(欧几里德距离)和 10(余弦相似度)。 如表 7 所示,在 5-way 1-shot 情况下,使用余弦距离的性能分别提高到 69.02±0.22% 和 68.56±0.25%。使用简单的余弦相似度而不是欧几里得距离,显示了 8.61% 和 8.87% 的增益。在 5-shot 的情况下,改进很小,分别为 0.69% 和 0.74%。 此外,我们可以看到,对于 1-shot 和 5-shot 情况下的两个数据集,与仅使用余弦相似度相比,尺度参数给出了大约 0.3% 到 0.5% 的增益。 然而,对于欧几里德距离的性能,尺度参数几乎没有改善或变差

5.4.3. Effect of Shots

为了进一步评估作为 shots 函数的 5-way 精度,我们通过在两个数据集上为我们的模型提供 1、5、10、15、20 和 25 个标记的支持样本来进行实验。 结果如图 9 所示。 正如我们预期的那样,预测精度为当 shot 从 1 增加到 5 时有很大的改善。但是,当 shot 继续增加时,性能并没有得到更多的好处。 这些发现证实我们的模型在 very-low-shot 设置中特别有效。


如图 6 和图 7 所示,条纹条表示我们使用 ResNet-12 主干重新实现 MAML、ProtoNet 和 RelationNet。 我们观察到更深的主干(Resnet-12)略微改善了 MAML 和 RelationNet; 此外,对于两个数据集,RelationNet 在 1-shot 情况下甚至变得更糟。 另一方面,当主干架构被 Resnet-12 取代时,原型网络(ProtoNet)得到了很大的改进,这表明 ProtoNet 是一种强大而健壮的方法。

我们观察到的一个有趣现象如图 8 所示。我们绘制了我们模型在基本类别和新类别上泛化新类别还要泛化吗?】的前 90 个时期。 基础泛化表示来自基础类别中未见数据的训练准确度,而新颖的泛化意味着从新类别中的数据测试性能。 如图所示,虽然该模型在基础集中的未见数据上取得了更好的性能,但新的泛化反而下降了。 为什么测试性能下降? 我们假设缺乏监督数据是导致过拟合问题的原因,从而导致了这种现象。 这个问题将在第 5.4 节中进一步讨论。


从 5.3 节的实验中,我们从图 8 中观察到,具有最佳精度的模型经常出现在前 40 个 epochs。为了进一步分析泛化差异,我们在 NWPU-RESISC45 和 RSD46-WHU 数据集上绘制了不同镜头的泛化曲线,见图 10 和图 11。我们可以看到,同样的现象再次出现:当泛化变得更好时在未见过的基础数据上,表明模型更好地学习目标,而测试性能在新任务上变得更糟。 换句话说,当支持标记实例增加时,这种现象仍然存在; 过拟合可能不是测试性能下降的真正原因。 这种泛化差异可能是由新集和基集之间的客观差异引起的。 也就是说,在元训练阶段,我们的模型在 base-set 上学习太具体,这对新 set 有不利影响。我们的调查表明,泛化差异可能是小样本学习的潜在挑战。一些仔细的正则化项可能有助于缩小泛化差异的差距,我们将其留待以后的工作。


6. Conclusions

小样本学习的话题近年来备受关注。 在本文中,我们将小样本学习引入航空场景分类,并证明可以从几个实例中学习到有用的信息。 为了实现这个想法,我们提出了一个元学习框架,旨在训练一个模型,当提供一些样本时,该模型可以很好地泛化到看不见的类别上。 所提出的方法首先使用 ResNet-12 来学习基集上的表示,然后在元训练阶段,我们通过具有可学习尺度参数的余弦距离 优化分类器。我们的实验在两个具有挑战性的数据集上进行,令人鼓舞的是,我们的方法仅提供一个实例,就可以对一个新类别取得约69%的分类性能,而对5个支持样本的分类性能约为84%。此外,我们还进行了一些消融实验,以研究数据集规模的影响,不同指标的影响和支持镜头的数量。最后,我们观察到一个有趣的现象,即元学习中存在潜在的泛化差异。我们认为,对这一现象的进一步研究可能是一个机会,以在未来实现更好的性能。

Few-Shot Classification of Aerial Scene Images via Meta-Learning(基于元学习的航拍场景图像小样本分类)相关推荐

  1. 【翻译论文】 Supervised Parametric Classification of Aerial LiDAR Data(2004)

    [翻译论文] Supervised Parametric Classification of Aerial LiDAR Data 航空激光雷达数据的监督参数分类 Amin P. Charaniya, ...

  2. zero shot classification提取主题词

    基于 NLI 的零镜头文本分类.zero shot classification提出了一种使用预训练的 NLI 模型作为现成的零样本序列分类器的方法.该方法的工作原理是将要分类的序列设置为 NLI 前 ...

  3. (转)Paper list of Meta Learning/ Learning to Learn/ One Shot Learning/ Lifelong Learning

    Meta Learning/ Learning to Learn/ One Shot Learning/ Lifelong Learning 2018-08-03 19:16:56 本文转自:http ...

  4. 论文笔记: Local climate zone mapping as remote sensing scene classifcation using deep learning: A case s

    论文笔记1: Local climate zone mapping as remote sensing scene classifcation using deep learning: A case ...

  5. 小样本学习记录————利用所有数据的元学习Few-shot Text Classification with Distributional Signatures

    小样本学习记录----利用所有数据的元学习Few-shot Text Classification with Distributional Signatures 在计算机视觉中,低水平的模式是可以跨学 ...

  6. 综述:基于深度学习的文本分类 --《Deep Learning Based Text Classification: A Comprehensive Review》总结(一)

    文章目录 综述:基于深度学习的文本分类 <Deep Learning Based Text Classification: A Comprehensive Review>论文总结(一) 总 ...

  7. 元学习之《Matching Networks for One Shot Learning》代码解读

    元学习系列文章 optimization based meta-learning <Model-Agnostic Meta-Learning for Fast Adaptation of Dee ...

  8. 【CVPR2022】【小样本分类和分割】Integrative Few-Shot Learning for Classification and Segmentation

    用于分类和分割的综合小样本学习 文章目录 Abstract 一.Problem formulation 二.Integrative Few-Shot Learning (iFSL) 三.5. Mode ...

  9. 基于深度学习的场景文本检测和识别(Scene Text Detection and Recognition)综述

    1. 引言 文字是人类最重要的创作之一,它使人们在时空上可以有效地.可靠的传播或获取信息. 场景中的文字的检测和识别对我们理解世界很有帮助,它应用在图像搜索.即时翻译.机器人导航.工业自动化等领域. ...

最新文章

  1. 杭电2063--过山车(二分匹配)
  2. python集合例题_python练习题集合-2
  3. mysql union group by_Mysql UNION和GROUP BY
  4. Qt|设计模式工作笔记-对单例模式进一步的理解(静态加单例实现专门收发UDP对象)
  5. C语言中常见的内存相关的Bugs
  6. ps—ps,cs6图层面板解释,图层样式详解
  7. timestamp和datetime的区别
  8. - Wireless Network POJ - 2236
  9. android课程设计健身,健身软件课程设计本科毕业设计论文.doc
  10. ROS机器人操作系统教学与应用的思考
  11. Springboot企业邮箱发送邮件
  12. MySQL数据库 第4章:数据库设计
  13. STM32学习笔记(一)——如何下载程序到STM32单片机
  14. Python:模拟邮箱登陆
  15. BugPhobia启程篇章:需求分析与功能定位
  16. iOS开发者们,请您们面向未来学习,效率学习!
  17. 制作投票的链接制作投票链接的制作个投票链接
  18. NSX-T 系列:第 6 部分 - 准备配置文件
  19. 救生艇,满载需要的最少数量船
  20. Hisilicon 平台调试经验总结

热门文章

  1. java字符串进行中文、特殊字符编码
  2. matlab如何在极坐标绘图,Matlab在极坐标中绘图
  3. Java获取两个日期之间的工作日天数
  4. MySQL相关面试题总结
  5. eclipse中怎么快速切换窗口?
  6. spark中的cache()、persist()和checkpoint()的区别
  7. 【机器人学】机器人开源项目KDL源码学习:(5)KDL如何求解几何雅克比矩阵
  8. 【php】php开发环境的搭建
  9. 对于公司裁员和转型的无力吐槽
  10. Qt Quick实现的文件传输工具(TCP传输篇)