NeuSLAM / README.md
aniketgupta01's picture
NeuSLAMNet weights, ORB vocabulary and reference TensorRT engines
406419a verified
|
Raw History Blame Contribute Delete
1.68 kB
---
license: mit
tags:
- slam
- visual-odometry
- optical-flow
- stereo-matching
- robotics
---
# NeuSLAMNet weights for NeuSLAM
Weights for **NeuSLAMNet**, the network inside [NeuSLAM](https://github.com/aniket-gupta1/Dynamic_SLAM),
a stereo / RGB-D visual SLAM system for embedded GPUs.
From three images, `(left_keyframe, right_keyframe, left_current)` at 368x768, NeuSLAMNet
predicts in one pass:
* stereo disparity of the keyframe, with a per-pixel confidence;
* optical flow keyframe -> current, with a per-pixel confidence;
* a per-pixel motion logit.
16.4 M parameters.
## Files
| file | contents |
|---|---|
| `neuslamnet.pth` | PyTorch state dict (`torch.load(..., weights_only=True)`) |
| `ORBvoc.txt` | ORB vocabulary for DBoW3 loop closure (the ORB-SLAM2 vocabulary) |
| `reference_engines/neuslamnet_fp16.plan` | the TensorRT fp16 engine (stereo) behind the published results |
| `reference_engines/neuslamnet_flow_fp16.plan` | its flow-only counterpart (RGB-D) |
## Use
```bash
pip install ./third_party/pydbow3 && pip install -e . # from the NeuSLAM repository
neuslam download # fetches these files into ~/.cache/neuslam
neuslam build-engine # builds the TensorRT engines for your GPU
```
Build your own engines with `neuslam build-engine`: TensorRT plans are specific to
the GPU and the TensorRT version. The reference engines reproduce the published
numbers exactly, but only load with TensorRT 10.15 on a compatible NVIDIA GPU (they
were used on an RTX 3090). Two fp16 builds of the same weights can differ slightly
in their results, so numbers from a local build will be close to, not identical
with, the published ones.