CN111982148A - Vio初始化的处理方法、装置、***和计算机设备 - Google Patents
Vio初始化的处理方法、装置、***和计算机设备 Download PDFInfo
- Publication number
- CN111982148A CN111982148A CN202010639341.9A CN202010639341A CN111982148A CN 111982148 A CN111982148 A CN 111982148A CN 202010639341 A CN202010639341 A CN 202010639341A CN 111982148 A CN111982148 A CN 111982148A
- Authority
- CN
- China
- Prior art keywords
- state quantity
- vio
- processor
- filter
- related state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C22/00—Measuring distance traversed on the ground by vehicles, persons, animals or other moving solid bodies, e.g. using odometers, using pedometers
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Automation & Control Theory (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Operations Research (AREA)
- Probability & Statistics with Applications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及一种VIO初始化的处理方法、装置、***和计算机设备,其中,该处理方法包括:获取VIO终端的状态量的融合信息;在该融合信息的信息熵大于预设阈值的情况下,确定该状态量中的第一设备相关状态量;其中,根据预设时间段内的状态量队列的求解结果,获取该信息熵;将该第一设备相关状态量加载至滤波器,进而完成该VIO终端的热启动;通过本申请,解决了VIO的初始化处理过程中准确性低的问题。
Description
技术领域
本申请涉及视觉惯性里程计技术领域,特别是涉及VIO初始化的处理方法、装置、***和计算机设备。
背景技术
视觉惯性里程计(Visual Inertial Odometry,简称为VIO)算法是一种融合相机和惯性测量单元(Inertial measurement unit,简称为IMU)信息,计算设备在空间中位姿的算法,以其高效鲁棒的特性,被广泛应用于增强现实(Augmented Reality,简称为AR)、无人车等领域。
VIO算法多基于贝叶斯估计类算法实现,以基于扩展卡尔曼滤波(ExtendedKalman Filter,简称为EKF)的VIO算法为例,EKF会维护一个状态量队列和状态量对应的协方差矩阵,并通过融合传感器信息对状态量和协方差矩阵进行更新;VIO算法在启动后,会对状态量和协方差进行一次初始化,初始化的质量直接决定了VIO算法的运行质量,因此状态量的初始化在VIO算法的流程中至关重要;在相关技术中,常见的VIO状态量初始化方法,通常通过求解非线性优化,给出粗糙的状态量初值;然后非线性优化也会存在求解错误或无法正常运行的情况,这便会给VIO算法的正常运行引入风险,导致视觉惯性里程计的初始化处理过程中准确性较低。
目前针对相关技术中VIO的初始化处理过程中准确性低的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种VIO初始化的处理方法、装置、***和计算机设备,以至少解决相关技术中VIO的初始化处理过程中准确性低的问题。
第一方面,本申请实施例提供了一种VIO初始化的处理方法,所述方法包括:
获取VIO终端的状态量的融合信息;
在所述融合信息的信息熵大于预设阈值的情况下,确定所述状态量中的第一设备相关状态量;其中,根据预设时间段内的状态量队列的求解结果,获取所述信息熵;
将所述第一设备相关状态量加载至滤波器,进而完成所述VIO终端的热启动。
在其中一些实施例中,所述将所述第一设备相关状态量加载至滤波器,进而完成所述VIO终端的热启动包括:
根据所述第一设备相关状态量获取协方差矩阵队列,在预设时刻所述协方差矩阵队列的主对角线的数据平方根小于预设阈值的情况下,确定所述预设时刻的第二设备相关状态量;
将所述第二设备相关状态量加载至所述滤波器。
在其中一些实施例中,所述将所述第二设备相关状态量加载至所述滤波器包括:
利用协方差矩阵边缘化技术,确定所述第二设备相关状态量在所述协方差矩阵队列中相匹配的矩阵块;
将所述第二设备相关状态量和所述矩阵块预读取为热启动文件,根据所述热启动文件加载所述滤波器。
在其中一些实施例中,所述根据所述热启动文件加载所述滤波器包括:
在检测到所述热启动文件的情况下,根据所述热启动文件加载所述滤波器;在未检测到所述热启动文件的情况下,重新确定所述第一设备相关状态量。
在其中一些实施例中,所述在所述信息熵大于预设阈值的情况下,确定所述状态量中的第一设备相关状态量包括:
利用参数收敛判断依据,确定所述状态量的收敛结果;
在所述收敛结果为运行收敛,且所述信息熵大于所述预设阈值的情况下,确定所述第一设备相关状态量。
第二方面,本申请实施例提供了一种VIO初始化的处理装置,所述装置包括:获取模块、第一状态量模块和热启动模块;
所述获取模块,用于获取VIO终端的状态量的融合信息;
所述第一状态量模块,用于在所述融合信息的信息熵大于第二预设值的情况下,确定所述状态量中的第一设备相关状态量;其中,根据预设时间段内的状态量队列的求解结果,获取所述信息熵;
所述热启动模块,用于将所述第一设备相关状态量加载至滤波器,进而完成所述VIO终端的热启动。
第三方面,本申请实施例提供了一种VIO初始化的处理***,所述***包括:VIO终端和处理器;
所述处理器获取所述VIO终端的状态量的融合信息;
所述处理器在所述融合信息的信息熵大于预设阈值的情况下,确定所述状态量中的第一设备相关状态量;其中,根据预设时间段内的状态量队列的求解结果,获取所述信息熵;
所述处理器将所述第一设备相关状态量加载至滤波器,进而完成所述VIO终端的热启动。
在其中一些实施例中,所述处理器还用于根据所述第一设备相关状态量获取协方差矩阵队列,在预设时刻所述协方差矩阵队列的主对角线的数据平方根小于预设阈值的情况下,确定所述预设时刻的第二设备相关状态量;
所述处理器将所述第二设备相关状态量加载至所述滤波器。
第四方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的VIO初始化的处理方法。
第五方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的VIO初始化的处理方法。
相比于相关技术,本申请实施例提供的VIO初始化的处理方法、装置、***和计算机设备,通过获取VIO终端的状态量的融合信息;在该融合信息的信息熵大于预设阈值的情况下,确定该状态量中的第一设备相关状态量;其中,根据预设时间段内的状态量队列的求解结果,获取该信息熵;将该第一设备相关状态量加载至滤波器,进而完成该VIO终端的热启动,解决了VIO的初始化处理过程中准确性低的问题。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为根据本发明实施例中一种VIO初始化处理方法应用场景的示意图;
图2为根据本申请实施例的一种VIO初始化处理方法的流程图;
图3为根据本申请实施例的另一种VIO初始化处理方法的流程图;
图4A为根据本申请实施例的一种协方差矩阵边缘化的示意图;
图4B为根据本申请实施例的另一种协方差矩阵边缘化的示意图;
图5为根据本申请实施例的又一种VIO初始化处理方法的流程图;
图6为根据本申请实施例的再一种VIO初始化处理方法的流程图;
图7为根据本申请实施例的一种VIO初始化处理装置的结构框图;
图8为根据本申请实施例的一种VIO初始化处理***的结构框图;
图9为根据本发明实施例的一种计算机设备内部的结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指大于或者等于两个。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
在本实施例中,提供了一种VIO初始化的处理方法的应用场景,图1为根据本发明实施例中一种VIO初始化处理方法应用场景的示意图,如图1所示,在该应用环境中,VIO终端12通过网络与服务器14通过网络进行通信;该VIO终端12可以包括相机、IMU传感器和处理芯片。该服务器14获取该VIO终端12状态量的运行时间和融合信息,并根据该运行时间和融合信息确定状态量中的第一设备相关状态量;该服务器14将该第一设备相关状态量加载至滤波器,从而完成VIO终端12的热启动;其中,该VIO终端12可以但不限于是各种无人机、机器人、导弹和AR终端,服务器14可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
本实施例提供了一种VIO初始化的处理方法,图2为根据本申请实施例的一种VIO初始化处理方法的流程图,如图2所示,该方法包括如下步骤:
步骤S202,获取VIO终端12的状态量的融合信息;根据预设时间段,即一段固定时长内的状态量队列的求解结果,获取该融合信息的信息熵;并在信息熵大于预设阈值的情况下,确定该状态量中的第一设备相关状态量;该预设阈值可以由用户进行设置;其中,VIO算法的状态量列表中,通常包含两类状态量:运动相关状态量和设备相关状态量;运动相关状态量与具体的运动模式和轨迹有关,通常每次运行都不相同;而设备相关状态量只与VIO终端12上的具体设备有关,且在VIO终端12运行过程中,VIO终端12上各设备状态量的运行时间越长,融合信息越多,状态量的估计越准确;
需要说明的是,在VIO终端12上程序开始运行后,就可以通过计数器获得运行时间;同时,可以通过信息熵计算获取融合信息;一般来说,VIO算法是基于EKF实现的,可以通过EKF的协方差矩阵计算信息熵,随着运行时间的增加,信息熵会越来越大,说明信息融合的越来越多;
因此,可以由用户设置该预设阈值,并将该预设阈值与上述信息熵进行比较,若该信息熵大于该预设阈值,说明该运行时间长且融合信息多,则检测的这一状态量在VIO运行的过程中估计比较准确,可以确定对应的该这一状态量,即第一设备相关状态量;该第一设备相关状态量可以包括相机内外参、相机-IMU外参、相机-IMU时间延迟和相机卷帘效应参数等参数。
步骤S204,将该第一设备相关状态量加载至滤波器,进而完成该VIO终端12的热启动;其中,在VIO运行的过程中,选择估计比较准确的时刻所对应的设备相关状态量进行保存,在之后每次VIO初始阶段,将保存的这些状态量预加载到滤波器中即可完成初始化,相当于进行了VIO终端12状态量的“热启动”(Warmstart)。
VIO的定位性能极度依赖于视觉惯性初始化的精度,病态的初始化模型将会降低***收敛速度,甚至导致整个***的状态估计发生错误,因此设计合理的VIO状态量初始化方法显得尤为关键;在相关技术中,通过求解非线性优化进行VIO状态量初始化通常存在求解错误或无法正常运行的情况,例如,先通过一个线性求解器求解输出初值给非线性优化器,若线性求解失败,会导致VIO初始化中状态量初值误差大,进而导致非线性优化出错;
与相关技术中不确定性非常大的非线性优化相比,本申请实施例通过上述步骤S202至步骤S204,根据融合信息选取确定估计较为准确的第一设备相关量,使得预加载的方式更为可靠;并且,确定该第一设备相关量后,将该第一设备相关状态量加载至滤波器,因此处理器待计算的状态量减少的,计算耗时也得到了提升,从而大大提高了VIO初始化的处理效率;综上所述,由于在VIO应用中增加了VIO终端12状态量的热启动算法,因此可以优化VIO终端12的初始化过程,解决了在VIO的初始化处理过程中准确性低的问题。
在其中一些实施例中,提供了一种VIO初始化的处理方法,图3为根据本申请实施例的另一种VIO初始化处理方法的流程图,如图3所示,该方法包括如下步骤:
步骤S302,根据该第一设备相关状态量获取协方差矩阵队列,在预设时刻该协方差矩阵队列的主对角线的数据平方根小于预设阈值的情况下,确定该预设时刻的第二设备相关状态量;该预设时刻为该状态量的运行时间点;
其中,为了保证在状态量估计比较准确的时间点保存该状态量,通过维护一个固定长度的状态量队列和协方差矩阵队列,统计状态量的方差和协方差矩阵队列的主对角线;上述维护可以通过使用C++语言里的std::vector,即在数据结构上,分配一个长度为N的vector容器,该vector容器可以存放N个状态量,且维护规则主要针对这些状态量对应的视觉特征观测、协方差或哪些观测需要删除等等;
若预设时刻状态量的方差和协方差矩阵主对角线上各元素的数据平方根小于预设阈值时,说明该时刻状态量的估计趋于稳定,则保存此预设时刻的状态量,即第二设备相关状态量;需要说明的是,假设该第一设备相关状态量的观测值服从多元高斯分布,高斯分布的概率与协方差强相关,因此统计状态量向量和协方差矩阵队列以检测一系列时间轴的状态量;上述统计的状态量向量如公式1所示,协方差矩阵队列如公式2所示:
需要说明的是,公式2中的协方差矩阵可以通过递推表达式计算得到;例如,该协方差矩阵的初值是一个全0的矩阵,然后每做一次运算,都会在上一步的协方差矩阵的基础上做变换,其中,这一变换主要是通过乘以状态转移矩阵,以及加上输入噪声矩阵来实现。
步骤S304,将该第二设备相关状态量加载至该滤波器;其中,在下一次VIO启动阶段,只需要将对应的状态量和协方差矩阵分块预读取为保存过的值,即可完成状态量的热启动。
通过上述步骤S302至步骤S304,通过维护固定长度的状态量队列和协方差矩阵队列,统计状态量方差和协方差矩阵主对角线,根据该主对角线上各数据,确定该第一设备相关状态量中估计比较准确的时间点的第二设备相关状态量,并保存该第二设备相关状态量,从而进一步提高了VIO状态量初始化的准确率。
在其中一些实施例中,将该第二设备相关状态量加载至该滤波器还包括如下步骤:
步骤S402,利用协方差矩阵边缘化技术,确定该第二设备相关状态量在该协方差矩阵队列中相匹配的矩阵块;其中,图4A为根据本申请实施例的一种协方差矩阵边缘化的示意图;如图4A所示,图中的整个方块代表一个协方差矩阵,斜线覆盖部分就是将要被边缘化出该协方差矩阵的部分;各个小方块的图形颜色代表对应小方块的数值稠密性;例如,黑色代表该矩阵块中存在不为0的数字,而白色表示该对应矩阵块中数字全为0;可以理解的是,图形颜色的深浅也可以用于表示数值稠密性,即颜色越深数值稠密性越高,在此不再赘述;
图4B为根据本申请实施例的另一种协方差矩阵边缘化的示意图,如图4B所示,图4B标识一次边缘化的结果,可以看到相比于图4A,图4A中待边缘化的部分被删去了;同时,图4A中被删除部分的信息由图4B中保留的部分矩阵块吸收,这些矩阵块中的数值稠密性相应提高;因此,边缘化主要的目的就是删除矩阵中某些行或列,但是尽可能保证不丢失信息。
步骤S404,将该第二设备相关状态量和该矩阵块预读取为热启动文件,根据该热启动文件加载该滤波器;其中,读取该热启动文件中保存的参数并将状态量等参数加载至该滤波器,完成VIO状态量的热启动;
在其中一些实施例中,在检测到该热启动文件的情况下,根据该热启动文件加载该滤波器;在未检测到该热启动文件的情况下,重新确定该第一设备相关状态量,进而实现了实时检测热启动文件,避免了由于尚未加载参数导致的VIO状态量初始化出错。
通过上述步骤S402至步骤S404,通过协方差矩阵边缘化技术获取矩阵块,从而保证在保存第二设备相关状态量时,同时保存该第二设备相关状态量在协方差矩阵队列中对应的分块,避免了信息丢失,提高了VIO状态量初始化的准确性。
在其中一些实施例中,提供了一种VIO初始化的处理方法,图5为根据本申请实施例的又一种VIO初始化处理方法的流程图,如图5所示,该方法包括如下步骤:
步骤S502,利用参数收敛判断依据,确定该状态量的收敛结果;其中,在理想情况下,VIO终端12状态量会有一个真值,随着算法的运行,估计值会越来越接近这个真值,因此需要预先知道真值,并判断估计值参数是否收敛至趋于真值附近;或者,判断参数是否收敛到一定程度收敛不动了,即判断斜率是否变为0,但是这种情况未必收敛到真值了;
步骤S504,在该收敛结果为运行收敛,且该信息熵大于预设阈值的情况下,确定该第一设备相关状态量。
通过上述步骤S502至步骤S504,利用参数收敛判断依据,结合运行时间和融合信息的判断结果,综合分析VIO终端12各状态量的估计是否准确,进而确定估计准确的第一设备相关量,避免了第一设备相关量的确定出错,使得加载至滤波器的状态量初值误差小,进一步提高了VIO初始化处理过程的准确性。
下面结合实际应用场景对本发明的实施例进行详细说明,图6为根据本申请实施例的再一种VIO初始化处理方法的流程图,该VIO初始化处理方法的具体实施步骤如图6所示。
步骤S602,分析各状态量估计的准确性,其中,主要根据参数收敛结果判断,以及根据运行时间、融合信息进行判断;然后根据上述分析结果选取估计准确的状态量,即第一设备相关状态量;
步骤S604,获取选取的该第一设备状态量的方差和协方差矩阵队列,并判断该矩阵队列的主对角线上元素的平方根是否小于预设阈值;若否,则继续获取下一时刻的状态量的方差和协方差矩阵;
步骤S606,若是,则保存该时刻的状态量,即第二设备相关状态量,将该第二设备相关状态量,以及利用协方差矩阵边缘化技术获取的该第二设备相关状态量在该协方差矩阵队列中相匹配的矩阵块,保存至热启动文件;
步骤S608,检查是否有热启动文件,若否,则重新循环检测各状态量;若是,则根据该热启动文件将该时刻的状态量,即该第二设备相关状态量加载至滤波器,完成VIO状态量的“热启动”。
需要说明的是,本申请实施例中的VIO初始化处理方法可以分为两个部分,其一是步骤S602至步骤S606中的存储逻辑部分,其二是步骤S608中的读取逻辑部分;在热启动的方式下,VIO状态量初始化的成功率能够达到100%;且初始化过程中只有参数读取耗时,与计算耗时相比几乎可以忽略不记。
应该理解的是,虽然图2、图3、图5和图6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、图3、图5和图6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在本实施例中,提供了一种VIO初始化的处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图7为根据本申请实施例的一种VIO初始化处理装置的结构框图,如图7所示,该装置包括:获取模块72、第一状态量模块74和热启动模块76;该获取模块72,用于获取VIO终端12的状态量的融合信息;该第一状态量模块74,用于在该融合信息的信息熵大于预设阈值的情况下,确定该状态量中的第一设备相关状态量;该热启动模块76,用于将该第一设备相关状态量加载至滤波器,进而完成该VIO终端12的热启动。
通过上述实施例,获取模块72获取VIO终端12的状态量的运行时间和融合时间,第一状态量模块74根据该运行时间和该融合信息选取确定估计较为准确的第一设备相关量,使得预加载的方式更为可靠,解决了VIO的初始化处理过程中准确性低的问题;并且,热启动模块76确定该第一设备相关量后,将该第一设备相关状态量加载至滤波器,因此待计算的状态量减少,计算耗时也得到了提升,从而大大提高了VIO初始化的处理效率。
在其中一些实施例中,该处理装置还包括第二状态量模块;该第二状态量模块根据该第一设备相关状态量获取协方差矩阵队列,在预设时刻该协方差矩阵队列的主对角线的数据平方根小于预设阈值的情况下,确定该预设时刻的第二设备相关状态量;该热启动模块76还用于将该第二设备相关状态量加载至该滤波器。
在其中一些实施例中,该第二状态量模块还用于利用协方差矩阵边缘化技术,确定该第二设备相关状态量在该协方差矩阵队列中相匹配的矩阵块;该热启动模块76还用于将该第二设备相关状态量和该矩阵块预读取为热启动文件,根据该热启动文件加载该滤波器。
在其中一些实施例中,该热启动模块76还用于将该第二设备相关状态量和该矩阵块预读取为热启动文件,根据该热启动文件加载该滤波器。
在其中一些实施例中,该处理装置还包括收敛模块;该收敛模块用于利用参数收敛判断依据,确定该状态量的收敛结果;该第一状态量模块74还用于在该收敛结果为运行收敛,且该信息熵大于预设阈值的情况下,确定该第一设备相关状态量。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
在本实施例中,提供了一种VIO初始化的处理***,图8为根据本申请实施例的一种VIO初始化处理***的结构框图,如图8所示,该***包括:VIO终端12和处理器82;该处理器82获取该VIO终端12的状态量的融合信息;该处理器82在该该融合信息的信息熵大于预设阈值的情况下,确定该状态量中的第一设备相关状态量;该处理器82将该第一设备相关状态量加载至滤波器,进而完成该VIO终端12的热启动。
通过上述实施例,处理器82获取VIO终端12状态量的融合信息,并根据该融合信息选取确定估计较为准确的第一设备相关量,使得预加载的方式更为可靠,解决了VIO的初始化处理过程中准确性低的问题;并且,该处理器82确定该第一设备相关量后,将该第一设备相关状态量加载至滤波器,因此处理器82待计算的状态量减少的,计算耗时也得到了提升,从而大大提高了VIO初始化的处理效率。
在其中一些实施例中,该处理器82还用于根据该第一设备相关状态量获取协方差矩阵队列,在预设时刻该协方差矩阵队列的主对角线的数据平方根小于预设阈值的情况下,确定该预设时刻的第二设备相关状态量;该处理器82将该第二设备相关状态量加载至该滤波器。
在其中一些实施例中,该处理器82还用于利用协方差矩阵边缘化技术,确定该第二设备相关状态量在该协方差矩阵队列中相匹配的矩阵块;该处理器82将该第二设备相关状态量和该矩阵块预读取为热启动文件,根据该热启动文件加载该滤波器。
在其中一些实施例中,该处理器82还用于在检测到该热启动文件的情况下,根据该热启动文件加载该滤波器;在未检测到该热启动文件的情况下,重新确定该第一设备相关状态量。
在其中一些实施例中,该处理器82还用于利用参数收敛判断依据,确定该状态量的收敛结果;该处理器82在该收敛结果为运行收敛,且该信息熵大于预设阈值的情况下,确定该第一设备相关状态量。
在其中一些实施例中,提供了一种计算机设备,该计算机设备可以是服务器,图9为根据本发明实施例的一种计算机设备内部的结构图,如图9所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储热启动文件数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种VIO初始化的处理方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述各实施例提供的VIO初始化处理方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各实施例提供的VIO初始化处理方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种视觉惯性里程计VIO初始化的处理方法,其特征在于,所述方法包括:
获取VIO终端的状态量的融合信息;
在所述融合信息的信息熵大于预设阈值的情况下,确定所述状态量中的第一设备相关状态量;其中,根据预设时间段内的状态量队列的求解结果,获取所述信息熵;
将所述第一设备相关状态量加载至滤波器,进而完成所述VIO终端的热启动。
2.根据权利要求1所述的处理方法,其特征在于,所述将所述第一设备相关状态量加载至滤波器,进而完成所述VIO终端的热启动包括:
根据所述第一设备相关状态量获取协方差矩阵队列,在预设时刻所述协方差矩阵队列的主对角线的数据平方根小于预设阈值的情况下,确定所述预设时刻的第二设备相关状态量;
将所述第二设备相关状态量加载至所述滤波器。
3.根据权利要求2所述的处理方法,其特征在于,所述将所述第二设备相关状态量加载至所述滤波器包括:
利用协方差矩阵边缘化技术,确定所述第二设备相关状态量在所述协方差矩阵队列中相匹配的矩阵块;
将所述第二设备相关状态量和所述矩阵块预读取为热启动文件,根据所述热启动文件加载所述滤波器。
4.根据权利要求3所述的处理方法,其特征在于,所述根据所述热启动文件加载所述滤波器包括:
在检测到所述热启动文件的情况下,根据所述热启动文件加载所述滤波器;在未检测到所述热启动文件的情况下,重新确定所述第一设备相关状态量。
5.根据权利要求1所述的处理方法,其特征在于,所述在所述融合信息的信息熵大于预设阈值的情况下,确定所述状态量中的第一设备相关状态量包括:
利用参数收敛判断依据,确定所述状态量的收敛结果;
在所述收敛结果为运行收敛,且所述信息熵大于所述预设阈值的情况下,确定所述第一设备相关状态量。
6.一种VIO初始化的处理装置,其特征在于,所述装置包括:获取模块、第一状态量模块和热启动模块;
所述获取模块,用于获取VIO终端的状态量的融合信息;
所述第一状态量模块,用于在所述融合信息的信息熵大于预设阈值的情况下,确定所述状态量中的第一设备相关状态量;其中,根据预设时间段内的状态量队列的求解结果,获取所述信息熵;
所述热启动模块,用于将所述第一设备相关状态量加载至滤波器,进而完成所述VIO终端的热启动。
7.一种VIO初始化的处理***,其特征在于,所述***包括:VIO终端和处理器;
所述处理器获取所述VIO终端的状态量的融合信息;
所述处理器在所述融合信息的信息熵大于预设阈值的情况下,确定所述状态量中的第一设备相关状态量;其中,根据预设时间段内的状态量队列的求解结果,获取所述信息熵;
所述处理器将所述第一设备相关状态量加载至滤波器,进而完成所述VIO终端的热启动。
8.根据权利要求7所述的处理***,其特征在于,所述处理器还用于根据所述第一设备相关状态量获取协方差矩阵队列,在预设时刻所述协方差矩阵队列的主对角线的数据平方根小于预设阈值的情况下,确定所述预设时刻的第二设备相关状态量;
所述处理器将所述第二设备相关状态量加载至所述滤波器。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010639341.9A CN111982148B (zh) | 2020-07-06 | 2020-07-06 | Vio初始化的处理方法、装置、***和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010639341.9A CN111982148B (zh) | 2020-07-06 | 2020-07-06 | Vio初始化的处理方法、装置、***和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111982148A true CN111982148A (zh) | 2020-11-24 |
CN111982148B CN111982148B (zh) | 2022-12-06 |
Family
ID=73438322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010639341.9A Active CN111982148B (zh) | 2020-07-06 | 2020-07-06 | Vio初始化的处理方法、装置、***和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111982148B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115858046A (zh) * | 2023-02-28 | 2023-03-28 | 荣耀终端有限公司 | 一种预加载内存页的方法、电子设备及芯片*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108489482A (zh) * | 2018-02-13 | 2018-09-04 | 视辰信息科技(上海)有限公司 | 视觉惯性里程计的实现方法及*** |
CN108827315A (zh) * | 2018-08-17 | 2018-11-16 | 华南理工大学 | 基于流形预积分的视觉惯性里程计位姿估计方法及装置 |
CN109211277A (zh) * | 2018-10-31 | 2019-01-15 | 北京旷视科技有限公司 | 视觉惯性里程计的状态确定方法、装置和电子设备 |
US20190163198A1 (en) * | 2017-11-29 | 2019-05-30 | Qualcomm Incorporated | Radar aided visual inertial odometry initialization |
CN110030994A (zh) * | 2019-03-21 | 2019-07-19 | 东南大学 | 一种基于单目的鲁棒性视觉惯性紧耦合定位方法 |
-
2020
- 2020-07-06 CN CN202010639341.9A patent/CN111982148B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190163198A1 (en) * | 2017-11-29 | 2019-05-30 | Qualcomm Incorporated | Radar aided visual inertial odometry initialization |
CN108489482A (zh) * | 2018-02-13 | 2018-09-04 | 视辰信息科技(上海)有限公司 | 视觉惯性里程计的实现方法及*** |
CN108827315A (zh) * | 2018-08-17 | 2018-11-16 | 华南理工大学 | 基于流形预积分的视觉惯性里程计位姿估计方法及装置 |
CN109211277A (zh) * | 2018-10-31 | 2019-01-15 | 北京旷视科技有限公司 | 视觉惯性里程计的状态确定方法、装置和电子设备 |
CN110030994A (zh) * | 2019-03-21 | 2019-07-19 | 东南大学 | 一种基于单目的鲁棒性视觉惯性紧耦合定位方法 |
Non-Patent Citations (3)
Title |
---|
XI LIN 等: "《中国优秀硕士学位论文全文数据库》", 《COMPUTER SCIENCE》 * |
孟庆瑜: "基于点线特征的单目视觉-惯性里程计算法研究", 《中国优秀硕士学位论文全文数据库》 * |
黄仁强: "基于IMU与单目视觉融合算法的视觉惯性里程计软件设计", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115858046A (zh) * | 2023-02-28 | 2023-03-28 | 荣耀终端有限公司 | 一种预加载内存页的方法、电子设备及芯片*** |
Also Published As
Publication number | Publication date |
---|---|
CN111982148B (zh) | 2022-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111060101B (zh) | 视觉辅助的距离slam方法及装置、机器人 | |
CN110824587B (zh) | 图像预测方法、装置、计算机设备和存储介质 | |
CN108871311B (zh) | 位姿确定方法和装置 | |
CN111225155B (zh) | 视频防抖方法、装置、电子设备、计算机设备和存储介质 | |
CN111832581B (zh) | 肺部特征识别方法、装置、计算机设备及存储介质 | |
CN111507298B (zh) | 人脸检测方法、装置、计算机设备和存储介质 | |
CN111982148B (zh) | Vio初始化的处理方法、装置、***和计算机设备 | |
CN110457361B (zh) | 特征数据获取方法、装置、计算机设备和存储介质 | |
CN111178126A (zh) | 目标检测方法、装置、计算机设备和存储介质 | |
CN110969689A (zh) | 点云特征提取方法、装置、计算机设备和存储介质 | |
CN113705685A (zh) | 疾病特征识别模型训练、疾病特征识别方法、装置及设备 | |
CN111738126B (zh) | 基于贝叶斯网络和hmm的驾驶员疲劳检测方法和装置 | |
CN116821638B (zh) | Ai芯片应用优化设计的数据分析方法及*** | |
CN110163183B (zh) | 目标检测算法的评估方法、装置、计算机设备和存储介质 | |
CN113032621A (zh) | 数据采样方法、装置、计算机设备和存储介质 | |
CN117391544A (zh) | 一种基于bim的装修工程管理方法及*** | |
CN110738175B (zh) | 人脸图像处理方法、装置、计算机设备和存储介质 | |
CN110824496B (zh) | 运动估计方法、装置、计算机设备和存储介质 | |
CN111951262B (zh) | Vio误差的修正方法、装置、***和电子装置 | |
CN114415698B (zh) | 机器人、机器人的定位方法、装置和计算机设备 | |
CN111104937A (zh) | 车门信息检测方法、装置、计算机设备和存储介质 | |
CN113178000B (zh) | 三维重建方法、装置、电子设备及计算机存储介质 | |
CN114299300A (zh) | 一种车道线检测方法、装置、计算机设备和存储介质 | |
CN113159032A (zh) | 基于目标检测网络的目标跟踪方法、装置、设备及介质 | |
CN110838138A (zh) | 重复纹理检测方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |