ForumCore commited on
Commit
fc75c4c
·
verified ·
1 Parent(s): a8668fa

Mark superseded by muybridge-video-v4_4

Browse files
Files changed (1) hide show
  1. README.md +2 -140
README.md CHANGED
@@ -1,145 +1,7 @@
1
  ---
2
- language:
3
- - en
4
  license: apache-2.0
5
- library_name: dotcheck
6
- pipeline_tag: image-classification
7
- tags:
8
- - image-classification
9
- - video
10
- - ai-detection
11
- - synthetic-media
12
- - siglip2
13
- - apache-2.0
14
- - dotcheck
15
- - muybridge
16
- base_model: google/siglip2-base-patch16-224
17
- base_model_relation: adapter
18
- model-index:
19
- - name: Muybridge (inhouse-video@2)
20
- results:
21
- - task:
22
- type: image-classification
23
- name: binary AI detection (video bag p90)
24
- dataset:
25
- name: DotCheck video holdout (bag p90; Wan2.2 AI)
26
- type: other
27
- split: holdout
28
- metrics:
29
- - name: mean_P_AI_real_bag_p90
30
- type: mean_score_real_bag_p90
31
- value: 0.004
32
- - name: mean_P_AI_ai_bag_p90
33
- type: mean_score_ai_bag_p90
34
- value: 0.940
35
- - name: balanced_accuracy_bag_p90
36
- type: balanced_accuracy
37
- value: 0.985
38
- source:
39
- name: video_gates_video_v2 / Data.json
40
- url: https://dotcheck.ai/docs
41
  ---
42
 
43
- # DotCheck/muybridge-video-v2
44
 
45
- **Muybridge** is DotCheck’s open **video-frame** detector (named for chronophotography, not a product slogan). We train a frame head, aggregate bags with **p90**, and publish that bag-p90 gate.
46
-
47
- This repo is the frame head only. Product clip scores that fuse frames with audio use a private seating path (Covenant: Muybridge + Helmholtz). Do not read the bag-p90 table as a fused eyes-and-ears claim.
48
-
49
- | Field | Value |
50
- |-------|--------|
51
- | Hub id | `DotCheck/muybridge-video-v2` |
52
- | Wire id | `inhouse-video@2` |
53
- | Label | Muybridge |
54
- | Artifact | `siglip2_base_patch16_224_linear_head_video_v2.npz` |
55
- | Backbone | [`google/siglip2-base-patch16-224`](https://huggingface.co/google/siglip2-base-patch16-224) (Apache-2.0) |
56
- | Profile | `video` (same tower family as Vermeer; **distinct** head) |
57
- | Frame contract | **VS1** holdout / product **VS3** densify: edge-aware frames |
58
- | Aggregate | **bag p90** of frame scores (public claim for this head) |
59
- | Output (frame) | `p ∈ [0,1]` |
60
- | Serve | CPU FastAPI image path with `profile=video`; Express samples frames |
61
-
62
- ## Model description
63
-
64
- Frozen SigLIP2-base plus a video-trained linear head. Not a spatiotemporal video transformer. Audio is a separate open head ([Helmholtz](https://huggingface.co/DotCheck/helmholtz-audio-v3)).
65
-
66
- **In this repo:** `README.md`, `LICENSE`, `NOTICE`, `CITATION.cff`, and the `.npz` head.
67
-
68
- ## Architecture
69
-
70
- ```text
71
- video container
72
- → sample 3 frames (VS1 timestamps)
73
- → per-frame: resize ≤256 → SigLIP2 224 → frozen emb → video head
74
- → bag aggregate: p90({p_frame})
75
- ```
76
-
77
- Missing video head at serve → `profile=video` returns **503** (no silent image-head fallback).
78
-
79
- ## Inference
80
-
81
- Open weights: the live `.npz` head (Apache-2.0) with the frozen backbone above. Not `AutoModel.from_pretrained("DotCheck/…")`.
82
-
83
- Product scoring: [Check](https://dotcheck.ai/check) or [Pro API](https://dotcheck.ai/api).
84
-
85
- ```bash
86
- curl -sS -X POST "https://dotcheck-server-c221c1f32c68.herokuapp.com/analyze-video" \
87
- -H "Authorization: Bearer dc_YOUR_KEY" \
88
- -F "file=@clip.mp4"
89
- ```
90
-
91
- ## Training data
92
-
93
- | Split | Content |
94
- |-------|---------|
95
- | Fit AI | CogVideoX-2b + Wan2.1 (Apache-2.0), VS1 3-frame bags |
96
- | Holdout AI | **Wan2.2-TI2V-5B Diffusers** only (`FIT_MIX_HOLDOUT=0`) |
97
- | Real | Commons VS1 ffmpeg + ~20% thumb surface + still mix (`STILL_FRAC=0.20`) |
98
-
99
- Evidence: `video_gates_video_v2.json` · `VIDEO_GATES_OK`. Prior `@1` bag bal **0.716** on the same bags (archived).
100
-
101
- ## Evaluation
102
-
103
- ### Bag p90 (public claim SSOT)
104
-
105
- | Metric | Target | Measured |
106
- |--------|--------|---------:|
107
- | mean P(AI) \| real | ≤ 0.12 | **0.004** |
108
- | mean P(AI) \| AI | ≥ 0.85 | **0.940** |
109
- | bal_acc @ thr | ≥ 0.90 | **0.985** |
110
- | vs `@1` bal (same bags) | ≥ baseline | **0.985 ≥ 0.716** |
111
-
112
- ### Secondary single-frame floors (not the public headline)
113
-
114
- | Metric | Target | Measured |
115
- |--------|--------|---------:|
116
- | mean P(AI) \| real | ≤ 0.15 | 0.004 |
117
- | mean P(AI) \| AI | ≥ 0.80 | 0.906 |
118
- | separation | ≥ 0.45 | 0.902 |
119
- | bal_acc | ≥ 0.88 | 0.955 |
120
-
121
- ## Intended use
122
-
123
- - Frame-bag AI detection for short clips in DotCheck inference.
124
- - Citation of the bag-p90 table.
125
-
126
- ### Out of scope
127
-
128
- - Product SLA or Covenant seating recipe via Hub download
129
- - Full temporal models; standalone audio forensics (see Helmholtz)
130
- - Publishing Covenant as Apache weights
131
- - Legal determinations
132
-
133
- ## Limitations
134
-
135
- - Aggregation is unordered frame p90; no explicit motion model.
136
- - Codec, compression, and unseen generators can shift scores.
137
- - Silent clips: frames only. When a soundtrack is present, product Covenant fuse with Helmholtz is separate from this artifact’s bag-p90 table.
138
-
139
- ## License
140
-
141
- [`LICENSE`](LICENSE) — Apache License 2.0 for DotCheck heads in this repo. Upstream: [`NOTICE`](NOTICE).
142
-
143
- ## Citation
144
-
145
- [`CITATION.cff`](CITATION.cff) · wire `inhouse-video@2` / Muybridge@2 · https://dotcheck.ai/docs
 
1
  ---
 
 
2
  license: apache-2.0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  ---
4
 
5
+ # Superseded
6
 
7
+ This repository is an archive. Live weights and card are at [`DotCheck/muybridge-video-v4_4`](https://huggingface.co/DotCheck/muybridge-video-v4_4).