作者:刘哲、史殿习、杨绍武、李睿豪
来源:国防科技大学学报
编辑:郑欣欣@一点人工一点智能
00 摘要
视觉惯性导航系统通过初始化,对尺度信息、重力向量、速度、惯性传感器偏差等一系列状态估计所需参数进行快速求解,以提升系统后续导航定位与环境感知的准确性。根据传感信息耦合方式,视觉惯性导航系统初始化方法可以分为三类:联合初始化、非联合初始化和半联合初始化。基于现有研究工作,从基础理论、发展与分类、现有方法、性能评估四个方面展开,对目前主流的初始化方法进行综述,并总结视觉惯性导航系统初始化领域未来的发展趋势,有利于对视觉惯性导航系统初始化方法形成总体性了解并把握其发展方向。
同时定位和构图(simultaneous localization and mapping,SLAM)以及视觉里程计(visual odometey,VO)是机器人导航、计算机视觉等领域的新兴研究热点,允许单个机器人仅通过视觉传感器(如单目相机、双目相机、深度相机或事件相机)或多机器人通过视觉传感器和信息交互进行未知环境感知和自身定位导航,目前已经被广泛应用于虚拟现实(virtual reality,VR)、增强现实(augemented reality,AR)、场景重建以及自动驾驶等领域。
由于视觉传感器与惯性测量单元(inertial measurement unit,IMU)具有较好的互补关系,近年来,加入IMU的视觉惯性SLAM(visual inertial SLAM,VI-SLAM)和视觉惯性里程计(visual inertial,VIO)越来越受到人们的关注,VI-SLAM与VIO也被统称为视觉惯性导航系统(visual-inertial navigation system,VINS)。仅使用单目相机和低成本IMU的VINS,可以提供小型、紧凑、廉价、准确、低功耗的定位导航与环境感知解决方案。
VINS执行定位导航任务时,往往需要在启动之初对一些特定参数进行初始估计,这一参数估计的过程被称为VINS初始化。准确的初始化结果可以提升VINS位姿估计、地图构建的精度和求解速度;反之,错误或不准确的初始化结果将影响VINS性能。VINS初始化参数一般可以分为以下三类:
1)尺度信息、重力向量与系统初始速度:单目视觉系统无法准确估计的参数,可以通过引入IMU测量数据对其进行求解,进而获得世界坐标系中、绝对尺度下的系统位姿与地图构建结果。
2)IMU偏差:低成本IMU由于加工精度低、易受环境温度影响等特性,存在一定的零漂和温漂,这些误差被统称为IMU Bias。通过融合视觉信息与IMU测量数据,可以对IMU Bias进行求解,以降低其对系统状态估计的影响。
3)系统外参:系统外参指相机坐标系与IMU坐标系之间的变换矩阵。当无法事先获得时,VINS需要通过初始化来获取系统外参估计值。
目前,对VINS的研究被认为既有理论价值又具实用意义,并有不少综述文献可供参考。但作为VINS的重要组成部分,VINS初始化却鲜有文献单独对其进行整理和总结。因此,本文将对现有VINS初始化方法进行综述,从VINS初始化所依赖的基础工作、VINS初始化发展与分类、VINS初始化现有方法、VINS初始化方法性能评估四个方面进行介绍,最后对VINS初始化未来的发展趋势进行讨论和展望。图1对本文重要概念及名称之间的关系进行梳理,其中部分概念将在后续章节进行介绍。
图1 重要概念及名称关系
01 VINS初始化基础工作
初始化是VINS的重要组成部分,其核心与VINS状态估计相似,均是对一系列系统状态参数的估计。因此,VINS状态估计中IMU测量值与视觉信息之间的融合方式在VINS初始化中同样适用。随着IMU预积分算法的提出与完善,2016年以来,新提出的初始化方法基本上都基于预积分推导而来。本节主要从如下两个方面对VINS初始化基础工作进行介绍:传感融合方式和IMU预积分算法。
1.1 传感融合方式
VINS需要对不同传感器数据进行融合,并基于传感融合结果对系统状态进行估计,以得到系统的定位信息、运动信息以及周边环境的地图信息。目前VINS有两种传感融合方式:松耦合和紧耦合。
图2(a)为松耦合示意图。松耦合采用独立的惯性定位模块和视觉定位模块,两个模块的更新频率通常是不一致的,模块之间存在一定的信息交互,通过融合两个模块的结果获得系统最终状态估计结果。松耦合算法较为简单并易于实现。
图2(b)为紧耦合示意图。紧耦合使用两种传感器的原始数据共同估计系统状态,不同传感器的噪声会相互影响,算法实现上相对复杂。但相比较于松耦合,紧耦合充分利用并结合了异构传感器数据,可以得到更精确的状态估计结果。
图2 VINS松耦合与紧耦合示意图
VINS初始化所使用的传感数据融合方法,基本都是对松耦合和紧耦合的延伸与拓展。
1.2 IMU预积分算法
IMU预积分算法最先在文献[20]中被提出,后经文献[21-22]完善,目前有流形上和基于运动方程两种表征方式。
在VINS中,IMU的工作频率远高于视觉传感器的工作频率。传统VINS进行状态估计时,往往以图像帧时刻作为时间节点,每当有新图像输入时,就会对系统状态向量进行更新。状态向量的频繁更新导致了对IMU测量数据的重复积分,而高频、大量的IMU测量数据又使这一过程的时间开销骤增。为解决此问题,研究者提出了IMU预积分算法。
IMU预积分算法的核心思想是将一段时间内IMU测量数据中与状态向量更新无关的数据进行积分处理,作为这段时间内的IMU预积分项,避免这部分数据在后续过程中的重复积分,最终达到简化VINS状态估计的目的。图3为预积分算法示意图。IMU预积分算法的提出,不仅提升了VINS状态估计性能,同时也大大提升了VINS初始化算法的效率和实时性。
图3 IMU预积分算法示意图
02 VINS初始化发展与分类
VINS初始化的发展是伴随VINS发展而逐渐兴起的。早期VINS由于受到硬件的限制,多使用基于滤波的方法进行状态估计,这种方法虽然计算效率高,但精度较低。随着计算机硬件的发展,基于优化的状态估计方法逐渐在VINS领域展现优势。这种方法虽然计算开销大,但是精度高。与之一起蓬勃发展的便是VINS初始化算法。准确的初始化结果,可以为VINS提供一个良好的初始状态,大大提升VINS启动之初状态优化求解的收敛速度,同时有效提升状态估计的准确性。此外,IMU预积分算法的提出对于VINS初始化的发展也起到了至关重要的作用。
在文献[25]中,VINS初始化按照传感融合方式被分为两大类——联合初始化和非联合初始化,可以分别看作是基于紧耦合和基于松耦合的初始化。本文在其分类之上,又进一步总结细分出一类初始化方法,称之为半联合初始化。三类不同初始化方法定义如下:
1)联合初始化:不单独处理视觉信息,一步求解初始化参数的初始化方法。
2)非联合初始化:单独处理视觉信息,之后分多步依次求解初始化参数的初始化方法。
3)半联合初始化:单独处理视觉信息,之后一步求解初始化参数的初始化方法。
对于上述三类初始化方法,联合初始化由于需要一步求解所有初始化参数,往往存在计算开销大、优化收敛难的问题;非联合初始化虽然通过分步求解、参数解耦的方式降低了整体计算开销,但分步求解的过程中往往忽略了不同初始化参数之间的相互影响,使得初始化精度有所损失;而半联合初始化可以看作是联合初始化和非联合初始化之间的一种平衡,它对初始化求解过程中耦合程度最低的纯视觉部分单独处理,不仅简化了后续的求解过程,而且保证了初始化的精度。目前,三类初始化方法都在继续发展完善,并相互借鉴和补充。表1对VINS初始化典型工作所属初始化分类、是否基于预积分算法和主要贡献进行了概况和总结。一般来说,目前的初始化工作重点关注的是初始化方法求解精度和在具体VINS中的求解耗时。
表1 VINS初始化典型工作
03 联合初始化
3.1 闭式求解方法
联合初始化方法最早由Martinelli于2014年在文献[26]中提出。在文献[32]的基础上,Martinelli提出了一种针对VINS初始化的闭式求解方法,该方法在不考虑系统外参和陀螺仪Bias的情况下,基于系统运动方程和特征点在不同图像帧之间的空间约束,构造单个特征点在两帧图像中的初始化方程,再通过联立所有特征点初始化方程得到初始化求解线性系统,最终求解获得重力向量、系统速度、特征点深度(尺度信息)、加速度计Bias这四项初始化参数。
3.2 M-K方法与改进M-K方法
2017年,Martinelli和Kaiser对闭式求解方法进行改进,通过分析不同IMU Bias对初始化造成的影响,去除了闭式解中对加速度计Bias的估计,增加了对陀螺仪Bias的估计,并采用非线性优化的方式对初始化参数进行求解。这种改进的闭式求解方法被称为M-K方法。
2019年,Campos等在文献[33]的基础上,对M-K方法进行了全面改进,提出了融合IMU预积分算法的改进M-K方法。Campos等认为M-K方法存在三个问题:①关于路标点可观测性的假设不合理;②在精度和时间开销上难以达成平衡;③无法判断初始化结果是否可用。
针对以上三个问题,改进M-K方法首先拓展了路标点可观测性假设的适用范围,使得更多路标点可以参与初始化过程;其次引入预积分算法,并加入重力向量细化算法,在提升初始化求解精度的同时,降低了求解耗时;最后增加了两项针对初始化结果的测试——可观测性测试和一致性测试,以提升初始化求解结果的精度和可靠性。
3.3 M-K方法的后续改进
2020年,Martinelli等将M-K方法推广到多机器人协同系统中,提出一种针对多机器人的改进M-K方法,并对初始化以及状态估计中相关状态的可观测性进行研究。
2021年,Evangelidis等对M-K方法进行改进。该方法将同一个路标点同时与多帧图像中的特征观测信息进行匹配,构造初始化优化函数进行求解。该求解函数结构简单,并可通过消元法有效降低求解系统维度,最终可获得比M-K方法快50%的初始化求解速度。同年,Micusik等将改进M-K方法推广到基于多卷帘快门相机的VINS中,并在初始化求解过程中提出一套完整的重整化求解方法。
2022年,Liu等在改进M-K方法的基础上,首次将特征线引入VINS初始化:基于普吕克坐标线表示方法推导出特征线初始化方程,并在改进M-K方法的基础上构造结合点线特征的初始化非线性优化损失函数,通过求解获得初始化相关参数以及点线特征参数。
04 非联合初始化
4.1 VI-ORB方法
2017年,非联合初始化方法首次由Mur-Artal等在文献[11]中提出。Mur-Artal等在ORB-SLAM、ORB-SLAM-2的基础上加入惯性测量数据,提出首个基于关键帧的视觉惯性SLAM系统——VI-ORB-SLAM,并为其设计了一种全新的初始化方法(下文称为VI-ORB方法)。VI-ORB方法引入预积分算法,并分步求解陀螺仪Bias、尺度信息、重力向量、加速度计Bias和系统速度这五项初始化参数。
VI-ORB方法可分为四步:
①基于纯视觉信息对陀螺仪Bias进行估计;
②在不考虑加速度计Bias的情况下,基于预积分算法和纯视觉信息构建融合尺度信息、重力向量的运动约束方程组,求解方程组对尺度信息和重力向量进行初步估计;
③在第二步运动约束方程组中加入加速度计Bias和重力细化项重新求解,获得加速度计Bias估计值以及细化后的尺度信息和重力向量;
④将前三步求得的初始化参数代入系统运动方程中,求解获得不同时刻的系统速度向量。
VI-ORB方法相对于当时主流的M-K方法,具有耗时低、鲁棒性强的优势。
4.2 VINS-Mono方法
同样在2017年,Qin基于其团队已有研究成果,在文献[29]中提出了一种非联合初始化方法(下文称为VINS-Mono方法),该方法后续被使用在VIO系统VINS-Mono中,为VINS-Mono提供了良好的初始化估计结果。
VINS-Mono方法与VI-ORB方法思路基本一致,主要区别在于:
①不单独对系统速度求解,而是与尺度信息、重力向量一同求解;
②通过仿真实验发现,在大部分情况下,加速度计Bias对于初始化精度影响较小,因此忽略了对于加速度计Bias的求解;
③简化重力向量细化过程,将重力细化项定义为正切平面上的正交分量,增加求解约束。
4.3 改进VI-ORB方法
2018年,Huang等对VI-ORB方法进行改进,提出了一种更全面的非联合初始化方法(下文称为改进VI-ORB方法)。该方法相比于VI-ORB方法,增加了对系统外参的估计。
与VI-ORB方法相同,改进VI-ORB方法也分为四步,其与VI-ORB方法的区别在于:
①参照文献[28],在VI-ORB方法第一步中加入对系统外参旋转分量的估计;
②在第二步和第三步中,外参平移分量从已知项变为运动约束方程组中的求解项,相应的求解方式也从线性方程组求解变为非线性优化求解。
改进VI-ORB方法是目前求解项最全面的初始化方法之一。
4.4 其他非联合初始化方法
由于非联合初始化耗时低、鲁棒性强,再加上VINS-Mono、ORB-SLAM和ORB-SLAM-2代码均开源,近年来,很多VINS初始化工作均是基于VI-ORB方法和VINS-Mono方法改进而来。
2018年,Mu等对VI-ORB方法和VINS-Mono方法进行整合,在VI-ORB方法的基础上,利用VINS-Mono方法对重力向量进行细化。2019,Li等在文献[43]中对VI-ORB方法进行改进,利用人造物体边缘多与地面垂直|平行的特点,通过图像中与地面垂直的线段对重力向量进行细化,一方面提升重力方向的估计精度,另一方面加速初始化求解过程,从而有效提升初始化性能。同年,Jung等将VI-ORB方法推广到双目VINS中,通过引入双目相机约束直接获得尺度信息,降低初始化求解复杂度。
2020年,Gong等在半直接法视觉惯性里程计框架中,提出一种基于尺度收敛的初始化评估方法,以提升初始化算法可靠性。2021年,Cheng等在文献[46]和文献[47]中对VI-ORB方法进行改进,提出一种基于信赖域的迭代优化求解方法,提升初始化求解性能。同年,Huang等在改进VI-ORB方法的基础上,提出了一种考虑时间-空间约束的VINS初始化方法,可以对IMU和相机之间的传感器时延进行估计。
此外,非联合初始化还被推广到了更复杂的传感融合系统中。2020年,Wang等提出一种视觉-惯性-磁力融合的定位导航系统,并将非联合初始化方法应用到该系统当中,在求解初始化参数的同时,还实现了视觉-惯性-磁力对齐。2021年Jin等在VI-ORB方法的基础上加入全球卫星导航系统(global navigation satellite system)测量数据,提出并实现了一种面向视觉-惯性-GNSS融合场景的初始化方法。2022年,Xiong等针对自动驾驶场景,在VINS-Mono方法的基础上加入GNSS测量数据,同样设计并实现了一种面向视觉-惯性-GNSS融合场景的初始化方法。
05 半联合初始化
5.1 早期半联合初始化方法
2016年,Yang等首次在文献[28]中提出了半联合初始化方法。该方法首次将IMU预积分算法引入VINS初始化,可以有效对尺度信息、重力向量、系统速度和系统外参进行估计,但是该方法忽略了对IMU Bias的估计。
该半联合初始化方法可分为两步:
①基于SfM方法和陀螺仪测量数据,分别获得相机坐标系与IMU坐标系中的系统旋转状态,并在此基础上求解获得系统外参旋转分量;
②基于预积分公式和特征点重投影误差,构造初始化线性优化损失函数,求解获得系统速度、重力向量、特征点深度(尺度信息)以及系统外参平移分量。
该半联合初始化方法由于没有考虑IMU Bias,因此可用性并不高,但是其提出的初始化线性优化方法以及后续状态估计非线性优化方法,为日后VINS-Mono等一系列VINS的提出提供了良好的理论基础。
5.2 ORB-SLAM-3方法
2020年,Campos等提出了一种基于最大后验概率估计的半联合初始化方法,该方法被用于ORB-SLAM-3中,作为视觉惯性部分的初始化方法(下文称为ORB-SLAM-3方法)。
ORB-SLAM-3方法可分为三步:
①仅基于视觉信息的最大后验概率估计,即通过ORB-SLAM算法获得不考虑尺度的系统状态;
②仅基于IMU测量数据的最大后验概率估计,即通过最大化后验概率分布构造仅考虑IMU测量数据的非线性优化损失函数,通过优化求解获得尺度信息、重力向量、系统速度、加速度计Bias、陀螺仪Bias的初始化估计值;
③基于视觉-惯性数据的联合最大后验估计,即以第二步结果为初始值,分两次进行视觉惯性联合优化,以获得更加精确的初始化估计值(该步骤与VINS状态估计并无本质区别)。
ORB-SLAM-3方法在实时性和准确性之间取得了良好的平衡,是目前效果最好的VINS初始化方法之一。
5.3 其他半联合初始化方法
2021年,文献[54]基于ORB-SLAM-3方法,通过引入拉格朗日乘子法提出一种针对VINS初始化的解析解方法,该方法在保证初始化求解实时性的同时提升了初始化求解精度。同年,Yathirajam等提出一种基于闭式求解方法的半联合初始化方法,该方法可以看作是对闭式求解方法的全面改进。此外,吴涛等也提出了类似文献[55]中的改进闭式求解方法。刘刚等提出一种基于VINS-Mono方法的半联合VINS初始化方法,并提出一种基于费歇尔信息矩阵的初始化评估方法。
06 VINS初始化方法性能评估
随着VINS理论快速发展和应用日益广泛,对于VINS初始化的研究也日渐增多。如何评估初始化方法的性能,对于VINS初始化研究至关重要。本节主要从评估环境和评估指标两个部分对VINS初始化方法性能评估进行介绍,并在最后分析比较了目前主流VINS初始化方法的性能。
6.1 VINS初始化评估环境
VINS初始化方法性能评估环境可以分为两类:仿真环境和真实环境。
一般来说,VINS初始化方法会在仿真环境中对特定条件下的初始化进行模拟仿真验证和评估。例如在文献[29]中,作者在仿真环境下,通过设置不同的加速度计Bias进行初始化测试。测试结果表明,加速度Bias对初始化结果影响并不大。因此文献[29]所提VINS-Mono方法放弃了对加速度计Bias的估计。同样,文献[27]也在仿真环境中,探究了不同初始化参数对初始化结果的影响。
VINS是一类面向真实环境的实际系统,因此绝大部分初始化工作都会基于真实环境中的数据进行实验验证和评估。目前,采用最广泛的初始化数据来自公共数据集EuRoC MAV Dataset(以下简称EuRoC数据集)。EuRoC数据集属于室内视觉惯性数据集,提供由无人机采集的双目相机和IMU数据,同时提供由VICON运动捕捉系统采集的无人机运动轨迹和六自由度位姿真值。EuRoC数据集包含两个场景共计11条地图序列,其中,工厂场景(Machine Hall)包含5条地图序列,房间场景(Vicon Room)包含6条地图序列。图4(a)展示了EuRoC数据集中不同场景的图像序列,图4(b)展示了VINS工作VI-DSO在EuRoC数据集房间场景中的导航结果。由于EuRoC数据集可以提供VINS初始化所需的运动激励和传感信息,大多数初始化工作都选择EuRoC数据集进行性能评估,包括改进M-K方法、VI-ORB方法、VINS-Mono方法、改进VI-ORB方法、ORB-SLAM-3方法等。此外,部分VINS初始化方法还会采用实物实验的方式,对算法的有效性进行验证,例如M-K方法、VINS-Mono方法、文献[28]中的半联合初始化方法等。
图4 EuRoC数据集图像序列展示
(a)同场景图像序列
图4 VI-DSO在其房间场景中导航结果示意图
(b) VI-DSO导航结果(轨迹与三维重建)
除了EuRoC数据集,文献[19]还介绍了目前主流的、基于不同平台载体的VINS数据集,理论上来说,这些数据集均可应用于不同场景下VINS初始化方法的性能评估。
6.2 VINS初始化评估指标
VINS初始化方法性能评估指标可以分为两类:实时性评估指标和准确性评估指标。
实时性评估指标主要评估VINS初始化耗时,一般会基于初始化过程中的两类时间开销进行评估———
和
。其中,
是初始化数据所占时长,即初始化求解框架内最后一帧数据时间戳与第一帧数据时间戳的差值;
是初始化总耗时,即初始化完成时刻与初始化求解框架内第一帧数据时间戳的差值。因为VINS初始化往往需要额外时间对数据进行处理和求解,因此
≥
。对于VINS来说,初始化方法耗时越短越好。
准确性评估指标可以分为两类:初始化参数准确性评估指标和状态估计准确性评估指标。初始化参数准确性评估主要对比初始化参数求解结果与参数真值之间的差距,差距越小,说明初始化方法准确性越高。一般主要对比IMU Bias、尺度信息求解结果和真值之间的差距。状态估计准确性评估是指将初始化方法耦合到现有VINS中,通过对比不同初始化方法(或有|无初始化)下VINS后续状态估计的精度来对初始化方法准确性进行评估。后续状态估计精度越高,说明选用的初始化方法准确性越高。对于VINS来说,初始化方法准确性越高越好。
6.3 VINS初始化方法性能对比
文献[25]对目前最受关注且性能优异的联合初始化方法——改进M-K方法、非联合初始化方法——VINS-Mono方法和半联合初始化方法——ORB-SLAM-3方法的性能进行了对比,主要对比了各方法初始化耗时以及初始化尺度信息估计误差。同时,也加入了不经初始化而直接进行视觉惯性联合优化(即VINS状态优化)后系统的尺度误差作为参考项。
该对比实验基于EuRoC数据集进行,将EuRoC数据集中的每一条地图序列都切分为众多子地图序列以扩大测试对象数量,并在所有子地图序列中测试上述三种初始化方法和无初始化的参考方法,最终得到每种方法在所有地图序列初始化结果的平均值。实验结果如表2所示。由于改进M-K方法与VINS-Mono方法处理图像帧的频率不同(分别为4Hz与10Hz),因此表2中的实验结果分为两部分:上半部分为改进M-K方法与ORB-SLAM-3方法性能对比结果,其中ORB-SLAM-3方法与无初始化参考方法(即不经初始化而直接进行视觉惯性联合优化,下文同)均以4Hz的频率处理图像帧;下半部分为VINS-Mono方法与ORB-SLAM-3方法性能对比结果,其中ORB-SLAM-3方法与无初始化参考方法均以10Hz的频率处理图像帧。
表2 改进M-K方法、VINS-Mono方法与ORB-SLAM-3方法
在EuRoC数据集上性能对比结果
根据表2中对比实验的结果,可以得出以下结论:
1)不经初始化而直接进行视觉惯性联合优化的系统尺度误差仅小于VINS-Mono方法,说明初始化对VINS系统状态估计是有意义的;
2)改进M-K方法准确性较高,但是耗时较久,反映了联合初始化的特点,即求解精度高,但求解过程太过复杂从而导致实时性较差;
3)VINS-Mono方法耗时最少,但是准确性最差,反映了非联合初始化的特点,即求解实时性强,但分步求解忽略了后求解参数对先求解参数的影响从而导致准确性较差;
4)ORB-SLAM-3方法不仅有着最好的准确性,实时性方面也与VINS-Mono方法接近,反映了半联合初始化的特点,即在不影响求解实时性的前提下保证了良好的准确性。
07 VINS初始化未来发展趋势
VINS研究已有数十年的历史,自2012年预积分算法被提出并推广以来,VINS研究又焕发了新的活力,尤其是初始化算法,借助预积分算法取得了新一轮的进展和成果。此外,深度学习方法与更多新型传感器也逐渐被VINS研究所接纳和融合。综合目前VINS的相关研究现状,本文认为VINS初始化存在以下发展趋势:
1)运动激励。在不同的运动激励下,VINS状态以及尺度信息的可观测性有所不同,而潜在的运动退化(例如悬停或匀速运动)风险,也有可能导致初始化结果出现偏差。初始化研究需要对初始化运动激励相关问题进行深入研究,探究各种瞬时 /持续的运动激励以及运动状态(例如运动退化)对初始化结果可能造成的影响。
2)性能评估。目前,初始化性能评估方法主要通过将初始化估计值与数据真值对比进行评估。但是,在初始化完成阶段,系统通过非真值信息,判断初始化结果是否满足性能要求,对于VINS来说更为重要。
3)持续初始化。近年来,越来越多的工作认为初始化不应只存在于系统初始阶段,而应在系统运行的全阶段持续进行,以应对尺度信息随时间变化带来的挑战。文献[59-61]所提出的视觉惯性系统,均在系统运行的全过程中加入类似初始化的模块,对系统尺度信息进行持续更新。然而,需要注意的是,持续初始化在提升状态估计精度的同时,不可避免地会带来时间开销的增长。
4)深度学习融合。目前,已有一系列方法利用深度学习技术对IMU测量数据进行降噪处理],以获得无噪声或低噪声IMU数据并应用在相关领域中。基于此思路,可以提出基于深度学习的IMU Bias估计算法,结合目前已有的初始化方法,提升 初始化性能。此外,文献[66]中提出了一种基于单目深度估计网络、结合深度信息的全新VINS初始化框架,同样值得关注。
5)特征处理。在VO与SLAM领域,多项工作已经表明,更丰富的视觉特征可以带来更精确的状态估计结果。对于初始化,更多视觉特征的加入,例如线特征,也可以有效提升视觉信息处理的准确性。但是视觉特征的增加会带来计算开销的增长,需要在性能和实时性之间寻求平衡。
6)时空参数。VINS需要同时处理来自IMU和视觉传感器的信息,如果无法对两者真实采样时间之间的关系进行标定,那么VINS状态估计精度则有可能受到影响。目前,多数时间标定方法相对于初始化过程独立],仅文献[48]所提初始化方法可以在估计初始化参数的同时进行相机-IMU时间标定。未来还需要更多更为完善的、包含传感器时间标定的VINS初始化方法。
7)事件相机。事件相机(也称作神经形态视觉传感器)是一种全新的仿生视觉传感器,具有高时域分辨率、高动态范围、低数据冗余和低功耗等优势,近年来在机器人视觉领域引起了广泛关注。目前,虽然已经有一些基于事件相机的VINS工作,但是这些工作并没有提供相应的初始化方法。基于事件相机的VINS初始化方法将成为未来发展趋势。
8)更多传感信息。虽然视觉传感器与IMU具有强互补关系,但将VINS应用于大规模复杂场景中时,仍可能存在鲁棒性不佳、误差积累等问题。融合更多传感信息成为解决此类问题的一种思路,例如加入GNSS或磁力计的VINS等。对于这类融合更多传感信息的VINS,针对不同传感组合、涉及更多初始化求解参数的初始化方法将成为未来发展趋势。
9)预积分算法。目前常用的IMU预积分算法主要包括流形上和基于运动方程两种,均在离散空间对预积分进行推导,在求解过程中使用离散近似,虽然简化了计算过程,但降低了求解精度。文献[79]中提出了一种基于连续空间的预积分推导方法,给出了更为精确的预积分闭式解,但是由于计算过程相对复杂,目前仅被部分方法使用。如何在保证实时性的前提下,通过改进预积分算法提升初始化精度,也将是未来发展趋势之一。
10)面向任务场景的应用适配。随着VINS越来越多的广泛应用于自动驾驶、VR/AR、无人系统定位导航等领域,其面对不同任务场景和应用需求时,对初始化算法的要求也越来越复杂和多元。一方面,初始化算法在面对不同传感器平台以及不同任务场景时,应具备更强的适应性;另一方面,如何针对特殊场景或特殊应用需求对初始化过程进行改进优化,使其满足不同的需求,是未来VINS和初始化研究工作亟须解决的问题。
11)数据集。目前适合VINS初始化研究的数据集并不算多,VINS初始化未来的发展需要更多更具针对性的VINS初始化数据集作为支撑。这类数据集不仅需要提供准确的视觉、IMU传感数据以及系统状态真值,还需要提供不同运动激励、不同传感器观测条件下的真实场景数据。
08 结论
视觉惯性导航系统一直是机器人导航、计算机视觉等领域不可忽视的研究热点。作为其中的关键部分,初始化可以看作是一种求解参数更多、先验信息更少的视觉惯性传感信息融合过程。本文通过对近年来众多研究工作的回顾和分析,对VINS初始化方法进行了分类梳理与综述报告,并对其未来发展趋势进行了总结、讨论和展望。可以预见,随着新技术的发展、机器人硬件水平的提升,初始化方法将得到进一步发展,VINS也会取得更加精确的自主定位导航以及环境感知效果,为人类探索未知、改善生活带来更多便利。