Skip to content

justinclarkong/ultraviolet

Repository files navigation

ULTRAVIOLET: A Unified Framework for Invisible Watermark Detection and Benchmarking

Setup

This project uses uv for efficient dependency management. Simply install uv and dependencies will automatically be installed and used in a virtual environment on execution, with no set up required on Unix systems.

On Windows systems, you can set up and activate the virtual environment the traditional way:

uv sync --locked
.venv\scripts\activate

Usage

To benchmark a specific module:

./main.py benchmark MODULE

To detect all watermarks in a media file:

./main.py detect input/images/invisible-watermark/1.png

To run the web app demo:

./main.py demo

Module Implementation

Ultraviolet is designed to be a modular and extensible framework to accommodate for future additions in the evolving technological landscape of invisible watermarking. Modules are implemented as self-contained files in the modules/ directory; other watermarking algorithms can easily be added by defining a corresponding module file.

Other watermarking domains such as audio or text watermarks can also be implemented by defining a new media type in modules/base/watermark_abc.py. This lets Ultraviolet filter by the corresponding format when detecting arbitrary files. However, note that these non-visual domains would require different distortions and benchmarks for analysis.

About

Unified framework for invisible watermark detection and benchmarking

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5