CVPR 2021 Oral
https://arxiv.org/pdf/2103.02603.pdf
https://hub.fastgit.org/JosephKJ/OWOD
人类有识别环境中未知物体实例的本能。当相应的知识最终可用时,对这些未知实例的内在好奇心有助于了解它们。这促使我们提出了一个新的计算机视觉问题,称为“开放世界目标检测”,模型的任务是:1)在没有明确监督的情况下,将尚未引入的目标识别为“未知”,2)逐步学习这些已识别的未知类别,而不忘记以前学习的类,当相应的标签逐渐收到时。本文提出了一种基于对比聚类和基于能量的未知识别的开放世界目标检测算法。我们的实验评估和烧蚀研究分析了矿石在实现开放世界目标方面的功效。作为一个有趣的副产品,我们发现识别和描述未知实例有助于减少增量对象检测设置中的混淆,在增量对象检测设置中,我们实现了最先进的性能,而无需额外的方法学努力。我们希望,我们的工作将吸引进一步研究这个新确定的,但至关重要的研究方向。
1.简介
深度学习加速了目标检测研究的进展[14,54,19,31,52],模型的任务是识别和定位图像中的目标。所有现有的方法都是在一个很强的假设下工作的,即所有要检测的类在训练阶段都是可用的。当我们放松这一假设时,出现了两个具有挑战性的场景:1)测试图像可能包含来自未知类的对象,这些对象应该被分类为未知。2) 当有关这些已识别未知项的信息(标签)可用时,模型应该能够增量地学习新类。发展心理学的研究[41,36]发现,识别自己不知道的东西的能力是吸引好奇心的关键
这种好奇心激发了人们学习新事物的欲望[9,16]。这促使我们提出一个新的问题,即模型应该能够将未知对象的实例识别为未知对象,然后在训练数据以统一的方式逐渐到达时学习识别它们。我们把这个问题称为开放世界目标检测。
与开放世界中存在的无限数量的类相比,标准视觉数据集(如Pascal VOC[10]和MS-COCO[32])中注释的类的数量非常少(分别为20和80)。将未知识别为未知需要很强的泛化能力。Scheirer等人[57]将其形式化为开集分类问题。从今以后,各种方法(使用1-vs-rest支持向量机和深度学习模型)都被用来解决这一具有挑战性的问题。Bendale等人[3]通过额外更新图像分类器来识别识别的新未知类,将开放集扩展到开放世界分类设置。有趣的是,如图1所示,由于问题设置的困难,开放世界目标检测还未被探索。
开放集和开放世界图像分类的进展不能简单地适用于开放集和开放世界的目标检测,因为问题设置有一个根本的区别:目标检测器被训练来检测未知目标作为背景。许多未知类的实例已经与已知对象一起引入到对象检测器中。由于没有标记,这些未知实例将被显式地学习为背景,同时训练检测模型。Dhamija等人[8]发现,即使有这种额外的训练信号,最先进的目标检测器也会导致误报检测,其中未知目标最终被归类为已知类别之一,通常概率非常高。Miller等人[43]建议使用辍学采样来估计目标检测预测的不确定性。这是开放集目标检测文献中唯一一项同行评议的研究工作。我们提出的开放世界对象检测方法更进一步,一旦新类被检测为未知,并且oracle为所有未知对象中感兴趣的对象提供标签,就可以增量地学习它们。据我们所知,这在文献中还没有尝试过。
与现有的封闭世界静态学习设置相比,开放世界对象检测设置更加自然。世界在新阶级的数量、类型和结构上是多样化和动态的。假设所有在推理时预期的类都是在训练期间看到的,这是天真的。在机器人、自动驾驶汽车、植物表型鉴定、医疗保健和监控等领域,检测系统的实际部署不能完全掌握推理时需要学习的课程,同时还要接受内部培训。在这样的环境中部署的目标检测算法最自然、最现实的行为是自信地将未知对象预测为未知对象,并将已知对象划分为相应的类。当更多关于已识别未知类的信息可用时,系统应该能够将它们合并到现有的知识库中。这将定义一个智能目标检测系统,我们正努力实现这一目标。我们工作的主要贡献是:
•我们引入了一种新的问题设置,即开放世界目标检测,它可以更紧密地模拟现实世界。
•我们开发了一种新的方法,称为ORE,基于对比聚类、未知感知提议网络和基于能量的未知识别来应对开放世界检测的挑战。
•我们引入了一个全面的实验环境,有助于测量目标探测器的开放世界特性,并将ORE与竞争性基线方法进行比较。
•作为一个有趣的副产品,所提出的方法在增量目标检测方面实现了最先进的性能,尽管主要不是为其设计的。
相关工作
开集分类:
开放集设置认为通过训练集获得的知识是不完整的,因此在测试过程中会遇到新的未知类。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]显式训练的,和/或应用一个vs-rest分类器对每个类进行建模[15,31]。一个专门的工作机构[43,42,17]专注于开发对象检测器中(空间和语义)不确定性的度量,以拒绝未知类。例如,[43,42]在SSD探测器中使用蒙特卡罗差[12]采样来获得不确定度估计。然而,这些方法不能在一个动态的世界中逐渐调整它们的知识。
开放世界目标检测
让我们在本节中正式定义开放世界目标检测。在任何时间t,我们将已知对象类的集合看作Kt={1,2,…,C}⊂ 其中N+表示正整数集。为了真实地模拟现实世界的动态,我们还假设它们存在一组未知类U={C+1,…},这在推理过程中可能会遇到。假设已知对象类Kt在数据集Dt={Xt,Yt}中被标记,其中X和Y分别表示输入图像和标签。输入图像集由M个训练图像组成,Xt={I1,IM}和每个图像的相关对象标签形成标签集Yt={Y1,嗯}。每个Yi={y1,y2,…,yK}编码一组K对象实例及其类标签和位置,即yK=[lk,xk,yK,wk,hk],其中lk∈ Kt和xk、yk、wk、hk分别表示边界框的中心坐标、宽度和高度。
openworld对象检测设置考虑一个对象检测模型MC,它被训练来检测所有以前遇到的C对象类。重要的是,MC模型能够识别属于任何已知C类的测试实例,并且还可以通过将新的或看不见的类实例分类为未知的(用标签0表示)来识别它。然后,可以将未知实例集Ut转发给人类用户,人类用户可以识别n个新的感兴趣的类(在潜在的大量未知中),并提供它们的训练示例。学习者增量地添加n个新类并更新自己,以生成更新的模型MC+n,而无需从头开始对整个数据集进行再培训。已知的类集也会更新为Kt+1=Kt+{C+1,C+n}。这个循环会在目标探测器的整个生命周期中持续,在这个生命周期中,它会用新的知识自适应地更新自身。问题设置在图2的顶行中示出。
开放世界物体探测器
一个成功的开放世界目标检测方法应该能够在没有明确监督的情况下识别未知实例,并且在将这些识别出的新实例的标签提交给模型进行知识升级(无需从头开始再培训)时,能够克服对早期实例的遗忘。我们提出了一个解决方案,以统一的方式解决这两个挑战。
神经网络是通用函数逼近器[22],它通过一系列隐藏层学习输入和输出之间的映射。在这些隐藏层中学习的潜在表示直接控制每个功能的实现方式。我们假设在目标探测器的潜在空间中学习类间的清晰区分可以产生双重效果。首先,它帮助模型识别未知实例的特征表示与其他已知实例的不同之处,这有助于将未知实例识别为一个新奇的实例。第二,它有助于学习新类实例的特征表示,而不与潜在空间中的前一类重叠,有助于不遗忘的增量学习。帮助我们认识到这一点的关键部分是我们在潜在空间中提出的对比聚类,我们将在第二节中详细阐述。4.1.
为了使用对比聚类法对未知数据进行最佳聚类,我们需要对未知实例进行监督。手动注释未知类的潜在无限集合中的一小部分是不可行的。为了解决这个问题,我们提出了一种基于区域建议网络[54]的自动标记机制来伪标记未知实例,如第。4.2. 潜在空间中自动标记的未知实例的固有分离有助于我们基于能量的分类头区分已知和未知实例。如第。4.3,我们发现在未知情况下,亥姆霍兹自由能较高。
图2显示了ORE的高级架构概述。我们选择更快的R-CNN[54]作为基本检测器,因为Dhamija等人[8]发现,与单级RetinaNet检测器[31]和基于对象的YOLO检测器[52]相比,它具有更好的开集性能。更快的R-CNN[54]是一个两级目标探测器。在第一阶段中,类无关区域建议网络(RPN)提出可能具有来自共享主干网络的特征映射的对象的潜在区域。第二阶段对每个区域的边界框坐标进行分类和调整。对感兴趣区域(RoI)头部剩余块生成的特征进行对比聚类。RPN和分类头分别用于自动标注和识别未知量。我们将在以下小节中解释这些连贯的组成部分:
对比聚类
潜在空间中的类分离是开放世界方法识别未知的理想特征。一种自然的方法是将其建模为一个对比聚类问题,在这个问题中,同一类的实例将被迫保持在附近,而不同类的实例将被推得很远。
对于每个已知的i类∈ Kt,我们维持一个向量pi的原型。让fc∈ rd是由对象检测器的中间层为c类对象生成的特征向量。我们将对比损失定义如下:
其中D是任意距离函数∆ 定义相似和不相似项的接近程度。最小化这种损失将确保在潜在空间中实现所需的类分离。
每个类对应的特征向量的平均值用来创建类原型集:P={p0···pC}。维护每个原型向量是ORE的一个关键组成部分。随着整个网络的端到端训练,类原型也应该随着组成特征的逐渐变化而逐渐演化(因为随机梯度下降在每次迭代中更新一小步权重)。我们维护一个固定长度的队列qi,每个类用于存储相应的特征。特性存储Fstore={q0···qC},将类特定的特性存储在相应的队列中。这是一种可伸缩的方法,用于跟踪特征向量如何随着训练而演化,因为存储的特征向量的数量由C限定× Q、 其中Q是队列的最大大小。
算法1概述了在计算集群损失时如何管理类原型。只有在完成一定数量的burnin迭代(Ib)之后,我们才开始计算损耗。这使得初始的特征嵌入能够使自己成熟,从而对类信息进行编码。从那时起,我们使用Eqn计算聚类损失。1.在每个Ip迭代之后,计算一组新的类原型Pnew(第8行)。然后用动量参数对P和Pnew进行加权,更新现有的原型Pη. 这允许类原型逐渐演化,并跟踪以前的上下文。将计算出的聚类损失加入到标准检测损失中,并进行反向传播,实现对网络的端到端学习。
用RPN自动标注未知量
在计算聚类损失时,用Eqn。1,我们将输入特征向量fc与原型向量进行了对比,原型向量中还包括一个未知对象的原型(c)∈ {0,1,…,C},其中0表示未知类)。这将要求未知对象实例被标记为未知地面真值类,这实际上是不可行的,因为在已经注释的大规模数据集中重新注释每个图像的所有实例的艰巨任务。
作为代理,我们建议自动将图像中的一些对象标记为潜在的未知对象。为此,我们依赖于区域建议网络(RPN)是类不可知的这一事实。给定一个输入图像,RPN为前景和背景实例生成一组边界框预测,以及相应的对象性得分。我们将那些具有高目标性得分,但不与地面真值对象重叠的方案标记为潜在未知对象。简单地说,我们选择top-k背景区域方案,按其对象性得分排序,作为未知对象。这个看似简单的启发式方法可以获得很好的性能。5.
基于能量的未知标识符
鉴于特征(f∈ F) 在潜空间F及其相应的标号l中∈ 五十、 我们试图学习能量函数E(F,L)。我们的公式基于基于能量的模型(EBMs)[27],它学习一个函数E(·),用一个输出标量E(F):rd来估计观测变量F和可能的输出变量L集合之间的相容性→ R。EBMs的内在能力是为分布中的数据分配低能量值,反之亦然,这促使我们使用能量度量来表征样本是否来自未知类别。具体来说,我们使用亥姆霍兹自由能公式,其中L中所有值的能量都是组合的,
其中T是温度参数。softmax层之后的网络输出与类比能量值的吉布斯分布之间存在简单的关系[34]。这可以表述为,
其中p(l | f)是标签l的概率密度,gl(f)是分类头g(.)的第l分类逻辑。利用这种对应关系,我们用logit定义分类模型的自由能,如下所示:
上面的公式为我们提供了一种自然的方法,将标准更快的R-CNN[54]的分类头转换为能量函数。由于我们用对比聚类法在潜在空间中实施了清晰的分离,我们看到了如图3所示的已知类数据点和未知数据点的能级的清晰分离。根据这一趋势,我们对已知和未知能量值的能量分布进行了建模ξkn(f)和ξ一组移位威布尔分布。与Gamma分布、指数分布和正态分布相比,这些分布与一个小的验证集(已知和未知实例)的能量数据非常吻合。学习到的分布可以用来标记一个未知的预测,如果ξ千牛(f)ξ璝(f)。
减轻遗忘
在识别出未知数之后,一个开放世界探测器的一个重要的必要条件是能够学习新的类,当提供一些感兴趣的未知数类的标记示例时。重要的是,以前任务的培训数据此时将不存在
从零开始再培训不是一个可行的解决方案。仅使用新的类实例进行训练将导致灾难性地忘记以前的类。我们注意到,已经开发了许多相关的方法来缓解这种遗忘,包括基于参数正则化的方法[2,24,29,66],范例重放[6,51,37,5],动态扩展网络[39,60,56]和元学习[50,25]。
我们基于[49,26,62]的最新见解,这些见解将示例重播的重要性与其他更复杂的解决方案进行了比较。具体而言,Prabhu等人[49]回顾了复杂的持续学习方法所取得的进展,并表明增量学习中用于重放的贪婪样本选择策略始终比最先进的方法有很大的优势。Knoblauch等人[26]从理论上证明了重放方法的无理威力。他们证明了一个最优的连续学习者解决了一个NP难问题,并且需要无限的记忆。Wang等人[62]在相关的少量镜头目标检测设置中发现,存储少量示例和回放的有效性是有效的。这促使我们使用相对简单的ORE方法来减轻遗忘,也就是说,我们存储了一组平衡的范例,并在每个增量步骤之后对模型进行微调。在每一点上,我们确保每个类的最少Nex实例出现在范例集中。
实验和结果
我们提出了一个综合评估协议来研究开放世界检测器在为某些未知项提供标签时识别未知项、检测已知类和逐步学习新类的性能。
开放世界评估协议
数据拆分:
我们把类分成一组任务T={T1,···Tt,·······························。特定任务的所有类都将在时间点t引入系统。在学习Tt时,所有的班级τ : τ<t} 将被视为已知和{tτ : τ>t} 将被视为未知。对于这个协议的一个具体实例,我们考虑来自pascalvoc[10]和MS-COCO[32]的类。我们将所有VOC类和数据分组为第一个任务T1。剩下的60类MS-COCO[32]被分为三个连续的任务,每个任务都有语义漂移(见表1)。1). 从Pascal VOC和MS-COCO训练集分割的与上述图像对应的所有图像构成训练数据。对于评估,我们使用帕斯卡VOC测试分割和MS-COCO val分割。从每个任务的训练数据中提取1k图像,留作验证。数据分割和代码可以在https://github.com/JosephKJ/OWOD.
评估指标:
由于未知物体很容易与已知物体混淆,我们使用荒野影响(WI)度量[8]来明确描述这种行为。
其中PK是指在已知类和PK上进行评估时模型的精度∪U是对已知和未知类进行评估时的精确度,在召回水平R(所有实验中为0.8)下测量。理想情况下,WI应该更小,因为当未知对象被添加到测试集时,精度不能下降。除了WI之外,我们还使用绝对开集误差(A-OSE)[43]来报告错误分类为任何已知类的未知对象的数量。WI和A-OSE都隐式地度量模型在处理未知对象方面的有效性。
为了量化模型在存在新标记类的情况下的增量学习能力,我们测量了IoU阈值为0.5时的平均精度(mAP)(与现有文献[61,45]一致)。
实施细则
ORE使用标准的更快的R-CNN[54]目标探测器和ResNet-50[20]主干。为了处理分类头中可变数量的类,遵循增量分类方法[50、25、6、37],我们假设了预期的最大类数的界,并修改损失以仅考虑感兴趣的类。这是通过将不可见类的分类logit设置为一个较大的负值(v),从而使它们对softmax的贡献可以忽略不计(e)−v→ 0).
利用RoI头部最后一个残差块的2048维特征向量进行对比聚类。对比损失(定义见等式。1) 被添加到标准的更快的R-CNN分类和本地化损失中,并针对这些损失进行了联合优化。在学习任务Ti时,只有属于Ti的类才会被标记。在测试Ti时,前面引入的所有类都将与Ti中的类一起标记,并且未来任务的所有类都将标记为“未知”。对于样本回放,我们根据经验选择Nex=50,并对样本内存的大小(以秒为单位)进行了敏感性分析。6.补充文件提供了进一步的实施细节。
开放世界目标检测结果
表2显示了在提议的开放世界评估协议上,ORE与更快的RCNN的比较。“甲骨文”探测器可以随时访问所有已知和未知的标签,并作为参考。在学习每个任务之后,WI和A-OSE度量用于量化未知实例与任何已知类的混淆程度。我们发现矿石的WI和AOSE分数明显较低,这是由于对未知物质的显式建模。当在任务2中逐步标记未知类别时,我们发现基线检测器在已知类别集(通过mAP量化)上的性能从56.16%显著下降到4.076%。提出的平衡微调方法能够以增加WI和a-OSE为代价,将前一类的性能恢复到一个可观的水平(51.09%),而ORE则能够同时实现两个目标:检测已知类和降低未知类的影响。类似的趋势也出现在任务3类中。由于缺乏任何未知的基本事实,因此无法测量任务4的WI和A-OSE分数。我们在图4和补充部分中报告了定性结果,以及失效案例分析。我们在Sec进行了广泛的敏感性分析。6和补充部分。
增量目标检测结果
我们发现ORE对未知物体进行清晰建模的能力产生了一个有趣的结果:它在增量目标检测(iOD)任务中表现良好,而不是最先进的(Tab)。3). 这是因为,ORE减少了未知对象被分类为已知对象的混淆,这使得检测器可以增量地学习真实的前景对象。我们使用iOD域中使用的标准协议[61,45]来评估ORE,其中Pascal VOC 2007[10]中的一组类(10,5和最后一个类)由在剩余的一组类上训练的检测器递增地学习。值得注意的是,矿石是按原样使用的,对Sec中介绍的方法没有任何改变。4.将对比聚类(CC)和基于能量的未知识别(EBUI)进行了对比分析,发现其性能比标准ORE有所下降。
讨论与分析
6.1烧蚀矿石成分:
为了研究矿石中各组分的贡献,我们设计了仔细的烧蚀实验(表。4). 我们考虑将任务1引入模型的设置。自动标记方法(称为ALU)与基于能量的未知识别(EBUI)相结合(第5行)比单独使用其中任何一种方法(第3行和第4行)效果更好。将对比聚类(CC)添加到这个配置中,可以在处理未知数据(第7行)时提供最佳的性能,以WI和A-OSE来衡量。在已知类检测(mAP-metric)中没有严重的性能下降,这是未知识别的副作用。在第6行中,我们看到EBUI是一个关键组件,它的缺失会增加WI和a-OSE得分。因此,矿石中的每种组分都对未知的鉴定起着至关重要的作用。
6.2样本内存大小敏感性分析:
我们的平衡微调策略要求存储每个类至少有Nex个实例的示例图像。我们在学习任务2时改变Nex,并将结果报告在表5中。我们发现平衡微调在提高先前已知类的准确性方面非常有效,即使每个类只有至少10个实例。然而,我们发现将Nex增加到较大的值并没有帮助,同时也会对未知的处理方式产生不利影响(从WI和A-OSE得分可以明显看出)。因此,通过验证,我们在所有实验中将Nex设置为50,这是平衡已知类和未知类性能的最佳点。
6.3与开放式探测器的比较:
在封闭集数据(在Pascal VOC 2007上训练和测试)和开放集数据(测试集包含来自MS-COCO的相同数量的未知图像)上评估检测器时,检测器的mAP值有助于测量检测器如何处理未知实例。理想情况下,不应出现性能下降。我们将矿石与最近米勒等人提出的开集探测器进行了比较。我们从标签上找到。6由于对未知实例的有效建模,矿石性能的下降远低于[43]。
6.4聚类损失和t-SNE[38]可视化:
我们用对比聚类损失(Eqn)来直观地观察训练时形成的聚类的质量。1) 对于任务1,我们在图5(a)中看到形成良好的簇。图例中的每个数字对应于任务1中引入的20个类。标签20表示未知类。重要的是,我们看到未知实例也得到了聚类,这加强了对比聚类中使用的自动标记未知的质量。在图5(b)中,我们绘制了对比聚类损失与训练迭代的对比图,在图中我们看到了逐渐减少的趋势,这表明了良好的收敛性。
结论
充满活力的目标检测社区将标准数据集上的性能基准大大提高。这些数据集和评估协议的封闭性阻碍了进一步的进展。我们引入了开放世界的目标检测,其中目标检测器能够将未知对象标记为未知对象,并随着模型暴露于新的标签而逐渐学习未知对象。我们的主要创新点包括用于未知检测的基于能量的分类器和用于开放世界学习的对比聚类方法。我们希望,我们的工作将沿着这一重要和开放的方向推动进一步的研究。
补充材料在本补充材料中,我们提供了由于篇幅限制而无法包含在主要论文中的其他细节,包括实验分析、实现细节、讨论和结果,这些都有助于我们进一步深入了解所提出的开放世界目标检测方法。我们讨论:
•特征存储队列大小的敏感性分析,动量参数η, 聚类损失裕度∆ 能量计算中的温度参数。
•对比聚类的其他细节
•更具体的实施细节。
•关于故障案例的讨论。
•增量目标检测的相关工作。
•矿石的一些定性结果。
A.
以秒为单位改变FStore的队列大小。4.1,我们解释了如何使用类特定的队列qi来存储用于计算类原型的特征向量。超参数Q控制每个qi的大小。在这里,我们在学习任务1的同时改变Q,并在Tab中报告结果。7.在不同Q值的实验中,我们观察到了相对相似的性能。这可以归因于这样一个事实:在定义了一个原型之后,它会周期性地用新观察到的特征进行更新,从而有效地自我进化。因此,用于计算这些原型(P和Pnew)的特征的实际数量不是很重要。我们用Q=20做所有的实验。
敏感性分析η
动量参数η 控制类原型更新的速度,如算法1所述η 意味着新计算的原型对当前类原型的影响较小。我们从标签上找到。8当原型更新缓慢时(较大的η). 这个结果是直观的,因为慢慢改变聚类中心有助于稳定对比学习。
改变边距(∆) 在Lcont
margin参数∆ 在对比聚类中,损失Lcont(Eqn。1) 定义输入特征向量与潜在空间中不同类原型之间的最小距离。正如我们在Tab中看到的。在学习第一个任务的同时增加边距,可以提高已知类的性能以及未知类的处理方式。这意味着潜在空间中较大的分离对矿石有利。
改变等式中的温度(T)。4
我们在方程中固定了温度参数(T)。所有实验中4比1。将能量稍微软化到T=2,在未知的检测中会有轻微的改善,但是增加能量会进一步伤害,从Tab中可以明显看出。10
关于对比聚类的更多细节
使用对比聚类来确保潜在空间的分离的动机有两个方面:1)它使模型能够将未知数据与已知数据分开进行聚类,从而提高未知数据的识别能力;2) 它确保每个类的实例与其他类很好地分离,减轻了遗忘问题。
从RoI头部的剩余块(图6)中得到的2048 dim特征向量进行对比聚类。对比损失被添加到更快的R-CNN损失中,整个网络被端到端地训练。因此,在更快的R-CNN管道中,包括RoI头中的剩余块在内的网络的所有部分都将使用对比聚类丢失的梯度进行更新。
进一步实施细节
我们完成了与实现细节相关的讨论。5.2这里。我们在8个nvidiav100gpu的服务器上进行了实验,有效批量大小为8,使用SGD,学习率为0.01。每项任务学习8个阶段(∼ 5万次迭代)。将特征存储的队列大小设置为20。我们在1k次迭代后启动聚类,并在每3k次迭代后使用动量参数0.99更新聚类原型。欧几里德距离用作等式中的距离函数D。1.保证金(∆) 设置为10。为了自动标记RPN中的未知项,我们选择top-1背景方案,按其objectness得分排序。基于能量的分类头中的温度参数设置为1。该代码在PyTorch[44]中使用Detectron 2[63]实现。可靠性库[53]用于模拟能量分布。我们公开发布所有代码以促进可复制研究:https://github.com/JosephKJ/OWOD.
增量目标检测相关工作
“类增量对象检测”(iOD)设置考虑随着时间的推移逐渐观察到类,并且学习者必须适应,而不必从头开始对旧类进行再培训。流行的方法[61,28,18,7]使用知识提炼[21]作为一种正则化措施,以避免在训练新课程时忘记旧的课程信息。具体来说,Shmelkov等人[61]通过从前一阶段模型中提取分类和回归输出,重新利用快速R-CNN进行增量学习。除了提取模型输出,Chen等人[7]和Li等人[28]还提取了中间网络特征。Hao等人[18]建立在更快的R-CNN上,并使用一个学生-教师框架来适应RPN。Acharya等人[1]提出了一种用于在线检测的重放机制。最近,Peng等人[45]将自适应蒸馏技术引入快速R-CNN。他们的方法是目前iOD的最新技术。然而,这些方法不能在一个开放的环境中工作,这是本文工作的重点,并且不能识别未知对象。
时间和存储费用:
ORE的训练和推理比标准的R-CNN快0.1349秒/iter和0.009秒/iter。维护FStore的存储开销可以忽略不计,示例内存(对于Nex=50)大约需要34mb。
使用基于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. 这不如矿石。
定性结果
我们在图8到图13中展示了矿石的定性结果。我们发现,矿石能够识别各种未知实例,并使用所提出的对比聚类和基于能量的未知识别方法进行增量学习。所有这些图像中的子图(a)显示了已识别的未知实例以及探测器已知的其他实例。相应的子图(b)显示了增量添加新类后来自同一检测器的检测。
关于失效案例的讨论
遮挡和物体拥挤的情况下,我们的方法往往会变得混乱(外部存储,随身听和包没有检测到未知的图)。11, 13). 困难的观点(如背面)也会导致一些错误的分类(长颈鹿)→无花果马。4, 12). 我们还注意到,探测小的未知物体与大的已知物体共存是困难的。由于矿石是这方面的第一个努力方向,我们希望这些确定的不足之处将成为进一步研究的基础。
