此文章为对论文An Adaptive ORB-SLAM3 System for Outdoor Dynamic Environments的解读,文章链接如下
文章寻找一种新的解决户外动态环境下视觉SLAM低精度的方法。提出了一种针对户外动态环境的自适应特征点选择系统。首先,利用YOLOv5s和注意机制来获得场景中的先验动态对象。然后,基于先验动态对象的数量和先验动态对象在帧中所占据的百分比,使用自适应特征点选择器来选择特征点。最后,利用基于LK光流的几何方法和RANSAC算法确定动态区域。
系统框架:该系统基于传统的ORB-SLAM3。ORB-SLAM3包含三个线程:跟踪线程,局部建图和回环检测线程。我们在ORB-SLAM3之上添加了YOLOv5s检测线程和LK光流线程。
图1.建议算法的系统框架。
框架将在ORB-SALM3中的跟踪线程中完成系统初始化后构建。在现有的基于ORB-SLAM的改进系统中,一般在跟踪线程中执行动态点删除,在特征点提取后删除动态特征点。在我们的系统中,YOLOv5s线程订阅左帧图像,并执行先验动态对象的检测,发送具有边界框坐标的ROS消息。自适应选择器订阅这些ROS消息,并检查任何特征点是否位于边界框内。根据先验动态对象的数量和先验动态对象在当前帧中所占的帧的百分比,自适应选择器然后决定是否删除这些特征点。我们设置N是当前帧中一个先验动态对象的数量,P是当前帧中一个先验动态对象在该帧中所占的百分比。删除边界框中所有特征点的阈值设置为T。如果N < T和P<为50%,则删除边界框内的所有特征点。另一方面,如果N > T或P > 50%,当前帧与前一帧之间的特征点位置由Lucas-Kanade光流跟踪。计算每个边界框中特征点的基本矩阵,以及当前帧和前一个帧之间的每个边界框展开。我们设置了两帧之间的一个边界盒的本质矩阵为Eu,其对应的边界盒展开层的本质矩阵为Ev。采用RANSAC方法来减少本质矩阵Ev和Eu的误差。分别计算Eu的无限范数L1和Ev的无限范数L2,通过比较L2和L1将边界框作为一个静态区域。立体声匹配只使用来自静态区域的特征点来执行。一旦生成了静态帧,活动映射将过滤新的关键帧,并对映射进行优化。
YOLOv5与协调注意力机制
坐标注意力机制通过这种方式将位置信息融入到特征图中,能够让模型更加关注与位置相关的特征,在目标检测等任务中有助于提高对不同位置目标的检测能力,尤其是在处理动态物体时,可以更好地捕捉物体的特征和位置变化,从而提升检测的准确性。
图2.具有协调注意功能的YOLOv5s网络模型。
总体架构
整个网络架构是一个典型的卷积神经网络(CNN)结构,通过层层的特征提取、上采样、下采样、特征融合和注意力机制,最终实现目标检测的功能。这种架构设计能够有效地处理不同尺度的目标,并且通过协同注意力机制增强了对目标位置和特征的捕捉能力。
自适应特征点选择器
几何方法判断动态对象是否静态(先验动态对象占比大于 50% 或数量大于 5 时)
扩展层和光流跟踪:在每个边界框外添加一个 20 像素的扩展层,然后使用 LK(Lucas - Kanade)光流跟踪边界框内特征点的位置和当前帧与前一帧之间扩展层的情况。
低特征点环境处理:如果在扩展层中没有特征点,就认为动态对象处于低特征点环境,这种情况下会使用边界框内的特征点来构建地图。
主要是为了在存在动态对象的环境中,更准确地选择用于地图构建的特征点,减少动态对象对地图构建和系统轨迹误差的影响,提高系统的准确性和稳定性。
在本文中,作者提出了一个针对户外动态环境设计的自适应ORB-SLAM3系统。它利用YOLOv5和协调注意力来识别一个先验的动态对象,如汽车、人和自行车。ORB-SLAM线程订阅由YOLOv5发送的ROS消息,并通过考虑在当前帧中占用的先验动态对象的数量和百分比来删除动态对象的特征点。为了跟踪帧间的特征点,我们使用LK光流,并引入一个边界盒扩展层来捕捉背景运动。
最后作者KITTI数据集上进行了实验,并使用两种不同的特征点选择策略对ORB-SLAM3进行了评估:去除边界框内所有动态点的算法和几何方法。还将系统与当前最先进的DynaSLAM方法进行了比较,并进行了系统时间消耗的比较。这些实验的结果证明了所提出的方法的有效性,与其他系统相比,系统在绝对轨迹误差和相对轨迹误差方面都有了实质性的改进。具体来说,绝对轨迹误差减少高达39%,相对轨迹误差减少高达30%。该系统展示了出色的实时性能能力。
标签:边界,特征,户外,SLAM3,对象,先验,动态,ORB From: https://blog.csdn.net/2401_87345388/article/details/144700944