CVPR 2021 | MI-AOD: 少量样本实现高检测性能

摘要:尽管主动学习在图像识别方面取得了长足的进步,但仍然缺乏一种专门适用于目标检测的示例级的主动学习方法。在本文中,我们提出了多示例主动目标检测(MI-AOD),通过观察示例级的不确定性来选择信息量最大的图像用于检测器的训练。MI-AOD定义了示例不确定性学习模块,该模块利用在已标注集上训练的两个对抗性示例分类器的差异来预测未标注集的示例不确定性。MI-AOD将未标注的图像视为示例包,并将图像中的特征锚视为示例,并通过以多示例学习(MIL)方式对示例重加权的方法来估计图像的不确定性。反复进行示例不确定性的学习和重加权有助于抑制噪声高的示例,来缩小示例不确定性和图像级不确定性之间的差距。实验证明,MI-AOD为示例级的主动学习设置了坚实的基线。在常用的目标检测数据集上,MI-AOD和最新方法相比具有明显的优势,尤其是在已标注集很小的情况下。代码地址为 https://github.com/yuantn/MI-AOD


论文标题

Multiple Instance Active Learning for Object Detection (用于目标检测的多示例主动学习)
 

关键词

主动学习(Active Learning),目标检测(Object Detection),多示例学习(Multiple Instance Learning)
 
文章标题 

太长不看版

  • 首次创造性地为【主动学习+目标检测】任务【量身定制】设计了一种方法!
  • 在 PASCAL VOC 数据集上仅使用【20%】的数据就达到了 100% 数据性能的【93.5%】!
  • 首次在【MS COCO】数据集上应用了主动学习,并取得了最优性能!
  • 思路清晰简单,可推广至【任何类型】的检测模型!

源码地址:(欢迎大家多多 star⭐⭐⭐)https://github.com/yuantn/MI-AOD

https://github.com/yuantn/MI-AOD

论文地址:(arXiv 上为 Camera Ready 最新版本)https://arxiv.org/pdf/2104.02324.pdf

https://arxiv.org/pdf/2104.02324.pdf

1. 任务与动机(Task & Motivation)

1.1 为什么需要主动学习?

在近些年的数据集中,数据量越来越多,但在某些场景中标记数据的代价会非常大(如医学图像分割、小目标检测等),并且相比之下,获取无标注的图像要容易得多。因此,为了更好的学习特征而达到更高的性能,我们不再考虑一味的增大数据量来实现这个目的,而是通过用更少量有标注的数据,更高效的学习特征。为了选择想要学习的数据,则需要一种周期性的、阶段性的方法进行学习,此即为主动学习(Active Learning)


主动学习产生的原因
 

1.2 什么是主动学习?

主动学习背后的关键思想是,如果允许一个机器学习算法选择它想要学习的数据,那么它就可以通过较少的训练样本来达到更好的性能。尽管在监督较少的情况下的机器学习方法(例如弱监督和半监督)有着迅速的发展,但主动学习仍然是许多实际应用的基础,因为它更简单,性能更高。


主动学习过程示意图
 

主动学习的过程在上面这幅图中很好地体现了出来。首先,我们从训练集中随机选取一部分样本,作为一个较小的图像集合 X L 0 \mathcal{X}_L^0 XL0(已标注集),带有示例标注 Y L 0 \mathcal{Y}_L^0 YL0 。此外还存在一个较大的图像集合 X U 0 \mathcal{X}_U^0 XU0(未标注集),其中没有任何标注。对于目标检测而言,每张图像的标签均由边界框( y x l o c y_x^{loc} yxloc)和感兴趣物体的类别( y x c l s y_x^{cls} yxcls)组成。

我们通过使用已标注集 { X L 0 , Y L 0 } \{\mathcal{X}^0_L, \mathcal{Y}^0_L\} { XL0,YL0} 初始化检测模型 M 0 M_0 M0 。基于初始化过的模型 M 0 M_0 M0,主动学习的目的是从 X U 0 \mathcal{X}_U^0 XU0 中选择要手动标注的一组图像 X S 0 \mathcal{X}_S^0 XS0,并将其与 X L 0 \mathcal{X}_L^0 XL0 合并形成新的已标注集 X L 1 \mathcal{X}_L^1 XL1,即 X L 1 = X L 0 ∪ X S 0 \mathcal{X}^1_L = \mathcal{X}^0_L \cup \mathcal{X}^0_S XL1=XL0XS0 。所选图像集 X S 0 \mathcal{X}_S^0 XS0 应该是信息量最大的,即可以尽可能提高检测性能。

上图中的信息量最大由不确定性(Uncertainty)表示,即将 X U 0 \mathcal{X}_U^0 XU0 中的样本输入到现有模型中,如果模型对于各个类别的输出分数更均匀,则该样本不确定性更高。

在更新后的已标注集 X L 1 \mathcal{X}_L^1 XL1 的基础上,任务模型被重新训练并更新为 M 1 M_1 M1 。模型训练和样本选择过程重复几个周期,直到已标注图像的数量达到标注预算。

在上图中我们还注意到,主动学习实际是由两个大的步骤组成,即学习(Learn)与挑选(Select),这就要求我们既要能够尽可能利用已有的样本,最大程度的学习(如采用半监督(Semi-supervised learning)、自监督(Self-supervised learning)等方式学习),又要能够在阶段性学习的基础上,挑选出下一阶段可供学习的样本(如选用不确定性Uncertainty、多样性(Diversity)等标准挑选)。

即,既要会上课,也要会选课。

1.3 主动学习的相关工作

在计算机视觉领域,根据以往的经验,通过将在已标注集上训练的模型推广到未标注集上,各项研究广泛地探索了主动学习,并将其用于图像分类(即主动图像分类)。

  • 基于不确定性的方法(Uncertainty-based) 定义了各种度量标准,用于选择信息量大的图像,并使经过训练的模型能够迁移到未标注集上[4]。
  • 基于分布的方法(Distribution-based) 旨在估计未标注图像的分布,以选择能使整体多样性更强的样本[7, 1]。
  • 预期模型改变量的方法[3, 6](Expected model change) 是要找出能导致模型参数变化最大或训练损失最大[8]的样本。

基于分布的方法[7]
 

基于不确定性的方法:找模型难以判断的样本,难判断则需要进一步学习
基于分布的方法:找离已标注样本最远的样本,最远则说明目前还没有学到
预期模型改变量的方法:找能使模型改变最大的样本,改变大则更需要学

1.4. 主动目标检测(Active Object Detection)的相关工作与存在的问题

尽管已经取得了重大进展,但仍然缺少一种专门适用于目标检测(Object Detection)(即主动目标检测[8, 9, 2])的示例级主动学习方法,其中一个示例(instance)表示图像中的一个候选框(proposal)。主动目标检测的客观上目的是选择信息量最大的图像进行检测器训练。但是,他们通过简单地将示例或像素的不确定性综合或平均为图像的不确定性来解决该问题。


示例的不确定性 -> 平均 -> 图像的不确定性[8]
 

像素的不确定性 -> 求和 -> 图像的不确定性[2]
 

然而,这样忽略了目标检测中负示例产生的较大的不平衡,这导致了背景中存在大量噪声高的示例,并干扰了图像不确定性的学习,如图1(a)所示。


图1:主动目标检测方法的比较。(a)传统方法通过简单地平均示例不确定性来计算图像不确定性,而忽略了来自大量背景示例的干扰。(b)我们的MI-AOD方法通过多示例学习利用不确定性重加权,来滤除干扰示例,同时缩小了示例不确定性和图像不确定性之间的差距。
 

1.5. 多示例主动目标检测(Multiple Instance Active Object Detection, MI-AOD)

在本文中,我们提出了一种多示例主动目标检测方法(MI-AOD),如图1(b)所示。该方法的目的是,用 差异学习(Discrepancy Learning)多示例学习(MIL) 的方法学习和重加权(re-weight)示例的不确定性,来从未标注集中选择信息量大的图像。

为了学习示例级的不确定性,MI-AOD首先定义了一个示例不确定性学习模块(IUL),该模块利用插入在检测网络(如特征金字塔网络(FPN))顶部的两个对抗性示例分类器来学习未标注示例的不确定性。最大化两个示例分类器的预测差异可预测示例的不确定性,而最小化分类器的差异则可学习特征,从而减少已标注和未标注示例之间的分布偏差。

为了建立示例不确定性和图像不确定性之间的关系,MI-AOD引入了一个多示例学习模块,该模块与示例分类器是并列的。多示例学习将每个未标注的图像视为一个示例包(instance bag),并通过评估各个图像之间的示例外观一致性来进行示例不确定性的重加权(IUR)。

在多示例学习中,根据图像类别标签(或伪标签)定义的分类损失,示例不确定性和图像不确定性被强制一致性地进行学习。优化图像级的分类损失有助于抑制噪声高的示例,同时突出显示真正具有代表性的示例。反复进行示例不确定性的学习和重加权缩小了示例级观察和图像级评估之间的差距,以便选择信息量最大的图像进行检测器训练。


MIL中的示例包(椭圆)与示例(正负号)
 

本文的贡献包括:

  1. 我们提出了多示例主动目标检测(MI-AOD),建立了一个坚实的基线(baseline)来建模示例不确定性和图像不确定性之间的关系,以进行信息量大的图像选择。
  2. 我们设计了示例不确定性学习(IUL)和示例不确定性重加权(IUR)模块,提供了有效的方法来突出显示信息量大的示例,同时在目标检测中过滤出噪声高的示例。
  3. 我们将MI-AOD应用于常用数据集上的目标检测,相比于最新方法有着显著优势。

2. 方法(Method)

2.1. 综述(Overview)

考虑到每个图像中存在大量示例(例如,RetinaNet检测器会为每个图像生成几十万个锚(anchor)/示例(instance)),因此主动目标检测中存在两个关键问题:

  1. 如何使用在已标注集上训练的检测器来评估未标注示例的不确定性
  2. 如何在滤除高噪声示例的同时精确地估计图像的不确定性

MI-AOD通过分别引入两个学习模块来解决这两个问题。


图2:MI-AOD的阐释图。(a)利用两个对抗性分类器进行示例不确定性学习(IUL)。(b)使用多示例学习进行示例不确定性重加权(IUR)。较大的符号(“+”和“-”)表示较大的权重。
 

对于第一个问题,MI-AOD引入了示例不确定性学习(Instance Uncertainty Learning,IUL),目的是突出未标注集中信息量大的示例,以及对齐已标注集和未标注集的分布,如图2(a)所示。这样做的动机是,大多数主动学习方法仍然只是将在已标注集上训练的模型简单地推广到未标注集上。当两个集合之间存在分布偏差时,这样做是有问题的[5]。

对于第二个问题,MI-AOD将多示例学习引入到已标注集和未标注集中,以通过对示例不确定性的重加权来估计图像的不确定性。这是通过将每个图像当作一个示例包来完成的,同时在图像分类损失的监督下重加权示例的不确定性。优化图像分类损失有利于突出显示属于同一物体类别的真正具有代表性的示例,同时抑制噪声高的示例,如图2(b)所示。

2.2. 示例不确定性学习(Instance Uncertainty Learning,IUL)


图3:IUL的网络架构。(a)训练已标注集。(b)通过最大化分类器预测差异来最大化示例不确定性。(c)通过最小化分类器预测差异来最小化示例不确定性。
 

训练已标注集。 通过使用RetinaNet作为基线(baseline),我们构造了一个检测器,该检测器具有两个不同的示例分类器( f 1 f_1 f1 f 2 f_2 f2 )和一个边界框回归器( f r f_r fr),如图3(a)所示。我们利用两个示例分类器之间的预测差异来学习未标注集上的示例不确定性。令 g g g 表示参数为 θ g \theta_g θg 的特征提取器。差异分类器的参数为 θ f 1 \theta_{f_1} θf1 θ f 2 \theta_{f_2} θf2 ,回归器的参数为 θ f r \theta_{f_r} θfr Θ = { θ f 1 , θ f 2 , θ f r , θ g } \Theta = \{\theta_{f_1}, \theta_{f_2}, \theta_{f_r}, \theta_{g}\} Θ={ θf1,θf2,θfr,θg} 表示所有参数的集合,其中 θ f 1 \theta_{f_1} θf1 θ f 2 \theta_{f_2} θf2 彼此是独立初始化的。

在目标检测中,每个图像 x x x 可以由多个示例 { x i , i = 1 , . . . , N } \{x_i, i=1,...,N\} { xi,i=1,...,N} 表示,这些示例和特征图上的特征锚(feature anchor)相对应。 N N N 是图像 x x x 中示例的数量。 { y i , i = 1 , . . . , N } \{y_{i}, i=1,...,N\} { yi,i=1,...,N} 表示图像中示例的标签。给定已标注集,通过优化以下检测损失来训练检测模型:

a r g m i n Θ l d e t

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值