muybridge-video-v2 / README.md
ForumCore's picture
ops: DotCheck Apache-2.0 open heads + card
e5771d0 verified
|
Raw
History Blame Contribute Delete
5.42 kB
---
language:
- en
license: apache-2.0
library_name: dotcheck
pipeline_tag: image-classification
tags:
- image-classification
- video
- ai-detection
- synthetic-media
- siglip2
- apache-2.0
- dotcheck
- muybridge
base_model: google/siglip2-base-patch16-224
base_model_relation: adapter
model-index:
- name: Muybridge (inhouse-video@2)
results:
- task:
type: image-classification
name: binary AI-likeness (video bag p90)
dataset:
name: DotCheck video holdout (bag p90; Wan2.2 AI)
type: other
split: holdout
metrics:
- name: mean_P_AI_real_bag_p90
type: mean_score_real_bag_p90
value: 0.004
- name: mean_P_AI_ai_bag_p90
type: mean_score_ai_bag_p90
value: 0.940
- name: balanced_accuracy_bag_p90
type: balanced_accuracy
value: 0.985
source:
name: video_gates_video_v2 / Data.json
url: https://dotcheck.ai/docs
---
# DotCheck/muybridge-video-v2
Apache-2.0 **video-frame** AI-likeness head for DotCheck (chronophotography person **Muybridge**). This repo includes the live .npz head, model card, license, and notices. It is **not** the product video assembly; clip eyes+ears seating is private **Covenant** (DotCheck product path).
| Field | Value |
|-------|--------|
| Hub id | `DotCheck/muybridge-video-v2` |
| Wire id | `inhouse-video@2` |
| Label | Muybridge (frames person) |
| Artifact | `siglip2_base_patch16_224_linear_head_video_v2.npz` |
| Backbone | [`google/siglip2-base-patch16-224`](https://huggingface.co/google/siglip2-base-patch16-224) (Apache-2.0) |
| Profile | `video` (same tower as Vermeer; **distinct** head) |
| Frame contract | **VS1** holdout / product **VS3** densify: edge-aware frames |
| Aggregate | **bag p90** of frame scores (public claim for this head) |
| Output (frame) | `p ∈ [0,1]` |
| Serve | CPU FastAPI image path with `profile=video`; Express samples frames |
## Model description
Frozen SigLIP2-base + video-trained linear head. Not a spatiotemporal video transformer. Soundtrack AI-likeness is a separate open head (**Helmholtz** / `inhouse-audio@2`). Product clip scores use private **Covenant** (Muybridge bag + Helmholtz windows + AU6 fuse). Do not rewrite this card’s bag-p90 table as fused-video metrics.
**Files in this repo:** `README.md`, `LICENSE`, `NOTICE`, `CITATION.cff`, and the `.npz` head file(s) listed above.
## Architecture
```text
video container
→ sample 3 frames (VS1 timestamps)
→ per-frame: resize ≤256 → SigLIP2 224 → frozen emb → video head
→ bag aggregate: p90({p_frame})
```
Missing video head at serve → `profile=video` returns **503** (no silent image-head fallback).
## 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.
```bash
curl -sS -X POST "https://dotcheck-server-c221c1f32c68.herokuapp.com/analyze-video" \
-H "Authorization: Bearer dc_YOUR_KEY" \
-F "file=@clip.mp4"
```
UI: https://dotcheck.ai/check · API: https://dotcheck.ai/api · docs: https://dotcheck.ai/docs
## Training data
| Split | Content |
|-------|---------|
| Fit AI | CogVideoX-2b + Wan2.1 (Apache-2.0), VS1 3-frame bags |
| Holdout AI | **Wan2.2-TI2V-5B Diffusers** only (`FIT_MIX_HOLDOUT=0`) |
| Real | Commons VS1 ffmpeg + ~20% thumb surface + still mix (`STILL_FRAC=0.20`) |
Evidence: `video_gates_video_v2.json` · `VIDEO_GATES_OK`. Prior `@1` bag bal **0.716** on same bags (archived).
## Evaluation
### Bag p90 (public claim SSOT)
| Metric | Target | Measured |
|--------|--------|---------:|
| mean P(AI) \| real | ≤ 0.12 | **0.004** |
| mean P(AI) \| AI | ≥ 0.85 | **0.940** |
| bal_acc @ thr | ≥ 0.90 | **0.985** |
| vs `@1` bal (same bags) | ≥ baseline | **0.985 ≥ 0.716** |
### Secondary single-frame floors (not public headline)
| Metric | Target | Measured |
|--------|--------|---------:|
| mean P(AI) \| real | ≤ 0.15 | 0.004 |
| mean P(AI) \| AI | ≥ 0.80 | 0.906 |
| separation | ≥ 0.45 | 0.902 |
| bal_acc | ≥ 0.88 | 0.955 |
## Intended use
- Frame-bag AI-likeness for short clips in DotCheck inference.
- Citation of bag-p90 table.
### Out of scope
- Product scoring SLA / Leviathan / **Covenant** seating recipe / FUP via Hub download
- Full temporal models / standalone audio deepfake courtroom forensics (see Helmholtz for audio head)
- Publishing Covenant as Apache weights (assembly stays with DotCheck)
- Legal determinations
## Limitations
- Aggregation is unordered frame p90; no explicit motion model.
- Codec / compression / unseen generators can shift scores.
- Silent clips: frames only. When a soundtrack is present, product **Covenant** fuse with Helmholtz is separate from this artifact’s bag-p90 table (see `eval/COVENANT.md` / bake-off JSON for operator protocol; fused public floats only after a commercial panel).
## License
[`LICENSE`](LICENSE) — Apache License 2.0 for DotCheck heads in this repo. Upstream backbones: see [`NOTICE`](NOTICE).
## Citation
[`CITATION.cff`](CITATION.cff) · wire `inhouse-video@2` / Muybridge@2 · https://dotcheck.ai/docs