一次跑完50张图!IOPaint 批量擦除从建目录到出图完整指南
【免费下载链接】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 的批量处理功能就是为此而生:配好蒙版,一条命令擦完整个文件夹。本文带你从建目录到验收结果,全程十分钟。
这些活儿都能交给它
- 电商商品图,批量去掉同一位置的水印
- 景区照片,把闯入镜头的路人整体消除
- 扫描件清理,擦掉印章、签名等干扰元素
- 漫画/插画,清除线稿上的冗余杂质
共同点:目标区域相似、图片数量多、不想重复劳动。
三步跑通批量任务
第一步:建两个文件夹,名字严格对齐
先建images放原图,masks放蒙版。蒙版是灰度图,白色区域就是要擦除的部分,且文件名必须与原图同名(扩展名可不同):
project/ images/ photo1.jpg photo2.jpg masks/ photo1.png # 与 photo1.jpg 同名,白色=待擦除 photo2.png results/ # 输出目录💡 验证方法:两个文件夹文件一一对应,缺一个都会跳过。如果所有图都擦同一位置,--mask直接指向单个蒙版文件即可,系统会让全部图片共用它。
第二步:直接跑这条命令
iopaint run --model lama \ --device cpu \ # 执行设备,有N卡改成 cuda --image ./images \ # 待处理图片文件夹 --mask ./masks \ # 蒙版文件夹(或单个蒙版文件) --output ./results # 输出目录首次运行会自动下载 LaMa 模型,耐心等它下完。
系统悄悄帮你做的事:
- 按文件名自动配对图片和蒙版(
glob_images) - 蒙版尺寸不一致时自动缩放到原图大小
- 蒙版二值化(阈值127),模糊蒙版也能用
- 整个批次只加载一次模型,每张图处理完立即释放显存
- 输出保留原图 EXIF 信息
💡 验证方法:进度条走完,日志里不出现mask for xxx not found就说明没有漏配。
第三步:验收输出
结果落在results,全部为 PNG。加一个--concat参数,会输出「原图+蒙版+结果」三合一拼接图,肉眼对比最直观:
iopaint run --model lama --device cpu --image ./images --mask ./masks --output ./results --concat # 三合一对比图💡 验证方法:抽查 2~3 张拼接图,确认擦除边界干净再信任整批结果。
参数怎么调:一张表看懂
完整字段见 iopaint/schema.py,把常用值写进 JSON 文件后用--config config.json传入:
| 参数 | 默认值 | 作用 | 建议值 |
|---|---|---|---|
model | lama | 擦除引擎,动漫图换 anime-lama | 按题材选 |
device | cpu | 执行设备 | 有 N 卡用 cuda |
hd_strategy | CROP | 大图预处理:CROP 分块修复 / RESIZE 缩放 | CROP |
hd_strategy_crop_trigger_size | 800 | 长边超过此值才触发分块 | 800~1280 |
sd_mask_blur | 11 | 蒙版边缘羽化,越大过渡越柔 | 11 |
sd_steps | 50 | 扩散模型步数,越多越精细 | 30 提速 |
{ "hd_strategy": "CROP", "hd_strategy_crop_trigger_size": 1024 }设备与显存怎么选
- CPU 模式:小批量(几十张以内)足够流畅,开箱即用
- GPU 加速:
--device cuda,大批量收益明显,需装好 CUDA - 内存无忧:批量任务单实例复用模型并逐张清理,几百张也不会累积爆内存
效果实录
水印、杂物、文字三类典型场景,处理前/后对比:
电商图水印批量清除,蒙版只涂水印条
杂物移除,背景纹理自动补全
扫描件冗余文字擦除
原理一瞥
核心在 iopaint/batch_processing.py:glob_images完成同名配对,蒙版自动缩放并二值化,ModelManager复用单一模型逐张推理。像素级修复由 iopaint/model/lama.py 里的 LaMa 模型完成。
避坑指南
最佳实践:
- 蒙版比目标稍大一点,边缘做羽化,边界更自然
- 单次不超过 50 张,先小批量抽查再上全量
- 大图保持
hd_strategy: CROP,避免缩放损失细节
已知限制:
- 输出统一是 PNG,不会保留原格式
- 蒙版配不上名字的图片会被静默跳过,跑完记得核对数量
- 擦除模型只负责"填充背景",无法凭空替换内容;含运动模糊的区域效果有限
命令很短,目录建好就能跑。现在就挑 10 张图试一轮批量擦除,效果满意再放大规模,更多用法见 README.md。
【免费下载链接】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),仅供参考