Training a detector to read AI image fingerprints

TikTok TechJam 2026 · Track 5 · DINOv3 ViT-L

The budget is two billion parameters. We used 302 million: DINOv3 ViT-L, fully fine-tuned, with a global head for the page-level verdict and a local head for a 32×32 patch map.

Training is public data only, 2.58 million images, comprising AI generated images from different generator architectures — ranging from older GANs to frontier diffusion models. Analyze runs the checkpoint on an image you bring.

Same board with the 32 by 32 patch heatmap, scored P(AI) 0.960
Original diner specials board, no overlay
photoheatmap
P(AI) 0.960 · 32×32 patch grid · threshold 0.5 · drag to compare
Backbone
DINOv3 ViT-L/16
full continuation fine-tuning
Parameters
302M
15% of the 2B budget
Input
512 × 512
32 × 32 patch grid
Output
Verdict + heatmap
global head + per-patch local head

Architecture

The DINOv3 ViT-L/16 backbone is fine-tuned not just for image classification but also with patch-level supervision.

We put a heatmap on every result so the verdict is not a black box: it shows which patches the model treats as generated.

input
image · any size
upscaled to 512px when smaller — every image gets a verdict
(3, 512, 512) · ImageNet norm
backbone
DINOv3 ViT-L/16
24 transformer blocks · ~300M params · full continuation fine-tuning (layer-wise LR decay 0.8)
CLS token
global head
MLP · page-level
sigmoid
P(AI)
0.987
one logit per image
patch tokens ×1024
local head
linear · per patch
sigmoid ×1024
32×32 probability grid
01
one probability per patch — warm cells mark generated regions
output
verdict
P(AI) ≥ 0.5 → AI
heatmap
grid upsampled · turbo overlay

Held-out numbers

These are Seer's own held-out scores from various community datasets. The NTIRE 2026 open-test leaderboard sits under the table so the public-test AUROC can be read next to the published entries.

NTIRE 2026 open test

The open-test leaderboard of the NTIRE 2026 Challenge on Robust AI-Generated Image Detection in the Wild, held at CVPR 2026. ROC AUC and robust ROC AUC, from Table 3 of the NTIRE 2026 report. The published entries are 7B models; Seer is 302M and still third on robust AUROC — state of the art at this scale.

MethodParamsROC AUCRob. ROC AUC
MICV7B0.99780.9738
Ant International7B0.99730.9731
Seer (ours)302M0.96770.9228
TeleAI-TeleGuard7B0.97620.9215
INTSIG7B0.98100.9090
vincentlc7B0.94970.8633
UESTC7B0.96930.8558
Reagvis Labs7B0.94230.8474
PSU7B0.91320.8334
Shallow Real7B0.99540.8302

Published scores from Table 3 of Gushchin et al., NTIRE 2026 Challenge on Robust AI-Generated Image Detection in the Wild

Held-out breakdowns

Where the misses live — by family, generator, and source.

The mixture

Ten public sources, weighted by measured difficulty. 2.58 million usable images: 1.70 million fake and 875 thousand real. We open a source for what is in it and how to fetch it. Weights decide draw probability, not disk usage.

usable by the mix: 2,576,437 images — 1,701,288 fake · 875,149 real.

What we trained with

The tools, models, libraries, and data that produced the numbers above. Only the parts that shaped the result.

Environment

RunPod1× H100 SXM

40 hours of training on 16 vCPU (Xeon Platinum 8462Y+), 251 GB RAM, 30 GB container disk, and a 2 TB network volume at /workspace holding the 2.5M-image mixture.