Stable Diffusion图像分割插件SAM与GroundingDINO集成教程

2024-11-23 李腾 80 次阅读 0 次点赞
sd-webui-segment-anything是AUTOMATIC1111 Stable Diffusion WebUI的扩展插件,集成了Meta AI的Segment Anything Model和IDEA Research的GroundingDINO两大先进图像分割模型。该插件支持点选分割和文本提示分割两种模式,能够生成高质量的分割蒙版,并与ControlNet深度集成,显著增强修复、语义分割和自动抠图能力。同时提供批量处理功能,支持SAM-HQ和MobileSAM等多种模型变体,为LoRA/LyCORIS训练集准备和创意图像编辑提供完整解决方案。本文详细介绍了插件的安装配置、核心功能、工作流程及常见问题处理。

sd-webui-segment-anything 是一个为 AUTOMATIC1111 Stable Diffusion WebUI 设计的扩展插件。它的核心目标是将 Meta AI 的 Segment Anything Model (SAM) 和 IDEA Research 的 GroundingDINO 等先进的图像分割模型集成到 Stable Diffusion 的工作流中。

通过这个扩展,用户可以以前所未有的便捷和精度进行图像分割,从而极大地增强了 Stable Diffusion 和 ControlNet 的修复、语义分割、自动抠图等能力,并为创建 LoRA/LyCORIS 训练集提供了强大的工具。

项目地址

项目地址:https://github.com/continue-revolution/sd-webui-segment-anything

核心功能与特点

1. 精准的图像分割

点选分割 (SAM): 用户只需在图像上点击(左键为正点,右键为负点),SAM 模型就能立即生成高质量的分割蒙版。这通常被称为 "Remove/Fill Anything" 功能,可以轻松移除或替换图中的任何物体。

文本提示分割 (GroundingDINO + SAM): 用户可以通过输入文本描述(如 dog . person . car),让 GroundingDINO 自动检测出相关物体的边界框,然后由 SAM 生成精确的蒙版。这实现了 "指哪打哪" 的智能分割。

2. 与 ControlNet 深度集成

这是该扩展最强大的特性之一。生成的分割蒙版可以直接发送到 ControlNet 扩展中,用于:

增强修复: 将蒙版发送到 ControlNet Inpainting 模型,可以获得比传统修复模型更佳的效果,并且无需下载专门的修复模型。

增强语义分割: 将 SAM 的分割结果与 ControlNet 的语义分割预处理器(如 seg_ofade20k)结合,可以生成细节更丰富的语义分割图,从而更好地控制图像生成。

EditAnything: 支持生成随机分割图,可用于 EditAnything 项目,实现基于分割的创意编辑。

3. 批量处理与自动化

批量分割: 可以处理整个文件夹内的图片,自动为每张图片生成分割蒙版、原图与蒙版的混合图等,非常适合用于准备训练数据集。

按类别分割: 通过指定 ADE20K 或 COCO 数据集的类别 ID,可以批量提取特定物体(如所有"人"或"床")的蒙版,实现"Replace Anything"。

4. 支持多种分割模型

除了原始的 SAM 模型,扩展还支持其变体:

SAM-HQ: 提供更高分割质量的模型。

MobileSAM: 轻量级模型,适合资源受限的环境。

计划支持: Matting-Anything(精细化抠图)和 FastSAM(快速分割)等模型也在未来的支持计划中。

主要工作流程

单张图片处理

1、上传图片

2、选择分割方式

  • 点选: 直接在图片上点击。
  • 文本: 启用 GroundingDINO,输入文本提示词。
  • 预览并选择蒙版:点击 "Preview Segmentation" 生成多个候选蒙版,选择最满意的一个。
  • 发送至 SD/ControlNet

在 txt2img 或 img2img 中,一键将图片和蒙版发送到 ControlNet Inpainting 单元。

配置好提示词和其他参数后,即可开始生成。

自动分割

1、在 AutoSAM 标签页中,选择预处理器(如语义分割模型 seg_ofade20k)。

2、点击预览,扩展会使用 SAM 增强原有的分割结果。

3、将增强后的分割图发送到 ControlNet Segmentation 单元,用于控制图像生成的结构。

安装与配置

1、安装扩展:在 WebUI 的 "Extensions" 标签中通过 URL 安装,或直接 git clone 到 extensions 文件夹。

2、下载模型:需要手动下载分割模型(如 SAM 的 sam_vit_h_4b8939.pth),并放置在 stable-diffusion-webui/models/sam/ 目录下。

3、自动安装依赖:GroundingDINO 和相关 ControlNet 注释器模型会在首次使用时自动下载。如果遇到 C++ 编译问题,可以在设置中启用 "Use local groundingdino to bypass C++ problem"。

重要提示与常见问题

ControlNet 设置:必须更新 ControlNet 扩展到最新版,并在其设置中勾选 "Allow other script to control this extension",否则无法联动。

GroundingDINO 安装:这是最常见的安装难点。如果自动安装失败,项目提供了使用本地修改版 GroundingDINO 的选项来绕过复杂的 C++ 环境配置。

WebUI 版本:需要保持 A1111 WebUI 和 Gradio 为较新的版本,以确保兼容性。

扩展冲突:如果安装此扩展后导致 ControlNet 报错,可能是扩展加载顺序问题,可以尝试调整扩展的加载顺序。

总结

sd-webui-segment-anything 是一个功能强大且不断演进的工具,它巧妙地将前沿的视觉基础模型与流行的生成式 AI 应用结合在一起。它极大地降低了高质量图像分割的技术门槛,为艺术家、设计师和开发者打开了通往更精细、更可控的图像编辑与生成的大门。无论是进行创意设计、内容创作还是数据准备,这个扩展都是一个不可或缺的利器。

项目地址https://github.com/continue-revolution/sd-webui-segment-anything

本文由人工编写,AI优化,转载请注明原文地址: AI绘画图像分割插件:sd-webui-segment-anything安装使用指南

评论 (2)

登录后发表评论
夜空中最亮的星2025-12-01 08:50:36
这个插件太强大了!精准的点选和文本分割让抠图变得前所未有的简单,和ControlNet的集成更是如虎添翼。感谢作者详细的教程,已经成功安装使用,正在批量处理训练集图片!
苏珊娜2025-11-21 10:13:24
这个插件太强大了!精准的点选和文本分割功能让抠图和局部重绘变得前所未有的轻松。与ControlNet的深度集成更是如虎添翼,感谢作者带来这么棒的工具!