TSDF fusion in Python: 75× faster with a GPU
A lightweight Python port of KinectFusion-style volumetric reconstruction that trades C++ complexity for NumPy and optional CUDA acceleration.

What it does Takes a stack of registered RGB-D frames and fuses them into a truncated signed distance function (TSDF) voxel volume. From that volume you extract a mesh or point cloud — the same pipeline that powers classic KinectFusion, but written in Python with NumPy, Numba, and optional PyCUDA.
The interesting bit The CPU path is brutally honest: 0.4 FPS. Flip on GPU mode and the same demo jumps to ~30 FPS. That’s the difference between “grab coffee” and “watch it work.” The projective TSDF approach itself dates back to SIGGRAPH 1996, but this implementation is deliberately lightweight — a single script, not a full SLAM system.
Key highlights
- Fuses 1000 frames from the 7-scenes dataset into a 405×264×289 volume at 2cm resolution
- GPU mode via PyCUDA; CPU fallback via Numba/NumPy
- Outputs standard PLY meshes viewable in Meshlab
- Cited in 3DMatch, SSCNet, and Deep Sliding Shapes (CVPR 2016–2017)
- Part of the broader 3DMatch Toolbox
Caveats
- Requires Python 2.7+ (README explicitly says 2.7+, though dependencies suggest modern Python may work)
- “Tested on Ubuntu 16.04” — mileage on newer distros is unclear
- No pose estimation included; frames must already be registered
Verdict Grab this if you need a minimal, hackable TSDF implementation for research or prototyping. Skip it if you need real-time SLAM with tracking — this fuses, it doesn’t localize.