news 2026/5/16 12:55:56

多模态-7 Grounding DINO

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
多模态-7 Grounding DINO

这篇文章介绍多模态模型Grounding DINO

Transformer介绍可以看:深度学习基础-5 注意力机制和Transformer

多模态基础知识点可以看:多模态-1 基础理论

计算机视觉Transformer Backbone可以看:计算机视觉Transformer-1 基础结构

介绍Grounding DINO之前先说一下多模态领域中“Grounding”的含义,传统目标检测输入待检测的图片,模型输出图片中物体所在位置的矩形框和置信度(详细介绍可以看:计算机视觉-目标检测),这种模型依赖训练数据集,对于训练数据集中不包含的物体,要么检测不出来,要么给出低置信度的其它物体类别标签。多模态领域中的“Grounding”指的是模型能够检测任意用户输入文本中包含的物体,也就是输入是待检测图片+用户的检测要求,比如输入一张图片+用户的问题“图片中穿红色衣服的人在哪里”,多模态模型应该给出穿红色衣服人的坐标回答,将传统的目标检测流程变为了一个问答流程,多模态模型的Grounding能力是一项重要的评测指标,体现了模型的语义+空间理解能力,可以理解为是“开放集合目标检测(Open-Set Object Detection)”,不像传统目标检测模型一样只认识训练数据集中已标记过的类别,借助多模态能力,可以检测查询文本中要求检测的任意物体类别。

一 模型结构与训练

Grounding DINO整体结构如下:

分为4个部分

1.特征提取:分别利用图像编码器、文本编码器,提取输入<图像,文本>的特征

2.特征增强:基于交叉注意力(Cross-Attention)对齐图像编码表示和文本编码表示的语义信息

3.特征查询:根据文本编码表示从图像编码表示中筛选出和当前输入文本最相关的特征信息

4.多模态解码生成:在图像编码表示和文本编码表示的引导下,解码出当前输入对应的输出(物体所在位置坐标、类别)

1.1 特征提取和增强

首先利用图像编码器,比如ViT、Swin Transformer(相关介绍可以看:计算机视觉Transformer-1 基础结构),获取输入图像的特征编码表示,因为Grounding任务需要多尺度的特征,所以融合了图像编码器不同层的输出作为最终的图像特征编码表示。利用文本编码器,比如BERT,获取输入文本的特征编码表示。

然后利用特征增强层融合图像特征编码表示和文本特征编码表示,生成语义一致的<图像,文本>联合表示(模态对齐),特征增强层的结构如下图所示:

Deformable Self-Attention的详细介绍可以看:计算机视觉Transformer-2 目标检测

1.2 特征查询

图像特征编码表示中大部分是冗余的,比如用户可能只是提问“穿红色衣服的人在哪里”,但是图像特征编码中包含着和用户问题无关的特征,所以利用特征查询模块对图像特征编码进行筛选,将哪些和“红色”、“穿衣服的人”相关的视觉语义信息保留下来,剩下的不要了,具体做法是计算图像特征编码表示和文本特征编码表示之间的内积相似度,然后只保留Top-k个就可以,Grounding DINO最后是从10000个图像特征编码表示中保留900个作为最相关的视觉语义信息编码。

1.3 多模态解码生成

Grounding DION的解码生成流程采取的是类似DETR的方法(DETR介绍可以看:计算机视觉Transformer-2 目标检测),将特征查询筛选出来的图像特征编码表示作为Object query,输入到Decoder中,解码出目标所在的位置和类别,Decoder层的具体结构如下:

其中Cross-Modality Query就是上一步筛选出来的图像特征编码表示,经过一个Self-Attention层提取自身的特征信息作为Q,然后利用经过特征增强的图像特征编码表示和文本特征编码表示作为K、V,通过对应模态的Cross-Attention层,生成出融合输入图像、文本信息的Cross-Modality Query。Cross-Modality Query是一个[N,d-model]的矩阵,其中N是Object Query的个数,论文中设置的是N=900,d-model是嵌入向量的维度,然后将这900个query分别送到类别检测头、物体所在位置检测头,类别检测头计算query和不同文本token的内积,具有最大相似性的作为这个query的预测类别,位置检测头利用FFN计算query对应物体的所在位置框坐标,和DETR一样,匈牙利匹配算法保证预测类别不重复,每个真实类别只对应一个query,最终利用Focal Loss计算类别预测损失,L1+GIoU Loss计算检测框损失,反向传播训练整体的Grounding DINO。

二 输入文本处理

Grounding DINO最后输出的预测类别来自于用户输入的文本,而不是像以往目标检测模型的类别标签信息,那么就有一个问题,如何从用户输入的文本中提取出来应该检测的类别信息,比如用户输入了“图片中穿红色衣服的人在哪里”,起码应该提取出来“红色衣服”、“人”作为预测类别,以往的提取方式要么是整个句子作为一个表示、要么每个词语作为一个表示,Grounding DINO试了这两种方法都不怎么好,自己重新提出了一种处理方式

三 实验结果

公共数据集实验结果:

推理速度实验结果:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/15 12:11:27

【必收藏】使用RAG提升大模型回答准确性:从数据质量、检索策略到生成优化的完整指南

文章核心内容是关于如何通过RAG技术提升大模型回答准确性&#xff0c;从数据质量、检索策略和生成优化三个核心环节入手。具体包括数据预处理与向量化、多路召回与重排序策略、Prompt工程与模型微调&#xff0c;以及答案验证与评估方法。同时介绍了Self-RAG框架、动态数据更新等…

作者头像 李华
网站建设 2026/5/10 1:04:43

收藏备用|程序员必看!零基础也能落地的大模型实战学习指南

AI大模型的浪潮早已席卷整个技术圈&#xff0c;“掌握大模型技能”不再是AI从业者的专属优势&#xff0c;更成为全体程序员突破职业瓶颈、提升核心竞争力的关键抓手。不少程序员满怀热情想要入局&#xff0c;却频频陷入困惑&#xff1a;“我没有AI相关基础&#xff0c;真的能学…

作者头像 李华
网站建设 2026/5/8 9:31:52

【SSM毕设全套源码+文档】基于ssm的优选农产品销售管理系统的设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华