Balanced 14,000 real / 14,000 AI; 85/15 train/val split; images resized to 224×224.
Results
In-distribution: 98.5% accuracy / 0.985 macro-F1 (98% real recall, 99% AI
recall), n=4,200, 3 epochs.
Out-of-distribution testing revealed an asymmetric generalization
profile — both classes have a genuine strength, with one narrow gap:
Probe
Class
Condition
Result
Provenance
AIGC-Detection-Benchmark, standard (n=900, 17 gen.)
AI
full/variable native res, no resize trick
94.0% recall
recovered chat transcript
AIGC-Detection-Benchmark, standard (n=900, 17 gen.)
real
full/variable native res, no resize trick
8.0% recall
recovered chat transcript
Tiny-ImageNet valid, held-out (n=200)
real
native 64×64
97.0% recall
saved classification report
AIGC-Detection-Benchmark, forced to 64×64 (n=900)
AI
forced downscale-then-upscale
68.0% recall
saved classification report
AIGC-Detection-Benchmark, forced to 64×64 (n=900)
real
forced downscale-then-upscale
36.0% recall
saved classification report
AI-image detection already generalizes well to full-resolution external
images (94.0% recall, no resize trick needed).Real-image detection
performs extremely well within its native 64×64 resolution domain (97.0%
recall on a held-out split never seen in training) — essentially matching
in-distribution performance. The gap is narrow: that native-resolution
strength doesn't yet extend to full-resolution photos (8.0%). Forcing inputs
to 64×64 before inference is not a fix: it partially helps real
(8.0%→36.0%) but hurts AI (94.0%→68.0%), a net loss. Full methodology,
mechanism, and per-generator breakdown: see report.pdf in this repo, or the
technical report on GitHub.
Training curves
Confusion matrix, in-distribution validation
Limitations & intended use
Real-image detection does not generalize to full-resolution photos
(8.0% recall) — the central limitation. Works well on natively low-res real
photos (97.0%), not on full-resolution ones. Traces to the real-image
training source (Tiny-ImageNet) being natively 64×64 — not an architectural
flaw, since the AI branch does not show the same failure. See report.pdf §6.
Do not force inputs to 64×64 before inference as a workaround — it
trades a partial real-recall gain (8.0%→36.0%) for a larger AI-recall loss
(94.0%→68.0%), net negative.
One data point (8.0% real / 94.0% AI recall) is recovered from a
preserved chat transcript, not the notebook's saved output — the
evaluation cell was edited in place to produce the forced-resize version,
overwriting the original run's output. See report.pdf §5.1/§7.
Distribution note: real and AI images came from different source
datasets, so in-distribution numbers may be optimistic.
Cross-generator generalization has not been properly validated — an
intended train/test generator exclusion in the OOD benchmark code was not
actually enforced (see report.pdf §5.3). Treat any apparent generalization
in this report as provisional.
Intended for research / educational use in synthetic-media detection, not as
a sole authority for high-stakes decisions.