数据校正方法、装置、电子设备及计算机可读存储介质与流程

文档序号:17731669发布日期:2019-05-22 02:53阅读:150来源:国知局
数据校正方法、装置、电子设备及计算机可读存储介质与流程

本申请涉及虚拟现实技术领域,具体而言,本申请涉及一种数据校正方法、装置、电子设备及计算机可读存储介质。



背景技术:

vr(virtualreality,虚拟现实)是利用计算机模拟产生一个三维空间的虚拟世界,提供用户关于视觉、听觉、触觉等感官的模拟,让用户如同身历其境一般,可以及时、没有限制地观察三度空间内的事物。虚拟现实技术主要包括模拟环境、感知、自然技能和传感设备等方面;模拟环境是由计算机生成的、实时动态的三维立体逼真图像;感知是指理想的虚拟现实应该具有一切人所具有的感知,除计算机图形技术所生成的视觉感知外,还有听觉、触觉、力觉、运动等感知,甚至还包括嗅觉和味觉等,也称为多感知;自然技能是指人的头部转动,眼睛、手势、或其他人体行为动作,由计算机来处理与用户的动作相适应的数据,并对用户的输入作出实时响应,并分别反馈到用户的五官;传感设备是指三维交互设备,也就是vr设备。

在vr设备中,传感器为vr设备提供陀螺仪数据、重力加速度数据和地磁数据,这些数据通过姿态融合可以实时得到vr的姿态。为了得到准确的vr姿态,就需要对重力加速度数据和地磁数据进行出厂校正。

当前的校正方式是在使用vr设备之初,一次性的对重力加速度数据和地磁数据进行校正。但是,基于现有的数据校正方法,vr设备在使用过程中,存在数据不准确的缺陷。



技术实现要素:

本申请针对现有的方式的缺点,提出一种数据校正方法、装置、电子设备及计算机可读存储介质,用以解决现有技术中针对vr设备的数据,基于现有方法校正后的数据不准确的问题。

第一方面,提供了一种数据校正方法,该方法包括:

获取传感器提供的数据;

判断数据的状态参数是否满足状态阈值;

当数据的状态参数满足状态阈值时,更新数据对应的数据索引表,得到更新后的数据索引表;

根据更新后的数据索引表,更新数据的椭球拟合方程的拟合参数,得到更新后的椭球拟合参数;

根据更新后的椭球拟合参数,校正数据。

第二方面,提供了一种数据校正装置,该装置包括:

获取模块,用于获取传感器提供的数据;

第一处理模块,用于判断数据的状态参数是否满足状态阈值;当数据的状态参数满足状态阈值时,更新数据对应的数据索引表,得到更新后的数据索引表;

第二处理模块,用于根据更新后的数据索引表,更新数据的椭球拟合方程的拟合参数,得到更新后的椭球拟合参数;

第三处理模块,用于根据更新后的椭球拟合参数,校正数据。

第三方面,本申请提供了一种电子设备,包括:处理器、存储器;

存储器,用于存储计算机程序;

处理器,用于通过调用计算机程序,执行本申请第一方面的数据校正方法。

第四方面,本申请提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序用于被处理器执行时实现本申请第一方面的数据校正方法。

本申请实施例提供的技术方案,至少具有如下有益效果:

1)在设备使用过程中,实时获取数据,当实时判断出获取的数据满足状态阈值时,通过更新数据索引表,然后进行椭球拟合,得到更新的椭球拟合参数,进行数据校正,从而能够对输入数据进行实时校正,能有效解决环境因素对设备的影响,提高数据的准确性。

2)当传感器采集到的数据受到外界影响较小,而且当前设备状态处于静止或轻微的运动状态时,进行重新拟合,从而提高重新拟合的准确度。

本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。

图1为本申请实施例提供的一种数据校正方法的流程示意图;

图2为本申请实施例提供的另一种数据校正方法的流程示意图;

图3为本申请实施例提供的一种数据校正装置的结构示意图;

图4为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

实施例一

本申请实施例中提供了一种数据校正方法,该方法的流程示意图如图1所示,该方法包括:

s101,获取传感器提供的数据。

需要说明的是,传感器为重力加速度传感器或地磁传感器。

s102,判断数据的状态参数是否满足状态阈值。

可选地,判断数据的状态参数是否满足状态阈值,包括:状态阈值包括第一阈值和第二阈值;根据数据的状态参数,确定第一状态值和第二状态值;当第一状态值小于第一阈值且第二状态值小于第二阈值时,确定数据满足状态阈值。

可选地,根据数据的状态参数,确定第一状态值和第二状态值,包括:

确定所述数据的模与设定值求差的绝对值,将该绝对值作为所述第一状态值;将多个数据构建成数组,确定出数组内各数据的模的标准差作为第二状态值。

s103,当数据的状态参数满足状态阈值时,更新数据对应的数据索引表,得到更新后的数据索引表。

可选地,根据数据的向量,查询到数据对应的数据索引表中的地址;将获取的数据替换数据索引表中的地址储存的原始数据,得到更新后的数据索引表。

可选地,根据数据的向量,查询到数据对应的数据索引表中的地址,包括:当数据为地磁数据或重力加速度数据,根据地磁数据的向量或重力加速度数据的向量,查询到数据索引表的存储地址为第(ix+n)×n×n+(iy+n)×n+(iz+n)个存储地址;ix为获取的地磁数据的向量或重力加速度数据的向量的第一坐标轴分量向下取整后的整数数据,iy为获取的地磁数据的向量或重力加速度数据的向量的第二坐标轴分量向下取整后的整数数据,iz为获取的地磁数据的向量或重力加速度数据的向量的第三坐标轴分量向下取整后的整数数据,ix,iy和iz取值范围都是[-,+],数据索引表的存储地址大小为n×n×n;ix,iy,iz的单位为磁场强度单位或重力加速度单位,都是整数;n和n都是正整数;n=2n+1。

s104,根据更新后的数据索引表,更新数据的椭球拟合方程的拟合参数,得到更新后的椭球拟合参数。

可选地,根据椭球拟合方程及更新后的数据索引表,对椭球拟合参数进行更新,得到更新后的椭球拟合参数。

s105,根据更新后的椭球拟合参数,校正数据。

可选地,根据更新后的椭球拟合参数,确定椭球中心矩阵及校正矩阵;将数据的向量矩阵与椭球中心矩阵的差进行转置,得到矩阵差的转置;将校正矩阵与矩阵差的转置进行乘积,得到校正后的数据。

本申请实施例中,获取传感器提供的数据,传感器为重力加速度传感器或地磁传感器;判断数据的状态参数是否满足状态阈值;当数据的状态参数满足状态阈值时,更新数据对应的数据索引表,得到更新后的数据索引表;根据更新后的数据索引表,更新数据的椭球拟合方程的拟合参数,得到更新后的椭球拟合参数;根据更新后的椭球拟合参数,校正数据。如此,能够实现对输入数据进行实时校正,能有效解决环境因素对设备的影响,提高数据的准确性。

需要说明的是,三维数据都可以采用椭球拟合,本申请数据校正方法适用于针对三维数据的校正,本申请中传感器提供的数据是三维数据。

可选地,本申请实施例的数据校正方法还包括:当获取的数据不满足状态阈值时,根据椭球拟合参数,校正数据。

可选地,在当数据不满足状态阈值时,根据椭球拟合参数,校正数据之前,还包括:根据数据,确定第一状态值和第二状态值;当第一状态值不小于第一阈值或第二状态值不小于第二阈值时,确定数据不满足状态阈值,状态阈值包括第一阈值和第二阈值。

实施例二

基于前述实施例相同的发明构思,本实施例通过具体示例对上述实施例一的技术方案进行说明。

参见图2,图2为本申请实施例提供的另一种数据校正方法的流程示意图,如图2所示,具体包括:

s201,vr设备通过传感器采集数据。

需要说明的是,vr设备中的传感器采集陀螺仪数据、重力加速度数据和地磁数据,这些数据通过姿态融合可以实时得到vr的姿态。

可选地,vr设备中的传感器采集地磁数据,地磁数据的向量m(x,y,z);其中,x为地磁数据的向量m(x,y,z)的第一坐标轴分量的值,y为地磁数据的向量m(x,y,z)的第二坐标轴分量的值,z为地磁数据的向量m(x,y,z)的第三坐标轴分量的值,x,y,z为非负的实数。

s202,根据采集到的数据,判断是否对椭球拟合参数进行重新拟合;若是,则执行s203,否则执行s207。

可选地,状态阈值包括第一阈值和第二阈值;根据数据的状态参数,确定第一状态值和第二状态值;当第一状态值小于第一阈值且第二状态值小于第二阈值时,确定数据满足状态阈值。

确定所述数据的模与设定值求差的绝对值,将该绝对值作为第一状态值;将多个数据构建成数组,确定出数组内各数据的模的标准差作为第二状态值。

具体的,vr设备中的传感器采集到重力加速度数据和地磁数据后,如果同时满足以下两个条件:条件一,vr设备中的传感器采集到的数据受到外界影响较小;条件二,当前vr设备状态处于静止或轻微的运动状态;那么确定对椭球拟合参数进行重新拟合,则执行s203。重新拟合的目的是对原有的已经存储的椭球拟合参数进行更新。如果不满足条件一和条件二中任意一个条件,则执行s207。

条件一是对数据受到外界影响大小的判断,对数据本身的判断需要从数据误差的容忍量出发,可选地,地磁数据的向量m(x,y,z)的模为r=sqrt(x×x+y×y+z×z),x,y,z单位为特斯拉(t);例如,当传感器为某一型号时,abs(r–a)<k、abs(r–a)>k中的a设置为50,k取值5,50为第三阈值,abs(r–50)为第一状态值,k为第一阈值;sqrt是开平方根,abs表示取绝对值;当abs(r–50)<5时,vr设备中的传感器采集到的地磁数据受到外界影响较小;当地磁数据的向量m(x,y,z)的模过大或者过小时,即abs(r–50)>5时,vr设备中的传感器采集到的地磁数据受到外界影响较大。

条件二是对vr设备状态的判断,vr设备状态的判断主要是判断当前设备是否处于静止或者轻微的运动状态,vr设备的状态可以通过采集一定数量的数据组成一个数组,可选地,采集10个数据组成一个数组,求解这个数组内各数据的模的标准差v_dev,当标准差v_dev<q时,认为vr设备处于静止或者轻微的运动状态;标准差v_dev为第二状态值,q为第二阈值。可选地,q取值5。

s203,根据采集到的数据,更新数据对应的数据索引表,得到更新后的数据索引表。

可选地,根据获取的数据的向量,查询到数据对应的数据索引表中的地址;将获取的数据替换数据索引表中的地址储存的原始数据,得到更新后的数据索引表。

可选地,当数据为地磁数据或重力加速度数据,根据地磁数据的向量m(x,y,z),查询到数据索引表的存储地址为第(ix+n)×n×n+(iy+n)×n+(iz+n)个存储地址;其中,ix为获取的地磁数据的向量的第一坐标轴分量x向下取整后的整数数据,iy为获取的地磁数据的向量的第二坐标轴分量y向下取整后的整数数据,iz为获取的地磁数据的向量的第三坐标轴分量z向下取整后的整数数据,ix,iy和iz取值范围都是[-n,+],数据索引表的存储地址大小为n×n×n;ix,iy,iz单位为特斯拉(t),都是整数;n和n都是正整数;n=2n+1。

具体的,n取值50,n取值101,将获取的地磁数据m(x,y,z)替换数据索引表中的第(ix+50)×101×101+(iy+50)×101+(iz+50)个存储地址存储的原始数据,得到更新后的数据索引表。

需要说明的是,当x,y,z中任意一个不为整数时,例如x=9.8,则x向下取整,得到ix=9。数据索引表更新是数据索引表的部分存储数据的更新,如果获取了20个地磁数据,那么数据索引表更新20处存储的原始数据。

s204,根据更新后的数据索引表,更新数据的椭球拟合方程的拟合参数,得到更新后的椭球拟合参数。

可选地,根据椭球拟合方程及更新后的数据索引表,更新椭球拟合方程的拟合参数,得到更新后的椭球拟合参数。

具体的,更新后的数据索引表内的数据至少需要9个数据点,才能进行椭球拟合,更新后的数据索引表内储存的n×n×n组数据全部参加椭球拟合,得到更新后的椭球拟合参数。

椭球拟合方程如下:

a1x2+a2y2+a3z2+a4xy+a5xz+a6yz+a7x+a8y+a9z=1

这种数据处理方式能够有效提高椭球拟合的准确性,减小数据拟合误差。a1,a2,a3,a4,a5,a6,a7,a8,a9都为更新后的椭球拟合参数。

s205,存储更新后的椭球拟合参数。

具体地,将更新后的椭球拟合参数a1,a2,a3,a4,a5,a6,a7,a8,a9替代原有的已经存储的椭球拟合参数a10,a20,a30,a40,a50,a60,a70,a80,a90,同时将更新后的椭球拟合参数a1,a2,a3,a4,a5,a6,a7,a8,a9进行储存。

s206,根据更新后的椭球拟合参数,校正数据,之后执行s209。

事实上,s205与s206这两个步骤可以同时执行,也可以一个步骤先执行,另一个步骤后执行。

可选地,根据更新后的椭球拟合参数,确定椭球中心矩阵及校正矩阵;将获取的数据与椭球中心矩阵的差进行转置,得到矩阵差的转置;将校正矩阵与矩阵差的转置进行乘积,得到校正后的数据。

具体的,根据更新后的椭球拟合参数a1,a2,a3,a4,a5,a6,a7,a8,a9,确定椭球中心矩阵p_c及校正矩阵m_c;其中,

校正矩阵椭球中心矩阵

将获取的地磁数据的向量m(x,y,z)与椭球中心矩阵p_c的差进行转置,得到矩阵差的转置(m-p_c)t;将校正矩阵m_c与矩阵差的转置(m-p_c)t进行乘积,得到校正后的地磁数据的向量m′。对地磁数据的向量m进行校正,得到校正后的地磁数据的向量m′的计算公式如下所示:

m′=m_c×(m-p_c)t,t表示(m-p_c)的矩阵转置,椭球中心矩阵p_c及校正矩阵m_c由更新后的椭球拟合参数a1,a2,a3,a4,a5,a6,a7,a8,a9计算得到。

s207,调用椭球拟合参数。

可选地,调用上一次更新后(即本次未更新)所存储的椭球拟合参数a10,a20,a30,a40,a50,a60,a70,a80,a90。

s208,根据椭球拟合参数,校正数据。

可选地,根据椭球拟合参数a10,a20,a30,a40,a50,a60,a70,a80,a90,确定椭球中心矩阵p_c及校正矩阵m_c;将获取的地磁数据的向量m(x,y,z)与椭球中心矩阵p_c的差进行转置,得到矩阵差的转置(m-p_c)t;将校正矩阵m_c与矩阵差的转置(m-p_c)t进行乘积,得到校正后的地磁数据的向量m′。

对地磁数据的向量m进行校正,得到校正后的地磁数据的向量m′的计算公式如下所示:

m′=m_c×(m-p_c)t,t表示(m-p_c)的矩阵转置,椭球中心矩阵p_c及校正矩阵m_c由椭球拟合参数a10,a20,a30,a40,a50,a60,a70,a80,a90计算得到。

s209,输出校正后的数据。

可选地,如果是执行s206之后,则输出校正后的地磁数据的向量m′是基于更新后的椭球拟合参数a1,a2,a3,a4,a5,a6,a7,a8,a9得到;如果是执行s208之后,则输出校正后的地磁数据的向量m′是基于椭球拟合参数a10,a20,a30,a40,a50,a60,a70,a80,a90得到。

实施例三

基于前述实施例相同的发明构思,本申请实施例还提供了一种数据校正装置,该装置的结构示意图如图3所示,数据校正装置30,包括获取模块301、第一处理模块302、第二处理模块303和第三处理模块304。

获取模块301,用于获取传感器提供的数据;

第一处理模块302,用于判断数据的状态参数是否满足状态阈值;当数据的状态参数满足状态阈值时,更新数据对应的数据索引表,得到更新后的数据索引表;

第二处理模块303,用于根据更新后的数据索引表,更新数据的椭球拟合方程的拟合参数,得到更新后的椭球拟合参数;

第三处理模块304,用于根据更新后的椭球拟合参数,校正数据。

可选地,第一处理模块302,具体用于状态阈值包括第一阈值和第二阈值;根据数据的状态参数,确定第一状态值和第二状态值;当第一状态值小于第一阈值且第二状态值小于第二阈值时,确定数据满足状态阈值。

可选地,第一处理模块302,具体用于确定所述数据的模与设定值求差的绝对值,将该绝对值作为所述第一状态值;将多个数据构建成数组,确定出数组内各数据的模的标准差作为第二状态值。

可选地,第一处理模块302,具体用于根据数据的向量,查询到数据对应的数据索引表中的地址;将获取的数据替换数据索引表中的地址储存的原始数据,得到更新后的数据索引表。

可选地,第一处理模块302,具体用于当数据为地磁数据或重力加速度数据,根据地磁数据的向量或重力加速度数据的向量,查询到数据索引表的存储地址为第(ix+n)×n×n+(iy+n)×n+(iz+n)个存储地址;ix为获取的地磁数据的向量或重力加速度数据的向量的第一坐标轴分量向下取整后的整数数据,iy为获取的地磁数据的向量或重力加速度数据的向量的第二坐标轴分量向下取整后的整数数据,iz为获取的地磁数据的向量或重力加速度数据的向量的第三坐标轴分量向下取整后的整数数据,ix,iy和iz取值范围都是[-,+],数据索引表的存储地址大小为n×n×n;ix,iy,iz的单位为磁场强度单位或重力加速度单位,都是整数;n和n都是正整数;n=2n+1。

可选地,第二处理模块303,具体用于根据椭球拟合方程及更新后的数据索引表,对椭球拟合参数进行更新,得到更新后的椭球拟合参数。

可选地,第三处理模块304,具体用于根据更新后的椭球拟合参数,确定椭球中心矩阵及校正矩阵;将数据的向量矩阵与椭球中心矩阵的差进行转置,得到矩阵差的转置;将校正矩阵与矩阵差的转置进行乘积,得到校正后的数据。

本申请实施例提供的数据校正装置中未详述的内容,可参照上述数据校正方法,本申请实施例提供的数据校正装置能够达到的有益效果与上述数据校正方法相同,在此不再赘述。

基于相同的发明构思,本申请实施例还提供了一种电子设备,该电子设备的结构示意图如图4所示,该电子设备4000包括至少一个处理器4001、存储器4002和总线4003,至少一个处理器4001均与存储器4002电连接;存储器4002被配置用于存储有至少一个计算机可执行指令,处理器4001被配置用于执行该至少一个计算机可执行指令,从而执行如本申请实施例一至二中任意一个实施例或任意一种可选实施方式提供的任意一种数据校正方法的步骤。

进一步,处理器5001可以是fpga(field-programmablegatearray,现场可编程门阵列)或者其它具有逻辑处理能力的器件,如mcu(microcontrollerunit,微控制单元)、cpu(centralprocessunit,中央处理器)。

可选地,本申请实施例的电子设备可以包括vr(virtualreality,虚拟现实)设备。

基于相同的发明构思,本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被执行时实现本申请实施例一至二中任意一个实施例或任意一种可选实施方式的数据校正方法的步骤。

本申请实施例提供的计算机可读存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、cd-rom、和磁光盘)、rom(read-onlymemory,只读存储器)、ram(randomaccessmemory,随即存储器)、eprom(erasableprogrammableread-onlymemory,可擦写可编程只读存储器)、eeprom(electricallyerasableprogrammableread-onlymemory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读存储介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。

应用本申请实施例,至少具有如下有益效果:

1)在设备使用过程中,实时获取数据,当实时判断出获取的数据满足状态阈值时,通过更新数据索引表,然后进行椭球拟合,得到更新的椭球拟合参数,进行数据校正,从而能够对输入数据进行实时校正,能有效解决环境因素对设备的影响,提高数据的准确性。

2)当传感器采集到的数据受到外界影响较小,而且当前设备状态处于静止或轻微的运动状态时,进行重新拟合,从而提高重新拟合的准确度。

本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本申请公开的结构图和/或框图和/或流图的框或多个框中指定的方案。

本技术领域技术人员可以理解,本申请中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本申请中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本申请中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。

以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1