jsp 做网站需要什么,网站改版 打造企业文化,建站快车的优点,北京网站建设公司报价Towards Open World Object Detection 摘要1 介绍2 相关研究3 开放世界目标检测4 ORE:开放世界目标检测器4.1 对比聚类4.2 RPN自动标注未知类别4.3 基于能量的未知标识4.4 减少遗忘 5 实验5.1开放世界评估协议5.2 实现细节5.3 开放世界目标检测结果5.4 增量目标检测结果 6 讨论… Towards Open World Object Detection 摘要1 介绍2 相关研究3 开放世界目标检测4 ORE:开放世界目标检测器4.1 对比聚类4.2 RPN自动标注未知类别4.3 基于能量的未知标识4.4 减少遗忘 5 实验5.1开放世界评估协议5.2 实现细节5.3 开放世界目标检测结果5.4 增量目标检测结果 6 讨论和分析7 结论补充材料A 变化FStore的队列大小B η的敏感性分析C. 在Lcont中变化边界值 (∆)D. 在方程4中变化温度TE.有关对比聚类的更多详细信息F 进一步的实现细节G 增量目标检测的相关工作H 时间和存储费用I 基于Softmax的未知识别J 定性结果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 ∈ Ktxk, yk, wk, hk分别表示边界框的中心坐标、宽度和高度。
开放世界目标检测设置考虑了一个目标检测模型MC该模型被训练以检测所有先前遇到的C个目标类别。重要的是模型MC能够识别属于任何已知的C个类别的测试实例并且还可以通过将其分类为未知用标签0表示来识别新的或未见过的类别实例。然后未知实例集合Ut可以传递给人类用户用户可以识别出n个感兴趣的新类别在可能很多未知类别中并提供它们的训练样本。学习器逐步添加n个新类别并更新自身以产生更新后的模型MCn而无需从头开始对整个数据集重新进行训练。已知的类别集合也会更新为Kt1 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ττt}的类别视为已知将{ Tττt}视为未知。对于此协议的具体实例化我们考虑了来自Pascal VOC [10]和MS-COCO [32]的类别。我们将所有的VOC类别和数据分为第一个任务T1。将MS-COCO [32]的其余60个类别分成三个连续的任务其中包含语义漂移见表1。与上述来自Pascal VOC和MS-COCO训练集的图像相对应的所有图像构成了训练数据。对于评估我们使用Pascal VOC测试集和MS-COCO验证集。每个任务的训练数据中保留了1,000张图像用于验证。数据划分和代码可在https://github.com/JosephKJ/OWOD找到。
评估指标由于未知对象很容易被误认为是已知对象我们使用“Wilderness Impact”WI指标[8]来明确地描述这种行为。 其中PK表示在已知类别上评估模型的精度PK∪U表示在已知和未知类别上评估模型的精度测量在召回率水平R在所有实验中为0.8处。理想情况下WI应该较小因为在测试集中添加未知对象时精度不应下降。除了WI我们还使用“Absolute Open-Set Error”A-OSE[43]来报告将未知对象错误地分类为任何已知类别的数量。WI和A-OSE都隐含地衡量了模型处理未知对象的有效性。
为了在存在新标记类别的情况下量化模型的增量学习能力我们在IoU阈值为0.5的情况下测量平均精度mAP这与现有文献[61, 45]一致。
5.2 实现细节
ORE使用了标准的Faster R-CNN [54]目标检测器其主干网络是ResNet-50 [20]。为了处理分类头中可变数量的类别采用了增量分类方法 [50, 25, 6, 37]假设了最大类别数量的上限并且修改了损失函数只考虑感兴趣的类别。这是通过将未见类别的分类logits设置为一个大的负值v从而使它们对softmax的贡献变得微不足道e^-v → 0来实现的。这样做可以确保在计算分类损失时只有已知类别的贡献被考虑。
2048维的特征向量来自于RoI Head中的最后一个残差块用于进行对比聚类。对比损失在公式1中定义添加到标准的Faster R-CNN分类和定位损失中并进行联合优化。在学习任务Ti时只会对Ti中的类别进行标记。在测试任务Ti时之前引入的所有类别都会与Ti中的类别一起进行标记并且未来任务中的所有类别都会被标记为“未知”。对于样本回放我们经验性地选择了Nex 50。在第6节中我们对样本内存的大小进行了敏感性分析。更多的实现细节可以在补充材料中找到。
5.3 开放世界目标检测结果
表格2显示了ORE在提出的开放世界评估协议上与Faster R-CNN的比较情况。一个“Oracle”检测器在任何时候都可以访问所有已知和未知标签并作为参考。在学习每个任务后使用WI和A-OSE指标来量化未知实例与任何已知类别之间的混淆情况。我们可以看到由于对未知的明确建模ORE具有显著较低的WI和A-OSE得分。当在任务2中逐步标记未知类别时我们可以看到基线检测器在已知类别集上的性能通过mAP量化从56.16显著下降到4.076。所提议的平衡微调能够将以前的类别性能恢复到可观的水平51.09但代价是WI和A-OSE的增加而ORE能够实现两个目标检测已知类别并全面减少未知的影响。当添加任务3类别时也出现了类似的趋势。由于没有任何未知的实况数据无法测量任务4的WI和A-OSE得分。我们在图4和补充部分中报告了定性结果以及失败案例分析。我们在第6节和补充部分进行了广泛的敏感性分析。 表格2在这里我们展示了ORE在开放世界目标检测上的表现。野外影响WI和平均开放集误差A-OSE量化了ORE如何处理未知类别灰色背景而均值平均精度mAP衡量了其检测已知类别的效果白色背景。我们可以看到ORE在所有指标上始终优于基于Faster R-CNN的基线。请参阅第5.3节了解有关评估指标的更详细分析和解释。
5.4 增量目标检测结果
我们发现ORE能够独特地建模未知对象的能力带来了一个有趣的结果它在增量目标检测iOD任务中表现得非常出色见表3。这是因为ORE减少了将未知对象错误地分类为已知对象的混淆从而使检测器能够逐步学习真正的前景对象。我们使用了在iOD领域中使用的标准协议[61, 45]来评估ORE在该协议中来自Pascal VOC 2007 [10]的类别组10、5和最后一个类别通过对其余类别进行训练的检测器进行了逐步学习。值得注意的是ORE完全按照第4节中介绍的方法使用没有任何更改。我们剔除了对比聚类CC和基于能量的未知识别EBUI发现它导致了比标准ORE更低的性能。 表3我们在三种不同的设置下将ORE与最先进的增量目标检测器进行了比较。分别向在10、15和19个类别上进行训练的检测器引入了来自Pascal VOC 2007 [10]数据集的10、5和最后一个类别显示在蓝色背景中。ORE在所有设置中都能够表现出色而无需进行任何方法上的改变。详细信息请参见第5.4节。
6 讨论和分析
6.1 剔除ORE组成部分为了研究ORE中每个组成部分的贡献我们进行了仔细的剔除实验表4。我们考虑引入Task 1到模型的情况。自动标注方法称为ALU与基于能量的未知类别识别EBUI结合在一起的效果更好第5行比分开使用它们中的任何一个效果更好第3行和第4行。在此配置中添加对比聚类CC获得了最佳的未知类别处理性能第7行以WI和A-OSE进行衡量。在未知类别的识别方面没有严重的已知类别检测性能下降以mAP指标衡量。在第6行中我们可以看出EBUI是一个关键组件其缺失会增加WI和A-OSE分数。因此ORE中的每个组件都在未知类别识别方面发挥了关键作用。 表4我们仔细地剔除了ORE的每个组成部分。CCALU和EBUI分别指的是“对比聚类”“未知类别的自动标注”和“基于能量的未知类别识别”。详细信息请参见第6.1节。 表5该表显示了敏感性分析结果。将Nex增加到一个较大的值会损害对未知类别的性能而保留一小组图像对于减轻遗忘是至关重要的绿色中的最佳行。
6.2 对示例记忆大小进行敏感性分析我们的平衡微调策略需要存储至少每个类别Nex个实例的示例图像。在学习任务2时我们改变Nex的值并在表5中报告结果。我们发现即使每个类别只有最少10个实例平衡微调策略也非常有效地提高了先前已知类别的准确性。然而我们发现将Nex增加到很大的值并不会有所帮助同时会对未知类别的处理产生不利影响从WI和A-OSE得分可以看出。因此通过验证我们在所有实验中将Nex设置为50这是一个在已知和未知类别上平衡性能的最佳点。 6.3 与开放集检测器的比较当检测器在封闭集数据在Pascal VOC 2007上进行训练和测试和开放集数据测试集包含来自MS-COCO的相同数量的未知图像上进行评估时的mAP值有助于衡量检测器如何处理未知实例。理想情况下不应该出现性能下降。我们将ORE与最近由Miller等人提出的开放集检测器进行比较[43]。从表6中可以看出ORE的性能下降要比[43]低得多这归因于对未知实例的有效建模。
6.4 聚类损失和 t-SNE [38] 可视化我们通过可视化对比度聚类损失方程1在任务1训练过程中形成的聚类质量来评估。在图5(a)中我们看到了良好形成的聚类。图例中的每个数字对应于任务1中引入的20个类别。标签20表示未知类。重要的是我们看到未知实例也被聚类这增强了在对比度聚类中使用的自动标记的未知实例的质量。在图5(b)中我们绘制了训练迭代次数与对比度聚类损失之间的关系我们可以看到损失逐渐减小表明收敛良好。 图4ORE在任务1上训练后的预测。“大象”、“苹果”、“香蕉”、“斑马”和“长颈鹿”尚未被引入模型因此被成功分类为“未知”。该方法错误地将“长颈鹿”中的一个分类为“马”显示了ORE的局限性。 图5a潜在空间中的不同簇。(b)我们的对比损失这确保了这样的聚类稳定收敛。
7 结论
充满活力的目标检测社区在标准数据集上将性能基准推进了很大的幅度。这些数据集和评估协议的闭集性质阻碍了进一步的进展。我们引入了开放世界目标检测其中目标检测器能够将未知对象标记为未知并在模型逐渐暴露于新标签时逐渐学习未知对象。我们的主要创新包括用于未知检测的基于能量的分类器以及用于开放世界学习的对比度聚类方法。我们希望我们的工作将在这个重要而开放的方向上引发进一步的研究。
补充材料
在这份补充材料中我们提供了在主要论文中由于篇幅限制无法包含的额外细节包括实验分析、实现细节、讨论和结果这些细节有助于深入理解所提出的开放世界目标检测方法。我们将讨论以下内容 • 对特征存储队列大小、动量参数η、聚类损失中的边界∆以及能量计算中的温度参数的敏感性分析。 • 对对比聚类的更多详细说明。 • 更具体的实现细节。 • 关于失败案例的讨论。 • 增量目标检测领域的相关工作。 • ORE的一些定性结果。
A 变化FStore的队列大小
在第4.1节中我们解释了如何使用类别特定的队列qi来存储特征向量这些特征向量用于计算类别原型。一个名为Q的超参数控制每个qi的大小。在学习任务1时我们变化Q的值并在表7中报告了结果。我们观察到在不同的Q值实验中性能相对类似。这可以归因于原型一旦定义就会定期通过新观察到的特征进行更新从而有效地演化自己。因此用于计算这些原型P和Pnew的实际特征数量并不是非常重要。我们在所有实验中使用Q 20。 表7我们发现改变用于计算类原型的特征数量不会对性能产生巨大影响。
B η的敏感性分析
动量参数η控制类别原型的更新速度如算法1所述。较大的η值意味着新计算的原型对当前类别原型的影响较小。从表8中我们可以得知在原型更新较慢η值较大时性能会有所提升。这个结果是直观的因为缓慢地改变聚类中心有助于稳定对比学习。 表8我们可以看到较高的η值会获得更好的性能这意味着逐渐演化的类别原型会改善对比聚类。
C. 在Lcont中变化边界值 (∆)
边界参数∆是对比聚类损失Lcont方程1中的一个参数它定义了输入特征向量应该与不同类别原型在潜在空间中保持的最小距离。如表9所示当学习第一个任务时增加边界参数会提高已知类别的性能并改善未知类别的处理方式。这可能意味着在潜在空间中具有更大的分离对ORE是有益的。 表9增加边界参数∆会提高已知和未知类别的性能与我们的假设一致即在潜在空间中的分离对ORE是有益的。
D. 在方程4中变化温度T
我们在所有实验中将方程4中的温度参数T固定为1。将能量稍微加大到T 2会在一定程度上改善未知识别的性能然而进一步增加会导致性能下降如表10所示。 表10温度参数在T 1和T 2之间有一个良好的取值范围可以获得最佳性能。
E.有关对比聚类的更多详细信息
使用对比聚类在潜在空间中实现分离的动机有两个方面1它使模型能够将未知实例与已知实例分开聚类从而提高未知实例的识别能力2它确保每个类的实例与其他类实例分开减轻遗忘问题。 图6RoI头架构显示用于对比聚类的2048维特征向量。
从RoI头的残差块中出来的2048维特征向量图6进行了对比聚类。对比损失添加到Faster R-CNN损失中整个网络端到端地进行训练。因此在Faster R-CNN流水线中在RoI头之前和包括RoI头中的残差块之前的所有部分都会得到来自对比聚类损失的梯度更新。
F 进一步的实现细节
我们在拥有8个Nvidia V100 GPU的服务器上进行了实验每个GPU的有效批处理大小为8。我们使用了随机梯度下降SGD优化算法学习率为0.01。每个任务训练了8个epoch大约相当于50,000次迭代。特征存储队列的大小设置为20。
聚类过程在前1000次迭代之后启动每隔3000次迭代更新一次聚类原型使用动量参数0.99。我们采用欧几里得距离作为方程1中的距离函数D。对于对比聚类损失边界∆设置为10。
在RPN中自动标记未知实例时我们选择了根据其物体性分数排序的前1个背景提议。用于能量基分类头部的温度参数设置为1。
我们的代码使用PyTorch [44]和Detectron 2 [63]框架进行了实现。此外我们还使用了Reliability库 [53] 来对能量分布进行建模。为了促进可重复研究我们已经公开发布了所有的代码您可以在以下链接找到https://github.com/JosephKJ/OWOD。
G 增量目标检测的相关工作
类增量式目标检测iOD设置考虑了随时间逐步观察类别的情况学习者必须在不从头开始对旧类别进行重新训练的情况下进行适应。目前的方法[61, 28, 18, 7] 使用知识蒸馏[21]作为正则化措施以在训练新类别时避免忘记旧类别的信息。具体而言Shmelkov等人[61]将Fast R-CNN用于增量学习通过从先前阶段模型中提取分类和回归输出来蒸馏模型输出。除了蒸馏模型输出外Chen等人[7]和Li等人[28]还蒸馏了中间的网络特征。Hao等人[18]在Faster R-CNN的基础上使用学生-教师框架进行RPN的自适应。Acharya等人[1]提出了一种用于在线检测的重放机制。最近Peng等人[45]将自适应蒸馏技术引入了Faster R-CNN中他们的方法是iOD领域中的最新状态。然而这些方法在开放世界环境中无法工作而开放世界是本文的重点它们也无法识别未知对象。
H 时间和存储费用
ORE的训练和推断比标准的Faster R-CNN多花费了0.1349秒/迭代和0.009秒/迭代。维护FStore的存储开销是微不足道的而示例内存对于Nex 50大约占用了34 MB的空间。
I 基于Softmax的未知识别
我们修改了未知对象识别的标准为max(softmax(logits)) t。对于t {0.3, 0.5, 0.7}A-OSE、WI和mAP平均值和标准差分别为11815 ± 352.13、0.0436 ± 0.009和55.22 ± 0.02。这相对于ORE来说效果较差。
J 定性结果
我们在图中显示了ORE的定性结果。8图13.我们看到ORE是能够识别各种未知的实例并逐步学习他们使用建议的对比聚类和基于能量的未知识别方法。所有这些图像中的子图a示出了识别的未知实例沿着检测器已知的其它实例。对应的子图b示出了在递增地添加新类别之后来自相同检测器的检测。
K 讨论关于失败的案例
物体的遮挡和拥挤是我们的方法趋于混淆的情况外部存储、随身听和包未被检测为未知的。11、13。困难的观点如背面也会导致一些错误分类图中长颈鹿→马。4、12。我们还注意到检测与较大已知对象共存的小未知对象是困难的。由于ORE是在这个方向上的第一次努力我们希望这些发现的缺点将成为进一步研究的基础。 图7只在任务1上训练的ORE成功地将一个风筝定位为未知对象如子图(a)所示而在学习了任务3中的关于风筝的信息后它逐步学习如何同时检测风筝和飞机如子图(b)所示。 图8子图a是ORE在学习了任务2后产生的结果。由于任务3中的类别如苹果和橙子尚未引入ORE将其识别并正确标记为未知。在学习了任务3后这些实例在子图b中被正确标记。仍然存在一个未被识别的类别实例ORE成功将其检测为未知。 图9在任务4的一部分中时钟类最终被学习在子图b中最初被标识为未知在子图a中。ORE展示了开放世界检测器的真正特征它能够逐步学习已识别的未知类别。 图10牙刷和书是作为任务4的一部分引入的室内物体。在子图a中经过任务3训练的检测器将牙刷识别为未知对象并最终在任务4中学会了识别它在子图b中仍然可以识别人。 图11在学习任务1后桌子上的笔记本电脑旁边的几件物品被识别为未知物体。在任务4中引入了笔记本电脑、书和鼠标因此之后被检测到。然而从未引入过的外部存储设备和随身听两者都是未知物体最初被识别为未知但在学习了任务4后未被检测到这是ORE的失败案例之一。 图12被识别为未知的手提箱最终在任务2中被学习与此同时还出现了误报的椅子检测。 图13在这个高度混杂的场景中在学习任务2后未知的时钟实例被识别出来但定位效果不佳。在学习任务4后ORE检测到了时钟并减少了对汽车和自行车的误报检测。然而红色的手提箱在学习任何任务后都没有被标记因此是一个失败的案例。