IOPaint AI去水印与图像修复完整指南:免费开源工具5分钟上手教程
【免费下载链接】IOPaintImage inpainting tool powered by SOTA AI Model. Remove any unwanted object, defect, people from your pictures or erase and replace(powered by stable diffusion) any thing on your pictures.项目地址: https://gitcode.com/GitHub_Trending/io/IOPaint
IOPaint 是一款免费开源的 AI 图像修复(inpainting)工具,能把照片里的水印、杂物、路人自动抹掉,还可以基于 Stable Diffusion 替换画面内容。装好后它提供一个本地网页界面,不需要写代码就能操作。这篇教程带你走完整流程:装环境、跑通第一张图、针对不同水印选对模型,最后覆盖批量处理与常见翻车点的处理办法。
三步装好环境,打开本地网页界面
前置条件只有一个:电脑上装有 Python 3.8 及以上版本。
打开终端,依次执行两条命令:
pip3 install iopaintiopaint start --model=lama --device=cpu --port=8080第一条命令会连带装好 PyTorch、OpenCV、Diffusers 等依赖。第二条是启动服务,lama是修复模型(下面会讲怎么选),cpu指定用 CPU 计算,8080是端口号。模型权重会在首次启动时自动下载,如果默认目录放不了,可以加--model-dir指定存放位置。
等终端提示服务就绪后,浏览器访问 http://localhost:8080 就能看到操作界面。
第一张图怎么修:上传、涂抹、出结果
整个修复流程对应三步,和用修图软件涂改液的思路一致,只是画笔画完之后由模型负责补全背景。
- 点界面上的上传入口,拖入 JPG 或 PNG 图片。
- 用画笔把要抹掉的水印盖住。涂抹不用太精确,盖得稍宽一点问题不大,模型会自己推断边界。
- 触发修复,等待几秒到几十秒,结果直接显示在原图位置,可保存导出。
下图是带满屏斜向水印和署名的小幅样片,跑一遍 lama 模型之后的成片,水印区域被完整还原为背景:
三种水印分别选什么模型
不同来源的图,最合适的修复模型不一样。仓库里 iopaint/model/ 目录下的每个文件对应一类模型,启动时用--model参数切换即可。
文字水印。这是最常见的情况,直接默认用 lama 即可,它对文字边缘和背景纹理的还原比较稳。画笔大小调到刚好盖住字,复杂背景上建议先把图放大再涂。下面是游戏海报标题被抹除后的效果,金色光球和云层的细节都保住了:
水印和背景长得很像、或者边缘不规则。手工涂抹容易要么漏掉、要么涂过头,这种场景可以启动交互式分割插件,用 Segment Anything 自动框选目标区域:
iopaint start --enable-interactive-seg --interactive-seg-device=cpu漫画、插画类图片。这类图线条硬朗,通用模型容易把线稿修糊,用专门的漫画修复模型更合适:
iopaint start --model=manga --device=cpu修复前后的对照可以参考仓库 assets/manga_clean.png:
批量模式:一个文件夹一次跑完
单张网页操作适合零散修图,几十张起就该用命令行批处理了。准备好两个目录——原图和对应的掩码图(掩码就是标记"哪里要修"的黑白图,文件名和原图一致),然后执行:
iopaint run --model=lama --device=cpu --image=./input_images --mask=./mask_images --output=./results--image指原图文件夹,--mask指掩码文件夹,--output是结果保存目录。如果所有图要修的是同一块位置,--mask也可以直接给一个单张掩码文件,全部图共用它。跑完去--output里按文件名取结果就行。
翻车点排查:模糊、残留、慢
修出来偏模糊。推理步数不够是常见原因。设置里默认是 20 步,把"步数"提到 30~40,模型有更多轮次去细化纹理。
边缘有残留。换更小的画笔,只圈住残留那一小块再跑一次,不用整张图重来。
CPU 跑得太慢。有独立显卡的话,把启动命令里的--device=cpu换成--device=cuda,速度差异是数量级的。首次用 GPU 记得先装 CUDA 版的 PyTorch。
老照片既有水印又整体偏糊。可以同时挂上人像修复插件,一条命令同时开两个能力:
iopaint start --model=zits --enable-gfpgan --gfpgan-device=cpuzits 负责抹掉水印,gfpgan 负责把面部细节找回来,各干各的活,互不冲突。
接下来可以试什么
跑通第一张图之后,值得花十分钟做两件事:一是把上面三种场景的图各修一遍,感受 lama、manga 和分割插件的差异;二是用iopaint start --help看一眼全部参数,插件列表、显存优化选项(--low_mem、--cpu_offload)都藏在里面。等单张流程熟透了,再把手头待修的图整理成文件夹切到批量模式,基本就形成了完整的去水印工作流。
【免费下载链接】IOPaintImage inpainting tool powered by SOTA AI Model. Remove any unwanted object, defect, people from your pictures or erase and replace(powered by stable diffusion) any thing on your pictures.项目地址: https://gitcode.com/GitHub_Trending/io/IOPaint
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考