BridgeDepth
A stereo network that aligns Depth Anything V2 features with NMRF-style disparity proposals. Non-commercial weights.
Commercial use: no (weights: CC-BY-NC-4.0).
| variant | input | backend | time (ms) | peak memory (MiB, allocated / reserved) |
|---|---|---|---|---|
bridgedepth-sf | Middlebury 2014 half (994x1482) | original (fp32) original portable kernels portable + torch.compile TensorRT fp16 | 616 460 437 348 325 fails: TensorRT bug: Myelin internal error | 2852 / 3128 2852 / 3144 2916 / 3214 2310 / 2634 2280 / 2308 – |
bridgedepth-rvc-pretrain | Middlebury 2014 half (994x1482) | original (fp32) original portable kernels | 629 470 442 354 | 2903 / 3178 2903 / 3200 2968 / 3246 2361 / 2686 |
Details
- Original code: https://github.com/aeolusguan/BridgeDepth at
9a231601e698 - Code licence: MIT (permissive); files:
LICENSE,LICENSE-torchvision - Weights licence: CC-BY-NC-4.0
- Licence evidence: https://github.com/aeolusguan/BridgeDepth/blob/9a231601e6981d3536fa6a78ebaccebc1edb99a4/README.md#L40
- Training data: Freiburg SceneFlow (FlyingThings3D, Driving, Monkaa)
bridgedepth-rvc-pretrain: Freiburg SceneFlow (FlyingThings3D, Driving, Monkaa), NVIDIA Falling Things (FAT), CREStereo synthetic stereo dataset (Megvii), TartanAir, MPI Sintel stereo, not stated by the authors (configs/rvc_pretrain.yaml: Scene Flow, Falling Things, CREStereo, TartanAir, CARLA high-res, Sintel, Virtual KITTI 2 (started from l_sf, Scene Flow); README recommends it for in-the-wild use)
- Licence note: The weights embed Depth Anything V2 weights released under CC-BY-NC-4.0, so they are non-commercial even though the code is MIT.
- Kernel libraries:
fastbb - Variants:
bridgedepth-sf,bridgedepth-rvc-pretrain - Outputs: disparity
- Input size: any H x W >= 16, padded to a multiple of 16
- Tested up to (portable, fp16, RTX 5060 Ti 16 GB):
bridgedepth-sf3000x4000 (13.3 GiB peak allocated, 14.2 reserved);bridgedepth-rvc-pretrain3000x4000 (13.3 GiB peak allocated, 14.2 reserved) bridgedepth-sf994x1482, first call: portable + torch.compile 111 s (cold Inductor cache).bridgedepth-sforiginal (fp32) 994x1482: original default: its monocular branch (DepthAnything.infer) runs in fp16 even without autocastbridgedepth-sforiginal 994x1482: torch.autocast(fp16) around the forward; original default: its monocular branch (DepthAnything.infer) runs in fp16 even without autocastbridgedepth-rvc-pretrainoriginal (fp32) 994x1482: original default: its monocular branch (DepthAnything.infer) runs in fp16 even without autocastbridgedepth-rvc-pretrainoriginal 994x1482: torch.autocast(fp16) around the forward; original default: its monocular branch (DepthAnything.infer) runs in fp16 even without autocastbridgedepth-sfload / first call: original 4.86 s / 0.119 s (375x1242), portable 1.53 s / 0.442† s, kernels 0.72† s / 0.351† sbridgedepth-rvc-pretrainload / first call: original 5.87 s / 1.363 s (375x1242), portable 1.84 s / 0.453† s, kernels 0.76† s / 0.356† 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 5 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 |
|---|---|---|---|---|---|---|
bridgedepth-sf | ETH3D two-view train, bad > 1 px % / EPE | 1.25 / 0.230 | 1.25 / 0.229 | 1.24 / 0.229 | 1.24 / 0.229 | |
bridgedepth-sf | Middlebury 2014 trainingH, bad > 2 px % / EPE | 9.97 / 2.111 | 9.99 / 2.109 | 10.00 / 2.111 | 10.00 / 2.109 | |
bridgedepth-rvc-pretrain | ETH3D two-view train, bad > 1 px % / EPE | 1.22 / 0.191 | 1.22 / 0.192 | 1.22 / 0.191 | 1.22 / 0.191 | possibly in the training data |
bridgedepth-rvc-pretrain | Middlebury 2014 trainingH, bad > 2 px % / EPE | 6.35 / 0.950 | 6.35 / 0.948 | 6.38 / 0.953 | 6.37 / 0.952 | possibly in the training data |
Measured on NVIDIA GeForce RTX 5060 Ti, torch 2.14.1+cu130, fastforks 468fba10, 2026-11-05.
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. On real pairs up to 720x1280 the limits are mean 0.06 / p99 1.0 (precision-sensitive there, see Limitations).
| variant | kernels error vs original, mean / p99 | GPU, torch | kernels used |
|---|---|---|---|
bridgedepth-sf | 0.00036 / 0.00123 | RTX 5060 Ti, torch 2.14.1+cu130 | fastbb@7d058322634d:sm_120 |
bridgedepth-rvc-pretrain | 0.00053 / 0.00327 | RTX 5060 Ti, torch 2.14.1+cu130 | fastbb@7d058322634d:sm_120 |