论文链接:https://arxiv.org/abs/2302.01838
项目主页:https://kxhit.github.io/vMAP
vMAP重建之后的数据集下载地址:https://huggingface.co/datasets/kxic/vMAP/resolve/main/vmap.zip
vMAP重建之后的数据集,可以用于评估基于神经辐射场或者3D高斯的场景重建质量。
--------------------------------------------------------------------------------------------------------------------------------
vMAP 是一种基于神经场(NeRF)的对象级密集 SLAM 系统,可根据 RGB-D 输入流实时自动构建对象级场景模型。每个对象都由一个单独的 MLP 神经场模型表示,无需 3D 先验即可实现高效、无懈可击的对象建模。该系统可以在单个场景中优化多达 50 个单独的对象,与之前的神经场 SLAM 系统相比,可以显着提高场景级和对象级的重建质量。
=========================================================================
vMAP: Vectorised Object Mapping for Neural Field SLAM
(vMAP: 面向神经场SLAM的向量化对象映射)
Xin Kong · Shikun Liu · Marwan Taher · Andrew Davison
Paper | Video | Project Page
vMAP 可根据实时 RGB-D 输入流构建对象级地图。每个物体都由一个单独的 MLP 神经场模型来表示,所有模型都通过矢量化训练进行并行优化。
=========================================================================
我们提供了以下神经场 SLAM 框架的实现方法:
- vMAP [官方实现]
- iMAP [简化和改进的重新实现,具有深度引导采样功能]
--------------------------------------------------------------------------------------------------------------------------------
一、安装
通过创建虚拟环境进行安装:
conda env create -f environment.yml
二、数据集
需要下载如下的数据集进行复现结果:
- Replica Demo :Replica Room 0用于快速体验
- Replica :所有Pre-generated Replica sequences。有关复制数据的生成,请参阅目录 data_generation。
- ScanNet:官方 ScanNet 序列。每个数据集都包含一系列 RGB-D 图像,以及相应的相机姿势和对象实例标签。要从 ScanNet的 .sens 文件中提取数据,请运行:
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
三、配置
然后用数据集路径和其他训练超参数更新 configs/.json 中的配置文件。
"dataset": {
"path": "path/to/ims/folder/",
}
四、运行
使用单线程设置运行iMAP/vMAP
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
五、评估
为了评估重建场景的质量,我们提供了两种不同的方法:
3D Scene-level Evaluation
采用原始 iMAP 的相同指标,通过Accuracy(准确度)、Completion(完成度)和Completion Ratio(完成率)与 GT 场景网格进行比较。
python ./metric/eval_3D_scene.py
3D Object-level Evaluation
我们还提供了对象级指标,计算方法相同,但对场景中的所有对象进行平均。
python ./metric/eval_3D_obj.py
六、结果
我们提供了原始结果,包括三维网格、二维新颖视图渲染以及 vMAP 和 iMAP* 的评估指标,以便于比较。
---------------------------------------------------------------------------------------------------------------------------------
七、补充
基准数据集简介
基准数据集是 Replica(合成数据集), ScanNet(真实场景数据集), and TUM RGB-D(真实场景数据集)三个RGB-D数据集。这三个数据集均包含不同质量level的序列(Object Masks, Depth and Pose Measurements)。
Replica:在Object Masks, Depth and Pose Measurements三个方面均有GT,所以不需要处理,直接使用。
ScanNet:使用自带的Pose Measurements;Noisy表示使用自带的信息
TUM RGB-D:使用Detic进行Object Masks,使用ORB-SLAM3进行获取Pose Measurements;
- object masks:Detic,在开放词汇LVIS数据集 [7]上进行预训练,该数据集包含1000多个对象
- pose measurements:ORB-SLAM3,因为它具有快速和准确的跟踪性能。我们使用来自ORB-SLAM3的最新估计不断更新关键帧的姿态。
参考文献: