返回目录
开源项目AI 图片增强类新手

IOPaint:基于 SOTA AI 模型的图像修复与扩图工具

IOPaint 是一款免费、开源、可完全自托管的图像修复(inpainting)与扩图(outpainting)工具,由 SOTA AI 模型驱动。它支持 CPU、GPU 与 Apple Silicon,提供 WebUI,并集成分割、去背景、超分辨率、人脸修复等插件,可用于擦除图片中的杂物、瑕疵、水印、人物,或替换物体、绘制文字与扩展画面。

0 次阅读2026/09/14 发布
IOPaint:基于 SOTA AI 模型的图像修复与扩图工具 来源图片

社区作者 · zZz

它解决什么问题

IOPaint 是 Sanster 开源的图像修复与扩图工具,定位为「由 SOTA AI 模型驱动的免费开源 inpainting & outpainting 工具」。

核心功能:

  1. 擦除(Erase):使用 LaMa 模型移除图片中不需要的物体、瑕疵、水印、人物。
  1. 替换物体(Replace Object):使用 PowerPaint 进行物体替换与重绘。
  1. 文字绘制(Draw Text):使用 AnyText 在图像中绘制文字。
  1. 扩图(Out-painting):使用 PowerPaint 向外扩展画面。

特性(来自 README):

  • 完全免费开源、完全自托管,支持 CPU、GPU 与 Apple Silicon。
  • 提供 Windows 一键安装器(Windows 1-Click Installer)。
  • OptiClean:macOS 与 iOS 的物体擦除 App。
  • 支持多种 AI 模型执行擦除、修复或扩图任务。
  • 擦除类模型:用于去除图像中不需要的物体、瑕疵、水印、人物。
  • 扩散类模型:用于替换物体或执行扩图,常见模型包括 runwayml/stable-diffusion-inpainting、diffusers/stable-diffusion-xl-1.0-inpainting-0.1、andregn/Realistic_Vision_V3.0-inpainting、Lykon/dreamshaper-8-inpainting、Sanster/anything-4.0-inpainting、BrushNet、PowerPaintV2、Sanster/AnyText、Fantasy-Studio/Paint-by-Example。
  • 插件体系:
  • Segment Anything:准确且快速的交互式物体分割。
  • RemoveBG:移除图像背景或为前景物体生成掩码。
  • Anime Segmentation:与 RemoveBG 类似,但模型专门针对动漫图像训练。
  • RealESRGAN:超分辨率。
  • GFPGAN:人脸修复。
  • RestoreFormer:人脸修复。
  • FileManager:方便地浏览图片,并直接保存到输出目录。

使用形态:提供 WebUI 交互界面;也可通过命令行做批量处理;README 还提供了前端与后端分离的开发流程。

适用对象:需要本地化、隐私可控的图片擦除与重绘工作流的用户,包括修图爱好者、内容创作者、电商与设计人员,以及希望自建图像编辑服务的开发者。

开源模型信息:来源未给出各模型的参数规模、权重文件大小与具体许可证,相关字段均标注为待核验;模型权重在启动时自动下载。

— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。

安装 / 开始使用

一、快速开始

启动 WebUI

  1. 准备环境(取决于硬件,三选一):
  • 仅 CPU:直接进入下一步安装。
  • NVIDIA GPU(需先安装 CUDA 版 PyTorch):
命令
pip3 install torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/cu118
  • AMD GPU(仅支持 Linux,PyTorch 尚未在 Windows 上支持 ROCm):
命令
pip3 install torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/rocm5.6
  1. 安装并启动:
命令
pip3 install iopaint

iopaint start --model=lama --device=cpu --port=8080

  1. 首次运行:在浏览器访问 http://localhost:8080 即可开始使用。
  1. 模型下载:所有模型都会在启动时自动下载。若需更改下载目录,追加参数 --model-dir。

二、启用插件

iopaint start --enable-interactive-seg --interactive-seg-device=cuda

  • 启动服务时可指定要使用的插件,用 iopaint start --help 查看启用插件的命令。
  • 示例(交互式分割):

三、命令行批量处理

iopaint run --model=lama --device=cpu \ --image=/path/to/image_folder \ --mask=/path/to/mask_folder \ --output=output_dir

  1. 执行:
  2. 参数说明:--image 是输入图片所在文件夹,--mask 是对应的掩码文件夹;当 --mask 指向的是单个掩码文件时,所有图片都会使用该掩码处理。

四、开发环境搭建(前端 + 后端)

  1. 安装 nodejs,然后安装前端依赖:
命令
git clone https://github.com/Sanster/IOPaint.git
命令
cd IOPaint/web_app
命令
npm install
命令
npm run build
命令
cp -r dist/ ../iopaint/web_app
  1. 在 web_app 中创建 .env.local 文件,填入后端 IP 与端口:
命令
VITE_BACKEND=http://127.0.0.1:8080
  1. 启动前端开发环境:
命令
npm run dev
  1. 安装后端依赖并启动后端服务:
命令
pip install -r requirements.txt
命令
python3 main.py start --model lama --port 8080
  1. 访问 http://localhost:5173/ 进行开发。前端代码修改后会自动更新,后端 Python 代码修改后需要重启服务。

五、常见问题与提示

  • 想在 GPU 上运行,必须先安装 CUDA 版 PyTorch,否则会退回 CPU 运行。
  • AMD GPU 的 ROCm 安装方式目前只在 Linux 可行,Windows 尚不支持。
  • 模型体积较大,首次启动会自动下载,可通过 --model-dir 指定下载目录以管理磁盘位置。
  • Windows 用户可使用 README 提到的 Windows 一键安装器(1-Click Installer)。
  • macOS / iOS 用户可使用 OptiClean App 做物体擦除。

适用场景

擦除图片中的杂物
瑕疵
水印与不需要的人物
替换或重绘图像中的指定物体
在图像中绘制文字(AnyText)
向外扩展画面(outpainting 扩图)
命令行批量处理图片修复任务
交互式物体分割(Segment Anything 插件)
移除图像背景或生成前景掩码(RemoveBG 插件)
动漫图像分割(Anime Segmentation 插件)
图像超分辨率(RealESRGAN 插件)
人脸修复(GFPGAN