本技术实施例涉及图像处理,尤其涉及一种物体的姿态预测方法、装置、设备及存储介质。
背景技术:
1、在扩展现实xr(extended reality)系统中,目标同步指的是建立现实世界中的物体和虚拟空间中的物体的关联关系。通过目标同步把现实世界中的物体映射到虚拟空间的某一个位置,当现实世界中的物体移动或者转动的时候,虚拟空间的物体也随之移动或转动。
2、在目标同步的过程中,通常是通过xr应用程序在渲染一个数据帧之前计算图像将要显示的时间戳(timestamp),把这个时间戳(timestamp)通过xr系统的进程间通信(inter-process communication,ipc)调用传递到算法模块,算法模块根据这个时间戳(timestamp)来预测目标物体的姿态,然后通过ipc把物体姿态传递回xr应用程序,再通过xr应用获取预测姿态之后,继续进行物体图像绘制并送入到xr系统中合成显示,这样才能维护显示时刻的姿态和现实世界更加接近。
3、但是,该方法需要xr应用程序在渲染每一帧数据前都通过ipc传递一个预测时间戳(timestamp)给算法模块,并在等待算法模块完姿态预测返回xr应用程序后,xr应用程序才能按照垂直同步信号(vertical synchronization,vsync)周期,根据预测的姿态来进行每一帧数据的绘制,以生成虚拟物体,最后绘制完成后送到xr系统合成和显示,然而在系统负载比较重的时候,跨进程ipc调用时常会发生延迟,且延迟超过常常容易超过一个垂直同步vsync周期,就会造成显示卡顿,从而严重影响用户的体验。
技术实现思路
1、本技术实施例提供了一种物体的姿态预测方法、装置、设备及存储介质,用于通过随时读取真实数据,就可以直接在扩展显示系统基于读取到的真实数据,来预测目标物体在晚于第一时刻的第二时刻所对应的姿态预测值,并能直接基于姿态预测值进行绘制以及显示,避免了跨进程传输预测姿态数据至扩展现实系统总出现的延迟,从而避免因时延而导致的丢帧、显示图像卡顿的情形,以提升用户体验。
2、本技术实施例一方面提供了一种物体的姿态预测方法,包括:
3、读取在第一时刻获取到的目标物体所对应的姿态位置坐标、旋转四元数、旋转参数集以及位置参数集,其中,第一时刻用于指示最近一次采集到目标物体在真实姿态下的姿态位置坐标以及旋转四元数的时刻,旋转参数集中的参数是基于旋转四元数拟合得到的,用于表示姿态旋转量预测方程式中的方程参数,位置参数集中的参数是基于姿态位置坐标拟合得到的,用于表示姿态位置预测方程式中的方程参数;
4、基于姿态旋转量预测方程式,对旋转四元数以及旋转参数集进行计算,得到第二时刻对应的姿态旋转量预测值,其中,第二时刻晚于第一时刻;
5、基于姿态位置预测方程式,对姿态位置坐标以及位置参数集进行计算,得到第二时刻对应的姿态位置预测值;
6、基于姿态预测方程式,对姿态旋转量预测值以及姿态位置预测值进行计算,得到第二时刻对应的姿态预测值;
7、基于第二时刻对应的姿态预测值进行图像绘制,并显示目标物体在第二时刻对应的姿态图像。
8、本技术另一方面提供了一种物体的姿态预测装置,包括:
9、获取单元,用于读取在第一时刻获取到的目标物体所对应的姿态位置坐标、旋转四元数、旋转参数集以及位置参数集,其中,第一时刻用于指示最近一次采集到目标物体在真实姿态下的姿态位置坐标以及旋转四元数的时刻,旋转参数集中的参数是基于旋转四元数拟合得到的,用于表示姿态旋转量预测方程式中的方程参数,位置参数集中的参数是基于姿态位置坐标拟合得到的,用于表示姿态位置预测方程式中的方程参数;
10、处理单元,用于基于姿态旋转量预测方程式,对旋转四元数以及旋转参数集进行计算,得到第二时刻对应的姿态旋转量预测值,其中,第二时刻晚于第一时刻;
11、处理单元,还用于基于姿态位置预测方程式,对姿态位置坐标以及位置参数集进行计算,得到第二时刻对应的姿态位置预测值;
12、处理单元,还用于基于姿态预测方程式,对姿态旋转量预测值以及姿态位置预测值进行计算,得到第二时刻对应的姿态预测值;
13、显示单元,用于基于第二时刻对应的姿态预测值进行图像绘制,并显示目标物体在第二时刻对应的姿态图像。
14、在一种可能的设计中,本技术实施例另一方面的一种实现方式中,
15、获取单元,还用于获取第一时刻与第二时刻之间的第一预测时间长度;
16、处理单元具体可以用于:基于姿态旋转量预测方程式,对第一预测时间长度、旋转四元数以及旋转参数集进行计算,得到第二时刻对应的姿态旋转量预测值;
17、处理单元具体可以用于:基于姿态位置预测方程式,对第一预测时间长度、姿态位置坐标以及位置参数集进行计算,得到第二时刻对应的姿态位置预测值。
18、在一种可能的设计中,本技术实施例另一方面的一种实现方式中,
19、获取单元,还用于若第一时刻未发生变化,则读取在第一时刻获取到的目标物体所对应的姿态位置坐标、旋转四元数、旋转参数集以及位置参数集;
20、获取单元,还用于获取第一时刻与第三时刻之间的第二预测时间长度;
21、处理单元,还用于基于姿态旋转量预测方程式,对第二预测时间长度、旋转四元数以及旋转参数集进行计算,得到第三时刻对应的姿态旋转量预测值;
22、处理单元,还用于基于姿态位置预测方程式,对第二预测时间长度、姿态位置坐标以及位置参数集进行计算,得到第三时刻对应的姿态位置预测值;
23、处理单元,还用于基于姿态预测方程式,对姿态旋转量预测值以及姿态位置预测值进行计算,得到第三时刻对应的姿态预测值;
24、显示单元,还用于基于第三时刻对应的姿态预测值进行图像绘制,并显示目标物体在第三时刻对应的姿态图像。
25、在一种可能的设计中,本技术实施例另一方面的一种实现方式中,
26、获取单元,还用于若第一时刻发生变化,则读取在更新后的第一时刻获取到的目标物体所对应的姿态位置坐标、旋转四元数、旋转参数集以及位置参数集;
27、获取单元,还用于获取更新后的第一时刻与第三时刻之间的第三预测时间长度;
28、处理单元,还用于基于姿态旋转量预测方程式,对第三预测时间长度、旋转四元数以及旋转参数集进行计算,得到第三时刻对应的姿态旋转量预测值;
29、处理单元,还用于基于姿态位置预测方程式,对第三预测时间长度、姿态位置坐标以及位置参数集进行计算,得到第三时刻对应的姿态位置预测值;
30、处理单元,还用于基于姿态预测方程式,对姿态旋转量预测值以及姿态位置预测值进行计算,得到第三时刻对应的姿态预测值;
31、显示单元,还用于基于第三时刻对应的姿态预测值进行图像绘制,并显示目标物体在第三时刻对应的姿态图像。
32、在一种可能的设计中,本技术实施例另一方面的一种实现方式中,获取单元具体可以用于:
33、周期性获取在每个采集时刻下目标物体所对应的姿态位置坐标、旋转四元数、旋转参数集以及位置参数集;
34、将每个采集时刻对应的姿态位置坐标、旋转四元数、旋转参数集以及位置参数集,写入共享内存;
35、从共享内存中,将最近一次采集时刻作为第一时刻,并读取第一时刻对应的姿态位置坐标、旋转四元数、旋转参数集以及位置参数集。
36、在一种可能的设计中,本技术实施例另一方面的一种实现方式中,获取单元具体可以用于:
37、周期性采集在采集时刻下目标物体所对应的姿态位置坐标、旋转四元数;
38、基于姿态位置坐标,拟合计算每个采集时刻对应的位置参数集;
39、基于旋转四元数,拟合计算每个采集时刻对应的旋转参数集。
40、在一种可能的设计中,本技术实施例另一方面的一种实现方式中,
41、获取单元,还用于周期性采集在每个采集时刻下目标物体所对应的运动传感数据;
42、处理单元,还用于基于运动传感数据,计算在每个采集时刻下目标物体对应的线性速度、线性加速度、角速度以及角加速度;
43、处理单元具体可以用于:基于姿态位置坐标、线性速度以及线性加速度,拟合计算每个采集时刻对应的位置参数集;
44、处理单元具体可以用于:基于旋转四元数、角速度以及角加速度,拟合计算每个采集时刻对应的旋转参数集。
45、在一种可能的设计中,本技术实施例另一方面的一种实现方式中,处理单元具体可以用于:
46、基于旋转量拟合方程式,对第一预测时间长度、旋转四元数以及旋转参数集进行计算,得到第二时刻对应的旋转欧拉角;
47、对第二时刻对应的旋转欧拉角进行矩阵转换,得到第二时刻对应的旋转矩阵;
48、基于姿态旋转量预测方程式,计算第一时刻对应的旋转四元数与第二时刻对应的旋转矩阵之间的乘积,得到第二时刻对应的姿态旋转量预测值。
49、在一种可能的设计中,本技术实施例另一方面的一种实现方式中,处理单元具体可以用于:
50、基于位置拟合方程式,对第一预测时间长度、姿态位置坐标以及位置参数集进行计算,得到第二时刻对应的位移数据;
51、对第二时刻对应的位移数据进行矩阵转换,得到第二时刻对应的位移矩阵;
52、基于姿态位置预测方程式,计算第一时刻对应的姿态位置坐标与第二时刻对应的位移矩阵之间的和值,得到第二时刻对应的姿态位置预测值。
53、在一种可能的设计中,本技术实施例另一方面的一种实现方式中,处理单元具体可以用于:
54、基于旋转量拟合方程式,对第二预测时间长度、旋转四元数以及旋转参数集进行计算,得到第三时刻对应的旋转欧拉角;
55、对第三时刻对应的旋转欧拉角进行矩阵转换,得到第三时刻对应的旋转矩阵;
56、基于姿态旋转量预测方程式,计算第一时刻对应的旋转四元数与第三时刻对应的旋转矩阵之间的乘积,得到第三时刻对应的姿态旋转量预测值。
57、在一种可能的设计中,本技术实施例另一方面的一种实现方式中,处理单元具体可以用于:
58、基于位置拟合方程式,对第二预测时间长度、姿态位置坐标以及位置参数集进行计算,得到第三时刻对应的位移数据;
59、对第三时刻对应的位移数据进行矩阵转换,得到第三时刻对应的位移矩阵;
60、基于姿态位置预测方程式,计算第一时刻对应的姿态位置坐标与第三时刻对应的位移矩阵之间的和值,得到第三时刻对应的姿态位置预测值。
61、在一种可能的设计中,本技术实施例另一方面的一种实现方式中,处理单元具体可以用于:
62、基于旋转量拟合方程式,对第三预测时间长度、旋转四元数以及旋转参数集进行计算,得到第三时刻对应的旋转欧拉角;
63、对第三时刻对应的旋转欧拉角进行矩阵转换,得到第三时刻对应的旋转矩阵;
64、基于姿态旋转量预测方程式,计算更新后的第一时刻对应的旋转四元数与第三时刻对应的旋转矩阵之间的乘积,得到第三时刻对应的姿态旋转量预测值。
65、在一种可能的设计中,本技术实施例另一方面的一种实现方式中,处理单元具体可以用于:
66、基于位置拟合方程式,对第三预测时间长度、姿态位置坐标以及位置参数集进行计算,得到第三时刻对应的位移数据;
67、对第三时刻对应的位移数据进行矩阵转换,得到第三时刻对应的位移矩阵;
68、基于姿态位置预测方程式,计算更新后的第一时刻对应的姿态位置坐标与第三时刻对应的位移矩阵之间的和值,得到第三时刻对应的姿态位置预测值。
69、本技术另一方面提供了一种计算机设备,包括:存储器、处理器以及总线系统;
70、其中,存储器用于存储程序;
71、处理器用于执行存储器中的程序时实现如上述各方面的方法;
72、总线系统用于连接存储器以及处理器,以使存储器以及处理器进行通信。
73、本技术的另一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
74、从以上技术方案可以看出,本技术实施例具有以下有益效果:
75、通过读取在第一时刻获取到的目标物体所对应的姿态位置坐标、旋转四元数、旋转参数集以及位置参数集,进而,可以直接在扩展显示系统中,基于姿态旋转量预测方程式,对旋转四元数以及旋转参数集进行计算,以获取到晚于第一时刻的第二时刻所对应的姿态旋转量预测值,以及基于姿态位置预测方程式,对姿态位置坐标以及位置参数集进行计算,以获取到第二时刻对应的姿态位置预测值,然后,可以基于姿态预测方程式,对姿态旋转量预测值以及姿态位置预测值进行计算,以获取到第二时刻对应的姿态预测值,并基于第二时刻对应的姿态预测值进行图像绘制,显示目标物体在第二时刻对应的姿态图像。通过上述方式,扩展显示系统可以随时读取到目标物体在第一时刻所对应的姿态位置坐标、旋转四元数、旋转参数集以及位置参数集等真实数据,就可以直接在扩展显示系统中基于多项拟合方程式,来预测目标物体在晚于第一时刻的第二时刻所对应的姿态预测值,并能直接基于姿态预测值进行绘制以及显示,避免了跨进程传输预测姿态数据至扩展现实系统总出现的延迟,从而避免因时延而导致的丢帧、显示图像卡顿的情形,以提升用户体验。