AIGC系列之:GroundingDNIO原理解读及在Stable Diffusion中使用

目录

1.前言

2.方法概括

3.算法介绍

3.1图像-文本特征提取与增强

3.2基于文本引导的目标检测

3.3跨模态解码器

3.4文本prompt特征提取

4.应用场景

4.1结合生成模型完成目标区域生成

[4.2结合stable diffusion完成图像编辑](#4.2结合stable diffusion完成图像编辑)

4.3结合分割模型完成任意图像分割

1.前言

《Grounding DINO: Marrying DINO with Grounded Pre-Training for Open-Set Object Detection》

Grounding DINO作者来自清华大学和IDEA(International Digital Economy Academy),Grounding DINO有非常强大的检测功能,提供和文本prompt进行结合自动进行检测,不需要手动参与。输入文本即可输出文本对应的检测对象。称之为目前的Detect Anything。与Mata发布的Segment Anything可以进行结合发挥更加强大的功能。至此CV界的几大研究领域都有了相关的大模型应用,Detect Anything,Segment Anything, Stable Diffusion, Recongnize Anything, Tracking Anything...

2.方法概括

Grounding DINO是一种开集目标检测方案,将基于Transformer的检测器DINO与真值预训练相结合。开集检测 关键 是引入自然语言至闭集检测器,用于open world的检测。 可实现对新颖类别进行检测,特定属性目标识别。在COCO数据集上零样本检测达到52.5AP,在COCO数据集finetune后达到63AP。主要优势如下:

  • 基于Transformer结构与语言模型接近,易于处理跨模态特征;

  • 基于Transformer的检测器有利用大规模数据集的能力

  • DINO可以端到端优化,无需精细设计模块,比如:NMS

3.算法介绍

对于图片-文本对,Grounding DINO可以输出多对目标框及对应名词短语。Grounding DINO采用双编码器,单解码器结构。图像backbone 用于提取图像特征,文本backbone用于提取文本特征,特征增强用于融合图像及文本特征,语言引导的query选择模块用于query初始化,跨模态解码器用于框精细化。流程如下:

  • 图像及文本backbone分别提取原始图像及文本特征;

  • 特征强化模块用于跨模态特征融合;

  • 通过语言引导查询选择模块从图像特征中选择与文本对应的跨模态query;

  • 跨模态解码器从跨模态query中提取需要特征,更新query;

  • 输出query用于预测目标框及提取对应短语。

3.1图像-文本特征提取与增强

给定一个(图像,文本)对,用 Swin Transformer用于提取图像特征,BERT用于提取文本特征,特征强化层如图3中block2,利用Deformable self-attention强化图像特征,原始的self-attention强化文本特征,受GLIP影响,增加图像到文本跨模态以及文本到图像跨模态,帮助对齐不同模态特征。

3.2基于文本引导的目标检测

引导文本进行目标检测,作者设计语言引导的query选择机制选择与文本更相关的特征作为解码器的query。算法下图所示。输出num_query索引,据此初始化query。每个decoder query包括两部分:content及position。位置部分公式化为dynamic anchor boxes,使用编码器输出进行初始化;内容部分训练中可学习,查询数量。

3.3跨模态解码器

跨模态解码器结合图像及文本模态信息,跨模态query经过self-attention层,image cross-attention层与图像特征结合,text cross-attention层与文本特征结合,以及FFN层。与DINO相比,每个解码器都有一个额外的文本cross-attention层,引入文本信息,便于对齐模态。

3.4文本prompt特征提取

之前工作中探究了两种文本prompt,句子层级表征将整个句子编码为一个特征,移除了单词间影响;单词级表征能够编码多个类别,但引入不必要依赖关系;为避免不相关单词相互作用,作者引入attention mask,此为sub-sentence级表征,既保留每个单词特征,又消除不相关单词间相互作用。

4.应用场景

4.1结合生成模型完成目标区域生成

4.2结合stable diffusion完成图像编辑

人脸编辑,换发型,换背景,换头

替换宠物并生成想要的内容

4.3结合分割模型完成任意图像分割

相关推荐
晚霞的不甘19 小时前
CANN:华为全栈AI计算框架的深度解析(终极扩展版 · 完整篇)
人工智能·华为
同学小张20 小时前
【端侧AI 与 C++】1. llama.cpp源码编译与本地运行
开发语言·c++·aigc·llama·agi·ai-native
lisw0521 小时前
6G频段与5G频段有何不同?
人工智能·机器学习
2501_941623321 天前
人工智能赋能智慧农业互联网应用:智能种植、农业数据分析与产量优化实践探索》
大数据·人工智能
不爱吃糖的程序媛1 天前
华为 CANN:昇腾 AI 的异构计算架构核心与开源生态解析
人工智能·华为·架构
AKAMAI1 天前
从客户端自适应码率流媒体迁移到服务端自适应码率流媒体
人工智能·云计算
jinxinyuuuus1 天前
GTA 风格 AI 生成器:跨IP融合中的“视觉语义冲突”与风格适配损失
人工智能·网络协议
如何原谅奋力过但无声1 天前
TensorFlow 1.x常用函数总结(持续更新)
人工智能·python·tensorflow
翔云 OCR API1 天前
人脸识别API开发者对接代码示例
开发语言·人工智能·python·计算机视觉·ocr