Models · Stereo matching

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).

variantinputbackendtime (ms)peak memory (MiB, allocated / reserved)
bridgedepth-sfMiddlebury 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-pretrainMiddlebury 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-sf 3000x4000 (13.3 GiB peak allocated, 14.2 reserved); bridgedepth-rvc-pretrain 3000x4000 (13.3 GiB peak allocated, 14.2 reserved)
  • bridgedepth-sf 994x1482, first call: portable + torch.compile 111 s (cold Inductor cache).
  • bridgedepth-sf original (fp32) 994x1482: original default: its monocular branch (DepthAnything.infer) runs in fp16 even without autocast
  • bridgedepth-sf original 994x1482: torch.autocast(fp16) around the forward; original default: its monocular branch (DepthAnything.infer) runs in fp16 even without autocast
  • bridgedepth-rvc-pretrain original (fp32) 994x1482: original default: its monocular branch (DepthAnything.infer) runs in fp16 even without autocast
  • bridgedepth-rvc-pretrain original 994x1482: torch.autocast(fp16) around the forward; original default: its monocular branch (DepthAnything.infer) runs in fp16 even without autocast
  • bridgedepth-sf load / first call: original 4.86 s / 0.119 s (375x1242), portable 1.53 s / 0.442† s, kernels 0.72† s / 0.351† s
  • bridgedepth-rvc-pretrain load / 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.

variantdatasetoriginal fp32original fp16portablekernelsnote
bridgedepth-sfETH3D two-view train, bad > 1 px % / EPE1.25 / 0.2301.25 / 0.2291.24 / 0.2291.24 / 0.229
bridgedepth-sfMiddlebury 2014 trainingH, bad > 2 px % / EPE9.97 / 2.1119.99 / 2.10910.00 / 2.11110.00 / 2.109
bridgedepth-rvc-pretrainETH3D two-view train, bad > 1 px % / EPE1.22 / 0.1911.22 / 0.1921.22 / 0.1911.22 / 0.191possibly in the training data
bridgedepth-rvc-pretrainMiddlebury 2014 trainingH, bad > 2 px % / EPE6.35 / 0.9506.35 / 0.9486.38 / 0.9536.37 / 0.952possibly 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).

variantkernels error vs original, mean / p99GPU, torchkernels used
bridgedepth-sf0.00036 / 0.00123RTX 5060 Ti, torch 2.14.1+cu130fastbb@7d058322634d:sm_120
bridgedepth-rvc-pretrain0.00053 / 0.00327RTX 5060 Ti, torch 2.14.1+cu130fastbb@7d058322634d:sm_120