0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于深度学习的增强版ORB-SLAM3详解

INDEMIND ? 来源:INDEMIND ? 2025-07-14 17:21 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

ORB-SLAM3虽是当前最先进的SLAM之一,但由于使用传统的ORB(定向FAST和旋转BRIEF)特征,在尺度、旋转和光照发生显著变化时可能会表现出局限性。为此,我们将基于深度学习的兴趣点检测和描述符SuperPoint集成到ORB-SLAM3框架中,以取代传统的ORB特征。同时,我们采用自适应非极大值抑制(ANMS)来确保关键点在空间上的均匀分布。最后实验结果表明,在KITTI数据集上,定位精度有了显著提高,六自由度姿态估计中的平均平移误差从4.15%降低到0.34%,平均旋转误差从0.0027度/米降低到0.001度/米。与原始的ORB-SLAM3相比,在更具挑战性的EuRoC数据集上,我们的系统在所有序列中都取得了显著的改进,平移误差从1.2%-1.6%降低到0.5%-0.9%,旋转误差从0.0035-0.0045度/米降低到0.0018-0.0028度/米。

? 文章:

SuperPoint-SLAM3: Augmenting ORB-SLAM3 with Deep Features, Adaptive NMS, and Learning-Based Loop Closure

? 作者:

Shahram Najam Syed, Ishir Roongta, Kavin Ravie, Gangadhar Nageswar*

? 论文链接:

https://arxiv.org/pdf/2506.13089

? 编译:

INDEMIND

? 代码:

https://github.com/shahram95/SuperPointSLAM3

01本文核心内容

深度学习的不断发展催生了更鲁棒的特征检测器和描述符。SuperPoint是一种自监督卷积神经网络,它能同时学习兴趣点检测和描述。它在重复性和匹配精度方面表现出了卓越的性能,尤其是在存在显著几何和光度变换的场景中。此外,在SLAM系统中关键点的空间分布至关重要。均匀分布可以增强特征跟踪和姿态估计的稳定性。自适应非极大值抑制(ANMS)是一种通过根据局部特征强度自适应调整抑制半径来强制关键点选择具有空间均匀性的有效方法。

在本工作中,我们提出将SuperPoint特征集成到ORB-SLAM3中,取代传统的ORB特征,并引入ANMS来改善关键点的空间分布。我们在KITTI数据集上评估了修改后的系统,该数据集提供了具有真实姿态的具有挑战性的户外序列。实验表明,所提出的修改显著提高了定位精度和鲁棒性,验证了将基于深度学习的特征和空间关键点分布策略整合到SLAM流程中的实效性。

02方法

在本节中,我们将详细介绍对ORB-SLAM3框架所做的修改,以集成SuperPoint特征和自适应非极大值抑制(ANMS)。我们将讨论算法上的变更、数据处理方面的结构调整以及遇到的实现挑战。我们的目标是通过利用SuperPoint出色的特征检测和描述能力来增强SLAM系统的稳健性和准确性,同时通过ANMS确保关键点的均匀空间分布。系统架构的详细实现情况可见图1。

wKgZPGh0zD2ATFikAAKBl6WmhWs550.png

A.ORB-SLAM3概述

ORB-SLAM3是一种基于特征的实时视觉SLAM系统,通过利用ORB(定向FAST和旋转BRIEF)特征进行关键点检测和描述来运行。该系统由三个主要线程构成:

? 跟踪线程:处理输入帧,通过将当前特征与局部地图进行匹配来估计相机位姿。

? 局部建图线程:管理局部地图的创建和优化,包括关键帧插入和局部光束平差。

? 回环检测线程:使用词袋(BoW)地方识别系统检测回环,并执行位姿图优化以纠正累积漂移。

wKgZO2h0zD2AEZ-JAAF7zTabb-s969.png

尽管ORB特征计算效率高,但在具有挑战性的视觉条件下,由于其对尺度、旋转和光照变化的敏感性,可能会限制性能。

B.超点特征的集成

为增强特征的鲁棒性,我们用SuperPoint替换了ORB特征提取和描述模块,这是一种基于深度学习的方法,能提供更具判别力和不变性的关键点和描述符。

1)SuperPoint网络集成:

? 模型选择:我们使用了作者提供的预训练SuperPoint网络,该网络在PyTorch中实现,以利用GPU加速和熟悉度。

? 输入处理:输入图像根据SuperPoint网络的要求进行调整和归一化。图像被转换为灰度,因为SuperPoint处理单通道输入。

? 特征提取:SuperPoint网络输出一组关键点位置及其对应的256维描述符。关键点通过检测网络生成的概率热图中的峰值来提取。

? 非极大值抑制:SuperPoint包含一个内部非极大值抑制机制,用于优化关键点检测。

2)对ORB-SLAM3的修改:

? 跟踪模块调整:跟踪线程的特征提取组件被修改为使用SuperPoint。关键点和描述符的数据结构进行了调整以适应SuperPoint的输出。更新以处理浮点描述符,而非二进制ORB描述符。

? 描述符匹配:由于SuperPoint描述符是高维浮点向量,我们将用于ORB描述符的汉明距离替换为欧几里得距离(L2范数)来进行匹配。

? 数据结构:特征存储和地图点表示形式进行了更新,以适应更大的描述符大小。这包括更改序列化和内存管理例程,以处理增加的数据量。

wKgZPGh0zD2Aer3EAAGSe0S6NYI214.png

C.自适应非极大值抑制(ANMS)的实现

为了确保关键点在空间上分布均匀,我们在SuperPoint初始关键点检测之后实现了ANMS。

1)算法描述:

ANMS通过选择不仅响应强度高而且空间分布良好的关键点来工作。对于每个关键点,根据其相对于相邻关键点的响应强度来计算抑制半径。

设S={ki}为检测到的关键点集,其中每个关键点ki具有位置(xi,yi)和响应强度si。

? 抑制半径计算:对于每个关键点ki,计算最小半径ri,使得在半径为ri的圆内不存在其他响应强度sj>si的关键点kj。数学表达式为:

wKgZO2h0zD2ATBLGAAAqv8vCNMs072.png

? 关键点选择:按照抑制半径ri的降序对关键点进行排序。选择前N个关键点以兼顾强度和空间分布。

2)与SuperPoint的集成:

? 非极大值抑制的修改:我们调整了SuperPoint内部的非极大值抑制,使其输出一个更大的初始关键点集,以便ANMS进行最终选择。

? 参数调整:关键点数量N是基于经验评估来设定的,以平衡特征丰富度和计算负载。我们发现对于KITTI数据集,N=1000是有效的。

? 实现细节:ANMS通过使用kd树等数据结构高效实现,用于最近邻搜索以计算抑制半径。

wKgZO2h0zD2ALLy-AAILRfew3Mw488.png

D.描述符匹配与数据关联

1)描述符匹配算法:

? 匹配策略:我们采用了基于L2距离的暴力匹配器,并通过GPU加速进行了优化。

? 比率检验:应用了Lowe的比率检验来过滤模糊匹配。如果最近邻与次近邻的距离之比低于阈值(通常为0.7),则接受该匹配。

? 交叉验证:为了提高鲁棒性,通过确保帧之间的相互最佳匹配来进行交叉验证。

2)对系统组件的影响:

? 跟踪线程:姿态估计依赖于当前帧特征与地图点之间的准确匹配。改进的描述符提高了匹配精度,从而获得了更好的姿态估计。

? 局部建图线程:创建新的地图点和关键帧时,对特征数量的增加及其分布进行了调整。

E.兼容性问题处理

1)描述符维度:

? 描述符大小增加:SuperPoint描述符为256维,而ORB描述符为32字节。这增加了内存使用量,并需要对数据存储和传输进行调整。

? 序列化:更新了地图序列化例程以处理浮点描述符,确保地图数据能够正确保存和加载。

2)回环模块:

? 与BoW词汇表不兼容:ORB-SLAM3中的BoW地点识别系统是为二进制描述符设计的,无法直接使用SuperPoint描述符。

? 临时解决方案:在初始测试中禁用了回环功能。这使我们能够专注于评估SuperPoint特征对跟踪和建图的影响。

? 未来工作:我们计划集成基于学习的地点识别系统,例如NetVLAD,它可以处理高维描述符。

3)深度过滤:

? 实现细节:丢弃了对应于估计深度大于20米的地图点的特征,以减少不可靠远距离特征的影响。

? 原因:由于立体相机的基线有限,远处的特征往往深度估计不够准确,对精确姿态估计的用处不大。

? 对地图构建的影响:这种过滤通过专注于具有更好几何约束的较近特征,提高了系统的鲁棒性。

F.计算方面的考虑

1)性能优化:

? GPU加速:SuperPoint推理在GPU上执行,与CPU执行相比显著减少了计算时间。

? 批量处理:我们通过在可能的情况下处理图像批次来优化数据处理,减少了每帧的开销。

? 并行化:匹配和ANMS计算使用多线程进行并行化,以利用多核CPU架构。

2)实时操作:

? 性能分析:我们对系统进行了性能分析以识别瓶颈。特征提取和匹配阶段是计算最密集的。

? 优化技术:我们采用了高效的算法和数据结构,例如近似最近邻搜索,以减少计算时间。

? 权衡:在计算负载和系统性能之间取得了平衡,调整了诸如关键点数量和匹配阈值等参数。

G.实现挑战

1)内存管理:

? 内存使用增加:更大的描述符增加了地图的内存占用。我们优化了内存分配和释放,以防止内存泄漏并减少开销。

? 垃圾回收:更积极地修剪未使用的地图点和关键帧,以管理内存消耗。

2)算法稳定性:

? 收敛问题:初步实验表明,由于SuperPoint特征的不同特性,优化例程存在不稳定性。我们在束调整中调整了收敛标准和异常值拒绝阈值。

3)系统集成:

? 代码库复杂性:ORB-SLAM3是一个具有相互依赖模块的复杂系统。确保一个组件的更改不会对其他组件产生不利影响需要仔细的测试和验证。

? 文档和可维护性:我们详细记录了代码修改,以方便未来的开发和调试。

03实验

实验设置

1)数据集准备:

? KITTI里程计数据集:我们使用了00到10序列,这些序列包含用于评估的真实位姿。

? EuRoC微型飞行器数据集:我们在所有序列(从MH01easy到V203difficult)上进行了评估,涵盖了包括快速运动和光照不良在内的各种具有挑战性的场景。

? 数据转换:图像对被转换为所需的格式,确保同步和正确的校准参数。

2)评估指标:

? 绝对轨迹误差(ATE):衡量估计轨迹与真实轨迹之间的差异。

? 相对位姿误差(RPE):评估短段轨迹的局部精度。

? 误差计算:使用KITTI基准套件和EuRoC评估工具计算指标。

实验流程:

? 基线比较:我们在两个数据集上运行原始的ORB-SLAM3以建立基线性能指标。

? 改进系统测试:在相同条件下测试带和不带ANMS的SuperPointSLAM。

? 重复实验:每个实验均重复多次,以确保结果的一致性并考虑随机变化。

定量结果

wKgZPGh0zD2ALxb1AAFB4_EIDTg285.png

视觉轨迹对比

我们绘制了所有序列(00至10)的二维投影(XZ平面)和六维姿态轨迹。这些图表展示了估计的轨迹与KITTI数据集提供的真实轨迹的重叠情况。

wKgZPGh0zD2AH-tuAAIP9z0yZME107.png

观察结果

1)ORB-SLAM3:

? 在没有回环的序列中表现出明显的漂移。

? 随着时间的推移,漂移逐渐累积,导致与真实轨迹出现显著偏差。

2)SuperPointSLAM:

? 与ORB-SLAM3相比,漂移有所减少。

? 由于更稳健的SuperPoint描述符,特征匹配效果更好。

3)SuperPointSLAM+ANMS:

? 进一步减少了漂移,提高了轨迹估计的准确性。

? 关键点的均匀分布增强了姿态估计的稳定性。

D.有趣观察及问题

1)无回环序列中的漂移:

? ORB-SLAM3在没有回环机会的序列中存在明显的漂移。

? 使用ANMS的SuperPointSLAM表现更佳,与真实轨迹的对齐度更高。

2)垂直轴和俯仰角抖动:

? 当车辆经过不平整路面时,沿Y轴(垂直方向)和俯仰角会出现明显的抖动。地形因素,例如减速带。

? 这种影响在ORB-SLAM3中更为明显,而在SuperPointSLAM中使用ANMS则有所缓解。

3)错误的回环闭合尝试:

? 在使用ANMS的SuperPointSLAM中,我们观察到系统会尝试在距离初始位置约350米的地方闭合回环,即使在没有实际回环闭合的序列中也是如此。

? 这个问题的出现是因为BoW回环闭合检测机制与SuperPoint描述符不兼容,导致出现误报。

? 回环闭合模块需要进行调整或替换,以与SuperPoint特征有效配合。

04总结

通过整合Super-Point特征和ANMS,已显示出在定位精度和鲁棒性方面的显著提升。初步结果表明,基于深度学习的特征能够增强传统的SLAM系统。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SLAM
    +关注

    关注

    24

    文章

    444

    浏览量

    32549
  • 数据集
    +关注

    关注

    4

    文章

    1224

    浏览量

    25540
  • 深度学习
    +关注

    关注

    73

    文章

    5564

    浏览量

    122942

原文标题:增强版ORB-SLAM3!利用深度特征、自适应非极大值抑制和学习回环检测,显著提升精度和鲁棒性!

文章出处:【微信号:gh_c87a2bc99401,微信公众号:INDEMIND】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ubuntu下安装vi增强版vim

    我用的是ubuntu,装了vi增强版vim,却找不到,为什么,在哪能找到,求大神们指教
    发表于 11-06 21:55

    请问用树莓派运行ORB-SLAM2算法可行吗?

    最近想用树莓派3B跑ORB-SLAM2,现在的问题就是Pangolin无法执行,每次执行都报错 Pangolin X11: Unable to retrieve framebuffer
    发表于 03-15 22:30

    深度学习中的图片如何增强

    深度学习中的图片增强
    发表于 05-28 07:03

    视觉SLAM特征点法与直接法对比分析

    视觉SLAM——特征点法与直接法对比以及主流开源方案对比 ORB LSD SVO DSO
    发表于 06-02 16:56

    机器人SLAM实现

    、位姿变换估计以及闭环检测对SLAM系统的影响,建立了关键帧闭环匹配算法和SLAM实时性与鲁棒性之间的关系,提出了一种基于ORB关键帧匹配算法的SLAM方法。运用改进
    发表于 03-26 10:57 ?6次下载

    机器和深度学习增强SLAM技术,有助于感知时代的到来

    机器和深度学习的最新进展已改进了SLAM技术,从而导致地图的丰富性增加,语义场景理解提高了定位,地图质量和坚固性。
    发表于 08-12 11:35 ?1379次阅读

    ORB SLAM中涉及的一些基础概念

    ORB-SLAM 3提供了多地图的存储和拼接功能,在跟踪丢失后可以尝试将现有地图和历史地图进行匹配、融合,并更新当前的活跃地图(Active Map)
    的头像 发表于 10-28 14:28 ?1652次阅读

    基于视觉传感器的ORB-SLAM系统的学习

    视觉SLAM是一种基于视觉传感器的 SLAM 系统,与激光传感器相比,视觉传感器具有成本低、保留环境语义信息的优点,能够与深度学习进行大量结合。
    的头像 发表于 11-02 15:02 ?1391次阅读

    基于深度学习的视觉SLAM综述

    (Visual SLAM,VSLAM)是将图像作为主要环境感知信息源的SLAM系统,VSLAM以计算相机位姿为主要目标,通过多视几何方法构建3D地图[4]
    的头像 发表于 12-02 15:00 ?2671次阅读

    ORB-SLAM3ORB-SLAM2相比有哪些优势呢?

    自主导航是机器人基础性和关键性技术,是机器人实现其他更高级任务的前提。视觉 SLAM (Simultaneous Localization And Mapping) 利用视觉传感器获取环境图像信息,基于多视图几何算法构建环境地图。
    的头像 发表于 01-16 10:58 ?3802次阅读

    ORB-SLAM3整体流程详解

    ORB-SLAM2相比,ORB-SLAM3在处理大视差和长时间未观测到的场景时效果更好。它还提供了更准确的帧间运动估计和更快的处理速度。
    的头像 发表于 06-19 09:28 ?5273次阅读
    <b class='flag-5'>ORB-SLAM3</b>整体流程<b class='flag-5'>详解</b>

    基于英特尔开发套件使用ORB-SLAM3实现无人机实时定位

    工业建模对于精度有着高要求,这意味着无人机的 SLAM 算法要提供可靠的实时位姿估计。ORB-SLAM3 是目前融合双目视觉与 IMU 的优秀算法,其前端是针对实时性优化的 ORB 描述子与关键帧
    的头像 发表于 09-18 10:12 ?1826次阅读
    基于英特尔开发套件使用<b class='flag-5'>ORB-SLAM3</b>实现无人机实时定位

    视觉SLAM开源算法ORB-SLAM3原理与代码解析

    地图点/路标点:将图像上被观察到的特征点通过三角化等方式进行深度恢复,我们就可以得到其对应的在三维空间的位置,同时包含帧的观测信息,这种点就被称为地图点或路标点。
    的头像 发表于 11-09 17:25 ?3658次阅读
    视觉<b class='flag-5'>SLAM</b>开源算法<b class='flag-5'>ORB-SLAM3</b>原理与代码解析

    工程实践中VINS与ORB-SLAM的优劣分析

    ORB-SLAM是一种基于特征的单目视觉SLAM系统,广泛用于实时三维地图构建和机器人定位。该系统使用ORB特征进行高效的视觉识别和地图重建,支持关键帧技术和回环检测来优化地图的准确性。
    的头像 发表于 04-08 10:17 ?4519次阅读
    工程实践中VINS与<b class='flag-5'>ORB-SLAM</b>的优劣分析

    深度解析深度学习下的语义SLAM

    随着深度学习技术的兴起,计算机视觉的许多传统领域都取得了突破性进展,例如目标的检测、识别和分类等领域。近年来,研究人员开始在视觉SLAM算法中引入深度
    发表于 04-23 17:18 ?1914次阅读
    <b class='flag-5'>深度</b>解析<b class='flag-5'>深度</b><b class='flag-5'>学习</b>下的语义<b class='flag-5'>SLAM</b>