Models · Stereo matching

PSMNet

A classic stereo network by Jia-Ren Chang with a spatial-pyramid backbone and stacked 3D hourglasses. Commercially usable.

Commercial use: yes.

variantinputbackendtime (ms)peak memory (MiB, allocated / reserved)
psmnet-sceneflowMiddlebury 2014 half (994x1482)original (fp32)
original
portable
kernels
portable + torch.compile
TensorRT fp16
760
608
340
232
440
669
7544 / 7640
6015 / 6090
2078 / 2442
1786 / 2122
1760 / 2082
1528 (engine)
Details
  • Original code: https://github.com/JiaRenChang/PSMNet at 87ac9093afbf
  • Code licence: MIT (permissive); files: LICENSE
  • Weights licence: MIT (assumed from code)
  • Licence evidence: https://github.com/JiaRenChang/PSMNet/blob/87ac9093afbf6545c093bd9d26c5ffd66e49a7b8/README.md#L96-L98
  • Training data: Freiburg SceneFlow (FlyingThings3D, Driving, Monkaa)
  • Kernel libraries: igev, cutlass_conv, cudnn_hacc
  • Variants: psmnet-sceneflow
  • Outputs: disparity
  • Input size: any H x W >= 241, padded to a multiple of 16
  • Tested up to (portable, fp16, RTX 5060 Ti 16 GB): psmnet-sceneflow 1988x2880 (7.6 GiB peak allocated, 10.6 reserved)
  • psmnet-sceneflow 994x1482, first call: portable + torch.compile 60 s (cold Inductor cache), TensorRT fp16 89 s (ONNX + engine).
  • psmnet-sceneflow original 994x1482: torch.autocast(fp16) around the forward
  • psmnet-sceneflow load / first call: original 0.2 s / 0.525 s (375x1242), portable 0.1 s / 0.352† s, kernels 0.08† s / 0.232† 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
psmnet-sceneflowETH3D two-view train, bad > 1 px % / EPE15.14 / 2.15215.13 / 2.15215.11 / 2.15415.13 / 2.148
psmnet-sceneflowMiddlebury 2014 trainingH, bad > 2 px % / EPE36.06 / 11.48236.06 / 11.48436.06 / 11.48436.07 / 11.482

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.05 px and p99 <= 0.5 px.

variantkernels error vs original, mean / p99GPU, torchkernels used
psmnet-sceneflow0.00412 / 0.01422RTX 5060 Ti, torch 2.14.1+cu130cudnn_hacc@cudnn92400, cutlass_conv@988138e042cb:sm_120, igev@f075827d68c6:sm_120