遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages

论文下载:https://arxiv.org/pdf/2006.07826v2.pdf

Abstract

在本文中,我们处理遥感图像上的目标检测问题。以前的方法已经发展了许多基于深度卷积的遥感图像目标检测方法,在检测性能和效率方面取得了显著的成就。然而,目前基于CNN的方法大多需要大量带注释的样本来训练深层神经网络,并且对看不见的对象类别的泛化能力往往有限。在本文中,我们介绍了一种基于少样本学习的遥感图像目标检测方法,该数据集中只为不可见的目标类别提供了几个带注释的样本。更具体地说,我们的模型包含三个主要组件:学习从输入图像中提取特征表示的元特征提取器,学习从support图像中为每个特征表示自适应分配不同权重的重新加权模块,以及边界框预测模块,其在重新加权的特征图上执行对象检测。我们在Yolov3架构的基础上建立了我们的少样本目标检测模型,并开发了一个多尺度目标检测框架。在两个基准数据集上的实验表明,仅使用少量带注释的样本,我们的模型仍然可以在遥感图像上实现令人满意的检测性能,并且我们的模型的性能明显优于完善的基线模型。

关键词:目标检测,少样本学习,少样本检测,遥感图像,YOLO

1、Introduction

目标检测一直是遥感图像和计算机视觉领域的一个长期问题。它通常被定义为识别输入图像中目标对象的位置以及识别对象类别。自动目标检测已广泛应用于许多实际应用中,如危险检测、环境监测、变化检测、城市规划等。

在过去的几十年里,人们对目标检测进行了广泛的研究,并开发了大量方法来检测遥感图像中的人工目标(如车辆、建筑物、道路、桥梁等)和自然目标(如湖泊、海岸、森林等)。遥感图像数据集上现有的目标检测方法大致可分为四类:(1)基于模板匹配的方法,(2)基于知识的方法,(3)基于对象的图像分析方法,(4)基于机器学习的方法。其中,基于机器学习的方法在特征提取和目标分类方面具有强大的鲁棒性,并被许多最近的方法广泛研究,以实现这一问题的重大进展。

近年来,在所有基于机器学习的目标检测方法中,深度学习方法受到了广泛的关注,尤其是卷积神经网络(CNN)。由于CNN模型强大的特征提取能力,大量基于CNN的方法被开发用于光学图像和遥感图像中的目标检测。值得注意的方法包括FasterR CNN[7]、YOLO[8]、SSD[9]。在遥感领域,最近的工作大多是建立在计算机视觉领域中普遍存在的体系结构的基础上。

尽管基于深度学习的目标检测方法取得了突破,但这些方法存在一个共同问题:需要用一个大规模、多样的数据集来训练深度神经网络模型。对于现有的方法来说,对可识别类别进行任何调整都是昂贵的,因为收集带有大量手动注释的新遥感图像数据集是昂贵的,而且这些方法需要花费大量时间在新收集的数据集上重新训练参数。另一方面,仅使用新类中的少量样本训练模型,往往会遇到过拟合问题,泛化能力将大大降低。因此,我们设计了一种从新类别的几个样本中学习鲁棒特征的特殊机制,用于遥感图像中的目标检测。

在过去的几年里,为了完成场景分类、图像分割和目标检测的任务,少样本学习在计算机视觉领域得到了广泛的研究。少样本学习旨在学习可转移的知识,这些知识可以很好地泛化到新的类别中,因此只需几个注释示例就可以对新类别执行图像识别(例如,分类、分割)。现有的少样本目标检测方法都是针对光学图像中的常见物体(如自行车、汽车、椅子等)而设计的。这些物体通常大小一致。而在遥感图像中,物体的大小可能非常不同,遥感图像的空间分辨率也可能非常不同,这使得在只提供少量注释样本的情况下,这个问题更加具有挑战性。

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages

图1 遥感图像上的少样本检测示意图 我们的模型使用来自基类的大量注释样本进行训练,对只有少量注释样本的看不见的类进行检测

本文介绍了一种基于少样本学习的遥感图像目标检测方法。在少样本场景下,我们的模型旨在从基类数据集中学习一个检测模型,该模型只需少量注释样本就可以准确地检测未知类。图1说明了遥感图像上少样本目标检测的基本思想。我们的方法建立在最近发表的一篇论文[19]的基础上,这篇论文是为光学图像中的常见目标检测而设计的。为了解决遥感图像中固有的尺度变化,我们将[19]扩展到多尺度特征提取和目标检测框架。具体来说,设计了一个元特征提取器,用于学习从输入图像中提取特征表示;设计了一个特征重新加权模块,用于学习为支持图像中的每个特征表示自适应地分配不同的权重。边界框预测模块在重新加权的特征图上执行目标检测。我们的少样本目标检测方法包括两个阶段:训练阶段和检测阶段。在训练阶段,我们的模型是在基类集中的大量数据上训练的,并学习用于目标检测的元知识。在检测阶段,使用来自新类(与基类不重叠)的一些样本对模型进行微调,使其适应新类,同时在训练阶段保持元知识。

本文的主要贡献概括如下:

本文介绍了第一种基于少样本学习的遥感图像目标检测方法。我们的方法使用来自一些基类的大规模数据进行训练,可以从基类中学习元知识,并且可以很好地泛化到仅有少量样本的新类上。

我们的方法包含三个主要部分:元特征提取网络、特征重加权模块以及边界框预测模块。这三个模块均采用多尺度体系结构设计,以实现多尺度目标检测。

我们在两个公共基准数据集上的实验证明了该方法对遥感图像中的少样本目标检测的有效性。

2、Related Work

A、Object detection in computer vision

目标检测是计算机视觉领域的一个热门话题,有着广泛的研究,尤其是自深度学习方法兴起以来。R-CNN[20]是最早采用CNN进行目标检测的成功方法之一。在R-CNN中,作者用基于CNN的特征学习取代了传统的手工特征提取,并展示了显著的性能提升。在R-CNN之后,Fast R-CNN[21]对原始输入图像执行特征提取,并将所有区域建议框region proposals映射到提取的特征图上。还提出了RoI池化层,将每个RoI的特征表示转换为一个固定长度的向量。此外,为了便于神经网络设计,将SVM分类器替换为Softmax分类器,并将边界框的回归过程包含在模型中,而不是事后进行。Fast R-CNN大大提高了检测效率。另一个重要的变化来自Faster R-CNN[7]。为了进一步克服区域建议生成过程中的计算负担,Faster R-CNN引入了区域建议网络(RPN),以从CNN网络生成区域建议,并实现RPN网络和检测网络之间的权重共享。下面的工作,例如[22],[23],主要是基于Faster R-CNN架构。例如Mask R-CNN[23]采用特征金字塔网络(FPN)[22]作为主干网络来生成多尺度特征地图,并添加一个mask预测分支来检测每个实例的精确边界。

上述方法通常将检测过程分为两个阶段:区域建议生成、从区域建议中检测对象。因此,这些方法通常被称为两阶段检测器。另一类方法消除了区域建议生成过程,直接对输入图像进行目标检测。因此,这些方法通常被称为单阶段检测器。最成功的单阶段检测器之一是Yolo[8]。在YOLO模型中,输入图像被划分为网格单元,每个单元负责检测固定数量的对象。深度CNN架构旨在为每个单元学习高级特征表示,然后是连续的完全连接层以预测对象类别和位置。YOLO比两阶段检测器快得多,但检测性能较差。YOLOv2[24]和YOLOv3[25]通过使用更强大的主干网络和在多个尺度上进行目标检测来改进性能。更具体地说,YOLOv3模型采用FPN[22]作为主干网络,因此能够在不同的尺度上进行更强大的特征提取和检测。以下工作主要通过使用反卷积层[26]、多尺度检测[9]或focal loss[27]来改善性能。

B、Object detection in RSIs

现有的遥感图像目标检测方法分为四类:基于模板匹配的方法、基于知识的方法、基于对象的图像分析(OBIA)的方法和基于机器学习的方法[1]。基于模板匹配的方法使用存储的模版(通过手工制作或训练生成),在源图像中的每个可能位置找到最佳匹配。典型的基于模板匹配的方法包括刚性模板匹配[28]、[29]、[30]和可变形模板匹配[31]。基于知识的方法通过使用预先建立的知识和规则,将目标检测问题视为一个假设检验过程。几何知识[32]、[33]、[34]、[35]和上下文知识[36]、[32]、[37]是两种广为人知的知识。基于对象的图像分析的方法首先将图像分割成代表一组相对均匀的像素组的同质区域,然后使用来自手工特征工程的区域级特征进行区域分类。最后一类方法是基于机器学习的目标检测器,它包含两个基本过程:手工提取特征和使用基于机器学习的算法进行分类。与其他三类方法相比,基于机器学习的方法显示出更强的泛化能力。

在所有基于机器学习的方法中,基于深度学习的方法已经引起了巨大的研究关注,并在最近的遥感图像目标检测工作中得到了广泛的应用。与使用手工特征的传统机器学习方法不同,基于深度学习的方法使用深度神经网络从输入图像中自动学习鲁棒的特征。在这个方向上,早期的研究采用了RCNN结构来检测遥感图像上的地理空间目标[38]、[39]、[40]、[41]、[42]、[43]、[44]、[45]。例如,[38]在R-CNN架构中引入了一个新的旋转不变层,以提高不同方向目标的检测性能。随着Faster R-CNN的巨大成功,许多作品试图将Faster R-CNN框架扩展到遥感领域[46]、[47]、[48]、[49]。例如,[42]使用多角度anchors而不是传统RPN网络中使用的水平anchors,开发了一种旋转不敏感的RPN,该方法能有效地检测任意方向的地理空间目标。

继基于一阶段的自然图像目标检测方法取得巨大成功之后,研究人员还开发了各种基于回归的遥感图像目标检测方法[49]、[50]、[40]、[51]。例如,[49]扩展了SSD模型,对遥感图像进行实时车辆检测。[50]将SSD[9]框架中的水平锚替换为定向锚,从而使模型能够检测到具有方位角的对象。
通过使用难样本挖掘[40]、多特征融合[52]、迁移学习[53]、非最大值抑制[54]等方法,进一步提高了遥感图像上地理空间目标检测的性能。

C、Few-shot detection

少样本学习是一种有监督的元学习方法,其目的是学习可泛化到新类的可迁移知识,从而在只给出少量标注样本的情况下对新类进行图像识别(如分类、检测、分割)。近年来,少样本检测在计算机视觉领域受到越来越多的关注。[55]建议对预先训练好的模型进行微调,例如在几个给定的示例上对Faster R-CNN[7]和SSD[9]进行微调,以将其转变为少样本检测器。在[56]中,作者使用半监督设置中的额外未注释数据丰富了训练示例,并获得了与具有大量训练数据的弱监督方法相当的性能。[17] 引入一个距离度量学习子网Distance Metric Learning来取代标准检测体系结构[22]的分类头,并通过少量的训练样本来实现令人满意的检测性能。

[19]引入了一个重新加权模块,从几个支持样本中产生一组加权向量,每个类一个,对从DarkNet-19网络中提取的元特征进行加权。利用重新加权的元特征,采用bounding box预测模块产生检测结果。然而,DarkNet-19只为每幅输入图像生成单一的元特征图,导致在检测尺寸变化较大的目标时性能较差;与[19]仅对单尺度特征图进行目标检测不同,本文提出的方法从类似FPN的结构中提取不同尺度的层次特征图,并在少样本场景下执行多尺度目标检测来提高性能。

3、Method

A、Method Overview

我们首先澄清了少样本目标检测问题的设置。少样本目标检测的问题旨在从可用类(基类)的数据集中获得一个检测模型,该模型可以对来自不可见类(新类)的图像进行目标检测,这只需要来自相同不可见类的几个带注释的样本。对于每个基类,都有足够的样本用于模型训练。而新类只有几个带注释的样本。一个少样本目标检测模型应该能够从基类的数据集中学习元知识,并很好地将其迁移到新类中。

这种少样本的目标检测设置在现实场景中非常常见,可能需要开发一个新的目标检测模型,而为目标类收集大规模数据集非常耗时。一个好的起点是在一些现有的大规模目标检测数据集(例如DIOR[2])上部署一个预先训练过的检测模型。然而,这些数据集只涵盖有限数量的目标类别,而人们可能只关注可能不包括在这些数据集中的几个特定目标类别。

为了促进模型的训练和评估,我们从训练和测试集构建了几个episodes 。每个episode

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages都是由一组支持图片遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages(带有注释)和一组查询图片遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages构造而成的。给定一个K-shot分割任务,每个支持集遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages对每个对象类别有K张带注释图片。我们将支持集表示为,遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages,其中遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages表示输入图像并且遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages表示边界框注释,k=1,2,…..K。查询集遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages包含来自与支持集相同的类遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages集的遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages张图像。该模型利用支持图像进行元知识学习,并将学习到的元知识应用到支持图像上,对查询图像进行目标检测。

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages

图2 该方法用于遥感图像的少样本目标检测 我们的方法由三个主要部分组成:元特征提取器、重新加权模块和边界框预测模块。特征提取网络将查询图像作为输入,并以三种不同的尺度生成元特征图。重新加权模块将带标签的支持图像作为输入,每个类一个,并输出三组N重新加权向量。这些重新加权向量用于通过通道乘法重新校准相同尺寸的元特征图。然后将重新加权的特征图输入三个独立的边界框检测模块,以预测三个不同尺度下的objectness分数(o)、边界框位置和大小(x、y、w、h)以及类别分数(c)

图2展示了所提出方法的流程。我们设计的少样本目标检测模型(FSODM)是为了从基类数据集中获取元知识。为了实现这一目标,我们首先开发了元特征提取模块,从输入的查询图像中学习三种不同尺度的元特征。然后,重新加权模块将带标签的支持图像作为输入N,每个类一个,并输出三组N重新加权向量,每个比例一个。这些重新加权向量用于通过通道乘法重新校准相同尺度的元特征。通过重新加权模块,支持样本中的元信息被提取出来,并用于放大那些为查询图像检测新目标提供信息的元特征。然后将重新加权的元特征输入到三个独立的边界框检测模块用于在三个不同尺度上预测objectness分数(o)、边界框位置、大小(x、y、w、h)和类别分数(c)。

B、Meta Feature Extractor

我们的元特征提取网络旨在从输入查询图像中提取鲁棒的特征表示。与[19]中只提取单尺度元特征的方法不同,遥感图像中的目标可以有完全不同的大小。因此,需要一个多尺度特征提取网络。本文基于DarkNet-53[25]和FPN设计了特征提取网络。详细的网络架构见[25]。对于每个输入查询图像,我们的元特征提取器网络以三种不同的比例生成元特征。以I作为输入查询图像,

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages,特征提取器网络后生成的元特征可以表示为:

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages

这里的i表示尺度层次,i ∈1,2,3。hi,wi和mi表示尺度i上的特征图的大小。

在本文中,我们选择尺度为1/32x,1/16x和1/8x的特征图,例如,输出特征图将有(h/32×w/32×1024),(h/16×w/16×512) 和 (h/8×w/8×256)的大小。

C、Feature Reweighting Module

我们的特征重新加权模块旨在从支持图像中提取元知识。为了实现这一目标,轻量化CNN被设计成将每个支持图像映射成一组重新加权向量,每个尺度对应一个向量。这些权重向量将用于调整元特征的贡献,并突出对新对象检测有重要意义的元特征。

假设支持样本来自N个目标类别,我们的特征重加权模块接收N个支持图片及其掩码的输入。对于N个类中的每一个类,将从支持集中随机选择一个支持图像

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages及其对应的边界框注释遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages。然后,我们的特征重加权模块将其映射到特定于类的表示遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages并且遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages。将使用重新加权向量遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages来重新加权元特征,并突出显示scale i和class j上的提供有用信息的特征。

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages

这里的⊗是通过重加权向量

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages作为卷积核的1×1卷积实现的通道乘法 。

正如我们所看到的,在通道相乘之后,将有三组重新加权的特征图,每个尺度一组。在每一组中,我们的特征重新加权模块产生N个重新加权的特征图。每个重新加权的特征图负责检测N类之一处的目标对象。

D、Bounding Box Prediction

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages

图3 三个不同尺寸的特征图上的anchor boxes 。绿色框是目标的的真实边界框,黄色框是预测单元的anchor boxes。输入图像的大小为800×800,(a)、(b)和(c)是其小(25×25)、中(50×50)和大(100×100)特征图的anchor设置

我们的边界预测模块(P)将重新加权特征图作为输入,并产生对象类别和边界位置。在YOLOv3[25]的设置之后,在每个尺寸下,我们为每个特定类别的特征图预测三个边界框。为了实现这一目标,我们在输入特征图上的每个像素位置生成一组anchor boxes,图3说明了三种不同比例下的anchor boxes设置。对于scale level i等于1的第一个特征图,anchor boxes的大小被设置为(116×90)、(156×198)、(373×326)。对于scale level i等于2的第二个特征地图,中间特征图的anchor boxes大小被设置为(30×61)、(62×45)、(59×119)。对于scale level i为3的第三个要素地图,anchor boxes的大小设置为(10×13)、(16×30)、(33×23)。

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages

对于特征图中的每个anchor box,我们的边界框预测模块生成6维输出,如图2所示。在输出中,前4个元素用于目标位置预测,剩下的2个元素是objectness得分(Op)和分类得分(Cp)。图4显示了每个边界框的输出表示。

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages

图4 anchor boxes和预测边界框表示的图示 实线网格是特征图的单元,虚线矩形是一个anchor box,蓝线矩形是一个预测框

假设预测的边界框的坐标是

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages,其中遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages是其中心的坐标,则遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages是边界框的宽度和高度。我们的边界框预测模块不是直接回归边界框的位置,而是预测4个偏移量遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages,预测边界框的坐标可以通过以下公式计算得到:

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages

其中,S(x)是Sigmoid函数,σ是相当于输入图像边长与特征图边长之比的尺度变换系数。

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages是从左上角到进行预测的单元格的偏移量。遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages是对应的anchor box的宽度和高度。

objectness分数(Op)意味着一个目标存在的可能性,它可以由

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages计算得到,其中遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages是客观可能性,遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages是sigmoid函数。因为我们对每个类别都有一组重新加权的特征图,每个预测的边界框只需要一个类别预测分数,而不是类别总数(N)。分类得分(Cp)指示检测到的对象属于每个类别的可能性。将具有相同anchor大小的相同anchor boxes位置生成的分类分数作为一个组,则将有N个分类分数属于输入图像的相同anchor boxes。

将这N个预测框命名为

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages(i=1,2,…,N),在概率向量上应用softmax函数来归一化这些概率值。每个类i最终分类分数可以表示为:

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages是类别i的最终分类可能性并且遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages。客观可能性和分类可能性一起有助于判断是否检测到目标以及该目标属于哪个类别。

E、Loss function

我们的目标检测模型的损失函数由目标定位损失和目标分类损失两部分组成。对于目标定位,我们使用均方误差损失来补偿预测边界框与真实边界框之间的错位。在给定预测边界框坐标

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages和真实边界框坐标遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages的情况下,目标定位损失计算如下:

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages

其中l表示coordinate enumerator坐标枚举器,它可以选自{w,y,w,h},即特定边界框的四个坐标表示。pos表示期望预测真实边界框的所有正anchors。在坐标损失计算中仅使用正anchors的损失。那些负anchor boxes的定位损失被忽略了。如果anchor boxes与某个真实边界框ground truth之间的IOU大于给定阈值(例如0.7),则我们将该anchor box认为是正的。此外,如果anchor boxes与所有真实边界框之间的IOU都小于给定阈值(例如0.3),则我们将该anchor box认为是负的。如果一个anchor box在所有anchor boxes中和某个真实边界框有着最大的IOU,则我们也将该anchor box标识为正的。

objectness得分

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages的损失函数是二进制交叉熵损失,计算如下:

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages

其中,Po表示上述的预测的客观可能性。

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages表示真正的可能性,当它是正框时是1,当它是负框时是零。遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages是objectness loss和none-objectness loss的权重。考虑到通常有比正框多得多的负框,遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages被用来平衡这两个损失项。

对于目标分类,我们使用交叉熵损失来加强预测类别与真实类别的对准,计算如下:

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages

这里

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages是真实类的分类分数,因为我们已经使用objectness score来决定预测框中是否包含对象,所以在计算分类损失时忽略了背景类。总体目标损失函数表示为:

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages

F、Training and Inference

在我们的少样本检测模型中,训练过程是在episodes上进行的。为了便于在少样本检测场景中进行模型训练,在训练过程中,我们将训练数据集重组为两个集合:查询集(Q)和支持集(S)。查询集包含一组查询图像及其注释(A):

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages

支持集是训练数据集按目标类重组得到的。正如在3-C中解释的那样,每个查询图像都与来自所有类的一组支持图像相关联。因此,我们根据这些图像中的目标类别把训练图像分为N组

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages,i=1,2,….N。重组后,为每个支持图像生成一个边界框掩码。当像素位于ground truth bounding box之内时,将像素值设置为1,否则设置为0,即可生成掩码mask。假设遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages的边界框掩码,支持集可表示为:

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages

每一个episode

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages由一个查询图像遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages,查询图像的边界框注释遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages,以及来自每个特定类别组的一对支持图像及其边界框掩码(遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages)组成的:

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages分别输入到特征提取器和重新加权模块中,而遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages作为ground truth。

在少样本检测场景下,我们需要在数据集中保留一些对象类来进行少样本调优。为了实现这一点,数据集中的所有类被划分为基类和新类。基类需要尽可能多的样本来训练一个精确的基本模型,而新类则被视为只有少量注释样本的新检测任务。

训练过程分为两步,第一步是在基类上进行训练以学习网络参数,这一步通常需要大量的训练数据,花费的时间比较长,在后续的利用中通常不需要再次训练;第二步是用少量样本来训练新类,速度很快,而且每当增加新的类时都要进行。

整个训练和测试过程在算法1中进行了说明:

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages

4、Experiments and Results

在本节中,我们评估了我们的模型在两个公共基准遥感图像数据集上的少样本目标检测性能,并将我们的方法与[19]和[25]进行比较,以展示我们模型的优越性。

A、Dataset

NWPU VHR-10是[57]发布的一个非常高分辨率(VHR)遥感图像数据集。该数据集包含从Google Earth和ISPRS Vaihingen数据集[58]收集的800张遥感图像。手动注释150张没有目标对象的”负样本”和650个至少有一个对象的”正样本”。该数据集中共有10个对象类别:airplane, baseball diamond, basketball, bridge, court, groundtrack field, harbor, ship, storage tank, tennis court ,vehicle。

DIOR是[2]发布的用于遥感图像目标检测的大型基准数据集。DIOR数据集中的图像来自Google Earth,共有23463张图像和20个类的192472个实例。目标类别包括airplane,airport, baseball field, basketball court, bridge, chimney, dam,expressway service area, expressway toll station, harbor, golfcourse, ground track field, overpass, ship, stadium, storagetank, tennis court, train station, vehicle, windmil。所有图像的大小为800×800像素,空间分辨率从0.5m到30m不等。在DIOR数据集中,对象大小差异很大。

B. Experimental Configurations

为了评估我们的FSODM模型在少样本场景下的检测性能,我们将每个数据集分为两部分,一部分由基类构造,另一部分由新类构造。对于NWPU VHR-10数据集,4个类(airplane, baseball diamond, tennis court)用作新类,其他类用作基类。对于DIOR来说,5个类(airplane, baseball field, tenniscourt, train station, windmill)被选为新类,其他课程被选为基类。

此外,我们采用多尺度训练技术来提高模型性能。输入图像的尺寸范围在(384、416、448、480、512、544、576、608、640)中变化,并且所有输入图像都是正方形的。我们注意到,在DIOR数据集中,原始图像远大于所需的输入尺寸。因此,这些大图像被裁剪成一系列1024×1024像素的patches,并且stride为512像素(对于DIOR数据集,所有图像的大小均为800×800像素,此步骤被忽略)。对于在这个过程中被截断的对象,我们忽略这些被截断的对象实例,它们与原始对象实例的重叠小于70%

C. Comparing methods

我们将我们的FSODM模型与流行的目标检测器YOLOv3[25]模型以及当前最先进的少样本检测器[19]进行了比较。我们不包括其他比较方法,因为之前的工作已经表明,YOLOv3在标准目标检测场景中的优越性,以及[19]在少样本检测场景中的优越性。对于[19],实验设置与我们的方法相同:从基类在相同集合上进行训练,从新类的相同集合进行调整。在训练Yolov3模型时存在一些差异。YOLOv3模型的训练过程包括两个步骤,即预训练和少样本调整。在预训练阶段,我们从训练集中去除所有属于新类的对象,并对模型进行正常训练;在调整阶段,我们使用几个带注释的样本来训练模型。请注意,YOLOv3模型使用复杂的数据增强策略来提高其性能,在我们的实验中,我们没有实施这些策略来与我们的方法进行公平比较。

我们采用平均精度(mAP)来评估目标检测性能。我们按照PASCAL VOC2007基准[59]计算mAP,当查全率从0增加到1,步长为0.1时,它取11个精确值的平均值。

D、Results on NWPU VHR-10

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages

表2 NWPU VHR-10数据集的新类别上的少样本检测性能(MAP)

表2列出了我们的FSODM方法和比较方法在NWPU VHR-10数据集上的新类上的少样本目标检测性能。如表2所示,我们提出的FSODM模型的性能明显好于[19]和YOLOv3。更具体地说,与另一种少样本目标检测器[19]相比,我们的方法在3-shot设置下获得的平均MAP高166.6%,在5-shot设置下高120.8%,在10-shot设置下高62.5%。传统的基于非少样本的方法YOLOv3的性能比两种基于少样本的方法差得多。即使在20-shot设置下,YOLOv3只得到0.28的mAP,这比我们的FSODM模型在3-shot设置下的mAP更差。此外,如表2所示,随着新类中标注样本数量的增加,我们的FSODM模型的检测性能迅速提高。

从表2还可以看出,我们的FSODM模型和比较方法在”baseball diamond”类别上都获得了更好的性能。这是因为baseball diamond’的大小变化较小,这使得它很容易被检测模型检测到。

E、Results on DIOR

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages

表3 DIOR数据集的新类别上的少样本检测性能(MAP)

考虑到Dior数据集是一个对象结构和大小变化很大的大规模数据集,因此对新类使用了大量的注释样本。具体地说,对于基于非少样本的方法,即YOLOv3,我们对新类分别用20个和30个带注释的样本进行了实验。表3显示了我们的方法和比较方法在Dior数据集的新类别上的定量结果。

如表3所示,我们的FSODM模型比[19]中的另一种基于少样本的方法取得了更好的性能,这两种基于少样本的方法在样本更少的情况下都比基于非少样本的方法YOLOv3获得了更好的性能。此外,随着新类中标注样本数量的增加,三种方法的检测性能都得到了一致的提高。表3还表明, ‘baseball field’ 和 ‘tennis court’这两个类别的检测性能更好。这可能是因为这两个对象的类别内差异较小。

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages

图5 我们的少样本检测结果的一些例子 左:使用10-shot设置的NWPU VHR数据集的新类检测结果右:使用20-shot设置对DIOR数据集的新类检测结果。红框、黄框和蓝框分别表示true positive、false positive和false negative检测

图5显示了我们的FSODM模型在NWPU VHR-10数据集和DIOR数据集上的少样本检测结果的一些示例。如图5所示,我们的模型能够成功地检测到NWPU VHR-10和DIOR数据集的所有新类别中的大多数目标。大多数失败的原因来自于丢失或错误地检测到小对象,而且,由于新类只有少量带注释的样本,我们的模型无法准确地定位尺寸或外观变化较大的’train stations’。

5、Discussion

A、Detection performance on base classes

一个好的少样本目标检测模型不仅要在标注样本少的新类上表现良好,而且不能牺牲基类上的性能,也就是说,在数据丰富的情况下,它的性能应该和传统的非少样本目标检测模型一样好。

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages

表4 NWPU VHR-10数据集的基类的检测性能(MAP)

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages

表5 DIOR数据集的基类的检测性能(MAP)

表4和表5显示了我们的FSODM模型和比较方法在NWPU VHR-10和DIOR数据集的基类上的性能。
从表4可以看出,这三种方法在基类上的性能相似,只是map值略有不同,在大规模DIOR数据集上,我们的方法比另一种基于少样本的方法[19]性能更好。这表明,在少样本检测场景下,我们提出的方法能够更好地保持基类的性能。当给定大数据量时,我们的基于少样本的方法的性能达到了与传统的YOLOv3检测相同的map。

B、Number of shots

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages

图6 NWPU VHR-10数据集不同shot任务的检测性能。水平虚线是对所有数据集样本的性能,其中airplane样本1025个,baseball diamond样本519个,tennis court样本643个

我们研究了我们的少样本目标检测模型在不同shots(即带注解的样本)数量下在新类上的性能。为了展示我们基于少样本的模型的优势,我们使用来自NWPU VHR-10数据集的新类别的所有训练样本进行了实验,并使用YOLOv3作为基线模型。对于我们的FSODM模型,我们使用较大的几个shot范围(从5到60)进行实验。如图6所示,我们的模型只使用60个(8%)来自新类别的训练样本,就可以达到与使用所有训练样本的基线模型几乎相同的检测性能。这是因为我们的FSODM模型可以从基类中学习元知识,并将其有效地应用于新类的检测,而基线模型不能将知识从基类转移到新类中;此外,在baseball diamond类上,我们的模型只使用20个标注样本,取得了与使用所有训练样本的基线模型几乎相同的性能。这可能是因为baseball diamond具有较小的类内差异,并且可以很容易地从几个带注释的样本中识别其结构。相比之下,尽管飞机类与使用基线模型的baseball diamond类具有几乎相同的检测性能,但少样本的检测性能明显较差。这是因为飞机类别中的目标在结构和大小上有更大的变化,如图5所示。这一挑战阻碍了我们的模型在只有少量样本(少于60个)的情况下获得令人满意的性能。尽管如此,当给出足够的注释样本(60)时,我们的基于少样本的模型可以成功地获得与基线模型相当的性能。

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages

在我们的方法中,通过重新加权模块来提取重新加权向量,从而显著支持最终的检测性能。为了探索这些加权向量之间的关系,我们使用t-分布随机邻域嵌入(t-SNE)[60]对它们进行降维,并在坐标轴上可视化它们。T-SNE是一种将高维向量之间的内在联系传递到低维向量的降维技术。简单地说,t-SNE将高维空间中的close向量在低维空间中保持close,在高维空间中的remote向量在低维空间中保持remote。

遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages

图7 重新加权向量的t-SNE[60]显示 重新加权向量从DIOR数据集(每种类别20张图片)中随机选取400张支持图像生成。(a)、(b)、(c)分别为维度为256、512、1024的重新加权向量的可视化

图7显示了一些可视化的重新加权向量的例子。在图中,来自相同类别的加权向量倾向于聚集在一起,这表明学习的重新加权向量成功地表征了来自原始support masks支持掩码的对象类信息。此外,图7(c)的聚类结果明显优于图7(a)和图7(b)的结果。原因是一个重新加权向量包含的元素越多,它承载的信息就越多。因此,具有更高维度的重新加权向量,越能更好地表示支持样本中的对象信息。

6、Conclusions

本文介绍了一种新的基于少样本学习的遥感图像目标检测方法,他是第一个挑战该领域的。我们首先阐述了遥感图像上的少样本目标检测问题。然后介绍了我们所提出的方法,该方法包括三个主要部分:元特征提取器、特征加权模块和边界框预测模块。每个模块采用多尺度结构设计,实现多尺度目标检测。我们的方法使用一些基类中的大规模数据进行训练,可以从基类中学习元知识,并且仅用少量的样本就可以很好地泛化到新类。在两个公共基准数据集上的实验表明,我们的方法能够通过少量的标注样本检测出新类的对象。本工作是遥感领域少样本检测的第一步,我们将在该领域进一步完善和不断探索。

Original: https://blog.csdn.net/weixin_42390283/article/details/124027433
Author: 象牙山首富_
Title: 遥感图像中的小样本目标检测:Few-shot Object Detection on Remote SensingImages

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/519765/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球