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”演示,思路是给一个示例,让模型在目标区域绘制出与示例相似的内容。适合你手头有参考图、希望结果在风格或内容上贴近参考的场景。

怎么选:按任务对号入座

  1. 只想删东西 → LaMa。
  2. 要换掉某块内容,或在画面里加新对象 → PowerPaint(替换对象)。
  3. 要把画面向外扩大 → PowerPaint(外扩)。
  4. 要在图上写出文字 → AnyText。
  5. 有参考图,想按例子生成 → PaintByExample。

使用前提与注意点

  • IOPaint 是免费、开源、可自托管的工具,页面未提及付费或登录限制;实际部署与运行环境需按项目安装说明准备。
  • 页面只给出了各模型的演示用途,未列出各模型的具体参数、显存要求或精度对比。若你的场景对速度、分辨率或硬件有硬性要求,需要以项目文档和实际测试为准。
  • 同一张图可以分步处理:例如先用 LaMa 擦除杂物,再用 PowerPaint 外扩构图,最后用 AnyText 加文字。分步操作比试图用一个模型完成所有事更可控。

如果你只是想快速判断该用哪个:擦除找 LaMa,改内容或扩图找 PowerPaint,写字找 AnyText,照示例画找 PaintByExample。