项目介绍:sd-webui-inpaint-anything
sd-webui-inpaint-anything 是一个为 Stable Diffusion 网页 UI 提供图像修复(inpainting)功能的扩展。通过结合 Segment Anything 的输出,这个项目能够在浏览器中对用户选择的任何遮罩进行稳定扩散修复。它大大简化了用户为修复选择遮罩的过程,使用户无需手动填充,只需指向目标区域即可。这不仅提高了效率,还提高了修复的质量。
安装步骤
- 打开 AUTOMATIC1111 的 Stable Diffusion 网页 UI 的
Extensions
选项卡。 - 选择
Install from URL
选项。 - 在
URL for extension's git repository
字段中输入https://github.com/Uminosachi/sd-webui-inpaint-anything.git
。 - 点击
Install
按钮。 - 安装完成后,重启网页 UI。
注意:这个扩展支持 v1.3.0 及以上版本的 AUTOMATIC1111 的 Stable Diffusion 网页 UI。
运行应用程序
- 如果希望使用内存高效的 xformers,请在启动命令中添加
--xformers
参数,例如,运行./webui.sh --xformers
或webui.bat --xformers
。 - 若浏览器中启用了隐私保护扩展,如 DuckDuckGo,可能无法从草图中检索遮罩。
- 在 Gradio 3.23.0 或更早的版本中,分割图像可能在 UI 上显示较小。
模型下载
- 找到 UI 中的
Inpaint Anything
选项卡。 - 点击
Download model
按钮下载相关模型。这些模型包括 SAM 2、高质量的 Segment Anything、快速 Segment Anything 和移动端加速的 Segment Anything。 - 文件会被存储在应用程序的
models
目录中。
使用指南
- 拖放图像到输入区域。
- 选择
Padding options
进行拓展,可以调整尺度和平衡,点击Run Padding
运行。 Anime Style
选项能够增强动漫风格图像的分割遮罩检测,但可能略微降低遮罩质量。- 点击
Run Segment Anything
开始分割,通过草图指出需要修复的区域。 - 调整后,点击
Create mask
生成遮罩。
遮罩调整
Expand mask region
按钮可以稍微扩大遮罩区域。Trim mask by sketch
按钮可排除草图区域不在遮罩中。Add mask by sketch
按钮则能将草图区域添加到遮罩中。
修复(Inpainting)功能
- 输入需要的提示(Prompt)及反向提示(Negative Prompt),选择修复模型 ID。
- 点击
Run Inpainting
开始修复。 - 可以调整高级选项,包括采样器、采样步骤、指导尺度和种子。
- 在修复过程中,仅影响指定的遮罩区域。
探索更多
- 在 Web UI 上拖放修复后的图像至输入区域以便进一步处理。
- 如果存储了带有提示信息的 PNG 文件,可以加载这些提示用于修复,操作方法是将图像拖进
PNG Info
选项卡,然后点击Send to txt2img (或 img2img)
。
模型缓存与清理
- 修复模型保存在 HuggingFace 缓存中,并会出现在修复模型 ID 下拉列表中。
- 如果遇到模型检索错误,可以尝试从缓存文件夹中删除相关模型。
其他功能选项
提供清晰界面的模型内置清理器,能进行无损修复。还可以使用 ControlNet 扩展来增强图像修复。为了达到不同的效果,该项目支持调整采样器、步数、引导比例、降噪强度等参数。除此之外,也能仅保存遮罩用于更进一步的影像处理。
自动保存与开发
生成的修复图像会自动按日期保存在 outputs/inpaint-anything
目录中。项目支持用户通过 Inpaint Anything 库进行进一步开发和扩展,提供了一个灵活易用的平台,适合没有太多技术背景的用户。
许可证
项目的源码基于 Apache 2.0 许可证发布。