OVD (Open-Vocabulary Detection)

目标检测是计算机视觉中一个非常重要的基础任务,与常见的的图像分类 / 识别任务不同,目标检测需要模型在给出目标的类别之上,进一步给出目标的位置和大小信息,在 CV 三大任务(识别、检测、分割)中处于承上启下的关键地位。

当前大火的多模态 GPT-4 在视觉能力上只具备目标识别的能力,还无法完成更高难度的目标检测任务。而识别出图像或视频中物体的类别、位置和大小信息,是现实生产中众多人工智能应用的关键,例如自动驾驶中的行人车辆识别、安防监控应用中的人脸锁定、医学图像分析中的肿瘤定位等等。

已有的目标检测方法如 YOLO 系列、R-CNN 系列等目标检测算法在科研人员的不断努力下已经具备很高的目标检测精度与效率,但由于现有方法需要在模型训练前就定义好待检测目标的集合(闭集),导致它们无法检测训练集合之外的目标,比如一个被训练用于检测人脸的模型就不能用于检测车辆;另外,现有方法高度依赖人工标注的数据,当需要增加或者修改待检测的目标类别时,一方面需要对训练数据进行重新标注,另一方面需要对模型进行重新训练,既费时又费力。

一个可能的解决方案是,收集海量的图像,并人工标注 Box 信息与语义信息,但这将需要极高的标注成本,而且使用海量数据对检测模型进行训练也对科研工作者提出了严峻的挑战,如数据的长尾分布问题与人工标注的质量不稳定等因素都将影响检测模型的性能表现。

发表于 CVPR 2021 的文章 OVR-CNN [1] 提出了一种全新的目标检测范式:开放词集目标检测(Open-Vocabulary Detection,OVD,亦称为开放世界目标检测),来应对上文提到的问题,即面向开放世界未知物体的检测场景。

OVD 由于能够在无需人工扩充标注数据量的情形下识别并定位任意数量和类别目标的能力,自提出后吸引了学术界与工业界的持续关注,也为经典的目标检测任务带来了新的活力与新的挑战,有望成为目标检测的未来新范式。

具体地,OVD 技术不需要人工标注海量的图片来增强检测模型对未知类别的检测能力,而是通过将具有良好泛化性的无类别(class-agnostic)区域检测器与经过海量无标注数据训练的跨模态模型相结合,通过图像区域特征与待检测目标的描述性文字进行跨模态对齐来扩展目标检测模型对开放世界目标的理解能力。

跨模态和多模态大模型工作近期的发展非常迅速,如 CLIP [2]、ALIGN [3] 与 R2D2 [4] 等,而它们的发展也促进了 OVD 的诞生与 OVD 领域相关工作的快速迭代与进化。

OVD 技术涉及两大关键问题的解决:1)如何提升区域 (Region) 信息与跨模态大模型之间的适配;2)如何提升泛类别目标检测器对新类别的泛化能力。从这两个角度出发,下面将详细介绍一些 OVD 领域的相关工作。

### ViLD 方法及其在开放词汇对象检测中的应用 #### 背景介绍 开放词汇对象检测(Open-Vocabulary Object Detection, OVD)旨在通过利用大量未标注的数据和跨模态的知识,扩展传统目标检测器的能力,使其能够识别超出训练集中已知类别的新类别。这种方法的核心在于结合视觉和语言的信息,以增强模型对未知概念的理解能力。 #### ViLD 的核心机制 ViLD 是一种基于视觉与语言知识蒸馏的技术,用于解决开放词汇对象检测问题。它引入了两种主要的学习方式:文本嵌入学习(ViLD-text)和图像嵌入学习(ViLD-image)。这两种方法分别从不同角度优化模型的表现: - **文本嵌入学习(ViLD-text)**:该模块通过预先训练的语言模型提取语义特征,并将其作为指导信号融入到目标检测框架中[^1]。这种方式有助于捕捉更广泛的语义信息,特别是在处理新颖或少见的类别时表现出显著优势。 - **图像嵌入学习(ViLD-image)**:此部分依赖于大规模预训练的视觉表示,专注于提升模型对于具体视觉模式的认知精度。这种策略特别适合强化那些具有明显外观特性的物体检测效果[^2]。 上述两者的有机结合不仅实现了性能上的互补,而且有效缓解了单一路径可能带来的局限性——即当单独采用任一方向进行优化时所面临的 trade-off 问题[^3]。 #### 实验验证与成果展示 通过对多种评估指标下的对比分析发现,在实际应用场景下,融合后的 ViLD 方案相较于仅依靠文字提示或者单纯依赖图片理解的传统手段均展现出更高的准确性(APr)[^4]。尤其值得注意的是,相比完全受控环境下的标准监督学习模型(Supervised-RFS),即使是在面对稀少样本的小众分类项上,依然保持住了至少高出近四个百分点的整体效能增益水平。 此外,为了进一步挖掘潜在的最佳配置选项,研究人员还在附加材料里详尽探讨了一系列有关超参数调整的可能性方案表格(见附录表7)。这些努力最终促成了当前版本能够在多个公开测试集上面取得领先位置的好成绩。 ```python def vild_model(image_embeddings, text_embeddings): """ Simulates the combination process within a simplified version of VILD model. Args: image_embeddings (Tensor): Pre-trained embeddings from images. text_embeddings (Tensor): Pre-trained embeddings from texts. Returns: Tensor: Combined embedding after fusion step. """ combined_embedding = torch.cat((image_embeddings, text_embeddings), dim=1) output = nn.Linear(combined_embedding.size(-1), num_classes)(combined_embedding) return F.softmax(output, dim=-1) ``` 以上代码片段示意了一个简化版VILD架构如何将来自两个域的不同类型的输入结合起来形成最后预测概率分布的过程。 --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值