mirror of
https://github.com/aloshdenny/reverse-SynthID.git
synced 2026-08-09 07:26:03 +02:00
61 lines
2.4 KiB
Markdown
61 lines
2.4 KiB
Markdown
# SynthID Cleaner (GUI)
|
|
|
|
A drag and drop desktop app built on this repo's V3 spectral bypass
|
|
(`src/extraction/synthid_bypass.py`). Made for removing the SynthID
|
|
watermark left over after using generative AI to restore old photographs,
|
|
though it works on any Gemini generated image.
|
|
|
|
## Setup (one time only)
|
|
|
|
Double click `Launch SynthID Cleaner.command`. On first run it creates a
|
|
virtual environment and installs everything it needs automatically. This
|
|
takes a minute or two depending on your connection.
|
|
|
|
If you would rather do it by hand from the terminal:
|
|
|
|
```bash
|
|
cd gui
|
|
python3 -m venv venv
|
|
source venv/bin/activate
|
|
pip install -r requirements-gui.txt
|
|
```
|
|
|
|
## Using it
|
|
|
|
1. Double click `Launch SynthID Cleaner.command`. A small window opens.
|
|
2. Drag your images into the box, or click the box to pick files from a
|
|
dialog instead.
|
|
3. Pick a strength from the dropdown: gentle, moderate, aggressive, or
|
|
maximum. Aggressive is the default and works well for most photos.
|
|
4. Leave "Strip EXIF/XMP/IPTC metadata" checked if you also want camera and
|
|
software tags, plus any AI provenance metadata, removed from the output
|
|
files.
|
|
5. Set the output folder in the "Save to" field. It defaults to a
|
|
synthid-cleaned folder on your Desktop.
|
|
6. Watch the status line at the bottom while it works. For each image it
|
|
reports whether a watermark was found and removed, or whether the image
|
|
was already clean and left untouched.
|
|
|
|
Each output file keeps the original name with `_clean` added, so
|
|
`photo.png` becomes `photo_clean.png` in the output folder.
|
|
|
|
## What it actually does
|
|
|
|
Every image is checked first with this repo's `RobustSynthIDExtractor`.
|
|
Only images where a watermark is actually detected go through the spectral
|
|
bypass. Images with no detectable watermark are copied through unchanged
|
|
instead, so the tool cannot accidentally stamp a watermark shaped pattern
|
|
onto a photo that never had one.
|
|
|
|
Everything runs locally: no network calls, no telemetry. It uses the V3
|
|
pipeline only (numpy, scipy, opencv, PyWavelets, scikit-learn), so no
|
|
PyTorch install or GPU is required.
|
|
|
|
## Notes
|
|
|
|
- Codebooks are read straight from this repo: `../artifacts/spectral_codebook_v3.npz`
|
|
for the bypass, `../artifacts/codebook/robust_codebook.pkl` for detection.
|
|
Nothing extra to download.
|
|
- Subject to this repo's [LICENSE](../LICENSE): non commercial use, with
|
|
required attribution to the original author.
|