字
字节笔记本
2026年2月23日
Inpaint Anything:基于 SAM 和 Stable Diffusion 的智能图像修复工具
本文介绍 Inpaint Anything,一个基于 Segment Anything 和 Stable Diffusion 的开源图像修复工具。该项目通过浏览器界面提供直观的图像修复功能,用户只需简单指点即可生成蒙版进行修复,大幅提升修复效率和准确性。
项目简介
Inpaint Anything 是由 Uminosachi 开发的开源项目,它将 Meta 的 Segment Anything(SAM)与 Stable Diffusion 的图像修复能力相结合,提供了一个基于 Gradio 的浏览器界面。用户可以通过简单的点击操作选择图像中的任意区域进行修复,无需手动绘制复杂的蒙版。
该项目在 GitHub 上已获得 275+ stars,采用 Apache-2.0 许可证开源。
核心特性
- 智能蒙版生成:基于 Segment Anything 技术,通过点击即可自动生成精确的蒙版
- 多种 SAM 模型支持:支持 SAM 2、SAM-HQ、FastSAM、MobileSAM 等多种分割模型
- 多种修复模型:集成 Stable Diffusion、LaMA、PowerPaint 等多种修复算法
- 浏览器界面:基于 Gradio 的直观 Web UI,无需编程即可使用
- 外绘功能:支持通过 Padding 选项实现图像外绘(Outpainting)
- 动漫风格优化:针对动漫风格图像的特殊优化模式
- ControlNet 集成:支持 ControlNet 进行更精确的图像控制
技术栈
- Python 3.10+ - 主要开发语言
- PyTorch - 深度学习框架
- Gradio - Web 界面框架
- Segment Anything - 图像分割模型
- Stable Diffusion - 图像生成与修复
- Diffusers - Hugging Face 扩散模型库
- OpenCV - 计算机视觉处理
安装指南
前置要求
- Python 3.10
- CUDA 支持的 GPU(推荐)或 CPU
- 足够的显存(根据 SAM 模型大小,Base/Large/Huge 分别需要不同显存)
安装步骤
bash
# 1. 创建 conda 环境
conda create -n inpaint python=3.10
conda activate inpaint
# 2. 克隆仓库
git clone https://github.com/Uminosachi/inpaint-anything.git
cd inpaint-anything
# 3. 安装依赖(CUDA 环境)
pip install -r requirements.txt
# macOS 用户使用以下命令
pip install -r requirements_mac.txt启动应用
bash
python iasam_app.py启动后访问 http://127.0.0.1:7860/ 即可使用。
命令行选项
--save-seg:保存 SAM 生成的分割图像--offline:离线模式运行--sam-cpu:在 CPU 上运行 SAM(较慢但无需 GPU)
使用教程
1. 下载模型
首次使用时需要下载 SAM 模型:
- 启动应用后,点击 "Download model" 按钮
- 支持的模型包括 SAM 2、SAM-HQ、FastSAM、MobileSAM
- 模型越大效果越好,但需要的显存也越多
2. 基本修复流程
- 上传图像:拖拽图像到输入区域
- 运行分割:点击 "Run Segment Anything" 按钮
- 选择区域:使用画笔工具点击想要修复的区域
- 创建蒙版:点击 "Create mask" 生成蒙版
- 执行修复:切换到 Inpainting 标签页,配置参数后运行
3. 蒙版调整
- Expand mask region:扩展蒙版区域
- Trim mask by sketch:从蒙版中减去手绘区域
- Add mask by sketch:向蒙版中添加手绘区域
4. 快捷键
S键:全屏模式R键:重置缩放
修复模型选项
Stable Diffusion 修复
使用 Stable Diffusion 模型进行图像修复,支持:
- 自定义提示词(Prompt)
- 负面提示词(Negative Prompt)
- 迭代步数控制
- Guidance Scale 调整
LaMA 修复
LaMA(Large Mask Inpainting)适合大面积修复:
- 无需提示词
- 专门优化的大蒙版修复
PowerPaint
支持多种修复模式:
- 文本引导修复
- 形状引导修复
- 上下文感知修复
应用场景
- 物体移除:从照片中移除不需要的物体或人物
- 图像补全:修复老旧照片的破损区域
- 内容替换:替换图像中的特定元素
- 外绘扩展:扩展图像边界,生成新的内容
- 动漫修复:专门针对动漫图像的优化修复
注意事项
- 使用隐私保护浏览器扩展(如 DuckDuckGo)可能会影响蒙版获取功能
- 较大的 SAM 模型需要更多显存,如果显存不足请选择较小的模型
- 首次下载模型需要网络连接,之后可以离线使用
相关项目
- AUTOMATIC1111 WebUI 扩展版 - 适用于 Stable Diffusion WebUI 的插件版本
- Segment Anything - Meta 的图像分割模型
- SAM 2 - Segment Anything 的第二代模型
项目链接
- GitHub 仓库:https://github.com/Uminosachi/inpaint-anything
- 许可证:Apache-2.0
- Stars:275+
分享: