H2-Mapping 项目下载及安装教程
1. 项目介绍
H2-Mapping 是一个实时密集建图项目,使用分层混合表示方法,能够在边缘计算机上实现高质量的实时建图。该项目获得了2023年IEEE机器人与自动化快报(RAL)最佳论文奖。H2-Mapping 结合了神经辐射场(NeRF)技术,通过隐式多分辨率哈希编码和显式八叉树SDF先验,实现了快速场景几何初始化和学习。此外,项目还提出了一种覆盖最大化的关键帧选择策略,以解决遗忘问题并增强建图质量,特别是在边缘区域。
2. 项目下载位置
要下载 H2-Mapping 项目,请使用以下命令克隆项目仓库及其子模块:
git clone --recursive https://github.com/SYSU-STAR/H2-Mapping.git
3. 项目安装环境配置
3.1 创建 Anaconda 环境
首先,创建一个名为 h2mapping
的 Anaconda 环境。请注意,安装 Open3D 的 0.17.0 版本可能会导致重建评估时出错,因此建议安装 0.16.0 版本。
cd H2-Mapping/mapping
conda env create -f h2mapping.yaml
3.2 安装 PyTorch
根据您的硬件平台手动安装 PyTorch。
3.3 安装依赖包
运行以下脚本安装依赖包:
bash install.sh
3.4 安装 tinycudann 及其 PyTorch 扩展
按照以下步骤安装 tinycudann 及其 PyTorch 扩展:
cd third_party/tinycudann
cmake -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo
cmake --build build --config RelWithDebInfo -j
cd bindings/torch
python setup.py install
4. 项目安装方式
4.1 在数据集上运行(仅建图)
替换 src/mapping.py
中的库文件路径:
torch.classes.load_library("third_party/sparse_octree/build/libxxx/svo_xxx.so")
下载 Replica 数据集并保存到 /Datasets/Replica
文件夹中:
bash mapping/scripts/download_replica.sh
执行 H2-Mapping:
cd mapping
python -W ignore demo/run_mapping.py configs/replica/room_0.yaml
4.2 在 ROS 上运行(完整 SLAM)
安装 Ubuntu、ROS、Ceres 和 OpenCV。如果您成功运行了 VINS-Fusion,您也可以运行我们的跟踪代码。
构建跟踪模块:
cd H2-Mapping
catkin_make
替换 src/mapping.py
中的库文件路径:
torch.classes.load_library("third_party/sparse_octree/build/libxxx/svo_xxx.so")
下载并解压 ROS bag:
rosbag decompress tower_compress.bag
配置跟踪参数和 ROS 参数,然后运行建图模块:
conda activate h2mapping
cd H2-Mapping
source devel/setup.bash
cd mapping
python -W ignore demo/run_mapping.py configs/realsense/tower.yaml -run_ros
5. 项目处理脚本
5.1 运行跟踪模块
在单独的终端中运行以下命令:
cd H2-Mapping
bash ros_cmd/run_vins_rgbd.sh
5.2 播放 ROS Bag
在另一个终端中播放 ROS Bag:
rosbag play tower_compress.orig.bag
5.3 终止所有模块
在终端中执行以下命令终止所有模块:
rosnode kill -a
5.4 使用自己的 RGB-D 序列
修改 mapping/configs/realsense
中的配置文件,并根据您的设备修改 src/dvins/config/uav2022/uav_nerf.yaml
中的跟踪配置文件。
5.5 评估重建误差
下载 Replica 网格的真值数据:
bash scripts/download_replica_mesh.sh
替换 eval/eval_recon.py
中的库文件路径,然后运行以下命令:
cd mapping
OUTPUT_FOLDER=your_output_folder
python eval/eval_recon.py -2d -3d
以上是 H2-Mapping 项目的下载及安装教程,希望对您有所帮助。
- CangjieCommunity为仓颉编程语言开发者打造活跃、开放、高质量的社区环境Markdown00
- redis-sdk仓颉语言实现的Redis客户端SDK。已适配仓颉0.53.4 Beta版本。接口设计兼容jedis接口语义,支持RESP2和RESP3协议,支持发布订阅模式,支持哨兵模式和集群模式。Cangjie044
- 每日精选项目🔥🔥 推荐每日行业内最新、增长最快的项目,快速了解行业最新热门项目动态~ 🔥🔥017
- advanced-javaAdvanced-Java是一个Java进阶教程,适合用于学习Java高级特性和编程技巧。特点:内容深入、实例丰富、适合进阶学习。JavaScript099
- qwerty-learner为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 / Words learning and English muscle memory training software designed for keyboard workersTSX025
- Yi-CoderYi Coder 编程模型,小而强大的编程助手HTML011
- taro开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。 https://taro.zone/TypeScript010
- CommunityCangjie-TPC(Third Party Components)仓颉编程语言三方库社区资源汇总05
- Bbrew🍺 The missing package manager for macOS (or Linux)Ruby01
- byzer-langByzer(以前的 MLSQL):一种用于数据管道、分析和人工智能的低代码开源编程语言。Scala05