用于定位铰接关节的旋转的中心的方法与流程

文档序号:26396412发布日期:2021-08-24 16:06阅读:103来源:国知局
用于定位铰接关节的旋转的中心的方法与流程

本发明涉及计算机程序和系统的领域,并且具体地涉及在沉浸式环境中的数字人体建模、产品评论、人体工程学分析和验证的领域。



背景技术:

在沉浸式环境中,用户通过图形表示(通常被称为化身(avatar))与3d场景进行交互。在第一人称可视化中(用户看到他的化身的手臂,但看不到整个化身),或在第三人称可视化中(用户看到他的化身),必须尽可能精确地估计化身的手臂的长度。特别地,在人体工程学验证中,要求肢体长度的几毫米的精度。例如,对于具有紧急停止按钮的工作站的仿真,用户能否在沉浸式环境中够到该紧急停止按钮的能力至关重要,以便验证工作站。

因此,仅当从真实世界到虚拟世界的映射准确时,在虚拟沉浸式环境中的经验才有意义且现实。该方面在其中化身用于使用虚拟现实设备评估建模的对象原型的场景中也是相关的。在该场景中的基本要求中的一个是化身与其在现实世界中的对应物(人)的维度一致性。这可以通过利用引导化身的人的维度来修改化身的维度来实现。

然而,对人体骨骼结构进行建模很复杂。人体骨骼可以被视为一组骨头。铰接关节可以被定义为这些骨头中的一些骨头之间的相对的相互作用,这些相互作用包括骨头的滚动、平移和滑动运动。这些解剖学关节的行为从简单的固定轴旋转到非常复杂的多轴耦合运动变化。例如,考虑肩胛骨-肱骨节律,肩胛骨和肱骨以1/2的比率移动:当手臂外展180度时,肩胛骨发生60度的旋转,并且肱骨在肩点处发生120度的旋转。在本申请中,将认为关节的行为类似于旋转轴。实际上,本发明的目的不是确定用户的真实骨骼,而是对肢体的长度和铰接点进行建模。即使在这种简化的情况下,使用有限数量的跟踪器准确地捕获这些运动并将其映射到数字人体是一项困难的任务。

在一方面,可以通过将磁性和/或光学标记布置在人体的适当位置上来执行对人体结构的建模。文章“automaticjointparameterestimationfrommagneticmotioncapturedata”(jamesf.o’brien等人,proceedingsofthegraphicsinterface2000conference,2000年5月15-17日)公开了一种用于使用磁运动捕获数据来确定铰接层级的关节参数的技术。这种技术使得可以在没有外部测量的情况下确定人类主体的肢体长度、关节位置和传感器位置。根据该文章的表1,所公开的技术非常精确:对于上臂,在(用直尺)测量出的值与计算出的值之间的差平均等于2/3毫米。然而,该技术要求佩戴配备有传感器的运动捕获线束(harness),一旦已经完成建模,该运动线束对于沉浸式实验就是无用的。此外,这种解决方案的准确度通常链接到标记定位的准确度;因此,无法单独完成设置(通常由专家来执行),这是昂贵的且花费大量时间。

另一方面,与基于标记的系统相比,使用无标记跟踪系统的骨头长度估计不那么准确。无标记系统可以在(例如,用于视频游戏应用的)消费者级虚拟现实系统中找到。在那种情况下,用户输入他的大小,并且基于统计考虑推导出上肢的长度。然而,肢体的大小与长度之间没有真正的比例关系,高个子的人可能手臂短,反之亦然。因此,该技术是不准确的。

因此,需要提供一种快速且准确的无标记方法,该方法用于对沉浸式环境应用的用户的人体上肢或下肢进行建模,特别是用于定位连接上肢或下肢的骨头的铰接关节的旋转中心,并且还用于估计上肢或下肢的维度。



技术实现要素:

本发明的目的是一种用于定位连接用户的上肢或下肢的两块骨头或骨头集合的铰接关节的旋转中心的方法,包括以下步骤:

a)由用户执行骨头中的一块骨头或骨头集合围绕关节进行扫动的一系列重复移动,并且在所述系列期间同时获取骨头或骨头集合的3d位置,由此获得3d点云;

b)在包括另一骨头或骨头集合的末端的3d位置的3d搜索空间中计算被称为中心点的点,所述中心点是3d搜索空间的这样的搜索点:在考虑到该搜索点与3d点云的每个点之间的距离的集合时,其标准差最低;

c)将3d点云转换为平面;

d)将中心点投影到所述平面上,由此获得关节的旋转中心。

在优选实施例中:

-方法包括提供两个手持跟踪器的预备步骤;

-在步骤a)中,在握住手持跟踪器中的被称为移动跟踪器的一个手持跟踪器,并且被称为参考跟踪器的另一手持跟踪器被维持紧靠在另一骨头或骨头集合的末端的同时,执行一系列重复移动。

在优选实施例中,步骤b)包括通过以下步骤递归地细分3d搜索空间的子步骤:

b1)将3d搜索空间定义为具有预先定义的边缘长度的立方体,并且该立方体以参考跟踪器的3d位置为中心,该3d位置被称为参考点;

b2)从用户接收标识立方体的点的集合的输入,该点的集合与所述参考点一起构成搜索点的集合;

b3)针对每个搜索点,计算所述搜索点与3d点云的每个点之间的距离,并且推导出每个搜索点的标准差;

b4)在搜索点的集合中,标识标准差最低的至少一个搜索点;

b5)还通过将立方体的边缘长度减半,并且使立方体以标识出的搜索点为中心,反复进行步骤b1)、b2)、b3)和b4),直到立方体的边缘长度低于或等于预先定义的阈值为止,然后中心点对应于标识出的搜索点。

在优选实施例中,在步骤b2)中,将立方体细分为八个较小的立方体,并且搜索点的集合包括参考点或标识出的搜索点、小立方体中心、两个相邻的较小立方体的正方形的中心以及两个相邻的较小立方体的边缘的中点。

在优选实施例中,步骤c)包括以下子步骤:

c1)计算3d点云的点的协方差矩阵;

c2)计算协方差矩阵的特征值和特征向量;

c3)构造包围3d点云的矩形边界框,该边界框的定向对应于特征向量,该边界框的维度对应于特征值;

c4)计算边界框的几何中心;

c5)构造由具有最大特征值的两个特征向量定义的平面,并且该平面穿过边界框的几何中心。

在优选实施例中,在步骤a)中,将获取的3d位置存储在帧中,每个帧包括预先定义数量的3d位置,并且每当已经获取了新的帧时,针对所有帧实现步骤b)、c)和d)。

在优选实施例中,方法包括以下步骤:

-针对步骤a)、b)、c)和d)的每次实现存储参考跟踪器的3d位置,

-计算参考跟踪器的3d位置的平均值,以及

-如果参考跟踪器的3d位置与参考跟踪器的存储的3d位置的平均值的差大于预先定义的值,则丢弃对应的帧。

在优选实施例中,方法包括:如果在步骤c2)中确定不存在小于其他特征值的单个特征值,则丢弃帧。

在优选实施例中,方法包括以下步骤:将最小标准差的指示实时地发送给用户。

本发明还涉及一种用于估计用户的上肢的维度的方法,包括以下步骤:

s1:基于利用根据前述权利要求中任一项所述的方法计算出的手腕的旋转中心的位置与移动跟踪器的原点的位置之间的距离,计算手的长度;

s2:基于利用根据前述权利要求中任一项所述的方法计算出的手腕的旋转中心的位置与利用根据前述权利要求中任一项所述的方法计算出的肘部的旋转中心的位置之间的距离,计算前臂的长度;

s3:基于利用根据前述权利要求中任一项所述的方法计算出的手腕的旋转中心的位置与利用根据前述权利要求中任一项所述的方法计算出的肩膀的旋转中心的位置之间的距离,计算上臂和前臂的长度;

s4:当参考跟踪器和移动跟踪器中的每一个被用户握在不同的手中并且通过伸展的手臂在用户的正面挥动时,基于上臂和前臂的长度、手的长度以及参考跟踪器与移动跟踪器之间的最大距离,计算左肩膀与右肩膀之间的长度。

本发明还涉及一种计算机程序产品,其被存储在非暂时性计算机可读数据存储介质上,该非暂时性计算机可读数据存储介质包括用于使得计算机系统执行根据前述权利要求中任一项所述的方法的计算机可执行指令。

本发明还涉及一种非暂时性计算机可读数据存储介质,包含用于使得计算机系统执行前述方法的计算机可执行指令。

本发明还涉及一种计算机系统,包括两个手持跟踪器、与非暂时性存储器耦合的处理器、屏幕,存储器存储用于使得计算机系统执行前述方法的计算机可执行指令。

附图说明

根据随后描述结合附图,本发明的附加特征和优点将变得显而易见,附图示出:

-图1是用户执行扫动他的手的一系列重复移动的顶视图;

-图2是获取的3d点云、计算出的中心点和计算出的旋转中心的图示;

-图3是3d点云、中心点和旋转中心的另一图示;

-图4是包括搜索点的立方体的图示;

-图5a是用户执行扫动他的前臂的一系列重复移动的侧视图;

-图5b是用户执行扫动他的手臂的一系列重复移动的侧视图;

-图5c是用户执行扫动双臂的一系列重复移动的前视图;

-图6是用于估计用户的上肢的维度的方法的流程图;

-图7是适于执行根据本发明的方法的计算机环境。

具体实施方式

图1示出了用户执行扫动他的手的一系列重复移动以确定手腕的旋转中心的顶视图。

在本发明的方法的第一步骤中,a)用户usr执行骨头中的一块骨头或骨头集合围绕关节进行扫动的一系列重复移动,并且在所述系列期间同时获取骨头或骨头集合的3d位置,由此获得3d点云p。在图2中显示了获得的3d点云。

在特别适合于定位用户的手腕的旋转中心的优选实施例中,用户usr在每只手中握住跟踪器(mt、rt)。

跟踪器(mt、rt)可以是虚拟现实系统(例如,“htcvive”tm虚拟现实系统)的一部分。这样的系统包括至少一个手持跟踪器(无线手持控制器)、用于在沉浸式上下文中向用户显示3d场景的虚拟现实耳机。由于要求保护的方法不针对沉浸式实验本身,而是针对用户的化身的预先校准,因此本发明的方法的实现方式不要求使用虚拟现实耳机。此外,本发明要求使用两个手持跟踪器,即,一个用于左上/下肢,以及一个用于右上/下肢。因此,不要求昂贵的运动捕获系统。

跟踪器可以以不同的方式位于虚拟环境的坐标系中:通过与基站合作、通过表面检测、标记、环境识别、陀螺仪控制单元、计算机视觉。针对本发明的方法,利用这些技术中的一种技术,跟踪器中的每一个的原点的位置是已知的。

如果可以确定3d位置,则跟踪器不一定专用于虚拟现实。跟踪器可以仅用于校准过程。

在该实施例中,手持跟踪器(mt、rt)是相同的。由使手的骨头集合围绕关节进行扫动的重复移动的手握住的跟踪器被称为移动跟踪器mt,而另一跟踪器被称为参考跟踪器rt。

一旦已经获得了骨头或骨头集合的所有3d位置,就可以计算对旋转中心位置的估计。可替代地,每当已经获得了预先定义数量的点(以下被称为帧)时,就可以计算估计。因此,可以取决于跟踪器的硬件并且还取决于虚拟现实软件来执行对旋转中心的位置的实时估计。例如,“htcvive”tm虚拟现实系统的手持跟踪器的刷新率可以高达90hz。为了增强实时视觉渲染,可以将刷新率设置为比90hz低得多的值。在要求保护的方法中,移动跟踪器mt的3d位置被存储在预先定义的长度(例如,25个点)的帧中,并且首先针对第一帧、然后针对两个第一帧(例如,50个点)、然后针对三个第一帧(例如,75个点)计算旋转中心的位置,以此类推。因此,用户感觉到接近实时的测量,并且测量的准确度随时间而增加。

为了定位手腕的旋转中心,用户usr将移动跟踪器mt和参考跟踪器rt握在手中。如图1所示,用户在保持参考跟踪器rt稳定且靠近手腕的同时,多次从左向右并反向地挥动移动跟踪器mt。

参考跟踪器rt具有三个功能。第一,如下面将描述的,该参考跟踪器rt提供了对手腕的旋转中心的位置的第一估计,因为用户被提示将参考跟踪器rt保持在前臂上靠近手腕(但不在手腕上,否则测量过程将是有噪的)。第二,通过将参考跟踪器rt保持在前臂上(前臂更加稳定),因此增加了测量的准确度。第三,通过在校准过程期间知道参考跟踪器rt的位置,可以仅考虑移动跟踪器mt相对于参考跟踪器rt的相对移动,并补偿前臂的总体移动。这将增加校准过程的稳定性。

尽管手可以围绕手腕的旋转中心具有宽的角度位移(大约130-140°),但最好不要将手挥动到极端姿势(例如,铰接终止)。这对于手腕很重要,因为在移动结束时,用户倾向于“折断”他的手腕,即,从根本上改变了点p的平面。这对于肩膀移动也很重要,因为如果肩膀的移动太宽,则肩胛骨也会移动,因此移动趋向于非常复杂,从而意味着多个铰接关节。用户被提示不要进行太宽的角位移。例如,在示出了旨在作为针对用户的引导的视频教程的快照的示例的图1、图5a、图5b和图5c中,对应于极端姿势的角度范围与对应于期望的姿势的范围不同地(例如,以不同的颜色)显示。

可以通过屏幕上的视觉指示来提示用户usr布置他的手臂,如图1所示。即使对于非专业用户,这样的移动也很容易做到。

在要求保护的方法的第二步骤b)中,在包括另一骨头或骨头集合的末端的3d位置的3d搜索空间中计算被称为中心点pc的点。中心点pc是搜索空间的在考虑到搜索点与3d点云的每个点之间的距离的集合时使标准差最小化的点。

3d搜索空间首先包括另一骨头或骨头集合的末端(根据图1的示例,靠近手腕的前臂的末端)的3d位置。因此,通过刺激用户将参考跟踪器rt放置在靠近铰接关节的位置,可以增加稳定性(因为除了挥动骨头或骨头集合外,肢体的移动较少),并且中心点pc的计算从靠近真实旋转中心的点开始,由此提高了该方法的速度。

然后,为了找到看起来像一堆弧形点的3d点云p的近似中心,该方法从参考点porg开始,以在最后在其附近找到在考虑到搜索点与3d点云的每个点之间的距离的集合时使标准差最小化的点。

在优选实施例中,基于八叉树搜索算法计算中心点pc,其中3d搜索空间被递归地细分,其包括步骤b)的以下子步骤:

在第一子步骤b1)中,将3d搜索空间定义为具有预先定义的边缘长度的立方体cub,并且该立方体cub以与参考跟踪器rt的3d位置相对应的参考点porg为中心。图4示意性地示出了立方体cub。例如,初始的预先定义的边缘长度可以等于几分米,以便适于上肢的所有类型的铰接点。实际上,铰接关节的旋转中心与移动跟踪器之间的最大距离指向整个手臂长度的测量,其大约为五十厘米长,这自然取决于用户。为了测量下肢(脚踝、膝盖或臀部)的旋转中心的位置,出于相同的原因,初始的预先定义的边缘长度可以等于一米。初始的预先定义的边缘长度可以例如等于29=512mm,这是考虑到性能和精度的原因的很好的权衡。

然后,在第二子步骤b2)中,标识立方体cub的点的集合。该标识出的点的集合与参考点porg一起构成搜索点ps的集合。标识出的点例如形成以周期性布置定位在参考点porg周围的点的网络。

在优选实施例中,针对步骤b)的第一次迭代,将立方体cub细分为八个较小的立方体scub(体素),并且搜索点ps的集合包括以下点:

-参考点porg,其位于立方体cub的中心;

-八个小立方体中心;

-两个相邻的较小立方体scub的十二个正方形的中心;以及

-两个相邻的较小立方体scub的边缘的六个中点。

可以进行搜索点的另一选项。然而,发现使用这些点在计算速度方面提供了很好的结果。

然后,在第三子步骤b3)中,针对立方体cub的每个搜索点ps,计算搜索点ps与3d点云p的每个点之间的距离。要理解的是,当在获得3d点的帧时实现该方法时,仅针对获取的3d点来计算搜索点ps与3d点云p的点之间的距离。

假设在时间t,已经获取了n个点,并且存在nps个搜索点。针对立方体cub的每个搜索点ps,计算n个距离。针对该n个距离的集合,计算标准差。针对nps个搜索点ps,计算nps个标准差。

然后,在第四子步骤b4)中,标识出其标准差最低的至少一个搜索点ps。具有最低的(多个)标准差的搜索点通过定义指示搜索点与3d点云p的点中的每个点之间的距离趋向于接近该距离的平均值。

然后,反复进行步骤b1)、b2)、b3)和b4)。与使立方体cub以参考点porg(与参考跟踪器rt的位置相对应)为中心相反,使立方体cub以其标准差最低的搜索点ps(被称为标识出的搜索点)为中心。针对每次新的迭代,立方体cub的边缘长度减半。

在优选实施例中,在子步骤b4)中,标识出具有最低标准差的两个搜索点,并且针对两个点并行进行迭代。因此,在每次迭代之后,标识出的搜索点的数量将加倍。如果在每次迭代后仅标识出一个搜索点,则定义超过27个搜索点ps能够改进该方法的准确度。

在任何情况下(在每次迭代中标识出一个搜索点的情况下,或在每次迭代中标识出多于一个搜索点(例如,标识出两个搜索点)的情况下),一旦立方体的边缘长度低于或等于预先定义的阈值,则迭代继续,在每次迭代之后标识出单个搜索点。例如,阈值可以等于16mm。

然后,如果立方体的边缘长度低于或等于另一预先定义的阈值(例如,2mm),则停止迭代。中心点pc位于其边缘长度低于或等于2mm的立方体cub中。因此,在这种情况下,分辨率等于1mm(最后一次迭代的搜索点位于边缘长度为2mm的立方体的中心),与前述方法相比,这具有高分辨率。

步骤b)的结果,以及在优选实施例中八叉树搜索的结果,是中心点pc。

可替代地,与基于八叉树搜索算法(具有对数复杂度)来计算中心点pc相反,可以基于强力线性搜索(具有线性复杂度)来计算中心点pc。

然后,在第三步骤c)中,将3d点云p转换到平面中。步骤c)的目标是将3d点云p映射到二维中,同时丢失太多信息。

在优选实施例中,通过使用在下面描述的被称为“主成分分析”的统计过程来执行从3d到2d的转换。

c1)计算3d点云(p)的点的协方差矩阵;

c2)计算协方差矩阵的特征值和特征向量;

c3)构造包围3d点云p的矩形边界框,该边界框的定向对应于特征向量,该边界框的维度对应于特征值;

c4)计算边界框的几何中心;

c5)构造由具有最大的特征值的两个特征向量定义的平面,并且该平面穿过边界框的几何中心。假设用户遵循屏幕上显示的过程,并正确地执行扫动移动。3d点云p应该几乎在同一平面上,并且看起来像弧形。因此,通常,特征值中的表示该点云的厚度的一个特征值要比其他两个特征值小得多。

一旦已经完成一系列重复移动,就可以构造平面。在优选实施例中,在获取预先定义的长度的帧之后构造平面,其具有所有已经获取的帧。因此,步骤c)也接近实时地实现,并且如果平面的构造的稳定性不足,则用户可以校正他的运动。特别地,如果在步骤c3)期间例如基于公差裕度确定三个特征值非常相似,则可以丢弃帧。因此,从3d到2d的转换在最少的信息丢失的情况下完成。

可替代地,与使用“主成分分析”方法相反,可以首先通过计算包围3d点云的矩形边界框来构造平面。然后,计算与边界框的两个最大面平行的平面,并且该平面将边界框划分为两个相等的体积。

在要求保护的方法的最后步骤d)中,将在步骤b)中已经计算出的中心点pc投影到在步骤c)中已经计算出的平面上。中心点pc的投影对应于关节的旋转中心pc’的位置。在其中用户握住移动跟踪器mt的本发明的特定实施例中,旋转中心pc’的位置指代相对于移动跟踪器mt的原点的3d位置的3d位置。

图2和图3示出了3d点云p、中心点pc和旋转中心pc’。

在优选实施例中,每当已经获取了新的帧(例如,包括25个点)时,就迭代步骤a)、b)、c)和d)。换言之,当已经获取了新的帧时,利用所有的3d位置重新计算旋转中心pc’的位置。实时存储参考跟踪器rt的3d位置,并且计算参考跟踪器rt的所有存储的位置的平均位置。如果参考跟踪器的3d位置与参考跟踪器的存储的3d位置的平均值的差大于预先定义的值,则丢弃新的传入帧。因此,如果用户在一系列移动期间已经移动太多,则参考跟踪器rt的3d位置将不稳定,并且丢弃对应的帧可以避免针对用户的不稳定位置计算旋转中心pc’。

可以计算旋转中心pc’与3d点云p的每个点之间的距离dk。假设dc={d0,……dn-1}是n个距离的集合(n=card(p))。dc的平均值是旋转中心pc’与移动跟踪器mt的原点之间的近似距离。骨头或骨头集合的长度可以根据近似距离容易地推导:通过要求用户在执行一系列移动时用特定的手指按下移动跟踪器mt的按钮,手指的末端的位置是已知的(其对应于按下的按钮的位置),因此可以计算手指的末端与旋转中心pc’之间的距离。

可以计算dc的标准差,以便估计结果的质量。如果标准差太高,则估计将不可信。例如,如果标准差小于10mm,则建议结果的质量为可接受的;如果标准差在10mm至15mm之间,则结果的质量为可疑的;并且如果标准差超过15mm,则建议结果的质量为差结果。dc的标准差或质量水平(可接受/可疑/差)可以被实时发送(显示)给用户,使得用户可以校正当前的一系列移动以便改进质量水平。因此,用户可以通过指示标准差的视觉反馈看到测量的质量。更一般地,要求保护的方法可以由用户自己完成,他不需要专家或甚至非专家的帮助。

发明人凭经验测试,针对大约1000个点的3d云,只要满足稳定性标准,就可以达到良好的测量准确度。利用具有90hz刷新率的跟踪器(这是用于“htcvive”tm虚拟现实系统的情况),获取大约要11秒。可以设置阈值数量的点(例如,1000个点),超过该点则过程将停止。如果结果非常稳定,则该过程可能在获取阈值数量的点之前停止。

为了估计用户的上肢的维度,首先利用前述方法测量手的长度l1。它表示图6的流程图中示出的步骤s1。实现前述步骤a)-d),并且如果测量稳定且没有噪声,则针对前臂实现相同的过程,以便计算肘部的旋转中心(步骤s2):用户usr保持一个控制器(参考跟踪器rt)稳定并靠近肘部,通过多次进行屈/伸移动以及相反地挥动另一控制器(移动跟踪器mt),如图5a所示。

由于已经先前计算出手腕的旋转中心(相对于移动跟踪器mt的原点)的位置,因此可以基于肘部的旋转中心并且基于手腕的旋转中心来计算前臂的长度l2。

实现前述步骤a)-d),并且如果测量稳定且没有噪声(当参考跟踪器rt在宽范围内移动时或者如果移动跟踪器mt在平面内不移动,则可能发生有噪测量,这与推荐相反),则针对前臂实现相同的过程,以便计算肩膀的旋转中心(步骤s3)。针对手臂实现相同的过程,以便计算肩膀的旋转中心。用户usr保持一个控制器(参考跟踪器rt)稳定并靠近肩膀,尝试使手臂保持笔直,通过手臂多次上下以及相反地挥动另一控制器(移动跟踪器mt),如图5b所示。

由于已经先前计算出手腕的旋转中心(相对于移动跟踪器mt的原点)的位置,因此可以基于肩膀的旋转中心并且基于手腕的旋转中心来计算手臂(前臂和上臂)的长度l3。

最后,在执行上下扫动伸展的双臂的一系列重复移动的同时,计算左肩膀与右肩膀之间的长度l4,如图5c所示。用户usr将参考跟踪器rt握在一只手中,并且将移动跟踪器rt握在另一只手中。对于该步骤,移动两个跟踪器。

假设手的长度l1和手臂的长度l3相同;因此,将先前已经针对一侧计算出的手的长度l1和手臂的长度l3视为针对另一侧相同。

在一系列重复移动期间,计算参考跟踪器rt与移动跟踪器rt之间的长度lt。跟踪器在用户的正面尽可能远地移动,以便获得长度lt的最大值,然后,利用以下公式计算左肩膀与右肩膀之间的长度l4:

l4=max(lt)-2×(l3+l1)

可替代地,可能先前已经针对用户的两侧计算了手的长度l1(l1l=左手的长度,并且l1r=右手的长度),并且可能先前已经针对用户的两侧计算了手臂的长度l3(l3l=左臂的长度,l3r=右臂的长度)。

在这种情况下,利用以下公式计算左肩膀与右肩膀之间的长度l4:

l4=max(lt)–(l1l+l1r+l3l+l3r)

考虑到步骤s1-s4中的每个步骤是以90hz的刷新率针对大约一千个点执行的,对上肢的维度的完整估计持续不到一分钟,这与使用磁性和/或光学标记的技术相比非常快速。

在可选的预备步骤中,在s1的步骤a)之前,可以提示用户usr输入其大小。因此,在基于估计出的旋转中心计算骨头或骨头集合的维度之前,可以在步骤s1-s4的开始处显示每个部分的长度的非常粗略的估计。

还可以通过可以由脚佩戴的跟踪器来实现前述方法,以测量用户的下肢的维度。铰接关节可以是脚踝、膝盖和臀部。

本发明的方法可以由适当编程的通用计算机或虚拟现实系统执行,该通用计算机或虚拟现实系统可以包括计算机网络,将适当程序以非易失性形式存储在诸如硬盘、固态磁盘或cd-rom之类的计算机可读介质上,并使用其(多个)微处理器和存储器执行所述程序。

参考图7描述了适合于执行根据本发明的示例性实施例的方法的计算机cpt。在图7中,计算机cpt包括中央处理单元cpu,该cpu在运行可执行程序(即,计算机可读指令集)的同时执行上面描述的方法步骤,可执行程序被存储在诸如ramm1或romm2或硬盘驱动器(hdd)m3、dvd/cd驱动器m4之类的存储器设备中,或被远程存储。

要求保护的发明不受计算机可读介质的形式的限制,在该计算机可读介质上存储了本发明的过程的计算机可读指令和/或数据结构。例如,指令和文件可以被存储在cd、dvd上,或者被存储在闪速存储器、ram、rom、prom、eprom、eeprom、硬盘或与计算机通信的任何其他信息处理设备(例如,服务器或计算机)中。程序和文件可以被存储在同一存储器设备上,或被存储在不同的存储器设备上。

此外,可以将适合于执行本发明的方法的计算机程序提供为实用应用、后台守护程序或操作系统的组件或其组合,从而结合中央处理单元cpu和操作系统(例如,microsoftvista、microsoftwindows10、unix、solaris、linux、applemac-os和本领域技术人员已知的其他系统)执行。

中央处理单元cpu可以是来自美国的intel的xenon处理器或来自美国的amd的opteron处理器,或者可以是其他处理器类型,例如,来自美国的freescale公司的freescalecoldfire、imx或arm处理器。可替代地,如本领域普通技术人员将认识到的,cpu可以是诸如来自美国的intel公司的core2duo之类的处理器,或者可以在fpga、asic、pld上实现或使用分立逻辑电路来实现。此外,中央处理单元可以被实现为协同工作以执行上面描述的本发明的过程的计算机可读指令的多个处理器。

图7中的虚拟现实系统还包括用于与网络(例如,局域网(lan)、广域网(wan)、互联网等)接合的网络接口ni,例如,来自美国的intel公司的intelethernetpro网络接口卡。虚拟现实系统还包括具有头部跟踪设备hed的头戴式显示设备hmd。通用i/o接口if与跟踪器(rt、mt)接合。跟踪器(mt、rt)可以是虚拟现实系统(例如,“htcvive”tm虚拟现实系统)的一部分。虚拟现实系统的每个无线手持控制器都包括跟踪器(参考跟踪器或移动跟踪器)。对手持控制器的跟踪可以以不同的方式进行:通过与基站合作、通过表面检测、标记、环境识别、陀螺仪控制单元、计算机视觉。

显示器、键盘和定点设备连同显示器控制器和i/o接口一起形成图形用户接口,用户使用该用户接口来提供输入命令,并且计算机使用该用户接口来显示3d对象。

磁盘控制器dkc连接hddm3和dvd/cdm4与通信总线cbs,该总线cbs可以是用于互连计算机的所有组件的isa、eisa、vesa、pci或类似设备。

本文描述的任何方法步骤应被理解为表示代码的模块、片段或部分,其包括用于实现过程中的特定逻辑功能或步骤的一个或多个可执行指令,并且替代实现方式被包括在本发明的示例性实施例的范围内。

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