| --- |
| language: |
| - en |
| license: apache-2.0 |
| library_name: dotcheck |
| pipeline_tag: image-classification |
| tags: |
| - image-classification |
| - ai-detection |
| - synthetic-media |
| - siglip2 |
| - apache-2.0 |
| - dotcheck |
| - vermeer |
| base_model: google/siglip2-base-patch16-224 |
| base_model_relation: adapter |
| model-index: |
| - name: Vermeer (inhouse@5) |
| results: |
| - task: |
| type: image-classification |
| name: binary AI-likeness (image) |
| dataset: |
| name: DotCheck image holdout (Commons/wiki reals vs Kandinsky 2.2 AI) |
| type: other |
| split: holdout |
| metrics: |
| - name: mean_P_AI_real |
| type: mean_score_real |
| value: 0.018 |
| - name: mean_P_AI_ai |
| type: mean_score_ai |
| value: 0.988 |
| - name: balanced_accuracy |
| type: balanced_accuracy |
| value: 0.9875 |
| source: |
| name: quality_gates_v5 / Data.json |
| url: https://dotcheck.ai/docs |
| --- |
| |
| # 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. |
|
|
| | Field | Value | |
| |-------|--------| |
| | Hub id | `DotCheck/vermeer-image-v5` | |
| | Wire id | `inhouse@5` | |
| | Label | Vermeer | |
| | Artifact | `siglip2_base_patch16_224_linear_head_v5.npz` | |
| | Backbone | [`google/siglip2-base-patch16-224`](https://huggingface.co/google/siglip2-base-patch16-224) (Apache-2.0) | |
| | Head | trained linear / logistic on frozen SigLIP2 embeddings | |
| | Output | `p ∈ [0,1]` — P(AI-like); higher ⇒ more AI-like | |
| | Serve | CPU FastAPI (`POST /v1/analyze-image`); public clients → Express | |
| | Encode | client 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 |
|
|
| | Split | Content | |
| |-------|---------| |
| | Fit AI | Commercial-clean self-gen (SD family); no NC / GenImage / CIFAKE / CommunityForensics* | |
| | Fit real | Diversified Commons / Picsum + JPEG/size stress | |
| | Holdout AI | **Kandinsky 2.2** (generator family withheld from fit) | |
| | Holdout real | Wiki / Commons-style reals (~200 / class in gate protocol) | |
|
|
| Evidence: `eval/results/quality_gates_v5.json` · `IMAGE_GATES_OK`. |
|
|
| ## Evaluation |
|
|
| | Metric | Target | Measured | |
| |--------|--------|---------:| |
| | mean P(AI) \| real | ≤ 0.12 | **0.018** | |
| | mean P(AI) \| AI | ≥ 0.88 | **0.988** | |
| | separation (AI−real) | ≥ 0.55 | **0.970** | |
| | bal_acc @ thr | ≥ 0.92 | **0.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`](LICENSE) — Apache License 2.0 for DotCheck heads in this repo. Upstream backbones: see [`NOTICE`](NOTICE). |
| |
| ## Citation |
| |
| [`CITATION.cff`](CITATION.cff). Prefer wire `inhouse@5` / label Vermeer@5 + https://dotcheck.ai/docs. |
| |