前面忘记记录了,大概记一下后面```
看了很多大佬的文章(感谢!),包括但不限于以下参考文章:
Ubuntu16.04编译dynslam总结-****博客
ubuntu14.04 CUDA8.0 DynSLAM编译与运行-****博客
【视觉SLAM十四讲】Pangolin编译失败,踩坑日记_ubuntu20.04安装pangolin0.5报错-****博客
视觉SLAM十四讲 Ubuntu20.04 Pangolin 环境配置_pangolin-0.5-20.04-****博客
Ubuntu20.04安装docker教程_ubuntu20.04 安装docker-****博客
Pangolin 安装和配置指南-****博客
安装nvidia-docker_nvidia-docker安装-****博客
Pangolin 安装和配置指南-****博客
//
一.构建
1.清除构建(build路径)
rm -rf
2.重新构建
cmake ..
make -j$(nproc)
3.构建成功
二.运行
tips:别忘了先创建一个csv文件夹
1.运行命令(按需修改数据路径)
./DynSLAMGUI --dataset_root=/home/huang/Data/dynslam/mini-seq-06 --dataset_type=kitti-odometry
2.运行完毕
3.GUI界面
左侧控制面板:
- 包含一系列操作按钮和选项,用于控制 DynSLAM 的行为。
[N]ext Frame
:跳转到下一帧。[S]ave Static Map
:保存静态地图。Force cleanup of current instance
:强制清理当前实例。Rec
:显示当前活动重建的数量。Previous Object [z]
和Ne[x]t Object
:在对象之间导航。Save Active [o]bject
:保存当前活动对象。[Q]uit
:退出程序。Previous Preview Type [j]
和Next Preview Type [k]
:切换预览类型。Map Voxel [G]
和Raw Previews
:可能是查看地图体素和原始预览的选项。Show Scene Flow
:显示场景流,可能用于可视化相机的运动轨迹或特征点的流动。顶部预览窗口:
- 显示当前处理的帧(Frame #97)。
- 提供一个*相机预览,可能用于在 3D 地图中导航。
中心图像:
- 显示立体相机的一对立体图像,用于深度估计和地图构建。
右侧 3D 视图:
- 显示通过 DynSLAM 重建的 3D 地图。颜色编码可能表示不同的权重或不确定性,例如,红色可能表示低权重区域,蓝色表示高权重区域。
底部图表:
- 显示内存使用情况和活动跟踪的数量。
Free GPU Memory (100s of MiB)
:显示 GPU 的剩余内存。Static map memory usage (100s of MiB)
:显示静态地图的内存使用量。Static map memory usage without decay (100s of MiB)
:显示没有衰减的静态地图内存使用量。Active tracks
:显示活动跟踪的数量。
DynSLAM GUI 界面中的各个部分输出如下:
左侧控制面板:
- 这是用户与 DynSLAM 交互的界面,不直接输出数据,但提供控制命令。
顶部预览窗口:
- 显示当前处理的帧的立体图像或3D视图,用于直观展示当前帧的相机视角或重建的3D视图。
中心图像:
- 立体图像:一对立体图像,用于深度估计。
- 彩色图像:可能是单目相机图像或立体图像中的一个。
右侧3D 视图:
- 显示通过 DynSLAM 重建的3D 地图。颜色编码表示体素的权重或不确定性,红色可能表示低权重或噪声区域,蓝色表示高权重或系统更有信心的区域。
底部图表:
- Free GPU Memory (100s of MiB):显示 GPU 剩余内存量,单位是 MiB 的百分之一。
- Static map memory usage (100s of MiB):显示静态地图使用的内存量,单位是 MiB 的百分之一。
- Static map memory usage without decay (100s of MiB):显示没有考虑内存衰减(可能指未释放不再需要的内存)的静态地图内存使用量。
- Active tracks:显示当前活跃的跟踪数量,即 DynSLAM 正在处理的特征点或物体的数量。
这些输出为用户监控和调试 DynSLAM 的运行状态提供了可视化信息。例如,用户可以通过观察内存使用情况来评估是否需要优化算法或增加硬件资源。通过3D视图,用户可以直观地看到重建的地图质量,并通过控制面板进行交互式操作,如切换到下一帧或保存当前的重建结果。
4.让程序自动运行,需要在启动的时候设置参数(--autoplay=true)
./DynSLAMGUI --use_dispnet --dataset_root=/home/huang/Data/dynslam/mini-seq-06 --dataset_type=kitti-odometry
./DynSLAMGUI
:执行位于当前目录(~/Code/Open/DynSLAM/build
)下的 DynSLAM GUI 可执行文件。--use_dispnet
:指示使用 DispNet 网络来估计深度信息。--dataset_root=/home/huang/Data/dynslam/mini-seq-06
:指定数据集的根目录为新路径。--dataset_type=kitti-odometry
:指定数据集类型为 KITTI 里程计数据。