Remove-AI-Watermarks

5个月前发布 391 00

Remove-AI-Watermarks 是一款强大的开源工具,旨在从 Google Gemini、ChatGPT/DALL-E、Stable Diffusion、Adobe Firefly、Midjourney 等主流模型生成的图像中,彻底移除这些标记。

所在地:
中国
收录时间:
2026-05-26
其他站点:
Remove-AI-WatermarksRemove-AI-Watermarks

随着 AI 生成图像的普及,各大平台纷纷加入可见或不可见的水印以标识来源。Remove-AI-Watermarks 是一款强大的开源工具,旨在从 Google Gemini、ChatGPT/DALL-E、Stable Diffusion、Adobe Firefly、Midjourney 等主流模型生成的图像中,彻底移除这些标记。

Remove-AI-Watermarks

它不仅能够清除肉眼可见的闪光标志,更能通过基于扩散的重新生成技术移除 SynthID、StableSignature 等隐形水印,并剥离 C2PA、EXIF 等元数据,让图像回归“纯净”状态。

核心功能亮点

1. 可见水印移除:极速无损

  • 针对 Gemini/Nano Banana:利用已知的 Alpha 贴图逆向混合过程,移除可见的闪光标志。
  • 边缘修复:通过梯度掩码清理残留伪影。
  • 高性能:仅需 CPU,每张图像处理速度约 0.05 秒。

2. 不可见水印移除:扩散重生成

  • 支持标准:SynthID、StableSignature、TreeRing 等。
  • 工作原理:将图像编码至潜在空间 -> 添加受控噪声(前向扩散)-> 去噪(反向扩散)-> 解码回像素。
  • 智能人脸保护:扩散前自动检测并提取人脸,处理后通过软椭圆掩码混合回去,防止面部失真。
  • 模拟人工化:可选注入胶片颗粒和色差,绕过 AI 图像分类器,使图像更像屏幕拍摄或人工处理。

3. 元数据彻底剥离

  • 全面清理:移除 EXIF、PNG 文本块、C2PA 来源清单、XMP DigitalSourceType。
  • 社交标签移除:清除触发 Instagram、Facebook、X 等平台“Made with AI”标签的元数据字段。
  • 保留标准信息:仅移除 AI 相关字段,保留其他标准元数据。

4. 来源检测与分析

  • 三阶段检测:基于 NCC 的水印检测,提供置信度评分。
  • 多源聚合:识别 C2PA 发行者、IPTC 标签、嵌入的 SD/ComfyUI 参数、SynthID 代理等,输出详细的来源平台和水印清单。

安装指南

推荐方式(使用 pipx 或 uv)

# 使用 pipx
pipx install git+https://github.com/wiltodelta/remove-ai-watermarks.git

# 或使用 uv
uv tool install git+https://github.com/wiltodelta/remove-ai-watermarks.git

从源码安装

git clone https://github.com/wiltodelta/remove-ai-watermarks.git
cd remove-ai-watermarks
pip install -e .

# 若需移除不可见水印,安装 GPU 依赖
pip install -e ".[gpu]"

要求:Python ≥ 3.10。可见水印移除仅需 CPU;不可见水印移除推荐 NVIDIA GPU。

使用示例

1. CLI 命令行工具

# 移除单张图像的所有水印(可见+不可见+元数据)
remove-ai-watermarks all image.png -o clean.png

# 批量处理整个目录
remove-ai-watermarks batch ./images/ --mode all

# 仅移除可见水印(如 Gemini 闪光)
remove-ai-watermarks visible image.png -o clean.png

# 仅移除不可见水印并模拟人工质感(强度 4.0)
remove-ai-watermarks invisible image.png -o clean.png --humanize 4.0

# 检查图像元数据
remove-ai-watermarks metadata image.png --check

# 识别图像来源及水印类型
remove-ai-watermarks identify image.png

2. Python API

from remove_ai_watermarks.gemini_engine import GeminiEngine
import cv2

# 初始化引擎
engine = GeminiEngine()
image = cv2.imread("watermarked.png")

# 检测水印
result = engine.detect_watermark(image)
print(f"检测到: {result.detected} (置信度: {result.confidence:.1%})")

# 移除水印
clean_image = engine.remove_watermark(image)
cv2.imwrite("clean.png", clean_image)

工作原理详解

  • Gemini 闪光移除:Google Gemini 使用 Alpha 混合添加标志。工具通过逆向数学运算还原原始像素,并修复边缘。
  • SynthID 移除:通过扩散模型的重生成过程,破坏嵌入在频域或像素域的隐形水印信号,同时通过人脸保护机制保持主体一致性。
  • 元数据清洗:解析二进制结构,精准删除 AI 特定字段,避免破坏文件完整性。

Remove-AI-Watermarks 为应对 AI 生成内容的标记化趋势提供了一套强有力的技术解决方案。它不仅满足了创作者对图像“纯净度”的需求,也为研究 AI 水印鲁棒性提供了重要的测试工具。

相关导航