基于在线光度校准的混合稀疏单目视觉里程计

news/2024/12/29 4:37:45/

文章:Hybrid sparse monocular visual odometry with online photometric calibration

作者:Dongting Luo, Yan Zhuang and Sen Wang

编辑:点云PCL

代码:https://github.com/luodongting/HSO.git

欢迎各位加入知识星球,获取PDF论文,欢迎转发朋友圈。文章仅做学术分享,如有侵权联系删文。

公众号致力于点云处理,SLAM,三维视觉,高精地图等领域相关内容的干货分享,欢迎各位加入,有兴趣的可联系dianyunpcl@163.com。未经作者允许请勿转载,欢迎各位同学积极分享和交流。

摘要

本文提出了一种基于在线光度校准的混合稀疏单目视觉里程计(HSO)算法,用于单目视觉,HSO引入了两种新的测量方法,即自适应模式选择的直接图像对齐和使用比例因子的图像光度描述,以增强对图像强度剧烈变化和运动模糊的鲁棒性。此外,HSO能够通过使用局部-全局亮度一致性增强的KLT跟踪,在时间和空间上建立远离的关键帧之间的姿态约束。候选地图点的收敛速度被用作关键帧选择的依据,从而加强了前端和后端之间的协调。光度校准被巧妙地集成到联合工作的VO系统中:

(1)在HSO中准确校准和补偿了相机的光度干扰,如暗角和曝光时间的变化,从而提高了VO的准确性和鲁棒性。

(2)另一方面,VO为光度校准算法提供预计算的数据,减少了资源消耗,并提高了光度参数估计的准确性。

对各种公共数据集进行了广泛实验,以评估所提出的HSO与最先进的单目vSLAM/VO和在线光度校准方法的性能。实验结果表明,所提出的HSO在VO和光度校准方面具有卓越的性能,准确性、鲁棒性和效率与最先进的VO/vSLAM系统可媲美。我们将HSO开源,以造福社区。

73887a0df79d6488ee1dd3826456e47d.png

HSO在TUM Mono VO数据集的第31个序列中重建的地图和所有帧的轨迹,即使不依赖于闭环检测,该序列的起始和终止位置也是闭合的,HSO实现了很高的定位精度。

主要贡献

本文旨在设计一种具有在线光度校准的混合稀疏视觉里程计(HSO)系统。主要贡献如下:

1. 提出了一种准确、鲁棒且高效的HSO算法,通过实验结果支持所提出的HSO在准确性、鲁棒性和效率方面优于现有的基于特征和直接的单目vSLAM/VO方法,尤其在处理图像强度剧烈变化时表现出色。

2. 在混合VO系统中无缝集成了在线辐射校准方法,并遵循Bergmann等人关于光度校准的基本参数化和优化方法。但是,HSO实现了双赢的局面,既实现了更准确的在线光度校准,又提升了VO性能:(i) HSO的VO模块直接提供了在线校准所需的所有信息,包括关键帧、数据关联和曝光时间先验,这些信息在我们的VO模块中进行联合和准确的优化。与Bergmann等人依赖于专门用于光度校准的独立2D-2D KLT跟踪相比,这使得HSO能够实现更准确的相机光度参数估计,并且潜在地减少计算量;(ii) 对于混合VO系统,通过在线校准后,其VO的准确性和鲁棒性得到了增强。更准确的VO进一步改进了在(i)中校准的光度参数,从而提高了图像质量和VO性能。而Bergmann等人的方法中缺少这种双赢效果,因为其光度校准未利用VO中的最优估计。

3. 在三个现有的公共数据集上进行了广泛的各种vSLAM/VO系统实验,通过一组配置全面系统地评估了在线光度校准和HSO与最先进系统的性能,并将源代码公开:https://github.com/luodongting/HSO.git

主要内容

本文提出的HSO系统可以分为三个线程:在线光度校准、运动估计和建图。HSO的流程如图2所示。

b1e0cc2ab1173dba8d7600acd904a7b1.png

HSO的系统流程图,HSO中有三个并行的线程:在线光度校准(橙色)、跟踪(蓝色)和建图(绿色)。

概述

光度校准线程在线生成最佳的光度校准参数,它不断接收新的关键帧并将其添加到关键帧队列中,该队列用于构建窗口化优化问题,通过在该队列中对当前关键帧的曝光时间进行优化,可以减少由帧间传递引起的漂移,然后,通过解决窗口化优化问题来估计相机的光度参数。

当新的帧到达运动估计线程时,系统首先使用最新优化的光度校准参数对其进行光度校准,去除响应函数和渐晕效应,然后,采用具有自适应模式选择的直接图像对齐方法,获得其姿态和曝光时间的初始估计,为了获取当前帧中的特征观测,使用KLT跟踪将局部地图中的特征对齐。关于关键帧选择决策,HSO引入了一种利用前端和后端信息(包括光流、运动估计的运动和候选地图点的收敛时间)的新算法,这使得系统能够以合理且灵活的速率生成新的关键帧。在最后一步中,对当前关键帧和关联关键帧进行局部BA(Bundle Adjustment)。

当一帧完成运动估计的所有任务后,它将被插入到建图线程中,使用距离滤波器更新先前关键帧中提取的所有候选点的逆距离概率模型,并将其与新帧进行合并,同时,将地图点的收敛速度传递给前端,用于关键帧选择和其他阈值设定,当插入的帧是关键帧时,执行自适应候选点提取算法来选择分布良好的新候选点。在初始化时,我们使用2D-2D KLT跟踪并计算单应矩阵(Homography)和本质矩阵(Essential matrix),然后对H或E进行分解,以找到最佳的平移向量和旋转矩阵,从而启动VO系统。

在线光度校准

在线光度校准是指在系统运行过程中,实时校准和调整相机的光度参数,以减小光度干扰对视觉里程计(visual odometry)的影响。光度校准线程的主要任务是在线生成最佳的光度校准参数。它接收新的关键帧并将其添加到关键帧队列中。为了减少由帧间传递引起的漂移,当前关键帧的曝光时间在关键帧队列中进行优化,然后,通过解决窗口化优化问题,估计相机的光度参数,从而实现更准确的光度校准。

5c82962ad90d774ba05c7e849c8b1166.png

 图像采集过程

图像采集如图所示。当响应曲线未知时,目标函数无法找到唯一的解,我们只能得到一组产生相同像素值的解,这类似于单目vSLAM/VO中的尺度问题,但不同之处在于我们不需要找到正确的尺度因子使光度校准系统可用。在我们的工作中,我们采用了Goldman和Chen以及Bergmann等人中的相同方法来处理尺度,也就是说,如果我们知道光度参数的真值,结果将被最优地缩放。否则,我们将尺度设置为1.0。众所周知,暗角效应倾向于导致图像中心和边缘的像素值不一致,这对于vSLAM中的特征跟踪是不利的。例如,即使使用高质量的定焦镜头,在最大光圈设置下,图像边缘的亮度可能比中心亮度低30%至40%,此外,图像曝光时间的剧烈变化可能导致跟踪失败,因此,消除它们对特征跟踪的影响是将光度校准整合到vSLAM系统中的主要目的。

1c2c27effd7f1bb64a4255d5b30cfbab.png

使用不同初始估计的相机响应函数进行光度校准的结果,其中(a)、(b)和(c)分别是使用它们左下角的初始相机响应函数进行校准的图像,而(d)是原始图像。

视觉里程计

 运动估计线程的任务是根据输入的帧图像进行相机运动估计,首先,使用最新优化的光度校准参数对输入帧进行光度校准,去除响应函数和渐晕效应,然后,采用直接图像对齐方法,结合自适应模式选择,获得帧的姿态和曝光时间的初始估计,为了获取当前帧中的特征观测,采用KLT跟踪方法对局部地图中的特征进行对齐。跟踪效果如图。

488fcec3ffd2c6263e066e00c9230706.png

在两个相反的图像亮度变化下的特征跟踪结果,第一列是参考帧,第二列是使用我们的方法在当前帧中进行的特征跟踪结果,第三列是传统KLT方法的结果,绿色和黄色的点表示被跟踪的特征点,即使图像亮度发生剧烈变化,我们的方法仍能有效地跟踪到大量的特征点。

建图线程负责场景的三维重建和地图的更新,通过距离滤波器,将新帧与先前关键帧提取的所有候选点的逆距离概率模型进行更新。同时,将地图点的收敛速度传递给前端,用于关键帧选择和其他阈值设定。当插入的帧是关键帧时,执行自适应候选点提取算法,选择分布良好的新候选点。最后,在当前关键帧和连接的关键帧上执行局部BA(Bundle Adjustment)来进一步优化地图和估计。在初始化阶段,使用2D-2D KLT跟踪方法计算单应矩阵(Homography)和本质矩阵(Essential matrix),然后通过分解得到最佳的平移向量和旋转矩阵,用于启动系统的视觉里程计。

实验与分析

在本节中,通过多个公共数据集对所提出的HSO系统进行了视觉里程计系统和光度校准的评估,使用一台配备Intel Core i5-6400 CPU(2.70 GHz)和32 GB内存的笔记本电脑来运行所有实验,没有使用GPU并行化,由于在vSLAM系统中,闭环可以显著消除累积漂移,因此结果无法反映闭环之前的性能。因此,为了与ORB-SLAM和ORB-SLAM3进行合理的比较,我们关闭了它们的闭环,需要注意的是,HSO方法在所有实验中使用相同的参数,而对于其他方法(如DSO和ORB-SLAM),特征提取阈值进行了修改,以确保能够提取足够的特征点,特别是对于ICL-NUIM数据集,以避免跟踪失败。下图展示了HSO在不同环境下的重建结果,包括曝光变化、运动模糊和走廊等场景。所有结果均不需要进行任何参数修改。

1e77a4418376f57abbb8cd0b9101e772.png

定性示例,第一行是EuRoC MAV数据集中的V103和V203序列,第二行是TUM Mono VO数据集中的sequence_26,所有示例都包括地图构建的结果以及VO运行期间的跟踪状态。

总结

本文介绍了一种新颖的混合稀疏单目VO系统命名为HSO,它的直接图像对齐设计为自适应于图像梯度信息,提供了稳定可靠的初始估计,由于局部-全局联合光度描述被集成到其KLT跟踪中,极大减轻了不规则的图像亮度变化对姿态跟踪的影响,在极端图像亮度变化和运动模糊的情况下,光度校准的纯比率模型比传统的线性模型表现出更强的稳健性能,通过考虑候选点的收敛速度,引入了一种新颖的关键帧选择机制,我们的一个主要贡献在于在线光度校准方法完全与VO/vSLAM系统集成,使其能够应对各种光度干扰。获得的光度参数估计结果也可以应用于依赖光度一致性假设的其他视觉算法。

在三个公共数据集上评估了提出的系统,总体而言,我们的系统在效率、准确性和稳健性方面优于现有的单目基于特征和直接方法,该系统可以解决一些现有方法中的棘手情况,例如EuRoC MAV数据集中的V103和V203,同样,在光度校准方面,我们获得的相机光度参数估计精度也优于现有的在线光度校准系统。在未来的工作中,我们将致力于将此HSO系统扩展到具有更大视场(例如鱼眼)的相机,并将运动先验集成到系统中,以获得绝对尺度并提高在快速运动下的系统性能。

更多详细内容后台发送“知识星球”加入知识星球查看更多。

3D视觉与点云学习星球:主要针对智能驾驶全栈相关技术,3D/2D视觉技术学习分享的知识星球,将持续进行干货技术分享,知识点总结,代码解惑,最新paper分享,解疑答惑等等。星球邀请各个领域有持续分享能力的大佬加入我们,对入门者进行技术指导,对提问者知无不答。同时,星球将联合各知名企业发布自动驾驶,机器视觉等相关招聘信息和内推机会,创造一个在学习和就业上能够相互分享,互帮互助的技术人才聚集群。

以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除

aa5f4aae9637794987cf4384116be34c.png

扫描二维码

                   关注我们

让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入知识星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。

分享与合作方式:微信“cloudpoint9527”(备注:姓名+学校/公司+研究方向) 联系邮箱:dianyunpcl@163.com。

为分享的伙伴们点赞吧!

268a71f0011f2b9fb6d2b11c8886bbb9.gif


http://www.ppmy.cn/news/396572.html

相关文章

Qt中的基本组件:现代化应用的构建块

Qt中的基本组件:构建现代化应用的构建块 简介: Qt是一款流行的C框架,广泛应用于跨平台应用程序的开发。它提供了一系列功能丰富的基本组件,这些组件是构建现代化应用的关键构建块。本文将介绍Qt中的一些基本组件,探索…

三菱plc模数转换

[TO K0 K17 H2 K1]是对FX2N-2DA模块进行设置的指令,TO可以理解为TO(TO是由PLC到功能模块的数据传递,FROM是从功能模块到PLC的数据传递。)TO K0 K17 H2 K1的K0或指FX2N-2DA模块在PLC的地址。具体含义还要结合数模转换器FX2N-2DA模块…

华为路由器配置

参考博客:http://blog.51cto.com/13555654/2063790

plc变频器c语言,常州plc变频器培训(PLC的实用性)

常州plc变频器培训,生活的船不能没有理想的帆,来常州plc培训为你找回理想的帆船,详细内容为以下PLC发展过程,PLC软件派系,自动化前景,PLC的实用性,C语言学习,工业机器人研发。 PLC发…

自制U盘安装xin7系统

第一步:制作U盘启动盘 下载win7系统(ISO文件),下载UltraISO软件并安装。运行UltraISO,利用文件菜单 打开win7系统, 然后选择启动菜单->写入硬盘映像。整个过程时间比较长。 第二步:安装 1&…

快速入门 | 篇十一: 正运动技术运动控制器中断的应用​

之前正运动技术与大家分享了,运动控制器的固件升级、ZBasic程序开发、ZPLC程序开发、与触摸屏通讯和输入/输出IO的应用、运动控制器数据与存储的应用、运动控制器ZCAN、EtherCAT总线的使用、示波器的应用、多任务运行的特点等。 今天,我们来讲解一下正运…

McAfee IntruShield 网络 IPS 设备

McAfee IntruShield 网络 IPS 设备 前瞻性地保护系统和应用程序 成熟的、业界领先的新一代入侵防护解决方案。 业界第一款具备风险识别功能的 IPS,针对零时间攻击和 DoS 攻击,以及间谍软件、恶意软件、Botnet 病毒和 VoIP 的威胁,提供业内最…

三菱PLC一些指令及应用1

一、特殊指令 1、计数指令:out (c0 k3) 表示计数3次,3秒后关掉开关,y0 仍亮。 想要清除再计数可以用RST置位指令 2、常开指令:M8000 3、常闭指令:M8001 二、常用写法 1、自锁写法:在X1上升的一瞬间Y2自锁&a…