返回目录
开源项目AI 图片增强类新手

Watermark-Removal:基于机器学习图像修复的水印去除开源项目

Watermark-Removal 是 Chimzuruoke Okafor(zuruoke)开源的项目,采用机器学习图像修复(image inpainting)方法从图片中去除水印,目标是让修复结果与原图(ground truth)难以区分。项目灵感来自 Contextual Attention(CVPR 2018)与 Gated Convolution(ICCV 2019 Oral)两篇图像修复论文,基于 TensorFlow 1.15.0 与 neuralgym 实现,支持 Docker 运行,并提供了 Google Colab 流程(README 标注为 broken)。

0 次阅读2026/09/15 发布
Watermark-Removal:基于机器学习图像修复的水印去除开源项目 来源图片

社区作者 · zZz

它解决什么问题

项目定位:一个开源的、基于机器学习的图像修复(inpainting)项目,用于从图片中去除水印,作者称其结果与 ground truth 版本“完全无法区分”。

技术来源:作者说明项目受 Contextual Attention(CVPR 2018,Generative Image Inpainting with Contextual Attention)和 Gated Convolution(ICCV 2019 Oral,Free-Form Image Inpainting with Gated Convolution)启发,并致谢 Chu-Tak Li 的 Medium 系列文章,称该系列让其深入理解了上述图像修复论文。

运行环境:项目使用 TensorFlow 1.15.0,并依赖 neuralgym(来自 JiahuiYu/neuralgym)。README 提供两条运行路径:

可复制命令
Docker 与 Google Colab

(Colab 路径被作者明确标注为 broken)。运行前都需要额外下载作者提供的 model 目录(README 中以 “this link” 指代,具体地址在来源正文中未给出)。

调用方式

调用方式
Docker 运行时通过挂载模型目录、输入目录与输出目录,并指定 --checkpoint_dir、--image、--output、--watermark_type 参数执行;Colab 中则通过运行 main.py 并传入 --image、--output、--checkpoint_dir、--watermark_type 参数完成去水印。示例中 --watermark_type 取值为 istock。

引用信息:作者给出引用格式 “Zuruoke (2021). Watermark Removal: a machine learning image inpainting task. GitHub Repository. https://doi.org/10.5281/zenodo.20551267”,并在 README 中列出 Contextual Attention 与 Free-Form Image Inpainting with Gated Convolution 两条 BibTeX 引用。

许可与模型细节:来源正文未给出开源许可证、具体模型名称、参数规模、权重文件大小与最低硬件配置,这些信息需以仓库实际内容核验。

适用对象:对图像修复/水印去除感兴趣的研究者与开发者、需要复现 Contextual Attention 与 Gated Convolution 相关工作的学习者,以及希望通过

可复制命令
Docker

或 Colab 快速试用去水印流程的用户。

— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。

安装 / 开始使用

准备:需要 Git、Docker(Docker 路径);或使用 Google Colab(Colab 路径,README 标注为 broken)。项目依赖 TensorFlow 1.15.0 与 neuralgym,且需额外下载作者提供的 model 目录。

一、Docker 方式

步骤 1 · 克隆仓库到本地:

可复制命令
git clone https://github.com/zuruoke/watermark-removal

步骤 2 · 在仓库根目录构建 Docker 镜像:

可复制命令
docker build -t watermark-removal .
  1. 使用 README 中给出的链接下载 model 目录(来源正文只写为 “using this link”,未给出具体下载地址,需到原页面获取并核验)。
  1. 创建并运行容器执行去水印:
命令
docker run --rm -v '<path_to_model_dir>:/repo/model' -v '<path_to_input_dir>:/input' -v '<path_to_output_dir>:/output' watermark-removal --checkpoint_dir /repo/model --image '/input/<input_image_file>' --output '/output/<output_image_file>' --watermark_type istock

其中需把 <path_to_model_dir>、<path_to_input_dir>、<path_to_output_dir>、<input_image_file>、<output_image_file> 替换为实际路径与文件名;--watermark_type 示例值为 istock。

二、Google Colab 方式(README 明确标注为 broken)

  1. 打开并使用 Google Colab。
  1. 克隆本仓库:!git clone https://github.com/zuruoke/watermark-removal
  2. 切换目录到仓库:!cd watermark-removal
  3. 降级 TensorFlow:Google Colab 使用较新的 TensorFlow 2.x,而本项目使用 1.15.0,因此执行 !pip install tensorflow==1.15.0,然后重启运行时(README 说明较新版本的 Google Colab 可能不需要重启运行时)。
  1. 安装 tensorflow 工具包 neuralgym:!pip install git+https://github.com/JiahuiYu/neuralgym
  2. 使用 README 给出的链接下载 model 目录并放到 model/ 下;注意下载后 Google Drive 有时会自动追加 .txt,需要把 checkpoint.txt 重命名为 checkpoint。

!python main.py --image path-to-input-image --output path-to-output-image --checkpoint_dir model/ --watermark_type istock

  1. 完成以上准备后运行主脚本去水印:

常见问题与注意点

  • Colab 流程本身被作者标注为 broken,优先考虑 Docker 方式。
  • TensorFlow 版本冲突:本项目需要 1.15.0,与 Colab 默认的 2.x 不兼容,降级后可能需要重启运行时。
  • 缺少 neuralgym 会导致运行失败,需单独安装。
  • checkpoint 文件名问题:model 目录中 checkpoint.txt 必须重命名为 checkpoint。
  • model 目录必须下载齐全,并在运行时通过 --checkpoint_dir 指向正确位置。

来源教程配图

Buy Me A Coffee
配图 1 · Buy Me A Coffee查看原图
教程配图
配图 2 · 教程配图查看原图
教程配图
配图 3 · 教程配图查看原图
教程配图
配图 4 · 教程配图查看原图
教程配图
配图 5 · 教程配图查看原图
教程配图
配图 6 · 教程配图查看原图
教程配图
配图 7 · 教程配图查看原图
教程配图
配图 8 · 教程配图查看原图

适用场景

去除图片中的水印(示例水印类型为 istock)
基于图像修复(inpainting)对图片缺失区域进行内容补全
复现与研究 Contextual Attention
Gated Convolution 图像修复方法
作为图像修复相关课程或论文阅读的实践案例
在 Docker 环境中批量处理输入目录下的图片并输出到指定目录