图像修复
图像修复(Inpainting)是AI图像编辑的核心技术,让你能精确修改图像的特定区域而不影响其他部分。从移除不需要的物体到添加新元素,从修改细节到风格转换,掌握Inpainting让你的创作更加自由。
什么是图像修复
Inpainting是指在保持图像其他部分不变的情况下,重新生成选定区域内容的AI技术。它让图像编辑从"重新生成整张图"变成了"精确修改局部",大大提升了创作效率。
应用场景
🗑️ 移除物体
删除不需要的人物、物体、水印等
✏️ 修改细节
更改服装颜色、表情、发型等
➕ 添加元素
在空白区域添加新的物体或人物
🔧 修复瑕疵
修复损坏、模糊或有问题的区域
Inpainting vs 传统修图
❌ 传统修图局限
- • 需要专业技巧
- • 依赖现有素材
- • 复杂场景难以处理
- • 耗时较长
✅ AI Inpainting优势
- • 自然语言描述即可
- • AI自动生成内容
- • 自动匹配周围环境
- • 快速高效
技术原理
理解Inpainting的技术原理有助于更好地使用它。
扩散模型的Inpainting机制
- 1. 遮罩定义:用户通过绘画或选择定义需要重新生成的区域(白色区域)
- 2. 噪声添加:对遮罩区域添加噪声,非遮罩区域保持不变
- 3. 扩散去噪:使用文本提示引导,对遮罩区域进行去噪生成
- 4. 混合输出:将新生成的内容与原图无缝融合
关键参数
| 参数 | 作用 | 建议值 |
|---|---|---|
| Denoising Strength | 控制修改程度 | 0.5-1.0 |
| Mask Blur | 遮罩边缘模糊程度 | 4-8像素 |
| Mask Mode | 重绘遮罩内还是外 | 通常重绘内 |
| Padding Mode | 填充方式 | Fill/Latent |
常用工具
不同平台提供的Inpainting功能各有特点。
SD WebUI Inpaint
Stable Diffusion WebUI提供功能最全面的Inpainting功能。
功能特点
- • 支持多种遮罩绘制工具
- • 可调节去噪强度
- • 支持ControlNet辅助
- • 可使用专用Inpainting模型
遮罩模式
Inpaint masked
重绘遮罩区域(常用)
Inpaint not masked
重绘非遮罩区域
Midjourney Vary Region
Midjourney的局部修改功能,简单易用。
使用方法
- 1. 生成图像后点击"Vary (Region)"按钮
- 2. 使用矩形或套索工具选择区域
- 3. 修改提示词描述新内容
- 4. 提交生成
特点
- • 界面简单,上手容易
- • 自动保持风格一致
- • 支持修改提示词
- • 仅支持MJ生成的图像
DALL-E Edit
OpenAI DALL-E的编辑功能,语义理解能力强。
功能特点
- • 强大的语义理解
- • 可以生成精确的内容
- • 支持Outpainting(DALL-E 2)
- • 与ChatGPT集成(DALL-E 3)
Photoshop AI(创成式填充)
Adobe Photoshop集成的AI功能,专业工作流首选。
优势
- • 与专业修图工作流无缝集成
- • 支持图层、蒙版等专业操作
- • 商业使用版权清晰
- • 输出质量稳定
工具选择建议
| 场景 | 推荐工具 | 原因 |
|---|---|---|
| 精确控制 | SD WebUI | 参数最丰富 |
| 快速修改 | Midjourney | 操作最简单 |
| 语义理解 | DALL-E | 理解能力最强 |
| 商业项目 | Photoshop AI | 版权最清晰 |
修复技巧
遮罩技巧
好的遮罩是成功的一半。
✅ 推荐做法
- • 边缘留出适当余量
- • 使用模糊边缘(Mask Blur)
- • 遮罩形状尽量简单
- • 包含完整的物体边缘
❌ 常见错误
- • 遮罩太精确紧贴边缘
- • 边缘过于锐利
- • 遮罩形状过于复杂
- • 遮罩区域过大
去噪强度设置
去噪强度(Denoising Strength)是最关键的参数。
0.3-0.5:轻度修改
保留大部分原图特征,适合细节调整
0.5-0.7:中度修改
平衡保留和修改,适合一般场景
0.7-0.9:重度修改
大部分重新生成,适合较大改动
0.9-1.0:完全重绘
完全重新生成,适合移除物体
提示词技巧
Inpainting的提示词需要特别注意。
描述具体内容
明确说明要生成什么,不要模糊
考虑周围环境
描述新内容应该与周围如何融合
使用原有提示词
保持与原图风格一致的关键词
使用负面提示词
排除不需要的特征
ControlNet增强
使用ControlNet可以获得更精确的控制。
常用ControlNet
- • Inpaint ControlNet:专用于Inpainting,效果更好
- • Depth ControlNet:保持空间深度一致
- • Canny ControlNet:保持边缘结构
- • Reference ControlNet:参考原图风格
💡 ControlNet使用技巧
- • Inpainting时推荐使用Inpaint ControlNet
- • 控制权重0.6-0.8通常效果最好
- • 可以同时使用多个ControlNet
- • 配合IP-Adapter可以保持风格
实践案例
案例1:移除背景人物
步骤:
- 使用套索工具选中人物,边缘留出余量
- 设置Mask Blur为8像素
- 设置去噪强度0.9-1.0
- 提示词描述背景内容(如"green grass field")
- 生成并选择最佳结果
案例2:更换服装颜色
步骤:
- 精确选中服装区域
- 设置Mask Blur为4像素
- 设置去噪强度0.6-0.8
- 提示词描述新颜色和材质
- 如需要,使用ControlNet保持服装形状
案例3:添加新元素
步骤:
- 在空白区域绘制遮罩
- 设置Mask Blur为6像素
- 设置去噪强度0.8-1.0
- 提示词详细描述要添加的内容
- 描述与周围环境的交互关系
案例4:修复面部表情
步骤:
- 选中面部区域(包含一些边缘余量)
- 使用Inpaint ControlNet
- 设置去噪强度0.5-0.7
- 提示词描述期望的表情
- 可使用IP-Adapter保持人物特征
常见问题
Q: 修改后边缘有明显痕迹?
A: 增加Mask Blur值,确保边缘平滑过渡。也可以适当降低去噪强度。
Q: 修改的内容与原图不协调?
A: 在提示词中包含原图的风格关键词,使用IP-Adapter或Reference ControlNet保持风格一致。
Q: 无法精确控制修改内容?
A: 使用ControlNet获得更精确的控制,调整去噪强度,使提示词更加具体。
Q: 移除物体后背景不对?
A: 确保提示词正确描述背景内容,提高去噪强度,可能需要多次尝试。
Q: 修改后人脸变形?
A: 使用Inpaint ControlNet或专门的修复模型(CodeFormer),降低去噪强度。
💡 最佳实践总结
- • 遮罩边缘要留余量,使用适当的模糊
- • 根据修改程度选择合适的去噪强度
- • 提示词要具体描述期望的内容
- • 使用ControlNet获得更好的控制
- • 多次迭代,逐步完善效果
- • 保存中间结果,方便对比和回退