港大ArcLab最新开源DEIO:第一个学习与传统非线性图优化紧密结合的单目事件惯性里程计

news2024/11/20 5:06:37

原文链接:港大ArcLab最新开源DEIO:第一个学习与传统非线性图优化紧密结合的单目事件惯性里程计

导读

本文介绍了一种名为 DEIO(Deep Event Inertial Odometry)的新型单目深度事件惯性里程计框架。该方法创新性地将深度学习与传统非线性图优化相结合,通过可训练的事件束调整(e-DBA)与惯性测量单元(IMU)的预积分紧密耦合,实现6自由度位姿估计的高精度和鲁棒性。DEIO在多个公开数据集上的实验表明,其性能在低纹理、高动态范围和复杂场景中明显优于现有的基于图像或事件的主流方法,为事件相机在机器人导航和SLAM中的应用提供了新路径

论文信息

  • 标题:DEIO: Deep Event Inertial Odometry

  • 作者:Weipeng Guan∗, Fuling Lin∗, Peiyu Chen, Peng Lu (*Equal contribution)

  • 论文链接:https://arxiv.org/pdf/2411.03928

  • 项目地址:https://github.com/arclab-hku/DEIO

动机(Motivation)

本文的动机源于现有视觉同时定位与建图(SLAM)系统在恶劣条件下(如运动模糊、低光照和高动态范围环境)可靠性和精确性不足的问题。传统基于图像的SLAM方法(如RGB或RGB-D相机)容易受到动态光照变化和运动模糊的影响,而事件相机凭借其高时间分辨率、高动态范围和无运动模糊的特性,在极端环境中展现出巨大的潜力。然而,事件相机产生的稀疏、非规则和异步数据,以及在某些场景(如平行边缘运动或静态场景)中的信息缺失,限制了其独立应用的鲁棒性。

为克服这些挑战,近年来研究者尝试将事件相机与其他传感器(如IMU、深度传感器等)融合,但现有方法仍存在硬件成本高、标定复杂性高等问题。此外,基于学习的事件SLAM方法尽管展现了出色的泛化能力,但仍在低纹理环境和尺度模糊问题上表现不佳。本文的动机是通过整合深度学习和传统优化方法,结合事件相机和IMU数据,开发出一种高鲁棒性、低漂移且适用于大规模、复杂场景的里程计框架

创新点

系统pipeline

系统pipeline

  1. 学习与传统优化的融合
    提出了第一个学习与传统非线性图优化紧密结合的单目事件惯性里程计(DEIO)框架。通过引入可训练的事件束调整(e-DBA)与IMU预积分的整合,显著提升了位姿估计的精度和鲁棒性。

  2. 可训练的事件束调整(e-DBA)
    设计了基于神经网络的事件束调整方法,通过事件流中连续帧的光流预测替代传统的手工设计特征(如事件角点跟踪)。这一创新实现了事件数据的高效表征和优化。

  3. 单目事件-惯性融合
    DEIO是第一个将基于学习的事件SLAM方法与IMU融合的单目里程计框架。尽管仅在合成数据上训练,其在多个真实世界数据集上的性能显著优于20多种主流方法。

  4. 滑窗图优化的应用
    引入基于关键帧的滑窗优化,将e-DBA生成的几何信息(包括Hessian矩阵和不确定性)与IMU数据在一个协同的因子图中进行优化,实现了高效的事件-惯性联合调整。

  5. 高泛化能力
    尽管在合成事件数据集上训练,DEIO展现了出色的真实世界场景泛化能力,且在结合真实数据微调后,性能进一步提升。

  6. 开放数据与代码
    提供了代码和预处理的事件数据,促进了基于学习的事件位姿跟踪研究的发展。

本文核心算法

本文的核心算法是DEIO(Deep Event Inertial Odometry),一种将事件相机和IMU数据紧密结合的单目里程计系统,通过深度学习与传统优化的协同工作,实现高精度的位姿估计。算法核心分为以下几个部分:

1. 总体框架 DEIO分为前端和后端:

  • 前端通过深度学习预测事件数据的光流信息,提取稀疏的关键事件块。

  • 后端利用图优化技术将事件数据的几何信息与IMU的运动约束结合,通过滑窗因子图优化关键帧的位姿和深度。

2. 事件光流预测

  • 输入为事件数据流,将其划分为时间体素网格。

  • 使用深度神经网络提取局部特征,捕获事件块之间的运动关系。

  • 通过递归网络处理事件的不规则性,生成稀疏的光流和置信度信息,用于后续优化。

3. 可微事件束调整(e-DBA)

  • 从事件光流中提取事件块,将其重新投影到不同帧中,计算投影误差。

  • 使用深度学习生成的光流置信度,逐步优化事件块的深度和相机位姿。

  • 优化过程中充分利用事件数据的稀疏性,通过高效计算提高速度和精度。

4. 事件与IMU的联合优化

  • 构建一个滑窗因子图,其中包含事件和IMU的约束关系。

  • 事件数据提供精确的几何约束,IMU数据提供运动连续性和尺度信息。

  • 在因子图中综合优化事件光流、IMU测量和历史信息,更新关键帧的位姿和深度。

  • 使用关键帧管理策略,仅保留最近和最相关的关键帧,以减少计算负担。

5. 滑窗管理和优化

  • 滑窗机制确保系统只处理固定数量的关键帧。

  • 新关键帧加入时,旧帧会被边缘化处理,其信息被整合到全局优化中。

  • 滑窗内的优化迭代结合了事件数据和IMU数据,通过事件带来的几何精度和IMU带来的运动连续性,共同提升系统性能。

6. 系统工作流程

  1. 初始化:使用事件数据生成初始位姿,并结合IMU数据确定尺度和方向。

  2. 事件处理:提取稀疏事件块,预测光流和深度。

  3. 联合优化:整合事件与IMU信息,优化位姿和深度。

  4. 实时输出:滑窗优化后,输出最新关键帧的6自由度位姿。

实验仿真结果

更多对比实验结果,可以阅读原文。

总结

本文提出了一种名为DEIO的学习驱动的事件-惯性里程计(Deep Event Inertial Odometry),它通过在滑动窗口图优化中紧密集成深度事件束调整(e-DBA)和IMU信息,实现了高精度和高鲁棒性的位姿估计。实验表明,DEIO在九个具有挑战性的事件相机数据集上的表现明显优于基于图像和基于事件的主流方法。本文的研究表明,将学习与优化相结合的框架在SLAM(同时定位与建图)领域具有非常大的发展潜力。此外,通过提供公开的代码和预处理的事件数据,我们旨在推动基于学习的事件位姿跟踪的研究发展。

本文仅做学术分享,如有侵权,请联系删文!

👇👇👇👇👇👇👇👇👇👇

点击下方卡片

第一时间获取最热行业热点资讯,最新智驾机器人行业技术

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2243815.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于麒麟服务器操作系统V10版本,部署Nginx服务、MySql服务搭建PHP环境,实现静态网站平台的搭建。

一、环境准备 关闭防火墙。 查看当前防火墙的状态 systemctl status firewalld Copy 如果防火墙的状态参数是inactive,则防火墙为关闭状态。 如果防火墙的状态参数是active,则防火墙为开启状态。 关闭防火墙。 如果您想临时关闭防火墙,需要运行以下命令: systemctl…

【priority_queue的使用及模拟实现】—— 我与C++的不解之缘(十六)

前言 ​ priority_queue,翻译过来就是优先级队列,但是它其实是我们的堆结构(如果堆一些遗忘的可以看一下前面的文章复习一下【数据结构】二叉树——顺序结构——堆及其实现_二叉树顺序结构-CSDN博客),本篇文章就来使用…

在AndroidStudio中新建项目时遇到的Gradle下载慢问题,配置错的按我的来,镜像地址不知道哪个网页找的,最主要下载要快

android-studio-2024.2.1.11-windows Android 移动应用开发者工具 – Android 开发者 | Android Developers https://r4---sn-j5o76n7z.gvt1-cn.com/edgedl/android/studio/install/2024.2.1.11/android-studio-2024.2.1.11-windows.exe?cms_redirectyes&met1731775…

《Java核心技术 卷I》用户界面中首选项API

首选项API 在桌面程序中,通常都会存储用户首选项,如用户最后处理的文件、窗口的最后位置等。 利用Properties类可以很容易的加载和保存程序的配置信息,但有以下缺点: 有些操作系统没有主目录概念,很难为匹配文件找到…

服务器数据恢复—raid5阵列故障导致上层系统分区无法识别的数据恢复案例

服务器数据恢复环境: 某品牌DL380服务器,服务器中三块SAS硬盘组建了一组raid5阵列。服务器安装Windows Server操作系统,划分了3个分区,D分区存放数据库,E分区存放数据库备份。 服务器故障: RAID5阵列中有一…

Linux_shell脚本if语句详细教程

前言 在 Linux Shell 脚本中,if 语句用于基于条件执行命令或代码块。它的基本语法结构如下: if 条件; then# 如果条件为真时执行的代码 elif 另一个条件; then# 如果另一个条件为真时执行的代码 else# 如果所有条件都不成立时执行的代码 fi一、if 语句…

java中设计模式的使用(持续更新中)

概述 设计模式的目的:编写软件过程中,程序员面临着来自耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性等多方面的挑战,设计模式是为了让程序(软件),具有…

Leetcode 有效的数独

这段代码解决的是 验证一个数独是否有效 的问题,其算法思想是基于 规则校验和状态记录。具体思想如下: 算法思想 核心目标: 检查每个数字在 同一行、同一列 和 同一个 3x3 子格 中是否重复。 状态记录: 使用 3 个布尔二维数组分别…

群控系统服务端开发模式-应用开发-前端文件格式功能开发

一、添加视图 在根目录下src文件夹下views文件夹下param文件夹下filedoc文件夹下&#xff0c;新建index.vue&#xff0c;代码如下 <template><div class"app-container"><div class"filter-container" style"float:left;">&l…

可认证数据资产合约标准协议(CMIDA-1)意见征集

标准背景 数据资产具备多维度的属性&#xff0c;涵盖行业特性、状态信息、资产类型、存储格式等。数据资产在不同流通主体之间可理解、可流通、可追溯、可信任的重要前提之一是存在统一的标准&#xff0c;缺失统一的标准&#xff0c;数据混乱冲突、一数多源、多样多类等问题将…

大数据-227 离线数仓 - Flume 自定义拦截器(续接上节) 采集启动日志和事件日志

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; Java篇开始了&#xff01; 目前开始更新 MyBatis&#xff0c;一起深入浅出&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff0…

Solana应用开发常见技术栈

编程语言 Rust Rust是Solana开发中非常重要的编程语言。它具有高性能、内存安全的特点。在Solana智能合约开发中&#xff0c;Rust可以用于编写高效的合约代码。例如&#xff0c;Rust的所有权系统可以帮助开发者避免常见的内存错误&#xff0c;如悬空指针和数据竞争。通过合理利…

redis类型介绍

1. 字符串&#xff08;String&#xff09;&#xff1a; • 简介&#xff1a;最基础的数据类型&#xff0c;可以存储任何形式的字符串&#xff0c;包括文本数据和数字数据。 • 常用操作&#xff1a;SET、GET、INCR、DECR等。 2. 列表&#xff08;List&#xff09;&#xff1a; …

Pytest-Bdd-Playwright 系列教程(10):配置功能文件路径 优化场景定义

Pytest-Bdd-Playwright 系列教程&#xff08;10&#xff09;&#xff1a;配置功能文件路径 & 优化场景定义 前言一、功能文件路径的配置1.1 全局设置功能文件路径1.2. 在场景中覆盖路径 二、避免重复输入功能文件名2.1 使用方法2.2 functools.partial 的背景 三、应用场景总…

HarmonyOs鸿蒙开发实战(17)=>沉浸式效果第二种方案一组件安全区方案

1.沉浸式效果的目的 开发应用沉浸式效果主要指通过调整状态栏、应用界面和导航条的显示效果来减少状态栏导航条等系统界面的突兀感&#xff0c;从而使用户获得最佳的UI体验。 2.组件安全区方案介绍 应用在默认情况下窗口背景绘制范围是全屏&#xff0c;但UI元素被限制在安全区内…

构建安全的数据库环境:群晖NAS安装MySQL和phpMyAdmin详细步骤

文章目录 前言1. 安装MySQL2. 安装phpMyAdmin3. 修改User表4. 本地测试连接MySQL5. 安装cpolar内网穿透6. 配置MySQL公网访问地址7. 配置MySQL固定公网地址8. 配置phpMyAdmin公网地址9. 配置phpmyadmin固定公网地址 前言 本文将详细讲解如何在群晖NAS上安装MySQL及其数据库管理…

【c++丨STL】list的使用

&#x1f31f;&#x1f31f;作者主页&#xff1a;ephemerals__ &#x1f31f;&#x1f31f;所属专栏&#xff1a;C、STL 目录 前言 list简介 一、list的默认成员函数 构造函数(constructor) 析构函数 赋值重载 二、list的迭代器接口 迭代器的功能分类 三、list的容量…

如何编译 Cesium 源码

如何编译 Cesium 源码 Cesium 是一个开源的 JavaScript 库&#xff0c;用于构建 3D 地球和地图应用程序。它提供了一套强大的 API 和工具&#xff0c;使开发者能够创建丰富的地理空间应用。本文将指导您如何从 GitHub 下载 Cesium 源码&#xff0c;并在本地进行编译。 TilesB…

实验5:网络设备发现、管理和维护

实验5&#xff1a;网络设备发现、管理和维护 实验目的及要求&#xff1a; 通过实验&#xff0c;掌握Cisco 路由器和交换机的IOS配置管理。自动从NTP服务器获取时间信息。能够利用TFTP服务器实现路由器和交换机配置文件的备份和恢复。同时验证CDP协议和LLDP协议的网络参数。完…

全志T113双核异构处理器的使用基于Tina Linux5.0——RTOS编译开发说明

3、RTOS编译开发说明 3.1、RTOS SDK与TinaLinux开发环境 RTOS SDK相关代码已集成到Tina Linux开发环境&#xff0c;Tina Linux开发环境下的rtos子目录即为RTOS开发环境。 ├──brandy ├──bsp ├──build ├──buildroot ├──build.sh >build/top_build.sh ├──…