作者:半不闲居士@CSDN(已授权)
编辑:3D视觉开发者社区
作者从事本文Slam近年来在相关工作中遇到并改进了相关工作VIO算法内容总结。
一个完整的 SLAM(simultaneous localization and mapping) 框架包括传感器数据, 前端、 后端、 如图1所示,前端将传感器数据抽象成适合估计的模型,回环检测判断机器人是否已知位置。后端接受不同时间前端测量的位置和回环检测信息,并优化它们,以获得全球一致的轨迹。建图是根据状态估计获得的轨迹与任务要求对应的地图。通常,只有前端和局部后端的框架称为里程计, 带回环检测和全局后端的完整框架称为 SLAM。
图1 SLAM经典框架
近十年来,SLAM 及其相关技术的研究取得了快速进展,从激光雷达到相机和IMU,同时芯片和MEMS设备也发展迅速,计算能力大大提高,相机和IMU 等传感器实现了高精度、小型化和低成本.这使得SLAM移动终端可以实时使用技术。视觉传感器体积小, 基于视觉传感器的成本低、硬件设置方便,引起了广泛关注 SLAM 提出了方法,但纯视觉 SLAM 该方法存在图像纹理较少、快速运动时图像模糊等问题;IMU可测角速度和加速度,其功能可与相机互补,融合后可更完善SLAM 系统。采用相机和 IMU 的 SLAM 该方法称为视觉惯性 SLAM(visual-inertial SLAM,VI-SLAM),只有小漂移。本文主要介绍VI-SLAM,激光和纯视觉SLAM不重点介绍。目前VI-SLAM数据融合的方法有两种:紧耦合和松耦合,见图2。其中,紧耦合是指手柄 IMU 位置估计与相机状态相结合。松耦合是指相机和 IMU 分别估计自己的位置,然后整合自己的估计结果。
图2 紧耦合和松耦合的示意图
而VI-SLAM根据后端优化方法的不同,分为基于滤波和基于优化 2 在滤波方法中,传统的类法 EKF(扩展卡尔曼滤波器) 、UKF(无迹卡尔曼滤波器),改进 MSCKF(卡尔曼滤波器多状态约束) 和OpenVins都取得了一定的成绩。现阶段,基于优化的方法慢慢占据主流。
基于优化的方法主要依靠图像处理技术提取特征和图像匹配 IMU 数据被视为先验项或正则化项。自 PTAM(parallel tracking and map-ping) 批量非线性优化方法一般分为2 线程:跟踪和构图.从图像中提取各种特征检测器 3 维度空间中的点、线或其他路标特征。然后,对于检测到的所有特征,在 2 重投影误差在图像之间定义。然后用该误差建立优化的成本函数,以找到特征或地标的坐标,即光束平差法(bundle adjustment,BA)。地图中的特征和路标坐标用于定义在建图线程 2 图像之间的重投影误差,然后应用优化算法再次发现移动机器人位置的变化。优化问题分为 2 并行线程的目的是实时响应跟踪部分的图像数据,以快速获得跟踪结果。地图优化不需要实时计算,可以放在后端慢慢运行.通常采用基于优化的方法g 2 o 、Ceres 、GTSAM 优化等非线性优化库。
基于优化的方法有两种,一种是局部优化(LBA)和全局优化(GBA),一是只有全局优化(GBA)
LBA通过设置固定窗口,估计窗口中的系统状态,保持边缘化旧状态的实时优化窗口。相比于滤波方法,基于优化的方法精度更高,因为它们可以对过去的测量结果重新进行线性化处理,同时在优化时可以设置鲁棒核函数来剔除一些异常值。从而提高精度;但缺点是边缘化旧帧带来了密集的先验信息,在一定程度上降低了效率。针对这个问题,一些文献 它提出了放弃一些测量稀疏性的方法。另外,由于采用了边缘化的方法,LBA方法具有与部分滤波方法相似的问题,如一致性,线性化误差的累积等。
苏 黎 世 联 邦 理 工 学 院 ASL 实 验 室 Leutenegger 等 提 出 了 OKVIS(open keyframe-based visual-inertial SLAM);使用基于关键帧的滑动窗口进行批量非线性优化,先于滑动窗口的关键帧被边缘化,无需估计。多尺度用于系统前端 Harris 特征检测器 提取特征,然后在此基础上计算 BRISK(binary robust invariant scalable keypoint)描述子,以便在帧与帧之间进行数据关联。.如图 3 所示
图3 视觉 SLAM 问题及视觉惯性 SLAM 状态变量与测量值的比较图
香港科技大学飞行机器人实验室提出 VINS-Mono(monocular visual-inertial system)方法类似于 OKVIS,它是基于非线性优化的 VI-SLAM方法。VINS-Mono 该方法为此类框架引入了包括观测值预处理在内的全新功能 初始化、 局部视觉惯性联合优化,全局图优化和回环检测 5 如图所示 4 所示. 前端提取 Harris 特征点,并采用 LK(Lucas-Kanade)光流(opticalflow)法跟踪相邻帧。光流法是一种描述随时在图像之间运动的一种方法。LK 在光流法中计算部分像素 SLAM 跟踪特征点的位置。VINS-Mono 该方法只计算特征点,不计算描述子,并使用光流法跟踪特征点的运动。这减少了计算和匹配描述子的时间和资源,只需计算光流.在初始化部分,作者使用松耦合传感器集成初始化程序,称为动态初始化,首先构建图像信息SFM,后面结合IMU在线信息VIO标定。在优化之前,系统可以从任何初始状态引入估计器。同时采用预积分处理方法IMU获取两帧之间的信息IMU相对运动,而不是随着某一时刻位姿改变而要重新处理IMU减少计算量的信息。系统采用与 OKVIS基于滑动窗口的紧耦合位置估计方法相似,并添加了基于滑动窗口的紧耦合位置估计方法DBoW2(bag of binary words 2)回环检测线程使系统具有重定位功能,而全局优化采用4Dof优化。
图4 VINS-Mono 的完整框架
香港科技大学飞行机器人实验室随后推出 VINS-Mobile 和 VINS-Fusion。VINS-Mobile 在 iOS 运行设备,增强现实(AR)应用程序提供本地化服务。VINS-Mobile 对 VINS-Mono 框架作了许多轻量化处理,并采用了一种基于小滑动窗口的联合优化方案。VINS-Fusion 在完善 VINS 同时提供框架 4 不同硬件的版本包括单目 IMU、 双目 IMU、 纯双眼和双眼 IMU 与GPS 松耦合。
百度 AR 技术小组提出 ICE-BA(incremental,consistent and efficient bundle adjustment) 沿 用了 OKVIS 以及 VINS-Mono 这种框架。前端提取Harris 特征点 并采用 LK 光流法 跟踪相邻帧,跟踪 VINS-Mono 相似.后端是论文中提出的增量式 BA,主要分为 3 部分:局部 BA(LBA)、全局 BA(GBA) 以及相对边缘化(Relative-Marginalization),前两者采用增量式方法提升了后端速度,后者保证了LBA 和GBA 的一致性。其中,G BA 在建立增量方程时,不计算系统已经计算和不变的状态向量。其中,G BA 在建立增量方程时,不计算系统已经计算和不变的状态向量。因为即使重新计算,精度也不会大大提高。对于LBA 因为滑动窗口中几乎所有的帧都可以看到每个点,即使只重新线性化一部分点,也会带来很大的变化。因此在LBA该部分在系统中采用了更有效的局部目标 BA 后端设计。该方法将长期跟踪的特征点分为许多短期跟踪段,以减少每次重新计算特征点时的线性区域,从而提高效率。见图5;对于滑窗系统,往往有边缘化的步骤,以另一种形式存储一些应该从滑窗出来的信息。但是当有GBA 边缘化的效果可能不会大大提高,但可能会下降。ICE-BA 边缘化方法得到了改进,边缘化得到了保持 BA 见图6。但在测试过程中,最好去除一些相对边缘化的数据集。
图5 ICE-BA特征思路轨迹的划分
图6 ICE-BA局部和全局优化网络框架
由于 VI-SLAM 该系统取得了优异的效果,一些著名的视觉 SLAM 系统 相继推出了自己系统的 VI 版本,VI-ORB SLAM 就是其中最有代表性的系统之一。在这里首先介绍纯视觉ORB-SLAM ,其首次使用 3 个线程:实时跟踪特征点的线程、局部建图的优化线程(co-visibility graph)和全局回环检测与优化线程(essential graph),来完成 SLAM。跟踪线程对每幅图像提取 ORB 特征点,并与最近的关键帧比较,计算特征点位置并估计位姿。局部 BA 线程求解更精细的相机位姿和特征点空间位置.全局回环检测线程采用 DBoW2 对全局的地图与关键帧进行回环检测,消除累积误差。ORB-SLAM 的三线程结构取得了优异的跟踪和建图效果,保证了移动机器人轨迹与地图的全局一致性,该算法框架在开源数据集测试的结果是效果最好的开源代码。VI-ORB SLAM 改进自 ORB-SLAM2,作者引入 IMU 尝试解决在快速运动时丢失特征点的问题。VI ORB-SLAM 分别对 3 个线程作了修改,用以融合 IMU 信息。在跟踪线程,基于重投影误差和 IMU 预积分,建立帧与帧之间的约束关系来构造代价函数,从而得到当前帧位姿的最优估计。在局部建图线程,有了新的关键帧之后,将会对前 N 个关键帧进行优化,当前的关键帧(第 N + 1帧)将固定不变,提供 IMU 预积分约束。如图 7所示,P、v、b 分别为优化的位姿、IMU 速度与偏差。在全局回环检测线程,由于 IMU 提供了尺度信息,因此全局优化将从 7 个自由度下降到 6 个自由度。全局位姿优化将忽略 IMU 信息,因此不再优化速度和偏差,当完成全局位姿优化后,再根据矫正后的位姿对速度进行矫正。
图7 ORB-SLAM 与 VI ORB-SLAM 的局部 BA 比较
在2020年,ORB-SLAM3开源,其第一个能够执行视觉、视觉惯性和多地图重用的系统,相比于ORB-SLAM2,ORB-SLAM3新增元素有以下面这几个:
1. 单、双目的vo/vio slam系统,并支持鱼眼相机。
2. 地图复用,拥有合并地图的功能。
3. 高召回的地点识别(占用较低的计算资源换得高召回与精度)
4. 不限制相机模型,只需提供投影,反投影及Jacobian方程(程序里提供了针孔与鱼眼模型)
其主要的创新点分为:
1.“完全”基于最大后验估计MAP的VI-SLAM ,无论在初始化阶段还是运行阶段,都采用了MAP进行状态估计,因此ORB-SLAM3在室内外、大小场景中鲁棒性很好,且精确度是其他方法的2~5倍; 如文中所讲,本文的IMU和视觉的组合系统是extremely robust的。
2.多地图系统,当定位丢失即lost时,ORB-SLAM3会自动建立一个新的小地图,并在revisit两张地图上的同一地点的时候进行地图的seamlessly merge,因此,这一算法能够使用不仅仅几帧之前的信息,而是运用了全局的信息,能够在bundle adjustment中利用视差较大的帧来增加BA求解的准确性(因为当视察较小时,求解不准确,且优化容易进入局部极值)。这种方法里对同一特征的观测可能在时间上的间隔较大,因为我们对其上一次的观测甚至可能出现在之前一张小地图中(中间过程里lost了至少一次)。
其系统框架如图8
图8 ORB-SLAM3系统框架
在这里简单介绍一下iSAM,iSAM是增量式图优化,该算法可简单的理解为iSAM可以自适应的判断当前测量是否影响某个历史状态,从而判断是否要计算更新,从而能够减少不必要的计算;在2012年,iSAM2 用贝叶斯树+在线启发式排序重新解决iSAM问题,后端部分原理相似与ICE-BA相似,都是增量式BA,该技术是GBA的一项突破,利用因子图来保持稀疏性,并仅识别和更新受新度量影响的变量的一小部分。使用贝叶斯树数据结构来获得有效的变量排序,从而最大程度地减少了计算时间。由于新的测量结果只对估计值的局部产生影响,通过分析受影响的区域,可以减少一些没必要的计算,加速优化流程。
基 于 优 化 的 方 法 是 目 前 VI-SLAM 领 域 以 及SLAM 相关领域的热点之一,非线性优化方法实现了相较于滤波方法更精确的状态估计效果。但由于计算资源有限,目前的方法往往以牺牲一部分精度和路标点为代价换取系统的实时性。新型的优化器以及并行计算方法的出现有望进一步减少对计算资源的占用,但大范围在线系统的实时性仍然是一个有待解决的问题。
不同滤波方法的分类如图 9 所示,卡尔曼滤波器作为一种解决状态估计问题的经典模型,主要存在 2 个问题。首先,它要求时序和测量方程是线性的,这个问题可以由 EKF 和 UKF 解决。其次,卡尔曼滤波器假设后验分布是单峰分布的,而且需要通过均值和协方差来表达,因此,它针对物体的位姿只能有一个假设,并不能保证关于状态的多个假设,这个问题可以由粒子滤波器(particle filter,PF) 解决。
图9 SLAM 中不同滤波方法的分类
一个完整的 EKF 框架包括预测步骤和更新步骤。对于基于滤波的 VI-SLAM 方法,惯性传感器能够提供 3 轴的加速度和角速度,用于计算 3 维刚体运动的动态模型并在预测步骤中进行预测。相机能够提供在特征和移动机器人之间的角度和距离测量结果,并在更新步骤中更新预测结果。
早期的 SLAM 工作主要是基于扩展卡尔曼滤波器,由 Smith 等基于早期的工作实现。Jones 等将 EKF 框架引入 VI-SLAM 系统。该系统实现了将状态和参数作为在线程序的一部分进行估计,并用 EKF 框架进行了有效实现.Kelly 等将 UKF 框架引入 VI-SLAM 系统。该方法能够在线、随时校准更新位姿,比如正在进行的导航或建图任务。
MSCKF 是 Mourikis 在 2007 年 提 出 的,MSCKF 2.0 也在随后由 Mourikis 和 Li 提出 ,是目前许多 VI-SLAM 系统的基础。MSCKF 是一种基于扩展卡尔曼滤波器的 VI-SLAM 框架。在传统EKF 框架中,特征点信息会加入到状态向量和协方差矩阵里,这会加大矩阵维度,增加计算量,如图 10 所示。而MSCKF 则在状态向量里只添加窗口内的相机状态,而忽略特征点,减少计算量。同时系统一般采用IMU静态初始化,系统启动后需要静止一段时间,才能初始化成功,该系统没有回环检测功能。MSCKF 工作的最主要贡献在于推导出一种测量模型,该模型能够表达从多个相机位姿观察到静态特征时出现的几何约束。系统中维护一个位姿的滑动窗口,如果一个特征点在滑动窗口内的几个位姿都被观察到的话就会在这几个位姿间建立约束.这种方法用一个特征点约束多个相机位姿,从而进行 KF 的更新,旧的特征点和滑动窗口之外的相机姿态则被丢弃。近几年,许多基于 MSCKF 的工作相继提出,框架整体的精度和鲁棒性得到了不断的提升。
图10 MSCKF、EKF-SLAM 的示意图
苏黎世联邦理工学院无人系统实验室(Autono-mous Systems Lab,ASL)的 Bloesch 等提出了一种基于迭代扩展卡尔曼滤波器(IEKF)的直接法单目视觉惯性里程计,简称 ROVIO(robust visual inertialodometry) 。如图 11所示,该算法将视觉信息和IMU信息进行紧耦合的一种视觉惯性测量单元。数据融合的方法主要是通过迭代卡尔曼滤波来进行的。对于视觉方面的信息,作者主要是通过将路标点在图像中对应的点周围的图像块做为路标点的描述子,从而得到光度误差。然后将光度误差进行变换得到IEKF中的innovation term,进而进行滤波状态的更新。整体的滤波方程的构造是以机器人为中心进行构造的(fully robocentric)——实际上这个robocentric就是以IMU为原点固连在IMU上的坐标系——从而保证能观状态不受不断增长的全局协方差的影响,这样可以减小因非线性而造成的误差。此外,作者还将路标点的空间位置信息拆开成了两项。一项是bearing vector(二维向量),还有一项是distance(这里实际上用的是逆深度)。并在 IMU 预测阶段对路标点进行预测,在视觉更新时对其修正,不像其他框架一般仅在视觉阶段去计算。这样的构造方式可以避免不能观状态量,并且使得初始化没有延迟。由于使用了基于 QR 分解的测量空间缩减方法,并执行每个路标点的更新迭代,因此系统具有较高的效率和准确性。
图11 ROVIO 框架的流程图
ARL 实 验 室 随 后 又 推 出 了 Maplab 框 架,与 ROVIO 不同的是,Maplab 带有一个完整的 VI-SLAM 系统,具有回环检测和重定位功能。系统由两部分组成,一部分是 ROVIOLI(ROVIO with lo-calization integration),一个在线的视觉惯性全局定位系统,其接收图像与惯性传感器数据作为输入,输出全局的位姿估计,并建立地图。另一部分是离线的 Maplab 控制台,可以让使用者以离线批处理方式在地图上应用各种算法。
在 松 耦 合 方 法 中, Faessler 等使 用 了 一种基于 SVO(semi-direct visual odometry)和 MSF(multi-sensor fusion)的方案。SVO 是一种计算量较小的稀疏直接算法。其通过跟踪 FAST(fromaccelerated segment test) 特征并最小化周围图像块的光度误差来匹配帧间图像,使用非线性最小二乘法来最小化特征中的重投影误差,得到仅由相机估计的位姿。MSF是一种通用的 EKF 框架,用于在位姿估计中融合来自不同传感器的数据。系统将纯视觉 SVO 得到的位姿作为通用位姿传感器的输出提供给 MSF,然后与 IMU 数据融合。由于是一种松耦合框架,位姿的尺度需要近似正确,因而时常要手动初始化。
Open VINS是黄国权老师团队在2019年8月份开源的一套基于MSCKF的VINS算法。主要提供了流形滑动窗口卡尔曼滤波器、在线摄像机内、外标定、摄像机-惯性传感器时间偏移标定、具有不同表示和一致第一估计的SLAM地标(FEJ)处理、用于状态管理的模块化系统、可扩展视觉惯性系统模拟器、用于算法评估的广泛工具箱等功能。其在前端图像信息处理中,结合了EKF-SLAM、MSCKF和Hybird SLAM等算法处理方式,提高了系统的稳定性,在一些开源数据集上其精度可以媲美基于优化的SLAM。该开源代码的主要贡献
1. 提供了一个可拓展、开源的代码库
2. 提供了许多视觉视觉惯性的基础,包括多相机,多IMU,视觉惯性运动对象跟踪,Schmidt-based visual-inertial SLAM,点平面和点线视觉惯性导航等。
开源代码大致流程如图12
图12 openvins算法流程示意图
表1 代表性 VI-SLAM 框架对比
利用贝叶斯推断可以建立基于滤波和基于优化这 2 类方法之间的联系。基于滤波的方法,位姿的先验分布由内感受型传感器的测量构建,似然分布由外感受型传感器的测量建立,故可以视为最大后验估计(maximum a posteriori,MAP)问题。基于优化的方法,通过迭代找到测量总概率最高的状态,故可视为最大似然估计(maximum likelihood,ML)问题。基于优化的方法,可以通过向传感器的测量值中添加正则化项或先验项,使其由 ML 问题转化为 MAP 问题。如果把 EKF 框架看作是非线性高斯-牛顿法或高斯法的近似,那么它的表现无疑是达不到要求的。主要原因是,EKF 没有迭代至收敛的过程,其雅可比矩阵只计算 1 次,可能会远离所期望的最优估计。但由于 EKF 没有一次性计算所有的雅可比矩阵,EKF 的结果比单次的高斯-牛顿法迭代更精确,它的缺陷只在于没有迭代这个步骤。从优化的角度来看,这是一个显而易见的问题,因为优化是需要最后迭代至收敛的。EKF 使用了马尔可夫假设来实现其递归形式,由于使用了马尔可夫假设,一旦滤波器建立在该假设上就无法摆脱它。包括IEKF 在内,虽然 IEKF 一次迭代了一个时间步长,但它仍然依赖于马尔可夫假设,而且仅在一个时刻上进行了迭代,并非在整个轨迹上。
本文比较了几种代表性的 VI-SLAM 框架,如表 1 所示。可以看出,目前主流的 VI-SLAM 实现方法以紧耦合的优化方法为主。相较于松耦合的方法,把 IMU 状态与相机状态合并在一起进行状态估计的紧耦合方法具有更高的精度。而由于基于滤波的方法具有马尔可夫性,无法考虑到某时刻状态与之前所有时刻状态的关系,目前普遍认为在计算资源足够的情况下,基于优化的方法会得到更精确的效果。但是在计算资源受限,或者移动机器人位姿轨迹比较简单的场合里,基于滤波的方法仍然是一种有效的方式。
构建语义地图、在帧间匹配和回环检测中采用 深 度 学 习 的 方 法 是 目 前 SLAM 的 研 究 热 点 之一 。深度学习方法的引入使移动机器人可以理解周围环境的语义信息。完成一些更复杂的任务。但深度学习方法对于计算资源的需求巨大,在硬件条件较差的嵌入式场景难以使用,需要研究人员进一步地改进网络。
SLAM 本身是为了给上层应用提供自身位姿估计,在实际应用中,研究人员并不希望算法占用太多运算资源。使用者希望 SLAM 框架能够轻量化,不影响移动机器人或者手机移动端所要完成的其他工作。相比于激光 SLAM 等成本高昂的方法,由于 VI-SLAM 系统只使用相机和惯性传感器,在无人机或手持移动设备上良好运行 SLAM 程序成为可能。通过继续改进算法,现在很多大厂均能够在移动端实现效果良好的定位效果。
视觉与 IMU 的融合已经在不同的领域取得了较理想的效果,但是当场景特别大时,视觉和 IMU传感器的效果不太理想,这时就需要用到其他传感器。在自动驾驶领域,将激光雷达、 GPS/GNSS(全球卫星导航系统)、相机以及 IMU 等多传感器进行融合已经成为一种趋势,引入激光雷达等传感器会为系统提供更准确的深度信息。但是更多的传感器会带来更复杂的标定与融合方面的问题,有待研究人员加以解决。
移动机器人通常使用嵌入式设备作为平台的计算硬件,而随着计算能力的大力发展,嵌入式设备的使用频率逐渐增多。新型 GPU(图形处理器)的出现使得嵌入式系统的性能更加接近 PC 机,但是计算能力仍然有限。一些嵌入式硬件,例如Jetson Nano、TX1/2 的出现使得研究人员可以在嵌入式系统中使用 GPU,便于移动机器人在恶劣的条件下应用 VI-SLAM 算法。随着一些代表性产品 Google Project Tango、Microsoft Hololens、MagicLeap、Nreal等的应用,VI-SLAM 技术会逐步融入到平常生活之中。
[1] Mourikis A I, Roumeliotis S I. A multi-state constraint Kalman filter for vision-aided inertial navigation[C]//IEEE International Conference on Robotics and Automation. Piscataway, USA:IEEE, 2007: 3565-3572.
[2] Geneva P , Eckenhoff K , Lee W , et al. OpenVINS: A Research Platform for Visual-Inertial Estimation[C]// Proc. of the IEEE International Conference on Robotics and Automation. IEEE, 2020.
[3] Bloesch M, Burri M, Omari S, et al. Iterated extended Kalman filter based visual-inertial odometry using direct photometric feedback[J]. International Journal of Robotics Research, 2017,36(10): 1053-1072.
[4] Faessler M, Fontana F, Forster C, et al. Autonomous, visionbased flight and live dense 3D mapping with a quadrotor microaerial vehicle[J]. Journal of Field Robotics, 2016, 33(4): 431-450.
[5] Leutenegger S, Lynen S, Bosse M, et al. Keyframe-based visual-inertial odometry using nonlinear optimization[J]. International Journal of Robotics Research, 2015, 34(3): 314-334.
[6] Qin T, Li P L, Shen S J. VINS-mono: A robust and versatile monocular visual-inertial state estimator[J]. IEEE Transactions on Robotics, 2018, 34(4): 1004-1020.
[7] Liu H M, Chen M Y, Zhang G, et al. ICE-BA: Incremental,consistent and efficient bundle adjustment for visual-inertial SLAM[C]//31 st IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway, USA: IEEE, 2018: 1974-1982
[8] Mur-Artal R, Tardós J D. Visual-inertial monocular SLAM with map reuse[J]. IEEE Robotics and Automation Letters, 2017,2(2): 796-803.
[9] Forster C, Carlone L, Dellaert F, et al. On-manifold preinte-gration for real-time visual-inertial odometry[J]. IEEE Transactions on Robotics, 2017, 33(1): 1-21.
[10]Campos C , Elvira R , Juan J. Gómez Rodríguez, et al. ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial and Multi-Map SLAM[J]. 2020.
[11] 施俊屹.移动机器人视觉惯性 SLAM 研究进展
【1】https://github.com/daniilidis-group/msckf mono
【2】https://github.com/ethz-asl/rovio
【3】http://rpg.ifi.uzh.ch/svo2.html
【4】https://github.com/ethz-asl/ethzasl msf
【5】https://github.com/ethz-asl/okvis ros
【6】https://github.com/HKUST-Aerial-Robotics/VINS-Mono
【7】https://github.com/baidu/ICE-BA
【8】https://github.com/jingpang/LearnVIORB
【9】https://bitbucket.org/gtborg/gtsam/
【10】https://github.com/rpng/open_vins
【11】https://github.com/UZ-SLAMLab/ORB_SLAM3
版权声明:本文为作者授权3D视觉开发者社区发布,仅做学术分享,版权归原作者所有,若涉及侵权内容请联系删文。
本文仅做学术分享,如有侵权,请联系删文。
1.面向自动驾驶领域的多传感器数据融合技术
2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进4.国内首个面向工业级实战的点云处理课程5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)
9.从零搭建一套结构光3D重建系统[理论+源码+实践]
10.单目深度估计方法:算法梳理与代码实现
扫码添加小助手微信,可
也可申请加入我们的细分方向交流群,目前主要有、、、、、等微信群。
一定要备注:
▲长按加微信群或投稿
▲长按关注公众号
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、答疑解惑、助你高效解决问题