Spaces:
Sleeping
Download benchmark/README.md from SMSD75/SynthScope: direct link, hf CLI and curl.
- Browser
- Download file 4.25 kB
-
https://huggingface.co/spaces/SMSD75/SynthScope/resolve/main/benchmark/README.md
- Command line
-
hf download hf://spaces/SMSD75/SynthScope/benchmark/README.md
-
curl -L -o README.md https://huggingface.co/spaces/SMSD75/SynthScope/resolve/main/benchmark/README.md
SynthScope Benchmark & Leaderboard (v1)
Looking for the full setup guide (datasets, paper reproduction, generator benchmarks, run times)? See
docs/BENCHMARKS.md. This page covers the standardized, versioned submission track.
A standardized, versioned evaluation protocol for AI-generated image & video detection, so that
methods are comparable under identical data, metrics, and scoring. The leaderboard is generated
from the submission files in submissions/ — see LEADERBOARD.md.
Why: every detection paper ships its own repo, data format, and metric conventions, which makes cross-method comparison unreliable. SynthScope fixes the protocol once and evaluates every detector through the same pipeline.
Tracks (v1)
| Track id | Modality | Test set | Train signal | Primary metric |
|---|---|---|---|---|
forensynths |
image | ForenSynths real/fake, scored per generator | ProGAN-trained (cross-generator generalization) | mAP (mean AP over generators) |
genimage-sdv1.4 |
image | GenImage SD-v1.4 real/fake | in-distribution diffusion | AUROC |
genvideo-val |
video | GenVideo validation split | mixed | AP |
These three tracks are only the start. The repo supports 13 image and 8 video benchmark datasets (see the table in the
README), and the web page's Leaderboard tab already compares detectors on 30+ benchmark groups.
A dataset becomes a standardized track once its protocol (test set, grouping, metric) is fixed, so results stay comparable;
adding one means a schema entry, an evaluate.py track and verified submissions, described in
docs/BENCHMARKS.md. The datasets themselves download and organize themselves.
Metrics are reported in %. mAP = mean Average Precision over generators; AUROC/AP use the
detector's native fake-probability; Acc = mean balanced accuracy (mean of real- and fake-accuracy)
over generators at threshold 0.5.
Protocol rules
- No test-set training or tuning. Thresholds/calibration must be fixed before evaluation.
- Report per generator, then average. A track's headline number is the unweighted mean over generators (not a pooled number), which measures generalization rather than rewarding a few large generators.
- Declare provenance via
evaluation:official-weights,from-scratch,frozen-probe,training-free, orexternal(numbers produced outside SynthScope). - Verified numbers trace to a run.
verified: truemeans the result came from a logged SynthScope evaluation (setsourceto the log/run path). Reference seed entries are transcribed from the repo's reproduction table.
Data layout
The evaluator expects the SynthScope common layout — one directory per generator, each split into
real/ and fake/:
<benchmark_root>/
<generator_a>/real/*.png <generator_a>/fake/*.png
<generator_b>/real/*.png <generator_b>/fake/*.png
A single pooled set is just one generator directory (or <root>/real, <root>/fake).
Evaluate a detector and produce a submission
python benchmark/evaluate.py \
--model fat_former --track forensynths \
--data /path/to/forensynths_test \
--out benchmark/submissions/fat_former.json
This loads the detector via the synthscope API, scores every image (batched), computes per-generator +
mean metrics, and writes a schema-valid submission JSON. Then regenerate the table:
python benchmark/leaderboard.py # writes LEADERBOARD.md
python benchmark/leaderboard.py --check # CI: fail if LEADERBOARD.md is stale or a submission is invalid
Submit a result (PR)
- Add one JSON file under
submissions/(seeschema.jsonand existing entries). - Run
python benchmark/leaderboard.pyand commit the updatedLEADERBOARD.md. - Open a PR. CI validates your submission and that the table is up to date. Prefer
verifiedresults produced byevaluate.py; forexternalnumbers, link the source.
Versioning: this is v1. Protocol-breaking changes bump to v2 and start a new leaderboard so old numbers stay meaningful.