Models · Stereo matching

Fast-ACVNet

A stereo network by Gangwei Xu et al. that uses attention-selected disparities and a MobileNetV2 backbone, in a base and a plus version. Commercially usable.

Commercial use: yes.

variantinputbackendtime (ms)peak memory (MiB, allocated / reserved)
fast-acvnet-generalizationMiddlebury 2014 half (994x1482)original (fp32)
original
portable
kernels
101
60.6
54.7
38.2
1784 / 1878
1421 / 1506
664 / 736
739 / 1042
fast-acvnet-plus-generalizationMiddlebury 2014 half (994x1482)original (fp32)
original
portable
kernels
138
80.9
70.6
46.4
1861 / 1978
1441 / 1522
662 / 756
790 / 1120
Details
  • Original code: https://github.com/gangweix/Fast-ACVNet at 61d5375e1816
  • Code licence: MIT (permissive); files: LICENSE
  • Weights licence: MIT (assumed from code)
  • Licence evidence: https://github.com/gangweix/Fast-ACVNet/blob/61d5375e1816f124f4417cea506eeaddac1504e4/LICENSE.md
  • Training data: Freiburg SceneFlow (FlyingThings3D, Driving, Monkaa)
    • fast-acvnet-kitti12: Freiburg SceneFlow (FlyingThings3D, Driving, Monkaa), KITTI stereo 2012 / 2015 (SceneFlow, then fine-tuned on KITTI 2012)
    • fast-acvnet-kitti15: Freiburg SceneFlow (FlyingThings3D, Driving, Monkaa), KITTI stereo 2012 / 2015 (SceneFlow, then fine-tuned on KITTI 2015)
    • fast-acvnet-plus-kitti12: Freiburg SceneFlow (FlyingThings3D, Driving, Monkaa), KITTI stereo 2012 / 2015 (SceneFlow, then fine-tuned on KITTI 2012)
    • fast-acvnet-plus-kitti15: Freiburg SceneFlow (FlyingThings3D, Driving, Monkaa), KITTI stereo 2012 / 2015 (SceneFlow, then fine-tuned on KITTI 2015)
  • Options: cuda_graphs = True (speed only)
  • Kernel libraries: igev, cutlass_conv, cudnn_hacc
  • Variants: fast-acvnet-generalization, fast-acvnet-sceneflow, fast-acvnet-kitti12, fast-acvnet-kitti15, fast-acvnet-plus-generalization, fast-acvnet-plus-sceneflow, fast-acvnet-plus-kitti12, fast-acvnet-plus-kitti15
  • 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): fast-acvnet-generalization 3000x4000 (5.0 GiB peak allocated, 7.9 reserved); fast-acvnet-sceneflow 3000x4000 (5.0 GiB peak allocated, 7.9 reserved); fast-acvnet-kitti12 3000x4000 (5.0 GiB peak allocated, 7.9 reserved); fast-acvnet-kitti15 3000x4000 (5.0 GiB peak allocated, 7.9 reserved); fast-acvnet-plus-generalization 3000x4000 (4.9 GiB peak allocated, 7.9 reserved); fast-acvnet-plus-sceneflow 3000x4000 (4.9 GiB peak allocated, 7.9 reserved); fast-acvnet-plus-kitti12 3000x4000 (4.9 GiB peak allocated, 7.9 reserved); fast-acvnet-plus-kitti15 3000x4000 (4.9 GiB peak allocated, 7.9 reserved)
  • fast-acvnet-sceneflow, fast-acvnet-kitti12, fast-acvnet-kitti15: same network and settings as fast-acvnet-generalization, measured once (rows not repeated).
  • fast-acvnet-plus-sceneflow, fast-acvnet-plus-kitti12, fast-acvnet-plus-kitti15: same network and settings as fast-acvnet-plus-generalization, measured once (rows not repeated).
  • fast-acvnet-generalization original 994x1482: torch.autocast(fp16) around the forward
  • fast-acvnet-generalization portable 994x1482, kernels 994x1482: measured on fast-acvnet-sceneflow (same architecture, other checkpoint)
  • fast-acvnet-plus-generalization original 994x1482: torch.autocast(fp16) around the forward
  • fast-acvnet-plus-generalization portable 994x1482, kernels 994x1482: measured on fast-acvnet-plus-sceneflow (same architecture, other checkpoint)
  • fast-acvnet-generalization load / first call: original 0.24 s / 1.732 s (375x1242), portable 0.18 s / 0.079† s, kernels 0.2† s / 0.043† s
  • fast-acvnet-sceneflow load / first call: original 0.24 s / 1.732 s (375x1242), portable 0.18 s / 0.079† s, kernels 0.2† s / 0.043† s
  • fast-acvnet-kitti12 load / first call: original 0.24 s / 1.732 s (375x1242), portable 0.18 s / 0.079† s, kernels 0.2† s / 0.043† s
  • fast-acvnet-kitti15 load / first call: original 0.24 s / 1.732 s (375x1242), portable 0.18 s / 0.079† s, kernels 0.2† s / 0.043† s
  • fast-acvnet-plus-generalization load / first call: original 0.23 s / 0.037 s (375x1242), portable 0.1 s / 0.071† s, kernels 0.1† s / 0.047† s
  • fast-acvnet-plus-sceneflow load / first call: original 0.23 s / 0.037 s (375x1242), portable 0.1 s / 0.071† s, kernels 0.1† s / 0.047† s
  • fast-acvnet-plus-kitti12 load / first call: original 0.23 s / 0.037 s (375x1242), portable 0.1 s / 0.071† s, kernels 0.1† s / 0.047† s
  • fast-acvnet-plus-kitti15 load / first call: original 0.23 s / 0.037 s (375x1242), portable 0.1 s / 0.071† s, kernels 0.1† s / 0.047† 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.

variantdatasetoriginal fp32original fp16portablekernelsnote
fast-acvnet-generalizationETH3D two-view train, bad > 1 px % / EPE6.50 / 0.7756.51 / 0.7786.50 / 0.7766.51 / 0.776
fast-acvnet-generalizationMiddlebury 2014 trainingH, bad > 2 px % / EPE18.57 / 4.20318.62 / 4.21618.61 / 4.22418.60 / 4.220
fast-acvnet-sceneflowETH3D two-view train, bad > 1 px % / EPE8.40 / 0.6548.44 / 0.6598.40 / 0.6578.43 / 0.657
fast-acvnet-sceneflowMiddlebury 2014 trainingH, bad > 2 px % / EPE25.53 / 7.66725.55 / 7.68625.53 / 7.67625.55 / 7.690
fast-acvnet-kitti12ETH3D two-view train, bad > 1 px % / EPE19.07 / 0.82519.06 / 0.82519.06 / 0.82619.06 / 0.825
fast-acvnet-kitti12Middlebury 2014 trainingH, bad > 2 px % / EPE28.20 / 6.89228.23 / 6.88828.21 / 6.88028.21 / 6.886
fast-acvnet-kitti15ETH3D two-view train, bad > 1 px % / EPE17.58 / 0.77417.58 / 0.77217.61 / 0.77217.59 / 0.772
fast-acvnet-kitti15Middlebury 2014 trainingH, bad > 2 px % / EPE28.67 / 6.92028.71 / 6.91828.67 / 6.91828.69 / 6.928
fast-acvnet-plus-generalizationETH3D two-view train, bad > 1 px % / EPE6.19 / 0.6386.19 / 0.6406.23 / 0.6406.20 / 0.637
fast-acvnet-plus-generalizationMiddlebury 2014 trainingH, bad > 2 px % / EPE18.68 / 4.22518.70 / 4.22718.69 / 4.22918.69 / 4.229
fast-acvnet-plus-sceneflowETH3D two-view train, bad > 1 px % / EPE12.64 / 3.06312.61 / 3.06112.61 / 3.05912.62 / 3.065
fast-acvnet-plus-sceneflowMiddlebury 2014 trainingH, bad > 2 px % / EPE33.29 / 9.71633.28 / 9.70133.27 / 9.68933.29 / 9.705
fast-acvnet-plus-kitti12ETH3D two-view train, bad > 1 px % / EPE21.63 / 0.82121.64 / 0.82121.61 / 0.82121.62 / 0.821
fast-acvnet-plus-kitti12Middlebury 2014 trainingH, bad > 2 px % / EPE29.87 / 7.09829.88 / 7.10429.87 / 7.10329.87 / 7.105
fast-acvnet-plus-kitti15ETH3D two-view train, bad > 1 px % / EPE21.62 / 0.82221.63 / 0.82221.61 / 0.82221.63 / 0.822
fast-acvnet-plus-kitti15Middlebury 2014 trainingH, bad > 2 px % / EPE28.09 / 6.65628.10 / 6.66428.09 / 6.66328.09 / 6.662

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.

variantkernels error vs original, mean / p99GPU, torchkernels used
fast-acvnet-generalization0.00092 / 0.00938RTX 5060 Ti, torch 2.14.1+cu130cudnn_hacc@cudnn92400, cutlass_conv@988138e042cb:sm_120, igev@f075827d68c6:sm_120
fast-acvnet-sceneflow0.00216 / 0.03439RTX 5060 Ti, torch 2.14.1+cu130cudnn_hacc@cudnn92400, cutlass_conv@988138e042cb:sm_120, igev@f075827d68c6:sm_120
fast-acvnet-kitti120.00112 / 0.00401RTX 5060 Ti, torch 2.14.1+cu130cudnn_hacc@cudnn92400, cutlass_conv@988138e042cb:sm_120, igev@f075827d68c6:sm_120
fast-acvnet-kitti150.00147 / 0.00436RTX 5060 Ti, torch 2.14.1+cu130cudnn_hacc@cudnn92400, cutlass_conv@988138e042cb:sm_120, igev@f075827d68c6:sm_120
fast-acvnet-plus-generalization0.00114 / 0.01085RTX 5060 Ti, torch 2.14.1+cu130cudnn_hacc@cudnn92400, cutlass_conv@988138e042cb:sm_120, igev@f075827d68c6:sm_120
fast-acvnet-plus-sceneflow0.01838 / 0.06381RTX 5060 Ti, torch 2.14.1+cu130cudnn_hacc@cudnn92400, cutlass_conv@988138e042cb:sm_120, igev@f075827d68c6:sm_120
fast-acvnet-plus-kitti120.00068 / 0.00258RTX 5060 Ti, torch 2.14.1+cu130cudnn_hacc@cudnn92400, cutlass_conv@988138e042cb:sm_120, igev@f075827d68c6:sm_120
fast-acvnet-plus-kitti150.00125 / 0.01454RTX 5060 Ti, torch 2.14.1+cu130cudnn_hacc@cudnn92400, cutlass_conv@988138e042cb:sm_120, igev@f075827d68c6:sm_120