基于改进的点线融合和关键帧选择的视觉SLAM 方法

本文基于DOI:10.13973/j.cnki.robot.240093总结

本文提出了一种改进的视觉 SLAM 方法PLKF-SLAM ,通过点线特征融合动态阈值关键帧选择策略解决弱纹理环境下特征提取不足和关键帧冗余问题。方法通过加权融合距离和角度误差函数优化点线特征融合,并引入自适应因子动态平衡线特征在光束平差中的参与度;同时基于几何映射模型和动态阈值策略减少冗余关键帧。实验表明,与 ORB-SLAM3 相比,PLKF-SLAM 在 EuRoC 数据集上平均定位精度提升 52.64%,在 UMA-VI 数据集提升 63.20%,真实场景定位误差仅 0.05 米。

一、研究背景与目标

  • 问题:弱纹理环境下特征点不足导致 SLAM 精度下降,传统关键帧选择策略冗余度高。
  • 目标 :提出PLKF-SLAM,结合点线特征融合与动态关键帧选择,提升弱纹理场景的定位精度与实时性。

图1 系统流程框图

二、方法改进

(1)点线特征融合策略
  • 特征提取
    • 点特征:ORB 特征(FAST+BRIEF)。
    • 线特征:LSD 检测 + LBD 描述符。

图 2 线特征误差函数模型

  • 误差函数优化
    • 融合距离误差(端点重投影)与角度误差(向量余弦),通过加权矩阵平衡不同误差贡献。
  • 自适应因子
    • 引入动态调整因子F(α(P)) = 2^(-α(P)/80),根据点特征数量α(P)自动调节线特征在光束平差中的权重,减少计算负担。
(2)关键帧选择策略
  • 几何映射模型
    • 统计特征点变化区域,通过 3 个 15° 分割区域的特征点变化量评估帧间差异。

图 3 几何映射模型

本文建立的几何映射模型需要理 解和计算场景的 3 维结构,以提供更丰富的信息进行位姿估计。图中,五角星代表路标点,方框代表检测到的特征点,圆形代表跟踪到的特征点。通过统计每帧图像中的特征点总量、跟踪点数以及几何映射区域内发生变化的点的数量等参数来确定动态阈值。首先,将当前帧中的部分特征点与上一关键帧中的特征点进行匹配,以计算对应的 3 维路标点。然后,为每个路标点构建一个几何映射模 型 ,连接路标点与几何映射模型平面,其主轴 垂直于圆形几何映射模型中心,3个区域与主轴以15°角进行分割。 将每帧中的各跟踪点的位置与其 在地图中的路标点对应位置连接,形成矢量,并根据该矢量与主轴的夹角将矢量划分到 3 个既定区 域。从上一个关键帧移动到当前帧时,矢量在每个 区域内对应的特征点数量也发生变化,基于这些变化点的数量,确定动态阈值,以决定是否插入新的关键帧。

  • 动态阈值
    • 初始阈值T_initial基于特征点匹配数量与变化量计算。
    • 动态调整公式:T = (1 + εθ + α - β)T_initial,其中:
      • ε:间隔控制系数(避免冗余关键帧)。
      • θ:特征匹配衰减系数。
      • α/β:参考帧与当前帧特征变化调整系数。

结论

首先在 ORB-SLAM3 算法前端引入线特征提取机制,对现有的点特征进行补充,同时通过优化误差函数模型降低了离群值的影响。其次,在跟踪线 程中引入自适应因子,可调节线段在平差过程中的 权重,增强了系统在复杂环境中的适应性。 最后,为解决 SLAM 系统在关键帧选择上的缺陷,本文采用几何和时间约束方法优化选择策略,有效减少冗余并合理选取关键帧。

相关推荐
Kali_073 分钟前
使用 Mathematical_Expression 从零开始实现数学题目的作答小游戏【可复制代码】
java·人工智能·免费
贾全9 分钟前
第十章:HIL-SERL 真实机器人训练实战
人工智能·深度学习·算法·机器学习·机器人
每日摸鱼大王15 分钟前
互联网摸鱼日报(2025-07-01)
人工智能
GIS小天24 分钟前
AI+预测3D新模型百十个定位预测+胆码预测+去和尾2025年7月4日第128弹
人工智能·算法·机器学习·彩票
lx74160269828 分钟前
cd-agent更换cd模型(自用)
计算机视觉
我是小哪吒2.035 分钟前
书籍推荐-《对抗机器学习:攻击面、防御机制与人工智能中的学习理论》
人工智能·深度学习·学习·机器学习·ai·语言模型·大模型
慕婉030739 分钟前
深度学习前置知识全面解析:从机器学习到深度学习的进阶之路
人工智能·深度学习·机器学习
荔枝吻1 小时前
【AI总结】Git vs GitHub vs GitLab:深度解析三者联系与核心区别
人工智能·git·github
Jamie201901062 小时前
高档宠物食品对宠物的健康益处有哪些?
大数据·人工智能
蓝婷儿2 小时前
Python 机器学习核心入门与实战进阶 Day 2 - KNN(K-近邻算法)分类实战与调参
python·机器学习·近邻算法