Python实现的SLAM算法Stereo-PTAM

  • Python实现的SLAM算法Stereo-PTAM已关闭评论
  • 169 views
  • A+
所属分类:AGV图纸程序
摘要

S-PTAM是一种立体SLAM系统,能够实时计算摄像机轨迹。它大量利用了SLAM问题的并行性,将时间约束的姿态估计与诸如地图构建和细化任务等不太紧迫的事物分开。另一方面,立体声设置允许为每帧立体图像重建度量3D地图,提高关于单眼SLAM的映射过程的准确性并避免众所周知的自举问题。此外,环境的真实规模是必须与周围工作区互动的机器人的基本特征。

这个python项目是Stereo PTAM的完整实现,基于C ++

Python实现的SLAM算法Stereo-PTAM

S-PTAM系统概述(来自S-PTAM论文第11页):

S-PTAM是一种立体SLAM系统,能够实时计算摄像机轨迹。它大量利用了SLAM问题的并行性,将时间约束的姿态估计与诸如地图构建和细化任务等不太紧迫的事物分开。另一方面,立体声设置允许为每帧立体图像重建度量3D地图,提高关于单眼SLAM的映射过程的准确性并避免众所周知的自举问题。此外,环境的真实规模是必须与周围工作区互动的机器人的基本特征。

特征:

多线程跟踪,映射和循环关闭;

Covisibility Graph(表示关键帧,mappoints和测量之间的关系);

局部束调整和姿态图优化;

运动模型(用于姿势预测,然后用于可靠的特征匹配);

点云和图形可视化;

数据集KITTI Odometry和EuRoC MAV的数据加载器;

合理的速度:EuRoC每帧约50ms,KITTI每帧约70ms。

要求:

Python 3.6+

numpy

cv2

g2o (python binding of C++ library g2o) 用于优化

pangolin (python binding of C++ library Pangolin) 用于可视化

用法:

  1. python sptam.py --dataset kitti --path path/to/your/KITTI_odometry_dataset/sequences/00  

或者

  1. python sptam.py --dataset euroc --path path/to/your/EuRoC_MAV_dataset/MH_01_easy  

结果:

关于KITTI测距序列00的视觉结果(来自实验截图):
如下图所示,所有循环都已关闭(循环点标记为黑色)
Python实现的SLAM算法Stereo-PTAM
点云:
Python实现的SLAM算法Stereo-PTAM

抱歉,此资源仅限赞助会员下载,请先
注意:本站资源多为网络收集,如涉及版权问题请及时与站长联系QQ:2766242327,我们会在第一时间内与您协商解决。如非特殊说明,本站所有资源解压密码均为:agvba.com。
weinxin
微信公众号
agvba是一个分享AGV知识和agv案例视频的网站。