IOPaint 支持哪些 AI 模型,分别适合什么用途?
更新时间
IOPaint 是一个免费、开源、可完全自托管的图像修复(inpainting)与外扩(outpainting)工具,内置多种 SOTA AI 模型,不同模型对应不同编辑任务。按官方页面给出的演示,主要分工是:LaMa 负责擦除,PowerPaint 负责替换对象与外扩,AnyText 负责生成文字,PaintByExample 负责按示例绘制。如果你只是想从照片里去掉杂物、水印或路人,用 LaMa 即可;如果要做“把某物换成另一物”“把画面向外扩一圈”或“在图上写出指定文字”,则需要换用对应的模型。
各模型与适用场景
| 模型 | 适合的任务 | 典型用法 |
|---|---|---|
| LaMa | 擦除 | 移除图像中不需要的物体、瑕疵、水印、人物 |
| PowerPaint | 替换对象、外扩 | 在指定区域生成新对象(如把某角色放到沙滩上);在图像四周生成新像素使画面变大 |
| AnyText | 文字生成 | 在图像中生成指定文字内容 |
| PaintByExample | 按示例绘制 | 以一张参考图为例,在目标区域绘制出相似内容 |
LaMa:擦除的首选
LaMa 是页面中明确对应“Erase”演示的模型,用途是把图像里不想要的东西去掉,包括物体、缺陷、水印和人物。这类任务的特点是:你圈出要删除的区域,模型用周围内容把该区域补全。日常修图、清理素材图上的水印或路人,优先选它。
PowerPaint:一个模型覆盖两类任务
PowerPaint 在官方演示中出现了两次,分别对应“替换对象”和“外扩”:
- 替换对象:在指定区域生成新内容,例如演示中“在沙滩上生成 Darth Vader”。适合“把 A 换成 B”或“在空白处加一个新物体”的需求。
- 外扩(Outpainting):在图像边缘之外生成新像素,让画面变大、构图更宽。适合需要扩展画布、补足边缘场景的场合。
也就是说,当你需要“改内容”而不只是“删内容”时,PowerPaint 是更合适的选择。
AnyText:在图中生成文字
AnyText 对应“Generate Text”演示,用于在图像中生成文字。适合需要把指定文案渲染进画面的场景,例如海报、封面或素材图上的文字元素。它与擦除、替换对象属于不同任务类型,不要指望用 LaMa 完成文字生成。
PaintByExample:照着示例画
PaintByExample 对应“Paint By Example”演示,思路是给一个示例,让模型在目标区域绘制出与示例相似的内容。适合你手头有参考图、希望结果在风格或内容上贴近参考的场景。
怎么选:按任务对号入座
- 只想删东西 → LaMa。
- 要换掉某块内容,或在画面里加新对象 → PowerPaint(替换对象)。
- 要把画面向外扩大 → PowerPaint(外扩)。
- 要在图上写出文字 → AnyText。
- 有参考图,想按例子生成 → PaintByExample。
使用前提与注意点
- IOPaint 是免费、开源、可自托管的工具,页面未提及付费或登录限制;实际部署与运行环境需按项目安装说明准备。
- 页面只给出了各模型的演示用途,未列出各模型的具体参数、显存要求或精度对比。若你的场景对速度、分辨率或硬件有硬性要求,需要以项目文档和实际测试为准。
- 同一张图可以分步处理:例如先用 LaMa 擦除杂物,再用 PowerPaint 外扩构图,最后用 AnyText 加文字。分步操作比试图用一个模型完成所有事更可控。
如果你只是想快速判断该用哪个:擦除找 LaMa,改内容或扩图找 PowerPaint,写字找 AnyText,照示例画找 PaintByExample。