RT-MonSter++
The real-time version of MonSter++ (Autel Robotics and Huazhong University of Science and Technology), using a small mono depth model. Non-commercial licence.
Commercial use: no (code: LicenseRef-noncommercial (noncommercial); weights: LicenseRef-noncommercial).
| variant | input | backend | time (ms) | peak memory (MiB, allocated / reserved) |
|---|---|---|---|---|
rt-monster-plusplus-mix-all | Middlebury 2014 half (994x1482) | original (fp32) original portable kernels portable + torch.compile TensorRT fp16 | 252 251 113 94.1 77.0 44.1 | 2922 / 3024 2922 / 3044 2592 / 2646 2704 / 3976 2750 / 2942 952 (engine) |
Details
- Original code: https://github.com/Junda24/MonSter-plusplus at
9167101af8fb - Code licence: LicenseRef-noncommercial (noncommercial); files:
LICENSE - Weights licence: LicenseRef-noncommercial
- Licence evidence: https://github.com/Junda24/MonSter-plusplus/blob/9167101af8fbe93c706707daa7a8181089c8b1b4/LICENSE#L34
- Training data: mix_all (Zero_shot.pth): 'all the datasets we collect over 2M image pairs' (README), not listed
- Options:
cuda_graphs= True (speed only) - Kernel libraries:
igev,cutlass_conv,cudnn_hacc,fastbb - Variants:
rt-monster-plusplus-mix-all - Outputs: disparity
- Input size: any H x W >= 32, padded to a multiple of 32
- Tested up to (portable, fp16, RTX 5060 Ti 16 GB):
rt-monster-plusplus-mix-all1988x2880 (9.3 GiB peak allocated, 11.1 reserved) rt-monster-plusplus-mix-all994x1482, first call: portable + torch.compile 69 s (cold Inductor cache), TensorRT fp16 150 s (ONNX + engine).rt-monster-plusplus-mix-allload / first call: original 0.99 s / 0.662 s (375x1242), portable 0.26 s / 0.131† s, kernels 0.23† s / 0.104† s- † measured in the speed sweep after the portable load (or an earlier size) in the same process: file cache and kernels are warm, so the time is lower than a fresh start.
- Protocol, median of 9 after 3 warm-up, uint8 CUDA input (synthetic for bench_inputs sizes), card defaults; gc before each load; peak = max over the first call and the timed calls
Measured
Original = the original code named under Details, same checkpoint and protocol.
| variant | dataset | original fp32 | original fp16 | portable | kernels | note |
|---|---|---|---|---|---|---|
rt-monster-plusplus-mix-all | ETH3D two-view train, bad > 1 px % / EPE | 2.05 / 0.226 | 2.05 / 0.226 | 2.05 / 0.226 | 2.05 / 0.226 | possibly in the training data |
rt-monster-plusplus-mix-all | Middlebury 2014 trainingH, bad > 2 px % / EPE | 11.01 / 1.988 | 11.01 / 1.988 | 11.00 / 1.989 | 11.02 / 1.998 | possibly in the training data |
Measured on portable: NVIDIA GeForce RTX 5060 Ti, torch 2.14.1+cu130, fastforks 468fba10, 2026-11-05; kernels: NVIDIA GeForce RTX 5060 Ti, torch 2.14.1+cu130, fastforks 939adfe8, 2026-11-06.
Parity
CPU, float32: max |diff| <= 0.002 vs the original. GPU, float16 (the default), portable and kernels: mean |diff| <= 0.02 px and p99 <= 0.25 px.
| variant | kernels error vs original, mean / p99 | GPU, torch | kernels used |
|---|---|---|---|
rt-monster-plusplus-mix-all | 0.0032 / 0.01047 | RTX 5060 Ti, torch 2.14.1+cu130 | cudnn_hacc@cudnn92400, cutlass_conv@988138e042cb:sm_120, fastbb@7d058322634d:sm_120, igev@f075827d68c6:sm_120 |