Grounding dino + segment anything + stable diffusion 实现图片编辑

这篇具有很好参考价值的文章主要介绍了Grounding dino + segment anything + stable diffusion 实现图片编辑。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

总体介绍

总体流程

本方案用到了三个步骤,按顺序依次为:

  1. 基于语义的目标检测(使用grounding dino)
  2. 在检测到的范围内进行目标分割生成mask(使用segment anything)
  3. 图片绘制(使用stable diffusion)

模块介绍

目标检测: grounding dino

总体架构图
Grounding dino + segment anything + stable diffusion 实现图片编辑,算法,人工智能,目标检测,ai绘画,图像处理
从图中可以看出,本算法本质上是对图像和文本进行多模态融合,将二者映射到同一个向量空间并使用attention的思路进行匹配从而得到文本对应的图像。

模型中使用Swin Transformer作为image backbone,BERT作为text backbone,使用cross-transformer进行多模态融合。

从上面流程可以更深入地理解attention中qkv含义,即可以将attention视为一种软寻址。在网上看到过一个简单易懂的解释:

attention 机制里主要有三个向量 - key, query 和 value,其实可以将 Attention 机制看作一种软寻址(Soft Addressing):Source 可以看作一个中药铺子的储物箱,储物箱里的药品由地址 Key(药品名)和值 Value(药品)组成,当前有个 Key=Query(药方)的查询,目的是取出储物箱里对应的 Value 值(药品),即 Attention 数值。通过 Query 和储物箱内元素 Key 的地址进行相似性比较来寻址,之所以说是软寻址,指的是我们不只从储物箱里面找出一中药物,而是可能从每个 Key 地址都会取出内容,取出内容的重要性(量的多少)根据 Query 和 Key 的相似性来决定,之后对 Value 进行加权求和,这样就可以取出最终的 Value 值(一副中药),也即 Attention 值。所以不少研究人员将 Attention 机制看作软寻址的一种特例

目标分割:Segment Anything Model (SAM)

整体思路

模型的目的是构建一个用于图像分割的基础模型,即寻求开发一个可提示的(promptable)模型并将其进行预训练,预训练的数据集通过一个有强大泛化能力的任务来生成。使用这个模型就可以寻求解决在使用prompt工程生成的新数据分布上的一系列下游分割问题。
本计划能否成功主要和三个部分相关:任务(task)、模型(model)、数据(data)。为了研究这些部分,需要解决以下三个问题:

  1. 什么样的任务可以零样本泛化?

    定义一个可提示的分割任务,可以针对任何分割提示(prompt)返回有效的分割掩码。本任务有两个作用,一是作为预训练目标,二是通过prompt工程解决下游通用分割任务。

  2. 与之相应的模型架构是什么样的?

    模型必须支持灵活的prompt,且可以实时输出掩码(mask)。

  3. 什么样的数据能支持这项任务和模型?

    论文提出需要大规模多样化的数据集,为了得到这样的数据集,可以构造一个数据引擎,通过引擎可以半自动、全自动生成新数据完成模型迭代

模型结构:

Grounding dino + segment anything + stable diffusion 实现图片编辑,算法,人工智能,目标检测,ai绘画,图像处理

Grounding dino + segment anything + stable diffusion 实现图片编辑,算法,人工智能,目标检测,ai绘画,图像处理

数据引擎

互联网上目前没有适用于本任务数据量的数据集,所以必须构建一套引擎来生成数据。生成的训练数据集名为SA-1B,总共包括1100万张图像和11亿个掩码。数据生成收集包含三个阶段。

  1. 人工辅助阶段。专业标注员使用浏览器上的交互式标记工具,并结合 SAM 进行手动标注。SAM 首先使用公共数据集进行训练。随着数据量的逐渐增加,SAM 图像编码器的尺寸也随之增大(ViT-B扩展为ViT-H)。在这一阶段结束时,收集了 430 万个掩码和 12 万张图像。

  2. 半自动阶段。为了增加掩码的多样性并改善模型的性能,研究人员首先预先填充了掩码,标注人员需要在此基础上补充其他未标注的对象。为了检测掩码的可信度,使用第一阶段得到掩码的数据训练一个边界检测模型,用来进行高置信度预测。在此阶段结束时,一张图像平均可以提供 72 个掩码。

  3. 全自动阶段。本阶段可以实现全自动标注。实现此步骤主要由于亮点:一,在前面两个阶段已经收集了足够的掩码;二,引入了可以在有歧义情况下也可以判断的歧义感知模型。在这一阶段结束时,最终的 SA-1B 数据集包含 1100 万张图像和 1.1B 个掩码。

图片绘制

stable diffusion(网上说这部分的文章众多,暂略)

集成

样例

(目前跑的样例均涉及到公司内部信息,暂略,后期有时间会补充脱敏版)

其他问题

grouding-dino检测到的目标是一个范围,如果此范围内有多个物体且互相之间不好区分,则会全部覆盖。
例:原图如下,src为dog,dst为tiger

原图:Grounding dino + segment anything + stable diffusion 实现图片编辑,算法,人工智能,目标检测,ai绘画,图像处理
生成的mask:
Grounding dino + segment anything + stable diffusion 实现图片编辑,算法,人工智能,目标检测,ai绘画,图像处理
结果图:
Grounding dino + segment anything + stable diffusion 实现图片编辑,算法,人工智能,目标检测,ai绘画,图像处理

附录

GroundingDINO开源项目地址
GroundingDino论文地址
segment anything论文地址
segment anything github
segment anything官方demo
SAM论文解读
Segment Anything(SAM)论文杂谈
SAM综述
sam数据集
SA-1B数据集
手把手教程
当前图片编辑基础代码文章来源地址https://www.toymoban.com/news/detail-647168.html

到了这里,关于Grounding dino + segment anything + stable diffusion 实现图片编辑的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《Stable Diffusion web UI-Segment Anything未完待续01》

    最近每天晚上都在弄手指修复,但是都不理想,索性放在后面再写教程。今天中午花时间弄了一下Segment Anything 1、下载Segment Anything 点击拓展——从网址安装——安装——已安装(点击重启)   2、点击这个项目红色框里面的 https://github.com/facebookresearch/segment-anything#model-check

    2024年02月16日
    浏览(39)
  • 使用Dino+SAM+Stable diffusion 自动进行图片的修改

    SAM 是Mata发布的“Segment Anything Model”可以准确识别和提取图像中的对象。 它可以分割任何的图片,但是如果需要分割特定的物体,则需要需要点、框的特定提示才能准确分割图像。 所以本文将介绍一种称为 Grounding Dino 的技术来自动生成 SAM 进行分割所需的框。 除了分割以外

    2024年02月03日
    浏览(40)
  • Stable Diffusion WebUI 集成 sd-webui-segment-anything sd-webui-inpaint-anything Ubuntu22.04 rtx2060 6G

    下载分割模型(segmentation models): 显存只有6G,选择l版本 lllyasviel/ControlNet-v1-1 at main 下载14个.pth模型文件,yaml文件已经在models目录下了   今天下载的新鲜文件,放阿里云盘了 ControlNet-v1-1-20230706 https://www.aliyundrive.com/s/LtpNFP8stg5  启动后又开始安装各种Python依赖。网络环境不行气

    2024年02月16日
    浏览(70)
  • Segment anything(图片分割大模型)

    目录 1.Segment anything  2.补充图像分割和目标检测的区别 定义 :图像分割通用大模型 延深 :可以预计视觉检测大模型,也快了。 进一步理解 :传统图像分割对于下图处理时,识别房子的是识别房子的模型,识别草的是识别草的模型,识别人的是识别人的模型,而Segment anyt

    2024年02月14日
    浏览(48)
  • [Stable Diffusion进阶篇]Inpaint Anything简单快速实现换装换脸

        Inpaint Anything算法,可以实现移除、填补、替换一切内容,实现单击图像上的任何物体可以一键擦除替换任何内容、更改任意背景,这可以提高遮罩创建过程的效率和准确性,从而在节省时间和精力的同时获得更高质量的修复结果。 🌟安装方法: 1、在扩展面板中安装I

    2024年02月03日
    浏览(46)
  • 【AIGC】15、Grounding DINO | 将 DINO 扩展到开集目标检测

    论文:Grounding DINO: Marrying DINO with Grounded Pre-Training for Open-Set Object Detection 代码:https://github.com/IDEA-Research/GroundingDINO 出处:清华、IDEA 时间:2023.03.20 贡献: 本文提出了一种 open-set 的目标检测器,Grounding DINO,将 Transformer based 检测器 DINO 和 grounded pre-training 结合起来,能够输出

    2024年02月09日
    浏览(54)
  • Grounding DINO:开放集目标检测,将基于Transformer的检测器DINO与真值预训练相结合

    CLIP是一种多模态模型,能够同时处理图像和文本,而不是独立地处理它们; CLIP的预训练阶段是在大规模的图像和文本数据集上进行的,这样模型可以学习到图像和文本之间的语义对应关系; CLIP模型经过预训练后,可以在多个领域和任务中进行迁移学习,如图像分类、目标检

    2024年02月02日
    浏览(42)
  • 【目标检测】Grounding DINO:开集目标检测器(CVPR2023)

    文章来自清华大学和IDEA(International Digital Economy Academy) 论文: 《Grounding DINO: Marrying DINO with Grounded Pre-Training for Open-Set Object Detection》 github: https://github.com/IDEA-Research/GroundingDINO Grounding DINO,一种开集目标检测方案, 将基于Transformer的检测器DINO与真值预训练相结合 。开集检

    2024年02月12日
    浏览(42)
  • 【计算机视觉 | 目标检测】Grounding DINO:开集目标检测论文解读

    介绍一篇较新的目标检测工作: 论文地址为: github 地址为: 作者展示一种开集目标检测方案: Grounding DINO ,将将基于 Transformer 的检测器 DINO 与真值预训练相结合。 开集检测关键是引入 language 至闭集检测器,用于开集概念泛化。作者将闭集检测器分为三个阶段,提出一种

    2024年02月10日
    浏览(61)
  • 【计算机视觉 | 目标检测】Grounding DINO 深度学习环境的配置(含案例)

    “ Grounding DINO:Marrying DINO with Grounded Pre-Training for Open-Set Object Detection ”的官方 PyTorch 实现: SoTA 开放集对象检测器。 论文地址: 在 YouTube 上观看介绍视频: Try the Colab Demo: Try Official Huggingface Demo: Grounded-SAM: Marrying Grounding DINO with Segment Anything Grounding DINO with Stable Diffusion

    2024年02月07日
    浏览(77)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包