GroundingDINO1.5突破开放式物体检测界限:介绍与应用

《博主简介》

小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。
更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~
👍感谢小伙伴们点赞、关注!

《------往期经典推荐------》

一、AI应用软件开发实战专栏【链接】

项目名称项目名称
1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】
3.【手势识别系统开发】4.【人脸面部活体检测系统开发】
5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】
7.【YOLOv8多目标识别与自动标注软件开发】8.【基于YOLOv8深度学习的行人跌倒检测系统】
9.【基于YOLOv8深度学习的PCB板缺陷检测系统】10.【基于YOLOv8深度学习的生活垃圾分类目标检测系统】
11.【基于YOLOv8深度学习的安全帽目标检测系统】12.【基于YOLOv8深度学习的120种犬类检测与识别系统】
13.【基于YOLOv8深度学习的路面坑洞检测系统】14.【基于YOLOv8深度学习的火焰烟雾检测系统】
15.【基于YOLOv8深度学习的钢材表面缺陷检测系统】16.【基于YOLOv8深度学习的舰船目标分类检测系统】
17.【基于YOLOv8深度学习的西红柿成熟度检测系统】18.【基于YOLOv8深度学习的血细胞检测与计数系统】
19.【基于YOLOv8深度学习的吸烟/抽烟行为检测系统】20.【基于YOLOv8深度学习的水稻害虫检测与识别系统】
21.【基于YOLOv8深度学习的高精度车辆行人检测与计数系统】22.【基于YOLOv8深度学习的路面标志线检测与识别系统】
23.【基于YOLOv8深度学习的智能小麦害虫检测识别系统】24.【基于YOLOv8深度学习的智能玉米害虫检测识别系统】
25.【基于YOLOv8深度学习的200种鸟类智能检测与识别系统】26.【基于YOLOv8深度学习的45种交通标志智能检测与识别系统】
27.【基于YOLOv8深度学习的人脸面部表情识别系统】28.【基于YOLOv8深度学习的苹果叶片病害智能诊断系统】
29.【基于YOLOv8深度学习的智能肺炎诊断系统】30.【基于YOLOv8深度学习的葡萄簇目标检测系统】
31.【基于YOLOv8深度学习的100种中草药智能识别系统】32.【基于YOLOv8深度学习的102种花卉智能识别系统】
33.【基于YOLOv8深度学习的100种蝴蝶智能识别系统】34.【基于YOLOv8深度学习的水稻叶片病害智能诊断系统】
35.【基于YOLOv8与ByteTrack的车辆行人多目标检测与追踪系统】36.【基于YOLOv8深度学习的智能草莓病害检测与分割系统】
37.【基于YOLOv8深度学习的复杂场景下船舶目标检测系统】38.【基于YOLOv8深度学习的农作物幼苗与杂草检测系统】
39.【基于YOLOv8深度学习的智能道路裂缝检测与分析系统】40.【基于YOLOv8深度学习的葡萄病害智能诊断与防治系统】
41.【基于YOLOv8深度学习的遥感地理空间物体检测系统】42.【基于YOLOv8深度学习的无人机视角地面物体检测系统】
43.【基于YOLOv8深度学习的木薯病害智能诊断与防治系统】44.【基于YOLOv8深度学习的野外火焰烟雾检测系统】
45.【基于YOLOv8深度学习的脑肿瘤智能检测系统】46.【基于YOLOv8深度学习的玉米叶片病害智能诊断与防治系统】
47.【基于YOLOv8深度学习的橙子病害智能诊断与防治系统】48.【车辆检测追踪与流量计数系统】
49.【行人检测追踪与双向流量计数系统】50.【基于YOLOv8深度学习的反光衣检测与预警系统】
51.【危险区域人员闯入检测与报警系统】52.【高压输电线绝缘子缺陷智能检测系统】

二、机器学习实战专栏【链接】,已更新31期,欢迎关注,持续更新中~~
三、深度学习【Pytorch】专栏【链接】
四、【Stable Diffusion绘画系列】专栏【链接】
五、YOLOv8改进专栏【链接】持续更新中~~
六、YOLO性能对比专栏【链接】,持续更新中~

《------正文------》

引言

在这里插入图片描述
本文回顾了论文“Grounding DINO 1.5: Advance the ‘Edge’ of Open-Set Object Detection”中介绍的进展。我们将探讨所引入的方法,对开放集目标检测的影响,以及这项研究提出的潜在应用和未来方向。

近年来,零样本目标检测已成为计算机视觉进步的基石。创建多功能且高效的探测器一直是构建实际应用的重要焦点。IDEA Research 推出的 Grounding DINO 1.5 标志着该领域的重大飞跃,尤其是在开放式物体检测方面。

什么是GroundingDINO?

基于DINO的开放式检测器Grounding DINO不仅实现了最先进的物体检测性能,还通过Grounding预训练实现了多级文本信息的集成。与 GLIP 或接地语言图像预训练相比,GroundingDINO 具有多项优势。首先,其基于Transformer的架构,类似于语言模型,便于处理图像和语言数据。

GroundingDINO框架

Overall framework of Grounding DINO 1.5 series

上图所示的框架是GroundingDINO 1.5 系列的整体框架。该框架保留了 Grounding DINO 的双编码器-单解码器结构。此外,该框架将其扩展到 Pro 和 Edge 型号的 Grounding DINO 1.5。

GroundingDINO 结合了 DINO 和 GLIP 的概念。DINO 是一种基于 Transformer 的方法,在对象检测方面表现出色,具有端到端优化功能,无需手动制作模块,如非最大抑制或 NMS。相反,GLIP 专注于短语基础,将文本中的单词或短语与图像或视频中的视觉元素联系起来。

GroundingDINO 的架构包括一个图像主干、一个文本主干、一个用于图像-文本融合的功能增强器、一个语言引导的查询选择模块和一个用于优化对象框的跨模态解码器。最初,它提取图像和文本特征,融合它们,从图像特征中选择查询,并在解码器中使用这些查询来预测对象框和相应的短语。

Grounding DINO 1.5 新功能

Grounding DINO 1.5 建立在其前身 Grounding DINO 奠定的基础之上,后者通过整合语言信息并将任务构建为短语接地来重新定义对象检测。这种创新方法利用了对不同数据集的大规模预训练,以及对来自大量图像-文本对的伪标记数据的自我训练。其结果是一个在开放世界场景中表现出色的模型,因为它具有强大的架构和语义丰富性。

GroundingDINO 1.5 进一步扩展了这些功能,引入了两种专用型号:Grounding DINO 1.5 Pro 和Grounding DINO 1.5 Edge。Pro 模型通过显着扩展模型的容量和数据集大小、整合 ViT-L 等高级架构并生成超过 2000 万张带注释的图像来增强检测性能。相比之下,边缘模型针对边缘设备进行了优化,强调计算效率,同时通过高级图像特征保持高检测质量。

实验结果强调了 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 的性能明显优于以前的版本。与之前的特定型号相比,GroundingDINO 1.5 Pro显示出显着的改进。

在这里插入图片描述

该模型使用 ODinW(野外目标检测)基准测试在各种实际场景中进行了测试,其中包括涵盖不同应用的 35 个数据集。与之前版本的 Grounding DINO 相比,Grounding DINO 1.5 Pro 的性能有了显着提高。

在这里插入图片描述

COCO 和 LVIS 上GroundingDINO1.5 Edge 的零拍摄结果使用 A100 GPU 以每秒帧数 (FPS) 为单位进行测量,以 PyTorch 速度/TensorRT FP32 速度报告。还提供 NVIDIA Orin NX 上的 FPS。GroundingDINO 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)。

img

GroundingDINO1.5 Pro 与GroundingDINO 1.5 Edge

GroundingDINO1.5 Pro

Grounding DINO 1.5 Pro 建立在 Grounding DINO 的核心架构之上,但通过更大的 Vision Transformer (ViT-L) 主干增强了模型架构。ViT-L 模型以其在各种任务中的卓越性能而闻名,基于 transformer 的设计有助于优化训练和推理。

Grounding DINO 1.5 Pro 采用的关键方法之一是用于特征提取的深度早期融合策略。这意味着在进入解码阶段之前,在特征提取过程中使用交叉注意力机制将语言和图像特征尽早组合在一起。这种早期整合可以更彻底地融合来自两种模式的信息。

在他们的研究中,该团队比较了早期核聚变与后期核聚变策略。在早期融合中,语言和图像特征在过程的早期被集成,从而实现更高的检测召回率和更准确的边界框预测。但是,这种方法有时会导致模型产生幻觉,这意味着它会预测图像中不存在的对象。

另一方面,后期融合将语言和图像特征分开,直到损失计算阶段,它们被整合。这种方法通常对幻觉更有力,但往往会导致较低的检测回忆,因为当视觉和语言特征仅在最后组合时,它们变得更具挑战性。

为了最大限度地发挥早期融合的优势,同时最大限度地减少其缺点,Grounding DINO 1.5 Pro 保留了早期融合设计,但采用了更全面的训练采样策略。这种策略增加了训练期间负样本(没有感兴趣对象的图像)的比例。通过这样做,该模型可以更好地区分相关和不相关的信息,从而减少幻觉,同时保持高检测召回率和准确性。

总之,Grounding DINO 1.5 Pro 通过将早期融合与改进的训练方法相结合,平衡了早期融合架构的优势和劣势,从而增强了其预测能力和鲁棒性。

GroundingDINO1.5 Edge

GroundingDINO 是检测图像中物体的强大模型,但它需要大量的计算能力。这使得在资源有限的小型设备(如汽车、医疗设备或智能手机中的设备)上使用具有挑战性。这些设备需要快速有效地实时处理图像。

在边缘设备上部署GroundingDINO对于许多应用(例如自动驾驶、医学图像处理和计算摄影)来说是非常理想的。

然而,开放式检测模型通常需要大量的计算资源,而边缘设备缺乏这些资源。最初的GroundingDINO模型使用多尺度图像特征和计算密集型特征增强器。虽然这提高了训练速度和性能,但对于边缘设备上的实时应用程序来说是不切实际的。

为了应对这一挑战,研究人员提出了一种用于边缘设备的高效功能增强器。他们的方法侧重于仅使用高级图像特征(P5 级别)进行跨模态融合,因为较低级别的特征缺乏语义信息并增加计算成本。这种方法大大减少了处理的令牌数量,从而减少了计算负载。

为了更好地集成在边缘设备上,该模型将可变形的自注意力替换为普通的自注意力,并引入了跨尺度特征融合模块来集成较低级别的图像特征(P3 和 P4 级别)。这种设计平衡了功能增强的需求和计算效率的需求。

在 Grounding DINO 1.5 Edge 中,原来的特征增强器被这种新的高效增强器所取代,而 EfficientViT-L1 被用作快速多尺度特征提取的图像骨干。当部署在 NVIDIA Orin NX 平台上时,此优化模型的推理速度超过 10 FPS,输入大小为 640 × 640。这使得它适用于边缘设备上的实时应用程序,从而平衡性能和效率。
Origin Feature Enhancer 和 New Efficient Feature Enhancer 之间的比较:
img
NVIDIA Orin NX 上的 Grounding DINO 1.5 Edge 可视化功能显示在屏幕左上角的 FPS 和提示。右上角显示了录制场景的摄像机视图。
在这里插入图片描述

GroundingDINO目标检测演示

首先,我们将克隆存储库:

!git clone https://github.com/IDEA-Research/Grounding-DINO-1.5-API.git

接下来,我们将安装所需的软件包:

!pip install -v -e .

运行以下代码以生成链接:

!python gradio_app.py --token ad6dbcxxxxxxxxxx

img

img

img

GroundingDINO1.5应用领域

自动驾驶汽车:

  • 检测和识别道路上可能出现的已知交通标志和行人以及不熟悉的物体,确保更安全的导航。
  • 识别训练数据中未预先标记的意外障碍物,例如碎片或动物。

监控和安全:

  • 识别禁区内未经授权的个人或物体,即使他们以前从未见过。
  • 在机场或火车站等公共场所检测废弃物体可能是潜在的安全威胁。

零售和库存管理:

  • 识别和跟踪商店货架上的商品,包括可能不属于原始库存的新产品。
  • 识别商店中可能表明入店行窃的异常活动或不熟悉的物品。

医疗:

  • 检测医学扫描中的异常或不熟悉的模式,例如新型肿瘤或罕见病症。
  • 识别患者的异常行为或动作,尤其是在长期护理或术后恢复中。

机器人:

  • 通过识别和适应新物体或周围环境的变化,使机器人能够在动态和非结构化环境中运行。
  • 在环境不可预测且充满陌生物体的受灾地区检测受害者或危险。

野生动物监测和保护:

  • 在自然栖息地中发现和识别新的或稀有物种,以进行生物多样性研究和保护工作。
  • 监测保护区是否有不熟悉的人类存在或可能表明非法偷猎活动的工具。

制造和质量控制:

  • 识别生产线上产品中的缺陷或异常,包括以前未遇到的新型缺陷。
  • 识别和分类各种物体,以提高制造过程的效率。

本文介绍了 Grounding DINO 1.5,旨在增强开放式物体检测。领先的型号 Grounding DINO 1.5 Pro 在 COCO 和 LVIS 零射测试中树立了新的标杆,标志着检测准确性和可靠性的重大进步。


好了,这篇文章就介绍到这里,感谢点赞关注,更多精彩内容持续更新中~

关注文末名片G-Z-H:【阿旭算法与机器学习】,可获取更多干货学习资源

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/361471.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小程序 UI 风格,引人入胜

小程序 UI 风格,引人入胜

如何基于项目人力和管线方案选择FGUI和UGUI

1)如何基于项目人力和管线方案选择FGUI和UGUI 2)TMP字体出包丢失字体描边 3)如何将一张贴图经过Shader处理后的结果输出给另外一个Shader使用 4)为什么我的水这么干净,和UE教程里的有差别 这是第390篇UWA技术知识分享的…

Handling `nil` Values in `NSDictionary` in Objective-C

Handling nil Values in NSDictionary in Objective-C When working with Objective-C, particularly when dealing with data returned from a server, it’s crucial (至关重要的) to handle nil values appropriately (适当地) to prevent unexpected crashes. Here, we ex…

2024年最新通信安全员考试题库

61.架设架空光缆,可使用吊板作业的情况是()。 A.在2.2/7规格的电杆与墙壁之间的吊线上,吊线高度5m B.在2.2/7规格的墙壁与墙壁之间的吊线上,吊线高度6m C.在2.2/7规格的电杆与电杆之间的吊线上,吊线高度…

ChatGPT API技术教程OpenAI APIKey在线对接-Chat Completion对象

表示模型根据提供的输入返回的聊天完成响应。 {"id": "chatcmpl-123","object": "chat.completion","created": 1677652288,"model": "gpt-3.5-turbo-0125","system_fingerprint": "fp…

solidity智能合约如何实现跨合约调用函数

背景 比如现在有一个需求、我需要通过外部合约获取BRC20 token的总交易量。那么我需要在brc20的转账函数里面做一些调整,主要是两个函数内统计转移量。然后再提供外部获取函数。 /*** dev Sets amount as the allowance of spender over the callers tokens.** Ret…

【ai】tx2-nx:安装深度学习环境及4.6对应pytorch

参考:https://www.waveshare.net/wiki/Jetson_TX2_NX#AI.E5.85.A5.E9.97.A8 英伟达2021年发布的的tritionserver 2.17 版本中,backend 有tensorflow1 和 onnxruntime ,他们都是做什么用的,作为backend 对于 triton 推理server意义是什么,是否应该有pytorch? Triton Infer…

数据分析必备:一步步教你如何用matplotlib做数据可视化(13)

1、Matplotlib 文本 Matplotlib具有广泛的文本支持,包括对数学表达式的支持,对光栅和矢量输出的TrueType支持,具有任意旋转的换行符分隔文本以及unicode支持。Matplotlib包含自己的matplotlib.font_manager,它实现了一个跨平台&a…

modelsim做后仿真的一点思路

这是以TD_5.6.3_Release_88061生成的网表文件(其他工具生成的网表文件类似),与modelsim联合进行门级仿真的样例,时序仿真与门级仿真的方法类似,只是增加了标准延时文件。 1、建立门级仿真工程 将门级网表和testbench添…

Redis-数据类型-Hash

文章目录 1、查看redis是否启动2、通过客户端连接redis3、切换到db3数据库4、插入新数据返回15、获取指定哈希(hash)对象的所有字段(field)名6、获取存储在指定哈希(hash)对象中的所有字段(fiel…

OpenCV练习(2)图像校正

1、傅里叶变换 霍夫变换 直线 角度 旋转2、边缘检测 霍夫变换 直线角度 旋转3、四点透视 角度 旋转4、检测矩形轮廓 角度 旋转 1.目的 实现类似全能扫面王的图像校正功能 2. 基于轮廓提取和透射变换 基于轮廓提取和透射变换的矫正算法更适用于车牌、身份证、人民…

ue 材质贴图Tiling repeat

材质问题,如下 贴图显然不符合逻辑,太大,并且是一次性贴图 换一个红砖纹理,就看清了,砖太大了 修改: 拖出一个TexCoord,代表坐标,拖出一个参数,代表次数,如…

LDO芯片手册,实例应用分析

在进行电路设计时LDO是经常用到的,尤其在为芯片,晶振等敏感电路进行供电时应用更多,下面选取一款比较常用的LDO芯片,一起进行更深入的学习。 SGM2036特点简介 SGM2036,圣邦微一款比较常用的LDO芯片手册 可以先大致看…

用两个钟,我又在VMWARE上搞了一套内部网配置

最近要学es,所以打算自己用虚拟机搞个NAT,又搞了两个钟。为了不再费劲尝试,也为了造福大众,所以选择搞一份NAT笔记!!!! 1.初始化网关和DNS 我们给网关配置一个地址192.168.96.1&…

Vue41 ref属性

ref属性 ref是Vue提供的获取组件的属性 <template><div><h1 v-text"msg" ref"title"></h1><button ref"btn" click"showDOM">点我输出上方的DOM元素</button><MySchool ref"sch"…

浏览器扩展V3开发系列之 chrome.commands 快捷键的用法和案例

【作者主页】&#xff1a;小鱼神1024 【擅长领域】&#xff1a;JS逆向、小程序逆向、AST还原、验证码突防、Python开发、浏览器插件开发、React前端开发、NestJS后端开发等等 chrome.commands API 允许开发者使用快捷键来执行特定的命令。 在使用 chrome.commands API 之前必须…

【UE5.3】笔记3-静态网格体,BSP

静态网格体组件 主要有两个属性 一个是静态网格体&#xff1a;对应的也就是模型&#xff0c;比如fbx&#xff0c;maya&#xff0c;obj等格式 一个是材质&#xff1a;由各种贴图、渲染设置等&#xff0c;比如unity里的shader BSP画刷&#xff1a; 打开放置Actor选项卡&#…

【Linux详解】进程的状态 | 运行 阻塞 挂起 | 僵尸和孤儿状态

目录 操作系统中 运行状态 阻塞状态 进程状态转换 Linux系统中 查看进程状态 深度睡眠状态 T 暂停状态 Z 僵尸状态 孤儿状态 文章手稿 xmind: 引言 介绍系统中的进程状态及其管理方式。将通过结合操作系统原理和实际代码示例&#xff0c;详细说明进程的各种状态、转换…

【插件】IDEA这款插件Key Promoter X,爱到无法自拔

文章目录 为什么选择Key Promoter X&#xff1f;1. 提升开发效率2. 友好的学习曲线3. 可定制性强 安装和配置Key Promoter X1. 安装插件2. 配置插件 使用Key Promoter X个人使用体验1. 快捷键记忆2. 定制化功能3. 整体体验提升 总结 &#x1f389;欢迎来到Java学习路线专栏~探索…

flink输出中文乱码

flink输出中文乱码 &#xff08;1&#xff09;首先在/etc/profile.d/my_env.sh中加入下面这行数据 export LANGzh_CN.UTF-8&#xff08;2&#xff09;其次在flink配置文件中指定编码 [xxxhadoop102 flink-1.13.6]$ vim conf/flink-conf.yaml加入下面这行数据 env.java.opts:…