Bavantha11 commited on
Commit
aeddd9e
Β·
verified Β·
1 Parent(s): a445bf6

Upload README.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. README.md +117 -0
README.md ADDED
@@ -0,0 +1,117 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: other
3
+ license_name: dinov3-license
4
+ license_link: https://ai.meta.com/resources/models-and-libraries/dinov3-license/
5
+ tags:
6
+ - depth-estimation
7
+ - semantic-segmentation
8
+ - onnx
9
+ - robotics
10
+ - ros2
11
+ - jetson
12
+ - dinov3
13
+ library_name: onnx
14
+ pipeline_tag: depth-estimation
15
+ ---
16
+
17
+ # M2H-MX ONNX weights β€” monocular depth + semantics
18
+
19
+ Exported ONNX weights for the two **M2H-MX** networks used by
20
+ [`vio_stack_jetson`](https://github.com/BavanthaU/vio_stack_jetson), a monocular
21
+ VIO stack running on a Jetson Orin with a ZED X One GS camera.
22
+
23
+ Both networks take a single RGB frame and produce **metric depth** and
24
+ **per-pixel semantic labels** in one pass. Both publish the same two ROS 2
25
+ topics, so they are swappable at runtime:
26
+
27
+ ```
28
+ /m2h/depth/image 32FC1 metric depth
29
+ /m2h/semantic/labels_argmax mono8 class IDs
30
+ ```
31
+
32
+ **Built with DINOv3.**
33
+
34
+ ## Files
35
+
36
+ The layout mirrors the ROS packages that consume these files, so a manifest line
37
+ maps to a path with no translation:
38
+
39
+ | File | Size | Notes |
40
+ |---|---|---|
41
+ | `m2h_mx_base_onnx_ros/models/scannet/m2h_mx_b_scannet_240x320.onnx` | 421 MB | base network, default |
42
+ | `m2h_mx_base_onnx_ros/models/scannet/m2h_mx_b_scannet_480x640.onnx` | 422 MB | base network, full res |
43
+ | `m2h_mx_base_onnx_ros/models/nyudv2/m2h_mx_b_nyudv2_240x320.onnx` | 494 MB | NYUDv2-trained variant |
44
+ | `m2h_mx_base_onnx_ros/models/nyudv2/m2h_mx_b_nyudv2_480x640.onnx` | 496 MB | NYUDv2-trained variant |
45
+ | `m2h_mx_large_onnx/onnx_models/scannet_depth_sem_192x256_trt_clean.onnx` | 1.26 GB | large network, default |
46
+ | `m2h_mx_large_onnx/onnx_models/scannet_depth_sem_320x416.onnx` | 1.26 GB | large network, higher res |
47
+
48
+ `MANIFEST.sha256` in each package directory lists the expected SHA256 of every
49
+ file. Verify after downloading β€” a network running on the wrong weights produces
50
+ plausible-looking depth rather than an error, which is much harder to notice than
51
+ a refusal to start.
52
+
53
+ ## Usage
54
+
55
+ ```bash
56
+ git clone https://github.com/BavanthaU/vio_stack_jetson
57
+ cd vio_stack_jetson
58
+ ./tools/fetch_weights.sh # pulls these files and verifies every sum
59
+ ```
60
+
61
+ Or directly:
62
+
63
+ ```python
64
+ from huggingface_hub import snapshot_download
65
+ snapshot_download(repo_id="Bavantha11/vio-stack-jetson-weights", repo_type="model")
66
+ ```
67
+
68
+ ## Measured on the rig
69
+
70
+ Jetson Orin, JetPack r36.5, ONNX Runtime with the TensorRT execution provider:
71
+
72
+ | Network | Resolution | Latency | Rate |
73
+ |---|---|---|---|
74
+ | base | 240x320 | ~130 ms/frame | ~6.9 Hz |
75
+ | large | 192x256 | ~155 ms/frame | β€” |
76
+
77
+ The first run at any resolution builds a TensorRT engine β€” minutes, once, cached
78
+ per machine. The engines are **not** portable across machines or driver versions
79
+ and are deliberately not published here.
80
+
81
+ Depth is not fed back into the VIO filter by default; it runs alongside it.
82
+
83
+ ## Architecture
84
+
85
+ - **Backbone:** DINOv3 ViT-B/16 (`dinov3-vitb16-pretrain-lvd1689m`)
86
+ - **Heads:** two β€” semantic segmentation (40 classes) and metric depth
87
+ - **Opset:** 17, static shapes
88
+ - **Training data:** ScanNet, NYUDv2
89
+
90
+ ## Licensing β€” read before use
91
+
92
+ These weights combine inputs with different terms. The most restrictive one
93
+ governs the result.
94
+
95
+ **DINOv3 backbone** β€” [DINOv3 License](https://ai.meta.com/resources/models-and-libraries/dinov3-license/),
96
+ included here as `DINOv3_LICENSE.md`. It permits commercial use, modification and
97
+ redistribution of derivative works, and asks in return that redistributions carry
98
+ a copy of the licence and display "Built with DINOv3". Both are satisfied above.
99
+
100
+ **ScanNet** β€” [Terms of Use](http://kaldir.vc.in.tum.de/scannet/ScanNet_TOS.pdf).
101
+ **Non-commercial research and educational use only**, and those terms extend to
102
+ derivative works.
103
+
104
+ **NYUDv2** β€” research use.
105
+
106
+ **Therefore these weights are for non-commercial research and educational use
107
+ only.** ScanNet is the binding constraint; DINOv3 permitting commercial use does
108
+ not lift it. Anyone needing a commercial deployment must retrain on commercially
109
+ licensed data β€” the ROS packages and the export pipeline are MIT and unaffected.
110
+
111
+ The MIT licence on the `m2h_mx_*` ROS packages covers the **wrapper code only**,
112
+ not these weights.
113
+
114
+ ## Citation
115
+
116
+ If you use these in published work, please acknowledge DINOv3 and cite the
117
+ ScanNet and NYUDv2 datasets as their terms require.