关于机器学习:OWOD开放世界目标检测更贴近现实的检测场景-CVPR-2021-Oral

28次阅读

共计 4169 个字符,预计需要花费 11 分钟才能阅读完成。

不同于以往在固定数据集上测试性能,论文提出了一个更符合实际的全新检测场景 Open World Object Detection,须要同时辨认出未知类别和已知类别,并一直地进行增量学习。论文还给出了 ORE 解决方案,通过比照聚类和基于能量的分类器来进行凋谢凋谢世界的检测训练

起源:晓飞的算法工程笔记 公众号

论文: Towards Open World Object Detection

  • 论文地址:https://arxiv.org/abs/2103.02603
  • 论文代码:https://github.com/JosephKJ/OWOD

Introduction


  常见的指标检测算法都针对特定的数据集进行训练,学习固定数量的类别,用于特定的场景。而论文则探讨一个更事实的场景,凋谢世界指标检测(Open World Object Detection)。在这个场景中,算法须要解决非指标误辨认问题以及具备增量学习的能力。

  将检测模型利用到凋谢世界中,除了辨认指定类别的指标,还要将非指标类别区别为 Unknow,称为 Open Set Learning,这须要很强的泛化能力。而 Open World Object Detection 场景的要求会比 Open Set Learning 更进一步,当 Unknow 样本足够时,可随时将 Unknow 样本打上标签退出到指标类别中,即增量学习。这样的场景设定更为事实,更有助于算法落地,比方机器人、主动驾驶以及监控等须要在运行中一直进行优化的利用。
  论文的次要奉献如下:

  • 定义了 Open World Object Detection 问题,更贴近现实生活。
  • 提出 ORE 算法,基于比照聚类 (contrastive clustering)、可框出未知类别的检测网络(unknown-aware proposal network)、能量分类器(energy based unknown identification) 来解决 Open World Object Detection 上的问题。
  • 设计了齐备的试验,用于掂量算法在 Open World Object Detection 上的性能。
  • 作为论文的副产品,ORE 在增量学习工作上达到了 SOTA,而且还有很大的晋升空间。

Open World Object Detection


  首先定义 Open World Object Detection 的环境,在 $t$ 时刻,已知的指标类别为 $\mathcal{K}^t=\{1,2,\cdots,C\} \subset{\mathbb{N}^{+}}$,其中 $\mathbb{N}^{+}$ 为所有正整数,未知的类别为 $\mathcal{U}=\{C+1,\cdots\}$。$\mathcal{K}$ 的训练集为 $\mathcal{D}^t=\{X^t,Y^t\}$,$X=\{I_1,\cdots,I_M\}$ 和 $Y=\{Y_1,\cdots,Y_M\}$ 别离为图片和标注信息,其中每张图片的 $Y_i=\{y_1,y_2,\cdots,y_K\}$ 蕴含了多个指标实例,每个实例都有其标签和地位信息。
  在 Open World Object Detection 的设定中,模型 $M_C$ 用于检测所有的 $C$ 个已知类别,同时能够将为未知的指标标记为未知(0),未知的实例汇合 $U_t$ 通过专人筛选后得出 $n$ 个样本足够的新类别,而后通过增量学习地获取模型 $M_{C+n}$,已知类别更新为 $\mathcal{K}_{t+1}=\mathcal{K}_t+\{C+1,\cdots,C+n\}$。不停地循环执行上述的步骤,模型就能够不停地迭代其类别。

ORE: Open World Object Detector


  Open World Object Detection 的关键在于可能无监督地辨认未知类别,以及退出新类别时不会忘记先前的类别。为了解决上述问题,论文提出了 ORE 解决方案。

  图 2 为 ORE 的高层形象,以两阶段检测器 Faster R-CNN 作为根底检测器。在第一阶段,检测器可通过类不可知的 RPN 给出可能存在物体的所有区域,而在第二阶段,将上述的每个区域进行分类和地位调整。为了更好的适应 Open World Object Detection,ORE 对 RPN 和分类器都进行了相应的改良,适应主动打标签和辨认未知类的需要。

Contrastive Clustering

  将 Open World 中辨别未知类问题转化为比照聚类问题是个不错的抉择,在特色空间上进行类别宰割,同类别的实例会尽量的凑近,而不类似的类别则会尽量的远离。对于每个已知类 $i \in \mathcal{K}^t$,保护一个原型向量 $p_i$,假如 $f_c\in \mathbb{R}^d$ 为类别 $c$ 的中间层特色,对应图 2 的 ROI Head 中的蓝色 2048 维特色,定义比照损失为:

  $\mathcal{D}$ 为间隔函数,$\Delta$ 为类似阈值,不同类别实例间的间隔要大于该阈值。在训练时,通过最小化比照损失来保障特色空间上的类别宰割。须要留神的是,比照聚类的关键步骤是保护各类别的原型向量汇合 $\mathcal{P}=\{p_0,\cdots,p_C\}$,个别取该类别的特征向量的均值。但因为整个网络是端到端训练的,特征向量也在一直地变动,原型向量也会跟着一直变动。为了适应这个个性,ORE 为每个类保护了一个固定大小的特色队列 $\mathcal{F}_{store}=\{q_0,\cdots,q_C\}$,用来存储最新的特征向量。

  比照损失的计算过程如算法 1 所示,为了保障原型向量有绝对的准确性,仅当超过肯定迭代次数 $I_b$ 之后才开始计算损失值,之后每 $I_b*n$ 次迭代就以动量的模式更新一次原型向量。这样能够防止原型向量变动过大的问题,失去的损失值增加到检测损失值中进行端到端的学习。

Auto-labelling Unknowns with RPN

  在比照聚类中,未知类别也有其对应的原型向量 $p_0$,按失常的流程,须要对图片中的所有未知类别进行标注,以便归类特色,显然这是不事实的。所以论文采纳 RPN 的预测框输入作为一个未知指标标注的折衷抉择,将预测框中 objectness 分数高且与 GT 无重叠的 top- K 局部间接归类为未知指标,将其特色退出到未知列表的特色队列 $q_0$ 中。

Energy Based Unknown Identifier

  因为 Opern World Detection 场景蕴含未知类别的个性,传统的 softmax 分类器可能会给出不可控的后果,所以论文采纳了基于能量的分类器(EBM),可能学习输出特色与标签之间的匹配水平,用来辨认未知指标。给定特色 $f \in F$ 与标签 $l\in L$,学习一个能量函数 $E(F,L)$,可能通过 $E(f):\mathbb{R}^d\to\mathbb{R}$ 失去一个能用于形容特色与标签之间的匹配水平的标量(即能量)。这里,论文采纳了 Helmholtz free energy 公式计算所有标签的后果之和:

  $T$ 是温度参数。通过 Gibbs 散布,能够将各标签的能量转化成相似 softmax 那样的成果:

  $p(l|f)$ 为标签 $l$ 的概率密度函数,$g_l(f)$ 为分类头 $g(\cdot)$ 的第 $l^{th}$ 个分类单元。依据公式 3 的对应关系,论文失去了用于分类模型的 free energy 公式:

  因为 ORE 用了比照聚类对特色进行宰割,已知类别的能量值和未知类别的能量值也有显著的差异。对已知类别和未知类别的能量值散布进行 shifted Weibull distributions 建模,失去 $\xi_{kn}(f)$ 和 $\xi_{unk}(f)$,如图 3 所示。当 $\xi_{kn}(f) < \xi_{unk}(f)$ 时,可认为该指标属于未知类别。

Alleviating Forgetting

  在对辨认进去的未知指标进行标注后,失去了新的数据集,如果将所有数据集混合从新训练会很耗时且不够灵便,所以只能应用新数据集进行增量学习,这就须要解决新类别训练对旧类别辨认成果的影响。
  论文参照了增量学习的 SOTA 办法,应用简略的样本回放策略来保障旧类别的成果,先结构一个小的样本集(exemplar set),蕴含每个类别的 $N_{ex}$ 个样本,每次应用全量新数据集进行增量学习后,都应用小样本集进行一次 finetune 训练,这样就能很好地保障旧类别的成果而且不耗时。

Experiment


Open World Evaluation Protocol

  因为是一个全新的工作场景,论文也对试验进行了一些形容。

Data split

  将所有类别分成多个工作 $\mathcal{T}=\{T_1, \cdots, T_t, \cdots\}$,具体的类别起源如表 1 所示。在特定的工夫 $t$ 将特定的工作 $T_t$ 投放到场景中,类别 $\{T_{\tau}: \tau < t\}$ 作为已知类别,而类别 $\{T_{\tau}: \tau > t\}$ 则作为未知类别。

Evaluation metrics

  因为未知指标容易辨认成已知类别,应用 Wilderness Impact(WI)指标来掂量这种体现:

  $P_{\mathcal{K}}$ 为在已知类别的验证集上的准确率,$P_{\mathcal{K}\cup \mathcal{U}}$ 为在已知类别和未知类别的验证集上的准确率,上述的准确率都是在 0.8 召回率下对应的值。现实状况下,WI 的值越小越好,表明未知类别对准确率的烦扰很少。此外,还应用 Absolute Open-Set Error(A-OSE)来示意未知类别辨认成已知类别的相对数量,再加上指标检测罕用的 map 指标。

Open World Object Detection Results

  上述是一个次要的试验后果,论文还有很多比照试验,有趣味的能够去看看。

Conclusion


  不同于以往在固定数据集上测试性能,论文提出了一个更符合实际的全新检测场景 Open World Object Detection,须要同时辨认出未知类别和已知类别,并一直地进行增量学习。论文还给出了 ORE 解决方案,通过比照聚类和基于能量的分类器来进行凋谢凋谢世界的检测训练。



如果本文对你有帮忙,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】

正文完
 0