
windows 安装 IOPaint cpu 版本
概述
IOPaint 是一个免费开源的基于大模型的图片修复工具,可以进行擦除(去水印、抠图、去背景)、修复(将图片变得更清晰)、外画(扩大图片,自动生成扩大后的场景)
它是基于 python 开发,可以使用 pip 进行安装,支持 cpu、gpu 模式启动,并且提供了 webUI 界面,本地启动后在浏览器中就能进行图片操作。同时它也提供了命令行方式,可以进行批量处理多张图片
github 地址:https://github.com/Sanster/IOPaint
效果(来源于官网)
人脸清晰化
图像清晰化(像素级别增强)
去除背景
动画人物抠图
安装
本次安装 IOPaint 使用 3.10.6 版本的 python 环境
1、创建 python 虚拟环境
创建一个 IOPaint 的部署目录,然后 cmd 进入到目录中创建一个 python 的虚拟环境
python -m venv iopaint-cpu
这时候就能看到文件夹中有一个名为 iopaint-cpu 的文件夹
2、pip 安装 iopaint
# 激活虚拟环境
.\iopaint-cpu\Scripts\activate.bat
# 安装 iopaint
pip install iopaint
等待 pip 安装完成即可
3、创建基础目录结构
继续在 IOPaint 部署目录下,创建 input、output、mask、models 这几个文件夹,后面第 6 步会用到
这时候在部署目录下就有了这些文件夹
iopaint部署目录/
|-iopaint-cpu/
|-input/
|-mask/
|-models/
|-output/
4、继续新建一个 win_config.bat 文件,并将下面内容写入
这个脚本用来启动 IOPaint 的配置服务
@echo off
set BASE_DIR=%~dp0
set PATH=C:\Windows\System32;%PATH%
@call %BASE_DIR%\iopaint-cpu\Scripts\iopaint start-web-config --config-file %BASE_DIR%\config.json
PAUSE
5、继续新建一个 win_start.bat 文件,并将下面内容写入
这个脚本用来启动 IOPaint 的 webUI 服务
@echo off
set BASE_DIR=%~dp0
set PATH=C:\Windows\System32;%PATH%
@call %BASE_DIR%\iopaint-cpu\Scripts\iopaint start --config %BASE_DIR%\config.json
PAUSE
6、启动 IOPaint 的配置生成服务
执行 .\win_config.bat ,会启动一个配置服务的 web 页面
主要是下面几个配置
Current Model:lama
Device:cpu
Model download directory(模型保存位置):填上面第 3 步创建的 models 文件夹的绝对路径
Input file or directory(批量处理时,输入的图片位置):填上面第 3 步创建的 input 文件夹的绝对路径
Output directory(批量处理时,输出的图片位置):填上面第 3 步创建的 output 文件夹的绝对路径
Mask directory(批量处理时,保存着每张输入图片对应的掩码图片):填上面第 3 步创建的 mask 文件夹的绝对路径
设置好之后按页面右上角的 "Save configurations",会自动将配置保存到部署目录的 config.json 文件中
至于页面上的其他配置和插件自己有空再慢慢研究尝试吧
保存完之后,可以把配置服务关掉了
问:为什么它会自动将配置保存到部署目录的 config.json 而不是其他文件?
答:回到上面的 win_config.bat 文件里,可以看到启动配置服务的时候加了 --config 参数,指定了启动时加载配置和最终保存配置时的文件位置
7、启动 IOPaint
执行 .\win_start.bat 即可
因为我们在配置中填写了当前模型是 lama,所以第一次启动的时候会自动下载 lama 模型,如果下载不成功,可以手动下载(它依赖的所有模型都可以手动下载!),在它打印的日志里面有 lama 的下载地址和模型保存位置,手动下载完之后将模型移动到指定位置,重启 IOPaint 即可
启动成功后,访问 http://127.0.0.1:8080 就可以愉快的去水印了!
插件
在上面第 6 步的时候,我们看到还有一个配置插件的地方,里面支持了好几个插件,想要开启就把它勾选上即可,别忘了保存(这个配置页面好像有个 bug,保存了之后刷新页面还是显示没勾选的状态)
下面简单总结下它们是干什么用的吧
interactive segmentation
可以准确的生成对象模板,比如人物、动物等
依赖模型:sam2.1_hiera_tiny,下载地址 手动下载
remove background
可以去掉背景
安装依赖库:pip install rembg onnxruntime
anime segmentation
可以用来做动画人物抠图
依赖模型:isnetis.pth,下载地址 手动下载
realesrgan
可以让图片分辨率变大,更清晰
安装依赖库:pip realesrgan
依赖模型:realesr-general-x4v3.pth,下载地址 手动下载
GFPGAN
RestoreFormer
用来做面部修复
安装依赖库:pip realesrgan
依赖模型:RestoreFormer.pth,下载地址 手动下载