https://github.com/ispras/wibe
An Extensible Open Source Framework for Evaluating Imperceptibility and Robustness of Digital Watermarks for Generated Images
https://github.com/ispras/wibe
attacks framework generated-by-ai imperceptibility robustness watermarking
Last synced: 6 months ago
JSON representation
An Extensible Open Source Framework for Evaluating Imperceptibility and Robustness of Digital Watermarks for Generated Images
- Host: GitHub
- URL: https://github.com/ispras/wibe
- Owner: ispras
- License: apache-2.0
- Created: 2025-07-18T11:46:59.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-08-14T10:50:49.000Z (7 months ago)
- Last Synced: 2025-08-14T12:28:43.734Z (7 months ago)
- Topics: attacks, framework, generated-by-ai, imperceptibility, robustness, watermarking
- Language: Python
- Homepage:
- Size: 7.23 MB
- Stars: 13
- Watchers: 0
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
WIBE: Watermarks for generated Images – Benchmarking & Evaluation
=================================================================
.. image:: https://readthedocs.org/projects/example-sphinx-basic/badge/?version=latest
:target: https://ispras-wibe.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
**WIBE** is a modular and extensible framework for automated testing of invisible image watermarking methods under various attack scenarios.
The system is designed to support research and development of robust watermarking techniques by enabling systematic evaluation
through a customizable processing pipeline.
The system architecture consists of a sequence of processing configurable stages.
.. image:: docs/imgs/wibe_schema.png
:alt: ``WIBE schema``
:align: center
Key features
------------
* Modularity and extensibility through a plugin-based architecture
* Reproducibility ensured by YAML-configured experiments
* Usability with a simple command-line interface
* Flexible persistence through multiple storage backends, including files and ClickHouse database
* Transparency via real-time visual feedback
* Scalability to run experiments on clusters
Quick start
-----------
To assess implemented watermarking algorithms and attacks on watermarks, follow the step-by-step procedure below.
1. Clone the repository and navigate to its directory (all subsequent commands should be run from this location):
.. code-block:: console
git clone https://github.com/ispras/wibe.git
2. Update the submodules:
.. code-block:: console
git submodule update --init --recursive
3. Create and activate a virtual environment (the exact command varies slightly between OSes – you know how to do this):
.. code-block:: console
python -m venv venv
4. Download the pre-trained model weights:
.. code-block:: console
(venv) python download_models.py
5. Install the dependencies:
.. code-block:: console
(venv) python install_requirements.py
6. Set the **HF_TOKEN** environment variable with your **HuggingFace** `token `_ (see `HuggingFace Authentication Setup `_ for details), then authenticate:
.. code-block:: console
(venv) python huggingface_login.py
7. All set! Specify the path to your ``сonfiguration file`` as a required parameter:
.. code-block:: console
(venv) python -m wibench --config configs/trustmark_demo.yml -d
8. Upon completion of computations, you can view watermarked images and explore interactive charts for different combinations of watermarking algorithms, attacks, and computed performance metrics.
Below, from left to right, are the original, watermarked with `StegaStamp `_, and attacked by `FLUX Regeneration `_ images.
.. image:: docs/imgs/original_watermarked_attacked.png
:alt: ``Original, watermarked, and attacked images``
:align: center
And here are the same as above, the original and watermarked images, as well as their difference.
.. image:: docs/imgs/original_watermarked_difference.png
:alt: ``Original and watermarked images, and their difference``
:align: center
To explore interactive wind rose chart with average ``TPR@0.1%FPR`` for all algorithms and attacks evaluated so far, run the following command:
.. code-block:: console
(venv) python make_plots.py --results_dir path_to_results_directory
Below is an average ``TPR@0.1%FPR`` chart for 7 algorithms under different types of attacks (evaluated on 300 images from the `DiffusionDB `_ dataset).
.. image:: docs/imgs/tpr_0.1_fpr_avg.png
:alt: ``Average TPR@0.1%FPR for 7 algorithms``
:align: center
Documentation
-------------
See the full documentation `here `_.
Tutorial video
--------------
Watch our video tutorial `here `_.