Reconstruct a 3D point cloud and camera positions from a folder of static-scene photos.
Extract frames from a video and turn them into a point cloud using the included helper script.
View the reconstructed point cloud and camera positions together in the built-in browser viewer.
| yassa9/dvlt.cu | stablemarkk/hash256_miner | nvidia/cuopt | |
|---|---|---|---|
| Stars | 31 | 20 | 903 |
| Language | Cuda | Cuda | Cuda |
| Setup difficulty | hard | moderate | hard |
| Complexity | 5/5 | 4/5 | 4/5 |
| Audience | researcher | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires an NVIDIA GPU with at least 8GB memory and a CUDA toolchain to compile.
dvlt.cu takes a folder of photos of a static scene and produces a 3D point cloud along with the position and orientation of the camera in each photo. You give it images, it gives you a .ply file (a standard format that opens in tools like MeshLab or Blender) and a JSON file with the camera data. There is also a small browser-based viewer included that can display both the point cloud and the camera positions together. What makes this unusual is how it is built. Most tools for this kind of 3D reconstruction use Python, PyTorch, and a stack of libraries. dvlt.cu is written entirely in CUDA C++, which is the programming language for running code directly on NVIDIA graphics cards. It has almost no external dependencies: it uses two GPU math libraries that ship with CUDA and two header-only utility files. The result is a single 5MB binary with no Python interpreter, no framework, and no package manager needed. The underlying AI model is DVLT, a neural network published by NVIDIA that reconstructs 3D geometry from a small set of images in one forward pass. Unlike older techniques such as NeRF or Gaussian splatting, it does not need to be trained separately for each new scene. It processes all images at once and produces depth estimates, ray directions, and camera poses in a single run. The author ported this model from its original Python/PyTorch form to CUDA C++ by hand, implementing all the internal operations as custom GPU kernels. Setup runs a single script that downloads the model weights from Hugging Face, converts them to the format the binary expects, and compiles the project. The weights are released by NVIDIA under a non-commercial research license separate from the Apache 2.0 license covering the code in this repository. Running the binary on a GPU with 8GB of memory can handle roughly 70 frames before hitting memory limits, lower resolution settings allow processing longer sequences. A helper shell script is included for extracting frames from a video file before passing them to the tool.
A CUDA C++ tool that turns a folder of photos into a 3D point cloud and camera positions using NVIDIA's DVLT model, with no Python dependency.
Mainly Cuda. The stack also includes CUDA, C++.
The code is licensed under Apache 2.0, but the downloaded model weights carry a separate non-commercial research license from NVIDIA.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly researcher.
This repo across BitVibe Labs
Verify against the repo before relying on details.