DinoVision decoder
Built with DINOv3
This repository distributes the decoder weights and audited evidence for DinoVision, a train-to-deploy case study for Meganeura. Meganeura trains the RGB decoder on an NVIDIA Vulkan host; the same decoder definition and parameters then run beside a frozen DINOv3 encoder in a Blade/OpenXR application on a Quest 3S.
This is an artifact repository, not a standalone Hugging Face pipeline. The GitHub repository owns source and developer instructions. Its paper-facing report owns interpretation. This card indexes the weights, exact provenance, and machine-readable evidence without copying the report.
Qualitative headset capture
- Prompt
- Quest 3S live reconstruction capture (39 seconds)

- Prompt
- Quest 3S reconstruction screenshot 1

- Prompt
- Quest 3S reconstruction screenshot 2

- Prompt
- Quest 3S reconstruction screenshot 3
These Meta Quest 3S casting captures show the live reconstruction output. They
are qualitative project media, not additional benchmark observations or
capture-to-photon evidence. File metadata and hashes are recorded in
media/metadata.json.
The quantitative artifact and its unchanged ARTIFACT_MANIFEST.json are
frozen at evidence-v1.
The media above was added afterward and is intentionally outside that manifest.
Required base model
The gated encoder is deliberately not redistributed. Obtain
facebook/dinov3-vits16-pretrain-lvd1689m
after accepting Meta's terms.
| Property | Value |
|---|---|
| Encoder checkpoint SHA-256 | 4610ad75edef83e75afdebf162d148dc628045ea6cbb83d67d4708c709c4f91d |
| Encoder used by DinoVision | first 3 of 12 ViT-S/16 layers |
| Input / output | normalized RGB 224 x 224 / sigmoid RGB 224 x 224 |
| Patch representation | 14 x 14 x 384 |
| Decoder parameters | 2,012,547 |
Selected weights
Seed 0 was selected for deployment before validation; it was not chosen as the best of the three runs.
| File | SHA-256 | Purpose |
|---|---|---|
decoder.bin |
dcc2b9560fbe0d59869ea2e37d900c1b72dbf01631b5869fd0bae6ca16dff846 |
little-endian f32 runtime parameters in graph declaration order |
decoder.safetensors |
ead276f10ad69f417ebe0002152f4853889ac7c70c37251b43c34a3f7462b262 |
the same values as 26 named tensors with provenance metadata |
The SafeTensors conversion verifies exact byte reconstruction of the runtime
format. Replicate weights are under replicates/; the generated held-out
summary is quality/summary.md, with all 3,925 per-image
records retained for each seed.
Training cell
Each replicate uses the same class-interleaved 2,500-image subset of the Imagenette training split, 12,000 batch-eight updates, mean absolute error, and Adam with a linear learning-rate decay from 0.002 to a 0.0001 floor. Seeds independently control initialization and data order. Evaluation covers the complete upstream 3,925-image validation split and records MSE, MAE, PSNR, and RGB SSIM per image.
Training wall time is excluded from performance claims because the host was
interactive and experienced recorded suspensions. run-notes.json preserves
that disposition for each replicate.
Evidence map
| Path | Evidence |
|---|---|
quality/ |
per-seed held-out records and independently generated aggregate |
manifests/ |
immutable dataset and fixed-frame manifests plus summaries |
correctness/reference/ |
Torch/Transformers tensors and Meganeura stage-by-stage comparisons |
correctness/host-quest/ |
fixed-frame RTX/Adreno tensor comparisons |
benchmarks/isolated/ |
three-process synchronized Quest samples and state metadata |
benchmarks/live-xr/ |
live-worn submission-chunk records and co-tenancy summary |
environment/ |
source revisions, exact training snapshot, Cargo resolution, toolchains, and checked Android build |
reproducibility/ |
short byte-identical seeded replay records |
ARTIFACT_MANIFEST.json hashes every payload. The repository's validator
recomputes aggregate distributions from raw records, binds device binaries to
the checked Android build, checks state and protocol invariants, verifies all
source/weight hashes, and rejects unrecognized model or image payloads.
Dataset photographs, private headset captures, the gated DINOv3 checkpoint, and host/device identifiers are not included. The one public correctness frame is synthetic and hash-bound.
Intended use and limitations
These weights support reproduction of a systems case study. They are not intended for photographic restoration, surveillance, identity inference, medical use, or safety-critical perception. Quality is measured on held-out photographs rather than independent headset sessions. Device worker latency is not capture-to-photon latency, and the artifact establishes no PyTorch-on-Android speedup or on-device training result.
License and acknowledgment
DinoVision source is MIT-licensed. The decoder weights are treated
conservatively as DINOv3-derived and distributed under the included
DINOv3-LICENSE.md; see NOTICE.md. Use of the required base model and these
weights is subject to that agreement. Research using this artifact must
acknowledge DINOv3 and should consult the live Meta terms because they may be
amended.
@misc{simeoni2025dinov3,
title = {{DINOv3}},
author = {Sim{\'e}oni, Oriane and Vo, Huy V. and Seitzer, Maximilian and others},
year = {2025},
eprint = {2508.10104},
archivePrefix = {arXiv},
primaryClass = {cs.CV},
url = {https://arxiv.org/abs/2508.10104}
}
Model tree for mad-bot/dinovision
Base model
facebook/dinov3-vit7b16-pretrain-lvd1689m