Vslam方案+源码,轻松搞定视觉slam

原创: 涛涛CV 涛涛CV 今天

关注涛涛CV,设星标,更新错过

-------------------------------------------

VSLAM方案

目前基于视觉的SLAM技术有多种组合形式(见下表)

方案

特点

TOF

成本高,分辨率较低,对环境不敏感,但对距离敏感

单目+结构光

处理量小,精度不高,可靠性不够高,不合适室外

双目

成本最低,应用广泛,对算法性能依赖度大,算法复杂度高,处理芯片需要很高的计算性能。受光照,物体纹理性质影响

双目+IMU

能定位、测速,输出姿态信息等优点, 缺点是误差随着时间迅速积累增长

双目+结构光

算法难度高,对环境要求也高。计算量大,需要FPGA或强CPU

激光雷达

可视范围广,缺点是性价比低,低成本的分辨率不高

最好使用 VSLAM+IMU 进行融合,可以提高精度上去,适用于实际应用中机器人的导航。

 

稀疏法:

2 ORB-SLAM2:(排名39) 支持单目,双目,RGB-D相机 没在维护

(构建出的地图是稀疏点云图、旋转时比较容易丢帧、可能会精度不高,或者产生累积误差,漂移)

误差:1.15%,0.0027

实时性:0.06s/2 cores/ >3.5GHz

开发环境:C/C++

https://github.com/raulmur/ORB_SLAM2

变体:https://github.com/BertaBescos/DynaSLAM

1 Stereo DSO:(排名24) 双目,大尺度,直接稀疏 最新2017年

慕尼黑工业大学,https://vision.in.tum.de/research/vslam/dso

误差:0.93%,0.0020

实时性:0.1s/1 core/3.4GHz

开发环境:C/C++

特点:直接法 稀疏特征 大规模

源代码:

运行数据集:https://github.com/JakobEngel/dso

数据集:TUM monoVO dataset 

连接相机运行:https://github.com/JakobEngel/dso_ros. 

3 ProSLAM:(排名60) 轻量级 最新2019.1

罗马大学

轻量级开源立体视觉SLAM系统,无需完全捆绑调整 - 针对教育目的。

误差:1.39%,0.0035

实时性:0.02s/1 cores/ 3.0GHz

开发环境:C/C++

开源:https://gitlab.com/srrg-software/srrg_proslam

论文里面的精度效果比ORB-SLAM2差,实时性在0.06~0.08。

PTAM (太老)

MonoSLAM(太老)

半稠密法:

1 LSD-SLAM:(排名44) 大范围单目,支持单目,双目,RGB-D相机

误差:1.2%,0.0033

实时性:0.07s/1 cores/ 3.5GHz

开发环境:C/C++

https://vision.in.tum.de/research/vslam/lsdslam

DSO:单目(太老)

https://vision.in.tum.de/research/vslam/dso

SVO:单目(太老)

https://github.com/uzh-rpg/rpg_svo

稠密法

Elastic Fusion:RGB-D

https://github.com/mp3guy/ElasticFusion

2 BundleFusion:RGB-D

https://github.com/niessner/BundleFusion

RGB-D SLAM V2:RGB-D

https://github.com/felixendres/rgbdslam_v2

1 RTAB-MAP :(排名51) 双目/RGB-D 没在维护

(鲁棒性不是很好、点云网格化用possion重建,不是主流的TSDF,速度会慢 、 重建效果不如 bundle fusion,但是也还不错)

误差:1.26%,0.0026

实时性:0.1s/1 cores/ 2.5GHz

开发环境:C/C++

项目已解散,Google Tango

https://github.com/introlab/rtabmap

DTAM:RGB-D(太老)

https://github.com/anuranbaka/OpenDTAM

Kintinous

DVO:RGB-D(太老)

https://github.com/tum-vision/dvo_slam

多传感器融合:

1 VINS-Fusion :(排名33)多目 + IMU 最新2019.3

香港科技大学

误差:1.09%,0.0033

实时性:0.1s/1 core/3.0GHz

开发环境:C/C++

https://github.com/HKUST-Aerial-Robotics/VINS-Fusion

VINS:单目 + IMU(惯性测量单元)https://github.com/HKUST-Aerial-Robotics/VINS-Mono

OKVIS:(单目、双目、四目)+ IMU

https://github.com/ethz-asl/okvis

 

 

数据集

1、TUM RGB-D SLAM Dataset and Benchmark

德国慕尼黑理工大学计算机视觉组制作的数据集,使用Kinect相机采集的数据集,包括IMU数据,并且用高精度运动采集系统提供了groundtruth(真值)。提供测试脚本,可以方便的实现量化评估。

https://vision.in.tum.de/data/datasets/rgbd-dataset

2、KITTI Vision Benchmark Suite

德国卡尔斯鲁厄理工学院和丰田工业大学芝加哥分校一起合作制作的用于自动驾驶的数据集。

http://www.cvlibs.net/datasets/kitti/eval_odometry.php

3、EuRoC MAV Dataset

世联邦理工大学制作的数据集,采用装备了双目相机和IMU的四旋翼无人机采集数据。

https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets

 

 

视觉定位

机器人运动过程中构建环境模型和地标,打造室内“视觉GPS”系统

Vslam方案+源码,轻松搞定视觉slam_第1张图片

地图构建

通过多传感器融合技术实时构建高精度,可持久使用的室内地图

Vslam方案+源码,轻松搞定视觉slam_第2张图片

语义地图

使用深度神经网络对地图信息进行分割理解,形成具有丰富语义信息的室内地图

Vslam方案+源码,轻松搞定视觉slam_第3张图片

产品模块

Vslam方案+源码,轻松搞定视觉slam_第4张图片

应用场景

AR、机器人、无人机、无人驾驶等领域, 就像移动互联网时代的手机定位一样。

Vslam方案+源码,轻松搞定视觉slam_第5张图片

 

 

1、导航定位与建图

SLAM快速识别地图坐标, 实现设备、特定目标长时间、高精度定位

基于视觉+惯性传感器的高精度SLAM算法,媲美激光雷达的定位精度

通过摄像头获取场景中的稠密点云信息,建立场景的栅格占用地图

基于实时构建的场景地图,让机器感知现实场景,实现自主最优路径规划

通过摄像头获取场景中的稠密点云信息,建立场景的栅格占用地图,基于智能避障算法,满足机器人精准避障的需求

2、高精度语义地图

轻量化模型精准识别百余类物体

将稠密地图按照物体的语义信息进行分割及匹配,帮助机器理解图像内容,以实现通行区域感知及避障

SLAM结合深度学习,实现精准的场景环境语义分析,提升SLAM系统精度

基于轻量化深度学习模型的物体识别,并结合场景地图提供环境语义

3、多传感器融合及标定

视觉、惯性、里程计、GNSS等多传感器融合,满足不同场景信息需求,优势互补,提高系统精度

分析传感器误差源,对传感器进行高精度误差建模

大幅降低传感器标定成本,实现快速高精度传感器标定

消费级传感器及低成本计算单元即可满足高精度前端解算

-------------------------------------------

 

https://mp.weixin.qq.com/s/SPfEXh_UlxZ74hcnstrbRw

你可能感兴趣的:(SLAM)