SLAM文献之-SuperOdometry: Lightweight LiDAR-inertial Odometry and Mapping

《Super Odometry: IMU-centric LiDAR-Visual-Inertial Estimator for Challenging Environments》是一篇旨在增强 SLAM 系统在恶劣环境下鲁棒性的工作,尤其关注尘雾、烟雾等遮挡条件下的鲁棒估计。下面从算法原理、公式推导、创新点和应用场景四个方面进行详细解析:

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/1cb5e2da44e94c4f8ae7817f1ac4d5a4.png


一、算法原理概述

Super Odometry 提出了一个以 IMU 为中心的多传感器融合框架,集成了 IMU、LiDAR 和相机信息,核心思想是:

  • IMU 作为主导惯导轨迹提供器(IMU-centric),在结构退化或视觉遮挡时仍可提供高频、稳定的运动估计;
  • LiDAR 和视觉信息作为约束项,增强轨迹精度;
  • 通过 多度量 ICP(Multi-metric ICP)动态八叉树(Dynamic Octree) 提高匹配质量与实时性;
  • 利用 质量权重(Quality Weighting)机制 来判定不可靠匹配并降低其优化影响;
  • 最终构造统一的优化框架,融合 IMU 先验、LiDAR ICP、视觉重投影误差进行非线性优化。

二、主要公式推导

1. 匹配质量权重(用于抑制退化点云匹配)

用于判断一个点是否真的属于点、线、面三种结构:

对应点质量(点 → 点):

w i p o → p o = σ 3 D σ 3 D max w^{po \rightarrow po}_i = \frac{\sigma_{3D}}{\sigma_{3D_{\text{max}}}} wipopo=σ3Dmaxσ3D

其中:

  • σ 3 D \sigma_{3D} σ3D:点周围的 3D 曲率
  • σ 3 D max \sigma_{3D_{\text{max}}} σ3Dmax:最大曲率阈值
点 → 线 / 面的误差项:

w i p o → l i / p l = 1 − 1 k ⋅ d max ∑ i = 1 k ( p i − p ˉ ) ⊤ A ( p i − p ˉ ) w^{po \rightarrow li/pl}_i = 1 - \frac{1}{k \cdot d_{\text{max}}} \sum_{i=1}^{k} (p_i - \bar{p})^\top A (p_i - \bar{p}) wipoli/pl=1kdmax1i=1k(pipˉ)A(pipˉ)

  • A = I − n k n k ⊤ A = I - n_k n_k^\top A=Inknk(点到线) 或 A = n k n k ⊤ A = n_k n_k^\top A=nknk(点到面)
  • n k n_k nk:法向量
  • p i p_i pi:邻近点, p ˉ \bar{p} pˉ:邻近点均值
  • d max d_{\text{max}} dmax:最大误差范围

2. 全局优化目标函数(基于 LM 法):

最终优化目标是:

min ⁡ T i + 1 { ∑ p ∈ F i ∥ W l ⋅ e p o → p o , l i , p l ∥ 2 + ∑ ( i , i + 1 ) ∈ B ∥ W i m u ⋅ e i m u ∥ 2 + E p r i o r i m u _ o d o m } \min_{T_{i+1}} \left\{ \sum_{p \in F_i} \| W_l \cdot e_{po \rightarrow po, li, pl} \|^2 + \sum_{(i, i+1) \in \mathcal{B}} \| W_{imu} \cdot e_{imu} \|^2 + E_{prior}^{imu\_odom} \right\} Ti+1min pFiWlepopo,li,pl2+(i,i+1)BWimueimu2+Epriorimu_odom

  • 第一项:多度量 ICP 残差(带权)
  • 第二项:IMU 预积分残差
  • 第三项:IMU 初始先验

3. 动态八叉树构建(Dynamic Octree)

  • 地图采用 Hash Table 存储体素 (voxel):

Hash : ( x , y , z ) → Voxel \text{Hash}: (x, y, z) \rightarrow \text{Voxel} Hash:(x,y,z)Voxel

  • 每个 Voxel 内部包含一个小型 Octree(用于点云检索)
  • 新点到来时仅更新对应 voxel 中的 Octree,避免重建整棵 KD-Tree,提高效率。

三、创新点总结

模块创新点作用
IMU 中心建模将 IMU 作为核心轨迹估计器即使视觉和 LiDAR 退化,仍能提供稳定估计
多度量 ICP点-点、点-线、点-面联合建模提高几何匹配鲁棒性
质量评估机制判断特征是否可靠并加权抑制雾霾等环境下错误匹配的影响
动态 Octree每个 voxel 拥有独立 octree 结构替代传统 KD-Tree,极大提升匹配效率
多模态优化联合视觉重投影、LiDAR ICP、IMU 先验构建稳健一致的因子图优化

四、适用场景与优势

适用场景:

  • 尘雾、烟雾等遮挡严重的场景
  • 结构退化(如隧道、矿井、管道)中点云特征不足的环境
  • UAV、UGV、机器人等对实时鲁棒性要求高的导航任务

相较传统方法的优势:

方法IMU 融合点云匹配策略实时性雾霾鲁棒性
LOAM弱融合点-线、点-面中等
LIO-SAM中等经典 ICP中等一般
Super Odometry强融合(IMU-centric)多度量 ICP + 动态 octree

五、Super Odometry与当前主流LIO/VLO系统对比

下面将《Super Odometry: IMU-centric LiDAR-Visual-Inertial Estimator for Challenging Environments》与当前主流的三种 LVI(LiDAR-Visual-Inertial)系统进行系统性对比分析,主要围绕以下五个维度:

  1. 系统架构(IMU主导 / LiDAR主导 / Vision主导)
  2. 数据关联策略(特征提取 + 匹配)
  3. 地图组织与效率(KD-Tree / Octree / 动态结构)
  4. 优化方式(因子图 / 滑窗 / 非线性优化)
  5. 鲁棒性与适用环境

1. 总览对比表格

系统主导传感器数据关联地图结构优化策略特殊能力 / 适用环境
VINS-Fusion视觉 + IMU(视觉主导)视觉特征匹配无地图(轨迹为主)滑窗 + 非线性 BA室内/良好光照环境,不能单独使用 LiDAR
FAST-LIOLiDAR + IMU(LiDAR 主导)点 → 面(surf)动态 KD-Tree点云因子图优化无需回环,全 LiDAR 特征
LVI-SAMLiDAR + Vision + IMU(三者融合)LiDAR 点面、视觉重投影GTSAM + KD-Tree联合因子图优化回环 + 语义 + 多模态地图
Super OdometryIMU 主导(IMU-centric)点 → 点/线/面(多度量)+ 视觉动态 Octree + 哈希IMU 先验 + 多因子优化雾霾/灰尘环境强鲁棒,点云退化适应强

2. 架构对比分析

系统架构核心优点缺点
VINS-Fusion视觉滑窗 + IMU 预积分成熟,延迟小,开源广泛使用对光照变化敏感,不能处理严重遮挡
FAST-LIOLiDAR 点面残差 + IMU 优化高精度,实时性强在低结构环境中(隧道、烟雾)易退化
LVI-SAM多模态因子图(视觉+激光+IMU)通用性强,有回环架构复杂,对同步和标定要求高
Super OdometryIMU 为轨迹主导者在 IMU 数据质量好时极稳定,适应退化对 IMU 噪声与漂移更敏感,初始化要求较高

3. 数据关联方式对比

系统LiDAR 匹配策略视觉处理特点
VINS-Fusion无(只用相机)ORB + 光流 + BA不依赖点云,依赖光照和纹理
FAST-LIO点到面残差(边缘/平面特征)高效,适合室外结构场景
LVI-SAM点到面 + 视觉重投影误差ORB + 重投影 + 同步对位姿初值依赖大
Super Odometry点 → 点/线/面 多度量匹配 + 质量权重滤波视觉重投影 + 前端边缘辅助匹配鲁棒性强,可自适应退化特征剔除

4. 地图与结构组织

系统地图结构特点
VINS-Fusion无地图,仅轨迹滑窗轻量,但不能做密集建图
FAST-LIOKD-Tree 动态维护易受更新频率限制,插入慢
LVI-SAMKD-Tree + 回环维护精度高,实时性适中
Super Odometry动态 Octree + Hash Voxel插入更新仅局部 voxel,极高效率

5. 优化模型

系统优化引擎优化项注释
VINS-FusionCeres / GTSAM视觉重投影 + IMU 预积分类似视觉 SLAM,结构清晰
FAST-LIOCeres / LIO-Mapping点云残差 + IMU实时性强,因子图稀疏
LVI-SAMGTSAM点云 ICP + 相机 + 回环多传感器融合
Super Odometry自定义 LM / GTSAMICP 多度量 + IMU + 视觉重投影 + 权重筛选优先信任 IMU,融合中引入权重机制提高鲁棒性

6. 在遮挡/雾霾等极端环境下表现

系统在恶劣条件下表现原因分析
VINS-Fusion极易失效视觉严重依赖光照、清晰纹理
FAST-LIO退化严重点云特征稀疏或被遮挡后误配严重
LVI-SAM有一定缓解依赖视觉与回环,遮挡下仍可能失效
Super Odometry鲁棒性极强IMU 主导 + 质量评估 + 多度量ICP,自动剔除低质量约束

六、 总结:何时选择 Super Odometry

推荐使用场景:

  • 无法保证视觉质量的任务(如无人机穿越烟雾、采矿机器人)
  • 高速运动下需要稳定惯导估计
  • 点云特征退化严重但 IMU 保持稳定输入的系统
  • 高鲁棒 SLAM 要求,如国防、灾害、地下隧道等

python+opencv简谱识别音频生成系统源码含GUI界面+详细运行教程+数据 一、项目简介 提取简谱中的音乐信息,依据识别到的信息生成midi文件。 Extract music information from musical scores and generate a midi file according to it. 二、项目运行环境 python=3.11.1 第三方库依赖 opencv-python=4.7.0.68 numpy=1.24.1 可以使用命令 pip install -r requirements.txt 来安装所需的第三方库。 三、项目运行步骤 3.1 命令行运行 运行main.py。 输入简谱路径:支持图片或文件夹,相对路径或绝对路径都可以。 输入简谱主音:它通常在第一页的左上角“1=”之后。 输入简谱速度:即每分钟拍数,同在左上角。 选择是否输出程序中间提示信息:请输入Y或N(不区分大小写,下同)。 选择匹精度:请输入L或M或H,对应低/中/高精度,一般而言输入L即可。 选择使用的线程数:一般与CPU核数相同即可。虽然python的线程不是真正的线程,但仍能起到加速作用。 估算字符上下间距:这与简谱中符号的密集程度有关,一般来说纵向符号越稀疏,这个值需要设置得越大,范围通常在1.0-2.5。 二值化算法:使用全局阈值则跳过该选项即可,或者也可输入OTSU、采用大津二值化算法。 设置全局阈值:如果上面选择全局阈值则需要手动设置全局阈值,对于.\test.txt中所提样例,使用全局阈值并在后面设置为160即可。 手动调整中间结果:若输入Y/y,则在识别简谱后会暂停代码,并生成一份txt文件,在其中展示识别结果,此时用户可以通过修改这份txt文件来更正识别结果。 如果选择文件夹的话,还可以选择所选文件夹中不需要识别的文件以排除干扰
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

点云SLAM

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值