Downloads · 30 days
0
DotCheck/vermeer-image-v14_2
vermeer-image-v14_2 is a image classification model from DotCheck. Use it when you need a label for an image. It is set up for dotcheck. The card lists the license as apache-2.0.
[email protected] (inhouse@14) is a still-image detector. It maps one photograph to an estimate \(p \in [0,1]\) of \(P(\mathrm{AI})\) at decision threshold \(0.5\).
Downloads · 30 days
0
Access
Public
Updated Sep 6, 2026
Repo size
3 GB
Likes
1
Public
Click a slice to open those files.
.safetensors3 GB · 100%
From the Hugging Face model README
[email protected] (inhouse@14) is a still-image detector. It maps one photograph to an estimate (p \in [0,1]) of (P(\mathrm{AI})) at decision threshold (0.5).
The model is a pair stack of Niepce + Janssen: two views of the same raster, two frozen SigLIP 2 towers (the ancestor backbone), two linear heads, and a two-logit logistic combiner. It is not a single-view linear head. The previous public still repository vermeer-image-v12 remains an archive and is not overwritten by this release.
Reported numbers are class-conditional means and balanced accuracy on a fixed Layer A holdout. They are not a posterior over all generators, and they are not proof of authorship.
| Field | Value |
|---|---|
| Hub id | DotCheck/vermeer-image-v14_2 |
| Wire id | inhouse@14 |
| Public token | [email protected] |
| Combiner artifact | siglip2_base_patch16_224_linear_head_v14_2.npz |
| Transport head | siglip2_base_patch16_224_linear_head_v13_14.npz (Niepce 13.14) |
| Center head | siglip2_base_patch16_224_linear_head_v6_6.npz (Janssen 6.6) |
| Transport spine | siglip2_base_patch16_224_lora_v13_12.safetensors |
| Center spine | siglip2_base_patch16_224_lora_v6_6_vision.safetensors |
| Backbone | google/siglip2-base-patch16-224 (Apache-2.0) |
| Output | (p \in [0,1]) — estimated (P(\mathrm{AI})) |
| Serve | CPU FastAPI POST /v1/analyze-pair kind=still |
The two spines are shared with [email protected]. The still heads and the 14.2 combiner are specific to this repository.
Each still is encoded as two JPEG views (train = serve):
Images with (\min(W,H) < 224) are rejected; no center crop is invented.
The combiner is a logistic on the two logits (no extra hidden layer, no coef vector):
[ p = \sigma(w_N z_N + w_J z_J + b) ]
Locked 14.2 weights: (w = (0.7423,\ 0.5920)) (transport, center), (b = -0.25).
In this repo: README.md, LICENSE, NOTICE, CITATION.cff, the 14.2 combiner .npz, both still heads, and both spine safetensors.
raster
reject if min(W, H) < 224
transport:
if max(W, H) > 256: downscale, max side = 256, aspect kept, Lanczos3
else: native size (no upscale)
JPEG q70, no square pad
→ SigLIP 2 + LoRA 13.12 → head v13.14 (Niepce) → z_N
center:
224×224 crop at original-image center
JPEG q85
→ SigLIP 2 + LoRA 6.6 → head v6.6 (Janssen) → z_J
p = σ(0.7423 z_N + 0.5920 z_J − 0.25)
Each still is two frozen SigLIP 2 forwards (transport LoRA 13.12 and center LoRA 6.6), then the 14.2 logistic on the two logits. That is the pair stack, not a second opinion.
Open weights: the combiner .npz, still heads, and spines in this repository (Apache-2.0), used with the frozen SigLIP 2 backbone named above. This is not a transformers AutoModel package.
Product scoring: Check or Pro API. Hub storefront: see-whats-real.
Fit uses commercial-clean self-generated AI stills and a diversified mix of real photographs, with ordinary JPEG and resize stress. No non-commercial (NC) datasets.
The public evaluation set (Layer A) is disjoint from that fit:
| Class | Source | n |
|---|---|---|
| Real | Wikimedia Commons photographs | 197 |
| AI | held-out generators | 200 |
Protocol notes: eval/PAIR.md. Artifact names: PAIR_CARD_SCORES_v14_2.json, RULER_vermeer_v14_2.json.
Binary classification at threshold (0.5). Public claim = Layer A class-conditional mean (P(\mathrm{AI})) and balanced accuracy.
| Metric | n | Measured |
|---|---|---|
| mean (P(\mathrm{AI})) | real | 197 | 0.025 |
| mean (P(\mathrm{AI})) | AI | 200 | 0.983 |
| balanced accuracy | 0.9924 |
Internal diagnostic panels (25-family gold, 164 images per family; fal subset n=8) are below the public reporting floor and are not claimed here.
Out of scope: generator attribution, authorship or legal determinations, and transformers AutoModel loading.
LICENSE — Apache License 2.0 for DotCheck heads and spines in this repository. Upstream backbone: NOTICE.
CITATION.cff · [email protected] · wire inhouse@14 · https://dotcheck.ai/docs