vermeer-image-v5 / README.md
ForumCore's picture
ops: DotCheck Apache-2.0 open heads + card
92dd661 verified
|
Raw
History Blame Contribute Delete
4.76 kB
---
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.