缩略图
Mobile Science

基于 YOLO 的 ORB-SLAM3 动态物体剔除改进型算法   

作者

翟庆盛 卢加一 季久玉

辽宁石油化工大学 信息与控制工程学院 辽宁抚顺 113000

1 引言

随着室内服务机器人、无人配送等应用的普及,动态场景下的精准定位成为移动机器人自主导航的核心挑战[1]。SLAM(SimultaneousLocalization And Mapping)技术作为机器人自主导航领域的核心,主要分为激光雷达 SLAM 和视觉 SLAM 两大类。在动态场景下,传统SLAM 算法面临诸多挑战,如动态物体导致的特征点误匹配,会使机器人轨迹出现较大漂移,增加建图误差。现有研究主要通过目标检测与 SLAM 融合实现动态特征点剔除,但算法性能仍存在显著差异[2]。Zhou L 等 [3] 在 ORB-SLAM3 框架中引入 YOLOv3 检测动态目标并剔除相关特征点,但 YOLOv3 的高计算量导致系统帧率降至 0-15 FPS ;Xiao L 等 [4] 提出 Dynamic-SLAM,采用 SSD 检测线程与漏检补偿算法提升动态目标召回率至 99.8%,但多线程同步延迟使其定位精度下降 12% ;Li J 等 [5] 将轻量化 YOLOv5 与视图几何融合,通过光流方差分析和动态阈值剔除策略,在 KITTI 数据集上实现 0.127m 的 ATE 精度(较 ORB-SLAM3 提升 89.5%),但因串行执行架构限制,实时性仅达 20 FPS。当前算法普遍面临目标检测模型计算负载与 SLAM 实时性的冲突,未来需要通过模型轻量化、硬件加速及多传感器融合进一步突破性能瓶颈。

综上所述,针对移动机器人在动态场景下视觉导航过程中定位精度低的问题,本文提出一种融合语义分割与动态特征剔除的改进型SLAM 算法。主要工作由三部分组成:1)动态场景下的视觉SLAM 算法;2)实时优化策略;3)TUM 数据集仿真实验。

2 动态场景下的视觉SLAM 算法框架

本文利用 ROS 系统将使用 Python 编程语言的 YOLO 算法和 C++ 编程语言的 ORB-SLAM3 进行关联。首先,使用预训练数据对 YOLOv11-seg 模型进行训练,并将训练完成后的模型封装为 ROS 节点,以便与 ORB-SLAM3 的 ROS 节点通信。在 ROS 系统中创建两个通信话题,分别命名为 masked 和 things,用于发布处理后的图像以及识别到的目标物体信息。通过深度相机获取正常的 RGB 视频流及其对应的深度图像,并将 RGB 图像输入到 YOLO 节 态物体分割。 识别到的目标物体信息将发布在 things 话题上,同时对动态物体进行剔除处理后的图像将发布在 masked 话题上, 而深度图像则直接传递给 ORB-SLAM3 节点。ORB-SLAM3 节点接收来自 masked 话题的处理后的 RGB 图像和直接传递的深 和地图构建。 过跟踪线程、局部建图线程和闭环检测线程的协同工作,ORB-SLAM3 实现了相机的位姿跟踪和地图的实时 其次, 在特征点识别过程中,利用 YOLO 提供的动态物体区域信息,剔除动态物体区域内的特征点,仅保留静态环 的特征点, 而提升定位和建图的准确性。选择轻量化的 YOLOv11n-seg 模型和优化的处理流程,确保整个算法在满足实时性要求的同时,能够有效地剔除动态物体的特征点,进而提高 SLAM 系统在动态环境中的性能。整个算法框架流程在 ROS 系统中实现,借助模块化的设计和异步通信机制,保证了语义处理与特征跟踪的并行执行,从而提高了系统的实时性和鲁棒性。其算法框架如图1 所示。

图1 动态场景下基于ORB-SLAM3 的视觉定位算法框架

3 TUM 数据集仿真实验

3 1 实验条件

实验数据集采用 TUM 数据集下的 fr3_w_xyz 序列,这是一个广泛用于机器人、计算机视觉和 SLAM 研究的公开 RGB-D 数据集。该数据集模拟了室内动态场景,包含丰富的动态物体和复杂的环境变化,能够充分验证算法在实际应用中的性能和鲁棒性。数据集的具体特点如下:包含彩色图、深度图及相机运动过程中的真实轨迹groundtruth,为算法的评估提供了全面的数据基础。相机分别沿着x、y、z 轴运动,拍摄过程中有2 个人围绕桌子大幅度运动,增加了场景的动态性和复杂性。

本实验在硬件和软件配置较为先进的个人计算机上进行,硬件配置包括英特尔酷睿i7-10700K 处理器、NVIDIA GeForce RTX 3080 显卡和 32 GB DDR4 内存。软件环境为 Ubuntu 20.04 LTS 操作系统、ROS Noetic 版本、PyTorch 1.10.0 深度学习框架和 CUDA 11.3 版本。3.2 仿真结果与分析

为验证本文算法能否检测运动目标,并检测动态物体剔除效果,本文在 TUM 数据集下的 fr3_w_xyz 序列进行实验,分别运行 ORB-SLAM3 与本文改进算法,通过运行窗口查看运行效果,如图2 所示。对比图 2(a)与图 2(b),以及图 3(a)与图 3(b)可知,将处理后的图像及深度图像输入至 ORB-SLAM3 算法后,通过特征点筛选机制,ORB-SLAM3 算法可识别的特征点数量显著减少。与此同时,留存的特征点大多为有效的静态环境特征点,使得动态物体区域内的特征点数量大幅降低。

图2 2 种算法运行效果

(a)ORB-SLAM3 构建路径 3D 视图 (b)本文算法构建路径3D 视图

图3 2 种算法构建路径3D 视图

为深入验证本文所提算法的有效性与鲁棒性,分别运用本文算法与 ORB-SLAM3 算法对 TUM 数据集中 rgb_walking_xyz 序列执行点云地图的关键帧路径构建及相机路径构建操作。在此基础上,本文将针对 KeyFrameTrajectory 与 CameraTrajectory 展开评估,从多个维度的指标予以分析。具体而言,针对两种算法由关键帧构建的轨迹路径,分别从 xyz 坐标、rpy 姿态角、speeds 速度以及整体的trajectories 轨迹等方面进行全面评估。

图 4 和图 5 分别展示了 ORB-SLAM3、CameraTrajectory 和 KeyFrameTrajectory 三种算法在 xyz 方向和 rpy 方向上的轨迹对比。在xyz 方向上,ORB-SLAM3 构建的轨迹在动态物体频繁出现的区域存在明显漂移和波动,尤其在 y 方向上波动显著;而 CameraTrajectory 和KeyFrameTrajectory 算法构建的轨迹更加平滑稳定,与真实轨迹拟合度更高,轨迹波动较小,能更好地反映机器人实际运动路径。在 rpy方向上,ORB-SLAM3 的轨迹在roll 和yaw 方向波动较大,而两种改进算法的轨迹与真实轨迹拟合度更高,波动显著减小,稳定性大幅提升,避免了因动态物体干扰导致的较大偏差。

综上所述,改进算法在 xyz 和 rpy 两个方向上均展现出显著优势。通过引入 YOLOv11n-seg 模型进行动态物体检测和特征点剔除,有效减少了动态物体对轨迹构建的干扰。同时,利用深度信息构建的双数据流架构进一步提升了特征点匹配的准确性和鲁棒性,使得构建的轨迹更加平滑、稳定,与真实轨迹的拟合度更高。

(a)原始轨迹 (b)CameraTrajectory 轨迹 (c)KeyFrameTrajectory 轨迹

图 4 xyz 方向轨迹对比

(a)原始轨迹 (b)CameraTrajectory 轨迹 (c)KeyFrameTrajectory 轨迹

图 5 rpy 方向轨迹对比

本文采用evo 工具评估SLAM 算法性能,以相对位姿误差(RPE)和绝对位姿误差(APE)作为误差精度指标。RPE 用于计算关键帧中第i帧的位姿误差,而APE直接衡量SLAM算法构建的相机路径与真实路径之间的误差。由于RPE在评估SLAM算法性能方面不如APE具有表征性,本文选择APE 作为主要评估指标。

经过计算机处理,最终获得 CameraTrajectory 算法和 KeyFrameTrajectory 算法的绝对位姿误差,如表 1 和表 2 所示,表中采用最大误差(max)、平均误差(mean)、误差中值(median)、最小误差(min)、均方根误差(RMSE)、方差(sse)与标准差(std)作为算法的评价指标误差值越小,则算法的估计值越接近真实位姿值,算法鲁棒性越好。

表 1 CameraTrajectory 算法的 ape 评估结果

表 2 KeyFrameTrajectory 算法的 ape 评估结果

观察表 1 和表 2 可知,本文算法的均值和中位数误差显著低于 ORB-SLAM3,误差分布更加集中,对称性更优;标准差明显低于 ORB-SLAM3,轨迹估计的稳定性更高,受环境动态性或传感器噪声的影响较小;最小误差和最大误差均较ORB-SLAM3低一个量级,其在极端情况(如快速运动、低纹理区域)下具有更强的鲁棒性。

为了更加直观地查看本文算法的定位效果,将 ORB-SLAM3、CameraTrajectory 算法与 KeyFrameTrajectory 算法的绝对位姿及其位姿误差分别进行比较,结果如图6 和图7 所示。

(a)ORB-SLAM3

(a) RB-SLAM3 (b)CameraTrajectory (c)KeyFrameTrajectory

图6 三种算法的绝对位姿图

(b)CameraTrajectory

(c)KeyFrameTrajector

图7 三种算法的绝对位姿误差图

本文采用evo工具评估SLAM算法性能,以相对位姿误差(RPE)和绝对位姿误差(APE)作为误差精度指标。RPE用于计算关键帧中第i帧的位姿误差,而APE直接衡量SLAM算法构建的相机路径与真实路径之间的误差。由于RPE在评估SLAM算法性能方面不如APE具有表征性,本文选择APE作为主要评估指标。

经过计算机处理,最终获得CameraTrajectory算法和KeyFrameTrajectory算法的绝对位姿误差,如表1和表2所示,表中采用最大误差(max)、平均误差(mean)、误差中值(median)、最小误差(min)、均方根误差(RMSE)、方差(sse)与标准差(std)作为算法的评价指标误差值越小,则算法的估计值越接近真实位姿值,算法鲁棒性越好。

从图6的位姿图可以看出,CameraTrajectory估计的位姿与真实位姿偏差较小,KeyFrameTrajectory估计的位姿与CameraTrajectory几乎一致,而 ORB-SLAM3 估计的位姿与真实位姿偏差较大。从图 7 的位姿误差图可以看出,相较 ORB-SLAM3 和 KeyFrameTrajectory 算法,CameraTrajectory 算法在高动态场景中的单帧误差波动较少,绝对位姿误差与相对位姿误差范围较小。

综上所述,本文提出的改进型 SLAM 算法在动态场景下的定位与建图性能显著提升。通过引入 YOLOv11n-seg 模型进行动态物体检测和特征点剔除,有效降低了动态物体对机器人定位的影响。实验结果表明,改进算法在相机轨迹和关键帧轨迹的平均误差、均方根误差、方差等指标上均大幅优于原始ORB-SLAM3 算法。

4 结论

本文提出了一种面向室内移动机器人的改进型SLAM算法,通过融合语义分割与动态特征剔除技术,有效解决了动态环境下传统SLAM算法定位精度低、实时性差的问题。该算法基于ORB-SLAM3框架,利用轻量化的YOLOv11n-seg模型实时检测动态目标,并结合深度信息构建双数据流架构,精准剔除动态物体的特征点,保留静态特征点完成位姿跟踪。实验结果表明,相较原始ORB-SLAM3,相机轨迹平均误差降低94.47%,关键帧平均误差下降94.52%;RMSE指标分别优化94.55%与94.03%;SSE方差更是达到99.71%与99.82%的降幅,且在实时性方面表现出色,运行帧率稳定在42.63 FPS以上。这验证了改进算法在动态场景下能够有效降低动态物体对定位的影响,提升定位精度与鲁棒性,为室内移动机器人自主导航提供了可靠的解决方案。后续实验可以引入毫米波雷达等,提升算法在复杂环境下的适应性,为室内移动机器人自主导航提供更完善的解决方案。

参考文献

[1]Campos, C., Elvira, R., Rodríguez, J. J. G., Montiel, J. M., & Tardós, J. D. (2020). ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial and Multi-Map SLAM. IEEE Transactions on Robotics, 37(6), 1874-1890.

[2]薛轲翰 (2020). 视觉-惯性SLAM紧耦合优化的数学建模与实验分析. 自动化学报, 46(9), 1801-1816.

[3]Zhou L, Zhang Y, Wang H. Dynamic SLAM with Real-time Object Detection and Feature Pruning. In: 2022 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). Piscataway, NJ: IEEE, 2022: 5678-5683.

[4]Xiao L, Chen W, Liu Z. Dynamic-SLAM: A Semantic-aware Framework for Dynamic Environments. IEEE Robotics and Automation Letters, 2021, 6(3): 4392-4397.

[5]Li J, Xu T, Yang K. YVG-SLAM: Integrating YOLOv5 and View Geometry for Robust Dynamic SLAM. In: Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW). 2023: 112-120.

基金项目:辽宁省大学生创新创业训练计划项目(202410148015)。

作者简介:翟庆盛,辽宁石油化工大学信息与控制工程学院,本科,研究方向为智能机器人;卢加一,辽宁石油化工大学信息与控制工程学院,硕士研究生,研究方向为人工智能;季久玉,辽宁石油化工大学信息与控制工程学院,博士,副教授,研究方向为智能检测。