Towards Open World Object Detection
-
- 摘要
- [1 介绍](#1 介绍)
- [2 相关研究](#2 相关研究)
- [3 开放世界目标检测](#3 开放世界目标检测)
- [4 ORE:开放世界目标检测器](#4 ORE:开放世界目标检测器)
-
- [4.1 对比聚类](#4.1 对比聚类)
- [4.2 RPN自动标注未知类别](#4.2 RPN自动标注未知类别)
- [4.3 基于能量的未知标识](#4.3 基于能量的未知标识)
- [4.4 减少遗忘](#4.4 减少遗忘)
- [5 实验](#5 实验)
-
- 5.1开放世界评估协议
- [5.2 实现细节](#5.2 实现细节)
- [5.3 开放世界目标检测结果](#5.3 开放世界目标检测结果)
- [5.4 增量目标检测结果](#5.4 增量目标检测结果)
- [6 讨论和分析](#6 讨论和分析)
- [7 结论](#7 结论)
- 补充材料
-
- [A 变化FStore的队列大小](#A 变化FStore的队列大小)
- [B η的敏感性分析](#B η的敏感性分析)
- [C. 在Lcont中变化边界值 (∆)](#C. 在Lcont中变化边界值 (∆))
- [D. 在方程4中变化温度(T)](#D. 在方程4中变化温度(T))
- E.有关对比聚类的更多详细信息
- [F 进一步的实现细节](#F 进一步的实现细节)
- [G 增量目标检测的相关工作](#G 增量目标检测的相关工作)
- [H 时间和存储费用](#H 时间和存储费用)
- [I 基于Softmax的未知识别](#I 基于Softmax的未知识别)
- [J 定性结果](#J 定性结果)
- [K 讨论关于失败的案例](#K 讨论关于失败的案例)
摘要
人类在环境中有一种自然本能,即识别未知的物体实例。对于这些未知实例的内在好奇心有助于在相应的知识最终可得到时学习它们。这激发我们提出了一个新颖的计算机视觉问题,称为"开放世界目标检测",其中模型的任务是:
- 无需明确监督就识别尚未引入为"未知"的物体。
- 当相应标签逐步接收时,逐步学习这些已识别的未知类别,而不会遗忘先前学习的类别。
我们对问题进行了规定,引入了强大的评估协议,并提供了一种新颖的解决方案,称为ORE:开放世界目标检测器,它基于对比聚类和基于能量的未知识别。我们的实验评估和消融研究分析了ORE在实现开放世界目标方面的效力。作为有趣的副产品,我们发现识别和描述未知实例有助于减少增量式目标检测中的混淆,在这种情况下,我们在没有额外方法论努力的情况下实现了最先进的性能。
我们希望我们的工作能吸引更多关于这个新识别但至关重要的研究方向的进一步研究。
1 介绍
深度学习在目标检测研究中加速了进展[14, 54, 19, 31, 52],其中模型的任务是在图像中识别和定位物体。所有现有的方法都基于一个强烈的假设,即在训练阶段可以获得所有要检测的类别。然而,当我们放松这个假设时,出现了两个具有挑战性的情况:
- 测试图像可能包含来自未知类别的物体,应该将其分类为未知。
- 当关于这些已识别未知类别的信息(标签)变得可用时,模型应该能够逐步学习新的类别。
发展心理学的研究[41, 36]发现,识别自己不知道的东西是激发好奇心的关键。这种好奇心激发了对学习新事物的渴望[9, 16]。这激励我们提出了一个新的问题,即模型应该能够将未知对象的实例标识为未知,并随后在训练数据逐步到达时学习识别它们,以统一的方式解决这个问题。我们将这个问题设置称为"开放世界目标检测"。
图1:开放世界目标检测(▲)是一个迄今为止尚未被正式定义和解决的新问题。尽管与开放集和开放世界分类相关,但开放世界目标检测提供了独特的挑战,一旦解决,将提高目标检测器的实用性。
标准视觉数据集(例如Pascal VOC [10]和MS-COCO [32])中注释的类别数量非常有限(分别为20和80),而在开放世界中存在无限数量的类别。将未知识别为未知对象需要强大的泛化能力。Scheirer等人[57]将其形式化为开放集分类问题。因此,各种方法(使用1对多SVM和深度学习模型)已经被制定来解决这个具有挑战性的设置。Bendale等人[3]将开放集扩展为开放世界分类设置,通过额外更新图像分类器来识别已识别的新未知类别。有趣的是,正如图1所示,开放世界目标检测尚未被探索,这归因于问题设置的复杂性。
开放集和开放世界图像分类的进展不能直接适用于开放集和开放世界目标检测,因为问题设置存在一个根本性的区别:目标检测器被训练用于将未知对象检测为背景。许多未知类的实例已经与已知对象一起引入到目标检测器中。由于它们没有标签,这些未知实例在训练检测模型时会被显式地学习为背景。Dhamija等人发现,即使有了这种额外的训练信号,现有的最先进目标检测器会产生误报检测,其中未知对象最终被错误地分类为已知类之一,通常概率非常高。Miller等人[43]提出使用dropout采样来获得目标检测预测的不确定性估计。这是开放集目标检测文献中唯一经过同行评审的研究工作。我们提出的开放世界目标检测更进一步,一旦检测到未知类并且一个"预言家"为所有未知类中感兴趣的对象提供标签,我们会逐步学习这些新类别。据我们所知,这在文献中尚未尝试过。
开放世界目标检测设置比现有的封闭世界、静态学习设置更加自然。在现实世界中,新类别的数量、类型和配置是多样且动态变化的。假设在推断时所期望的所有类别都在训练过程中已经出现是幼稚的。在机器人、自动驾驶汽车、植物表型学、医疗保健和监控等实际应用中,无法在内部训练过程中完全了解在推断时会出现的所有类别。
在这样的实际部署中,一个更加自然和现实的期望是,目标检测算法能够自信地将未知对象预测为未知,并准确地将已知对象分类到相应的类别中。随着对已识别未知类别的更多信息逐渐变得可用,系统应能将它们逐步纳入到现有的知识库中。这将定义一个智能目标检测系统,而我们的工作是为实现这一目标而努力。
我们提出的方法致力于解决开放世界目标检测的挑战,旨在创建更加健壮、灵活的检测系统,以应对现实世界场景中的不确定性和复杂性。
我们的工作的主要贡献如下:
• 我们引入了一种新颖的问题设置,即开放世界目标检测,更加贴近真实世界的情况。
• 我们开发了一种新颖的方法,称为ORE,基于对比聚类、对未知对象感知的提议网络和基于能量的未知对象识别,以解决开放世界检测的挑战。
• 我们引入了一个全面的实验设置,有助于衡量目标检测器的开放世界特性,并将ORE与竞争性基准方法在该设置下进行了对比评估。
• 作为一个有趣的副产品,我们提出的方法在增量式目标检测方面实现了最先进的性能,尽管它的主要设计目标并非如此。
2 相关研究
开集分类 开放集设置考虑通过训练集获取的知识是不完整的,因此在测试过程中可能会遇到新的未知类别。Scheirer等人[58]在一对多的设置中开发了开放集分类器,以平衡性能和标记样本与已知训练样本之间的风险(称为开放空间风险)。随后的研究[23, 59]将开放集框架扩展为多类分类器设置,并使用概率模型来考虑未知类别情况下分类器置信度的逐渐减弱。
Bendale和Boult [4]在深度网络的特征空间中识别未知样本,并使用Weibull分布来估计集合风险(称为OpenMax分类器)。[13]提出了OpenMax的生成版本,通过合成新的类别图像来实现。Liu等人[35]考虑了长尾识别的情况,其中主要类、少数类和未知类共存。他们开发了一个度量学习框架来识别未知类别。在类似的思路下,一些专门的方法针对检测分布之外的样本[30]或新奇性[48]。最近,自监督学习[46]和带有重构的无监督学习[65]已被用于开放集识别。然而,尽管这些方法可以识别未知样本,但它们不能在多个训练阶段中以增量方式动态更新自己。此外,我们基于能量的未知检测方法以前还没有被探索过。
开放世界分类 [3]首次提出了图像识别的开放世界设置。与静态分类器在固定的一组类别上训练不同,他们提出了一个更加灵活的设置,其中已知类别和未知类别都共存。该模型可以识别这两种类型的对象,并在为未知类别提供新标签时自适应地改进自己。他们的方法通过重新校准类别概率以平衡开放空间风险,将最近类均值分类器扩展到在开放世界环境中运行。
47\]研究了开放世界人脸身份学习,而\[64\]提出使用已知类别的示例集与新样本进行匹配,如果与所有先前已知类别的匹配度较低,则拒绝该样本。然而,他们没有在图像分类基准上进行测试,而是研究了电子商务应用中的产品分类。
**开放集目标检测** : Dhamija等\[8\]正式研究了开放集设置对流行的目标检测器的影响。他们注意到,尽管检测器明确地使用背景类\[55, 14, 33\]进行训练和/或应用一对多分类器来对每个类建模\[15, 31\],但现有的目标检测器通常会将未知类别与已知类别高置信度地分类。一系列专门的研究\[43, 42, 17\]专注于开发目标检测器的(空间和语义)不确定性度量,以拒绝未知类别。例如,\[43, 42\]在SSD检测器中使用蒙特卡洛Dropout \[12\]采样来获得不确定性估计。然而,这些方法不能在动态世界中逐步地调整其知识。
## 3 开放世界目标检测
让我们在本节中形式化定义开放世界目标检测。在任意时刻t,我们将已知的目标类别集合定义为Kt = {1, 2, ..., C} ⊂ N+,其中N+表示正整数集。为了真实地模拟现实世界的动态性,我们还假设存在一组未知的类别U = {C + 1, ...},可能在推断过程中遇到。已知的目标类别Kt被假定在数据集Dt = {Xt,Yt}中标记,其中X和Y分别表示输入图像和标签。输入图像集合包含M个训练图像,Xt = {I1, . . . , IM},每个图像的关联目标标签形成标签集合Yt = {Y1, . . . ,YM}。每个Yi = {y1, y2, ..., yK}编码一组K个目标实例及其类别标签和位置,即yk = \[lk, xk, yk, wk, hk\],其中lk ∈ Kt,xk, yk, wk, hk分别表示边界框的中心坐标、宽度和高度。
开放世界目标检测设置考虑了一个目标检测模型MC,该模型被训练以检测所有先前遇到的C个目标类别。重要的是,模型MC能够识别属于任何已知的C个类别的测试实例,并且还可以通过将其分类为未知(用标签0表示)来识别新的或未见过的类别实例。然后,未知实例集合Ut可以传递给人类用户,用户可以识别出n个感兴趣的新类别(在可能很多未知类别中),并提供它们的训练样本。学习器逐步添加n个新类别并更新自身,以产生更新后的模型MC+n,而无需从头开始对整个数据集重新进行训练。已知的类别集合也会更新为Kt+1 = Kt + {C + 1, . . . , C + n}。这个周期在目标检测器的使用期间持续进行,它通过新的知识自适应地更新自身。该问题设置在图2的顶部行中进行了说明。
## 4 ORE:开放世界目标检测器
成功的开放世界目标检测方法应该能够在没有明确监督的情况下识别未知实例,并且在这些已识别的新实例的标签被呈现给模型进行知识更新时,不会忘记先前的实例(而无需从头开始重新训练)。我们提出了一种名为ORE的解决方案,以统一的方式解决了这两个挑战。
神经网络是通用的函数逼近器\[22\],通过一系列隐藏层学习输入与输出之间的映射关系。在这些隐藏层中学习到的潜在表示直接控制着每个函数的实现方式。我们假设,在目标检测的潜在空间中学习明确的类别区分能够产生两种效果。首先,它有助于模型识别未知实例的特征表示与其他已知实例的差异,从而帮助将未知实例识别为新奇。其次,它促使在潜在空间中学习新类别实例的特征表示,而不会与先前的类别重叠,从而有助于增量学习而不会遗忘。帮助我们实现这一点的关键组件是我们提出的潜在空间中的对比聚类,我们在第4.1节中详细阐述了这一点。
为了通过对比聚类来最优地聚类未知实例,我们需要对未知实例进行监督。手动注释可能是无限的未知类别中的一个小子集是不可行的。为了解决这个问题,我们提出了一种基于区域提议网络\[54\]的自动标注机制,以伪标签方式标记未知实例,详见第4.2节。自动标记的未知实例在潜在空间中的固有分离有助于我们的基于能量的分类头部区分已知和未知实例。正如在第4.3节中所阐述的那样,我们发现未知实例的Helmholtz自由能较高。
图2展示了ORE的高层架构概述。我们选择Faster R-CNN \[54\]作为基础检测器,因为Dhamija等人发现与一阶RetinaNet检测器\[31\]和基于目标性的YOLO检测器\[52\]相比,它在开放集性能方面表现更好。Faster R-CNN \[54\]是一个两阶段的目标检测器。在第一阶段,一个与类别无关的区域提议网络(RPN)从共享的骨干网络生成的特征图中提议可能包含目标的区域。第二阶段对每个提议区域的边界框坐标进行分类和调整。感兴趣区域(RoI)头部的残差块生成的特征进行对比聚类。RPN和分类头部分别适应于自动标注和识别未知对象。我们在以下各小节中对这些一致的组成部分进行解释。
### 4.1 对比聚类
在潜在空间中的类别分离是一种理想的特征,对于开放世界的方法来识别未知类别是非常重要的。一种自然的方式是将其建模为一个对比聚类问题,其中同一类别的实例被迫保持靠近,而不同类别的实例则被推开。这种方式有助于在潜在空间中形成明确的类别边界,使得不同类别之间的距离较大,而同一类别内的距离较小。这样,当新的未知类别出现时,它们在潜在空间中会有与已知类别区分开的位置,从而可以更容易地被识别为未知。
通过对比聚类,可以将潜在空间中的实例分组成更清晰的类别,使得开放世界目标检测方法能够更准确地识别未知类别,并更好地应对在测试时可能出现的新类别。这有助于提高模型的适应性和泛化能力。
对于每个已知类别 i ∈ Kt,我们维护一个原型向量 pi。假设 fc ∈ Rd 是由目标检测器的中间层生成的特征向量,表示属于类别 c 的物体。我们定义对比损失如下:

其中 D 是任何距离函数,而 ∆ 定义了相似物品和不相似物品之间的接近程度。最小化这个损失将确保在潜在空间中实现所需的类别分离。
每个类别对应的特征向量的均值用于创建类别原型的集合:P = {p0 · · · pC}。维护每个原型向量是ORE的一个关键组成部分。由于整个网络是端到端训练的,类别原型也应随着成分特征的逐渐变化而逐渐演变(由于随机梯度下降在每次迭代中通过小步骤更新权重)。我们为每个类别维护一个固定长度的队列 qi,用于存储相应的特征。特征存储 Fstore = {q0 · · · qC} 在相应的队列中存储类别特定的特征。这是一种可扩展的方法,用于跟踪特征向量随着训练如何演化,因为存储的特征向量数量受限于 C × Q,其中 Q 是队列的最大大小。
算法1提供了在计算聚类损失时如何管理类别原型的概述。我们只在完成一定数量的burn-in迭代(Ib)之后开始计算损失。这允许初始特征嵌入成熟,以编码类别信息。从那时起,我们使用公式1计算聚类损失。每隔Ip次迭代,会计算一组新的类别原型Pnew(第8行)。然后,通过使用动量参数η对现有原型P和Pnew进行加权更新原型P。这使得类别原型能够逐渐演化,并保持先前的上下文。计算得到的聚类损失添加到标准检测损失中,并进行反向传播,以端到端地学习网络。
图 2: 方法概述:
顶部行:在每个增量学习步骤中,模型会识别未知对象(用"?"表示),这些对象逐渐被标记为蓝色圆圈,并添加到现有的知识库中(绿色圆圈)。
底部行:我们的开放世界目标检测模型使用基于能量的分类头和未知感知的RPN来识别潜在的未知对象。此外,我们在特征空间中进行对比学习,以学习有区别的聚类,可以灵活地以连续的方式添加新的类别,而不会遗忘先前的类别。

### 4.2 RPN自动标注未知类别
在使用公式1计算聚类损失时,我们将输入特征向量fc与原型向量进行对比,其中包括未知对象的原型(c ∈ {0, 1, ..., C},其中0表示未知类)。这将要求未知对象实例被标记为未知的真实类别,然而这在实践中并不可行,因为重新注释已经在大规模标注的数据集中的每个图像实例的工作是非常艰巨的。
作为替代方案,我们建议自动将图像中的一些物体标记为潜在的未知对象。为此,我们依赖于区域建议网络(RPN)是类不可知的事实。给定一个输入图像,RPN会为前景和背景实例生成一组边界框预测,以及相应的物体性分数。我们将那些具有高物体性分数但与地面真实对象不重叠的建议标记为潜在的未知对象。简而言之,我们选择由物体性分数排序的前k个背景区域建议,作为未知对象。这个看似简单的启发式方法在第5节中展示出了良好的性能。
### 4.3 基于能量的未知标识
给定潜在空间F中的特征(f ∈ F)及其对应的标签l ∈ L,我们试图学习一个能量函数E(F, L)。我们的表述基于能量模型(EBMs)\[27\],该模型通过一个输出标量(E(f) : Rd → R)来估计观察变量F和可能的输出变量L之间的兼容性。EBMs将低能量值分配给分布内的数据,反之亦然,这激发了我们使用能量度量来判断样本是否来自未知类别。具体而言,我们使用Helmholtz自由能公式,将L中所有值的能量结合起来,以此来衡量样本是否来自未知类别。

其中T是温度参数。在softmax层之后,网络输出与类特定能量值的Gibbs分布之间存在简单的关系\[34\]。可以将其表述为:

其中p(l\|f)是标签l的概率密度,gl(f)是分类头g(.)的第l个分类逻辑。利用这种对应关系,我们可以将我们的分类模型的自由能定义为:

上述方程为我们提供了一种将标准 Faster R-CNN \[54\] 的分类头转换为能量函数的自然方法。由于我们在潜空间中强制进行的明确分离,我们在已知类别数据点和未知数据点的能量水平之间看到了明显的分离,如图3所示。鉴于这种趋势,我们用一组偏移的Weibull分布来建模已知和未知能量值ξkn(f)和ξunk(f)的能量分布。当与伽马分布、指数分布和正态分布进行比较时,发现这些分布非常适合一个小的保留验证集(包含已知和未知实例)的能量数据。通过学习的分布,可以将预测标记为未知,如果ξkn(f) \< ξunk(f)。

图3:如上所示,已知和未知数据点的能量值呈现出明显的分离。我们在每个数据点上拟合了一个Weibull分布,并将其用于识别未知的已知和未知样本,如第4.3节所述。
### 4.4 减少遗忘
在识别出未知类别之后,开放世界检测器的一个重要要求是在提供了某些感兴趣的未知类别的标记示例时能够学习新的类别。重要的是,在这个阶段不会存在用于以前任务的训练数据,因为从头开始重新训练不是一个可行的解决方案。仅使用新的类别实例进行训练会导致对先前类别的灾难性遗忘\[40, 11\]。我们注意到已经开发了许多涉及的方法来缓解这种遗忘,包括基于参数正则化\[2, 24, 29, 66\]、示范性回放\[6, 51, 37, 5\]、动态扩展网络\[39, 60, 56\]和元学习\[50, 25\]等方法。
我们基于最近的研究成果\[49, 26, 62\]进行了进一步的探索,比较了示范性回放与其他更复杂解决方案的重要性。具体而言,Prabhu等人\[49\]回顾了复杂的持续学习方法取得的进展,并展示了在增量学习中,一种贪婪的示范性选择策略在回放方面始终比现有的最先进方法表现出更大的优势。Knoblauch等人\[26\]为回放方法的非必要性提供了理论上的证明。他们证明了最优的持续学习器解决了一个NP难的问题,并且需要无限的内存。Wang等人\[62\]在相关的少样本目标检测设置中发现,存储少量示范性样本并进行回放在提高效果方面是有效的。这使得我们能够采用相对简单的方法来缓解遗忘问题,即我们存储一组平衡的示范性样本,并在每次增量步骤后在这些样本上进行微调。在每个阶段,我们确保示范性样本集中至少包含每个类的Nex个实例。
## 5 实验
我们提出了一个综合的评估方案,以研究开放世界目标检测器在识别未知类别、检测已知类别以及在为一些未知类别提供标签时逐步学习新类别方面的性能。

表格1:该表格显示了提议的开放世界评估协议中的任务组成。展示了每个任务的语义以及在不同划分下的图像数量和实例(物体)数量。
### 5.1开放世界评估协议
**数据划分**:我们将类别分组为一组任务T = {T1,...,Tt,...}。在时间点t引入系统的所有特定任务的类别。在学习Tt时,将所有{ Tτ:τ\