Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📌 ImageWatermark

This repository collects and encapsulates a variety of invisible image watermarking methods, including both generation-stage and post-processing watermarking. A unified interface is provided to easily embed and extract watermarks from images, enabling batch experiments, robustness evaluations, and comparative studies.

The currently supported watermarking methods are as follows:

Name Type Conference/Year Paper
Hidden Post-generation ECCV 2018 HiDDeN: Hiding Data with Deep Networks
RivaGAN Post-generation ArXiv 2019 Robust Invisible Video Watermarking with Attention
Stable Signature Post-generation ICCV 2023 The Stable Signature Rooting Watermarks in Latent Diffusion Models
TreeRing Noise selection CVPR 2023 Tree-Ring Watermarks: Fingerprints for Diffusion Images that are Invisible and Robust
EditGuard Post-generation Edit CVPR 2024 EditGuard: Versatile Image Watermarking for Tamper Localization and Copyright Protection
PRC Watermark Noise selection ICLR 2025 An Undetectable Watermark for Generative Image Models
SleeperMark Denoising process CVPR 2025 SleeperMark: Towards Robust Watermark against Fine-Tuning Text-to-image Diffusion Models
dwtDctSvd Post-generation \ \
Stegastamp Post-generation CVPR 2020 Invisible Hyperlinks in Physical Photographs
Robust-wide Post-generation ECCV 2024 Invisible Hyperlinks in Physical PhotographsRobust-Wide: Robust Watermarking Against Instruction-Driven Image Editing
Smoothed HiDDeN Post-generation ECCV 2024 Certifiably Robust Image Watermark

🔧 Environment Setup

Two installation options are provided:

  • Conda environment

    conda env create -f environment/environment.yml
    conda activate imagewatermarker
    
  • Pip installation

    pip install -r environment/requirements.txt
    

📥 Pretrained Weights

Currently, pretrained weights are not hosted in this repository. Later I’ll provide a one-click download script. You can download them directly from the corresponding original repositories.


⚙️ Custom Configuration

All method-specific parameters, paths, and hyperparameters can be modified in the configs/ directory. Example:

# configs/smoothed_hidden.yaml
device: cuda
seed: 4
message_length: 30
options_file: ...
batch_size: 3
checkpoint_path: ...
message: "100100111111110010010000010111"
resize: 512
alpha: 0.001
sigma: 0.1
num_noise: 20
range: 0.4

🧪 Testing Methods

For example, to run Smoothed HiDDeN:

python -m watermarker.SmoothedHidden 

You can directly invoke any method or modify its implementation, using these modules as building blocks for larger systems

About

ImageWatermarker collects state-of-the-art invisible image watermarking methods.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages