About this project
This repository documents an independent reverse-engineering effort against Google's SynthID invisible image watermark, using only signal processing and spectral analysis rather than access to the proprietary encoder or decoder. It ships both a watermark detector and several generations of watermark-removal ("bypass") pipelines.
Key reported capabilities:
- A detector that identifies SynthID watermarks, with the README claiming roughly 90% accuracy.
- Discovery of a resolution-dependent carrier-frequency structure: carriers sit at different absolute frequency bins depending on image resolution, so codebooks store separate profiles per resolution and auto-select at bypass time.
- Phase-consistency findings: the phase template is described as identical across images from the same Gemini model, with the green channel carrying the strongest signal and black/white cross-validation used to confirm true carriers.
Bypass generations:
- V1: JPEG compression baseline.
- V2: multi-stage transforms (noise, color, frequency).
- V3: multi-resolution spectral codebook subtraction, reported at 43+ dB PSNR with a large phase-coherence drop; kept in the repo unchanged.
- V4 (Round 06): a seven-stage all-in-one pipeline combining a Stable Diffusion VAE round-trip, elastic deformation, global geometric warp, resize-squeeze, color/contrast nudge, residual-phase FFT subtraction, and a JPEG chain with luma noise and bilateral filtering. Two presets (`final`, `nuke`) are exposed via `--strengths`, and each stage is PSNR-gated with automatic rollback.
V4 also introduces a cross-color phase-consensus codebook built from multiple solid-color reference images per model and resolution, per-model profiles for the named Gemini image models, and a human-in-the-loop calibration loop that updates carrier weights from manual detection feedback.
Tooling and workflow:
- Python 3.10+ project with scripts to download reference images from Hugging Face, build the V4 codebook, run batch dissolution, and calibrate from feedback.
- A sanity-check detector hook for validating outputs against the codebook consensus before manual validation.
- A fork addition providing a drag-and-drop desktop GUI for the V3 bypass, so no command line is needed after setup.
- Reference images are hosted externally to keep the git repository lightweight; contributors are invited to submit pure black/white Nano Banana Pro outputs.
The README frames the work as research-oriented, includes a round-by-round history of attempts, and links to a SynthID explainer visualizer and related papers.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.