DinoVision decoder

Built with DINOv3

This repository contains the RGB decoder weights and audited records for the DinoVision Meganeura case study. The decoder is trained on the host with Meganeura autodiff and Adam, then joined to a frozen three-layer DINOv3 ViT-S/16 encoder for Vulkan inference on Android XR.

The artifact is not a standalone Hugging Face image-to-image pipeline. Use it with DinoVision and Meganeura.

Required base model

The Meta encoder checkpoint is deliberately not duplicated here. Obtain the gated facebook/dinov3-vits16-pretrain-lvd1689m checkpoint after accepting its terms.

Item Value
Encoder checkpoint SHA-256 4610ad75edef83e75afdebf162d148dc628045ea6cbb83d67d4708c709c4f91d
Encoder depth first 3 of 12 layers
Input normalized RGB, 224 by 224
Encoder patch grid 14 by 14, 384 channels
Decoder parameters 2,012,547
Decoder output RGB, 224 by 224, sigmoid range

Selected artifact

Seed 0 is selected by a rule fixed before validation; it is not selected as the best of the three runs.

On the complete 3,925-image Imagenette validation split, three independently initialized decoders obtain:

Seeds Global PSNR (dB) Median-image PSNR (dB) Median RGB SSIM Median MAE
3 21.86 +/- 0.11 22.44 +/- 0.11 0.6406 +/- 0.0078 0.0468 +/- 0.0007

Values are the mean +/- sample standard deviation across seeds. Per-image medians are computed within each seed before aggregation. Seed-level results:

Seed Raw decoder SHA-256 SafeTensors SHA-256 Global PSNR (dB) Median RGB SSIM
0 (selected) d2b34b2133b27c253e353af574d15627f2f7cfd6c87f3130e7541f3122a7ec5c f287b5d1e4e14bed15e4883c3ea5b9f01d28e3123f3fb3308ace714e4b292123 21.7688 0.6338
1 1dbc2b99603604814e5d6f99f3a5ed765863c3e2db5012fd95d8bc87954879a6 1dcffb47b5c5ce5496286558600223f64a55512057e098c2bf0b3b9566c20700 21.9830 0.6491
2 2085a6923760c0266c4f965db2014afd7cf4b7fcbde2c203d9e399c37fe2af67 82d5178115a6251e69f72061d0ec5907c4968e89ee9f8d3fe53b32a26e9f7bfc 21.8170 0.6388

Seed 1 is the strongest validation replicate, so the preselected seed 0 was not chosen post hoc. The aggregate record is quality/summary.json (SHA-256 06d34ea8eff9d0bf50dbae467891347d7032bcd85b5080b45d381bca02ba4350). No pre-audit decoder is published.

decoder.bin is the runtime format: little-endian f32 parameters in Meganeura graph-declaration order. decoder.safetensors contains the same values as 26 named tensors and records the encoder depth, resolution, seed, base-model hash, and dataset-manifest hash. The SafeTensors conversion checks every tensor for exact round-trip equality.

Training and evaluation

Each replicate uses 2,500 class-interleaved Imagenette training images (250 from each of ten classes), 12,000 batch-8 updates, mean absolute error, and Adam with a linearly decayed learning rate from 0.002 to 0.0001 over the first 95% of updates and a 0.0001 floor thereafter. Seeds independently control parameter initialization and data order.

Evaluation processes all 3,925 images in the upstream Imagenette validation split. Every file is verified against an immutable manifest. The artifact retains per-image MSE, MAE, PSNR, and RGB SSIM (11 by 11 Gaussian window, sigma 1.5), plus aggregate distributions. Training wall time is excluded as a performance result because the interactive host was not controlled.

Captured Windows training/evaluation logs are normalized from UTF-16LE to UTF-8 for Hub display. replicates/log-normalization.json records both the original and staged byte counts and SHA-256 hashes; the decoded text is not otherwise changed.

The previous DinoVision graph misapplied DINOv3 LayerScale and is invalid. The corrected three-layer Meganeura encoder was compared with an independent Torch 2.13.0+cpu / Transformers 5.14.1 execution of the canonical checkpoint:

Depth Relative L2 CLS cosine Worst patch cosine
3 layers 0.001403 1.000000 0.999995
12 layers 0.002253 0.999997 0.999996

The selected graph also passes a fixed-frame host/Quest 3S comparison before device timing: patches are bit-identical; encoder output has relative L2 0.001059, cosine 0.99999944, and minimum token cosine 0.999973; spatial decoder input has relative L2 0.001063; and reconstruction has relative L2 0.000450 and cosine 0.99999994.

A short reproducibility cell (20 updates over 16 images, seed 20260801) was executed twice from fresh output directories. Both runs produced the same raw decoder SHA-256, 2959b06784576bb1bc495b4e0a0d2f4aeebb216d56f7fc078843df4b7ec12686. This is a deterministic-path smoke test, not an additional quality result.

File layout

  • decoder.bin, decoder.safetensors, training.json: selected seed 0.
  • replicates/: all seeded decoder weights and immutable training records.
  • quality/: per-image held-out records and generated aggregate summaries.
  • manifests/: public dataset and correctness manifests.
  • correctness/: independent-implementation and host/device numerical checks.
  • benchmarks/: raw and summarized corrected Quest measurements, when present.
  • environment/: source/revision, dependency, toolchain, and device metadata.
  • reproducibility/: the checked short deterministic replay records.

Target/reconstruction PNGs from Imagenette are not redistributed. Private headset captures are also excluded. The fixed synthetic correctness frame is public and is included with its hash.

Intended use and limitations

These weights support research reproduction of a systems case study. They are not intended for photographic restoration, surveillance, identity inference, medical use, or safety-critical perception. Reconstruction quality is evaluated on held-out photographs, not independent headset capture sessions. Worker latency is not capture-to-photon latency, and the artifact does not claim a PyTorch-on-Android speedup.

License and acknowledgment

The DinoVision source code is MIT-licensed. These learned weights are treated conservatively as DINOv3-derived and distributed under the included DINOv3-LICENSE.md. Use of the required base model and these artifacts is subject to that agreement. Research using this artifact must acknowledge DINOv3; see the canonical model card for the official citation. The included agreement is preserved byte-for-byte from the upstream DINOv3 repository; the live Meta terms should also be consulted 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}
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for mad-bot/dinovision

Paper for mad-bot/dinovision