CN114358419A - 位姿预测方法、位姿预测装置、存储介质与电子设备 - Google Patents
位姿预测方法、位姿预测装置、存储介质与电子设备 Download PDFInfo
- Publication number
- CN114358419A CN114358419A CN202111679501.3A CN202111679501A CN114358419A CN 114358419 A CN114358419 A CN 114358419A CN 202111679501 A CN202111679501 A CN 202111679501A CN 114358419 A CN114358419 A CN 114358419A
- Authority
- CN
- China
- Prior art keywords
- data
- attitude
- inertial
- prediction model
- inertia
- 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.)
- Pending
Links
Images
Abstract
本公开提供一种位姿预测方法、装置、计算机可读存储介质与电子设备,涉及导航与定位技术领域。该位姿预测方法包括:获取第一惯性数据;利用预先训练的姿态预测模型对所述第一惯性数据进行处理,得到姿态数据;根据所述第一惯性数据与所述姿态数据确定第二惯性数据;利用预先训练的位置预测模型对所述第二惯性数据进行处理,得到位置数据。本公开提高了位姿预测的准确度。
Description
技术领域
本公开涉及导航与定位技术领域,尤其涉及一种位姿预测方法、位姿预测装置、计算机可读存储介质与电子设备。
背景技术
随着信息化的普及,基于定位信息的服务越来越多。例如,通过实时对行人进行定位跟踪,来提供运动轨迹绘制、室内导航、增强现实等服务。
相关技术中,定位跟踪的准确度过于依赖传感器的精度,导致定位结果很容易受到传感器误差的影响。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域技术人员已知的现有技术的信息。
发明内容
本公开提供一种位姿预测方法、位姿预测装置、计算机可读存储介质与电子设备,以至少在一定程度上提高定位的准确度。
根据本公开的第一方面,提供一种位姿预测方法,包括:获取第一惯性数据;利用预先训练的姿态预测模型对所述第一惯性数据进行处理,得到第一姿态数据;根据所述第一惯性数据与所述第一姿态数据确定第二惯性数据;利用预先训练的位置预测模型对所述第二惯性数据进行处理,得到位置数据。
根据本公开的第二方面,提供一种位姿预测装置,包括:数据获取模块,被配置为获取第一惯性数据;姿态预测模块,被配置为利用预先训练的姿态预测模型对所述第一惯性数据进行处理,得到第一姿态数据;数据优化模块,被配置为根据所述第一惯性数据与所述第一姿态数据确定第二惯性数据;位置预测模块,被配置为利用预先训练的位置预测模型对所述第二惯性数据进行处理,得到位置数据。
根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面的位姿预测方法及其可能的实现方式。
根据本公开的第四方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述第一方面的位姿预测方法及其可能的实现方式。
本公开的技术方案具有以下有益效果:
在位姿预测方法中,利用姿态预测模型对第一惯性数据进行处理以预测姿态数据,并在第一惯性数据与第一姿态数据的基础上进行优化,得到第二惯性数据,再利用位置预测模型对第二惯性数据进行处理以预测位置数据。一方面,将姿态预测与位置预测分解为两个相对独立的过程,由姿态预测模型与位置预测模型分别进行相应的处理,有利于提高单一过程处理的质量,提高姿态数据与位置数据的准确度,并实现相对轻量化的姿态预测模型与位置预测模型。另一方面,位置预测是通过对优化后的第二惯性数据进行处理而实现的,能够降低惯性传感器的误差影响,进一步提高位置数据的准确度。再一方面,基于姿态预测模型与位置预测模型的泛化能力,能够降低本方案对于应用场景的限制,可适用于几乎任意状态下的移动终端的位姿预测。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施方式,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本示例性实施方式中一种系统架构的示意图;
图2示出本示例性实施方式中一种位姿预测方法的流程图;
图3示出本示例性实施方式中姿态预测模型的示意图;
图4示出本示例性实施方式中一种位姿预测方法的子流程图;
图5示出本示例性实施方式中位姿预测的示意图;
图6示出本示例性实施方式中一种位姿预测方法的子流程图;
图7示出本示例性实施方式中一种位姿预测方法的子流程图;
图8示出本示例性实施方式中模型训练的前向传播与反向传播的示意图;
图9示出本示例性实施方式中一种位姿预测装置的结构示意图;
图10示出本示例性实施方式中一种电子设备的结构示意图。
具体实施方式
现在将参考附图描述本公开的示例性实施方式。然而,示例性实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例。提供这些实施方式使得本公开将更加全面和完整,并将示例性实施方式的构思全面地传达给本领域技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
相关技术的一种方案中,通过步态检测的方式对行人进行定位跟踪。该方案对移动终端的状态有一定要求,例如需要行人将移动终端固定在手臂或腿上,通过感测行人移动过程中手臂或腿的摆动来解算行人位姿。可见,该方案对应用场景有很大的限制,例如用户将移动终端放在口袋、背包中时,方案无法实现。并且,该方案也难以应用于无人车、无人机等非行人目标的定位跟踪。
鉴于上述问题,本公开的示例性实施方式首先提供一种位姿预测方法,用于预测移动终端的位姿,该位姿一般等同于持有或装设该移动终端的目标(如用户)的位姿。下面结合图1对本示例性实施方式运行环境的系统架构与应用场景进行示例性说明。
图1示出了系统架构的示意图,该系统架构100可以包括移动终端110与计算设备120。其中,移动终端110可以是智能手机、平板电脑、可穿戴设备、无人车、无人机等。该移动终端110至少包括惯性传感器,用于感测移动终端110的惯性数据。计算设备120可以是终端计算机,也可以是提供定位相关服务的服务器。移动终端110与计算设备120之间可以通过有线或无线的通信链路形成连接,以进行数据交互。
在一种实施方式中,移动终端110可以将惯性数据发送至计算设备120,例如在用户持移动终端110进行运动的过程中,移动终端110实时地将惯性数据发送至计算设备120,计算设备120通过执行上述位姿预测方法,得到移动终端110的姿态数据与位置数据,并可以将结果返回移动终端110。因此,上述位姿预测方法的执行主体可以是计算设备120。
在一种实施方式中,本示例性实施方式也可以基于移动终端110而单独实现。例如,移动终端110在通过内置的惯性传感器采集惯性数据后,通过执行上述位姿预测方法,得到移动终端110的姿态数据与位置数据。因此,上述位姿预测方法的执行主体也可以是移动终端110。
下面结合图2对本示例性实施方式中的位姿预测方法进行说明,图2示出了该位姿预测方法的示例性流程,可以包括:
步骤S210,获取第一惯性数据;
步骤S220,利用预先训练的姿态预测模型对第一惯性数据进行处理,得到第一姿态数据;
步骤S230,根据第一惯性数据与第一姿态数据确定第二惯性数据;
步骤S240,利用预先训练的位置预测模型对第二惯性数据进行处理,得到位置数据。
在上述位姿预测方法中,利用姿态预测模型对第一惯性数据进行处理以预测姿态数据,并在第一惯性数据与第一姿态数据的基础上进行优化,得到第二惯性数据,再利用位置预测模型对第二惯性数据进行处理以预测位置数据。一方面,将姿态预测与位置预测分解为两个相对独立的过程,由姿态预测模型与位置预测模型分别进行相应的处理,有利于提高单一过程处理的质量,提高姿态数据与位置数据的准确度,并实现相对轻量化的姿态预测模型与位置预测模型。另一方面,位置预测是通过对优化后的第二惯性数据进行处理而实现的,能够降低惯性传感器的误差影响,进一步提高位置数据的准确度。再一方面,基于姿态预测模型与位置预测模型的泛化能力,能够降低本方案对于应用场景的限制,可适用于几乎任意状态下的移动终端的位姿预测。
下面对图2中的每个步骤进行具体说明。
在步骤S210中,获取第一惯性数据。
第一惯性数据可以是惯性传感器输出的原始数据,即未经进一步处理的惯性数据。本示例性实施方式中,惯性传感器可以包括加速度计、陀螺仪、磁力计中的一种或多种,其中加速度计可以输出加速度数据(Acc data),陀螺仪可以输出角速度数据(Gyro data),磁力计可以输出磁力计数据(Mag data)。根据移动终端110所配置的惯性传感器的种类,第一惯性数据可以包括第一加速度数据、第一角速度数据、第一磁力计数据中的一者或多者。
在一种实施方式中,可以根据惯性传感器的感测频率,获取不同时刻的第一惯性数据,例如,惯性传感器的感测频率为50Hz,即周期为20ms,表示惯性传感器每隔20ms采集一次第一惯性数据。
不同种类的惯性传感器的感测频率可以相同,也可以不同。在一种实施方式中,当至少两种惯性传感器的感测频率不同时,可以通过对其中至少一种惯性传感器的数据进行上采样或下采样,使得不同种类的惯性传感器输出数据的频率相同。
不同种类的惯性传感器之间可能存在时间误差,例如加速度计输出t时刻的加速度数据,陀螺仪输出t时刻的角速度数据,由于传感器本身的响应延迟、数据传输的延迟以及其他因素的影响,导致该t时刻的加速度数据与角速度数据实际对应的数据感测时刻并不相同。在一种实施方式中,可以预先对不同种类的惯性传感器之间的时间误差进行校正,例如结合其他或外部传感器标定加速度计与陀螺仪之间的时间误差,通过补偿的方式以尽可能减小时间误差。
继续参考图2,在步骤S220中,利用预先训练的姿态预测模型对第一惯性数据进行处理,得到第一姿态数据。
姿态数据用于表示移动终端110的方向状态。第一姿态数据是姿态预测模型输出的姿态数据,下文经过优化得到的姿态数据为第二姿态数据,“第一”、“第二”用于区分两者。本公开对于第一姿态数据的形式与具体内容不做限定,如第一姿态数据可以是某个坐标系下的绝对姿态,也可以是相对于某一基准姿态的相对姿态等。示例性的,第一姿态数据可以包括姿态四元数、欧拉角、旋转矩阵中的任意一种或多种。
姿态预测模型用于根据输入的第一惯性数据预测姿态数据。本示例性实施方式中,可以通过训练姿态预测模型,使其能够输出准确的第一姿态数据。训练的过程请参考下文模型训练方法部分的内容,此处不赘述。
当在步骤S210中获取的第一惯性数据包括多种传感器数据时,在步骤S220中输入姿态预测模型的第一惯性数据可以是其中的任意一种或多种。例如,在步骤S210中获取第一加速度数据、第一角速度数据、第一磁力计数据,在步骤S220中可以将第一加速度数据、第一角速度数据、第一磁力计数据全部输入姿态预测模型,也可以仅将其中部分数据输入姿态预测模型。
在一种实施方式中,可以利用姿态预测模型对t时刻的第一惯性数据进行处理,得到t时刻的第一姿态数据。本示例性实施方式中,可以以0时刻表示起始时刻(如开启定位跟踪服务的时刻),1时刻、2时刻、…、t时刻等表示惯性传感器的采样时刻,相邻两个采样时刻的间隔可表示为Δt,Δt如可以是上述20ms;t可表示任意采样时刻,如可以表示当前时刻。
在一种实施方式中,可以利用姿态预测模型对i时刻至t时刻的第一惯性数据进行处理,至少得到t时刻的第一姿态数据。其中,i为小于t的正整数,从i时刻到t时刻,惯性传感器共采集t-i+1次第一惯性数据,形成t-i+1长度的第一惯性数据序列。示例性的,将该第一惯性数据序列输入至姿态预测模型,经过模型的处理,可以输出t时刻的第一姿态数据,还可以输出i、i+1、…、t-1中任意一个或多个时刻的第一姿态数据。
姿态预测模型可以是LSTM(Long Short-Term Memory,长短期记忆)网络。下面结合图3对姿态预测模型的处理过程进行示例性说明。从1时刻至t时刻共t个采样时刻,对应采集t组第一惯性数据,其中第一加速度数据为a1、a2、…、at,第一角速度数据为w1、w2、…、wt,第一磁力计数据为B1、B2、…、Bt。将t组第一惯性数据输入LSTM,分别经过t个LSTM单元(cell)与全连接层的处理,输出每个采样时刻的第一姿态数据,表示为q1、q2、…、qt。
应当理解,也可以采用其他神经网络来实现姿态预测模型,如一般的RNN(Recurrent Neural Network,循环神经网络)、GRU(Gated Recurrent Unit,门控循环单元)等。
继续参考图2,在步骤S230中,根据第一惯性数据与第一姿态数据确定第二惯性数据。
第一惯性数据中包括与姿态相关的数据,如第一角速度数据等。由于第一惯性数据中通常存在误差,并且第一姿态数据也可能存在误差,使得第一惯性数据与第一姿态数据在本质上并不完全一致。例如,将第一惯性数据与第一姿态数据转换为相同形式的数据,如姿态四元数,两者不完全相同。基于两者的误差,可以进行数据优化,以得到第二惯性数据。由此可知,第二惯性数据是在第一惯性数据与第一姿态数据的基础上,经过进一步处理得到的惯性数据,而不是惯性传感器采集的原始数据,第二惯性数据用于后续的位置预测。
此外,第一姿态数据中可能缺失平移信息,这样在进行位置预测时,信息并不充分。通过步骤S230可以将第一惯性数据中的平移信息结合至第一姿态数据中,得到同时包括平移信息与姿态信息的第二惯性数据。
第二惯性数据与第一惯性数据在种类与形式上可以相同,也可以不同。在一种实施方式中,第二惯性数据可以包括第二加速度数据、第二角速度数据、第二磁力计数据中的一者或多者。示例性的,第一惯性数据包括第一加速度数据、第一角速度数据、第一磁力计数据,第二惯性数据包括第二加速度数据、第二角速度数据,而不包括磁力计数据。
在一种实施方式中,可以将第一惯性数据与第一姿态数据转换为相同形式的数据,如姿态四元数,然后对两者进行融合,如求平均、加权平均等,得到第二惯性数据。
在一种实施方式中,位姿预测方法还可以包括以下步骤:
在利用预先训练的姿态预测模型对第一惯性数据进行处理时,还得到第一姿态数据的不确定度(或置信度,与不确定度为相反的概念)。
也就是说,姿态预测模型可以同时输出第一姿态数据及其不确定度。由于第一姿态数据为预测数据,具有一定的不确定性,不确定度用于表示该不确定性的程度。此外,还可以根据不确定度确定第一惯性数据与第一姿态数据进行融合时的权重,一般的,不确定度越高(或置信度越低),表示第一姿态数据越不可信,融合时第一姿态数据的权重越低。
在一种实施方式中,参考图4所示,上述根据第一惯性数据与第一姿态数据确定第二惯性数据,可以包括以下步骤S410与S420:
步骤S410,基于第一惯性数据与第一姿态数据进行卡尔曼滤波;
步骤S420,根据卡尔曼滤波的结果确定第二惯性数据。
其中,可以以第一惯性数据与第一姿态数据中的任一者为状态数据,另一者为观测数据,通过卡尔曼滤波来进行姿态的最优估计。将卡尔曼滤波后得到的姿态数据记为第二姿态数据,即卡尔曼滤波的结果包括第二姿态数据。
下面通过两个示例对卡尔曼滤波进行说明:
示例一,上述基于第一惯性数据与姿态数据进行卡尔曼滤波,可以包括以下步骤:
以第一姿态数据为状态数据,第一惯性数据为观测数据,通过卡尔曼滤波得到第二姿态数据。
其中,可以对第一姿态数据建立状态方程,例如对多个采样时刻的第一姿态数据进行拟合以得到状态方程。提取第一惯性数据中与姿态相关的数据(如第一角速度数据)以作为观测数据,通过卡尔曼滤波来优化姿态估计,得到第二姿态数据。
示例二,上述基于第一惯性数据与姿态数据进行卡尔曼滤波,可以包括以下步骤:
以第一惯性数据为状态数据,第一姿态数据为观测数据,通过卡尔曼滤波得到第二姿态数据。
其中,可以提取第一惯性数据中与姿态相关的数据(如第一角速度数据),其能够表示相邻两个采样时刻的姿态变化,由此可以建立状态方程。以第一姿态数据作为观测数据,通过卡尔曼滤波来优化姿态估计,得到第二姿态数据。
在一种实施方式中,在得到第一姿态数据的不确定度的情况下。上述以第一惯性数据为状态数据,第一姿态数据为观测数据,通过卡尔曼滤波得到第二姿态数据,可以包括以下步骤:
根据第一姿态数据的不确定度确定观测数据协方差矩阵;
以第一惯性数据为状态数据,第一姿态数据为观测数据,代入观测数据协方差矩阵并进行扩展卡尔曼滤波,得到第二姿态数据。
EKF(Extended Kalman Filter,扩展卡尔曼滤波)是一种可用于非线性状态估计的卡尔曼滤波算法。在EKF计算过程中,涉及到多个相关参数的协方差矩阵,本示例性实施方式中根据第一姿态数据的不确定度确定观测数据协方差矩阵,至于其他的协方差矩阵,可以根据相邻采样时刻的数据来计算,也可以采用预设的数值。确定以第一惯性数据为状态数据,第一姿态数据为观测数据,将相关参数的协方差矩阵代入EKF算法公式中,计算得到第二姿态数据。
下面对EKF的计算过程进行具体说明。需要说明的是,由于本示例性实施方式中以第一姿态数据为观测数据,第一姿态数据本质上是由姿态预测模型预测出的数据,并非直接观测的数据,因此在以下计算过程中,将观测方程简化为观测数据本身,即观测方程g(Xt,Ωob)=Xt(Xt表示t时刻的状态数据的先验值,Ωob表示观测噪声),并由此将相关的观测矩阵、观测噪声控制矩阵等简化为单位矩阵。
首先,将第一姿态数据的不确定度表示为k维的向量,记为s,k为正整数,可以根据经验或实际情况设定其数值,如10。根据第一姿态数据的不确定度计算观测数据协方差矩阵Rt,第一姿态数据为姿态四元数时,Rt为4*4的对称矩阵,如下所示:
然后,基于第一惯性数据中的第一角速度数据,建立状态方程如下:
Xt=Xt-1+dΔθXt-1 (2)
其中,Xt表示t时刻的状态数据的先验值,公式(2)中的Xt-1可以采用t-1时刻的先验值,也可以采用后验值,优先采用后验值,此时公式(2)为Xt=X′t-1+dΔθX′t-1;d表示状态更新系数,可以根据经验或实际情况设定其数值,示例性的,可以在0至1范围确定d的数值,如可以是1/2;Δθ表示根据第一角速度数据计算的积分值,Δθx、Δθy、Δθz分别为Δθ在不同轴向上的值。
接下来,计算Xt关于Xt-1的导数矩阵A,即状态转移矩阵,其可以是状态方程对t-1时刻的状态数据的后验值(即t-1时刻的第二姿态数据)的雅克比矩阵。并建立状态预测协方差估计,如下所示:
再计算卡尔曼增益Kt,由于将观测矩阵、观测噪声控制矩阵简化为单位矩阵,在计算卡尔曼增益时省略这两个矩阵,如下所示:
最后,更新状态数据以及相应协方差矩阵,如下所示:
X′t=Xt+Kt(qt-Xt) (6)
其中,qt为t时刻的第一姿态数据(即观测数据),X′t为t时刻的状态数据的后验值,即经过卡尔曼滤波得到的t时刻的第二姿态数据。表示t时刻的后验状态协方差矩阵,可用于在下一次采样时刻(即t+1时刻)计算先验状态协方差矩阵。
在通过卡尔曼滤波得到第二姿态数据后,可以根据第二姿态数据与第一惯性数据生成位置预测模型所需的数据,即第二惯性数据。
在一种实施方式中,上述根据卡尔曼滤波的结果确定第二惯性数据,可以包括以下步骤:
利用第二姿态数据将第一惯性数据转换至预设坐标系下,得到第二惯性数据。
其中,预设坐标系可以是第二姿态数据所在的坐标系(通常等同于第一姿态数据所在的坐标系),也可以其他任意作为基准的坐标系。第一惯性数据通常是基于移动终端110的坐标系所采集的数据,通过坐标系的转换,将第一惯性数据与第二姿态数据(或第一姿态数据)统一到相同坐标系下,便于在相同的坐标系下进行处理以及表示位姿数据。
在一种实施方式中,可以先将第一惯性数据转换为与第二姿态数据相同的数据形式。例如,第二姿态数据为姿态四元数时,可以将第一惯性数据也转换为姿态四元数,如将第一惯性数据基于东北天坐标系(或其他地理坐标系)转换为姿态四元数,将转换为姿态数据后的第一惯性数据记为第三姿态数据。然后通过第二姿态数据对第三姿态数据进行坐标系的转换。最后,将经过坐标系转换后的第三姿态数据按照位置预测模型所需的数据形式作进一步转换,如可以转换为加速度数据、角速度数据等形式,得到第二惯性数据。
在一种实施方式中,可以利用第二姿态数据将第一惯性数据转换至预设坐标系下,并在预设坐标系下将第二姿态数据与第一惯性数据进行融合,得到第二惯性数据。例如,获取第一惯性数据中的第一加速度数据与第一角速度数据,将第一角速度数据转换为姿态四元数,记为第三姿态数据;然后根据第二姿态数据与第三姿态数据计算坐标系的转换参数;再根据该转换参数将第一加速度数据转换至预设坐标系下,并与第二姿态数据进行融合,得到包括平移信息与姿态信息的第二惯性数据。
在一种实施方式中,在步骤S220中,可以利用预先训练的姿态预测模型对第一加速度数据、第一角速度数据、第一磁力计数据进行处理,得到第一姿态数据。即,可以将三种惯性传感器的数据全部输入姿态预测模型,以提高姿态预测的准确度。在步骤S230中,可以根据第一加速度数据、第一角速度数据与姿态数据,确定第二加速度数据、第二角速度数据。即,在位置预测中可以不使用磁力计数据,因此在进行姿态数据的优化以及位置预测时,仅适用加速度数据与角速度数据即可,由此提高了计算效率。
在一种实施方式中,可以根据第一角速度数据与第一姿态数据确定第二姿态数据,再利用第二姿态数据将第一加速度数据与第一角速度数据转换至预设坐标系下,得到第二惯性数据,第二惯性数据包括第二加速度数据与第二角速度数据。
继续参考图2,在步骤S240中,利用预先训练的位置预测模型对第二惯性数据进行处理,得到位置数据。
位置数据用于表示移动终端110的绝对位置或相对位置,通常包括x、y、z三个方向上的坐标(即偏移量),但本公开对此不做限定,如位置数据也可以表示为球坐标等形式。
位置预测模型用于根据输入的第二惯性数据预测位置数据。本示例性实施方式中,可以通过训练位置预测模型,使其能够输出准确的位置数据。训练的过程请参考下文模型训练方法部分的内容,此处不赘述。
位置预测模型可以采用与姿态预测模型相同或相似的结构。例如,姿态预测模型与位置预测模型均如可以采用图3的LSTM网络结构,但两个模型的参数不同。位置预测模型也可以采用与姿态预测模型不同的结构,例如位置预测模型可以采用ResNet(残差网络)结构。
在一种实施方式中,可以利用位置预测模型对t时刻的第二惯性数据进行处理,得到t时刻的位置数据。
在一种实施方式中,可以利用位置预测模型对i时刻至t时刻的第二惯性数据进行处理,至少得到t时刻的位置数据。例如,将i时刻至t时刻的第二惯性数据序列输入至位置预测模型,经过模型的处理,可以输出t时刻的位置数据,还可以输出i、i+1、…、t-1中任意一个或多个时刻的位置数据;t时刻的位置数据可以表示t时刻相对于t-1时刻的相对位移。
在得到位置数据后,可以输出第一姿态数据(或第二姿态数据)与位置数据,作为位姿预测结果。
在一种实施方式中,将步骤S240中得到的位置数据记为第一位置数据。还可以基于第一惯性数据(或第二惯性数据)与第一位置数据进行卡尔曼滤波,根据卡尔曼滤波的结果确定第二位置数据,并将第二位置数据作为最终的位置预测结果进行输出。可以以第一惯性数据(或第二惯性数据)为状态数据,第一位置数据为观测数据,或者以第一位置数据为状态数据,第一惯性数据(或第二惯性数据)为观测数据。卡尔曼滤波的过程可以参考上述对姿态估计的卡尔曼滤波的内容,此处不赘述。
图5示出了位姿预测方法的示意性流程。以t时刻为例进行说明,获取t时刻的第一惯性数据at、wt、Bt;将at、wt、Bt输入姿态预测模型,得到t时刻的第一姿态数据qt及其不确定度st;将qt、st、wt输入扩展卡尔曼滤波器,以进行姿态最优估计,输出第二姿态数据X't;利用X't将at、wt转换至X't所在的预设坐标系下,得到第二惯性数据a't、w't;将a't、w't输入位置预测模型,得到t时刻的位置数据Zt;最终可以输出将X't与Zt,作为t时刻的位姿预测结果。
本公开的示例性实施方式还提供对姿态预测模型与位置预测模型进行训练的方法。参考图6所示,位姿预测方法还可以包括以下步骤S610至S650:
步骤S610,获取第一惯性样本数据与第一惯性样本数据对应的位置标注数据;
步骤S620,将第一惯性样本数据输入姿态预测模型,得到第一姿态样本数据;
步骤S630,根据第一惯性样本数据与第一样本姿态数据确定第二惯性样本数据;
步骤S640,将第二惯性样本数据输入位置预测模型,得到位置样本数据;
步骤S650,基于位置样本数据与位置标注数据,更新位置预测模型与姿态预测模型的参数。
其中,第一惯性样本数据、第二惯性样本数据、第一姿态样本数据分别与上述第一惯性数据、第二惯性数据、第一姿态数据的含义相同,不同之处在于第一惯性样本数据、第二惯性样本数据、第一姿态样本数据为模型训练所使用的数据,因此为样本数据。
在步骤S610中,可以通过惯性传感器采集得到第一惯性样本数据,并通过其他方式得到位置标注数据。位置标注数据是模型训练中的位置真值(Ground truth)。示例性的,可以通过无线信号定位、卫星定位、视觉定位等方式确定目标的位置,得到位置标注数据。
步骤S620至S640的实施方式与上述步骤S220至S240的实施方式基本相同。此处不赘述。
在得到位置样本数据后,可以基于位置样本数据与位置标注数据的偏差计算损失函数值,再根据损失函数值对位置预测模型与姿态预测模型进行反向传播参数更新,以实现对位置预测模型与姿态预测模型的训练。
在一种实施方式中,上述步骤S610至S650可以在图2的步骤之前执行,以完成对姿态预测模型与位置预测模型的训练,从而在图2的步骤中,可以使用经过训练的姿态预测模型与位置预测模型进行位姿预测。
在上述图6的步骤中,采用位置标注数据实现对姿态预测模型与位置预测模型端到端的训练,无需获取大量的姿态标注数据,从而解决姿态数据难以标注的难题,有利于训练出高质量的姿态预测模型与位置预测模型,提高位姿预测的准确度。
将位置样本数据与位置标注数据的损失函数记为第一损失函数,可以采用L1、L2等任意形式的损失,以L1损失为例,第一损失函数如下所示:
其中,aij表示第i组样本中第j采样时刻的位置样本数据,yij表示对应的位置标注数据;N1表示共有N1组样本,一组样本包括在目标一次运动过程中所采集的数据;T1表示每组样本共采集T1个采样时刻的数据。
在一种实施方式中,参考图7所示,在将第一惯性样本数据输入姿态预测模型,得到姿态样本数据前,位姿预测方法还可以包括以下步骤S710至S730:
步骤S710,获取第三惯性样本数据与第三惯性样本数据对应的姿态标注数据;
步骤S720,将第三惯性样本数据输入姿态预测模型,得到第二姿态样本数据;
步骤S730,基于第二姿态样本数据与姿态标注数据,更新姿态预测模型的参数。
其中,第三惯性样本数据与上述第一惯性样本数据可以相同,也可以不同。可以通过惯性传感器采集得到第三惯性样本数据,并通过其他方式得到姿态标注数据。姿态标注数据是模型训练中的姿态真值。示例性的,可以通过移动终端110内置的姿态计算方法或系统来得到姿态标注数据,如通过VIO(Visual Inertial Odometry,视觉惯性里程计)进行姿态标注。相对来说,姿态数据的标注难度高于位置数据的标注难度,因此可以获取少量的第三惯性样本数据与对应的姿态标注数据。例如,第三惯性样本数据可以是第一惯性样本数据的子集,该子集中的惯性样本数据具有对应的位置标注数据与姿态标注数据,该子集外的惯性样本数据仅具有对应的位置标注数据。
将第三惯性样本数据输入姿态预测模型,得到第二姿态样本数据,再基于第二姿态样本数据与姿态标注数据的偏差计算损失函数值,并根据损失函数值对姿态预测模型进行反向传播参数更新。即采用第三惯性样本数据与姿态标注数据单独训练姿态预测模型。第二姿态样本数据与姿态标注数据的损失函数记为第二损失函数,可以采用L1、L2等任意形式的损失,以L1损失为例,第二损失函数如下所示:
其中,bij表示第i组样本中第j采样时刻的第二姿态样本数据,hij表示对应的姿态标注数据;N2表示共有N2组样本;T2表示每组样本共采集T2个采样时刻的数据。
上述采用第三惯性样本数据与姿态标注数据单独训练姿态预测模型的过程,可视为对姿态预测模型的预训练,使得姿态预测模型先学习到一定的姿态预测信息。之后再采用第一惯性样本数据与位置标注数据共同训练位置预测模型与姿态预测模型,有利于模型的快速收敛,提高训练效率。
在一种实施方式中,位姿预测方法还可以包括以下步骤:
在将第三惯性样本数据输入姿态预测模型时,还得到第二姿态样本数据的不确定度样本值;
根据第二姿态样本数据与姿态标注数据确定第二姿态样本数据的不确定度标注值。
相应的,在步骤S730中,可以基于第二姿态样本数据与姿态标注数据,以及第二姿态样本数据的不确定度样本值与不确定度标注值,更新姿态预测模型的参数。
其中,在构建姿态预测模型时,可以设置双输出通道,分别用于输出姿态预测结果与该姿态预测结果的不确定度。不确定度样本值是由姿态预测模型输出的第二姿态样本数据的不确定度。不确定度标注值为不确定度样本值对应的真值,可以根据第二姿态样本数据与姿态标注数据的偏差确定不确定度标注值,如下所示:
基于第二姿态样本数据的不确定度样本值与不确定度标注值的偏差计算损失函数值,该损失函数可记为第三损失函数,可以采用L1、L2等任意形式的损失,以L1损失为例,第三损失函数如下所示:
其中,cij表示第i组样本中第j采样时刻的第二姿态样本数据的不确定度样本值,vij表示对应的不确定度标注值。对于不确定度来说,其样本的数量与第二姿态样本数据的样本数量相同,即共有N2组样本,每组样本共采集T2个采样时刻的数据。
在一种实施方式中,可以将第二损失函数与第三损失函数合并,从姿态预测与不确定度预测两个方面训练姿态预测模型。例如,可以将第二损失函数与第三损失函数加权,得到姿态预测模型的综合损失函数,根据综合损失函数值对姿态预测模型进行反向传播参数更新。
在一种实施方式中,上述根据第一惯性样本数据与第一样本姿态数据确定第二惯性样本数据,可以包括以下步骤:
基于第一惯性样本数据与第一样本姿态数据进行卡尔曼滤波,以得到第二惯性样本数据。
对第一惯性样本数据与第一样本姿态数据进行卡尔曼滤波的过程,可以参考图4部分的内容,此处不赘述。由此,姿态预测模型的处理、卡尔曼滤波、位置预测模型的处理为串行的三个过程,将三个过程视为前向传播的全局处理过程。在步骤S650中,可以基于位置样本数据与位置标注数据,更新位置预测模型的参数、卡尔曼滤波的参数与姿态预测模型的参数。也就是说,可以基于全局处理过程进行反向传播参数更新,即按照位置预测模型、卡尔曼滤波、姿态预测模型这样反向传播的顺序,更新两个模型与卡尔曼滤波的参数。卡尔曼滤波的参数包括相关参数的协方差矩阵、参数矩阵、噪声等,在计算损失函数值后,按照梯度下降的方式计算卡尔曼滤波中一个或多个参数的更新量,并由此对卡尔曼滤波的参数进行更新,能够提高卡尔曼滤波的准确性,并实现位置预测模型与姿态预测模型的端到端训练。
在一种实施方式中,位姿预测方法还可以包括以下步骤:
在将第一惯性样本数据输入姿态预测模型时,还得到第一姿态样本数据的不确定度样本值。
例如,将姿态预测模型设置为双通道的结构,并基于上述第二损失函数与第三损失函数进行训练,使得姿态预测模型具备姿态预测与不确定度预测的能力。这样在将第一惯性样本数据输入姿态预测模型时,姿态预测模型可以同时输出第一姿态样本数据以及第一姿态样本数据的不确定度样本值。
进而,上述基于第一惯性样本数据第一样本姿态数据进行卡尔曼滤波,以得到第二惯性样本数据,可以包括以下步骤:
根据第一姿态样本数据的不确定度样本值确定样本观测数据协方差矩阵;
以第一惯性样本数据为状态数据,第一姿态样本数据为观测数据,代入样本观测数据协方差矩阵并进行扩展卡尔曼滤波,得到第二惯性样本数据。
该EKF的计算过程可以参考上述对第一惯性数据与第一姿态数据进行EKF的内容。由此,保证了模型训练过程与模型应用过程中,卡尔曼滤波的计算方法一致,这样训练出的模型能够在应用过程中实现更准确的位姿预测。并且,将样本观测数据协方差矩阵作为与样本相关的变量,在通过反向传播更新卡尔曼滤波的参数时,可以不更新该样本观测数据协方差矩阵,从而提高训练效率。
图8示出了模型训练的前向传播与反向传播的示意图。由加速度计、陀螺仪、磁力计输出第一惯性样本数据与第三惯性样本数据。将第三惯性样本数据输入姿态预测模型,得到第二姿态样本数据,根据第二姿态样本数据与姿态标注数据的偏差计算第二损失函数值,并通过反向传播更新姿态预测模型的参数,可视为姿态预测模型的预训练过程。将第一惯性样本数据输入姿态预测模型,得到第一姿态样本数据;对第一姿态样本数据与第一惯性样本数据中的角速度数据进行扩展卡尔曼滤波,输出经过优化的姿态样本数据;利用该经过优化的姿态样本数据对第一惯性样本数据中的加速度数据与角速度数据进行坐标系转换,得到第二惯性样本数据;将第二惯性样本数据输入位置预测模型,得到位置样本数据;根据位置样本数据与位置标注数据的偏差计算第一损失函数值,再通过位置预测模型、坐标系转换(坐标系转换的计算中通常不使用可调的参数,在反向传播路径中仅进行传播计算)、扩展卡尔曼滤波、姿态预测模型的反向传播路径,更新位置预测模型、扩展卡尔曼滤波、姿态预测模型的参数,以实现模型训练。
图2中进行位姿预测时数据的流向也可以参考图8中的前向传播的路径。
本公开的示例性实施方式还提供一种位姿预测装置。参考图9所示,该位姿预测装置900可以包括:
数据获取模块910,被配置为获取第一惯性数据;
姿态预测模块920,被配置为利用预先训练的姿态预测模型对第一惯性数据进行处理,得到第一姿态数据;
数据优化模块930,被配置为根据第一惯性数据与第一姿态数据确定第二惯性数据;
位置预测模块940,被配置为利用预先训练的位置预测模型对第二惯性数据进行处理,得到位置数据。
在一种实施方式中,上述根据第一惯性数据与第一姿态数据确定第二惯性数据,可以包括:
基于第一惯性数据与第一姿态数据进行卡尔曼滤波;
根据卡尔曼滤波的结果确定第二惯性数据。
在一种实施方式中,上述卡尔曼滤波的结果包括第二姿态数据;上述基于第一惯性数据与姿态数据进行卡尔曼滤波,包括:
以第一惯性数据为状态数据,第一姿态数据为观测数据,通过卡尔曼滤波得到第二姿态数据。
在一种实施方式中,姿态预测模块920,还被配置为:
在利用预先训练的姿态预测模型对第一惯性数据进行处理时,还得到第一姿态数据的不确定度;
上述以第一惯性数据为状态数据,第一姿态数据为观测数据,通过卡尔曼滤波得到第二姿态数据,包括:
根据第一姿态数据的不确定度确定观测数据协方差矩阵;
以第一惯性数据为状态数据,第一姿态数据为观测数据,代入观测数据协方差矩阵并进行扩展卡尔曼滤波,得到第二姿态数据。
在一种实施方式中,上述根据卡尔曼滤波的结果确定第二惯性数据,包括:
利用第二姿态数据将第一惯性数据转换至预设坐标系下,得到第二惯性数据。
在一种实施方式中,惯性数据包括加速度数据、角速度数据、磁力计数据中的至少一种;
上述利用预先训练的姿态预测模型对第一惯性数据进行处理,得到第一姿态数据,包括:
利用预先训练的姿态预测模型对第一加速度数据、第一角速度数据、第一磁力计数据进行处理,得到第一姿态数据;
上述根据第一惯性数据与第一姿态数据确定第二惯性数据,包括:
根据第一加速度数据、第一角速度数据与第一姿态数据,确定第二加速度数据、第二角速度数据。
在一种实施方式中,位姿预测装置还可以包括模型训练模块,该模型训练模块又可以包括以下子模块:
样本数据获取子模块,被配置为获取第一惯性样本数据与第一惯性样本数据对应的位置标注数据;
姿态样本预测子模块,被配置为将第一惯性样本数据输入姿态预测模型,得到第一姿态样本数据;
样本数据优化子模块,被配置为根据第一惯性样本数据与第一样本姿态数据确定第二惯性样本数据;
位置样本预测子模块,被配置为将第二惯性样本数据输入位置预测模型,得到位置样本数据;
参数更新子模块,被配置为基于位置样本数据与位置标注数据,更新位置预测模型与姿态预测模型的参数。
在一种实施方式中,在将第一惯性样本数据输入姿态预测模型,得到第一姿态样本数据前,样本数据获取子模块,还被配置为获取第三惯性样本数据与第三惯性样本数据对应的姿态标注数据;姿态样本预测子模块,还被配置为将第三惯性样本数据输入姿态预测模型,得到第二姿态样本数据;参数更新子模块,还被配置为基于第二姿态样本数据与姿态标注数据,更新姿态预测模型的参数。
在一种实施方式中,姿态样本预测子模块,还被配置为:
在将第三惯性样本数据输入姿态预测模型时,还得到第二姿态样本数据的不确定度样本值;
根据第二姿态样本数据与姿态标注数据确定第二姿态样本数据的不确定度标注值;
上述基于第二姿态样本数据与姿态标注数据,更新姿态预测模型的参数,包括:
基于第二姿态样本数据与姿态标注数据,以及第二姿态样本数据的不确定度样本值与不确定度标注值,更新姿态预测模型的参数。
在一种实施方式中,上述根据第一惯性样本数据与第一样本姿态数据确定第二惯性样本数据,包括:
基于第一惯性样本数据与第一样本姿态数据进行卡尔曼滤波,以得到第二惯性样本数据;
上述基于位置样本数据与位置标注数据,更新位置预测模型与姿态预测模型的参数,包括:
基于位置样本数据与位置标注数据,更新位置预测模型的参数、卡尔曼滤波的参数与姿态预测模型的参数。
在一种实施方式中,姿态样本预测子模块,还被配置为:
在将第一惯性样本数据输入姿态预测模型时,还得到第一姿态样本数据的不确定度样本值;
上述基于第一惯性样本数据与第一样本姿态数据进行卡尔曼滤波,以得到第二惯性样本数据,包括:
根据第一姿态样本数据的不确定度样本值确定样本观测数据协方差矩阵;
以第一惯性样本数据为状态数据,第一姿态样本数据为观测数据,代入样本观测数据协方差矩阵并进行扩展卡尔曼滤波,得到第二惯性样本数据。
上述装置中各部分的具体细节在方法部分实施方式中已经详细说明,未披露的细节内容可以参见方法部分的实施方式内容,因而不再赘述。
本公开的示例性实施方式还提供了一种计算机可读存储介质,可以实现为一种程序产品的形式,其包括程序代码,当程序产品在电子设备上运行时,程序代码用于使电子设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。在一种可选的实施方式中,该程序产品可以实现为便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在电子设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本公开的示例性实施方式还提供一种电子设备,该电子设备例如可以是上述移动终端110或计算设备120。该电子设备可以包括处理器与存储器。存储器存储有处理器的可执行指令,如可以是程序代码。处理器通过执行该可执行指令来执行本示例性实施方式中的位姿预测方法或用于位姿预测的模型训练方法,如可以执行图2、图4、图6、图7中的任意一个或多个步骤。
下面以图10中的移动终端1000为例,对该电子设备的构造进行示例性说明。本领域技术人员应当理解,除了特别用于移动目的的部件之外,图10中的构造也能够应用于固定类型的设备。
如图10所示,移动终端1000具体可以包括:处理器1010、存储器1020、总线1030、通信模块1040、天线1050、电源模块1060与传感器模块1070。
处理器1010可以包括一个或多个处理单元,例如:处理器1010可以包括AP(Application Processor,应用处理器)、调制解调处理器、GPU(Graphics ProcessingUnit,图形处理器)、ISP(Image Signal Processor,图像信号处理器)、控制器、编码器、解码器、DSP(Digital Signal Processor,数字信号处理器)、基带处理器和/或NPU(Neural-Network Processing Unit,神经网络处理器)等。本示例性实施方式中的位姿预测方法或用于位姿预测的模型训练方法,可以由AP、GPU、DSP、NPU中的一个或多个来执行,例如在位姿预测方法中,可以由NPU加载姿态预测模型与位置预测模型的参数并执行模型相关的算法指令,由AP获取第一惯性数据并输出位姿预测结果。
处理器1010可以通过总线1030与存储器1020或其他部件形成连接。
存储器1020可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器1010通过运行存储在存储器1020的指令,执行移动终端1000的各种功能应用以及数据处理。存储器1020还可以存储应用数据,例如存储图像,视频等文件。
移动终端1000的通信功能可以通过通信模块1040与天线1050、调制解调处理器、基带处理器等实现。天线1050用于发射和接收电磁波信号。通信模块1040可以提供应用在移动终端1000上的3G、4G、5G等移动通信解决方案,或者无线局域网、蓝牙、近场通信等无线通信解决方案。
电源模块1060用于实现电源管理功能,如为电池充电、为设备供电、监测电池状态等。
传感器模块1070可以包括一种或多种传感器,用于实现相应的感测功能。本示例性实施方式中,传感器模块1070可以包括惯性传感器,如加速度计1071、陀螺仪1072、磁力计1073,分别用于感测与采集加速度数据、角速度数据、磁力计数据。这些惯性数据可以传输至处理器1010,由处理器1010通过执行本示例性实施方式中的位姿预测方法以进行处理,得到位姿预测结果。
此外,移动终端1100还可以包括显示屏、音频模块、摄像模块等其他组件,本公开对此不做限定。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的示例性实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
本领域技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施方式。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施方式仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限定。
Claims (10)
1.一种位姿预测方法,其特征在于,包括:
获取第一惯性数据;
利用预先训练的姿态预测模型对所述第一惯性数据进行处理,得到第一姿态数据;
根据所述第一惯性数据与所述第一姿态数据确定第二惯性数据;
利用预先训练的位置预测模型对所述第二惯性数据进行处理,得到位置数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一惯性数据与所述第一姿态数据确定第二惯性数据,包括:
基于所述第一惯性数据与所述第一姿态数据进行卡尔曼滤波;
根据卡尔曼滤波的结果确定所述第二惯性数据。
3.根据权利要求2所述的方法,其特征在于,所述卡尔曼滤波的结果包括第二姿态数据;所述基于所述第一惯性数据与所述姿态数据进行卡尔曼滤波,包括:
以所述第一惯性数据为状态数据,所述第一姿态数据为观测数据,通过卡尔曼滤波得到第二姿态数据。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在利用预先训练的姿态预测模型对所述第一惯性数据进行处理时,还得到所述第一姿态数据的不确定度;
所述以所述第一惯性数据为状态数据,所述第一姿态数据为观测数据,通过卡尔曼滤波得到第二姿态数据,包括:
根据所述第一姿态数据的不确定度确定观测数据协方差矩阵;
以所述第一惯性数据为状态数据,所述第一姿态数据为观测数据,代入所述观测数据协方差矩阵并进行扩展卡尔曼滤波,得到所述第二姿态数据。
5.根据权利要求3所述的方法,其特征在于,所述根据卡尔曼滤波的结果确定所述第二惯性数据,包括:
利用所述第二姿态数据将所述第一惯性数据转换至预设坐标系下,得到所述第二惯性数据。
6.根据权利要求1所述的方法,其特征在于,惯性数据包括加速度数据、角速度数据、磁力计数据中的至少一种;
所述利用预先训练的姿态预测模型对所述第一惯性数据进行处理,得到第一姿态数据,包括:
利用预先训练的姿态预测模型对第一加速度数据、第一角速度数据、第一磁力计数据进行处理,得到所述第一姿态数据;
所述根据所述第一惯性数据与所述第一姿态数据确定第二惯性数据,包括:
根据所述第一加速度数据、所述第一角速度数据与所述第一姿态数据,确定第二加速度数据、第二角速度数据。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取第一惯性样本数据与所述第一惯性样本数据对应的位置标注数据;
将所述第一惯性样本数据输入姿态预测模型,得到第一姿态样本数据;
根据所述第一惯性样本数据与所述第一样本姿态数据确定第二惯性样本数据;
将所述第二惯性样本数据输入位置预测模型,得到位置样本数据;
基于所述位置样本数据与所述位置标注数据,更新所述位置预测模型与所述姿态预测模型的参数。
8.一种位姿预测装置,其特征在于,包括:
数据获取模块,被配置为获取第一惯性数据;
姿态预测模块,被配置为利用预先训练的姿态预测模型对所述第一惯性数据进行处理,得到第一姿态数据;
数据优化模块,被配置为根据所述第一惯性数据与所述第一姿态数据确定第二惯性数据;
位置预测模块,被配置为利用预先训练的位置预测模型对所述第二惯性数据进行处理,得到位置数据。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的方法。
10.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111679501.3A CN114358419A (zh) | 2021-12-31 | 2021-12-31 | 位姿预测方法、位姿预测装置、存储介质与电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111679501.3A CN114358419A (zh) | 2021-12-31 | 2021-12-31 | 位姿预测方法、位姿预测装置、存储介质与电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114358419A true CN114358419A (zh) | 2022-04-15 |
Family
ID=81105597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111679501.3A Pending CN114358419A (zh) | 2021-12-31 | 2021-12-31 | 位姿预测方法、位姿预测装置、存储介质与电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114358419A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117294832A (zh) * | 2023-11-22 | 2023-12-26 | 湖北星纪魅族集团有限公司 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
-
2021
- 2021-12-31 CN CN202111679501.3A patent/CN114358419A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117294832A (zh) * | 2023-11-22 | 2023-12-26 | 湖北星纪魅族集团有限公司 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
CN117294832B (zh) * | 2023-11-22 | 2024-03-26 | 湖北星纪魅族集团有限公司 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3940421A1 (en) | Positioning method and device based on multi-sensor fusion | |
CN107888828B (zh) | 空间定位方法及装置、电子设备、以及存储介质 | |
CN107635204B (zh) | 一种运动行为辅助的室内融合定位方法及装置、存储介质 | |
CN113406682B (zh) | 一种定位方法、装置、电子设备及存储介质 | |
US20160077166A1 (en) | Systems and methods for orientation prediction | |
WO2018182524A1 (en) | Real time robust localization via visual inertial odometry | |
CN112415558B (zh) | 行进轨迹的处理方法及相关设备 | |
WO2023165093A1 (zh) | 视觉惯性里程计模型的训练方法、位姿估计方法、装置、电子设备、计算机可读存储介质及程序产品 | |
CN113807470B (zh) | 一种车辆行驶状态确定方法和相关装置 | |
WO2023082797A1 (zh) | 定位方法、定位装置、存储介质与电子设备 | |
CN114358419A (zh) | 位姿预测方法、位姿预测装置、存储介质与电子设备 | |
CN111469781B (zh) | 用于输出信息的方法和装置 | |
CN112556699B (zh) | 导航定位方法、装置、电子设备及可读存储介质 | |
CN114022561A (zh) | 一种基于gps约束和动态校正的城区单目测图方法和系统 | |
CN111461980B (zh) | 点云拼接算法的性能估计方法和装置 | |
Guo et al. | Analysis and design of an attitude calculation algorithm based on elman neural network for SINS | |
KR102547926B1 (ko) | 자기장 측정치로부터 결정된 진행 방향을 특정화하는 방법 및 장치 | |
CN115900697B (zh) | 对象运动轨迹信息处理方法、电子设备以及自动驾驶车辆 | |
CN114088104B (zh) | 一种自动驾驶场景下的地图生成方法 | |
CN112154480A (zh) | 可移动平台的定位方法、装置、可移动平台及存储介质 | |
CN115512336A (zh) | 基于路灯光源的车辆定位方法、装置和电子设备 | |
CN114659520A (zh) | 位姿确定方法、位姿确定装置、介质与电子设备 | |
CN113034538B (zh) | 一种视觉惯导设备的位姿跟踪方法、装置及视觉惯导设备 | |
CN111339226B (zh) | 一种基于分类检测网络构建地图方法及装置 | |
CN113804194B (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 |