| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 激光SLAM论文简单导读--LOAM、VLOAM、LeGO-LOAM、LIO-SAM、LVI-SAM、LIMO、LIC-FUSION、TVL-SLAM、R2LIVE、R3LIVE -> 正文阅读 |
|
[人工智能]激光SLAM论文简单导读--LOAM、VLOAM、LeGO-LOAM、LIO-SAM、LVI-SAM、LIMO、LIC-FUSION、TVL-SLAM、R2LIVE、R3LIVE |
激光SLAM论文简单导读--LOAM、VLOAM、LeGO-LOAM、LIO-SAM、LVI-SAM、LIMO、LIC-FUSION、TVL-SLAM、R2LIVE、R3LIVE
本博客以简述为主,不打算细讲论文细节,给出了相关详细导读的链接,欢迎沟通交流。 时间线开篇巨作LOAM (张辑,RSS 2014, CMU)LOAM是该方向的开山鼻祖,其主要的贡献在于使用前端里程计和后端建图优化两个线程(可能借鉴了视觉SLAM思想?),实现一个高精度激光SLAM系统, 该系统实际实验中采用的硬件是一个平面激光雷达加一个旋转轴,也取得优异的结果。 困难点:激光数据接收时间不同,运动导致的畸变很明显严重, 不利于后续的定位建图。 算法框图
LIDAR ODOMETRY特征提取: 设计下列公式计算一个度量值,用于判断每个点属于平面点或者线段点。注意该过程从每个独立的scan中提取特征(原因可能是由于传感器限制)。 特征数据关联:采用frame-frame的思想寻找当前帧相对上一帧的匹配, 注意当前帧是随着时间在增长的,采用最近匹配方法寻找点-线和点-面匹配,最后通过最小化他们之间的距离来优化位姿。 整个里程计端的算法如下: LIDAR MAPPING后端mapping采用sweep-local map的方式进行,当前端一个sweep结束时,即启动该过程。 Mapping阶段的匹配和位姿估计流程和Odometry阶段类似,但做了一些参数上的适应和工程上的优化。这一阶段在当前sweep特征提取的数量是Odometry阶段的10倍,然后根据位姿变换将其投影到世界系,再利用最近匹配方法寻找匹配,不同的地方在于, 寻找匹配线和面时是采用先求点云周围协方差,然后进行特征值分解的方法。对于边缘点,特征值的某一个值会远远大于另外两个值;而对于面点,两个特征值会远远大于另一个值。最后也是通过最小化点-线、点-面距离来估计位姿。 思考
激光视觉里程计VLOAM(张辑,ICRA2015, CMU)算法简介:先利用视觉里程计估计位姿,并将雷达点云数据进行高频率低精度注册,然后基于雷达里程计的scan匹配同时优化运动估计和点云注册。相较LOAM而言,利用更高频率的视觉里程计提高点云去畸变和匹配的效果,进而提高算法精度。位姿估计过程并没用到视觉特征,是一个典型的视觉辅助激光的方案。算法的流程图如下: 视觉里程计视觉里程计模块,利用视觉特征做帧-帧之间的快速相对位姿估计,从雷达数据中获取部分视觉特征点的深度值。 雷达里程计雷达里程计由两阶段组成: sweep-sweep优化运动估计 + sweep-map在地图上匹配和注册当前sweep。该过程与LOAM的很类似,可看作是LOAM的odometry和mapping的结合,不同之处在于操作对象都是sweep,而不是scan。最后结合视觉里程计,可以输出与视觉相同频率的位姿。 从整体来看,视觉的作用主要是用于点云去畸变和提供后续点云匹配时的初始位姿,而最终的位姿估计并没用上视觉信息,在KITTI上的表现比LOAM好一丢丢。 激光-视觉-惯性里程计(张辑,JFR2018, CMU)常见的激光视觉惯性里程计采用卡尔曼滤波或者因子图优化的方法,但作者观察到,本体位姿估计的漂移频率远远低于模块自身的运行频率,因此采用从粗到细的流水线pipeline,该方法采用一种模块化的数据处理流程用于处理图像、imu和雷达数据,并通过多层次的优化来进行运动估计和建图, 该流程如下图所示
IMU预测子系统这一部分主要涉及相机系下(此处与常用的IMU系下的测量模型不同)的IMU测量模型和bias更新。 VIO子系统VIO子系统主要借鉴作者之前的工作《Real‐time depth enhanced monocular odometry》,流程如下: lidar 匹配子系统该子系统主要参考了作者之前的工作LOAM,参考其中的sweep-map匹配过程,整个子系统的流程如下: 传感器退化本方法可以有效应对传感器退化问题 基于给定地图的定位整体流程与里程计流程一致,不同点在于雷达匹配阶段匹配的是给定地图,而且是一段时间(2s)内累积的lidar scan与给定地图进行匹配(降低算力考虑)。 结果对比
LeGO-LOAM:利用地面和平面聚类进行优化(Tixiao Shan, 2018, Stevens Institute of Technology)LOAM的限制:计算资源较大, 低算力平台难以满足,因为它需要计算稠密三维点云的每一个点特征;当应用与地面无人车时,地面及其附近元素引起的噪声将一直影响算法。 整个算法流程框图如下: 分割与特征提取采用传统的几何和图像处理方法对激光点云进行分割,以提取地面。特征提取与LOAM的一致,最终只保留使用属于地面部分的平面点和其他部分的边缘点,点云示意如下: Lidar Odometry与LOAM的机制一样,采用帧-帧之间的点-线和点-面匹配来估计雷达里程计。不同之处在于,该方法只对属于地面的平面点和非地面点的边缘点进行匹配,且在匹配过程中利用了分割的类别信息以筛出错误的匹配。然后采用两阶段的L-M优化法来估计位姿:首先最小化地平面点到地面的距离来估计[ t z t_z tz?, θ r o l l \theta_{roll} θroll?, θ p i t c h \theta_{pitch} θpitch?],然后利用剩下部分的边缘点元素来估计其余的[ t x t_x tx?, t y t_y ty?, θ y a w \theta_{yaw} θyaw?]。两步优化法可在算力减小35%的情况下获得同样的精度。 Lidar Mapping该阶段与LOAM的一致,主要不同处在于地图的存储方式:LOAM存储单个点云地图,本方法则存储单个的特征集合。同时改方法还可在回环后使用Pose Graph以纠正漂移。 紧耦合IMU的激光惯性里程计–LIO SAM (Tixiao Shan, 2020,MIT)LOAM的局限:难以回环,难以融合其他传感器,特征丰富区域时难以在线优化,大范围场景中会有漂移。为此提出一种采用因子图+滑窗+紧耦合lidar融合IMU的方法,该融合思路与VINS 和相似。 IMU预积分约束该约束和VINS中的一样,具体可参考On-Manifold Preintegration for Real-Time Visual-Inertial Odometry 和 VINS 雷达里程计约束采用关键帧思想,每隔一段距离或角度则选择一个关键帧。在关键帧中提取平面和边缘线的点特征,历史最新的n帧合成sub-keyframes,将其中的特征变换到世界系下形成local voxel map。 特征的匹配采用LOAM的紧邻匹配方法,将帧经过变换与其之前的local voxel map进行匹配,该帧的初始位姿由IMU积分得到 GPS因子和回环因子GPS因子可以提供一个全局绝对约束,可减少漂移, 回环因子则与视觉中的回环基本一样, 实验表明回环可以极大地改进高度方向的估计漂移问题。 LVI-SAM: 在LIO-SAM的基础上融合视觉(Tixiao Shan, 2021,MIT)该方法是LIS与VIS的集成,且两者之间又互相促进,其中VIS为LIS提供初始位姿估计,支持后者的匹配,LIS则为VIS提供更好的初始化和特征深度值,利用VIS做回环检测,利用LIS进行之后的回环校验。这两个系统只要有一个正常,整个系统就可以正常运行,展示了很好的系统鲁棒性。 LIC-FUSION: 基于MSCKF框架的雷达-惯性-视觉融合 (左星星, 2019, 浙大)主要贡献:提出一种在MSCKF框架上的雷达-惯性-视觉里程计,同时具有传感器外参标定功能。熟悉MSCKF的就懂,下面会涉及一大堆的数学推倒。 系统介绍A,系统状态量 B,IMU递推(运动学) C,状态增广 D, 测量模型
E, 测量压缩 LIC-FUSION2.0:在LIC-FUSION的基础上添加滑窗和平面跟踪算法(左星星,IROS2020,浙大/ETH)参考师兄大佬的论文导读
该方法采用LOAM的方法提取平面点,并用平面点拟合得到平面,该版本并没用到LOAM中的边点特征,但在future work中提到会研究基于边缘特征的跟踪。 LIMO:激光单目视觉里程计(Johannes Graeter,Karlsruhe Institute of Technology,IROS2018)详情的论文导读可以参考师兄的博客【论文阅读41】LIMO: LiDAR-Monocular Visual Odometry 本方法是一个典型的激光辅助视觉的SLAM方法,主要贡献思想是提出了一种基于LiDAR点云的视觉特征点深度估计方法,如下流程所示,该方法被用于后续的多种视觉-雷达融合方案所借鉴。同时针对关键帧选择,特征点选择等工程优化方面提出许多策略。思路简单,但取得的效果很好。 PL-LVO:基于点线特征的激光视觉里程计(Shi-Sheng Huang,IROS2020,清华)利用点线特征的激光雷达-视觉里程计,详细论文解读可参考https://zhuanlan.zhihu.com/p/153264331 R2LIVE:激光-视觉-IMU紧耦合的状态估计器(lin jiarong, 港大, 2021)主要贡献:
流程图: R3LIVE:雷达惯性和视觉惯性里程计的融合(lin jiarong, 港大, 2022)该方法包含两个子系统:激光雷达-惯性里程计 (LIO) 和视觉-惯性里程计 (VIO)。其中LIO (FAST-LIO) 利用 LiDAR和惯性传感器的测量数据构建全局地图几何结构(3D 点云位置);VIO 利用视觉-惯性传感器的数据来渲染地图纹理(3D 点云颜色),同时VIO 还通过最小化帧到地图的光度误差来直接、有效地融合视觉数据。
SVIL-SLAM:双目视觉惯性雷达SLAM(Weizhao Shao, CMU,IROS2019)详细论文解读可参考:【论文阅读16】Stereo Visual Inertial LiDAR SLAM 双目视觉里程计采用的是,采用光流跟踪、滑窗和边缘化思想,类似双目VINS。 TVL-SLAM:紧耦合视觉-雷达SLAM不同于之前的视觉雷达slam,将视觉的结果作为雷达的初始值,或者雷达给视觉提供深度测量值,本方法采用BA的方法在后端同时优化视觉残差和雷达残差。为了实现大规模的BA优化,本方法借鉴使用ORB_SLAM2和LOAM,关注后端准确而有效的雷达残差压缩。本方法主要贡献如下:
融合Lidar后的改进:
激光与视觉之间的辅助
融合方法EKF:R3LIVE, LVIO, LIC-FUSION |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 2:42:23- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |