【视觉SLAM】视觉SLAM相关开源算法总结

稀疏的视觉SLAM

MonoSLAM

第一个实时、单目SLAM系统,基于EKF优化。

PTAM

单目,首次将tracking和mapping并行化,首次采用了BA优化,之后加入了重定位部分。

ORB-SALM/2

v1只支持单目,三个独立的线程进行tracking,mapping,loop closing,基于BA进行局部优化,基于图优化进行全局优化。v2支持单目,双目,RGB-D。VI ORB-SLAM,给出了IMU的初始化方法,以及联合视觉信息的联合优化。

ENFT-sfm

单目,只有tracking,进行了有效的特征点对的匹配。之后有ENFT-SLAM.

Open VSLAm

适用于各种各样的相机,除了常见的单目,双目,RGB-D的分类,还适用于透视、鱼眼甚至自己设计的相机。

TagSLAM

通过使用AprilTag基准标记实现SLAM[76]

半稠密的视觉SLAM

LSD-SLAM

提出了一种基于李代数和直接法的直接跟踪新方法。之后支持双目和全景相机。

SVO

半直接法的VO,使用基于模型的图像对齐来加速。新版本支持多种相机,包括鱼眼相机。CNN-SVO加入了利用网络来预测深度的模块。

DSO

单目,和LSD-SLAM作者相同。基于直接法和稀疏方法(但是不用检测和描述特征点)的VO

EVO

事件相机,基于event(事件)的VO算法。优点就是相机的优点,不会受到运动模糊,动态环境和光照改变强烈的环境干扰。

稠密的视觉SLAM

DTAM

单目,基于全局空间正则化能量泛函最小化的非凸优化框架,实时重建三维模型,直接法

MLM SLAM

单目,无需GPU即可在线重构稠密的3D模型。关键的贡献是多分辨率的深度预测和空间平滑处理。

Kinect Fusion

RGB-D相机,第一个用深度相机重构三维场景的系统

DVO

RGB-D的稠密视觉SLAM,基于熵的相似度对关键帧进行筛选,基于g2o进行闭环检测。

RGBD-SLAM-V2

RGB-D,无需其他传感器就可以重构精确的3D稠密模型

Kintinuous

RGB-D,具有全局一致的点,可以实时进行网格重建

RTAM-MAP

RGB-D,支持同时进行定位和构图,但是难以作为开发上层算法的基础。之后的版本支持视觉和激光SLAM

Dynamic Fusion

RGB-D,第一个能够基于Kinect Fusion实时重建非刚性形变场景的稠密SLAM系统

VolumeDeform

也实现了实时的非刚体的重构,但是不开源。类似的工作见Fusion4D

Elastic Fusion

RGB-D,一种实时稠密视觉SLAM,能够捕获室内尺度环境的全面、密集、全局一致的基于表面的地图

InfiniTAM

RGB-D,可以在Linux,IOS,安卓平台的CPU上运行的实时三维重建系统

Bundle Fusion

RGB-D,支持鲁棒跟踪,可以从严重跟踪失败中恢复并重新估计实时三维建模,保证全局一致性

其他系统:SLAMRecon, RKD-SLAM,RGB-D SLAM, Maplab, PointNVSNet, MID-Fusion, MaskFusion

VIO /SLAM

单目相机必须进行初始化,而且具有尺度模糊和尺度漂移的问题。而双目/RGB-D可以解决尺度的问题,但是仍面临共同的问题,诸如快速移动,小视场,计算量大,遮挡,特征缺失,动态场景和光照—>VIO

SSF

松耦合,基于滤波,一种基于EKF的单传感器和多传感器时延补偿融合框架

MSCKF

紧耦合,基于滤波,被基于EKF的Google Tango采用。相似的工作MSCKF-VIO开源了代码

ROVIO

紧耦合,基于滤波。基于EKF进行三维路标和图像patch特征的跟踪。支持单目相机

OKVIS

紧耦合,基于优化。是一个经典的基于关键帧的开源VI SLAM。基于滑动窗,支持单目,双目。

VINS

VINS-Mono:紧耦合,基于优化,单目的实时SLAM框架,开源了可以在Linux上运行并且整合到ROS中的代码
VINS-Mobile:可以在ios设备上运行,实时单目VIO
VINS-Fusion:支持多个VI类型的传感器,比如GPS,单目相机+IMU,双目+IMU,单独的双目。能够在线空间标定,在线时间标定(多传感器的标定)和视觉闭环检测。

ICE-BA

紧耦合,基于优化。提出了一种增量式的、一致的、高效的视惯性SLAM BA方法,该方法同时执行滑动窗口上的局部BA和关键帧上的全局BA,并实时输出每一帧的相机姿态和更新的地图点

Maplab

紧耦合,基于优化,开源的,面向研究的视觉-惯导构图框架。一方面,maplab可以被认为是一个现成的视觉-惯性测绘和定位系统。另一方面,maplab为研究界提供了一系列多会话构图工具,包括地图合并、可视化惯性批处理优化、环路闭合、三维密集重建等

其他:VI-ORB(紧耦合,基于优化,未开源),Struct VIO,RKSLAM。

深度学习+SLAM

特征和描述方面

Pop-up SLAM

单目,提出了实时单目平面SLAM,证明了场景理解可以改善状态估计和稠密映射,特别是在低纹理环境中。平面测量来自一个pop-up 3D平面模型,被应用于每一张图像。[145]得到卷积网络(convnet)预测的语义关键点。

Superpoint

提出了一种用于训练兴趣点检测器和描述符的自监督框架,该框架适用于计算机视觉中大量的多视图几何问题。[147]提出了利用易于标记的2D检测和离散视点分类,结合轻量级语义推理方法来获得粗略的3D目标测量。

GCN-SLAM

利用GCNv2的结果构架的SLAM,. [149] 融合了3D形状,位置,以及可用的语义信息。

SalientDSO

利用深度学习进行视觉显著性感知和场景的感知。【151】将检测的目标作为二次模型加入到SLAM系统中。

CubeSLAM

单目,是一个基于立方体模型的三维目标检测和SLAM系统。实现了目标级别的构图,定位和动态目标的跟踪。【153】整合了CubeSLAM和Pop-up SLAM,更加稠密,简洁,具有语义信息。

MonoGRNet

用于单目三维目标检测和定位的几何推理网络。可以看到基于事件相机的特征,但不限于[155][156]。关于深度学习中的调查用于检测,[157]可能是一个不错的选择。

识别和分割

SLAM++

Semanticfusion

MarrNet

3DMV

Pix3D

ScanComplete

Fusion++

SegMap

3D-SIS

DA-RNN

DenseFusion

CCNet

恢复尺度

CNN-SLAM

DeepVO

GS3D

UnDeepVO

GeoNet

CodeSLAM

GEN-SLAM

DeepMVS

位姿估计和优化

PoseNet

VInet

DeepVO

SFM-Net

VSO

MID-Fusion

VidLoc

长时定位

X-View

动态SLAM

RDSLAM

DS-SLAM

MaskFusion

Co-Fusion

Detect-SLAM

DynaSLAM

StaticFusion

挑战和未来

鲁棒性和可移植性

多传感器融合

语义SLAM

软硬件

传感器,算法,芯片的整合

激光和视觉SLAM系统

多传感器的标定

激光和视觉的融合

挑战和未来

参考资料:论文:A Survey of Simultaneous Localization and Mapping

你可能感兴趣的:(【视觉SLAM】视觉SLAM相关开源算法总结)