CN113516681A - 基于虚拟现实的控制器光球追踪方法和虚拟现实设备 - Google Patents
基于虚拟现实的控制器光球追踪方法和虚拟现实设备 Download PDFInfo
- Publication number
- CN113516681A CN113516681A CN202010230449.2A CN202010230449A CN113516681A CN 113516681 A CN113516681 A CN 113516681A CN 202010230449 A CN202010230449 A CN 202010230449A CN 113516681 A CN113516681 A CN 113516681A
- Authority
- CN
- China
- Prior art keywords
- information
- position point
- determining
- point
- ball
- 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
- 238000000034 method Methods 0.000 title claims abstract description 77
- 230000003287 optical effect Effects 0.000 claims abstract description 134
- 210000000988 bone and bone Anatomy 0.000 claims description 41
- 238000006073 displacement reaction Methods 0.000 claims description 39
- 230000001133 acceleration Effects 0.000 claims description 12
- 238000005259 measurement Methods 0.000 claims description 8
- 230000005484 gravity Effects 0.000 claims description 6
- 230000003993 interaction Effects 0.000 abstract description 5
- 238000012545 processing Methods 0.000 description 76
- 210000003128 head Anatomy 0.000 description 19
- 230000015654 memory Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 12
- 230000008859 change Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 238000009499 grossing Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 238000003672 processing method Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 239000003086 colorant Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 210000000707 wrist Anatomy 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/016—Input arrangements with force or tactile feedback as computer generated output to the user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供一种基于虚拟现实的控制器光球追踪方法、装置、设备及存储介质,所述方法包括:根据光球的前一个位置点的第一姿态信息,确定与所述前一个位置点相邻的后一个位置点的第二姿态信息;根据所述前一个位置点的第一位置信息、所述第一姿态信息和所述第二姿态信息,确定所述后一个位置点的第二位置信息;根据所述第二位置信息,生成并输出与所述控制器对应的虚拟目标的当前显示位置。该方法能够提高光球追踪定位的准确度和精度,能够快速对光球进行追踪定位,提高用户与虚拟现实环境的交互速度,提升用户体验。
Description
技术领域
本申请涉及仿真技术领域,尤其涉及一种基于虚拟现实的控制器光球追踪方法和虚拟现实设备。
背景技术
随着虚拟现实技术的发展,虚拟现实技术已经应用到生产和生活中。用户可以佩戴虚拟现实设备,进而完成虚拟现实的操作。在虚拟现实设备中会设置有控制器,控制器也可以称为手柄;控制器可以发出光球;进而需要追球光球位置,去完成目标的定位,以完成虚拟现实的操作。
现有技术中,控制器可以发出可见光;可以根据控制器发出的可见光,获取拍摄图像,然后对拍摄图像进行图像处理,得到光球的位置点,进而对目标进行定位。
然而现有技术中,是完全依据图像处理的方式去确定出光球的位置,图像处理的方式容易受到环境因素、图像采集单元本身的因素的干扰,进而造成所得到的光球的位置点是不准确的,从而导致目标定位错误或者定位延迟。
发明内容
本申请提供一种基于虚拟现实的控制器光球追踪方法和虚拟现实设备,用以解决现有光球追踪技术中存在的定位错误或延迟的问题。
第一方面,本申请提供一种基于虚拟现实的控制器光球追踪方法,所述方法包括:
根据光球的前一个位置点的第一姿态信息,确定与所述前一个位置点相邻的后一个位置点的第二姿态信息;
根据所述前一个位置点的第一位置信息、所述第一姿态信息和所述第二姿态信息,确定所述后一个位置点的第二位置信息;
根据所述第二位置信息,生成并输出与所述控制器对应的虚拟目标的当前显示位置。
进一步地,根据所述前一个位置点的第一位置信息、所述第一姿态信息和所述第二姿态信息,确定所述后一个位置点的第二位置信息,包括:
根据所述第一姿态信息,确定所述光球位于所述前一个位置点时的第一预测位置,其中,所述第一预测位置表征所述光球位于所述前一个位置点时,相对于初始位置点的位置;
根据所述第二姿态信息,确定所述光球位于所述后一个位置点时的第二预测位置,其中,所述第二预测位置表征所述光球位于所述后一个位置点时,相对于初始位置点的位置;
根据所述第二预测位置和所述第一预测位置,确定所述光球的移动位移,其中,所述移动位移表征所述光球从所述前一个位置点移动至所述后一个位置点的位移;
根据所述移动位移和所述第一位置信息,确定所述第二位置信息。
进一步地,根据所述第一姿态信息,确定所述光球位于所述前一个位置点时的第一预测位置,包括:
根据所述第一姿态信息和预设的骨关节模型,确定所述第一预测位置,其中,所述骨关节模型用于指示人体关节的移动关系;
根据所述第二姿态信息,确定所述光球位于所述后一个位置点时的第二预测位置,包括:
根据所述第二姿态信息和所述骨关节模型,确定所述第二预测位置。
进一步地,所述骨关节模型中包括预设的移动半径;根据所述第一姿态信息和预设的骨关节模型,确定所述第一预测位置,包括:
根据所述第一姿态信息、所述移动半径、预设的第一移动时间,确定所述第一预测位置,其中,所述第一移动时间为所述光球从所述初始位置点移动至所述前一个位置点所需的时间;
根据所述第二姿态信息和所述骨关节模型,确定所述第二预测位置,包括:
根据所述第二姿态信息、所述移动半径、预设的第二移动时间,确定所述第二预测位置,其中,所述第二移动时间为所述光球从所述初始位置点移动至所述后一个位置点所需的时间。
进一步地,根据光球的前一个位置点的第一姿态信息,确定与所述前一个位置点相邻的后一个位置点的第二姿态信息,包括:
获取惯性测量单元所检测到的姿态数据;
根据所述第一姿态信息、所述姿态数据以及预设的移动时间,确定所述第二姿态信息,其中,所述移动时间为所述光球从所述前一个位置点移动至所述后一个位置点所需的时间。
进一步地,根据所述第一姿态信息、所述姿态数据以及预设的移动时间,确定所述第二姿态信息,包括:
根据所述姿态数据和所述移动时间,确定移动角度;
根据所述移动角度和所述第一姿态信息,确定所述第二姿态信息。
进一步地,所述姿态数据为以下的任意一种:旋转角速度、重力加速度、偏航角、俯仰角。
进一步地,在根据光球的前一个位置点的第一姿态信息,确定与所述前一个位置点相邻的后一个位置点的第二姿态信息之前,所述方法还包括:
获取光球的前一个位置点的第一位置信息和第一姿态信息;
其中,获取光球的前一个位置点的第一位置信息,包括:
获取图像,其中,所述图像为所述光球位于所述前一个位置点时采集单元所采集的图像;
根据所述图像,确定所述光球在所述图像中的位置,以得到所述第一位置信息。
进一步地,在根据所述第二位置信息,生成并输出与所述控制器对应的虚拟目标的当前显示位置之前,还包括:
根据预存的光球的历史位置点的位置信息,对所述第二位置信息进行平滑处理,得到平滑后的第二位置信息。
进一步地,所述方法还包括:
根据所述第二位置信息和所述第二姿态信息,生成并输出光球的当前位姿信息。
第二方面,本申请提供一种基于虚拟现实的控制器光球追踪装置,所述装置包括:
第一处理单元,用于根据光球的前一个位置点的第一姿态信息,确定与所述前一个位置点相邻的后一个位置点的第二姿态信息;
第二处理单元,用于根据所述前一个位置点的第一位置信息、所述第一姿态信息和所述第二姿态信息,确定所述后一个位置点的第二位置信息;
第三处理单元,用于根据所述第二位置信息,生成并输出与所述控制器对应的虚拟目标的当前显示位置。
进一步地,所述第二处理单元,包括:
第一处理子单元,用于根据所述第一姿态信息,确定所述光球位于所述前一个位置点时的第一预测位置,其中,所述第一预测位置表征所述光球位于所述前一个位置点时,相对于初始位置点的位置;
第二处理子单元,用于根据所述第二姿态信息,确定所述光球位于所述后一个位置点时的第二预测位置,其中,所述第二预测位置表征所述光球位于所述后一个位置点时,相对于初始位置点的位置;
第三处理子单元,用于根据所述第二预测位置和所述第一预测位置,确定所述光球的移动位移,其中,所述移动位移表征所述光球从所述前一个位置点移动至所述后一个位置点的位移;
第四处理子单元,用于根据所述移动位移和所述第一位置信息,确定所述第二位置信息。
进一步地,所述第一处理子单元,包括:
第一处理模块,用于根据所述第一姿态信息和预设的骨关节模型,确定所述第一预测位置,其中,所述骨关节模型用于指示人体关节的移动关系;
所述第二处理子单元,包括:
第二处理模块,用于根据所述第二姿态信息和所述骨关节模型,确定所述第二预测位置。
进一步地,所述骨关节模型中包括预设的移动半径;所述第一处理模块,包括:
第一处理子模块,用于根据所述第一姿态信息、所述移动半径、预设的第一移动时间,确定所述第一预测位置,其中,所述第一移动时间为所述光球从所述初始位置点移动至所述前一个位置点所需的时间;
所述第二处理模块,包括:
第二处理子模块,用于根据所述第二姿态信息、所述移动半径、预设的第二移动时间,确定所述第二预测位置,其中,所述第二移动时间为所述光球从所述初始位置点移动至所述后一个位置点所需的时间。
进一步地,所述第一处理单元,包括:
第五处理子单元,用于获取惯性测量单元所检测到的姿态数据;
第六处理子单元,用于根据所述第一姿态信息、所述姿态数据以及预设的移动时间,确定所述第二姿态信息,其中,所述移动时间为所述光球从所述前一个位置点移动至所述后一个位置点所需的时间。
进一步地,所述第六处理子单元,包括:
第三处理模块,用于根据所述姿态数据和所述移动时间,确定移动角度;
第四处理模块,用于根据所述移动角度和所述第一姿态信息,确定所述第二姿态信息。
进一步地,所述姿态数据为以下的任意一种:旋转角速度、重力加速度、偏航角、俯仰角。
进一步地,所述装置还包括获取单元,用于在第一处理单元根据光球的前一个位置点的第一姿态信息,确定与所述前一个位置点相邻的后一个位置点的第二姿态信息之前,获取光球的前一个位置点的第一位置信息和第一姿态信息;
其中,所述获取单元包括:
获取子单元,用于获取图像,其中,所述图像为所述光球位于所述前一个位置点时采集单元所采集的图像;
第七处理子单元,用于根据所述图像,确定所述光球在所述图像中的位置,以得到所述第一位置信息。
进一步地,所述装置还包括:
第四处理单元,用于在所述第三处理单元根据所述第二位置信息,生成并输出与所述控制器对应的虚拟目标的当前显示位置之前,根据预存的光球的历史位置点的位置信息,对所述第二位置信息进行平滑处理,得到平滑后的第二位置信息。
进一步地,所述装置还包括:
第五处理单元,用于根据所述第二位置信息和所述第二姿态信息,生成并输出光球的当前位姿信息。
第三方面,本申请提供一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面中任一项所述的方法。
第四方面,本申请提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行第一方面中任一项所述的方法。
第五方面,本申请提供一种虚拟现实设备,所述虚拟现实设备包括:
显示屏,所述显示屏用于显示图像;
处理器,所述处理器被配置为:
根据控制器上光球的前一位置点的第一姿态信息,确定与所述前一位置点相邻的后一个位置点的第二姿态信息;
根据前一位置点的第一位置信息、所述第一姿态信息和所述第二姿态信息,确定后一个位置点的第二位置信息;
根据所述第二位置信息,确定控制器的位置,进而实现画面的显示。
进一步地,所述处理器被配置为:
接收控制器发送的姿态数据,根据所述第一姿态信息、所述姿态数据确定所述第二姿态信息。
本申请提供的基于虚拟现实的控制器光球追踪方法,通过根据光球的前一个位置点的第一姿态信息,确定与前一个位置点相邻的后一个位置点的第二姿态信息;根据前一个位置点的第一位置信息、第一姿态信息和第二姿态信息,确定后一个位置点的第二位置信息;根据第二位置信息,生成并输出与控制器对应的虚拟目标的当前显示位置。利用光球在前一个位置点的位置信息和姿态信息,来预测光球在后一个位置点的位置信息,有效克服了图像处理方式易受光球所处环境的背景颜色影响的问题,能够提高光球追踪定位的准确度和精度,同时,由于无需在后一个位置点处对光球进行图像采集和图像处理,避免了图像采集和图像处理过程导致的延迟、卡顿等问题,能够快速对光球进行追踪定位,提高用户与虚拟现实环境的交互速度,提升用户体验。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种基于虚拟现实的控制器光球追踪方法的流程示意图;
图1a为本申请实施例提供的一种装备了光球的控制器的示意图;
图1b为本申请实施例提供的一种光球运动轨迹示意图;
图2为本申请实施例提供的又一种基于虚拟现实的控制器光球追踪方法的流程示意图;
图2a为本申请实施例提供的一种人体头部以颈部为中心做上下旋转运动的示意图;
图2b为本申请实施例提供的一种人体眼部以头部枕骨为中心做左右旋转运动的示意图;
图2c为本申请实施例提供的一种人体手臂以手肘为中心做旋转运动的示意图;
图2d为本申请实施例提供的光球由J点移动到K点的示意图;
图3为本申请实施例提供的一种基于虚拟现实的控制器光球追踪装置的结构示意图;
图4为本申请实施例提供的又一种基于虚拟现实的控制器光球追踪装置的结构示意图;
图5为本申请实施例提供的一种基于虚拟现实的控制器光球追踪设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
首先对本申请所涉及的名词进行解释:
光球:虚拟现实技术中用于对目标进行追踪定位的可发光球体,发光色可以是饱和度较高的可见光颜色,也可以是红外光,通常装备在控制器上。
姿态:物体在三维空间中的姿态、旋转,用旋转矩阵、欧拉角、四元素来表示。
惯性传感器:一种主要用于检测和测量加速度、倾斜、冲击、振动、旋转和多自由度(DoF)运动的传感器,是解决导航、定向和运动载体控制的重要部件。通常包括“陀螺仪”、“加速度计”和“磁力计”,具体如下:
(1)陀螺仪,可测得角速度,通过积分角速度即可得到姿态,但积分过程中会产生误差,随着时间的增加,误差会累积,最终导致出现明显的姿态偏差;
(2)加速度计,可测得设备的加速度,其中包含重力信息,因此,可利用加速度计数据矫正与重力方向相关的姿态偏差,即利用加速度计可矫正roll、pitch的角度偏差;
(3)磁力计,由磁力计可计算得到偏航角(yaw),依此矫正姿态。
本申请具体的应用场景:随着虚拟现实技术的发展,虚拟现实技术已经应用到生产和生活中。用户可以佩戴虚拟现实设备,进而完成虚拟现实的操作。在虚拟现实设备中会设置有控制器,控制器也可以称为手柄;控制器装备有光球;进而需要追球光球位置,去完成目标的定位,以完成虚拟现实的操作。例如,用户可通过挥动装备有光球的手持控制器来控制虚拟现实世界中的角色完成挥手动作。
现有技术中,控制器可以发出可见光;可以根据控制器发出的可见光,获取拍摄图像,然后对拍摄图像进行图像处理,得到光球的位置点,进而对目标进行定位。
然而现有技术中,是完全依据图像处理的方式去确定出光球的位置,图像处理的方式容易受到环境因素、图像采集单元本身的因素的干扰,进而造成所得到的光球的位置点是不准确的,从而导致目标定位错误或者定位延迟。例如,当光球的发出的可见光的颜色为红色,光球所处环境中具有红色的背景颜色时,可能会导致图像采集单元无法准确采集到光球的位置,造成对光球定位不准确的问题;同时,图像采集设备需要对光球发出的红色光和红色的背景颜色进行识别区分,导致光球定位较慢,造成卡顿、延迟。
本申请提供的基于虚拟现实的控制器光球追踪方法,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1为本申请实施例提供的一种基于虚拟现实的控制器光球追踪方法的流程示意图,如图1所示,该方法包括:
步骤101、根据光球的前一个位置点的第一姿态信息,确定与前一个位置点相邻的后一个位置点的第二姿态信息。
在本实施例中,具体地,本实施例的执行主体为终端设备或者设置在终端设备上的服务器、或者控制器、或者其他可以执行本实施例的装置或设备,本实施例以执行主体为设置在终端设备上的应用软件为例进行说明,此处的终端设备可以是VR设备。
虚拟现实技术中,通常利用可发光的光球对一个空间范围内的运动目标进行定位追踪,例如,可以利用用户持有或佩戴的带有可发光光球的控制器来实现对用户运动或动作的追踪定位,光球的位置即为用户的位置或者用户佩戴有光球的身体部位的位置,光球的运动轨迹即为用户的运动轨迹或者用户佩戴有光球的身体部位的动作轨迹。图1a为本实施例提供的一种装备了光球的控制器的示意图,如图1a所示,控制器可以装备有不同颜色的光球,不同颜色的光球能够代表不同的用户或者用户不同的身体部位。
本实施例以用户自身保持原位不动,用户的部分身体(例如头部、眼部、手臂等)佩戴带有光球的控制器并进行不同动作为例来进行说明。当检测到光球从前一个位置点变换到后一个位置点时,说明用户佩戴有该光球的身体部位也从前一个位置点移动到后一个位置点。示例性地,用户可以头部佩戴带有光球的控制器,当用户的头部以颈部为中心进行上、下旋转时,光球也随用户头部在空间中做相应的旋转运动,检测光球的位置变化情况,就能间接检测用户头部做旋转运动时的位置变化情况;或者,用户可以眼部佩戴带有光球的控制器,当用户的眼部围绕用户头部的枕骨做左、右旋转时,光球也随用户眼部在空间中做相应的旋转运动,检测光球的位置变化情况,就能间接检测用户眼部做旋转运动时的位置变化情况;再或者,用户可以手臂佩戴带有光球的控制器,当用户的手臂围绕手肘旋转时,光球也随用户手臂在空间中做相应的旋转运动,检测光球的位置变化情况,就能间接检测用户手臂做旋转运动时的位置变化情况。
在本实施例中,具体地,光球从前一个位置点移动到后一个位置点之后,光球的位置信息和姿态信息均会发生变化,为了避免利用图像识别技术定位光球位置导致的操作延时、卡顿失败等情况,本实施例中利用光球在前一个位置点的第一姿态信息来预测光球在后一个位置点的第二姿态信息,无需再次利用图像识别技术对光球在后一个位置点的位置信息进行识别处理。
本实施例中所说的“前一个位置点”和“后一个位置点”是相邻两个位置点,可以为取自光球运动轨迹上的任意两个相邻位置点,并不局限于光球运动轨迹的起始位置点和结束位置点,例如,可以是光球运动轨迹上每间隔预设时间dt的任意两个位置点。其中,预设时间dt可以根据光球位置追踪精度的要求来进行设置,例如可以是10ms、20ms等。
根据光球的前一个位置点的第一姿态信息,确定与前一个位置点相邻的后一个位置点的第二姿态信息的方法,可以是本领域内的常规方法,例如可以是姿态解算算法。示例性地,图1b是本实施例提供的一种光球运动轨迹示意图,如图1b所示,A点和B点是光球运动轨迹上的相邻两个位置点,A点是前一个位置点,B点是后一个位置点,光球在A点时的姿态信息为Q0,则可以根据下式Ⅰ和式Ⅱ解算光球在B点时的姿态信息Qt:
Qt=Qo*Δq 式Ⅰ;
Δq=ω*dt 式Ⅱ;
其中,ω是旋转角速度,dt是预设时间间隔。
步骤102、根据前一个位置点的第一位置信息、第一姿态信息和第二姿态信息,确定后一个位置点的第二位置信息。
在本实施例中,具体地,根据第一姿态信息和第二姿态信息,计算并确定光球从相邻两个位置点的前一个位置点移动到后一个位置点的位移Δl,然后根据前一个位置点的第一位置信息和位移Δl计算并确定光球在后一个位置点的第二位置信息。
本实施例的目的是利用光球在相邻两个位置点的前一个位置点处的第一位置信息和第一姿态信息,预测光球在后一个位置点处的第二位置信息,无需对光球在后一个位置点处的第二位置信息进行图像识别扫描,可以有效克服利用图像识别技术识别定位光球在后一个位置点处的第二位置信息而导致的操作延时、卡顿失败等问题。
步骤103、根据第二位置信息,生成并输出与控制器对应的虚拟目标的当前显示位置。
在本实施例中,具体地,根据光球在现实空间中的第二位置信息,生成并输出与控制器对应的虚拟目标的当前显示位置,其中,可以在VR显示器上输出与控制器对应的虚拟目标的当前显示位置,也可以在虚拟现实空间中输出与控制器对应的虚拟目标的当前显示位置。
根据第二位置信息,在VR显示器和/或虚拟现实空间中生成并输出与控制器对应的虚拟目标的当前显示位置的方法可以为本领域的常规方法,本实施例在此不再赘述。
本实施例中,通过根据光球的前一个位置点的第一姿态信息,确定与前一个位置点相邻的后一个位置点的第二姿态信息;根据前一个位置点的第一位置信息、第一姿态信息和第二姿态信息,确定后一个位置点的第二位置信息;根据第二位置信息,生成并输出与控制器对应的虚拟目标的当前显示位置。利用光球在前一个位置点的位置信息和姿态信息,来预测光球在后一个位置点的位置信息,有效克服了图像处理方式易受光球所处环境的背景颜色影响的问题,能够提高光球追踪定位的准确度和精度,同时,由于无需在后一个位置点处对光球进行图像采集和图像处理,避免了图像采集和图像处理过程导致的延迟、卡顿等问题,能够快速对光球进行追踪定位,提高用户与虚拟现实环境的交互速度,提升用户体验。
图2为本申请实施例提供的又一种基于虚拟现实的控制器光球追踪方法的流程示意图,如图2所示,该方法包括:
步骤201、获取光球的前一个位置点的第一位置信息和第一姿态信息。
可以利用摄像机和图像识别技术获取光球的前一个位置点的第一位置信息,具体为:利用摄像机获取光球在前一个位置点处时的图像数据,并利用图像识别技术对获取到的图像数据进行识别处理,获取光球圆心的位置,并将光球圆心的位置转换为三维坐标,得到光球的第一位置信息。图像识别技术是本领域内的常规技术,本实施例在此不再赘述。
可以利用惯性传感器IMU采集光球的前一个位置点处时的IMU数据,并对采集到的IMU数据进行处理,得到光球的第一姿态信息。其中,可以利用姿态解算算法对采集到的IMU数据进行处理,得到光球的第一姿态信息。光球的第一姿态信息至少包括旋转角速度、加速度或者偏航角。示例性地,可以利用惯性传感器IMU采集光球在前一个位置点处时的重力加速度,根据重力加速度获取旋转角速度。
可选地,获取光球的前一个位置点的第一位置信息,包括:获取图像,其中,图像为光球位于前一个位置点时采集单元所采集的图像;根据图像,确定光球在图像中的位置,以得到第一位置信息。其中,采集单元可以是摄像机,为了获得光球在三维空间中的位置信息,可以设置多台摄像机同时对光球进行图像采集,然后通过空间三角测量的算法,确定光球在前一个位置点的第一位置信息。在利用摄像机采集光球图像以获得光球的位置信息之前,需要利用已知位置和姿态的标记物来对摄像机的位置和姿态进行预先标定。
可选地,获取光球的前一个位置点的第一姿态信息,包括:利用陀螺仪获取光球在前一个位置点的角速度;利用加速度计获取光球在前一个位置点的加速度;利用磁力计获取光球在前一个位置点的偏航角。上述利用惯性传感器获取第一姿态信息的方法均可以是领域内的常规方法,本实施例在此不再赘述。
可选地,本实施例还包括存储获取到的第一位置信息的操作。将第一位置信息存储,以供后续步骤使用。
步骤202、获取惯性测量单元所检测到的姿态数据;根据第一姿态信息、姿态数据以及预设的移动时间,确定第二姿态信息,其中,移动时间为光球从前一个位置点移动至后一个位置点所需的时间。
在本实施例中,具体地,惯性测量单元包括惯性传感器,姿态数据包括以下的任意一种:旋转角速度、重力加速度、偏航角、俯仰角,本实施例以姿态数据为旋转角速度来进行说明。
根据第一姿态信息、姿态数据以及预设的移动时间,确定第二姿态信息,包括:根据姿态数据和移动时间,确定移动角度;根据移动角度和第一姿态信息,确定第二姿态信息。其中,移动时间是指光球从前一个位置点移动至后一个位置点所需的时间,移动时间的长短可以根据实际需要来进行设置,例如,可以根据对光球追踪定位的精度的实际需求来对移动时间进行设置,当对光球的追踪定位精度要求较高时,可以设置较短的移动时间,反之,当对光球的追踪定位精度要求较低时,可以设置较长的移动时间,一般情况下,移动时间可以设置为10ms-20ms。移动角度是指光球在移动时间内做旋转运转所移动的角度。
示例性地,本实施例以姿态数据为旋转角速度ω来进行说明,移动时间预设为dt,则移动角度为Δq=ω*dt;假设光球在前一个位置点的第一姿态信息为Q0,则光球在后一个位置点的第二姿态信息Qt为Qt=Qo*Δq。
步骤203、根据第一姿态信息,确定光球位于前一个位置点时的第一预测位置,其中,第一预测位置表征光球位于前一个位置点时,相对于初始位置点的位置。
在本实施例中,具体地,根据第一姿态信息,确定光球位于前一个位置点时的第一预测位置,包括:根据第一姿态信息和预设的骨关节模型,确定第一预测位置,其中,骨关节模型用于指示人体关节的移动关系。
具体地,骨关节模型用于指示人体关节的位置或移动轨迹随时间的变化情况,当人体关节处佩戴有光球时,骨关节模型也可用于指示光球的位置或移动轨迹随时间的变化情况。骨关节模型中包括预设的移动半径;根据第一姿态信息和预设的骨关节模型,确定第一预测位置,包括:根据第一姿态信息、移动半径、预设的第一移动时间,确定第一预测位置,其中,第一移动时间为光球从初始位置点移动至前一个位置点所需的时间。
本实施例中的骨关节模型与人体关节位置相适应,不同的人体关节对应不同的骨关节模型。示例性地,本实施例中的骨关节模型包括头部模型、眼部模型和手臂模型。本实施例以二维平面xoy坐标系内的人体头部、眼部和手臂为例来对骨关节模型进行举例说明。
图2a为本实施例提供的一种人体头部以颈部为中心做上下旋转运动的示意图,如图2a所示,O1点表示人体颈部的位置,L点、M点和N点表示人体头部的位置;人体头部以旋转角速度ω1从L点经M点旋转到N点,L点为旋转运动的起始位置点,M点和N点分别为相邻两个位置点中的前一个位置点前一个位置点和后一个位置点;人体头部与人体颈部之间的距离r1为旋转运动轨迹的半径。利用本实施例的方法确定光球在M点时的第一预测位置M(xM,yM):
θM=ω1*dt1 式(1)
xM=r1*sinθM=r1*sin(ω1*dt1) 式(2)
yM=r1*cosθM=r1*cos(ω1*dt1) 式(3)
上述式(1)-式(3)即为本实施例的头部模型,其中,ω1为人体头部在M点时的第一姿态信息,r1为移动半径,dt1为预设的第一移动时间。
图2b为本实施例提供的一种人体眼部以头部枕骨为中心做左右旋转运动的示意图,如图2b所示,O2点表示头部枕骨的位置,F点、G点和H点表示人体眼部的位置;人体眼部以旋转角速度ω2从F点经G点旋转到H点,F点为旋转运动的起始位置点,G点和H电分别为相邻两个位置点中的前一个位置点和后一个位置点;人体眼部与头部枕骨之间的距离r2为旋转运动轨迹的半径。利用本实施例的方法确定光球在G点时的第一预测位置G(xG,yG):
θG=ω2*dt2 式(4)
上述式(4)-式(5)即为本实施例的眼部模型,其中,ω2为人体眼部在G点时的第一姿态信息,r2为移动半径,dt2为预设的第一移动时间。
图2c为本实施例提供的一种人体手臂以手肘为中心做旋转运动的示意图,如图2c所示,O3点表示手肘的位置,C点、D点和E点表示人体手臂的为位置;人体手臂以旋转角速度ω3从C点经D点旋转到E点,C点为旋转运动的起始位置点,D点和E点分别为相邻两个位置点中的前一个位置点和后一个位置点;人体手臂与手肘之间的距离r3为旋转运动轨迹的半径。利用本实施例的方法确定光球在D点时的第一预测位置D(xD,yD):
θD=ω3*dt3 式(7)
xD=r3*sin(θD+β)=r3*sin(ω3*dt3+β) 式(8)
yD=r3*cos(θD+β)=r3*cos(ω3*dt3+β) 式(9)
上述式(7)-式(9)即为本实施例的手臂模型,其中,ω3为人体手臂在D点时的第一姿态信息,r3为移动半径,dt3为预设的第一移动时间,β为起始位置点C和手肘位置O3的连线与竖直方向的夹角。
上述式(1)-式(3)、式(4)-式(5)和式(7)-式(9)仅是对二维平面xoy坐标系内的人体头部、眼部和手臂的骨关节模型进行举例说明,利用本实施例中上述的方法还可以确定人体其它部位的骨关节模型,例如人体手腕部位的手腕模型等,本实施例在此不再赘述。
对于三维空间xoyz坐标系内的人体关节的骨关节模型,可以先将人体关节在三维空间xoyz坐标系内的位置拆解成二维平面xoy坐标系、xoz坐标系和yoz坐标系内的位置,并利用上述方法分别确定人体关节在上述三个二维平面内的骨关节模型,再对三个骨关节模型进行合并,即可得到人体关节在三维空间xoyz坐标系内的骨关节模型。本实施例中通过式(10)来综合表示人体关节的骨关节模型:
p=f(q)=q*(0,ln,0)*q-1 式(10)
其中,p为人体关节的位置信息,q为人体关节在某一位置点处时的姿态信息,q-1为q四元数形式的逆,ln为人体关节的移动半径长度。
步骤204、根据第二姿态信息,确定光球位于后一个位置点时的第二预测位置,其中,第二预测位置表征光球位于后一个位置点时,相对于初始位置点的位置。
在本实施例中,具体地,根据第二姿态信息,确定光球位于后一个位置点时的第二预测位置,包括:根据第二姿态信息和骨关节模型,确定第二预测位置。
根据第二姿态信息和骨关节模型,确定第二预测位置,包括:根据第二姿态信息、移动半径、预设的第二移动时间,确定第二预测位置,其中,第二移动时间为光球从初始位置点移动至后一个位置点所需的时间。
对于同一个人体关节来说,骨关节模型并不会随着人体关节的移动而发生改变,也就是说,确定光球在相邻两个位置点处的第一预测模型和第二预测模型时所使用的骨关节模型相同。
步骤204的方法和原理与步骤203的方法和原理相似或相同,参见步骤203的相关记载,此处不再赘述。
步骤205、根据第二预测位置和第一预测位置,确定光球的移动位移,其中,移动位移表征光球从前一个位置点移动至后一个位置点的位移。
在本实施例中,具体地,根据第二预测位置和第一预测位置,在空间坐标系中计算第二预测位置和第一预测位置之间的距离,即为光球从前一个位置点移动至后一个位置点的位移。
示例性地,图2d是本实施例提供的光球由J点移动到K点的示意图,如图2d所示,J点和K点分别是相邻两个位置点中的前一个位置点和后一个位置点,利用本实施例的方法计算光球从J点移动至K点的位移:
通过式(10)确定光球分别在J点和K点时的第一预测位置pJ和第二预测位置pK为:
pJ=f(qJ)=qJ*(0,ln,0)*qJ -1
pK=f(qK)=qK*(0,ln,0)*qK -1
则,光球从J点移动至K点的位移Δl为:
Δl=pK-pJ=qK*(0,ln,0)*qK -1-qJ*(0,ln,0)*qJ -1
上述方法仅用于对本实施例的解释说明,并不用于限制本申请,本申请还可采用其它方法确定光球的移动位移,本实施例不再赘述。
步骤206、根据移动位移和第一位置信息,确定第二位置信息;根据第二位置信息,生成并输出与控制器对应的虚拟目标的当前显示位置。
在本实施例中,具体地,第一位置信息是光球在前一个位置点时的真实位置信息,将光球在前一个位置点的第一位置信息与移动位移综合叠加,即可得到光球在后一个位置点的第二位置信息。
示例性地,在图2d中,假设光球在J点时的第一位置信息为p,则利用本实施例的方法确定光球在K点时的第二位置信息pt为:
pt=p+Δl=p+qK*(0,ln,0)*qK -1-qJ*(0,ln,0)*qJ -1
上述方法仅用于对本实施例的解释说明,并不用于限制本申请,本申请还可采用其它方法确定光球的第二位置信息,本实施例不再赘述。
可选地,在根据第二位置信息,生成并输出与控制器对应的虚拟目标的当前显示位置之前,还包括:根据预存的光球的历史位置点的位置信息,对第二位置信息进行平滑处理,得到平滑后的第二位置信息。
对第二位置信息进行平滑处理,可以减小图像的噪声或者失真,本实施例对第二位置信息进行平滑处理的方法可以是本领域内的常规方法,例如可以是均值滤波法、中值滤波法、高斯滤波法或者双边滤波法等。
可选地,本申请的方法还包括:根据第二位置信息和第二姿态信息,生成并输出光球的当前位姿信息。其中,位姿信息包括位置信息和姿态信息,生成并输出光球的当前位姿信息,以便后续对光球继续进行追踪定位时引用该位姿信息。
本实施例中,通过获取光球的前一个位置点的第一位置信息和第一姿态信息;获取惯性测量单元所检测到的姿态数据;根据第一姿态信息、姿态数据以及预设的移动时间,确定第二姿态信息,其中,移动时间为光球从前一个位置点移动至后一个位置点所需的时间;根据第一姿态信息,确定光球位于前一个位置点时的第一预测位置,其中,第一预测位置表征光球位于前一个位置点时,相对于初始位置点的位置;根据第二姿态信息,确定光球位于后一个位置点时的第二预测位置,其中,第二预测位置表征光球位于后一个位置点时,相对于初始位置点的位置;根据第二预测位置和第一预测位置,确定光球的移动位移,其中,移动位移表征光球从前一个位置点移动至后一个位置点的位移;根据移动位移和第一位置信息,确定第二位置信息;根据第二位置信息,生成并输出与控制器对应的虚拟目标的当前显示位置。利用光球在前一个位置点的位置信息和姿态信息,来预测光球在后一个位置点的位置信息,有效克服了图像处理方式易受光球所处环境的背景颜色影响的问题,能够提高光球追踪定位的准确度和精度,同时,由于无需在后一个位置点处对光球进行图像采集和图像处理,避免了图像采集和图像处理过程导致的延迟、卡顿等问题,能够快速对光球进行追踪定位,提高用户与虚拟现实环境的交互速度,提升用户体验;进一步地,利用光球在前一个位置点处的第一预测位置和后一个位置点处的第二预测位置,来确定光球从前一个位置点移动自后一个位置点的移动位移,再根据实际测得的光球在前一个位置点的第一位置信息和该移动位移,确定光球在后一个位置点的第二位置信息,能进一步提高光球追踪定位的准确度和精度。
图3为本申请实施例提供的一种基于虚拟现实的控制器光球追踪装置的结构示意图,如图3所示,该装置包括:
第一处理单元1,用于根据光球的前一个位置点的第一姿态信息,确定与前一个位置点相邻的后一个位置点的第二姿态信息;
第二处理单元2,用于根据前一个位置点的第一位置信息、第一姿态信息和第二姿态信息,确定后一个位置点的第二位置信息;
第三处理单元3,用于根据第二位置信息,生成并输出与控制器对应的虚拟目标的当前显示位置。
本实施例中,通过根据光球的前一个位置点的第一姿态信息,确定与前一个位置点相邻的后一个位置点的第二姿态信息;根据前一个位置点的第一位置信息、第一姿态信息和第二姿态信息,确定后一个位置点的第二位置信息;根据第二位置信息,生成并输出与控制器对应的虚拟目标的当前显示位置。利用光球在前一个位置点的位置信息和姿态信息,来预测光球在后一个位置点的位置信息,有效克服了图像处理方式易受光球所处环境的背景颜色影响的问题,能够提高光球追踪定位的准确度和精度,同时,由于无需在后一个位置点处对光球进行图像采集和图像处理,避免了图像采集和图像处理过程导致的延迟、卡顿等问题,能够快速对光球进行追踪定位,提高用户与虚拟现实环境的交互速度,提升用户体验。
图4为本申请实施例提供的又一种基于虚拟现实的控制器光球追踪装置的结构示意图,在图3的基础上,如图4所示:
第二处理单元2,包括:
第一处理子单元21,用于根据第一姿态信息,确定光球位于前一个位置点时的第一预测位置,其中,第一预测位置表征光球位于前一个位置点时,相对于初始位置点的位置;
第二处理子单元22,用于根据第二姿态信息,确定光球位于后一个位置点时的第二预测位置,其中,第二预测位置表征光球位于后一个位置点时,相对于初始位置点的位置;
第三处理子单元23,用于根据第二预测位置和第一预测位置,确定光球的移动位移,其中,移动位移表征光球从前一个位置点移动至后一个位置点的位移;
第四处理子单元24,用于根据移动位移和第一位置信息,确定第二位置信息。
第一处理子单元21,包括:
第一处理模块211,用于根据第一姿态信息和预设的骨关节模型,确定第一预测位置,其中,骨关节模型用于指示人体关节的移动关系;
第二处理子单元22,包括:
第二处理模块221,用于根据第二姿态信息和骨关节模型,确定第二预测位置。
其中,骨关节模型中包括预设的移动半径;第一处理模块211,包括:
第一处理子模块2111,用于根据第一姿态信息、移动半径、预设的第一移动时间,确定第一预测位置,其中,第一移动时间为光球从初始位置点移动至前一个位置点所需的时间;
第二处理模块221,包括:
第二处理子模块2211,用于根据第二姿态信息、移动半径、预设的第二移动时间,确定第二预测位置,其中,第二移动时间为光球从初始位置点移动至后一个位置点所需的时间。
第一处理单元1,包括:
第五处理子单元11,用于获取惯性测量单元所检测到的姿态数据;
第六处理子单元12,用于根据第一姿态信息、姿态数据以及预设的移动时间,确定第二姿态信息,其中,移动时间为光球从前一个位置点移动至后一个位置点所需的时间。
第六处理子单元12,包括:
第三处理模块121,用于根据姿态数据和移动时间,确定移动角度;
第四处理模块122,用于根据移动角度和第一姿态信息,确定第二姿态信息。
其中,姿态数据为以下的任意一种:旋转角速度、重力加速度、偏航角、俯仰角。
该装置还包括获取单元4,用于在第一处理单元1根据光球的前一个位置点的第一姿态信息,确定与前一个位置点相邻的后一个位置点的第二姿态信息之前,获取光球的前一个位置点的第一位置信息和第一姿态信息;
其中,获取单元4包括:
获取子单元41,用于获取图像,其中,图像为光球位于前一个位置点时采集单元所采集的图像;
第七处理子单元42,用于根据图像,确定光球在图像中的位置,以得到第一位置信息。
该装置还包括:
第四处理单元5,用于在第三处理单元3根据第二位置信息,生成并输出与控制器对应的虚拟目标的当前显示位置之前,根据预存的光球的历史位置点的位置信息,对第二位置信息进行平滑处理,得到平滑后的第二位置信息。
该装置还包括:
第五处理单元6,用于根据第二位置信息和第二姿态信息,生成并输出光球的当前位姿信息。
本实施例中,通过获取光球的前一个位置点的第一位置信息和第一姿态信息;获取惯性测量单元所检测到的姿态数据;根据第一姿态信息、姿态数据以及预设的移动时间,确定第二姿态信息,其中,移动时间为光球从前一个位置点移动至后一个位置点所需的时间;根据第一姿态信息,确定光球位于前一个位置点时的第一预测位置,其中,第一预测位置表征光球位于前一个位置点时,相对于初始位置点的位置;根据第二姿态信息,确定光球位于后一个位置点时的第二预测位置,其中,第二预测位置表征光球位于后一个位置点时,相对于初始位置点的位置;根据第二预测位置和第一预测位置,确定光球的移动位移,其中,移动位移表征光球从前一个位置点移动至后一个位置点的位移;根据移动位移和第一位置信息,确定第二位置信息;根据第二位置信息,生成并输出与控制器对应的虚拟目标的当前显示位置。利用光球在前一个位置点的位置信息和姿态信息,来预测光球在后一个位置点的位置信息,有效克服了图像处理方式易受光球所处环境的背景颜色影响的问题,能够提高光球追踪定位的准确度和精度,同时,由于无需在后一个位置点处对光球进行图像采集和图像处理,避免了图像采集和图像处理过程导致的延迟、卡顿等问题,能够快速对光球进行追踪定位,提高用户与虚拟现实环境的交互速度,提升用户体验;进一步地,利用光球在前一个位置点处的第一预测位置和后一个位置点处的第二预测位置,来确定光球从前一个位置点移动自后一个位置点的移动位移,再根据实际测得的光球在前一个位置点的第一位置信息和该移动位移,确定光球在后一个位置点的第二位置信息,能进一步提高光球追踪定位的准确度和精度。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图5所示,是根据本申请实施例的基于虚拟现实的控制器光球追踪方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图5所示,该电子设备包括:一个或多个处理器501、存储器502,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图5中以一个处理器501为例。
存储器502即为本申请所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本申请所提供的基于虚拟现实的控制器光球追踪方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的基于虚拟现实的控制器光球追踪方法。
存储器502作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的基于虚拟现实的控制器光球追踪方法对应的程序指令/模块(例如,附图3所示的获取单元1、第一处理单元2和第二处理单元3)。处理器501通过运行存储在存储器502中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的基于虚拟现实的控制器光球追踪方法。
存储器502可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据基于虚拟现实的光球追踪的电子设备的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器502可选包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至基于虚拟现实的光球追踪的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
基于虚拟现实的光球追踪的方法的电子设备还可以包括:输入装置503和输出装置504。处理器501、存储器502、输入装置503和输出装置504可以通过总线或者其他方式连接,图5中以通过总线连接为例。
输入装置503可接收输入的数字或字符信息,以及产生与基于虚拟现实的光球追踪的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置504可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
在本申请实施例中,上述各实施例之间可以相互参考和借鉴,相同或相似的步骤以及名词均不再一一赘述。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (10)
1.一种基于虚拟现实的控制器光球追踪方法,其特征在于,所述方法包括:
根据光球的前一个位置点的第一姿态信息,确定与所述前一个位置点相邻的后一个位置点的第二姿态信息;
根据所述前一个位置点的第一位置信息、所述第一姿态信息和所述第二姿态信息,确定所述后一个位置点的第二位置信息;
根据所述第二位置信息,生成并输出与所述控制器对应的虚拟目标的当前显示位置。
2.根据权利要求1所述的方法,其特征在于,根据所述前一个位置点的第一位置信息、所述第一姿态信息和所述第二姿态信息,确定所述后一个位置点的第二位置信息,包括:
根据所述第一姿态信息,确定所述光球位于所述前一个位置点时的第一预测位置,其中,所述第一预测位置表征所述光球位于所述前一个位置点时,相对于初始位置点的位置;
根据所述第二姿态信息,确定所述光球位于所述后一个位置点时的第二预测位置,其中,所述第二预测位置表征所述光球位于所述后一个位置点时,相对于初始位置点的位置;
根据所述第二预测位置和所述第一预测位置,确定所述光球的移动位移,其中,所述移动位移表征所述光球从所述前一个位置点移动至所述后一个位置点的位移;
根据所述移动位移和所述第一位置信息,确定所述第二位置信息。
3.根据权利要求2所述的方法,其特征在于,根据所述第一姿态信息,确定所述光球位于所述前一个位置点时的第一预测位置,包括:
根据所述第一姿态信息和预设的骨关节模型,确定所述第一预测位置,其中,所述骨关节模型用于指示人体关节的移动关系;
根据所述第二姿态信息,确定所述光球位于所述后一个位置点时的第二预测位置,包括:
根据所述第二姿态信息和所述骨关节模型,确定所述第二预测位置。
4.根据权利要求3所述的方法,其特征在于,所述骨关节模型中包括预设的移动半径;根据所述第一姿态信息和预设的骨关节模型,确定所述第一预测位置,包括:
根据所述第一姿态信息、所述移动半径、预设的第一移动时间,确定所述第一预测位置,其中,所述第一移动时间为所述光球从所述初始位置点移动至所述前一个位置点所需的时间;
根据所述第二姿态信息和所述骨关节模型,确定所述第二预测位置,包括:
根据所述第二姿态信息、所述移动半径、预设的第二移动时间,确定所述第二预测位置,其中,所述第二移动时间为所述光球从所述初始位置点移动至所述后一个位置点所需的时间。
5.根据权利要求1所述的方法,其特征在于,根据光球的前一个位置点的第一姿态信息,确定与所述前一个位置点相邻的后一个位置点的第二姿态信息,包括:
获取惯性测量单元所检测到的姿态数据;
根据所述第一姿态信息、所述姿态数据以及预设的移动时间,确定所述第二姿态信息,其中,所述移动时间为所述光球从所述前一个位置点移动至所述后一个位置点所需的时间。
6.根据权利要求5所述的方法,其特征在于,根据所述第一姿态信息、所述姿态数据以及预设的移动时间,确定所述第二姿态信息,包括:
根据所述姿态数据和所述移动时间,确定移动角度;
根据所述移动角度和所述第一姿态信息,确定所述第二姿态信息。
7.根据权利要求5所述的方法,其特征在于,所述姿态数据为以下的任意一种:旋转角速度、重力加速度、偏航角、俯仰角。
8.根据权利要求1-7任一项所述的方法,其特征在于,在根据光球的前一个位置点的第一姿态信息,确定与所述前一个位置点相邻的后一个位置点的第二姿态信息之前,所述方法还包括:
获取光球的前一个位置点的第一位置信息和第一姿态信息;
其中,获取光球的前一个位置点的第一位置信息,包括:
获取图像,其中,所述图像为所述光球位于所述前一个位置点时采集单元所采集的图像;
根据所述图像,确定所述光球在所述图像中的位置,以得到所述第一位置信息。
9.一种虚拟现实设备,所述虚拟现实设备包括:
显示屏,所述显示屏用于显示图像;
处理器,所述处理器被配置为:
根据控制器上光球的前一位置点的第一姿态信息,确定与所述前一位置点相邻的后一个位置点的第二姿态信息;
根据前一位置点的第一位置信息、所述第一姿态信息和所述第二姿态信息,确定后一个位置点的第二位置信息;
根据所述第二位置信息,确定控制器的位置,进而实现画面的显示。
10.根据权利要求9所述的虚拟现实设备,其特征在于,
所述处理器被配置为:
接收控制器发送的姿态数据,根据所述第一姿态信息、所述姿态数据确定所述第二姿态信息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010230449.2A CN113516681A (zh) | 2020-03-27 | 2020-03-27 | 基于虚拟现实的控制器光球追踪方法和虚拟现实设备 |
PCT/CN2021/081910 WO2021190421A1 (zh) | 2020-03-27 | 2021-03-19 | 基于虚拟现实的控制器光球追踪方法和虚拟现实设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010230449.2A CN113516681A (zh) | 2020-03-27 | 2020-03-27 | 基于虚拟现实的控制器光球追踪方法和虚拟现实设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113516681A true CN113516681A (zh) | 2021-10-19 |
Family
ID=78060057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010230449.2A Pending CN113516681A (zh) | 2020-03-27 | 2020-03-27 | 基于虚拟现实的控制器光球追踪方法和虚拟现实设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113516681A (zh) |
-
2020
- 2020-03-27 CN CN202010230449.2A patent/CN113516681A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11093036B2 (en) | Tracking arm movements to generate inputs for computer systems | |
JP7273880B2 (ja) | 仮想オブジェクト駆動方法、装置、電子機器及び可読記憶媒体 | |
US10860091B2 (en) | Motion predictions of overlapping kinematic chains of a skeleton model used to control a computer system | |
US11009941B2 (en) | Calibration of measurement units in alignment with a skeleton model to control a computer system | |
US10521011B2 (en) | Calibration of inertial measurement units attached to arms of a user and to a head mounted device | |
US11474593B2 (en) | Tracking user movements to control a skeleton model in a computer system | |
US9785249B1 (en) | Systems and methods for tracking motion and gesture of heads and eyes | |
CN112652016B (zh) | 点云预测模型的生成方法、位姿估计方法及其装置 | |
US10540006B2 (en) | Tracking torso orientation to generate inputs for computer systems | |
US10976863B1 (en) | Calibration of inertial measurement units in alignment with a skeleton model to control a computer system based on determination of orientation of an inertial measurement unit from an image of a portion of a user | |
US10705113B2 (en) | Calibration of inertial measurement units attached to arms of a user to generate inputs for computer systems | |
US11009964B2 (en) | Length calibration for computer models of users to generate inputs for computer systems | |
US11079860B2 (en) | Kinematic chain motion predictions using results from multiple approaches combined via an artificial neural network | |
US11175729B2 (en) | Orientation determination based on both images and inertial measurement units | |
US11531392B2 (en) | Tracking upper arm movements using sensor modules attached to the hand and forearm | |
US11054923B2 (en) | Automatic switching between different modes of tracking user motions to control computer applications | |
WO2020009715A2 (en) | Tracking user movements to control a skeleton model in a computer system | |
CN113496168A (zh) | 手语数据采集方法、设备、存储介质 | |
CN113516681A (zh) | 基于虚拟现实的控制器光球追踪方法和虚拟现实设备 | |
WO2021190421A1 (zh) | 基于虚拟现实的控制器光球追踪方法和虚拟现实设备 | |
US20230011082A1 (en) | Combine Orientation Tracking Techniques of Different Data Rates to Generate Inputs to a Computing System | |
Chang et al. | Real-time Arm Motion Tracking and Hand Gesture Recognition Based on a Single Inertial Measurement Unit |
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 |