Update Model Card
#2
by jroorda - opened
README.md
CHANGED
|
@@ -2,4 +2,246 @@
|
|
| 2 |
license: openmdw-1.1
|
| 3 |
language:
|
| 4 |
- en
|
| 5 |
-
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
license: openmdw-1.1
|
| 3 |
language:
|
| 4 |
- en
|
| 5 |
+
---
|
| 6 |
+
# Physical Plausibility Evaluator
|
| 7 |
+
|
| 8 |
+
## Model Overview
|
| 9 |
+
|
| 10 |
+
### Description or Model Summary:
|
| 11 |
+
|
| 12 |
+
The Physical Plausibility Evaluator scores video acceptability using a frozen video encoder and a trained binary
|
| 13 |
+
classifier. It supports synthetic-video quality screening without a reference video. Users can train or adapt the
|
| 14 |
+
classifier and calibrate its decision threshold for their own definition of acceptable video. The pretrained classifier
|
| 15 |
+
uses human quality labels for Cosmos-generated FineVideo samples.
|
| 16 |
+
|
| 17 |
+
This model is ready for commercial or non-commercial use.
|
| 18 |
+
|
| 19 |
+
### License/Terms of Use:
|
| 20 |
+
|
| 21 |
+
[OpenMDW-1.1][openmdw] <br>
|
| 22 |
+
|
| 23 |
+
The pinned V-JEPA source is primarily [MIT-licensed][upstream-license], with [Apache-2.0 exceptions][upstream-terms].
|
| 24 |
+
Upstream components retain their own terms; this license does not relicense the frozen backbone. <br>
|
| 25 |
+
|
| 26 |
+
V-JEPA 2.1 weights will not be bundled or redistributed with this release. The trained bundle is currently in the [Hugging Face
|
| 27 |
+
repository][weights]; it contains the classifier, normalization, calibration thresholds and provenance. <br>
|
| 28 |
+
|
| 29 |
+
### Deployment Geography:
|
| 30 |
+
|
| 31 |
+
Global. <br>
|
| 32 |
+
|
| 33 |
+
### Use Case: <br>
|
| 34 |
+
|
| 35 |
+
Developers and researchers assessing and filtering individual videos using task-specific acceptability criteria.
|
| 36 |
+
The model produces scores and decisions, not generated media. A passing decision does not certify physical correctness
|
| 37 |
+
or suitability for safety-critical use. <br>
|
| 38 |
+
|
| 39 |
+
### Release Date: <br>
|
| 40 |
+
|
| 41 |
+
Build.Nvidia.com: Not Applicable. <br>
|
| 42 |
+
GitHub: Planned 10/20/2026 via [Cosmos Evaluator][release-repository]. <br>
|
| 43 |
+
Hugging Face: Planned 10/20/2026 via [nvidia/physical-plausibility-evaluator][weights]. <br>
|
| 44 |
+
NGC: Not Applicable. <br>
|
| 45 |
+
Other: Not Applicable. <br>
|
| 46 |
+
|
| 47 |
+
## References(s):
|
| 48 |
+
|
| 49 |
+
- [V-JEPA source repository][vjepa], [pinned source license][upstream-license] and [license exceptions][upstream-terms].
|
| 50 |
+
Users obtain the frozen backbone separately under its upstream terms. <br>
|
| 51 |
+
- [FineVideo source dataset at the recorded revision][finevideo]. <br>
|
| 52 |
+
|
| 53 |
+
## Model Architecture:
|
| 54 |
+
|
| 55 |
+
**Architecture Type:** Transformer encoder with learned attention pooling and a binary linear classifier.
|
| 56 |
+
|
| 57 |
+
**Network Architecture:** Frozen V-JEPA 2.1 ViT-L/16 encoder (`vjepa2_1_vitl_dist_vitG_384.pt`), feature normalization,
|
| 58 |
+
learned attention pooling and a linear binary classifier. A sigmoid provides the bad-class score; a calibrated threshold
|
| 59 |
+
determines the decision.
|
| 60 |
+
|
| 61 |
+
**This model was developed based on:** Meta V-JEPA 2.1; encoder weights remain frozen.
|
| 62 |
+
|
| 63 |
+
**Number of model parameters:** Approximately **3.0 × 10^8** frozen encoder parameters and **2,049** trainable
|
| 64 |
+
parameters in the attention query and linear classifier.
|
| 65 |
+
|
| 66 |
+
The query pools normalized space-time tokens into a 1,024-dimensional vector; the linear head produces one bad logit.
|
| 67 |
+
Feature mean and scale are fitted on training data and then held fixed. Padding-coverage weights enter attention as a
|
| 68 |
+
multiplicative prior; fully padded tokens are excluded.
|
| 69 |
+
|
| 70 |
+
## Input(s): <br>
|
| 71 |
+
|
| 72 |
+
**Input Type(s):** Video. <br>
|
| 73 |
+
|
| 74 |
+
**Input Format(s):** <br>
|
| 75 |
+
|
| 76 |
+
- Video: .mp4 (H.264/AVC), decoded to RGB frames by FFmpeg. Other containers/codecs depend on the decoder. <br>
|
| 77 |
+
|
| 78 |
+
**Input Parameters:**
|
| 79 |
+
|
| 80 |
+
- Video: Three-Dimensional (3D): time, height and width, with three RGB channels. <br>
|
| 81 |
+
|
| 82 |
+
**Other Properties Related to Input:** Sample 64 distinct frames uniformly across the video, including both endpoints;
|
| 83 |
+
reject videos with fewer than 64 decodable frames. Resize with preserved aspect ratio, pad to 384 × 384 pixels, and
|
| 84 |
+
normalize using ImageNet channel statistics. Audio and alpha channels are not used; no reference video is required.
|
| 85 |
+
Decoded frames use 8-bit RGB. The normalized encoder input is `[batch, 3, 64, 384, 384]`; encoder tokens are
|
| 86 |
+
`[batch, 32, 24, 24, 1024]` before padding removal.
|
| 87 |
+
<br>
|
| 88 |
+
|
| 89 |
+
## Output(s)
|
| 90 |
+
|
| 91 |
+
**Output Type(s):** Numerical scores and a categorical good/bad decision. <br>
|
| 92 |
+
|
| 93 |
+
**Output Format(s):** <br>
|
| 94 |
+
|
| 95 |
+
- Numerical scores and decision: JSON from the CLI and service. <br>
|
| 96 |
+
|
| 97 |
+
**Output Parameters:**
|
| 98 |
+
|
| 99 |
+
- Numerical scores: Scalar (0D), one value per score per video. <br>
|
| 100 |
+
- Decision: One good/bad label per video. <br>
|
| 101 |
+
|
| 102 |
+
**Other Properties Related to Output:**
|
| 103 |
+
|
| 104 |
+
- `bad_logit`: Raw classifier output; larger values indicate stronger evidence for the bad class. <br>
|
| 105 |
+
- `bad_score = sigmoid(bad_logit)` and `plausibility_score = 1 - bad_score`: Scores in `[0, 1]`, not guaranteed
|
| 106 |
+
calibrated probabilities. `prediction` and `passed` record the thresholded decision. <br>
|
| 107 |
+
- The default `cap: 0.3` selects the saved logit threshold calibrated to a validation good-rejection cap of 30%. It is
|
| 108 |
+
not a score cutoff of 0.3, a maximum-accuracy setting, or a guarantee on new data. At or above the cutoff, the video
|
| 109 |
+
is rejected. <br>
|
| 110 |
+
- No spatial or temporal defect-localization output is provided. <br>
|
| 111 |
+
|
| 112 |
+
Our AI models are designed and/or optimized to run on NVIDIA GPU-accelerated systems. <br>
|
| 113 |
+
Encoder and classifier execution use PyTorch/CUDA. Decoding and resizing use CPU. <br>
|
| 114 |
+
|
| 115 |
+
## Software Integration:
|
| 116 |
+
|
| 117 |
+
**Runtime Engine(s):** PyTorch; the integration pins PyTorch 2.10.0 with CUDA 12.8. FFmpeg decodes video.
|
| 118 |
+
|
| 119 |
+
**Supported Hardware Microarchitecture Compatibility:** NVIDIA Hopper H100, the tested configuration. Other GPU
|
| 120 |
+
architectures are not certified by this card.
|
| 121 |
+
|
| 122 |
+
**Supported Operating System(s):** Linux.
|
| 123 |
+
|
| 124 |
+
The model can be integrated through the CLI or REST API. Its `.pt` bundle is loaded with `weights_only=True` and
|
| 125 |
+
schema/feature-contract validation. These integrity checks do not establish robustness or privacy.
|
| 126 |
+
|
| 127 |
+
Integration requires additional testing with use-case-specific data. Following the V-model methodology, iterative unit
|
| 128 |
+
and system validation should assess functional requirements, misuse and safety risks before deployment.
|
| 129 |
+
|
| 130 |
+
## Model Version(s):
|
| 131 |
+
|
| 132 |
+
`finevideo-attention-linear-v1`: FineVideo-trained attention query and linear classifier, with normalization and
|
| 133 |
+
calibration thresholds. The model-card
|
| 134 |
+
name remains `Physical Plausibility Evaluator`; this identifier names the existing checkpoint artifact.
|
| 135 |
+
|
| 136 |
+
No ongoing model retraining or maintenance is planned.
|
| 137 |
+
|
| 138 |
+
## Training, Testing, and Evaluation Datasets:
|
| 139 |
+
|
| 140 |
+
The dataset will not be released; the held-out FineVideo benchmark results may be shared. The following describes the
|
| 141 |
+
classifier dataset; the encoder was pretrained separately by Meta.
|
| 142 |
+
|
| 143 |
+
## Training Dataset:
|
| 144 |
+
|
| 145 |
+
### Data Modality:
|
| 146 |
+
|
| 147 |
+
Video, with human binary quality labels. Source images and captions condition video generation; the classifier does not
|
| 148 |
+
train on caption text or audio.
|
| 149 |
+
|
| 150 |
+
### Training Data Size:
|
| 151 |
+
|
| 152 |
+
**Video Training Data Size:** Less than 10,000 hours: 2,991 training videos, approximately 7.7 hours.
|
| 153 |
+
|
| 154 |
+
**Data Collection Method by dataset:** Synthetic videos generated from FineVideo frame/caption conditioning.
|
| 155 |
+
|
| 156 |
+
**Labeling Method by dataset:** Manually labeled; three quality levels mapped to binary acceptable/unacceptable labels.
|
| 157 |
+
|
| 158 |
+
**Properties:**
|
| 159 |
+
|
| 160 |
+
The dataset was generated with Cosmos 3 image-to-video, around mid-July 2026.
|
| 161 |
+
Preparation selected 5,000 unique sources from [FineVideo][finevideo] at revision
|
| 162 |
+
`84c74091e1c6ee7a5dffabfafb5c9033e4718883`, stratified by content category and dynamism. Selection applied landscape
|
| 163 |
+
resolution, age-restriction, visual-caption, temporal-coverage, audiovisual-correlation and limited text filters.
|
| 164 |
+
The second decoded frame of a timestamp-selected source clip was resized to 1280 by 720 pixels and paired with its
|
| 165 |
+
FineVideo activity description, with whitespace normalization only. Frame/caption alignment was not verified across
|
| 166 |
+
the full dataset.
|
| 167 |
+
|
| 168 |
+
One video was generated per source: 1280 by 720 pixels, 93 frames at 10 FPS (9.3 seconds).
|
| 169 |
+
Human annotators assigned three quality levels: major artifacts/nonphysical behavior; usable with minor artifacts and a
|
| 170 |
+
correctly described main event; or no artifacts. Annotation QC excluded 13 of 5,000 outputs, leaving 4,987 videos.
|
| 171 |
+
The classifier maps quality level 1 to bad (`0`, 3,491 videos) and levels 2–3 to good (`1`, 1,496 videos).
|
| 172 |
+
|
| 173 |
+
The selected classifier uses Adam with learning rate `0.003` and explicit L2 coefficients `0.001` for both query and
|
| 174 |
+
classifier weights. Training uses class-balanced binary cross-entropy; gradients update only the query and classifier.
|
| 175 |
+
User adaptation options are scratch training, warm-start fine-tuning with fixed source normalization, or threshold-only
|
| 176 |
+
calibration.
|
| 177 |
+
|
| 178 |
+
The retained inventory totals approximately 12.9 hours. Source preparation, generation, annotation and split provenance
|
| 179 |
+
are documented internally. The dataset and detailed generation settings are not publicly released.
|
| 180 |
+
No personal data was used in the selected FineVideo source frames/captions, generated videos or annotations. This
|
| 181 |
+
statement concerns the classifier dataset, not Meta's encoder pretraining; see the [privacy subcard][privacy].
|
| 182 |
+
|
| 183 |
+
### Testing Dataset:
|
| 184 |
+
|
| 185 |
+
**Data Collection Method by dataset:** Synthetic; same generation process as training.
|
| 186 |
+
|
| 187 |
+
**Labeling Method by dataset:** Manually labeled; same quality-to-binary mapping as training.
|
| 188 |
+
|
| 189 |
+
**Properties:** 998 held-out test videos from the same 4,987-video inventory. The quality-stratified 60/20/20
|
| 190 |
+
train/validation/test split uses seed `20260915` and separates identical-video groups, but does not establish
|
| 191 |
+
scene-disjointness. Test videos do not fit normalization, classifier parameters or thresholds.
|
| 192 |
+
|
| 193 |
+
### Evaluation Dataset:
|
| 194 |
+
|
| 195 |
+
**Benchmark Score:** On 998 held-out Cosmos-generated FineVideo test videos (698 bad, 300 good), the pretrained
|
| 196 |
+
classifier achieves bad-class ROC AUC **0.8258**. At the default validation good-rejection cap of **30%**, bad recall
|
| 197 |
+
is **80.52%** (562/698) and actual good-video rejection is **31.33%** (94/300). These results use the saved
|
| 198 |
+
validation-calibrated logit threshold **0.5438173**; test labels did not select the threshold.
|
| 199 |
+
|
| 200 |
+
**Data Collection Method by dataset:** Synthetic; same generation process as training.
|
| 201 |
+
|
| 202 |
+
**Labeling Method by dataset:** Manually labeled; same quality-to-binary mapping as training.
|
| 203 |
+
|
| 204 |
+
**Properties:** 998 validation videos select the classifier configuration/checkpoint by ROC AUC and calibrate
|
| 205 |
+
thresholds.
|
| 206 |
+
Final benchmark evaluation uses the separate 998 test videos described above. Metrics are bad-class ROC AUC, bad recall
|
| 207 |
+
and good-video rejection; a validation rejection cap is not a guarantee on test data.
|
| 208 |
+
|
| 209 |
+
## Inference:
|
| 210 |
+
|
| 211 |
+
**Acceleration Engine:** PyTorch with CUDA. This release does not provide a TensorRT or TensorRT-LLM engine.
|
| 212 |
+
|
| 213 |
+
**Test Hardware Set-Up:** NVIDIA Hopper H100.
|
| 214 |
+
|
| 215 |
+
Encoder inference uses BF16 autocast with FP32 weights; cached tokens use FP16. Feature normalization, attention pooling
|
| 216 |
+
and classification use FP32. GPU memory requirements depend on batch size and retained tokens.
|
| 217 |
+
|
| 218 |
+
## Ethical Considerations:
|
| 219 |
+
|
| 220 |
+
NVIDIA believes Trustworthy AI is a shared responsibility and has established policies and practices for a wide array
|
| 221 |
+
of AI applications. Developers should work with their model team to ensure the model meets relevant industry and
|
| 222 |
+
use-case requirements and addresses unforeseen misuse.
|
| 223 |
+
|
| 224 |
+
Ensure you have proper rights and permissions for all input video content, including content involving people, personal
|
| 225 |
+
health information or intellectual property. This classifier produces scores and decisions; it does not generate or
|
| 226 |
+
anonymize media.
|
| 227 |
+
|
| 228 |
+
Users are responsible for model inputs and outputs and for safe integration, including appropriate review and safety
|
| 229 |
+
mechanisms before deployment. A passing score does not certify physical correctness and must not be the sole basis for
|
| 230 |
+
safety-critical decisions. See the [bias][bias], [explainability][explainability], [privacy][privacy] and
|
| 231 |
+
[safety/security][safety] subcards for limitations.
|
| 232 |
+
|
| 233 |
+
Please report model quality, risk, security vulnerabilities or NVIDIA AI Concerns
|
| 234 |
+
[here](https://www.nvidia.com/en-us/support/submit-security-vulnerability/).
|
| 235 |
+
|
| 236 |
+
[openmdw]: https://openmdw.ai/license/1-1/
|
| 237 |
+
[weights]: https://huggingface.co/nvidia/physical-plausibility-evaluator
|
| 238 |
+
[vjepa]: https://github.com/facebookresearch/vjepa2
|
| 239 |
+
[upstream-license]: https://github.com/facebookresearch/vjepa2/blob/204698b45b3712590f06245fbfba32d3be539812/LICENSE
|
| 240 |
+
[upstream-terms]: https://github.com/facebookresearch/vjepa2/blob/204698b45b3712590f06245fbfba32d3be539812/README.md#license
|
| 241 |
+
[bias]: physical_plausibility_evaluator_subcards/bias.md
|
| 242 |
+
[explainability]: physical_plausibility_evaluator_subcards/explainability.md
|
| 243 |
+
[privacy]: physical_plausibility_evaluator_subcards/privacy.md
|
| 244 |
+
[safety]: physical_plausibility_evaluator_subcards/safety_security.md
|
| 245 |
+
[release-repository]: https://github.com/nvidia-cosmos/cosmos-evaluator
|
| 246 |
+
|
| 247 |
+
[finevideo]: https://huggingface.co/datasets/HuggingFaceFV/finevideo/tree/84c74091e1c6ee7a5dffabfafb5c9033e4718883
|