移除 Gemini AI 水印:深度解析反向 Alpha 混合技术

一个用于干净清除 AI 生成图像中那些讨厌水印的开源工具

问题所在:精美的图像,碍眼的水印

如果你一直在使用 Google 的 Gemini AI 生成图像——无论是 Gemini Nano、Gemini Flash 还是 Gemini Pro——你可能已经注意到了:每张生成的图像在右下角都带有一个半透明的水印

别误会,我理解 Google 添加这些水印的原因。AI 生成内容的透明度非常重要。但在某些合法场景下,这些水印会变得非常令人头疼:

  • 演示文稿 —— 你正在为商务会议准备幻灯片,而那个水印在尖叫着“这是我用 AI 做的”。
  • 设计原型 —— 水印与你精心排版的设计布局格格不入。
  • 个人创意项目 —— 你只是想要一张干净的图片用于情绪板或概念艺术。
  • 社交媒体内容 —— 水印分散了观众对视觉故事本身的注意力。

我发现自己不得不每次在 Photoshop 中手动抠掉这些水印。在处理到第十张图片时,我想:一定有更好的办法

于是,我写了一个工具。

Gemini 水印工具简介

Gemini Watermark Tool 是一个轻量级、独立的命令行工具,可以精确、高效地移除图像中的 Gemini 水印。

Gemini 水印工具(Gemini Watermark Tool)

完美修复的图像。即使是最具挑战性的文本背景也不在话下。

核心功能

  • 一键移除 —— 将图像拖放到可执行文件上即可完成。
  • 批量处理 —— 数秒内处理数百张图像。
  • 数学级精确 —— 使用反向 Alpha 混合(Reverse Alpha Blending)技术,而非粗糙的图像修复(Inpainting)。
  • 零依赖 —— 单个 .exe 文件,无需安装。
  • 开源 —— 基于 MIT 协议,免费使用和修改。

如何使用

最简单的方法:拖拽

  1. GitHub 发布页面 下载 GeminiWatermarkTool.exe
  2. 将带水印的图像拖到该可执行文件上。
  3. 大功告成 —— 水印将被原位移除。

命令行用法

如需更多控制,请使用命令行:

Bash

# 移除水印并保存为新文件
GeminiWatermarkTool.exe -i watermarked.jpg -o clean.jpg

Bash

# 处理整个文件夹
GeminiWatermarkTool.exe -i ./input_folder/ -o ./output_folder/

# 强制指定水印大小(如果自动检测失败)
GeminiWatermarkTool.exe -i image.jpg -o output.jpg --force-small

水印尺寸检测

Gemini 会根据图像尺寸使用不同的水印大小:

图像尺寸水印大小边距
W ≤ 1024 或 H ≤ 102448×48 像素32px
W > 1024 且 H > 102496×96 像素64px

该工具会自动检测应使用的尺寸,但你也可以根据需要使用 --force-small--force-large 进行覆盖。

技术原理:反向 Alpha 混合

现在进入有趣的部分 —— 这到底是如何运作的?

理解 Gemini 如何添加水印

大多数人认为水印只是简单地“盖”在图像上。但 Gemini 使用了更复杂的技术:Alpha 混合(Alpha Blending)

其公式为:

其中:

  • watermarked 是你看到的最终像素值。
  • original 是原始像素值(我们想要恢复的内容)。
  • \alpha (alpha) 是透明度因子(0 = 完全透明,1 = 完全不透明)。

这便产生了你在 Gemini 图像中看到的半透明叠加效果。

重建 Alpha 映射表

这是最巧妙的部分,也是关键所在。通过对 Alpha 相关数值进行统计分析和比较,我们可以重建出一个完全正确或极其接近的 Alpha 映射表。

逆向过程

既然我们知道了每个像素的 \alpha 值,我们就可以在代数上反转混合公式:

这是核心等式。对于水印区域的每个像素:

  1. 从预计算的 Alpha 映射中获取 alpha 值。
  2. 应用反向公式。
  3. 将结果钳制(Clamp)在有效范围 [0, 255] 内。

结果如何?数学上精确还原了原始像素值。

为什么这种方法优于其他方案

其他方法如:

  • 图像修复 (Inpainting) —— 猜测像素应该是多少,经常产生伪影。
  • 仿制图章 (Clone stamping) —— 手动操作且不连贯。
  • 内容识别填充 (Content-aware fill) —— 可能产生模糊或扭曲的结果。
  • 体积 —— 我的方案非常快速、简单且微小(磁盘占用约 4MB)。

我们的方法不是猜测,而是利用已知的水印模式计算出确切的原始值。唯一的误差来源于 8 位量化(像素值 ±1 的偏差),这在肉眼看来是无法察觉的。

边缘处理

你可能会好奇水印的边缘,那里的像素是半透明的。这实际上由 Alpha 映射表本身完美处理了。边缘像素具有较低的 alpha 值(例如 0.1 或 0.2),反向公式自然地考虑了这一点,从而产生平滑的过渡,没有可见的缝隙。

开源

我已基于 MIT 协议 发布了此工具。完整的源代码可在 GitHub 上获得:

🔗 https://github.com/allenk/GeminiWatermarkTool

当前版本:v0.1.2

功能:

  • 独立模式(单个可执行文件,内嵌资源)
  • 普通模式(供想要自定义的开发者使用)
  • 使用 vcpkg 依赖的 CMake 构建系统
  • 支持 Windows x64、Linux、macOS (Apple Silicon + Intel) 和 Android

从源码构建

# 克隆仓库
git clone https://github.com/allenk/GeminiWatermarkTool.git
cd GeminiWatermarkTool
# 使用 vcpkg 配置
cmake -B build -S . \
  -DCMAKE_TOOLCHAIN_FILE=[vcpkg-root]/scripts/buildsystems/vcpkg.cmake \
  -DVCPKG_TARGET_TRIPLET=x64-windows-static \
  -DSTANDALONE_MODE=ON

# 构建
cmake --build build --config Release

重要免责声明

⚠️ 本工具仅供个人及教育用途使用。

请记住以下几点:

  1. 处理前请务必备份原始图像。该工具可能会直接修改原文件。
  2. 尊重内容政策。移除水印可能会产生法律或伦理影响,具体取决于你如何使用生成的图像。
  3. 此工具仅移除可见水印。它不会影响可能嵌入在图像数据中的任何不可见/隐写水印。

下一步计划

我正在考虑在未来版本中加入以下改进:

  • GUI 版本 —— 针对更喜欢图形界面的用户。
  • 完善 macOS/Linux 支持 —— 目前主要在 Windows 上测试。
  • 预览模式 —— 在保存前查看效果。
  • 撤销功能 —— 在元数据中存储原始数据。

如果你有功能建议或发现 Bug,请 在 GitHub 上提交 Issue

结语

最初只是因为个人的一点困扰,最终变成了一个有趣的技术挑战。Alpha 混合背后的数学原理非常优雅,逆向执行它可以产生令人惊讶的干净结果。

如果你厌倦了手动修掉 Gemini 生成图像中的水印,不妨试试这个工具。如果你是对图像处理感兴趣的开发者,希望源代码能为你提供一些有用的启发。

下载地址: GitHub Releases

源代码: github.com/allenk/GeminiWatermarkTool

原文:

https://allenkuo.medium.com/removing-gemini-ai-watermarks-a-deep-dive-into-reverse-alpha-blending-bbbd83af2a3f