v1.9.0
v1.9.0 — MI-GAN AI 水印修补:基于 ONNX 深度学习的去水印重构
亮点
--remove-watermark 完全重构,默认算法从经典 Alpha Map 逆 alpha 混合升级为 MI-GAN AI 修补(基于 LaMa 的 ONNX 推理 inpainting 模型,28MB):
- AI 修补:用深度生成模型重绘水印区域,而非逆 alpha 混合,对复杂纹理背景效果更好
- 自动降级:MI-GAN 失败自动 fallback 到 Alpha Map 经典算法
- 无需 --producer:自动从 TC260/C2PA 元数据识别 producer,或通过 NCC 模板匹配检测位置
- 手动位置指定:新增
--watermark-box精确控制修补区域
新功能
aigc-cli detect --remove-watermark --watermark-box "200,60"— 手动指定水印位置(右下角 200×60)aigc-cli detect --remove-watermark --watermark-box "800,900,200,60"— 绝对坐标格式aigc-cli detect --remove-watermark --watermark-box "-10,-10,200,60"— 负值表示距右/下边缘距离aigc-cli detect --remove-watermark --alpha-map— 强制使用经典 Alpha Map 算法aigc-cli detect --remove-watermark --mi-gan— 强制使用 MI-GAN AI 修补
算法选择
| 算法 | 方式 | 说明 |
|---|---|---|
| MI-GAN(默认) | AI 修补 | ONNX 推理,基于 LaMa 的 inpainting 模型。需要 migan.onnx(28MB)放在 ~/.config/aigc-cli/models/ |
| Alpha Map(经典) | 逆 alpha 混合 | 需要 --learn-watermark 学习的水印配置,用 --alpha-map 强制启用 |
水印位置解析优先级
1. --watermark-box 手动指定(最精确)
2. 元数据 producer 已知 → PositionResolver 计算位置
3. 通用检测(未识别 producer) → NCC 模板匹配
4. 右下角 fallback 区域 (300×80)
依赖变更
- 新增:
github.com/martianzhang/pure-onnx(pure-onnx 的 fork,修复编译问题) - 运行时:需 ONNX Runtime 共享库(与
detect/background共享,无需重复下载) - 模型:
migan.onnx(28MB)可通过aigc-cli detect init或其他方式放置到 models 目录
Full Changelog: v1.8.0...v1.9.0