Imagity

Image Security

A university project exploring different techniques to embed, detect, and verify watermarks in digital images - from visible overlays to invisible frequency-domain encoding.

Working

Static Watermark

Visible + DWT steganography

Two layers in one module. The invisible layer uses Discrete Wavelet Transform (DWT) via the blind_watermark library to encode a payload into the image's frequency domain - completely undetectable to the eye. The visible layer tiles a text overlay across the image, which is optional. During verification, the payload is extracted and compared against the expected string. The artifacts are visible only on white and black images. It works even if the image is cropped.

Static watermark example
Working

2D Marker Watermark

QR / DataMatrix

Embeds a QR code or DataMatrix barcode directly into an image at a configurable position. Detection uses OpenCV together with pyzbar and pylibdmtx to decode the embedded code. Both embedding and verification work end-to-end.

2D Marker example
Working

Zero Watermark

Ownership registration

Zero-watermarking is a technique that verifies the authenticity of an image and embeds hidden information without altering a single pixel. Instead of modifying the image, it derives a compact, secret-dependent “zero-watermark” from the image’s intrinsic features. This zero-watermark is stored separately, and later used to prove ownership or integrity. One of the use cases could be medical imaging or copyright protection on social platforms.

Zero watermark example
Working

Visual Watermark

Text overlay

Adds a visible text overlay to an image - centered, bottom-right corner, or tiled across the whole image. Embedding works correctly. Detection is not yet implemented; the check always returns no result. Useful as a simple deterrent watermark without verification needs.

Visual watermark example
In progress

Dynamic Watermark

Animated GIF

Embeds a watermark pattern into animated GIF files by modifying individual frames. The checkerboard pattern mode is functional. Other modes - combined, interference, and radial - are still being worked on. The detection side uses FFT spectrum analysis; threshold calibration is ongoing. This module is experimental and being refined.

Dynamic watermark example
In progress

Nightshade

Adversarial AI poisoning

Based on the technique developed at the University of Chicago, Nightshade is designed to protect images from being used in AI training by subtly modifying pixel values in adversarial ways - causing models trained on them to behave incorrectly. Our implementation of this module is currently in an early stage and under active development.

Nightshade example