【论文阅读】NGD-SLAM: Towards Real-Time SLAM for Dynamic Environments without GPU

arxiv上一篇很新的视觉SLAM论文,能够在不使用GPU的情况下进行语义分割的辅助运算。

一、跟踪流程

作为一个语义结合的视觉SLAM,其基本的思路和以前看过的DynaSLAM基本类似,都是依赖语义分割模型对场景中动态的特征点进行剔除,这样子减少动态物体对里程计的干扰。传统的解决方案是传入的每一帧开两个线程,一个用于语义分割,另一个用于特征提取,之后根据语义结果过滤特征结果。由于特征提取速度一般要比语义分割快得多,所以经常会出现整个系统等待语义分割模型推理的现象。而NGD-SLAM通过巧妙的框架设计,让跟踪线程不需要完全等待语义分割。
在这里插入图片描述
从论文中的流程图可以看出,第一帧还是存在一个等待的过程,但是后续的过程中得益于语义跟踪的加入,并不需要每一帧都等待。

二、语义线程

整个框架选择使用YOLO-fastest来进行语义分割,而且作者设置了一个很独特的缓冲区用于传递模型的输入和输出。输入的部分会实时更新,推理的结果会保存到输出缓冲区。跟踪线程每处理一张图像,就把这张图放入输入缓冲区,之后模型推理完再放到输出缓冲区。这样跟踪线程就不会被迫等待语义分割线程。但这也使得两个线程不同步,也就是处理的图像并不是同一时刻的,这个问题NGD-SLAM使用掩码预测进行了修正。

三、掩码预测

所谓掩码预测,其实就是根据类似恒速模型的方法,推测一个可能动态物体的位置。作者将这个模块分为六步。

### 如何运行 NGD-SLAM 算法 为了成功部署并运行 NGD-SLAM 系统,需遵循一系列特定的操作流程。该系统旨在实现在无需GPU支持的情况下处理动态环境中实时同步定位与建图(SLAM)[^1]。 #### 准备工作环境 确保安装了必要的依赖库和工具链,包括但不限于CMake、Eigen以及PCL(Point Cloud Library),这些对于编译源码至关重要。此外,还需配置ROS(Robot Operating System)环境,因为NGD-SLAM基于此平台构建[^3]。 #### 获取源代码 访问官方提供的链接下载最新的NGD-SLAM版本及其配套的数据集用于测试验证性能。通常情况下,项目会托管于GitHub或其他公共仓库中,并附带详细的README文档指导用户完成初步设置。 #### 编译工程文件 进入解压后的目录执行如下命令来生成可执行程序: ```bash cd ngd_slam_ws/src/ catkin_init_workspace cd .. catkin_make -j4 source devel/setup.bash ``` 上述脚本将初始化工作空间并对整个工程项目进行编译优化,最后加载新创建的包到当前shell session以便后续调用。 #### 启动节点服务 通过启动launch文件快速搭建起完整的SLAM框架实例化过程。例如,假设存在名为`ngd_slam.launch`的配置文件,则可以通过下面的方式激活它: ```bash roslaunch ngd_slam ngd_slam.launch ``` 这一步骤将会读取预定义参数自动连接至指定硬件设备(如LiDAR传感器), 开始采集数据流并在线计算位姿变化量更新地图模型。 #### 数据可视化分析 借助RViz等图形界面辅助观察三维重建效果及轨迹跟踪情况。调整视窗布局显示不同类型的点云信息层叠叠加在一起形成直观的地图表示形式。 #### 结果评估指标 对比其他同类方案的表现差异,特别是在面对复杂多变的城市交通场景时能否保持稳定可靠的导航能力成为衡量优劣的关键因素之一。具体可以从位置误差累积程度、特征匹配成功率等方面入手进行全面考量[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ayakanoinu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值