Team Ai
Modelpublic

DotCheck/vermeer-image-v5

sourceHugging Faceapache-2.0updated 3mo agoView on Hugging Face
0likes
Model Card

DotCheck/vermeer-image-v5

Apache-2.0 image AI-likeness head for DotCheck. This repo includes the live .npz head, model card, license, and notices.

FieldValue
Hub idDotCheck/vermeer-image-v5
Wire idinhouse@5
LabelVermeer
Artifactsiglip2_base_patch16_224_linear_head_v5.npz
Backbone`google/siglip2-base-patch16-224` (Apache-2.0)
Headtrained linear / logistic on frozen SigLIP2 embeddings
Outputp ∈ [0,1] — P(AI-like); higher ⇒ more AI-like
ServeCPU FastAPI (POST /v1/analyze-image); public clients → Express
Encodeclient transport max side 256; processor → 224

Model description

Frozen SigLIP2-base vision tower + DotCheck head (*.npz). No fine-tune of the backbone in the served stack. This card documents the production image engine; prior CLIP ViT-B/32 @5 is archived and not loaded.

Files in this repo: README.md, LICENSE, NOTICE, CITATION.cff, and the .npz head file(s) listed above.

Architecture

text
JPEG/PNG bytes
  → resize (max side 256 at product edge)
  → AutoProcessor / SigLIP2 encode (224)
  → frozen embedding
  → linear/logistic head (npz)
  → p_AI

Shared SigLIP2 process with video (inhouse-video@2); separate head artifact.

Inference

Open weights: the live .npz head(s) in this repo (Apache-2.0), for use with the frozen upstream backbone named above. This is not a transformers AutoModel.from_pretrained("DotCheck/…") package.

Product scoring: Check or Pro API (below). Leviathan (shared memory and related product path) is not in these files.

HTTP (Pro API key dc_…; create in product Dashboard):

bash
curl -sS -X POST "https://dotcheck-server-c221c1f32c68.herokuapp.com/analyze-image" \
  -H "Authorization: Bearer dc_YOUR_KEY" \
  -F "file=@photo.jpg"

Guest UI: https://dotcheck.ai/check · contract: https://dotcheck.ai/api · gates PDF/tables: https://dotcheck.ai/docs

Response includes wire engine (inhouse@5) and engine_label (Vermeer).

Training data

SplitContent
Fit AICommercial-clean self-gen (SD family); no NC / GenImage / CIFAKE / CommunityForensics*
Fit realDiversified Commons / Picsum + JPEG/size stress
Holdout AIKandinsky 2.2 (generator family withheld from fit)
Holdout realWiki / Commons-style reals (~200 / class in gate protocol)

Evidence: eval/results/quality_gates_v5.json · IMAGE_GATES_OK.

Evaluation

MetricTargetMeasured
mean P(AI) \real≤ 0.120.018
mean P(AI) \AI≥ 0.880.988
separation (AI−real)≥ 0.550.970
bal_acc @ thr≥ 0.920.9875

SSOT floats: repo Data.json / MODEL-CHOICE.md. Do not cite eval/candidates.yaml (stale).

Intended use

  • —Binary AI-likeness scoring for still images in DotCheck inference.
  • —Reproducible citation of the holdout table above.

Out of scope

  • —Product scoring SLA / Leviathan / FUP via Hub download
  • —Generator identification / provenance (optional Pro vendor confirm is a separate path)
  • —Legal determinations of authorship

Limitations

  • —Domain shift: heavy recompression, novel generators, adversarial edits.
  • —Score = likeliness under this model, not a calibrated posterior over all generators.
  • —Closed commercial gens not in holdout may differ; not measured here.

License

`LICENSE` — Apache License 2.0 for DotCheck heads in this repo. Upstream backbones: see `NOTICE`.

Citation

`CITATION.cff`. Prefer wire inhouse@5 / label Vermeer@5 + https://dotcheck.ai/docs.