视觉同步定位和建图(vSLAM)是指计算摄像机相对于周围环境的位置和方向,同时绘制环境图的过程。该过程仅使用来自相机的视觉输入。vSLAM 的应用包括增强现实、机器人和自动驾驶。
ORB-SLAM 管道包括:
l 地图初始化:ORB-SLAM 首先初始化两个视频帧的 3D 点地图。3-D 点和相对相机位姿是使用基于 2-D ORB 特征对应的三角测量来计算的。
l 跟踪:初始化地图后,对于每个新帧,通过将当前帧中的特征与最后一个关键帧中的特征进行匹配来估计相机姿态。通过跟踪本地地图来细化估计的相机姿态。
l 局部映射:如果当前帧被识别为关键帧,则当前帧用于创建新的 3D 地图点。在此阶段,束调整用于通过调整相机姿态和 3D 点来最小化重投影误差。
l 循环闭合:通过使用特征袋方法将每个关键帧与所有先前的关键帧进行比较来检测每个关键帧的循环。一旦检测到闭环,就会优化位姿图以细化所有关键帧的相机位姿。
ORB-SLAM2
立体 vSLAM 的管道与单目视觉同步定位和建图示例中的单目 vSLAM 管道非常相似。主要区别在于,在地图初始化阶段,3D 地图点是根据同一立体对的一对立体图像而不是不同帧的两个图像创建的。
l 地图初始化:管道首先使用视差图初始化一对立体图像的 3D 点图。左侧图像被存储为第 一个关键帧。
l 跟踪:初始化地图后,对于每个新的立体对,通过将左图像中的特征与最后一个关键帧中的特征进行匹配来估计相机的姿态。通过跟踪本地地图来细化估计的相机姿态。
l 局部映射:如果当前左图像被识别为关键帧,则根据立体对的视差计算新的 3D 映射点。在此阶段,束调整用于通过调整相机姿态和 3D 点来最小化重投影误差。
l 循环闭合:通过使用特征袋方法将每个关键帧与所有先前的关键帧进行比较来检测每个关键帧的循环。一旦检测到闭环,就会优化位姿图以细化所有关键帧的相机位姿
ORB-SLAM3 是一种基于特征的视觉惯性 SLAM 算法
因子图是设计基于传感器融合的 SLAM 算法的一种流行方法,因为它们为 SLAM 问题提供了高效且模块化的解决方案,并且在新的测量或约束可用时允许轻松更新图表。此外,此类模型提供了一种灵活的方法,结合了不同类型的传感器和数据,包括视觉、激光雷达和惯性传感器,这使其可用于各种 SLAM 应用。
视觉惯性SLAM流程包括以下步骤:
l 初始 IMU 偏差估计(可选):如果您的数据序列包含足够数量的静态帧,则可以使用它们来估计 IMU 偏差。这有助于您稍后初始化因子图。
l 地图初始化:首先初始化两个视频帧的 3D 点地图。3-D 点和相对相机位姿是使用基于 2-D ORB 特征对应的三角测量来计算的。
l 相机和 IMU 对齐:地图初始化后,使用运动结构 (SFM) 生成一组相机姿势。然后使用相应的 IMU 测量来对齐相机和 IMU 框架,并找到 IMU 和相机里程计之间的比例转换。
l 跟踪:相机和 IMU 数据正确对齐和缩放后,初始化因子图。然后,对于每个新的关键帧,通过将当前帧中的特征与最后一个关键帧中的特征进行匹配来估计相机姿态。通过跟踪本地地图来细化估计的相机姿态。然后,将相机姿态及其相应的 IMU 测量值添加到因子图中。
l 局部映射:如果当前帧被识别为关键帧,则使用当前帧创建新的 3D 地图点。在此阶段,将优化因子图,并使用一组本地关键帧调整相机姿势和 3D 点。
l 循环闭合:通过使用特征袋方法将关键帧与所有先前关键帧进行比较来检测每个关键帧的循环。一旦检测到循环闭合,就向因子图添加新链接以反映循环闭合找到的连接。
公众号 扫码咨询
![]() |
上海市闵行区中春路4999号莘庄商务楼1326室 |
![]() |
service@covond.com |
![]() |
www.covond.com |
![]() |
交换机:18017588179(孙经理) 无人机:13311882358(孙总) |