CN110956666B - 运动数据标定方法、装置、终端设备及存储介质 - Google Patents

运动数据标定方法、装置、终端设备及存储介质 Download PDF

Info

Publication number
CN110956666B
CN110956666B CN201911099283.9A CN201911099283A CN110956666B CN 110956666 B CN110956666 B CN 110956666B CN 201911099283 A CN201911099283 A CN 201911099283A CN 110956666 B CN110956666 B CN 110956666B
Authority
CN
China
Prior art keywords
motion data
frame
frame number
data
transformation matrix
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.)
Active
Application number
CN201911099283.9A
Other languages
English (en)
Other versions
CN110956666A (zh
Inventor
吴迪云
许秋子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Realis Multimedia Technology Co Ltd
Original Assignee
Shenzhen Realis Multimedia Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Realis Multimedia Technology Co Ltd filed Critical Shenzhen Realis Multimedia Technology Co Ltd
Priority to CN201911099283.9A priority Critical patent/CN110956666B/zh
Publication of CN110956666A publication Critical patent/CN110956666A/zh
Priority to PCT/CN2020/124669 priority patent/WO2021093593A1/zh
Application granted granted Critical
Publication of CN110956666B publication Critical patent/CN110956666B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • G06T7/85Stereo camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Gyroscopes (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

本申请适用于计算机技术领域,提供了运动数据标定方法,包括:获取惯性器件的第一帧数的第一运动数据和刚体的第二帧数的第二运动数据,第一运动数据对应的第一开始帧与第二运动数据对应的第二开始帧之间的差值为预设帧数;从第一运动数据中,截取与第二帧数相同帧数的多组第三运动数据,并记录每个第三运动数据的第三开始帧与第二开始帧之间的偏移帧数;计算第二运动数据变换到每组第三运动数据的变换矩阵,以及计算变换矩阵对应的误差;将误差最小的变换矩阵以及该变换矩阵对应的偏移帧数作为标定结果。实现了标定刚体数据和惯性器件数据的延时关系和姿态关系,解决了目前没有标定刚体数据和惯性器件数据的方式的问题。

Description

运动数据标定方法、装置、终端设备及存储介质
技术领域
本申请属于计算机技术领域,尤其涉及运动数据标定方法、装置、终端设备及存储介质。
背景技术
随着虚拟现实(Virtual Reality,VR)技术的发展,虚实交互逐渐成为研究热点和难点。虚实交互是将计算机生成的虚拟场景与真实世界场景相互融合的一种技术,它是获取真实世界中物理对象的运动轨迹,实现真实场景和虚拟场景之间的自然交互,呈现给用户一种全新的人机交互体验环境。
在大空间虚实交互中,将刚体和惯性器件设置在VR道具上,以间接模拟VR道具在空间中的位置和姿态,但是刚体和惯性器件处理数据的方式不同,导致刚体采集到的数据与惯性体采集到的数据不同步,而目前没有标定刚体数据和惯性器件数据的延迟关系的方式。
发明内容
本申请实施例提供了运动数据标定方法、装置、终端设备及存储介质,可以解决目前没有标定刚体数据和惯性器件数据的延迟关系的方式的问题。
第一方面,本申请实施例提供了一种运动数据标定方法,应用于终端设备,方法包括:
获取所述终端设备上的惯性器件的第一帧数的第一运动数据和所述终端设备上的刚体的第二帧数的第二运动数据,所述第一运动数据对应的第一开始帧与所述第二运动数据对应的第二开始帧之间的差值为预设帧数,所述第一帧数与所述第二帧数的差值为所述预设帧数;
从所述第一运动数据中,依次截取多组与第二帧数相同帧数的第三运动数据,并记录每组所述第三运动数据的第三开始帧与所述第二开始帧之间的偏移帧数,每个所述第三开始帧在所述第一开始帧与所述第二开始帧之间,每个所述第三开始帧与上一个所述第三开始帧的差值为一帧;
计算所述第二运动数据变换到每组所述第三运动数据的变换矩阵,以及计算所述变换矩阵对应的误差;
将所述误差最小的所述变换矩阵以及该变换矩阵对应的所述偏移帧数作为标定结果。
本申请实施例通过获取惯性器件的第一运动数据和刚体的第二运动数据,从所述第一运动数据中,依次截取多组与第二帧数相同帧数的第三运动数据,以得到第一运动数据与第二运动数据之间的多个延迟帧,并逐帧对齐第一运动数据和第二运动数据;计算第二运动数据变换到第三运动数据的变换矩阵,以及计算每个变换矩阵的误差,从而得到每个延时帧下第一运动数据与第二运动数据的变换矩阵的近似值,并得到每个延时帧对应变换矩阵的近似值的误差,将误差最小的变换矩阵以及变换矩阵对应的偏移帧数作为标定结果,从而得到最接近第一运动数据与第二运动数据的延时帧的偏移帧数和变换矩阵,进而实现了标定刚体数据和惯性器件数据的延时关系和姿态关系,解决了目前没有标定刚体数据和惯性器件数据的方式的问题。
第二方面,本申请实施例提供了一种运动数据标定装置,包括:
获取模块,用于获取终端设备上的惯性器件的第一帧数的第一运动数据和所述终端设备上的刚体的第二帧数的第二运动数据,所述第一运动数据对应的第一开始帧与所述第二运动数据对应的第二开始帧之间的差值为预设帧数,所述第一帧数与所述第二帧数的差值为所述预设帧数;
截取模块,用于从所述第一运动数据中,截取与第二帧数相同帧数的多组第三运动数据,并记录每个所述第三运动数据的第三开始帧与所述第二开始帧之间的偏移帧数,每个所述第三时间帧在所述第一开始帧与所述第二开始帧之间,每个所述第三开始帧与上一个所述第三开始帧的差值为一帧;
计算模块,用于计算所述第二运动数据变换到所述第三运动数据的变换矩阵,以及计算所述变换矩阵对应的误差;
标定模块,用于将所述误差最小的所述变换矩阵以及该变换矩阵对应的所述偏移帧数作为标定结果。
第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述的运动数据标定方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一项所述的运动数据标定方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的运动数据标定方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的运动数据标定方法的流程示意图;
图2是本申请另一实施例提供的运动数据标定方法的流程示意图;
图3是本申请另一实施例提供的运动数据标定方法的流程示意图;
图4是本申请另一实施例提供的运动数据标定方法的流程示意图;
图5是本申请另一实施例提供的运动数据标定方法的流程示意图;
图6是本申请另一实施例提供的运动数据标定方法的流程示意图;
图7是本申请一实施例提供的第一运动数据和第二运动数据的示意图;
图8是本申请一实施例提供的运动数据标定装置的结构示意图;
图9是本申请实施例提供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
如背景技术相关介绍,在大空间虚实交互中,将刚体和惯性器件设置在VR道具上,以间接模拟VR道具在空间中的位置和姿态,但是刚体和惯性器件采集数据的方式不同,其中刚体的数据是通过光学相机计算得到的,惯性器件的数据是通过上位机积分计算得到的,导致刚体采集的数据与惯性体采集的数据不同步,这样虚拟空间展示的画面与VR道具所做出的动作存在延迟,用户体验非常差。而目前没有标定刚体数据和惯性器件数据的延迟关系的方式,因此很难对刚体和惯性器件采集的数据进行数据同步。
因此,本申请实施例提供一种运动数据标定方法,实现获取惯性器件的第一运动数据和刚体的第二运动数据,对两者的运动数据的帧进行不同帧数的偏移,并计算不同帧数的偏移得到的变换矩阵的误差,将误差最小的变换矩阵和偏移帧数作为标定结果的过程,从而实现标定惯性器件的数据和刚体的数据的延迟关系。
其中,上述惯性器件可以是惯性测量单元(Inertial measurement unit,IMU),其是测量物体三轴姿态角(或角速率)以及加速度的装置。一般的,惯性器件包括三轴的加速度计和三轴的陀螺,其中加速度计检测物体在载体坐标系统独立三轴的加速度信号,而陀螺检测载体相对于导航坐标系的角速度信号,从而测量物体在三维空间中的角速度和加速度,并以此解算出物体的姿态。可以理解的是,惯性器件可以仅包含三轴的陀螺,例如陀螺仪。
其中,上述刚体是指在运动中和受力作用后,形状和大小不变,而且内部个点的相对位置不变的物体。可以通过光学相机计算得到刚体数据。
其中,获取的惯性器件的第一运动数据和刚体的第二运动数据均为旋转变化矩阵。第一运动数据和第二运动数据的每一帧存在时间上的先后顺序,但是每两帧之间的时间间隔不唯一。
本申请实施例提供的运动数据标定方法,可以应用于设有惯性器件和刚体的手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等可移动的终端设备上,本申请实施例对终端设备的具体类型不作任何限制。
作为示例而非限定,当所述终端设备为虚拟现实设备时,虚拟现实设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。虚拟现实设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,如VR头显等。可选地,可以应用穿戴式技术将上述虚拟现实设备进行智能化设计、开发出具有采集脑电信号的功能的设备,即虚拟现实设备与脑电信号采集设备结合设计为一种可采集脑电信号和具备虚拟现实功能的便携式设备。
需要说明的是,惯性器件与刚体固定设于上述终端设备中,惯性器件与刚体间有固定的位置关系。在终端设备运动过程或运动后,惯性器件可以变形,刚体不会变形(应理解,刚体可能出现微秒变形,而非绝对刚体的完全不变形)。获取的惯性器件的第一运动数据和刚体的第二运动数据均为旋转变化矩阵。
在本申请实施例中,惯性器件以陀螺仪为例,陀螺仪采集的三轴角速度分别为,单位为弧度/秒。设陀螺仪中载体坐标系中第k帧的旋转变化矩阵为,即表示陀螺仪从第k-1帧到第k帧的旋转变化,则有:
,(式1)
其中,为欧拉角旋转矩阵计算,为采集到第k帧数据相对于第k-1帧数据的时间差。一般陀螺仪会输出时间戳,并根据时间戳获得两帧的时间差。若陀螺仪未输出时间戳,则通过每帧数据到达时间计算时间差。
陀螺仪的姿态相对于上位机获得第一帧数据时的姿态变化:
,(式2)
在软件中获取刚体在世界坐标系中的旋转和位移,设刚体在世界坐标系中的旋转变化矩阵为。其中,R的上下标表示下标到上标的旋转变化矩阵,下标c表示刚体、b表示陀螺仪,k代表第k帧,0代表初始帧,w代表世界坐标。
已知:
,(式3)
,(式4)
,(式5)
其中,式5中为刚体到陀螺仪坐标系的旋转矩阵,根据式3、式4和式5,可得:
,(式6)
根据式6,可得:
,(式7)
由于刚体和陀螺仪的位置关系是固定的,所以在任何时刻都存在同一个旋转关系,即。进一步地,根据式7,可得:
,(式8)
为了便于计算,将式8转换为四元数形式:
,(式9)
进一步地,通过四元数的左乘和右乘,根据式9,可得:
,(式10)
其中,为刚体到陀螺仪的旋转四元数,即在世界坐标系中的刚体数据变换为陀螺仪所在载体坐标系的陀螺仪数据的变换矩阵。根据式10,可通过采集10帧以上的第一运动数据和第二运动数据,可获得零空间解,即得到刚体数据变换到陀螺仪所在载体坐标系的旋转四元数。
图1示出了本申请提供的运动数据标定方法的示意性流程图,作为示例而非限定,该方法可以应用于上述虚拟现实设备中。如图1所示,该方法包括步骤S101-S104,下面具体对各个步骤进行解释。
S101,获取所述惯性器件的第一帧数的第一运动数据和所述刚体的第二帧数的第二运动数据,所述第一运动数据对应的第一开始帧与所述第二运动数据对应的第二开始帧之间的差值为预设帧数,所述第一帧数与所述第二帧数的差值为所述预设帧数;
在上述S101中,第一运动数据包括每一帧相对于上一帧的惯性器件的旋转变化矩阵,第二运动数据包括每一帧相对于上一帧的刚体的旋转变化矩阵。预设帧数为预设的用于数据偏移的偏移帧。上述获取过程为得到终端设备对惯性器件和刚体采集的原始数据进行数据处理后的运动数据,并对运动数据进行存储的过程。可以理解的是,终端设备一直对原始数据进行数据处理,只有在进行获取操作时,获取当前时刻下处理得到的运动数据,并对运动数据进行存储,而在获取操作之前处理得到的运动数据则不进行存储。
如图7所示,预设帧数为50帧,A为第一运动数据的帧数顺序,B为第二运动数据的帧数顺序,第二运动数据在开始获取50帧第一运动数据之后才开始获取。上述帧数顺序在时间上存在先后顺序,具体地,先获取的运动数据,其帧数对应的时间在前,后获取的运动数据,其帧数对应的时间在后。
S102,从所述第一运动数据中,依次截取多组与第二帧数相同帧数的第三运动数据,并记录每组所述第三运动数据的第三开始帧与所述第二开始帧之间的偏移帧数,每个所述第三开始帧在所述第一开始帧与所述第二开始帧之间,每个所述第三开始帧与上一个所述第三开始帧的差值为一帧;
在上述S102中,如图7所示,例如获取50帧的第三运动数据,则第一次可以截取第一运动数据中的第0帧数据到第50帧数据,第二次截取第一运动数据中的第1帧数据到第51帧数据,直至截取第一运动数据中的第49帧数据到第99帧数据为止,则最终得到50组第三运动数据,每组第三运动数据有50帧数据。同时记录每次截取数据的偏移帧数,第一次截取数据的偏移帧数为50帧,第二次截取数据的偏移帧数为49帧,最后一次的偏移帧数为1帧。
应理解,上述数据截取方式仅用于举例说明,不作为限定本申请实施例的具体实施手段。
S103,计算所述第二运动数据变换到每组所述第三运动数据的变换矩阵,以及计算所述变换矩阵对应的误差;
在上述S103中,上述变换矩阵为第二运动数据变换为第三运动数据过程的旋转四元数,即前述的零空间解。可选地,通过前述公式10计算该变换矩阵。由于根据多帧第一运动数据和第二运动数据通过公式10求算的是零空间解,所以每帧第一运动数据和第二运动数据与最终求算的零空间解存在误差,则可以将零空间解和求算零空间解的多帧第一运动数据和第二运动数据重新代入公式10,以求算该零空间解对应的平均误差。
S104,将所述误差最小的所述变换矩阵以及该变换矩阵对应的所述偏移帧数作为标定结果。
在上述S104中,当误差越小时,说明根据对应延迟帧(偏移帧数)的第一运动数据和第二运动数据计算得到的变换矩阵越准确,即在对应延迟帧下,刚体数据与惯性器件数据最接近同步,则对应的标定结果越准确。
在图1所示实施例的基础上,图2示出了本申请实施例提供的另一种运动数据标定方法的流程示意图。第一运动数据包括第四运动数据和第五运动数据,如图2所示,上述步骤S101具体包括S201和S202。需要说明的是,与图1所示实施例相同步骤,在此不再赘述,请参见前述。
S201,获取所述惯性器件的预设帧数的第四运动数据;
在上述S201中,预设帧数的第四运动数据用于帧数偏移后进行计算的数据,其具体数值可根据惯性器件和刚体采集数据的频率进行设定。例如,陀螺仪数据更新频率为100Hz,刚体数据刷新率也设置为100Hz,即两帧数据之间的间隔为0.01秒,则50帧数据为0.5秒,预估刚体和陀螺仪延迟在0.5秒以内,所以可将预设帧数设置为50帧。
S202,在所述第四运动数据对应的结束帧之后,获取所述惯性器件的所述第五运动数据和所述刚体的第二运动数据,所述第五运动数据的帧数与所述第二运动数据的帧数相同。
在上述S202中,开始获取第五运动数据与第二运动数据时的时刻是相同的,且获取到的数据帧数也是相同的,但是因光学相机计算和上位机积分计算的速度不同,所以虽然获取到第五运动数据和第二运动数据时的时刻相同,但是两者分别对应的原始数据的采集时刻是不一样的。
在图2所示实施例的基础上,图3示出了本申请实施例提供的另一种运动数据标定方法的流程示意图。如图3所示,上述步骤S201具体包括S301和S302。需要说明的是,与图1所示实施例相同步骤,在此不再赘述,请参见前述。
S301,采集所述惯性器件或所述刚体的第一姿态角度变化数据;
在上述S301中,第一姿态角度变化数据为某个时刻相对于初始时刻的变化角度,可根据某一帧相对初始帧的旋转变化矩阵计算得到。
S302,当所述姿态角度变化数据大于第一预设角度时,获取所述惯性器件的预设帧数的第四运动数据。
在上述S302中,上述第一预设角度可以是20°,即陀螺仪或刚体的变化角度大于20°时,则开始获取第四运动数据,以避免因其他原因导致陀螺仪或刚体出现微小的变化角度时就获取不必要的数据。例如,摆动终端设备,陀螺仪或刚体的姿态角度相对于初始时刻的变化角度大于20°时,开始获取第四运动数据。
在图2所示实施例的基础上,图4示出了本申请实施例提供的另一种运动数据标定方法的流程示意图。如图4所示,上述步骤S202具体包括S401-S403。需要说明的是,与图2所示实施例相同步骤,在此不再赘述,请参见前述。
S401,采集预设组数的所述惯性器件或所述刚体的第二姿态角度变化数据;
在上述S401中,上述第二姿态角度变化数据为某个时刻相对于初始时刻的变化角度,上述预设组数可以为50组。
S402,获取每组所述第二姿态角度变化数据大于第二预设角度时的所述惯性器件的第六运动数据和所述刚体的第七运动数据,其中每次获取的所述第六运动数据的帧数与所述第七运动数据的帧数相同;
在上述S402中,第二预设角度为5-10°时有较好的标定效果,例如7°。应理解,第二预设角度不限于5-10°。由于终端设备运动时,有可能是微小的运动,这样的数据在现实空间与虚拟空间中的差异很小,所以可以选择不要微小运动时的数据,只有在第二姿态角度变化数据大于7°时,才获取对应的运动数据,第二姿态角度变化数据小于7°时,则不获取对应的运动数据。为了保证采集的运动数据足够用于标定,则分成多组进行获取。
S403,将所有所述第六运动数据组成所述第五运动数据,以及将所有所述第七运动数据组成所述第二运动数据。
在上述403中,根据获取到第六运动数据和第五运动数据时的时间先后顺序,将所有所述第六运动数据组成所述第五运动数据,以及将所有所述第七运动数据组成所述第二运动数据。
在图2所示实施例的基础上,图5示出了本申请实施例提供的另一种运动数据标定方法的流程示意图。如图5所示,上述步骤S102具体包括S501和S502。需要说明的是,与图2所示实施例相同步骤,在此不再赘述,请参见前述。
S501,以所述第四运动数据的第四开始帧为起点,每次将所述第四运动数据的每一帧向靠近所述第二开始帧的方向整体偏移一帧,直至偏移的总帧数达到所述预设帧数;
S502,以每次偏移后的第四开始帧为起点,将与所述第二帧数相同帧数的所述第一运动数据作为所述第三运动数据。
在上述S501和S502中,如图7所示,第四开始帧为第0帧,将第四运动数据的每一帧整体向右移一帧,则在时间上,每一帧都向右移了一帧,但是第一运动数据保持不变。例如,第0帧对应的第一运动数据为x,第1帧对应的第一运动数据为y,则每一帧右移后,第0帧代替了原来的第1帧,则第0帧对应的第一运动数据变为y,以此类推。
在图2所示实施例的基础上,图6示出了本申请实施例提供的另一种运动数据标定方法的流程示意图。如图6所示,上述步骤S102具体包括S601和S602。需要说明的是,与图2所示实施例相同步骤,在此不再赘述,请参见前述。
S601,以所述第五运动数据的第五开始帧为起点,每次将所述第五运动数据的每一帧向远离所述第二开始帧的方向整体偏移一帧,直至偏移的总帧数达到所述预设帧数;
S602,以每次偏移后的第五开始帧为起点,将与所述第二帧数相同帧数的所述第一运动数据作为所述第三运动数据。
在上述S601和S602中,如图7所示,第五开始帧为第500帧,将第五运动数据的每一帧整体向左移一帧,则在时间上,每一帧都向左移了一帧,但是第一运动数据保持不变。
在图1所示实施例的基础上,本申请实施例提供的另一种运动数据标定方法的实施例。上述步骤S103中的计算所述第二运动数据变换到每组所述第三运动数据的变换矩阵,具体包括S1031。需要说明的是,与图1所示实施例相同步骤,在此不再赘述,请参见前述。
S1031,根据一组所述第三运动数据中的每帧所述第三运动数据和对应帧的所述第二运动数据,计算得到一个所述变换矩阵,所述第三运动数据有多组,则得到多个所述变换矩阵。
在上述S1031中,可将第三运动数据和对应帧的第二运动数据代入前述公式10,则10帧以上的第三运动数据和第二运动数据即可求算得到零空间解,即对应的变换矩阵。
在图1所示实施例的基础上,本申请实施例提供的另一种运动数据标定方法的实施例。上述步骤S103中的计算所述变换矩阵对应的误差,具体包括S1032。需要说明的是,与图1所示实施例相同步骤,在此不再赘述,请参见前述。
S1032,根据每个所述变换矩阵、对应的所述第一运动数据和所述第二运动数据,计算得到每个所述变换矩阵的误差。
在上述S1032中,可以将每个所述变换矩阵、对应的所述第一运动数据和所述第二运动数据重新代入前述公式10,由于每组第一运动数据和第二运动数据有多帧数据,因此,根据公式10可得:
其中,n为偏移帧数,i根据偏移帧数设置,j根据i帧后的旋转间隔设定。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的运动数据标定方法,图6示出了本申请实施例提供的运动数据标定装置800的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图8,该装置包括:
获取模块801,用于获取所述惯性器件的第一帧数的第一运动数据和所述刚体的第二帧数的第二运动数据,所述第一运动数据对应的第一开始帧与所述第二运动数据对应的第二开始帧之间的差值为预设帧数,所述第一帧数与所述第二帧数的差值为所述预设帧数;
截取模块802,用于从所述第一运动数据中,截取与第二帧数相同帧数的多组第三运动数据,并记录每个所述第三运动数据的第三开始帧与所述第二开始帧之间的偏移帧数,每个所述第三时间帧在所述第一开始帧与所述第二开始帧之间,每个所述第三开始帧与上一个所述第三开始帧的差值为一帧;
计算模块803,用于计算所述第二运动数据变换到所述第三运动数据的变换矩阵,以及计算所述变换矩阵对应的误差;
标定模块804,用于将所述误差最小的所述变换矩阵以及该变换矩阵对应的所述偏移帧数作为标定结果。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图9为本申请一实施例提供的终端设备的结构示意图。如图9所示,该实施例的终端设备9包括:至少一个处理器90(图9中仅示出一个)处理器、存储器91以及存储在所述存储器91中并可在所述至少一个处理器90上运行的计算机程序92,所述处理器90执行所述计算机程序92时实现上述任意各个运动数据标定方法实施例中的步骤。
所述终端设备9可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备,具体地,如上述虚拟现实设备。该终端设备可包括但不仅限于,处理器90、存储器91。本领域技术人员可以理解,图9仅仅是终端设备9的举例,并不构成对终端设备9的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器90可以是中央处理单元(Central Processing Unit,CPU),该处理器90还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路 (Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器91在一些实施例中可以是所述终端设备9的内部存储单元,例如终端设备9的硬盘或内存。所述存储器91在另一些实施例中也可以是所述终端设备9的外部存储设备,例如所述终端设备9上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器91还可以既包括所述终端设备9的内部存储单元也包括外部存储设备。所述存储器91用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器91还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (11)

1.一种运动数据标定方法,其特征在于,应用于终端设备,所述方法包括:
获取所述终端设备上的惯性器件的第一运动数据和所述终端设备上的刚体的第二运动数据,所述第一运动数据对应的帧数为第一帧数,所述第二运动数据对应的帧数为第二帧数;
所述第一运动数据对应的第一开始帧与所述第二运动数据对应的第二开始帧之间的差值为预设帧数,所述第一帧数与所述第二帧数的差值为所述预设帧数;
从所述第一运动数据中,依次截取多组与第二帧数相同帧数的第三运动数据,并记录每组所述第三运动数据的第三开始帧与所述第二开始帧之间的偏移帧数,每个所述第三开始帧在所述第一开始帧与所述第二开始帧之间,每个所述第三开始帧与上一个所述第三开始帧的差值为一帧;
计算所述第二运动数据变换到每组所述第三运动数据的变换矩阵,以及计算所述变换矩阵对应的误差;
将所述误差最小的所述变换矩阵以及该变换矩阵对应的所述偏移帧数作为标定结果。
2.如权利要求1所述的运动数据标定方法,其特征在于,所述第一运动数据包括第四运动数据和第五运动数据,所述获取所述惯性器件的第一运动数据和所述刚体的第二运动数据,包括:
获取所述惯性器件的预设帧数的第四运动数据;
在所述第四运动数据对应的结束帧之后,获取所述惯性器件的所述第五运动数据和所述刚体的第二运动数据,所述第五运动数据的帧数与所述第二运动数据的帧数相同。
3.如权利要求2所述的运动数据标定方法,其特征在于,所述获取所述惯性器件的预设帧数的第四运动数据,包括:
采集所述惯性器件或所述刚体的第一姿态角度变化数据;
当所述姿态角度变化数据大于第一预设角度时,获取所述惯性器件的预设帧数的第四运动数据。
4.如权利要求2所述的运动数据标定方法,其特征在于,所述获取所述惯性器件的所述第五运动数据和所述刚体的第二运动数据,包括:
采集预设组数的所述惯性器件或所述刚体的第二姿态角度变化数据;
获取每组所述第二姿态角度变化数据大于第二预设角度时的所述惯性器件的第六运动数据和所述刚体的第七运动数据,其中每次获取的所述第六运动数据的帧数与所述第七运动数据的帧数相同;
将所有所述第六运动数据组成所述第五运动数据,以及将所有所述第七运动数据组成所述第二运动数据。
5.如权利要求2所述的运动数据标定方法,其特征在于,所述从所述第一运动数据中,截取与第二帧数相同帧数的多组第三运动数据,包括:
以所述第四运动数据的第四开始帧为起点,每次将所述第四运动数据的每一帧向靠近所述第二开始帧的方向整体偏移一帧,直至偏移的总帧数达到所述预设帧数;
以每次偏移后的第四开始帧为起点,将与所述第二帧数相同帧数的所述第一运动数据作为所述第三运动数据。
6.如权利要求2所述的运动数据标定方法,其特征在于,所述从所述第一运动数据中,截取与第二帧数相同帧数的多组第三运动数据,包括:
以所述第五运动数据的第五开始帧为起点,每次将所述第五运动数据的每一帧向远离所述第二开始帧的方向整体偏移一帧,直至偏移的总帧数达到所述预设帧数;
以每次偏移后的第五开始帧为起点,将与所述第二帧数相同帧数的所述第一运动数据作为所述第三运动数据。
7.如权利要求1所述的运动数据标定方法,其特征在于,所述计算所述第二运动数据变换到每组所述第三运动数据的变换矩阵,包括:
根据一组所述第三运动数据中的每帧所述第三运动数据和对应帧的所述第二运动数据,计算得到一个所述变换矩阵,所述第三运动数据有多组,则得到多个所述变换矩阵。
8.如权利要求1所述的运动数据标定方法,其特征在于,所述计算所述变换矩阵对应的误差,包括:
根据每个所述变换矩阵、每个所述变换矩阵对应的所述第一运动数据和每个所述变换矩阵对应的所述第二运动数据,计算得到每个所述变换矩阵的误差。
9.一种运动数据标定装置,其特征在于,所述装置包括:
获取模块,用于获取终端设备上的惯性器件的第一运动数据和所述终端设备上的刚体的第二运动数据,所述第一运动数据对应的帧数为第一帧数,所述第二运动数据对应的帧数为第二帧数;所述第一运动数据对应的第一开始帧与所述第二运动数据对应的第二开始帧之间的差值为预设帧数,所述第一帧数与所述第二帧数的差值为所述预设帧数;
截取模块,用于从所述第一运动数据中,截取与第二帧数相同帧数的多组第三运动数据,并记录每个所述第三运动数据的第三开始帧与所述第二开始帧之间的偏移帧数,每个所述第三开始帧在所述第一开始帧与所述第二开始帧之间,每个所述第三开始帧与上一个所述第三开始帧的差值为一帧;
计算模块,用于计算所述第二运动数据变换到所述第三运动数据的变换矩阵,以及计算所述变换矩阵对应的误差;
标定模块,用于将所述误差最小的所述变换矩阵以及该变换矩阵对应的所述偏移帧数作为标定结果。
10.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至8任一项所述的方法。
11.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的方法。
CN201911099283.9A 2019-11-12 2019-11-12 运动数据标定方法、装置、终端设备及存储介质 Active CN110956666B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201911099283.9A CN110956666B (zh) 2019-11-12 2019-11-12 运动数据标定方法、装置、终端设备及存储介质
PCT/CN2020/124669 WO2021093593A1 (zh) 2019-11-12 2020-10-29 运动数据标定方法、装置、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911099283.9A CN110956666B (zh) 2019-11-12 2019-11-12 运动数据标定方法、装置、终端设备及存储介质

Publications (2)

Publication Number Publication Date
CN110956666A CN110956666A (zh) 2020-04-03
CN110956666B true CN110956666B (zh) 2023-05-12

Family

ID=69977280

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911099283.9A Active CN110956666B (zh) 2019-11-12 2019-11-12 运动数据标定方法、装置、终端设备及存储介质

Country Status (2)

Country Link
CN (1) CN110956666B (zh)
WO (1) WO2021093593A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110956666B (zh) * 2019-11-12 2023-05-12 深圳市瑞立视多媒体科技有限公司 运动数据标定方法、装置、终端设备及存储介质
CN112923923A (zh) * 2021-01-28 2021-06-08 深圳市瑞立视多媒体科技有限公司 一种imu与刚体姿态、位置对齐的方法、装置、设备以及可读存储介质
CN112945231A (zh) * 2021-01-28 2021-06-11 深圳市瑞立视多媒体科技有限公司 一种imu与刚体姿态对齐的方法、装置、设备以及可读存储介质
CN113503898A (zh) * 2021-07-09 2021-10-15 广州幻境科技有限公司 一种惯性动作数据的实时校准方法和装置
CN113739819B (zh) * 2021-08-05 2024-04-16 上海高仙自动化科技发展有限公司 校验方法、装置、电子设备、存储介质及芯片

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6474159B1 (en) * 2000-04-21 2002-11-05 Intersense, Inc. Motion-tracking
US20110307213A1 (en) * 2006-07-10 2011-12-15 Yang Zhao System and method of sensing attitude and angular rate using a magnetic field sensor and accelerometer for portable electronic devices
US9124780B2 (en) * 2010-09-17 2015-09-01 Certusview Technologies, Llc Methods and apparatus for tracking motion and/or orientation of a marking device
CN104796596B (zh) * 2014-01-20 2018-07-06 联想(北京)有限公司 一种信息处理方法及电子设备
US10621751B2 (en) * 2017-06-16 2020-04-14 Seiko Epson Corporation Information processing device and computer program
CN109541570B (zh) * 2017-09-21 2021-12-14 腾讯科技(深圳)有限公司 毫米波扫描设备标定的方法及设备
CN108492316A (zh) * 2018-02-13 2018-09-04 视辰信息科技(上海)有限公司 一种终端的定位方法和装置
CN108629793B (zh) * 2018-03-22 2020-11-10 中国科学院自动化研究所 使用在线时间标定的视觉惯性测程法与设备
US10284752B1 (en) * 2018-05-22 2019-05-07 BioForce Analytics LLC Method for determining a start offset between a video recording device and an inertial measurement unit for use in synchronizing motion data of an object collected by the inertial measurement unit attached to the object with video frames captured by an image sensor of the video recording device of the object in motion
CN109040525B (zh) * 2018-08-31 2021-10-22 腾讯科技(深圳)有限公司 图像处理方法、装置、计算机可读介质及电子设备
CN110345936B (zh) * 2019-07-09 2021-02-09 上海有个机器人有限公司 运动装置的轨迹数据处理方法及其处理系统
CN110956666B (zh) * 2019-11-12 2023-05-12 深圳市瑞立视多媒体科技有限公司 运动数据标定方法、装置、终端设备及存储介质

Also Published As

Publication number Publication date
WO2021093593A1 (zh) 2021-05-20
CN110956666A (zh) 2020-04-03

Similar Documents

Publication Publication Date Title
CN110956666B (zh) 运动数据标定方法、装置、终端设备及存储介质
CN107747941B (zh) 一种双目视觉定位方法、装置及系统
CN108205679B (zh) 针对动态视觉传感器跟踪的多尺度加权匹配和传感器融合
TWI766282B (zh) 標定方法、電子設備及儲存介質
EP4105766A1 (en) Image display method and apparatus, and computer device and storage medium
CN112229424B (zh) 视觉惯性系统的参数标定方法及装置、电子设备和介质
CN108871311A (zh) 位姿确定方法和装置
JP2017073753A (ja) 補正方法、プログラム及び電子機器
JP2022531186A (ja) 情報処理方法、装置、電子機器、記憶媒体およびプログラム
CN116079697B (zh) 一种基于图像的单目视觉伺服方法、装置、设备及介质
CN112819860A (zh) 视觉惯性系统初始化方法及装置、介质和电子设备
CN110567484A (zh) 标定imu与刚体姿态的方法、设备以及可读存储介质
CN113610702A (zh) 一种建图方法、装置、电子设备及存储介质
WO2019080879A1 (zh) 数据处理方法、计算机设备和存储介质
CN111275769B (zh) 一种单目视觉参数的校正方法及装置
CN113052915A (zh) 相机外参标定方法、装置、增强现实系统、终端设备及存储介质
CN112945231A (zh) 一种imu与刚体姿态对齐的方法、装置、设备以及可读存储介质
CN114116081B (zh) 交互式动态流体效果处理方法、装置及电子设备
CN111156964B (zh) 一种高度测量方法、系统、移动终端和存储介质
CN112907629A (zh) 图像特征的跟踪方法、装置、计算机设备及存储介质
CN106774916B (zh) 一种虚拟现实系统的实现方法以及虚拟现实系统
CN115839726B (zh) 磁传感器和角速度传感器联合标定的方法、系统及介质
CN114234959B (zh) 机器人、vslam初始化方法、装置和可读存储介质
CN114323010B (zh) 初始特征确定方法、装置、电子设备及存储介质
CN110207687B (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