接地 DINO 1.5:突破开放集目标检测的界限
介绍
近年来,零样本目标检测已成为计算机视觉进步的基石。创建多功能且高效的探测器一直是构建实际应用程序的重点。 IDEA Research 推出的 Grounding DINO 1.5 标志着该领域的重大飞跃,特别是在开放集目标检测方面。
先决条件
- 基本理解:熟悉对象检测概念和转换器架构。
- 环境设置:安装了 Python、PyTorch 和相关的 ML 库。
- 数据集知识:具有用于开放集对象检测的数据集的经验(例如 COCO、LVIS)。
- 硬件:访问 GPU 以进行高效的训练和推理。
什么是 DINO 接地?
Grounding DINO是一种基于DINO的开放集检测器,不仅实现了最先进的目标检测性能,而且还通过grounded预训练实现了多级文本信息的集成。与 GLIP 或接地语言图像预训练相比,Grounding DINO 具有多种优势。首先,其基于 Transformer 的架构与语言模型类似,有助于处理图像和语言数据。
接地 DINO 框架
Grounding DINO 1.5系列整体框架(来源)
上图所示的框架是Grounding DINO 1.5系列的整体框架。该框架保留了Grounding DINO的双编码器单解码器结构。此外,该框架将其扩展到 Pro 和 Edge 型号的 Grounding DINO 1.5。
接地 DINO 结合了 DINO 和 GLIP 的概念。 DINO 是一种基于 Transformer 的方法,擅长通过端到端优化进行对象检测,无需手工制作的模块(例如非极大值抑制或 NMS)。相反,GLIP 侧重于短语基础,将文本中的单词或短语与图像或视频中的视觉元素联系起来。
Grounding DINO 的架构由图像主干、文本主干、用于图像文本融合的特征增强器、语言引导的查询选择模块和用于细化对象框的跨模态解码器组成。最初,它提取图像和文本特征,融合它们,从图像特征中选择查询,并在解码器中使用这些查询来预测对象框和相应的短语。
《Grounding DINO 1.5》中有哪些新内容?
Grounding DINO 1.5 建立在其前身 Grounding DINO 的基础上,后者通过合并语言信息并将任务框架为短语接地重新定义了对象检测。这种创新方法利用了对不同数据集的大规模预训练以及对来自大量图像文本对的伪标记数据的自我训练。其结果是一个模型由于其强大的架构和丰富的语义而在开放世界场景中表现出色。
Grounding DINO 1.5 进一步扩展了这些功能,推出了两种专用型号:Grounding DINO 1.5 Pro 和 Grounding DINO 1.5 Edge。 Pro 模型通过显着扩展模型的容量和数据集大小、结合 ViT-L 等先进架构并生成超过 2000 万张带注释的图像来增强检测性能。相比之下,Edge模型针对边缘设备进行了优化,强调计算效率,同时通过高级图像特征保持高检测质量。
实验结果强调了 Grounding DINO 1.5 的有效性,Pro 模型设定了新的性能标准,而 Edge 模型则展示了令人印象深刻的速度和准确性,使其非常适合边缘计算应用。本文深入探讨了 Grounding DINO 1.5 带来的进步,探讨了其在开放集目标检测动态领域中的方法、影响和潜在的未来方向,从而突出了其在现实场景中的实际应用。
Grounding DINO 1.5 在 Grounding-20M 上进行了预训练,Grounding-20M 是一个包含来自公共来源的超过 2000 万张接地图像的数据集。在训练过程中,通过完善的标注管道和后处理规则确保了高质量的标注。
绩效分析
下图显示了模型识别 COCO 和 LVIS 等数据集中对象的能力,其中包含许多类别。这表明Grounding DINO 1.5 Pro的性能明显优于之前的版本。与之前的特定型号相比,Grounding DINO 1.5 Pro 表现出了显着的改进。
该模型使用 ODinW(野外对象检测)基准测试在各种现实场景中进行了测试,其中包括涵盖不同应用程序的 35 个数据集。与之前版本的 Grounding DINO 相比,Grounding DINO 1.5 Pro 的性能显着提高。
使用 A100 GPU 以每秒帧数 (FPS) 为单位测量 COCO 和 LVIS 上的 Grounding DINO 1.5 Edge 的零样本结果,以 PyTorch 速度/TensorRT FP32 速度报告。还提供 NVIDIA Orin NX 上的 FPS。 Grounding DINO 1.5 Edge 实现了卓越的性能,并且超越了所有其他最先进的算法(OmDet-Turbo-T 30.3 AP、YOLO-Worldv2-L 32.9 AP、YOLO-Worldv2-M 30.0 AP、YOLO-Worldv2-S 22.7 AP)。
接地 DINO 1.5 Pro 和接地 DINO 1.5 Edge
DINO 1.5 Pro 接地
Grounding DINO 1.5 Pro 建立在 Grounding DINO 的核心架构之上,但通过更大的 Vision Transformer (ViT-L) 主干增强了模型架构。 ViT-L 模型以其在各种任务上的卓越性能而闻名,基于变压器的设计有助于优化训练和推理。
Grounding DINO 1.5 Pro 采用的关键方法之一是用于特征提取的深度早期融合策略。这意味着在进入解码阶段之前,在特征提取过程中使用交叉注意机制尽早组合语言和图像特征。这种早期集成可以更彻底地融合两种模式的信息。
在他们的研究中,该团队将早期融合与后期融合策略进行了比较。在早期融合中,语言和图像特征在过程的早期进行集成,从而实现更高的检测召回率和更准确的边界框预测。然而,这种方法有时会导致模型产生幻觉,这意味着它预测了图像中不存在的物体。
另一方面,后期融合将语言和图像特征保持分离,直到损失计算阶段将它们集成。这种方法通常对幻觉更稳健,但往往会导致较低的检测召回率,因为当视觉和语言特征仅在最后组合时,对齐它们会变得更具挑战性。
为了最大限度地发挥早期融合的好处,同时最大限度地减少其缺点,Grounding DINO 1.5 Pro保留了早期融合的设计,但融入了更全面的训练采样策略。该策略在训练期间增加了负样本(没有感兴趣对象的图像)的比例。通过这样做,模型学会更好地区分相关信息和不相关信息,从而减少幻觉,同时保持较高的检测召回率和准确性。
综上所述,Grounding DINO 1.5 Pro 通过将早期融合与改进的训练方法相结合,平衡早期融合架构的优缺点,增强了其预测能力和鲁棒性。
DINO 1.5 边缘接地
Grounding DINO 是一种用于检测图像中物体的强大模型,但它需要大量的计算能力。这使得在资源有限的小型设备(例如汽车、医疗设备或智能手机)上使用变得具有挑战性。这些设备需要快速有效地实时处理图像。 在边缘设备上部署 Grounding DINO 对于许多应用来说都是非常理想的,例如自动驾驶、医学图像处理和计算摄影。
然而,开放集检测模型通常需要大量的计算资源,而边缘设备缺乏这些资源。原始的 Grounding DINO 模型使用多尺度图像特征和计算密集型特征增强器。虽然这提高了训练速度和性能,但对于边缘设备上的实时应用程序来说是不切实际的。
为了应对这一挑战,研究人员提出了一种针对边缘设备的高效功能增强器。他们的方法侧重于仅使用高级图像特征(P5 级)进行跨模态融合,因为较低级特征缺乏语义信息并增加计算成本。该方法显着减少了处理的令牌数量,从而减少了计算负载。
为了更好地集成在边缘设备上,该模型用普通自注意力替代了可变形自注意力,并引入了跨尺度特征融合模块来集成较低级别的图像特征(P3 和 P4 级别)。这种设计平衡了功能增强的需求和计算效率的必要性。
在Grounding DINO 1.5 Edge中,原来的特征增强器被这种新的高效增强器取代,并使用EfficientViT-L1作为快速多尺度特征提取的图像主干。当部署在 NVIDIA Orin NX 平台上时,该优化模型在输入尺寸为 640 × 640 的情况下实现了超过 10 FPS 的推理速度。这使其适合边缘设备上的实时应用,平衡性能和效率。
Origin特征增强器和新的Efficient特征增强器的比较(来源)
Grounding DINO 1.5 Edge 在 NVIDIA Orin NX 上的可视化功能包括在屏幕左上角显示 FPS 和提示。右上角显示录制场景的摄像机视图。
物体检测演示
请确保请求 DeepDataSpace 获取 API 密钥。请参阅 DeepDataSpace 获取 API 密钥:https://deepdataspace.com/request_api。
为了运行此演示并开始对该模型进行实验,我们在本文中创建并添加了一个 Jupyter 笔记本,以便您可以对其进行测试。
首先,我们将克隆存储库:
!git clone https://github.com/IDEA-Research/Grounding-DINO-1.5-API.git
接下来,我们将安装所需的软件包:
!pip install -v -e .
运行下面的代码来生成链接:
!python gradio_app.py --token ad6dbcxxxxxxxxxx
DINO 1.5 接地的实际应用和结论
1.自动驾驶汽车
- 检测和识别已知的交通标志和行人以及道路上可能出现的陌生物体,确保更安全的导航。
- 识别训练数据中未预先标记的意外障碍物,例如碎片或动物。
2.监控与安全
- 识别受限区域内未经授权的个人或物体,即使他们以前从未见过。
- 在机场或火车站等公共场所检测废弃物体可能会构成潜在的安全威胁。
3.零售和库存管理
- 识别和跟踪商店货架上的商品,包括可能不属于原始库存的新产品。
- 识别商店中可能表明入店行窃的异常活动或不熟悉的物体。
4.医疗保健
- 检测医学扫描中的异常或不熟悉的模式,例如新型肿瘤或罕见疾病。
- 识别不寻常的患者行为或动作,尤其是在长期护理或术后恢复中。
5.机器人
- 通过识别和适应新物体或周围环境的变化,使机器人能够在动态和非结构化环境中运行。
- 在环境不可预测且充满陌生物体的灾区检测受害者或危险。
6.野生动物监测与保护
- 检测和识别自然栖息地中的新物种或稀有物种,以进行生物多样性研究和保护工作。
- 监测保护区是否有陌生的人类存在或可能表明非法偷猎活动的工具。
7.制造与质量控制
- 识别生产线上产品的缺陷或异常,包括以前未遇到的新型缺陷。
- 识别和分类各种物体以提高制造过程的效率。
本文介绍了 Grounding DINO 1.5,旨在增强开放集对象检测。领先型号Grounding DINO 1.5 Pro在COCO和LVIS零样本测试中树立了新标杆,在检测精度和可靠性方面取得了重大进步。
此外,Grounding DINO 1.5 Edge 型号支持跨多种应用的实时物体检测,拓宽了该系列的实际适用性。
我们希望您喜欢阅读这篇文章!
参考
- 原始研究论文
- GitHub 链接