需先下载 Replica 或 ScanNet 数据集,并修改 configs 下 JSON 中的 dataset.path;ScanNet 的 .sens 需用 Python 2 环境运行 reader.py 提取;运行前需先激活 conda 环境。
vMAP
kxhit更新放缓vMAP 是 CVPR 2023 提出的神经场 SLAM 系统,用向量化对象建图实现实时 RGB-D 稠密重建,无需逐场景训练即可完成三维重建。
[CVPR 2023] vMAP: Vectorised Object Mapping for Neural Field SLAM
conda env create -f environment.yml
python ./train.py --config ./configs/Replica/config_replica_room0_vMAP.json --logdir ./logs/vMAP/room0 --save_ckpt TrueREADME 未说明
用向量化训练并行优化多个 MLP 神经场,从 RGB-D 流构建物体级地图的神经场 SLAM 实现
vMAP 是 CVPR 2023 提出的神经场 SLAM 系统,用向量化对象建图实现实时 RGB-D 稠密重建,无需逐场景训练即可完成三维重建。
核心能力
- 每个物体用独立 MLP 神经场建模
- 通过向量化训练并行优化所有物体
- 从实时 RGB-D 输入流构建物体级地图
- 附带简化改进版 iMAP 实现,含深度引导采样
- 提供场景级与物体级 3D 重建评估脚本
容易踩的坑
暂无 release 数据(可能没有发版,或尚未同步)。
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
We provide the implementation of the following neural-field SLAM frameworks:
- vMAP [Official Implementation]
- iMAP [Simplified and Improved Re-Implementation, with depth guided sampling]
Install
First, let's start with a virtual environment with the required dependencies.
conda env create -f environment.yml
Dataset
Please download the following datasets to reproduce our results.
- Replica Demo - Replica Room 0 only for faster experimentation.
- Replica - All Pre-generated Replica sequences. For Replica data generation, please refer to directory
data_generation. - ScanNet - Official ScanNet sequences.
Each dataset contains a sequence of RGB-D images, as well as their corresponding camera poses, and object instance labels.
To extract data from ScanNet .sens files, run
conda activate py2 python2 reader.py --filename ~/data/ScanNet/scannet/scans/scene0024_00/scene0024_00.sens --output_path ~/data/ScanNet/objnerf/ --export_depth_images --export_color_images --export_poses --export_intrinsics
Config
Then update the config files in configs/.json with your dataset paths, as well as other training hyper-parameters.
"dataset": {
"path": "path/to/ims/folder/",
}
Running vMAP / iMAP
The following commands will run vMAP / iMAP in a single-thread setting.
vMAP
python ./train.py --config ./configs/Replica/config_replica_room0_vMAP.json --logdir ./logs/vMAP/room0 --save_ckpt True
iMAP
python ./train.py --config ./configs/Replica/config_replica_room0_iMAP.json --logdir ./logs/iMAP/room0 --save_ckpt True
Evaluation
To evaluate the quality of reconstructed scenes, we provide two different methods,
3D Scene-level Evaluation
The same metrics following the original iMAP, to compare with GT scene meshes by Accuracy, Completion and Completion Ratio.
python ./metric/eval_3D_scene.py
3D Object-level Evaluation
We also provide the object-level metrics by computing the same metrics but averaging across all objects in a scene.
python ./metric/eval_3D_obj.py
Results
We provide raw results, including 3D meshes, 2D novel view rendering, and evaluated metrics of vMAP and iMAP* for easier comparison.
Acknowledgement
We would like thank the following open-source repositories that we have build upon for the implementation of this work: NICE-SLAM, and functorch.
Citation
If you found this code/work to be useful in your own research, please considering citing the following:
@article{kong2023vmap,
title={vMAP: Vectorised Object Mapping for Neural Field SLAM},
author={Kong, Xin and Liu, Shikun and Taher, Marwan and Davison, Andrew J},
journal={arXiv preprint arXiv:2302.01838},
year={2023}
}
@inproceedings{sucar2021imap,
title={iMAP: Implicit mapping and positioning in real-time},
author={Sucar, Edgar and Liu, Shikun and Ortiz, Joseph and Davison, Andrew J},
booktitle={Proceedings of the IEEE/CVF International Conference on Computer Vision},
pages={6229--6238},
year={2021}
}