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结合分割模型完成任意图像分割

相关推荐
qq_2739002340 分钟前
pytorch register_buffer介绍
人工智能·pytorch·python
龙的爹23332 小时前
论文翻译 | The Capacity for Moral Self-Correction in Large Language Models
人工智能·深度学习·算法·机器学习·语言模型·自然语言处理·prompt
python_知世3 小时前
2024年中国金融大模型产业发展洞察报告(附完整PDF下载)
人工智能·自然语言处理·金融·llm·计算机技术·大模型微调·大模型研究报告
Fanstay9853 小时前
人工智能技术的应用前景及其对生活和工作方式的影响
人工智能·生活
lunch( ̄︶ ̄)3 小时前
《AI 使生活更美好》
人工智能·生活
Hoper.J3 小时前
用两行命令快速搭建深度学习环境(Docker/torch2.5.1+cu118/命令行美化+插件),包含完整的 Docker 安装步骤
人工智能·深度学习·docker
Shaidou_Data3 小时前
信息技术引领未来:大数据治理的实践与挑战
大数据·人工智能·数据清洗·信息技术·数据治理技术
Elastic 中国社区官方博客3 小时前
开始使用 Elastic AI Assistant 进行可观察性和 Microsoft Azure OpenAI
大数据·人工智能·elasticsearch·microsoft·搜索引擎·全文检索·azure
qq_273900234 小时前
pytorch detach方法介绍
人工智能·pytorch·python
AI狂热爱好者4 小时前
A3超级计算机虚拟机,为大型语言模型LLM和AIGC提供强大算力支持
服务器·人工智能·ai·gpu算力