CN108369478A - 用于交互反馈的手部跟踪 - Google Patents
用于交互反馈的手部跟踪 Download PDFInfo
- Publication number
- CN108369478A CN108369478A CN201680073883.6A CN201680073883A CN108369478A CN 108369478 A CN108369478 A CN 108369478A CN 201680073883 A CN201680073883 A CN 201680073883A CN 108369478 A CN108369478 A CN 108369478A
- Authority
- CN
- China
- Prior art keywords
- hand
- feedback
- user
- interaction
- threedimensional model
- 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.)
- Withdrawn
Links
- 230000002452 interceptive effect Effects 0.000 title description 3
- 230000003993 interaction Effects 0.000 claims abstract description 52
- 230000000007 visual effect Effects 0.000 claims abstract description 7
- 238000000034 method Methods 0.000 claims description 48
- 238000005457 optimization Methods 0.000 claims description 28
- 230000008569 process Effects 0.000 claims description 11
- 241000208340 Araliaceae Species 0.000 claims 2
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 claims 2
- 235000003140 Panax quinquefolius Nutrition 0.000 claims 2
- 235000008434 ginseng Nutrition 0.000 claims 2
- 230000006870 function Effects 0.000 description 30
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 230000003190 augmentative effect Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000009877 rendering Methods 0.000 description 7
- 210000003811 finger Anatomy 0.000 description 6
- 210000004247 hand Anatomy 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 241001269238 Data Species 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 238000002059 diagnostic imaging Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 210000000707 wrist Anatomy 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000002939 conjugate gradient method Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 210000000245 forearm Anatomy 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- 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/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- 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
- 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/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- 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/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- 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/16—Sound input; Sound output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- 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
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
描述了一种装置,包括:存储器,其被配置为接收描绘操作控制系统的用户的至少一只手的捕捉到的传感器数据。所述装置具有跟踪器,其被配置为根据捕捉到的传感器数据来计算手的三维(3D)模型的姿态参数的值,姿态参数包括所述手的多个关节中的每一个的位置和取向。物理引擎存储关于至少一个虚拟实体的数据。物理引擎被配置为至少基于所述姿态参数的值和关于手的3D模型的数据,来计算在所述虚拟实体与所述用户的手的3D模型之间的交互。反馈引擎被配置为触发关于计算出的交互的针对用户的反馈,所述反馈是视觉反馈、听觉反馈、触觉反馈中的任何一个或多个。
Description
背景技术
用户能够使用他们的手控制一个或多个虚拟实体的系统可以使用户以自然方式操作游戏系统、增强现实系统、虚拟现实系统和其他。人类习惯于用他们的手与物理对象交互,并且从小就学会以相当的技巧和灵活性来做到这一点。
发明内容
下面给出了本公开的简要概述,以便为读者提供基本的理解。本发明内容并非旨在标识所要求保护的技术方案的关键特征或基本特征,也不旨在用于限制所要求保护的技术方案的范围。其唯一目的是以简化形式呈现本文所公开的概念的选择,作为稍后呈现的更详细描述的序言。
描述了一种装置,包括:存储器,其被配置为接收描绘操作控制系统的用户的至少一只手的捕捉到的传感器数据。所述装置具有跟踪器,其被配置为根据捕捉到的传感器数据来计算手的三维(3D)模型的姿态参数的值,所述姿态参数包括所述手的多个关节中的每一个关节的位置和取向。物理引擎存储关于至少一个虚拟实体的数据。物理引擎被配置为至少基于所述姿态参数的值和关于手的3D模型的数据,来计算在所述虚拟实体与所述用户的手的3D模型之间的交互。反馈引擎被配置为触发关于计算出的交互的针对用户的反馈,所述反馈是视觉反馈、听觉反馈、触觉反馈中的任何一个或多个.
通过参考结合附图考虑的以下详细描述,可以更好地理解许多伴随的特征,因为相同的特征将变得更好理解。
附图说明
根据附图阅读以下详细描述将更好地理解本描述,在附图中:
图1是佩戴虚拟现实耳机以便演奏虚拟钢琴的人的示意图;
图2是虚拟手演奏虚拟钢琴的示意图;
图3是虚拟手对虚拟实体进行变形的示意图;
图4是附着到用户的真实手上的虚拟小雕像的示意图;
图5是跟踪器、物理引擎和反馈引擎的示意图,由此用户用他或她的手控制下游系统;
图6是图5的跟踪器、物理引擎和反馈引擎处的方法的流程图;
图7是在跟踪器处的操作方法的流程图;
图8是跟踪器性能的图表;
图9是校准形状参数的方法的流程图;
图10示出了其中实现手部跟踪器、物理引擎和反馈引擎的实施例的示例性的基于计算的设备。
相似的附图标记用于表示附图中的相似部分。
具体实施方式
以下结合附图提供的详细描述旨在作为对本示例的描述,而不旨在表示可以构建或利用本示例的唯一形式。描述阐述了示例的功能以及构建和操作该示例的操作序列。然而,相同或等同的功能和序列可以通过不同的示例来完成。
描述了一种使用户能够使用他或她的手准确地操纵一个或多个虚拟实体的装置。捕捉传感器数据,如深度图像、彩色图像、原始飞行时间数据、扫描仪数据以及其他。传感器数据用于准确跟踪三维(3D)手部模型的多个关节的姿态参数。结合物理引擎,这可以以自然、直观的方式对一个或多个虚拟实体进行精细操纵。
虚拟实体是对象、人员、动物、表面或其他实体的全部或部分的计算机生成的表示。
物理引擎是通过使用描述刚体动力学、软体动力学、流体动力学等中的任何一个或多个的规则或准则来计算物理系统的模拟的计算机软件和/或硬件/固件。刚体动力学是在力的作用下互接主体(如物体、表面)系统的运动的表示,其中主体是刚性的,这意味着它们在施加力的作用下不会变形。软体动力学是在力的作用下系统互连主体(如物体、表面)的运动的表示,其中主体是柔软的,这意味着它们在施加的力的作用下变形。
图1是佩戴虚拟现实耳机100以便用替身手部108演奏虚拟钢琴106的用户102的示意图。虽然图1关于虚拟现实耳机100进行了讨论,但是该技术不限于虚拟现实,如以下关于图5更详细解释的那样。在该示例中,使用计算设备实现的虚拟现实系统与耳机100集成或在另一计算设备处,另一计算设备与耳机进行有线或无线通信。位于房间中的捕捉设备110捕捉用户102和他的手部104的传感器数据。用户102已经定位了他的手部104并且正在移动他的手指,就好像他在演奏位于他前面的钢琴键盘。
捕捉设备110是能够捕捉描绘用户102的数据的任何传感器。非穷举的实例列表是:深度相机、原始飞行时间传感器、深度扫描仪、激光测距仪、彩色相机、视频相机、网络相机、医学成像设备或其他捕捉设备。本例中的捕捉设备110被安装在房间中。然而,也可以使用头戴式捕捉设备或体佩式捕捉设备。在一些例子中有多于一个捕捉设备可用。
跟踪器从捕捉设备110接收传感器数据,并且计算手部的3D模型的姿态参数的值。在一些示例中,3D模型是通用的手。在其他示例中,手的3D模型被校准以拟合个体用户102的手的形状。对于个体手来说,姿态参数包括手的多个关节中的各个关节的位置和取向。
物理引擎使用姿态参数的值来渲染虚拟钢琴106和替身手部108。由于姿态参数的值的准确性和细节,所述装置经由手指和手部104的运动和接合而实现虚拟钢琴106和替身手部108的精细尺度的、自然的操纵。在一些示例中,根据传感器数据计算3D模型的形状参数,并且这进一步增强了控制的准确性。
图2是虚拟手演奏虚拟钢琴106的示意图。在这个例子中,手的3D模型是操纵模型,它是具有关联骨架的模型。在图2的示例中,骨架以及骨架的至少一些关节200、204是可见的,但是模型的表面(例如,光滑表面或多边形网格表面)不可见。
物理引擎具有手的3D模型的知识,并且将它接收到的姿态参数值应用于3D模型。其使用描述对象如何交互(例如,如何施加摩擦力,如何施加重力等)的多个规则来计算3D手模型(应用有姿态参数值)与虚拟钢琴106之间的交互。在图2的示例中,物理引擎使用刚体动力学。然而,在参照图3所描述的一些示例中使用软体动力学。
物理引擎将关于计算出的交互的数据发送到反馈引擎(下面更详细地描述)。反馈引擎触发向用户提供关于计算出的交互的反馈。例如,反馈在图2的情况下是视觉和听觉反馈。反馈引擎触发图形引擎来呈现虚拟键盘和替身手。反馈引擎触发扬声器以输出正在演奏的键的声音。
图3是虚拟手300使虚拟实体306变形的示意图,虚拟实体306是在其表面上具有多个小突起的可变形球体。虚拟手被显示为具有关联骨架的被摆好姿势的3D操纵光滑表面模型,其中骨架中的单个关节200可见。该模型被摆好姿势,因为姿态参数值已经应用于模型,该模型将虚拟手放入所示的位置和取向(与通用或默认位置和取向相对)。虚拟手在虚拟环境中,使得手的阴影302可见。
用户正在操作创建图3中可见的显示的虚拟现实系统。一个或多个捕捉设备捕捉到达以拔出虚拟球体306的表面上的突起之一的用户的手的传感器数据。随着用户拔出突起之一,虚拟球体如图所示变形。发生这种情况是因为物理引擎使用针对虚拟球体30的软体动力学以及被跟踪的姿态参数值。物理引擎根据姿态参数值和3D模型计算虚拟手300和虚拟球体306之间的交互。
在图1和图2的示例中,使用虚拟现实系统。增强现实系统也是可能的。例如,图4是附着到用户的真实手上的虚拟小雕像的示意图。在该示例中,用户佩戴增强现实耳机,该增强现实耳机包括捕捉描绘用户的手的传感器数据的捕捉设备。用户能够看到她自己的双手400,并且还能够看到在她手掌中的虚拟现实小雕像402。通过使用增强现实耳机呈现虚拟现实小雕像402的显示来创建虚拟现实小雕像402。使用物理引擎计算虚拟现实小雕像,以便考虑与真实手的3D模型的交互,该3D模型的姿态参数值被计算,如本文所述。在一些示例中,增强现实系统被配置为使得虚拟现实小雕像被呈现在用户的手400上,而不管用户的真实手指和真实手400的移动。以这种方式,虚拟小雕像看起来附着到用户的手上,但能够在手和手指的表面上移动。
图5是跟踪器502、物理引擎514和反馈引擎516的示意图,由此用户用他或她的手控制下游系统522。在许多示例中,下游系统是使用无触摸输入由用户的被跟踪的手控制的任何计算机实现的装置。下游系统的示例的非穷尽列表是增强现实系统524、虚拟现实系统526、游戏系统528、医疗设备530等。在这个例子中,跟踪器502使用了操纵光滑表面模型518。
操纵模型是具有关节型对象(例如骨架)的一个或多个关节的关联表示的模型。在该文档的各种示例中,光滑表面模型是其中模型的表面基本光滑而不具有许多尖锐边缘或不连续性的模型;在一些例子中它具有隔离的几乎光滑的边缘。换句话说,光滑表面模型是表面的导数在表面上几乎任何地方都没有变化的模型。这使得基于梯度的优化器能够操作,如下面更详细描述的。尖锐的边缘是其中表面位置或取向的变化率基本上从边缘的一侧变化到另一侧的边缘,例如房间中的角落,其中两面墙以90度接合。几乎光滑的边缘是其中表面位置或取向的变化率边缘的一侧突然改变到另一侧但改变的量可忽略的边缘。例如,网格模型不是光滑表面模型,因为在网格面接合之处通常会有很多尖锐的边缘。
诸如彩色相机、深度相机、捕捉3D点云的传感器或其他类型的传感器的捕捉设备508捕捉描绘环境中(一个或多个用户的)一只或多只手512的数据。使用有线或无线链路通过通信网络或以其他方式将捕捉到的传感器数据510(例如图像或3D点云或其他传感器数据510)输入到跟踪器502。
跟踪器502是计算机实现的,例如在移动电话中,在虚拟现实耳机中,在个人计算机中,在游戏系统中,在医疗设备中,或在其他装置中,这取决于相关的应用领域。跟踪器502可以访问保存通用手的操纵的光滑表面模型518的存储库。例如,操纵光滑表面模型518被存储于移动电话、医疗设备、游戏系统或其他设备上。在一些示例中,操纵光滑表面模型518存储于通过通信网络跟踪器502可访问的远程位置处。
跟踪器计算拟合捕捉到的传感器数据510的操纵光滑表面模型518的姿态参数520的值。它能够对捕捉到的传感器数据510的单个实例执行此操作。在一些示例中,当捕捉到的数据流510被输入到跟踪器502时,跟踪器计算姿态参数520的值的流。这样,跟踪器502在手移动和/或捕捉设备508移动时跟随手的姿态。姿态参数520的计算出的值被输入到物理引擎514。物理引擎使用姿态参数来计算虚拟实体和用户的手的3D模型之间的交互,并且反馈引擎516触发关于交互的反馈,以经由由用户的手控制的下游装置522呈现给用户。下游装置的示例包括但不限于:增强现实系统524、自然用户界面526、游戏系统528、医疗设备530等。
跟踪器502本身包括使用模型拟合的姿态估计器500,使用另一类型的跟踪技术的可选的第二姿态估计器504,以及可选的感兴趣区域提取器506。跟踪器502是使用软件和/或硬件/固件而用计算机实现的。它包括存储器520,其存储从捕捉设备508接收到的传感器数据510。
反馈引擎516和物理引擎514也是使用软件和/或硬件/固件而用计算机实现的。反馈引擎将由物理引擎计算出的在虚拟实体与操纵的光滑表面模型518之间的交互作为输入。例如,交互是虚拟实体的位置和取向的变化以及用户的手的位置和取向的变化的详述,由操纵的光滑表面模型518表示。在软体动力学的情况下,交互还指定虚拟实体和/或操纵的光滑表面模型的形状的变化。反馈引擎使用其接收到的计算出的交互以触发关于计算出的交互的针对用户的反馈。反馈是视觉反馈、听觉反馈、触觉反馈中的任何一种,并且包括这些类型的反馈中的任何一种或多种的组合。反馈引擎通过向下游系统522中的设备发送指令来触发反馈。例如,通过向一个或多个扬声器发送指令,通过向手腕或体佩式振动设备或其他触觉反馈设备发送指令,通过向图形引擎或下游系统522的其他显示控制器发送指令。指令通过有线或无线通信链路、通过网络或其他方式被发送。
在一些示例中,跟踪器502、物理引擎514和反馈引擎516的功能至少部分地由一个或多个硬件逻辑部件执行。例如但不限于,可选地使用的硬件逻辑部件的说明性类型包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)、图形处理单元(GPU)。
图6是图5的跟踪器、物理引擎和反馈引擎处的方法的流程图。如上所述,接收600传感器数据,并提取602一个或多个感兴趣区域。例如,每只手有一个感兴趣区域。可选地,跟踪器校准手的3D模型的形状参数的值,如下面更详细描述的。在形状参数值可用的情况下,这些被应用于3D平滑表面模型518。
对于给定的感兴趣区域,跟踪器操作以跟踪606 3D手模型的姿态,如下所述。它计算包括手模型的多个关节的位置和取向的姿态参数的值。将姿态参数值与关于3D模型的数据一起输入608到物理引擎中。例如,物理引擎可以访问光滑表面模型和/或与光滑表面模型相关联的多边形网格模型。
考虑到姿态参数值,物理引擎计算610在一个或多个虚拟实体与用户的手的3D模型之间的交互。例如,物理引擎将姿态参数值应用于3D模型,并且直接计算被摆姿势的3D模型与虚拟实体之间的交互。在一些示例中,物理引擎使用一个或多个球体近似被摆姿势的3D模型,并且计算在一个或多个球体与虚拟实体之间的交互。
在一些示例中,物理引擎使用关于3D模型的骨架的数据来计算交互,并且不使用关于3D模型的表面的数据。这给出了良好的工作结果。在其他示例中,物理引擎使用关于3D模型的表面的数据来计算交互。与上面提到的使用骨架而不使用表面相比,这可以提供更准确的结果。在物理引擎使用3D模型的表面的示例中,因为作为计算多个关节的姿态参数的值以及可选地形状参数值的结果,关于表面的详细的准确信息是已知的,所以可以处理相当大的遮挡。也就是说,即使在捕捉到的传感器数据中遮挡了手的一个或多个关节时,跟踪器也能够操作。
计算出的交互的结果被输入到反馈引擎,该反馈引擎触发612关于计算出的交互的反馈。反馈引擎如上所述向一个或多个下游系统发送指令以触发反馈。例如,在用户佩戴具有振动电动机的智能手表、手腕佩戴设备、身体佩戴设备或头戴式设备的情况下,振动电动机操作以向用户提供触觉反馈。例如,当扬声器位于房间中时,或者扬声器位于耳机中时,反馈引擎通过向扬声器发送指令来触发音频输出。
图7是图5的跟踪器处的示例性操作方法的流程图。跟踪器访问700通用手的操纵平滑表面模型。
如上所述,跟踪器接收702捕捉到的传感器数据,并且可选地,跟踪器从捕捉到的数据中提取304一个或多个感兴趣区域。
在一些示例中,在感兴趣区域包括深度图的部分的情况下,跟踪器通过反投影感兴趣区域来计算706 3D点云。在一些情况下,3D点云已经可用。在一些情况下,不使用3D点云。
可选地,跟踪器获得708初始姿态估计并将其应用于模型。例如,通过使用为捕捉到的数据的先前实例计算出的姿态值。例如,通过记录由跟踪器计算出的一系列姿态值,并将该系列外推以计算姿态的预测未来值。例如,通过随机选择姿态的值。例如,通过使用机器学习算法的输出来选择姿态的值。
可选地,跟踪器获得310初始对应性估计。对应性估计是光滑表面模型的表面上的对应于捕捉到的数据点的3D点的指示。
在一些示例中,对应性是在本文档中由符号u表示的值的元组,其指定光滑表面模型上的点。光滑表面本身是二维的,所以点u以类似于该表面上的2D坐标的方式作用。在一些示例中,定义函数S被存储于跟踪器中,并且是将对应性u和姿态参数作为其输入的函数。定义函数S计算在光滑表面模型上的点u所对应的世界中的3D位置。
跟踪器获得710多个初始对应性估计,例如,点云中的每个点具有一个估计,或者多个捕捉到的数据点中的每一个点具有一个估计。通过随机选择初始对应性估计或者通过使用机器学习或者通过在给定全局姿态的初始估计的情况下选择模型上的最近点,使用这些方法中的一个或多个的组合,或者以其他方式,跟踪器获得710初始对应性估计。在使用机器学习的情况下,机器学习系统已经使用大量训练数据进行训练,以导出从图像数据到3D模型点的直接转换。
跟踪器计算712优化以将模型拟合到捕捉到的数据。例如,跟踪器从对应性估计的初始值和这些初始值可用的姿态参数开始(或从随机选择的值开始)计算以下最小化:
其用语言被表达为:鲁棒内核ψ(.)在姿态参数θ和对应性u的n个值上的和的最小值,该内核被应用于3D点云xi与对应的3D平滑模型表面点S(ui;θ)之间的差的大小。鲁棒内核ψ(.)是Geman-McClure内核、Huber内核、二次内核或其他内核。
由于最小化在对应性u的可能值和姿态参数θ的可能值上进行搜索,所以优化使对应性估计和模型拟合能够统一。这意外地发现比使用模型拟合和对应性估计的交替阶段的替代方法产生更好的结果。
在一些示例中,优化是非线性的。优化的结果是包括全局姿态参数和关节位置的姿态参数θ的一组值。
因为模型具有光滑的表面,所以可以使用非线性优化过程来计算优化。例如,在一些例子中,使用基于梯度的过程,雅可比优化方法。这提高了处理速度。可能已经预期到这种方法(使用光滑表面模型和非线性优化)将不起作用和/或会导致不准确的结果。尽管如此,意外地发现这种方法能够在保持改进的处理速度的同时获得准确的结果。
离散更新步骤可选地与优化一起使用。这涉及使用如上所述的连续优化将姿态和对应性一起更新,然后使用离散更新来使用捕捉到的传感器数据重新设置对应性的值。离散更新允许对应性从对象表面的一部分有效跳到另一部分,例如从一个指尖到另一个指尖。
例如,当新捕捉到的数据作为捕捉数据流的一部分到达时,可选地重复图7的过程。在一些示例中,图7的过程被布置为包括重新初始化,由此从另一源(例如第二姿态估计器504)获得在优化开始时使用的姿态参数。例如,使用全局定位传感器数据,使用独立于图5的跟踪器的另一跟踪器,使用随机值或其他方式。根据用户输入,根据指示姿态值中的错误的错误度量或以其他方式,以指定的时间间隔,以捕捉到的数据的实例的指定间隔,来重新初始化。发现使用独立跟踪器进行重新初始化给出良好的结果。
在跟踪器502的经验测试期间,使用标记的数据集。例如,用完全真实的光滑表面模型点标记捕捉到的数据。图8是以毫米为单位的错误阈值的比例校正图。比例校正是由跟踪器计算出的、具有与完全真实的数据相距在特定错误阈值距离(mm为单位)内的对应模型点的数据点的比例。随着错误阈值的增加,比例校正预计会增加。本技术的跟踪器的结果在图8的线800中示出。可以看出,本技术的结果比具有以图8的线802、804示出的结果的跟踪器准确得多,线802、804示出的结果没有以本文所述的相同方式统一对应性估计和模型拟合。
如上所述,本技术的跟踪器以改进的速度计算姿态参数。发现使用专业图形处理单元的渲染方法跟踪器需要约100毫秒以根据捕捉到的数据计算姿态参数。本技术能够使用标准中央处理单元(CPU)以30毫秒根据捕捉到的数据计算姿态参数。渲染方法跟踪器根据3D模型渲染图像,并将渲染图像与捕捉到的数据进行比较。这会消耗大量的计算机功率,例如需要数百瓦的图形处理单元(GPU)和CPU功率,因此对于移动设备来说不切实际。
图9是诸如图5的跟踪器处的形状校准方法的流程图。在图6的方法中,形状校准是可选的。在形状校准可用的情况下,通过设置模型的形状参数的值来将跟踪器使用的3D模型校准到用户的手的特定形状。通过校准到用户手的特定形状,跟踪器能够进一步提高其性能的准确性。现在给出为特定用户计算3D模型的形状参数的值的示例性方法。该方法在跟踪器本身506处或在通过有线或无线链路与跟踪器通信的另一计算设备处执行。
跟踪器接收900传感器数据504,并且可选地从传感器数据504提取902感兴趣区域,如上所述。
跟踪器访问904具有形状和姿态参数的3D网格模型。3D网格模型是通用的手,并且在一些示例中,形状和姿态参数最初被设置为默认值,从而3D网格模型表示中性姿态和通用形状。在一些示例中,网格模型包括关节型骨架和从形状参数到网格顶点的映射的组合。
在一些示例中,校准引擎可选地使用根据捕捉到的数据的先前实例计算出的值或者根据从另一源计算出的值来初始化姿态参数值。但是,这不是必需的。
校准引擎最小化306能量函数,该能量函数表达根据网格模型呈现的数据和接收到的传感器数据达成一致的程度。能量函数在形状参数(用符号θ表示)和姿态参数(用符号β表示)上被联合优化,以最大化网格模型和捕捉到的数据的对齐。例如,能量函数如下给出:
对于像素(i,j),残差rij(θ,β)被定义为在像素i,j处捕捉到的传感器值减去渲染的传感器数据中的像素i,j的值之间的加权差。符号W表示渲染图像的像素宽度,符号H表示渲染的传感器数据的像素高度。
能量函数用文字表达为:
关节型对象的3D网格模型的姿态参数和形状参数上的能量等于在捕捉到的传感器数据点与根据模型渲染的对应数据点之间的平方差之和的平均值。
然而,优化此形式的能量函数并不简单,因为能量函数不平滑并且在其导数中包含不连续性。此外,优化这种形式的能量函数将产生可用的校准结果是不明显的。实践中发现,随着移动遮挡边界引起所渲染的数据点的值跳变,以上能量函数仅分段连续。
在校准引擎被配置为通过使用来自能量函数的导数的信息来计算优化过程的情况下,发现意想不到的良好结果。在一些示例中,使用诸如Levenberg-Marquardt优化器、梯度下降法、共轭梯度法等之类的基于梯度的优化器来完成优化过程。基于梯度的优化器使用搜索方向搜索能量函数,该搜索方向是使用当前点处函数的梯度定义的。基于梯度的优化器需要能量函数的导数,有些需要使用雅可比矩阵来表示用于能量函数的部分的这些导数。雅可比矩阵是向量值函数的所有一阶偏导数的矩阵。
在一些示例中,校准引擎被配置为使用有限差来计算优化过程。有限差是通过用差分方程近似导数来计算导数的离散化方法。在差分方程中,有限差近似导数。
在一些示例中,校准引擎被配置为使用可微分的渲染器。也就是说,使用图形处理单元的渲染器来计算要被计算来搜索能量函数的最小值的能量函数的导数,如下面更详细描述的。这有助于在实际时间尺度上使能量函数最小化。
在一些示例中,能量函数包括姿态先验能量。姿态先验能量是能量函数中的一项,其对姿态参数的值提供约束。例如,为了避免计算出不自然和/或不可能的姿态。发现在捕捉到的数据中存在遮挡的情况下,使用姿态先验是有益的。例如,在手部跟踪期间的自遮挡姿态中,手指或前臂在渲染图像中不可见。
在一些示例中,校准引擎被配置为在能量函数包括平方差惩罚之和的情况下最小化能量函数。已经发现,与使用L1惩罚(其中L1惩罚是绝对差之和)相比,使用平方差惩罚之和(也称为L2惩罚)给出了改进的结果。
在各种示例中,网格模型包括关于网格面的相邻性的信息。然而,这不是必需的。在一些示例中,网格模型不具有关于网格面的相邻性的信息。
一旦校准引擎已经计算出形状参数的值,就将其发送908给跟踪器。
跟踪器接收形状参数,并将它们应用于操纵的3D网格模型和/或相关的光滑表面模型。跟踪器然后继续将捕捉到的传感器数据(图5的504)拟合到校准的操纵模型。
校准以在线模式或离线模式或使用在线模式和离线模式的混合进行。在线模式下,跟踪正在进行,同时进行校准。在离线模式下,在进行校准时不会进行跟踪。
图10示出了示例性的基于计算的设备1000的各种部件,其被实现为任何形式的计算和/或电子设备,并且其中实现了跟踪器、物理引擎和反馈引擎的实施例。
基于计算的设备1000包括一个或多个处理器1002,其是微处理器、控制器或用于处理计算机可执行指令以控制设备的操作的任何其他合适类型的处理器。例如,为了跟踪一只或多只手的姿态参数值,并且使用考虑了姿态参数值的物理引擎来计算一个或多个虚拟实体与手的3D模型之间的交互。例如,以触发关于计算出的交互的针对用户的反馈。
在一些示例中,例如在使用片上系统体系结构的情况下,处理器1002包括一个或多个固定功能块(也称为加速器),其用硬件(而不是软件或固件)实现根据捕捉到的传感器数据跟踪姿态参数值并触发关于交互的反馈的方法的一部分。在基于计算的设备处提供包括操作系统1004的平台软件或任何其他合适的平台软件,以使应用软件1006能够在设备上执行。在一些示例中,包括跟踪器1008、物理引擎1012、反馈引擎1026的软件在计算设备处。在基于计算的设备1000处存储操纵的光滑表面模型1010。
使用可由基于计算的设备1000访问的任何计算机可读介质来提供计算机可执行指令。计算机可读介质例如包括计算机存储介质(例如存储器1016)和通信介质。计算机存储介质(例如存储器1016)包括以用于存储信息(例如计算机可读指令、数据结构、程序模块等)的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于随机存取存储器(RAM),只读存储器(ROM),可擦除可编程只读存储器(EPROM),电可擦除可编程只读存储器(EEPROM),闪存或其他存储器技术,光盘只读存储器(CD-ROM),数字多功能盘(DVD)或其他光存储设备,磁带盒,磁带,磁盘存储设备或其他磁存储设备,或可用于存储计算设备访问的信息的任何其他非传输介质。相比之下,通信介质在诸如载波的已调制数据信号或其他传输机制中体现计算机可读指令、数据结构、程序模块等。如本文所定义的,计算机存储介质不包括通信介质。因此,计算机存储介质本身不应被解释为传播信号。虽然计算机存储介质(存储器1016)被示出在基于计算的设备1000内,但是将理解,在一些示例中,存储设备被分布或位于远程并且经由网络或其他通信链路(例如使用通信接口1018)被访问。
基于计算的设备1000还包括被布置为向显示设备1022输出显示信息的输入/输出控制器1020,该显示设备1022可选地与基于计算的设备1000分离或者与其集成。显示设备显示一个或多个虚拟实体,如上所述。在一些示例中,显示信息可选地提供图形用户界面。在一些示例中,输入/输出控制器1020还被布置为接收并处理来自诸如用户输入设备1024(例如,鼠标、键盘、相机、麦克风或其他传感器)的一个或多个设备的输入。捕捉设备1014(例如,深度相机、彩色相机、摄像机、网络相机、飞行时间传感器、距离扫描仪、医学成像设备或其他捕捉设备1014)将捕捉到的传感器数据提供给输入/输出控制器1020。在一些示例中,用户输入设备1020检测语音输入、用户手势或其他用户动作。该用户输入用于操纵一个或多个虚拟现实实体或用于其他目的。在实施例中,如果显示设备1022是触敏显示设备,则显示设备1022充当用户输入设备1024。输入/输出控制器1024能够将数据输出到除了显示设备之外的设备,例如,在一些示例中是本地连接的打印设备。
输入/输出控制器1020、显示设备1022和用户输入设备1024中的任何一个包括使得用户能够以没有由诸如鼠标、键盘、遥控器等的输入设备施加的人为约束的方式与基于计算的设备交互的技术。可选地被使用的这种技术的示例包括但不限于依赖于语音和/或话语识别、触摸和/或触笔识别(触敏显示器)、屏幕上和屏幕附近的手势识别、空中手势、头部和眼睛跟踪、语音和话语、视觉、触摸、手势和机器智能的那些技术。
替代地或除了本文所述的其他实例之外,示例包括以下的任何组合:
一种装置,包括:
存储器,其被配置为接收描绘操作控制系统的用户的至少一只手的捕捉到的传感器数据;
跟踪器,其被配置为根据捕捉到的传感器数据来计算手的三维模型的姿态参数的值,所述姿态参数包括所述手的多个关节中的每一个关节的位置和取向;
物理引擎,其存储关于至少一个虚拟实体的数据;
其中所述物理引擎被配置为至少基于所述姿态参数的值和关于手的三维模型的数据,来计算在所述虚拟实体与所述用户的手的三维模型之间的交互;以及
反馈引擎,其被配置为触发关于计算出的交互的针对用户的反馈,所述反馈是视觉反馈、听觉反馈、触觉反馈中的任何一个或多个。
在示例中,所述物理引擎被配置为使用一个或多个球体来计算所述交互,所述一个或多个球体近似已经应用了所述姿态参数的值的所述手的三维模型。
在示例中,所述物理引擎被配置为使用所述手的三维模型来计算所述交互,其中所述手的三维模型是具有包括多个关节的关联骨架的模型。
在示例中,所述跟踪器被配置为根据所述捕捉到的传感器数据计算所述三维模型的形状参数的值,从而所述三维模型被校准成所述用户的手的个体形状。
在示例中,所述跟踪器被配置为通过计算用于将所述手的三维模型拟合到与捕捉到的传感器数据相关的数据的优化来计算所述姿态参数的值,其中表示所述数据与模型之间的对应性的变量与姿态参数一起联合地被包含于优化中。
在示例中,所述三维模型是手的被操纵的光滑表面模型。
在示例中,所述跟踪器被配置为使用基于梯度的优化过程来计算所述优化。
在示例中,所述物理引擎被配置为在所述虚拟实体作为软体可变形的情况下计算所述交互,作为所述手的三维模型根据姿态参数的值进行的交互的结果。
在示例中,所述物理引擎被配置为在所述虚拟实体作为刚体而被移动的情况下计算所述交互,作为手的三维模型根据所述姿态参数的值进行的交互的结果。
在示例中,所述物理引擎被配置为计算所述交互,使得所述虚拟实体看起来附着到用户的手上并能够在所述用户的手上移动。
在示例中,所述物理引擎被配置为将指令发送到至少一个输出设备以便触发音频和/或触觉反馈。
在示例中,所述物理引擎存储关于乐器或计算设备的键盘的形式的虚拟实体的数据,从而所述用户能够使用手来控制虚拟键盘。
在示例中,存在一种装置,包括:
存储器,其被配置为接收描绘操作控制系统的用户的至少一只手的捕捉到的传感器数据;
跟踪器,其被配置为根据捕捉到的传感器数据来计算手的三维模型的姿态参数的值,所述姿态参数包括手的多个关节中的每一个关节的位置和取向,其中手的三维模型具有被设置为针对个体用户校准的值的形状参数;
物理引擎,其存储关于至少一个虚拟实体的数据;
其中所述物理引擎被配置为至少基于所述姿态参数的值和关于所述手的三维模型的数据来计算所述虚拟实体与所述用户的手的三维模型之间的交互;以及
反馈引擎,其被配置为触发关于计算出的交互的针对用户的反馈,所述反馈是视觉反馈、听觉反馈、触觉反馈中的任何一个或多个。
在一个示例中,存在一种计算机实现的方法,包括:
接收描绘操作控制系统的用户的至少一只手的捕捉到的传感器数据;
根据捕捉到的传感器数据来计算手的三维模型的姿态参数的值,所述姿态参数包括所述手的多个关节中的每一个关节的位置和取向;
使用物理引擎,至少基于所述姿态参数的值和关于手的三维模型的数据,来计算所述虚拟实体与所述用户的手的三维模型之间的交互;以及
触发关于计算出的交互的针对用户的反馈,所述反馈是视觉反馈、听觉反馈、触觉反馈中的任何一个或多个。
在示例中,所述方法包括:根据所述捕捉到的传感器数据,计算所述三维模型的形状参数的值,从而所述三维模型被校准成所述用户的手的个体形状。
在示例中,所述方法包括:通过计算用于将所述手的三维模型拟合到与捕捉到的传感器数据相关的数据的优化,来计算所述姿态参数的值,其中表示所述数据与模型之间的对应性的变量与姿态参数一起联合地被包含于优化中。
在示例中,所述三维模型是手的被操纵的光滑表面模型。
在示例中,所述方法包括使用基于梯度的优化过程来计算所述优化。
在示例中,所述方法包括计算交互,从而虚拟实体看起来附着到用户的手上并能够在用户的手上移动。
在示例中,所述方法包括在物理引擎处存储关于乐器或计算设备的键盘的形式的虚拟实体的数据,从而所述用户能够使用手来控制虚拟键盘。
在示例中,存在一种装置,包括:
用于接收描绘操作控制系统的用户的至少一只手的捕捉到的传感器数据的部件(例如,存储器520);
用于根据捕捉到的传感器数据来计算手的三维模型的姿态参数的值的部件(例如,跟踪器502),所述姿态参数包括所述手的多个关节中的每一个关节的位置和取向;
用于至少基于所述姿态参数的值和关于手的三维模型的数据,来计算在所述虚拟实体与所述用户的手的三维模型之间的交互的部件(例如,物理引擎514);以及
用于触发关于计算出的交互的针对用户的反馈的部件(例如,反馈引擎516),所述反馈是视觉反馈、听觉反馈、触觉反馈中的任何一个或多个。
本文中图示和描述的示例以及未在本文中具体描述但在本公开的各方面的范围内的示例构成用于跟踪用户的手并且给出关于用户的手与一个或多个虚拟实体的交互的反馈的示例性部件。例如,图5和图10中示出的元件,例如当被编码以执行图6、7和9中任一项所示的操作时,构成用于接收捕捉到的传感器数据的示例性部件,用于计算姿态参数值的示例性部件,以及用于触发反馈的示例性部件。
这里使用的术语“计算机”或“基于计算的设备”是指具有处理能力从而能够执行指令的任何设备。本领域技术人员将认识到,这样的处理能力被并入到许多不同的设备中,因此术语“计算机”和“基于计算的设备”各自包括个人计算机(PC)、服务器、移动电话(包括智能电话)、平板计算机、机顶盒、媒体播放器、游戏机、个人数字助理和许多其他设备。
在一些示例中,通过有形存储介质上的机器可读形式(例如,以计算机程序的形式)的软件执行本文描述的方法,所述计算机程序包括计算机程序代码部件,其适于在所述程序在计算机上运行时以及当计算机程序体现在计算机可读介质时执行本文描述的任何方法的所有操作。有形存储介质的示例包括计算机存储设备,其包括计算机可读介质,例如,磁盘、拇指驱动、存储器等,并且不包括传播信号。软件适合在并行处理器或串行处理器上执行,从而方法操作以任何适当的次序或同时执行。
这承认软件是有价值的可单独交易的商品。它旨在涵盖运行于或控制“哑”或标准硬件以执行所需的功能的软件。它还旨在包含“描述”或定义硬件配置的软件,例如HDL(硬件描述语言)软件,用于设计硅芯片或配置通用可编程芯片,以执行所需的功能。
本领域技术人员将认识到,用于存储程序指令的存储设备可跨网络分配。例如,远程计算机能够存储描述为软件的过程的示例。本地或终端计算机能够访问远程计算机并下载部分或全部软件以运行该程序。替代地,本地计算机能够根据需要下载软件片段,或者在本地终端执行一些软件指令且在远程计算机(或计算机网络)执行一些软件指令。本领域技术人员还将认识到,通过利用本领域技术人员已知的常规技术,全部或部分软件指令由专用电路(例如数字信号处理器(DSP)、可编程逻辑阵列等)执行。
如对本领域技术人员显而易见的,可以扩展或改变本文给出的任何范围或设备值而不失去所寻求的效果。
虽然已经用特定于结构特征和/或方法动作的语言描述了技术方案,但是应当理解,在所附权利要求中限定的技术方案不一定限于上述特定特征或动作。相反,上述特定特征和动作是作为实现权利要求的示例性形式公开的。
应该理解,上述益处和优点涉及一个实施例或涉及若干实施例。实施例不限于解决任何或全部所述问题的那些实施例或具有任何或所有所述益处和优点的那些实施例。将进一步理解的是,对“一个”项目的引用是指这些项目中的一个或多个。
在此描述的方法的操作以任何合适的次序执行,或者在适当的情况下同时执行。另外,在不背离本文所述技术方案的精神和范围的情况下,可以从任何方法中可选地删除各个框。上述任何示例的各方面可选地与所描述的任何其他示例的各方面组合以形成进一步的示例,而不失去所寻求的效果。
术语“包括”在本文中用于表示包括标识的方法框或元件,但是这些框或元件不包括排他列表,并且方法或装置可以包含附加的框或元件。
应该理解,以上描述仅通过示例给出,并且本领域技术人员可以进行各种修改。以上说明、示例和数据提供了示例性实施例的结构和使用的完整描述。虽然以上已经以一定程度的特定性或参考一个或多个单独的实施例描述了各种实施例,但是本领域技术人员可以对所公开的实施例进行许多改变而不背离本说明书的精神或范围。
Claims (15)
1.一种装置,包括:
存储器,其被配置为接收描绘操作控制系统的用户的至少一只手的捕捉到的传感器数据;
跟踪器,其被配置为根据所述捕捉到的传感器数据来计算所述手的三维模型的姿态参数的值,所述姿态参数包括所述手的多个关节中的每个关节的位置和取向;
物理引擎,其存储关于至少一个虚拟实体的数据;
其中所述物理引擎被配置为至少基于所述姿态参数的所述值和关于所述手的所述三维模型的数据,来计算所述虚拟实体与所述用户的所述手的所述三维模型之间的交互;以及
反馈引擎,其被配置为触发关于计算出的所述交互的、针对所述用户的反馈,所述反馈是视觉反馈、听觉反馈、触觉反馈中的任何一种或多种。
2.根据权利要求1所述的装置,其中所述物理引擎被配置为使用一个或多个球体来计算所述交互,所述一个或多个球体近似所述手的所述三维模型,所述姿态参数的所述值已经被应用于所述手的所述三维模型。
3.根据权利要求1所述的装置,其中所述物理引擎被配置为使用所述手的所述三维模型来计算所述交互,其中所述手的所述三维模型是具有包括所述多个关节的关联骨架的模型。
4.根据任一前述权利要求所述的装置,其中所述跟踪器被配置为根据所述捕捉到的传感器数据计算所述三维模型的形状参数的值,使得所述三维模型被校准成所述用户的手的个体形状。
5.根据任一前述权利要求所述的装置,其中所述跟踪器被配置为通过计算用于将所述手的所述三维模型拟合到与所述捕捉到的传感器数据相关的数据的优化来计算所述姿态参数的值,其中表示所述数据与所述模型之间的对应性的变量与所述姿态参数一起联合地被包含于所述优化中。
6.根据权利要求5所述的装置,其中所述三维模型是所述手的被操纵的光滑表面模型。
7.根据权利要求5或权利要求6所述的装置,其中所述跟踪器被配置为使用基于梯度的优化过程来计算所述优化。
8.根据任一前述权利要求所述的装置,其中所述物理引擎被配置为在所述虚拟实体作为软体而可变形的情况下计算所述交互,作为所述手的所述三维模型根据所述姿态参数的所述值进行的交互的结果。
9.根据权利要求1至7中任一项所述的装置,其中所述物理引擎被配置为在所述虚拟实体作为刚体而被移动的情况下计算所述交互,作为所述手的所述三维模型根据所述姿态参数的所述值进行的交互的结果。
10.根据任一前述权利要求所述的装置,其中所述物理引擎被配置为计算所述交互,使得所述虚拟实体看起来附着到所述用户的手并能够在所述用户的手上移动。
11.根据任一前述权利要求所述的装置,其中所述物理引擎被配置为将指令发送到至少一个输出设备以便触发音频和/或触觉反馈。
12.根据任一前述权利要求所述的装置,其中所述物理引擎存储关于乐器或计算设备的键盘的形式的所述虚拟实体的数据,使得所述用户能够使用所述手来控制虚拟键盘。
13.一种计算机实现的方法,包括:
接收描绘操作控制系统的用户的至少一只手的捕捉到的传感器数据;
根据所述捕捉到的传感器数据来计算所述手的三维模型的姿态参数的值,所述姿态参数包括所述手的多个关节中的每个关节的位置和取向;
使用物理引擎,至少基于所述姿态参数的所述值和关于所述手的所述三维模型的数据,来计算虚拟实体与所述用户的所述手的所述三维模型之间的交互;以及
触发关于计算出的所述交互的、针对所述用户的反馈,所述反馈是视觉反馈、听觉反馈、触觉反馈中的任何一种或多种。
14.根据权利要求13所述的方法,包括:根据所述捕捉到的传感器数据计算所述三维模型的形状参数的值,使得所述三维模型被校准成所述用户的手的个体形状。
15.根据权利要求13或权利要求14所述的方法,包括:通过计算用于将所述手的所述三维模型拟合到与所述捕捉到的传感器数据相关的数据的优化,来计算所述姿态参数的值,其中表示所述数据与所述模型之间的对应性的变量与所述姿态参数一起联合地被包含于所述优化中。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/982,911 | 2015-12-29 | ||
US14/982,911 US20170185141A1 (en) | 2015-12-29 | 2015-12-29 | Hand tracking for interaction feedback |
PCT/US2016/067643 WO2017116816A1 (en) | 2015-12-29 | 2016-12-20 | Hand tracking for interaction feedback |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108369478A true CN108369478A (zh) | 2018-08-03 |
Family
ID=57861227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680073883.6A Withdrawn CN108369478A (zh) | 2015-12-29 | 2016-12-20 | 用于交互反馈的手部跟踪 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20170185141A1 (zh) |
EP (1) | EP3398045A1 (zh) |
CN (1) | CN108369478A (zh) |
WO (1) | WO2017116816A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111338287A (zh) * | 2020-03-13 | 2020-06-26 | 南方科技大学 | 机器人运动控制方法、装置、系统、机器人及存储介质 |
WO2021000327A1 (zh) * | 2019-07-04 | 2021-01-07 | 深圳市瑞立视多媒体科技有限公司 | 手部模型生成方法、装置、终端设备及手部动作捕捉方法 |
CN113496168A (zh) * | 2020-04-02 | 2021-10-12 | 百度在线网络技术(北京)有限公司 | 手语数据采集方法、设备、存储介质 |
WO2023160356A1 (zh) * | 2022-02-25 | 2023-08-31 | 凝动医疗技术服务(上海)有限公司 | 一种增强虚拟现实系统用户体验的方法及系统 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10565791B2 (en) | 2015-12-29 | 2020-02-18 | Microsoft Technology Licensing, Llc | Tracking rigged polygon-mesh models of articulated objects |
US10186081B2 (en) | 2015-12-29 | 2019-01-22 | Microsoft Technology Licensing, Llc | Tracking rigged smooth-surface models of articulated objects |
US10418008B2 (en) * | 2016-07-20 | 2019-09-17 | Beamz Ip, Llc | Cyber reality device including gaming based on a plurality of musical programs |
US20230107110A1 (en) * | 2017-04-10 | 2023-04-06 | Eys3D Microelectronics, Co. | Depth processing system and operational method thereof |
US10803616B1 (en) | 2017-04-13 | 2020-10-13 | Facebook Technologies, Llc | Hand calibration using single depth camera |
US10460512B2 (en) * | 2017-11-07 | 2019-10-29 | Microsoft Technology Licensing, Llc | 3D skeletonization using truncated epipolar lines |
JP2019149066A (ja) * | 2018-02-28 | 2019-09-05 | 富士ゼロックス株式会社 | 情報処理装置及びプログラム |
US10867441B2 (en) * | 2019-02-15 | 2020-12-15 | Microsoft Technology Licensing, Llc | Method and apparatus for prefetching data items to a cache |
US11442417B2 (en) * | 2019-03-29 | 2022-09-13 | Microsoft Technology Licensing, Llc | Control system using autoencoder |
US11551374B2 (en) | 2019-09-09 | 2023-01-10 | Snap Inc. | Hand pose estimation from stereo cameras |
CN112419419A (zh) * | 2019-11-27 | 2021-02-26 | 上海联影智能医疗科技有限公司 | 用于人体姿势和形状估计的系统和方法 |
US11090873B1 (en) * | 2020-02-02 | 2021-08-17 | Robert Edwin Douglas | Optimizing analysis of a 3D printed object through integration of geo-registered virtual objects |
US11402634B2 (en) * | 2020-12-30 | 2022-08-02 | Facebook Technologies, Llc. | Hand-locked rendering of virtual objects in artificial reality |
CN112433628B (zh) * | 2021-01-28 | 2021-06-08 | 深圳市瑞立视多媒体科技有限公司 | 双光球交互笔的刚体位姿确定方法、装置和计算机设备 |
DE102021125204A1 (de) | 2021-09-29 | 2023-03-30 | Dr. Ing. H.C. F. Porsche Aktiengesellschaft | Verfahren und System für eine kooperative Maschinenkalibrierung mit KIAgent mittels Mensch-Maschine-Schnittstelle |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7472047B2 (en) * | 1997-05-12 | 2008-12-30 | Immersion Corporation | System and method for constraining a graphical hand from penetrating simulated graphical objects |
US7249637B2 (en) * | 1997-09-02 | 2007-07-31 | Weatherford/Lamb, Inc. | Method and device to clamp control lines to tubulars |
US20080231926A1 (en) * | 2007-03-19 | 2008-09-25 | Klug Michael A | Systems and Methods for Updating Dynamic Three-Dimensional Displays with User Input |
US20100053151A1 (en) * | 2008-09-02 | 2010-03-04 | Samsung Electronics Co., Ltd | In-line mediation for manipulating three-dimensional content on a display device |
US20120032664A1 (en) * | 2010-08-03 | 2012-02-09 | Microsemi Corporation | Single inductor power converter system and methods |
US8959013B2 (en) * | 2010-09-27 | 2015-02-17 | Apple Inc. | Virtual keyboard for a non-tactile three dimensional user interface |
AU2011203028B1 (en) * | 2011-06-22 | 2012-03-08 | Microsoft Technology Licensing, Llc | Fully automatic dynamic articulated model calibration |
US9552673B2 (en) * | 2012-10-17 | 2017-01-24 | Microsoft Technology Licensing, Llc | Grasping virtual objects in augmented reality |
-
2015
- 2015-12-29 US US14/982,911 patent/US20170185141A1/en not_active Abandoned
-
2016
- 2016-12-20 EP EP16829165.6A patent/EP3398045A1/en not_active Withdrawn
- 2016-12-20 CN CN201680073883.6A patent/CN108369478A/zh not_active Withdrawn
- 2016-12-20 WO PCT/US2016/067643 patent/WO2017116816A1/en active Application Filing
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021000327A1 (zh) * | 2019-07-04 | 2021-01-07 | 深圳市瑞立视多媒体科技有限公司 | 手部模型生成方法、装置、终端设备及手部动作捕捉方法 |
CN111338287A (zh) * | 2020-03-13 | 2020-06-26 | 南方科技大学 | 机器人运动控制方法、装置、系统、机器人及存储介质 |
CN113496168A (zh) * | 2020-04-02 | 2021-10-12 | 百度在线网络技术(北京)有限公司 | 手语数据采集方法、设备、存储介质 |
WO2023160356A1 (zh) * | 2022-02-25 | 2023-08-31 | 凝动医疗技术服务(上海)有限公司 | 一种增强虚拟现实系统用户体验的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2017116816A1 (en) | 2017-07-06 |
US20170185141A1 (en) | 2017-06-29 |
EP3398045A1 (en) | 2018-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108369478A (zh) | 用于交互反馈的手部跟踪 | |
US11615598B2 (en) | Mission driven virtual character for user interaction | |
US11669726B2 (en) | Methods and systems for interpolation of disparate inputs | |
US9330502B2 (en) | Mixed reality simulation methods and systems | |
US9552673B2 (en) | Grasping virtual objects in augmented reality | |
JP2019517049A (ja) | 姿勢および複数のdofコントローラを用いた3d仮想オブジェクトとの相互作用 | |
CN106873767B (zh) | 一种虚拟现实应用的运行控制方法和装置 | |
WO2023071964A1 (zh) | 数据处理方法, 装置, 电子设备及计算机可读存储介质 | |
Khundam | First person movement control with palm normal and hand gesture interaction in virtual reality | |
CN103608844A (zh) | 全自动动态关节连接的模型校准 | |
Tsai et al. | Unity game engine: Interactive software design using digital glove for virtual reality baseball pitch training | |
US11836840B2 (en) | Systems and methods for cross-application authoring, transfer, and evaluation of rigging control systems for virtual characters | |
US20230260156A1 (en) | Methods and systems for interpolation of disparate inputs | |
Usabiaga et al. | Global hand pose estimation by multiple camera ellipse tracking | |
EP3598270A1 (en) | Method and control unit for controlling a virtual reality display, virtual reality display and virtual reality system | |
US20220111290A1 (en) | Haptic engine for spatial computing | |
Yang et al. | Bimanual natural user interaction for 3D modelling application using stereo computer vision | |
WO2022201922A1 (ja) | 情報処理装置、情報処理方法及び情報処理システム | |
US11430170B1 (en) | Controlling joints using learned torques | |
US20240212302A1 (en) | Artificial Reality Weight Simulation for a Virtual Object | |
Cui | Mid-air hand interaction with optical tracking for 3D modelling | |
Oore | DIGITAL MARIONETTE: augmenting kinematics with physics for multi-track desktop performance animation | |
Humberston | Precision manipulations using a low-dimensional haptic interface | |
Tecchia et al. | Addressing the problem of Interaction in fully Immersive Virtual Environments: from raw sensor data to effective devices | |
Goncalves | Automatic observation and synthesis of human motion |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20180803 |
|
WW01 | Invention patent application withdrawn after publication |