以下是根据您的要求翻译的中文版本,保留了原文结构、技术术语和代码块,并采用 Markdown 格式输出。
Remove-AI-Watermarks – 用于从图像中移除 AI 水印的 CLI 和库
Remove-AI-Watermarks 可移除由 Google Gemini(Nano Banana)、ChatGPT / DALL-E、Stable Diffusion、Adobe Firefly、Midjourney 及其他 AI 模型生成的图像中的可见和不可见 AI 水印。它能去除 SynthID、C2PA Content Credentials、EXIF/XMP “Made with AI” 标签以及可见的闪光叠加层——全部通过一条命令完成。
功能特性
- 可见水印移除 — 通过反向 alpha 混合移除 Gemini / Nano Banana 闪光标志(快速、离线、确定性)
- 不可见水印移除 — 通过基于扩散的再生技术移除 SynthID、StableSignature、TreeRing
- AI 元数据剥离 — 移除 EXIF、PNG 文本块、C2PA 溯源清单(PNG / JPEG / AVIF / HEIF / JPEG-XL)、XMP DigitalSourceType
- “Made with AI” 标签移除 — 移除触发 Instagram、Facebook、X(Twitter)上 AI 标签的元数据
- 模拟人眼效果 — 添加胶片颗粒和色差,以绕过 AI 图像分类器
- 智能人脸保护 — 自动提取并融合人脸,防止 AI 变形
- 批量处理 — 处理整个目录
- 检测 — 三阶段 NCC 水印检测,附带置信度评分
- 在线试用 — 不想安装任何东西?请使用 raiw.cc,一个由本库驱动的免费网页服务
示例
| 处理前(带水印) | 处理后(已清理) | |------------------|------------------| | (图片占位) | (图片占位) |
支持的模型
| AI 模型 | 可见水印 | 不可见水印 | 元数据 | 我们的方法 | |---------|----------|------------|--------|------------| | Google Gemini / Nano Banana / Gemini 3 Pro | ✅ 闪光标志 | ✅ SynthID v1 + v2(默认 SDXL 管线,原生约 1024 px) | ✅ C2PA + EXIF | Alpha 反转 + 扩散 + 元数据剥离 | | OpenAI DALL-E 3 / ChatGPT | — | — | ✅ C2PA 清单 | 元数据剥离 | | OpenAI ChatGPT Images 2.0 (gpt-image-2) | — | ⚠️ 不可感知的像素水印(尚无公开检测器) | ✅ C2PA 清单(已验证) | 扩散再生 + 元数据剥离 | | Stable Diffusion (AUTOMATIC1111, ComfyUI) | — | ✅ DWT / 隐写 | ✅ PNG 文本块 | 扩散再生 + 元数据剥离 | | Adobe Firefly | — | — | ✅ Content Credentials (C2PA) | 元数据剥离 | | Midjourney | — | — | ✅ EXIF + XMP(提示词、模型、种子) | 元数据剥离 | | StableSignature (Meta) | — | ✅ 模型内水印 | — | 扩散再生 | | TreeRing | — | ✅ 潜空间水印 | — | 扩散再生 |
可见水印(标志叠加)目前仅由 Google Gemini / Nano Banana 使用。其他服务依赖不可见水印和/或元数据。我们的基于扩散的再生技术可对抗像素域或频域中的任何不可见水印。
工作原理
移除 Gemini / Nano Banana 闪光水印
Google Gemini(内部代号 Nano Banana)使用 alpha 混合在生成的图像上添加可见的闪光标志:
watermarked = α × logo + (1 − α) × original
我们通过已知的 alpha 图(从纯黑背景上的 Gemini / Nano Banana 输出中提取)来反转此过程:
original = (watermarked − α × logo) / (1 − α)
一个三阶段 NCC(归一化互相关)检测器动态查找水印位置和缩放比例,因此即使图像被调整大小或裁剪也能正常工作。移除后,通过梯度掩码修复清理残留的闪光边缘伪影。
速度:每张图像约 0.05 秒。无需 GPU。
移除 SynthID 和其他不可见水印
Google 将 SynthID 嵌入到 Gemini / Nano Banana 生成的每张图像中。其他 AI 服务使用 StableSignature、TreeRing 及类似方案。这些不可感知的频域模式能够抵抗裁剪、调整大小和 JPEG 压缩。
移除管线(默认配置,SDXL):
图像 → 调整大小至约 1024px(SDXL 原生尺寸)→ 编码到潜空间(VAE)→ 添加受控噪声(前向扩散)→ 去噪(反向扩散,约 50 步,强度 0.05)→ 解码回像素(VAE)→ 上采样至原始分辨率
SDXL 自 2026 年 5 月起成为默认配置:经验证,它能有效击败 Gemini 3 Pro 输出上的 SynthID v2,而较旧的 SD-1.5 管线(768 px)则无法做到。在确认 SD-1.5 路径无法处理 v2 后,该路径已被移除。
人脸保护:在扩散之前,YOLO 检测图像中的人物并提取出来。扩散之后,使用柔和的椭圆形遮罩将原始人脸融合回去,以防止 AI 对面部特征造成变形。
模拟人眼效果:可选的胶片颗粒和色差注入,使输出看起来与屏幕照片无异,从而绕过 AI 生成图像分类器。
剥离 C2PA、EXIF 和 “Made with AI” 元数据
AI 工具会嵌入生成元数据,社交平台利用这些元数据显示 “Made with AI” 标签:
- EXIF 标签 — 提示词、种子、模型哈希、采样器设置(Stable Diffusion、Midjourney)
- XMP DigitalSourceType — Instagram、Facebook 和 X(Twitter)用于显示 “Made with AI” 的 trainedAlgorithmicMedia 标签
- PNG 文本块 — ComfyUI 工作流、AUTOMATIC1111 参数
- C2PA Content Credentials — 来自 Google Imagen、OpenAI DALL-E、Adobe Firefly 的加密溯源清单
清理器会解析每一层,移除 AI 相关字段,并保留标准元数据(作者、版权、标题)。
安装
推荐:作为独立的 CLI 工具安装
无需管理虚拟环境:
# 使用 pipx (https://pipx.pypa.io)
pipx install git+https://github.com/wiltodelta/remove-ai-watermarks.git
# 或者使用 uv (https://docs.astral.sh/uv)
uv tool install git+https://github.com/wiltodelta/remove-ai-watermarks.git
更新到最新版本:
pipx upgrade remove-ai-watermarks
# 或
uv tool upgrade remove-ai-watermarks
从仓库安装
前提条件:Python 3.10+ 和 pip(或 uv)。
# 1. 克隆仓库
git clone https://github.com/wiltodelta/remove-ai-watermarks.git
cd remove-ai-watermarks
# 2. 以可编辑模式安装包
pip install -e .
# 或者,如果你使用 uv:
uv pip install -e .
安装后,remove-ai-watermarks 命令将在系统范围内可用。
注意:基础安装涵盖可见水印移除和元数据剥离。对于不可见水印移除(SynthID 等),请安装 GPU 依赖:
pip install -e ".[gpu]"
# 或
uv pip install -e ".[gpu]"
不可见水印移除
不可见水印移除使用扩散模型和 GPU 以获得合理的速度。
# 首次运行时