Memory-efficient GPU pipelines for real-time non-line-of-sight reconstruction
Organizations: Universidad de Zaragoza–I3A, Zaragoza, Spain
Abstract
Non-line-of-sight (NLOS) imaging reconstructs scenes hidden around a corner from indirect light recorded by a single-photon avalanche diode (SPAD). A single reconstruction is a large inverse problem: billions of photon timestamps must be binned, moved through memory, transformed and inverted. As SPAD arrays raise acquisition throughput, reconstruction becomes the limiting stage. We rebuild the GPU execution of two established wave-based algorithms, f-k migration and phasor-fields, for both streaming and offline processing. On the phasor-fields side we assemble the ring-and-radius kernels of previous work once and offline, using the analytic Fourier transform of a ring, so the propagation kernel never exists in dense form at runtime, reducing the memory and bandwidth. We reorganize the pipeline of both algorithms with fused kernels, warp-level photon binning, batched transforms, CUDA graph replay, and FP16 storage applied only where it reduces the actual bottleneck. Our implementations are up to 42x faster than the reference streaming pipeline and up to 14x faster than the fastest published GPU baseline, all while using a fraction of the memory (down to 2.5%), enabling vastly larger and finer reconstructions on the same hardware, or comparable ones within a much lower memory budget. We report an ablation of each implementation choice and propose three denoising strategies enabled by the resulting frame budget for next-generation NLOS video processing.
Figures & tables
| Compared work | Model | Comparison use | Main limitation for comparison |
| Fast backprojection ( Arellano et al., 2017 ) | Backprojection | Rerun (partially modified) | Different reconstruction model; costly for many ellipsoids |
| CUDA irregular-relay NLOS ( Sun et al., 2026 ) | Backprojection | Rerun | Different reconstruction model |
| NLOS at 5 FPS ( Nam et al., 2021 ) | Phasor-fields | Rerun | Real-time but low-resolution setting |
| FPGA-accelerated NLOS ( Liao et al., 2022 ) | Phasor-fields | Reported only | Specialized hardware; code unavailable |
| Physics to the Rescue ( Mu et al., 2025 ) | Phasor-fields / learned | Rerun | Highest FPS reported for single-depth reconstruction |
| migration ( Lindell et al., 2019 ) | migration | Offline reference | Original offline implementation |
| Approach | Mvox/s | Time (s) | VRAM (GB) |
| RTX 4080 SUPER - Z : , frequencies, depths | |||
| Our | 4,846.80 | 0.750 | |
| Our phasor-fields | 9,577.03 | 0.293 | |
| Phasor fields ( Nam et al., 2021 ) | 521.67 | 4.389 | |
| Phasor fields ( Mu et al., 2025 ) | 1,242.38 | 8.851 | |
| CUDA backprojection | 1.21 | 0.366 | |
| Peak GPU memory usage ( ) | |||||
| Volume | Phasor fields | MoE | |||
| 29 | 13 | 0.031 | 0.005 | 0.035 | |
| 58 | 26 | 0.188 | 0.026 | 0.234 | |
| 115 | 51 | 1.496 | 0.208 | 1.872 | |
| 229 | 103 | 11.960 | 1.658 | 14.976 | |
| Peak GPU memory usage ( ) | |||||
| Volume | Phasor fields | MoE | |||
| 29 | 13 | 0.133 | 0.009 | 0.143 | |
| 58 | 26 | 1.064 | 0.072 | 1.147 | |
| 115 | 51 | 8.477 | 0.567 | 9.170 | |
| 229 | 103 | oom | 4.530 | oom | |
| Method | Padding | Object | Background | Contrast | Sharpness |
| Our | no | 0.615 | 0.0379 | 16.2 | 0.043 |
| yes | 0.656 | 0.0475 | 13.8 | 0.037 | |
| Our phasor-fields | no | 0.405 | 0.0115 | 35.1 | 0.056 |
| yes | 0.410 | 0.0079 | 51.6 | 0.056 | |
| Our MoE ( ) | no | 0.449 | 60,981 | 0.053 | |
| yes | 0.479 | 0.0009 | 512 | 0.052 |
| Time ( ) | Throughput (Mvox/ ) | Max. tracked memory ( ) | ||||||
| Dataset | Dimensions | Algorithm | Ours | Original | Ours | Original | Ours | Original |
| Confocal – migration dataset ( Lindell et al., 2019 ) | ||||||||
| bike | 512 512 512 | migration | 2.114 0.03 | 146.624 8.47 | 63.50 | 0.92 | 17.000 | 52.430 |
| Phasor fields | 3.791 0.03 | 30.872 0.67 | 35.40 | 4.35 | 22.001 | 33.579 | ||
| teaser | 512 512 512 | migration | 2.016 0.01 | 154.730 14.77 | 66.59 | 0.87 | 17.000 | 52.433 |
| Phasor fields | 3.916 0.08 | 31.458 2.65 | 34.28 | 4.27 | 22.001 | 33.579 | ||
Appendix figures & tables12 assets
Supplementary material from the paper’s appendix.
Appendix
| Object | Background | Contrast | Sharpness | |
| 0.15 | 0.520 | 6,008 | 0.050 | |
| 0.20 | 0.495 | 12,993 | 0.051 | |
| 0.25 | 0.471 | 28,186 | 0.052 | |
| 0.30 | 0.449 | 60,981 | 0.053 | |
| 0.35 | 0.428 | 132,666 | 0.054 | |
| 0.40 | 0.408 | 291,566 | 0.055 |
| Time ( ) | Throughput (Mvox/ ) | Max. tracked memory ( ) | ||||||
| Dataset | Dimensions | Algorithm | Ours | Original | Ours | Original | Ours | Original |
| Tal-generated dataset ( Royo and Luesia-Lahoz, 2024 ) , inspired by a Phasor Fields scene ( Liu et al., 2020 ) | ||||||||
| office | 360 260 1500 | migration | 2.945 0.05 | 507.808 47.68 | 47.67 | 0.28 | 17.784 | 75.938 |
| Phasor fields | 5.414 0.02 | 138.281 13.87 | 25.93 | 1.02 | 23.023 | 66.424 | ||
| 360 260 750 | migration | 0.308 0.01 | 64.483 7.22 | 227.77 | 1.09 | 8.893 | 37.969 | |
| Phasor fields | 0.458 0.00 | 28.830 1.34 | 153.27 | 2.43 | 11.510 | 33.194 | ||
Image Reconstruction
Image reconstruction recovers images, volumes, or scenes from incomplete, noisy, indirect, or compressed measurements using physical models and learned priors.
See all 287 papers