一种应用于卷帘快门相机的视觉惯性融合连续时间表示方法

本文主要是介绍一种应用于卷帘快门相机的视觉惯性融合连续时间表示方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

样条融合:一种应用于卷帘快门相机的视觉惯性融合连续时间表示方法

    • 一、论文总结
    • 一、基于累积B样条插值公式推到如下

一、论文总结

论文总结:
样条融合:一种应用于卷帘快门相机的视觉-惯性融合连续时间表示方法本文介绍了一种利用卷帘式CMOS相机和MEMS IMUs等传感器进行SLAM和视觉惯性标定的方法。利用相机轨迹的连续时间模型,融合来自其它不同步的高速率传感器的信息,同时限制状态大小。对相机的卷帘快门进行建模,并能在惯性测量中产生误差。该模型不局限于视觉惯性SLAM,还可以简化其他传感器的集成,如旋转SICK激光雷达。
本文方法的核心是一个SLAM系统连续的轨迹表示。我们假设系统需满足如下性质:
1) 允许系统在线和批量运行
2) 系统具有C2的连续性,使我们能够预测IMU的测量值
3) 具有一个很好的近似最小扭矩轨迹
4) 是可参数化且无奇异点的刚体运动
为满足以上性质,本文选择累积B样条插值法,这种方法允许在样条曲线上的任意一点计算解析时间倒数。可以很容易地合成加速度计和陀螺仪的测量值,反过来利用他们对观测到的测量值形成直接误差。
连续时间框架的另一个优点是处理卷帘快门相机。虽然卷帘快门相机的射影几何形状与全局快门相机相同,但图像的每一行都是在不同的时间内曝光的,每一行都比上一行延迟得更久。当相机在运动时,这可能导致图像出现扭曲和倾斜。使用相机运动的连续时间模型,将图像的每一行看作是单独曝光的,如图1所示。
图1

此外本文还给出了视觉和惯性数据的生成模型,通过最小化观测值和预测值之间的差值所形成的目标函数,可批量的求解样条曲线和相机参数,利用连续时间公式,可以对重投影误差和惯性误差进行均匀处理,并根据设备规格或校准计算出它们各自的信息矩阵进行加权。
文章实验部分,进行了仿真和实际数据的对比。首先在一个模拟的单目卷帘相机数据集上给出滑动窗口的视觉测试结果。然后在实际视惯SLAM系统采集的数据集上做了相应测试。结果验证了本文提出的基于连续时间下的B-样条插值方法具有良好的预测效果。

一、基于累积B样条插值公式推到如下

注:为了描述方便以下公式是以截图形式展现

  1. 累积 B-样条插值基本公式如下:
    公式1(1)

值得注意的是B为基函数,p为控制点。
用矩阵的形式表达:
在这里插入图片描述 (2)

在这里插入图片描述 (3)
其中
在这里插入图片描述 (4)
基于累积B-样条插值法公式,在SE(3)下的表达如下:
在这里插入图片描述 (5)
指数对数映射之后得到:
在这里插入图片描述 (6)
假控制点个数k=4,得到:
在这里插入图片描述(7)
展开得到:
在这里插入图片描述(8)
其中B(u(t))表达如下:
在这里插入图片描述 (9)
上式(9)中红色方框矩阵的计算过程手动推到如下:
在这里插入图片描述
最终得到SE(3)下三次累积B-样条的公式变成了如下形式:
在这里插入图片描述(10)

基于以上B-样条公式可以对IMU数据进行插值,推导过程如下:
首先IMU误差模型表达如下:
在这里插入图片描述 (11)
用B-样条方法可以得到连续时间下的陀螺仪角速率和加表的加速度值,重新表达以上公式,如下:
在这里插入图片描述 (12)
其中R,P是矩阵T的子集,要求出R的一介导和P的二阶导,需求出T矩阵的一介二阶导。将矩阵T表示公式简化如下:
在这里插入图片描述(13)
其中对T矩阵求一介二阶偏导如下:
在这里插入图片描述 (14)
求出这个公式,需要求出Ai的一阶二阶导数,计算公式如下:
在这里插入图片描述(15)
这里以A0计算推导为例,A1,A2推导步骤类似,这里就只推导A0:
首先对A0泰勒展开:
在这里插入图片描述(16)
求一阶导如下:
在这里插入图片描述 (17)
求二阶导如下:
在这里插入图片描述 (18)
其中要求出A0以及A0的一介二阶导数,需要先求出B0以及它的一阶二阶导数。求解过程如下:
在这里插入图片描述 (19)
在这里插入图片描述 (20)
在这里插入图片描述(21)

同样基于以上步骤可以推导出A1,A2以及它们的一阶二阶导数。
如果将这个过程反推上去,就可以计算出连续时间下imu的角速率和加速度信息啦!!!

参考文献:
1.Spline Fusion: A continuous-time representation for visual-inertial fusion with application to rolling shutter cameras
2.A Spline-Based Trajectory Representation for Sensor Fusion
and Rolling Shutter Cameras
3.Research Notes and Jacobians:Continuous-Time Visual-Inertial Trajectory Estimation with Event Cameras
4.Sigma-Point Kalman Filtering for Integrated GPS and Inertial Navigation
5.General matrix representations for Bsplines
友情提示:代码下载需要C币,请事先判断是否对您有帮助,谨慎下载哦!!!

这篇关于一种应用于卷帘快门相机的视觉惯性融合连续时间表示方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/258816

相关文章

MySQL 日期时间格式化函数 DATE_FORMAT() 的使用示例详解

《MySQL日期时间格式化函数DATE_FORMAT()的使用示例详解》`DATE_FORMAT()`是MySQL中用于格式化日期时间的函数,本文详细介绍了其语法、格式化字符串的含义以及常见日期... 目录一、DATE_FORMAT()语法二、格式化字符串详解三、常见日期时间格式组合四、业务场景五、总结一、

C++实现回文串判断的两种高效方法

《C++实现回文串判断的两种高效方法》文章介绍了两种判断回文串的方法:解法一通过创建新字符串来处理,解法二在原字符串上直接筛选判断,两种方法都使用了双指针法,文中通过代码示例讲解的非常详细,需要的朋友... 目录一、问题描述示例二、解法一:将字母数字连接到新的 string思路代码实现代码解释复杂度分析三、

mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespace id不一致处理

《mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespaceid不一致处理》文章描述了公司服务器断电后数据库故障的过程,作者通过查看错误日志、重新初始化数据目录、恢复备... 周末突然接到一位一年多没联系的妹妹打来电话,“刘哥,快来救救我”,我脑海瞬间冒出妙瓦底,电信火苲马扁.

SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)

《SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)》本文介绍了如何在SpringBoot项目中使用Jasypt对application.yml文件中的敏感信息(如数... 目录SpringBoot使用Jasypt对YML文件配置内容进行加密(例:数据库密码加密)前言一、J

Spring Boot 中正确地在异步线程中使用 HttpServletRequest的方法

《SpringBoot中正确地在异步线程中使用HttpServletRequest的方法》文章讨论了在SpringBoot中如何在异步线程中正确使用HttpServletRequest的问题,... 目录前言一、问题的来源:为什么异步线程中无法访问 HttpServletRequest?1. 请求上下文与线

解读为什么@Autowired在属性上被警告,在setter方法上不被警告问题

《解读为什么@Autowired在属性上被警告,在setter方法上不被警告问题》在Spring开发中,@Autowired注解常用于实现依赖注入,它可以应用于类的属性、构造器或setter方法上,然... 目录1. 为什么 @Autowired 在属性上被警告?1.1 隐式依赖注入1.2 IDE 的警告:

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot

Python与DeepSeek的深度融合实战

《Python与DeepSeek的深度融合实战》Python作为最受欢迎的编程语言之一,以其简洁易读的语法、丰富的库和广泛的应用场景,成为了无数开发者的首选,而DeepSeek,作为人工智能领域的新星... 目录一、python与DeepSeek的结合优势二、模型训练1. 数据准备2. 模型架构与参数设置3

Android开发中gradle下载缓慢的问题级解决方法

《Android开发中gradle下载缓慢的问题级解决方法》本文介绍了解决Android开发中Gradle下载缓慢问题的几种方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、网络环境优化二、Gradle版本与配置优化三、其他优化措施针对android开发中Gradle下载缓慢的问

python 3.8 的anaconda下载方法

《python3.8的anaconda下载方法》本文详细介绍了如何下载和安装带有Python3.8的Anaconda发行版,包括Anaconda简介、下载步骤、安装指南以及验证安装结果,此外,还介... 目录python3.8 版本的 Anaconda 下载与安装指南一、Anaconda 简介二、下载 An