点击下方卡片,关注「集智书童」公众号
想要了解更多:
前沿AI视觉感知全栈知识👉「分类、检测、分割、关键点、车道线检测、3D视觉(分割、检测)、多模态、目标跟踪、NerF」
行业技术方案 👉「AI安防、AI医疗、AI自动驾驶」
AI模型部署落地实战 👉「CUDA、TensorRT、NCNN、OpenVINO、MNN、ONNXRuntime以及地平线框架」
欢迎扫描上方二维码,加入「 集智书童-知识星球 」,日常分享论文、学习笔记、问题解决方案、部署方案以及全栈式答疑,期待交流!
免责声明
凡本公众号注明“来源:XXX(非集智书童)”的作品,均转载自其它媒体,版权归原作者所有,如有侵权请联系我们删除,谢谢。
传统目标检测方法基于闭集假设,即模型只能检测训练集中预定义的固定数量的目标。近年来,关于开放词汇目标检测(OVD)的工作使得模型能够检测由无穷词汇定义的目标,从而降低了特定任务训练模型的成本。
然而,OVD严重依赖于由“神谕”提供的准确 Prompt ,这限制了它们在关键应用场景(如驾驶场景感知)中的使用。OVD模型倾向于将语义相似的已知类别的近似外分布(NOOD)目标误分类,并忽略远似外分布(FOOD)目标。
为解决这些限制,作者提出一个框架,使得OVD模型能够在开放世界环境中运行,通过识别并逐步学习新目标。为检测FOOD目标,作者提出开放世界嵌入学习(OWEL)并引入了伪未知嵌入的概念,该概念根据已知类别的信息,基于连续语义空间推理未知类别的位置。
作者还提出多尺度对比 Anchor 点学习(MSCAL),通过在不同尺度上促进目标嵌入的一致性,使得能够通过识别错误分类的未知目标。
所提出的方法在常见的开放世界目标检测和自动驾驶基准测试中实现了最先进的性能。
1 Introduction
目标检测是计算机视觉领域的基本任务,涉及对前景物体的定位和分类。尽管在这个领域已经取得了显著的进步,但许多方法仍然依赖于闭集假设,即预测的所有物体类别都存在于训练集中。
在许多实际应用中,例如自动驾驶,封闭集假设是不现实的甚至危险的,因为它迫使模型错误分类或忽略未知物体[6]。Scheirer [52] 定义了拒绝未知类别()和同时分类已知类别()为开放集识别(OSR)。后续工作[6, 40] 将这个问题扩展到开放集目标检测(OSOD)。Joseph [19] 进一步提出了开放世界目标检测(OWOD),它涉及检测已知和未知物体,并逐步学习新类别。
开源世界目标检测是一项具有挑战性的任务,原因在于开源识别复杂性[6, 40]和增量学习[56]的综合复杂性。模型必须超出预定义类别来捕捉未知目标的物性,同时避免将其与已知类别混淆。此外,它需要逐步学习新类别,而不忘记之前获得的技能。尽管在这个领域取得了一些进展,但仍有几个关键问题尚未解决。许多现有方法在发现未知物体方面表现不佳,导致未知类别的召回率低。此外,现有的开源世界目标检测方法在增量学习过程中采用回放策略,即在训练新类别时重新引入之前任务的数据。这并不是一种最优策略,因为它浪费了计算能力和时间。
最近,视觉语言预训练的兴起催生了一个新领域:开放词汇目标检测(OVD)。原则上,OVD可以在推理时检测由无限(开放)词汇定义的新类。自然地,它可以通过添加新的 Prompt 逐步学习新类。然而,在现实生活中,开放词汇可能不一定完整且准确。如图1所示,如Yolo World [5]这样的开放词汇模型在测试时仍然是一种封闭集模型,因为对于专家用户(称为“神谕”)来说,定义需要检测的所有可能目标是不切实际的。有限词汇的模型倾向于将语义上与已知类相似的近似于分布外的目标(Near-Out-Of-Distribution,简称NOOD)误分类,并忽略远分布外的目标(Far-Out-Of-Distribution,简称FOOD)。在现实世界的应用,如自动驾驶,其中有许多无法在文本 Prompt 中最初包含的目标类型,当呈现超出分布的目标时,OVD必然会失败。OVD的限制不是由于缺乏先验知识,而是由于无法有效应用,这个过程需要将未知目标识别为模型表示中的缺口。
为解决这一挑战,作者提出了一种框架,使OVD模型能够在开放世界设置中运行。为了检测FOOD目标并逐步学习新类,作者提出了一种名为Open World Embedding Learning(OWEL)的方法。OWEL优化参数化类嵌入而不是整个模型来学习新类,这从根本上减少了灾难性遗忘。作者还进一步引入了新颖的伪未知嵌入概念,它根据当前已知的类和通用目标性构建文本嵌入来检测FOOD目标。
为了识别 NOD 目标,作者提出了多尺度对比 Anchor 点学习(MSCAL)。对比学习已在 OOD 检测 [32, 42, 59] 中使用,将相似的样本聚在一起,将不相似的样本推开,在表示空间中。MSCAL 的关键洞察是,在开放世界设置中,目标类别逐步引入。随着新类别的引入,已知类别的决策边界在共享特征空间内发生变化。作者将未知目标识别在开放集设置下的问题表述为一系列深度单类分类 [50] 问题。对于类别 ,作者使用单个非线性 Projector 将特征金字塔映射到类特定的表示空间,对比嵌入与类 Anchor 点。来自类别 的不同尺度的正样本,使其最大程度地相似于类 Anchor 点,其他类别的嵌入和背景则作为负样本。MSCAL 确保了不同尺度已知类别的嵌入紧密围绕其对应的 Anchor 点聚类,而未知目标嵌入被排除在聚类之外,可以由基于距离的 OOD 分数拒绝。
作者的方法在M-OWODB[19]和S-OWODB[14]基准测试中,显著超越了当前最先进(SOTA)的性能,同时保持了其他指标的领先地位。作者还将在基于nuScenes[2]的新基准上评估作者的方法,同样取得了最佳结果。
本工作的贡献如下:
- 作者提出一个框架,使得 OVD 模型能够在开放世界环境中运行,该框架通过识别未知物体并逐步学习新类别来实现。
- 作者提出了一种新颖的方法Open World Embedding Learning(OWEL),以实现无需微调整个模型或需要先前已知类别的示例的新类别的发现和增量学习。
- 作者提出了一种多尺度对比 Anchor 点学习方法(MSCAL),通过在不同尺度上对特定类别的 Anchor 点周围的已知类别嵌入进行聚类,从而减少OWOD中的已知-未知混淆。
- 作者提出一个新的基于常用nuScenes数据集的自动驾驶领域OWOD应用的基准。
2 Related Works
闭集目标检测在过去十年中得到了广泛研究。为了处理未知物体并逐步学习新类别,Joseph [19] 首先提出了一种开放世界目标检测器,该检测器扩展了Faster R-CNN [49]并采用了对比聚类和基于能量的不确定物体识别。后续工作[14, 35]利用上下文信息来改进不确定物体的识别和已知类别之间的知识转移。为了有效地检测未知物体,Zohar [72] 提出了概率目标性(PROB)来估计不同 Proposal 的目标性。Wang [64] 在检测器训练中引入随机 Proposal ,以鼓励未知物体的发现并减少已知类别和未知类别之间的混淆。Ma [33] 提出了通过级联解码将物体定位和分类解耦。Sun [58] 进一步通过强制正交性来解耦物体性和类别信息。
开放词汇目标检测(Open Vocabulary Object Detection,简称OVD)旨在通过词汇知识来检测新类别的目标[65]。OVD方法以各种方式实现,包括知识蒸馏[13, 37, 46],区域文本预训练[5, 23, 69]和 Prompt 建模[7, 66]。一个OVD模型将图像嵌入与文本嵌入进行匹配。当呈现一个不在 Prompt 中的目标时,模型要么将最接近的匹配物分配为错误的标签(NOOD情况),要么完全检测不到(FOOD情况)。
在最近的一项工作中[34],使用了基于知识蒸馏的开词汇模型(OWOD)进行OWOD,然而,它仍然需要逐步学习新类别的示例重放型微调。
视觉语言模型的异常检测Out-of-distribution (OOD)检测与开集学习密切相关,这两个术语有时可以互换使用。与OSR略有不同,因为OOOD样本可能与训练集完全无关,而OSR关注于拒绝有效但 previously unseen类 [10, 51]。
深度神经网络广泛应用于OOD检测研究。Ming等人[41]提出了最大概念匹配(MCM)分数来评估CLIP输出的OOD程度。该分数还可以与负标签[17]相结合。在视觉语言预训练过程中,文本和图像特征空间实现了对齐,这为Wang等人[62]提出了一种零样本OOOD检测的 Prompt 学习方法。局部正则化上下文优化(LoCoOp)[43]使用与分布内(ID)样本无关的图像元素(如背景)作为 Prompt 学习的负样本。类似地,Nie等人[44]采用了类似于CoCoOP[70]的方法来学习负 Prompt 。Li等人[24]引入了一种适用于开放词汇学习的可转移负 Prompt 学习技术,允许对新类别进行适应。
对比学习对比学习旨在学习一个表示空间,其中相似的实例在表示空间中靠近,而不相似的实例在表示空间中远离。最初,对比学习被用于以自监督方式训练图像编码器[4, 15]。Khosla等人[21]提出了有监督对比学习,它提高了神经网络的鲁棒性。有监督对比学习鼓励每个类别内的紧凑性,以及不同类别之间的分离,使其适合基于距离的异常检测[42]。一些方法[53, 57, 59]迭代选择一个样本作为 Anchor 点,并将其与其他mini-batch中的样本进行对比。更近的方法[25, 32, 42]采用类 Anchor 点,这最大化正样本与相应类 Anchor 点的相似度。
3 Method
开放世界目标检测(OWOD)[19]旨在在不间断地学习新类的同时,检测已知和未知物体。在任意时刻,作者将已知类别视为已知,未知类别视为未知。OWOD模型应能够检测和中的物体,并在人类标注员提供个新类别时,将已知类别扩展到。这样,目标检测器在开放世界中不断发现并学习新类。
如图2所示,作者提出了一种方法的一般架构。遵循[5]的研究,作者将文本T和图像I作为输入,将文本嵌入与图像嵌入进行匹配,以预测目标的类别标签和边界框。令表示N个已知类别的文本嵌入,它由预训练CLIP[45]文本编码器编码的类名编码初始化。可以表示为模型的权重,可以通过Open World Embedding Learning (OWEL)进行优化。推理时,构建一个伪未知嵌入并附加到,并弃用CLIP文本编码器。图像编码器(从Yolo v8[18, 47]继承的DarkNet Backbone 网络)从输入图像I中提取多尺度特征C。然后,多模态颈(RepVL-PAN[5])使用多级跨模态融合将图像和文本特征结合,形成特征金字塔P。检测Head通过将文本嵌入与P中的每个空间位置的余弦相似度进行匹配,预测边界框和类别标签。同时,MSCAL模块对异常分布(OOD)得分进行密集预测,并在检测Head中拒绝未知边界框。最后,通过非极大值抑制(NMS)过滤冗余预测。
大型预训练的视觉语言模型催生了诸多 Prompt 学习方法[1, 70, 71],这些方法优化的是文本 Prompt 而不是微调整个模型以提高在下游任务上的性能。但它们不适用于OWOD,因为已知 和未知 类是不断变化的。为了解决这个问题,作者提出了一种简单而有效的方法来学习新类并检测未知物体,称为开源世界嵌入学习(OWEL)。对于 个已知类,作者初始化已知类嵌入 ,并使用目标检测损失来优化它们。当引入 个新类时,作者只需将 冻结,并训练新类嵌入。
如图1所示,当一个OVD模型遇到未知物体时,它可能会将其错误地分类为语义上相似的文本 Prompt ,或者如果语义差异较大,则忽略它。对于前者,作者可以通过建模已知类别的分布来拒绝不属于该分布的样本。对于后者,作者需要为未知类别构建一个伪类嵌入。
视觉语言预训练将视觉嵌入空间和文本嵌入空间对齐,使得文本嵌入等于相应的图像嵌入[9, 45, 62, 71]。已知在连续空间语言模型[38, 39]中的向量偏移可以推导出文本嵌入之间的关系。如图3所示,用表示所有已知类别的平均文本嵌入,定义为:
令 表示通用物体性文本嵌入。自然地, 的文本 Prompt 应是一些通用词汇,例如 "物体",这在相关工作 [36] 和作者对 Yolo 世界的研究中得到了支持。
的语义在某种程度上与已知类别重叠。为了使其重点转移到未知类别而不是在已知类别上进行重复检测,作者提出构建一个伪未知嵌入,专门用于检测远离分布(FOOD)目标。伪未知嵌入的定义是通过将已知类别的均值从中减去得到的:
由于 是一个权重参数, 在测试时被定义,因此当添加新的已知类时,它能够动态地调整其关注点。
多尺度对比型 Anchor 点学习(Multi-Scale Contrastive Anchor Learning, MSCAL)是一种用于识别未知物体的有效方法,该方法基于CLIP[45]模型,但并不天然免疫于跨分布样本[24, 41, 43, 44, 62]。同样,基于CLIP的OVD模型也存在这个问题。为了有效地识别未知物体并持续适应新类别,作者提出了一种名为多尺度对比型 Anchor 点学习(MSCAL)的方法。假设作者目前有N个已知的类别。对于每个类别i,作者训练一个MSCAL模块来确定特征金字塔P中一个空间位置是否属于该类别,通过最大化类别 Anchor 点μi与类别i中的空间位置之间的内积,并最小化与其他类别中的空间位置之间的内积。
在OWOD中,目标类别逐渐引入。新类别将改变现有类别的决策边界。作者可以使用类指定的模块来强制该类别内的一致性,并拒绝所有来自其他类别的样本。对于类别,作者使用非线性 Projector 将特征金字塔映射到类特定的表示空间,其中对比学习发生。图4显示了MSCAL模块的结构。对于类别,非线性对比 Projector 将映射到低维空间中的多尺度特征图。作者将视为对应于小批量中的类别 Anchor 点的空间位置的集合,并假设 Projector 提取了层特征图,因此类别的MSCAL损失为:
表示来自类别 的正样本集合, 表示正样本数量, 是第 层的特征图, 表示内积, 是一个温度缩放参数。
因此,所有已知类别的损失定义为:
MScAL对比了不同尺度和图像上的类别 Anchor 点与正负样本。在推理阶段,空间位置处的OOOD得分为。这个想法是,在训练过程中,如果属于类别,那么将被最大化,否则将被最小化。由于未知物体不属于任何类别,因此将大于已知物体的值。作者使用这个OOOD分数来识别检测Head提出的未知物体。 Anchor 点可以被参数化为卷积层,这是计算高效的。
此外,MSCAL支持增量学习。当模型遇到新物体时,已知类别的训练数据不再可用,作者只需为新增类别添加MSCAL模块,并将先前已知的模块冻结,以避免灾难性遗忘。 作者的方法不需要示例重放来防止灾难性遗忘。作者只是将参数化的文本嵌入和MSCAL模块冻结为之前的已知类别,然后用当前已知的类别训练新的模块。
对于作者模型的OVD部分,作者采用了Yolo World [5]的通用架构,该架构在O365 [54],GoldG [20],CC3M [55]上进行预训练。值得注意的是,GoldG默认去除了与COCO数据集[27]重叠的图像。作者的模型使用AdamW优化器[31]进行训练,学习率为1e-4,权重衰减为0.0125。训练批次大小设置为16,输入图像缩放到640x640分辨率。对于所有任务,权重参数α为0.4。所有模型训练均在单个Nvidia A100 GPU上进行。
4 Experiments
Datasets
作者使用以前工作中使用的常见开放世界目标检测基准测试[33, 58, 72]来评估作者的方法,并提出了一个基于自动驾驶的新的开放世界目标检测基准(OWOD)。常见的OWOD基准包括超类混合基准(M-OWODB)[19]和超类分离基准(S-OWODB)[14]。M-OWODB基准将COCO[27]和PASCAL VOC[8]结合在一起,而S-OWODB基准仅基于COCO。两者都分为四个不同的任务,其中模型在各个任务中学习一些新的类别,而其余类别则是未知的。此外,作者提出了一种具有挑战性的基于nuScenes[2]的OWOD基准(nu-OWODB),该基准包括真实的驾驶场景。nuScenes数据集捕捉了多样化的城市环境,包括拥挤的城市街道、许多动态物体、具有挑战性的天气条件和密集的交通场景以及 Agent 之间的复杂交互。
此外,数据集存在显著的类不平衡,例如汽车比救护车或建筑车辆等类更为常见。nu-OWODB基准分为三个子任务。首先,模型被引入到不同类型的车辆。在随后的任务中,引入了各种行人和其他交通参与者。这个基准模拟了在实际应用中OWOD的挑战。
Evaluation Metrics
作者在各个任务中评估所提出模型的性能,既包括已知类,也包括未知类。对于已知类,常用的评价指标是平均精确率(mAP)。具体而言,评估过程进一步分为已知类和当前已知类的mAP。对于未知类,主要的评价指标将是未知类召回率(U-Recall),该指标评估模型检测未知物体的能力。此外,作者还使用荒野影响(WI)[6]和绝对开放集误差(A-OSE)[40]来衡量模型在已知和未知类别之间的混淆程度。
Results
- 传统OWOD基准测试的定量结果表1展示了在作者的方法与现有方法和原始Yolo World [5]相比在常用基准测试上的OWOD性能。作者的方法在已知类别的平均精确率(mAP)和未知类别的召回率(U-Recall)方面都明显优于现有目标检测方法。表2表明,作者的方法不仅在检测未知物体(更高的U-Recall)方面表现良好,而且在与SOTA方法相比,在降低未知物体的混淆(更低的WI和A-OSE)方面也表现良好。此外,作者的方法在学习新类别时不需要示例重放,实现了端到端的OWOD。
作者进一步评估了作者的方法以及一些最先进的SOTA方法在nu-OWODB,这是一个基于nuScenes [2]的新基准测试上。
如图3所示,作者的方法在各项任务中的未知召回率具有绝对优势,相较于SOTA性能高出40%,即使 NuScenes 与视觉语言预训练数据集之间存在巨大的领域差距。在作者的方法中,每个任务中的已知类别的 mAP 也是最高的。尽管作者的方法不需要对已知类别进行任何再训练,但作者仍然允许现有方法 [58, 72] 在学习新任务后,使用之前任务中的示例(10%的数据)微调模型,否则它们将出现灾难性遗忘。因此,它们在 WI 和 A-OSE 方面取得的性能比作者的方法更好。在一定程度上,这些指标可以反映目标检测器的鲁棒性,但在模型做出非常少的预测(见任务2)的情况下,它们也可能具有误导性。
作者还观察到已知类别的mAP较低。主要原因是物体类别高度详细,每个类别中的物体在nuScenes [2]中高度不平衡。例如,类别vehicle.bus.rigid有8361个2D标注,而类别vehicle.bus.bendy只有265个标注。作者没有合并这些类别,以使基准更具现实性和挑战性。
Qualitative Analysis
图5显示了在完成M-OWODB和nu-OWODB的第二个任务后,两种SOTA方法和作者方法之间的比较。作者的方法在未知类别上提供了更有意义的边界框,同时在对已知类别的性能损失不明显,这使得在各种应用中进行精确度和召回率之间的权衡变得更加容易。作者可以看到,尽管PROB [72]能够检测到一定数量的未知物体,但与已知物体相关的高置信度未知边界框也有很多。另一方面,EO-OWODB [58]在将背景检测为已知物体时,却未能检测到几个未知物体。关于精确度和召回率之间的权衡的更多讨论可以在补充材料中找到。
Ablation Study
为了理解单个组件的贡献,作者禁用了一些模型模块,从而创建了一组 Baseline 模型。基础模型是纯YOLO世界检测器[5],带有已知类名和手工制作的通用物体名称("物体"),采用零样本方式。OWEL去除了MSCAL模块和OOD得分,同时用原始通用 Prompt 替换了伪未知嵌入。
从表4中,作者可以看到OWEL显著提高了未知类别的U-Recall和已知类别的mAP。另一方面,OWEL增加了绝对开放集错误。这表明,通过目标检测损失优化已知类别的嵌入不仅学习了与图像样本最相似的嵌入,还学习了这个领域的某些特征,导致更有效的预测和开放集错误。MSCAL大大减少了开放集错误,并在没有伪未知嵌入的情况下实现了合理的未知类召回,因为它通过纠正开放集错误来检测未知类。OWEL和MSCAL相互补充,以检测最大比例的未知物体,同时合理地保持已知类别的性能。
作者还尝试了不同的 Prompt 来估计通用物体的嵌入。表5展示了在M-OWODB上的消融实验,这表明“物体”是一个适当的 Prompt 。请注意,通用 Prompt 可以通过设计预训练任务来估计,但这将引入对已知类别的偏见。
5 Conclusion
在本研究中,作者提出了一种框架,使开放词汇模型能够在开放世界环境中运行。作者引入了开放世界嵌入学习(OWEL)和多尺度对比 Anchor 学习(MSCAL),使模型能够识别并逐步学习未知物体。
作者还提出了一种新的评估标准来评估OWOD在自动驾驶领域的性能。在未来,作者将研究使用多种传感器模态和数据域的开放世界目标检测。
[0]. From Open Vocabulary to Open World: Teaching Vision Language Models to Detect Novel Objects.
扫码加入👉「集智书童」交流群
(备注: 方向+学校/公司+昵称 )
点击下方“ 阅读原文 ”,
了解更多AI学习路上的 「武功秘籍」