OpenSynthID Detect v0.1
A surrogate model attempting to replicate Google's SynthID image watermark detection. This binary classifier predicts whether an image contains a SynthID watermark.
You can read more about the research here.
Model Details
- Architecture: ResNet-34 backbone, modified for 6-channel input
- Input: Image (automatically resized to 512px)
- Output: Watermark probability (0.0 = clean, 1.0 = watermarked)
- Threshold: 0.5 (Needs more testing and adjustements)
Input Channels
The model uses 6 input channels derived from the image:
- RGB image (3 channels)
- Wavelet-denoise residual (grayscale, 1 channel)
- FFT log-magnitude (1 channel)
- Carrier frequency mask (1 channel)
Usage
pip install -r requirements.txt
python infer.py --checkpoint model.pt --image path/to/image.png --size 512
Options
| Flag | Description |
|---|---|
--checkpoint |
Path to .pt checkpoint (required) |
--image |
Path to input image (required) |
--size |
Resize target, default 512 |
--no-fft |
Disable FFT channel |
--no-carrier-mask |
Disable carrier mask channel |
Limitations
- This is an independent reverse-engineering effort and is not an official Google product.
- Detection accuracy may differ significantly from the real SynthID detector.
- Only tested on images generated by Google's image generation models that use SynthID.
Disclaimer
This model is intended for research purposes only. It is not affiliated with or endorsed by Google.