从空间手势推断空间对象描述的制作方法

xiaoxiao2020-7-22  6

【专利下载】Tel:18215660330

从空间手势推断空间对象描述的制作方法
【专利摘要】基于参与者的至少一只手的自由形式的移动,基于至少一只手的自然手势动作,可接收与参与者的至少一个手臂动作相关联的三维(3-D)空间图像数据。多个连续的3-D空间表示可基于所接收的3-D空间图像数据来确定,每一个3-D空间表示包括3-D空间映射数据,该3-D空间映射数据对应于手在自由形式的移动期间在连续的时间实例处的3-D姿态和位置。基于将包括在所确定的连续的3-D空间表示中的3-D空间映射数据逐渐进行集成,并将阈值时间值与模型时间值进行对比,通过空间对象处理器,来生成集成3-D模型,其中模型时间值指示在自由形式移动期间占据多个3-D空间区域的手花费的时间实例的数量。
【专利说明】从空间手势推断空间对象描述
【背景技术】
[0001]对于许多人来说,表述物体的形状和尺寸可能是挑战性的。例如,在交谈中,许多人可使用手势来帮助描述形状,特别是当仅使用言语表达可能麻烦的时候。例如,新车的车顶轮廓线可以通过伸出的手的突然下降来表述,或者可以通过描述对特定椅子设计而言独特的表面布置的一系列手势来向店主指示一种特别的椅子类型。在这样的情况中,表述信息的人常常显得要画出所描述物体的三维(3-D)形状的轮廓线。听者可专心地看着手势,并试图在他/她自己的脑海中重新创建该3-D形状。
[0002]商店和仓库可能欢迎利用标记和/或通过存货清单查找提供帮助的客户服务代表的购物者。例如,查找椅子的客户可能请求一个品牌名称或类型,客户服务代表可将其键入附连到仓库存货清单系统的键盘,并接收关于请求项目的商店位置的信息,或请求项目不可用的指示。如果购物者不知道/记得品牌名称或类型名称/编号,客户可能尝试向客户服务代表描述所需的项目以确定该代表是否可以想起在存货清单中看到这样的项目。
[0003]许多游戏环境向玩家提供将特定对象召入游戏的选项。例如,战争游戏的玩家可请求特定武器,例如弓和箭、双截棍、指节套环,或各种类型的枪和加农炮。这些项目可在发行给客户之前被编程到游戏中。作为另一个示例,虚拟社区游戏可向玩家提供他们可以合并到他们特别希望的虚拟环境中的项目的选项。例如,用户可通过从一大批各种各样的恐龙和笼子,以及食物和清洁补给中进行选择来建造一个恐龙园,所有这些都可在发行前被预编程到游戏中。例如,用户可通过查看游戏存货清单项目的列表,并通过输入设备点击、触摸,或指向所要的项目来选择希望的项目。

【发明内容】

[0004]根据一个一般方面,空间对象管理引擎可包括配置用来启动对包括多个数据库对象的数据库的访问的数据库访问引擎,每个数据库对象与模拟预先确定的3-D项目的外观的预定义的三维(3-D)模型相关联。空间对象管理引擎也可包括配置用来接收3-D空间图像数据的图像数据接收引擎,该3-D空间图像数据基于参与者的至少一只手的自由形式的移动、基于自然手势动作而与参与者的至少一个手臂动作相关联。空间对象管理引擎也可包括集成模型生成器,该集成模型生成器配置用来基于根据所接收的3-D空间图像数据集成至少一只手的3-D定位的时间上连续的3-D表示来生成集成的3-D模型。空间对象管理引擎还可包括匹配引擎,该匹配引擎配置用于通过空间对象处理器,基于访问数据库访问引擎并确定与预先定义的3-D模型的与集成3-D模型匹配的至少一个相关联的至少一个数据库对象,来选择预先确定的3-D项目的至少一个。
[0005]根据另一个方面,有形地在计算机可读介质上体现的计算机程序产品可以包括可执行代码,在被执行时,该可执行代码被配置成使得至少一个数据处理装置基于参与者的至少一只手的自由形式的移动,基于该至少一只手的自然手势动作,来接收与参与者的至少一个手臂动作相关联的三维(3-D)空间图像数据。此外,数据处理装置基于所接收的3-D空间图像数据可确定多个连续的3-D空间表示,每一个3-D空间表示包括3-D空间映射数据,该3-D空间映射数据对应于该至少一只手在自由形式的移动期间在连续的时间实例处的3-D姿态和位置。此外,基于将包括在所确定的按顺序的3-D空间表示中的3-D空间映射数据逐渐进行集成,并将阈限时间值与模型时间值进行对比,数据处理装置可,通过空间对象处理器,来生成集成3-D模型,其中模型时间值指示在自由形式移动期间占据多个3-D空间区域的至少一只手花费的时间实例的数量。
[0006]根据另一方面,有形地在计算机可读介质上体现的计算机程序产品可以包括可执行代码,在被执行时,该可执行代码被配置成使得至少一个数据处理装置,基于参与者的自由形式移动,基于仿效预先确定的三维(3-D)项目的外观的自然手势动作,接收与参与者的至少一个自然手势相关联的三维(3-D)传感数据。此外,数据处理装置可,基于将所接收的3-D传感数据进行集成来生成集成的3-D模型,该3-D传感数据表示根据自由形式的与移动的参与者相关联的至少一个3-D移动对象的3-D定位。此外,数据处理装置,通过空间对象处理器,可确定匹配于所集成的3-D模型的与数据库对象相关联的预先定义的3-D模型。
[0007]提供本
【发明内容】
以便以简化形式介绍将在以下【具体实施方式】中进一步描述的一些概念。本
【发明内容】
并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。一个或多个实现的细节在以下的附图和说明书中阐述。其他特征将从说明书和附图以及权利要求书中显而易见。
【专利附图】

【附图说明】
[0008]图1a是空间对象管理的示例系统的框图。
[0009]图1b是图1a的示例系统的部分的视图的框图。
[0010]图2a_2d是示出图1a-1b的系统的示例操作的流程图。
[0011]图3a_3c是示出图1a-1b的系统的示例操作的流程图。
[0012]图4是示出图1a-1b的系统的示例操作的流程图。
[0013]图5a_5e示出了示例手势移动和与手势移动相关联的示例模型。
[0014]图6示出了示例参与者在紧邻摄像机处做手势。
[0015]图7示出了示例三维(3-D)项目。
[0016]图8a_8c示出示例参与者的示例手势。
[0017]图9示出了参与者的示例手部姿态。
[0018]图1Oa-1Ob示出了参与者的示例手部姿态。
[0019]图1la-1ld示出了根据图1的示例系统的图像数据的示例处理的图形视图。
[0020]图12示出了将所生成的3-D模型与预先确定的3-D模型进行匹配的示例叠加结
果O
【具体实施方式】
[0021]在谈及或描述物理对象时,说话者常常使用手势。例如,这样的手势帮助说话者传达口头难以描述的形状的特性。此处描述的技术可被用来,例如,提供用于生成三维(3-D)模型的基于手势的描述功能,该3-D模型可仿效做手势的人预想的3-D项目的外观。例如,在零售商场的客户可能希望确定商场在其当前存货清单里是否可能有特定项目。使用此处描述的技术,客户在传感设备(例如,深度相机)的范围内使用他/她的手(或其它物体)可做手势,或用手比划,3-D项目的描述(例如空间上描述3-D项目),而示例系统可基于客户的手势生成3-D模型。如果希望,可随后将所生成的模型与例如在存货清单数据库中预先确定的3-D模型进行匹配,以确定最接近匹配于所生成的3-D模型的一个或多个预先定义的项目。例如,系统可随后将最接近的匹配在它们的位置旁边呈现给客户或商店雇员。
[0022]如果商店雇员或经理想要向存货清单数据库添加另一个存货对象(例如,用于以后选择),他/她可向数据库提供预先构造的3-D模型,或可向传感器设备(例如,深度相机)呈现一个3-D对象,使得3-D模型可被生成并被添加到存货清单数据库用于以后检索。
[0023]作为另一个示例,参与电子辅助游戏活动的人可能想要让特定的游戏对象召入游戏体验中。他/她可(例如,以下进一步讨论的通过手势,或数据模仿)空间地描述游戏对象之一,使得示例系统可基于人的手势生成3-D模型。例如,系统可随后搜索与预先确定的游戏对象相关联的预先确定的3-D模型的数据库,以确定与所生成的3-D模型最接近匹配的一个或多个预先定义的项目。例如,游戏可将对象定制到玩家手势指示的尺寸上。
[0024]如果这个人要向游戏对象数据库添加另一个游戏对象(例如,用于以后选择),这个人可向数据库提供预先构造的3-D模型,或可向传感器设备(例如,深度相机)呈现一个物理3-D对象,使得3-D模型可被生成并被添加到游戏数据库用于以后检索。
[0025]在另一个示例中,参与虚拟环境活动的人可能想要召集3-D虚拟对象用于虚拟环境。和先前的示例类似,他/她可做手势、或用手比划,希望的3-D对象的描述,而示例系统可基于他/她的手势生成3-D模型。所生成的3-D模型可随后被用于搜索预先确定的虚拟环境对象的数据库以确定一个或多个匹配。例如,一个孩子可能想要通过召入预先确定的房子结构和诸如家具的预先确定的家用物品来设置虚拟玩具屋。例如,这个孩子可(例如通过做手势,或用手比划)空间地描述一张桌子,而系统可在虚拟环境数据库中搜索匹配的预先定义的3-D对象。
[0026]例如,用户通过向数据库提供预先构造的3-D模型,或向传感设备(例如,深度相机)呈现物理的3-D对象,可向虚拟环境数据库添加新的虚拟环境对象,使得3-D模型可被生成并被添加到虚拟环境数据库用于以后检索。
[0027]如这里进一步讨论的,图1a是空间对象管理的示例系统100的框图。图1b是图1a的示例系统的部分的更详细的视图的框图。
[0028]如图1a-1b所示,空间对象管理引擎102可包括可被配置用来接收传感数据106的传感数据接收引擎104。例如,传感数据接收引擎104可从一个或多个传感设备接收传感数据106。存储器108可被配置用来存储包括传感数据106的信息。例如,传感数据106可包括从图像数据输入设备112接收的图像数据110、从音频数据输入设备116接收的音频数据114,和/或从触觉数据输入设备120接收的触觉数据118。例如,图像数据输入设备112可包括可被配置用来获得3-D空间图像数据的三维(3-D)图像数据设备。例如,图像数据输入设备112可包括可被配置用来获取包括深度值的图像数据110的深度相机。作为另一个示例,图像数据输入设备112可包括被配置用来获得表示对应于3-D形状的立体图像的图像数据110 —个或多个相机。在该上下文中,“存储器”可包括被配置成存储数据和/或指令的单个存储器设备或多个存储器设备。此外,存储器108可跨多个分布的存储设备。
[0029]用户界面引擎122可被配置成管理用户124与空间对象管理引擎102之间的通信。例如,商店雇员或系统管理员(例如,用户124)可通过用户界面引擎122与空间对象管理引擎102通信。网络通信引擎126可被配置成管理空间对象管理引擎102和可通过一个或多个网络与空间对象管理引擎102通信的其他实体之间的通信。
[0030]例如,显示器128可为用户124 (例如,商店雇员或系统管理员)提供视觉的、音频的,和/或触觉媒介,来监视他/她的向空间对象管理引擎102的输入和来自空间对象管理引擎102的响应。例如,用户124可以经由触摸垫、触摸屏、键盘或小键盘、鼠标设备、跟踪球设备、或者音频输入设备或其他输入传感设备来提供输入。例如,用户124可以说出信息以供语音识别处理成字符格式。
[0031]根据示例实施例,传感数据接收引擎104可包括可被配置用来接收3-D空间图像数据的图像数据接收引擎130,该3-D空间图像数据基于参与者132的至少一只手的自由形式的移动、基于自然手势动作而与参与者的至少一个手臂动作相关联。例如,图像数据接收引擎130可从图像数据输入设备112接收3-D空间图像数据,图像数据输入设备112可包括聚焦在可被参与者132部分占据的3-D空间上的深度相机。
[0032]在此上下文中,“自然手势”可包括在基本上没有关于手势要如何作出的提前的指令,且基本上没有任何特定手势的预先确定的顺序的情况下由参与者作出的手势。因此,“自然手势”可包括只由参与者以参与者选择的任何定时或定序的形式确定的手势。此外,“自然手势”可包括诸如对象的各种组件(例如,桌子顶、腿、椅背、椅座、椅子腿)的高度、宽度,和深度,以及形状和定位的元素。
[0033]空间对象管理弓I擎102可包括传感数据分析弓丨擎134,传感数据分析弓丨擎134包括空间表示引擎136 (如图1b所示),空间表示引擎136可被配置用来基于所接收的3-D空间图像数据来确定多个按顺序的3-D空间表示138,每个3-D空间表示包括3-D空间映射数据,该3-D空间映射数据对应于至少一只手在自由形式的移动期间在连续的时间实例下的3-D姿态和位置。
[0034]空间对象管理引擎102可包括集成模型生成器140,集成模型生成器140可被配置用来通过空间对象处理器142,基于将包括在所确定的按顺序的3-D空间表示138中的3-D空间映射数据逐渐进行集成,并将阈限时间值146与模型时间值进行对比,来生成集成3-D模型144,其中模型时间值指示在自由形式移动期间占据多个3-D空间区域的至少一只手花费的时间实例的数量。根据一个示例实施例,集成模型生成器140可被配置用来基于根据所接收的3-D空间图像数据110来集成至少一只手的3-D定位的时间上连续的3-D表示,以生成集成的3-D模型144。
[0035]在该上下文中,“处理器”可包括被配置成处理与处理系统关联的处理指令的单个处理器或多个处理器。处理器由此可包括以并行方式和/或分布式方式处理指令的多个处理器。
[0036]在该上下文中,“集成”可包括,在没有定位的特定次序或定时的,且没有与任何预先定义的3-D模型的特定元素相关联的特别预先定义的移动的情况下,手或其它物体的定位的基本上纯的集成或聚集。例如,可以基本没有任何要与集成定位相关联的特别意图的提前的输入或训练。
[0037]根据一个示例实施例,空间对象管理引擎102可包括初始化引擎148,初始化引擎148被配置用来基于被表示为容积化的元素的离散化了的3-D虚拟映射元素来初始化虚拟3-D映射空间,每个容积化的元素包括初始化为初始值的权重值,其中虚拟3-D映射空间表示紧邻参与者132的3-D空间。例如,集成的模型144可包括虚拟3-D映射空间。
[0038]根据示例实施例,集成模型生成器140可包括元素激活引擎150 (如图1b中所示),元素激活引擎150配置用来,基于指示在自由形式移动期间至少一只手的一部分占据了 3-D区域一段时间的确定,将所选的与3-D空间的3-D区域相关联的容积化的元素的权重值成比例地递增。根据一示例实施例,集成模型生成器140可包括配置用来将阈值146与每个容积化元素的权重值进行比较的阈值比较引擎152。
[0039]根据一个示例实施例,集成模型生成器140可包括位置属性引擎154和虚拟元素定位器156,位置属性引擎154配置用来确定至少一只手的深度、位置和朝向,虚拟元素定位器156配置用来确定与虚拟3-D映射空间相关联的容积化元素的位置,该虚拟3-D映射空间对应于至少一只手的深度、位置和朝向。根据示例实施例,元素激活引擎150可被配置用来基于由虚拟元素定位器156确定的位置来激活与虚拟3-D映射空间的区域相关联的表示对应于至少一只手的深度、位置和朝向的深度、位置和朝向的多个容积化元素。
[0040]根据一示例实施例,容积化元素可包括体积图片元素(体素)。根据一示例实施例,初始化引擎148可被配置用于用初始化了的权重值将体素初始化为不活动状态。根据一个示例实施例,元素激活引擎150可被配置用来,基于指示在自由形式移动期间至少一只手的一部分占据3-D区域一段时间的确定,基于通过各组体素的每个激活增加与各组体素相关联的权重值,来激活各组体素。在此上下文中,“体素”可表示3-D图像的最小的可分辨的盒状部分。
[0041]根据一示例实施例,集成模型生成器140可包括配置用来确定由至少一只手的姿态指示的包围空间的包围检测引擎158。例如,包围检测引擎158可确定参与者132的握紧的拳头内的包围区域。
[0042]根据一个示例实施例,集成模型生成器140可包括深度确定引擎160,深度确定引擎160基于对围绕包围空间的区域的深度的确定来确定包围空间的深度。根据一个示例实施例,在与指示包围空间的姿态相关联的一段时间内的,元素激活引擎150可被配置用来激活与虚拟3-D空间的一个区域相关联的表示对应于包围空间的深度、位置和朝向的多个容积化元素,代替对与表示虚拟3-D空间的一个区域相关联的表示对应于至少一只手的深度、位置和朝向的深度、位置和朝向的多个容积化元素的激活。例如,元素激活引擎150可激活与虚拟3-D空间的一个区域相关联的多个容积化元素,虚拟3-D空间的区域表示对应于与参与者132的握紧的拳头相关联的包围空间的深度、位置和朝向,代替对应于在闭合拳头朝向上手占据的容积的区域。
[0043]根据一示例实施例,传感数据分析引擎134可包括容积确定引擎162,容积确定引擎162可被配置用来基于所接收的3-D空间图像数据110来确定与参与者的一只手相关联的容积。根据一个示例实施例,空间表示引擎136可被配置用来基于所确定的容积来确定3-D虚拟映射空间中的一只手的3-D表示。
[0044]根据一个示例实施例,传感数据分析引擎134可包括姿态确定引擎164,姿态确定引擎164可被配置用来基于一只手的3-D表示确定至少一只手的姿态。
[0045]根据示例实施例,包围检测引擎158可被配置用来确定至少一只手的至少一个手姿态指示3-D包围空间。根据一个示例实施例,集成模型生成器140可被配置用来:如果确定包围3-D空间被指示,对于与指示包围空间的姿态相关联的连续时间实例,激活与表示对应于包围空间的深度、位置和朝向的集成3-D模型的部分相关联的多个容积化元素;否贝U,激活与表示对应于至少一只手的深度、位置和朝向的集成3-D模型的部分相关联的深度、位置和朝向的多个容积化元素。例如,元素激活引擎150可被配置用来激活对应于紧握的拳头内的区域的容积化元素,如上所讨论的。
[0046]根据一个示例实施例,姿态确定引擎164可被配置用来确定至少一个手姿态包括平手姿态、弯曲手姿态、握紧成拳的手,或手指捏合的手姿态的一个或多个。例如,单只手可被握紧成拳,或者两只手可被并置以形成包围空间,如以下进一步讨论。
[0047]根据一示例实施例,包围检测引擎158可被配置用来确定由至少一只手的至少一个姿态指示的包围空间,而深度确定引擎160可被配置用来基于对围绕包围空间的区域的深度的确定来确定包围空间的深度。根据一个示例实施例,空间表示引擎136可被配置用来,确定多个按顺序的3-D空间表示,每个3-D空间表示包括对应于针对包围空间的深度、位置和朝向的3-D空间映射数据,代替在与指示包围空间的至少一只手的做姿态相关联的连续的时间实例期间对应于至少一只手的姿态和位置的3-D空间数据。
[0048]根据一示例实施例,空间对象管理引擎102可包括匹配引擎166,匹配引擎166可被配置用来通过空间对象处理器142来确定与匹配于集成3-D模型144的数据库对象170a、170b、170c相关联的预先定义的3-D模型168a、168b、168c,其中,自然手势动作可仿效预先确定的三维(3-D)项目的外观。例如,数据库对象170a、170b、170c可与数据库172相关联而被存储。例如,预先定义的模型168a、168b、168c可表示物理3-D对象。
[0049]根据一个示例实施例,容积确定引擎162可被配置用来基于根据所接收的3-D空间图像数据110,基于随时间跟踪一只手的可视部分,来确定与参与者132的一只手相关联的容积。例如,跟踪引擎174可被配置用来在时间上跟踪所接收的图像数据110。跟踪引擎174可接收跟踪数据175并将其存储于存储器108。例如,跟踪数据175可包括与所接收的3-D空间图像数据的实例相关联的定时数据。
[0050]根据一个示例实施例,位置属性引擎154可被配置用来基于所接收的3-D空间图像数据,基于一只手的被跟踪的可视部分在俯视图中的旋转,来确定一只手的偏转角。
[0051]根据一个示例实施例,位置属性引擎154可被配置用来基于与所跟踪的可视部分相关联的深度值变化来确定一只手的滚转角和俯仰角。
[0052]根据一个示例实施例,空间对象管理引擎102可包括数据库访问引擎176,数据库访问引擎176被配置用来启动对包括多个数据库对象170a、170b、170c的数据库172的访问,每个数据库对象170a、170b、170c与模拟预先确定的3-D项目的外观的预先定义的3-D模型168a、168b、168c相关联。
[0053]根据一个示例实施例,匹配引擎166可被配置用来,通过空间对象处理器142,基于访问数据库访问引擎176以及确定与匹配于集成3-D模型144的预先定义的3-D模型168a、168b、168c相关联的至少一个数据库对象170a、170b、170c,选择至少一个预先确定的3-D项目。例如,匹配引擎166可选择最接近匹配于所生成的集成模型144的一个或多个预先定义的3-D模型168a、168b、168c。
[0054]根据一个示例实施例,空间对象管理引擎102可包括更新项目输入引擎178,更新项目输入引擎178被配置用来获取模拟预先定义的更新3-D项目的外观的更新3-D模型180,并通过数据访问引擎176启动与更新3-D模型180相关联的更新数据库对象在数据库172中的存储。
[0055]根据一个示例实施例,预先定义的更新3-D项目可包括的3-D存货清单项目、3_D游戏对象、3-D现实世界项目或3-D虚拟现实环境对象的一个或多个。
[0056]根据一个示例实施例,更新项目输入引擎178可被配置用来,基于通过输入设备接收与预先定义的更新3-D项目的图片相关联的图像数据110或接收更新3-D模型180的一个或多个,来获取更新3-D模型180。例如,用户124可向传感设备(例如,图像数据输入设备112)呈现物理对象用于模型的生成,或者用户124可提供模拟物理对象的外观的已经生成的模型,用于作为预先定义的3-D模型168而被包括在数据库172中。
[0057]根据一个示例实施例,空间对象管理引擎102可包括配置用来接收与表示说话的至少一个口头指示符相关联的音频数据114的音频数据接收引擎182。根据一个示例实施例,匹配引擎166可被配置用来,基于口头指示符,通过空间对象处理器142,基于访问数据库访问引擎176以及确定与匹配于集成3-D模型144的预先定义的3-D模型168a、168b、168c的至少一个相关联的至少一个数据库对象170a、170b、170c,选择至少一个预先确定的3-D项目。例如,参与者132可说出“椅子”的发音,使得匹配引擎166可从匹配操作的考虑中除去与“椅子”无关的项目。
[0058]根据一个示例实施例,匹配引擎166可包括初步对齐引擎184,初步对齐引擎184被配置用来,基于将包括在预先定义的3-D模型168a、168b、168c之一中的至少一个组件与集成3-D模型144进行匹配,基于缩放、转换、旋转预先定义的3-D模型168a、168b、168c之一和集成3-D模型144,来生成预先定义的3-D模型168a、168b、168c之一和集成3-D模型144的第一对齐186。根据一个示例实施例,匹配引擎166可包括迭代对齐引擎188,迭代对齐引擎188被配置用来,基于迭代最接近点算法,基于第一对齐186,来生成预先定义的3-D模型168a、168b、168c之一和集成3-D模型144的第二对齐190。
[0059]根据一个示例实施例,匹配引擎166可包括蛮力对齐引擎192,蛮力对齐引擎192被配置用来,基于包括预先定义的3-D模型168a、168b、168c之一和集成3-D模型144的多个缩放、旋转,和转换的蛮力对齐,基于第一对齐186,来生成预先定义的3-D模型168a、168b、168c之一和集成3-D模型144的第二对齐190。
[0060]匹配引擎166,基于对齐186、190可从预先定义的3_D模型168a、168b、168c中选出至少一个所选模型194。
[0061]数据处理领域的技术人员可以理解,有许多用于确定3-D模型与存储在数据库中的3-D模型的匹配的技术。例如,通过示例建模技术基于所比较对象的单个部分可提供3-D对象的部分匹配。
[0062]空间对象管理引擎102可包括可被配置用来从触觉数据输入设备120接收触觉数据118的触觉数据接收引擎196。例如,传感器可被附连到参与者132上,参与者132的移动可被传感为3-D空间传感数据。例如,如果传感器被附连到参与者的手,那么手的3-D定位可被触觉输入设备120传感,被触觉数据接收引擎196接收,并被集成模型生成器140处理,类似与上面讨论的3-D空间图像数据。
[0063]图2a_2d是示出根据一示例实施例的图la_lb的系统的示例操作的流程图200。在图2a的示例中,可启动(202)访问包括多个数据库对象的数据库,每个数据库对象与模拟预先确定的3-D项目的预先定义的三维(3-D)模型相关联。例如,数据库访问引擎176可启动对包括多个数据库对象170a、170b、170c的数据库172的访问,每个数据库对象170a、170b、170c与模拟预先确定的3-D项目的外观的预先定义的3-D模型168a、168b、168c相关联,如上面所讨论的。
[0064]基于参与者的至少一只手的自由形式的移动,基于自然手势动作,与参与者的至少一个手臂动作相关联的三维空间图像数据可被接收(204)。例如,如上面讨论的,基于参与者132的至少一只手的自由形式的移动,基于自然手势动作,图像数据接收引擎130可接收与参与者132的至少一个手臂动作相关联的3-D空间图像数据。
[0065]基于根据所接收的3-D空间图像数据来集成至少一只手的3-D定位的时间连续的3-D表示,集成的3-D模型可被生成(206)。例如,如前面所讨论的,集成模型生成器140可基于根据所接收的3-D空间图像数据110来集成至少一只手的定位的时间连续的3-D表示,以生成集成的3-D模型144。
[0066]基于访问数据库并确定与匹配于集成3-D模型的预先定义的3-D模型的至少一个相关联的至少一个数据库对象,至少一个预先确定的3-D项目可被选择(208)。
[0067]例如,如上面讨论的,匹配引擎166可基于访问数据库访问引擎176以及确定与匹配于集成3-D模型144的预先定义的3-D模型168a、168b、168c相关联的至少一个数据库对象170a、170b、170c,选择至少一个预先确定的3-D项目。
[0068]根据一个示例实施例,模拟预先定义的更新3-D项目的外观的更新3-D模型可被获取,并且与更新3-D模型相关联的更新数据库对象在数据库中的存储可被启动(210)。例如,如上面讨论的,更新项目输入引擎178可获取模拟预先定义的更新3-D项目的外观的更新3-D模型180,并且通过数据库访问引擎176,启动与更新3-D模型180相关联的更新数据库对象在数据库172中的存储。
[0069]根据一个示例实施例,预先定义的更新3-D项目可包括3-D存货清单项目、3_D游戏对象、3-D现实世界项目或3-D虚拟现实环境对象的一个或多个。根据一个示例实施例,基于接收与预先定义的更新3-D项目的图片相关联的图像数据或接收更新3-D模型的一个或多个,更新3-D模型可被获取。例如,如上面讨论的,更新项目输入引擎178可基于通过输入设备接收与预先定义的更新3-D项目的图片相关联的图像数据或接收更新3-D模型180的一个或多个,来获取更新3-D模型180。
[0070]根据一个示例实施例,与表示说话的至少一个口头指示符相关联的音频数据可被接收,并且通过空间对象处理器选择至少一个预先确定的3-D项目可基于确定与匹配于集成3-D模型的预先定义的3-D模型相关联的至少一个数据库对象,基于口头指示符(212)。例如,音频数据接收引擎182可被配置来接收与表示说话的至少一个口头指示符相关联的音频数据114。根据一个示例实施例,匹配引擎166可基于访问数据库访问引擎176以及确定与匹配于集成3-D模型144的预先定义的3-D模型168a、168b、168c相关联的至少一个数据库对象170a、170b、170c,基于口头指示符,选择至少一个预先确定的3-D项目。
[0071]根据一个示例实施例,基于将包括在预先定义的3-D模型之一中的至少一个组件与集成3-D模型进行匹配,基于缩放、转换、旋转预先定义的3-D模型之一和集成3-D模型,预先定义的3-D模型之一和集成3-D模型的第一对齐可被生成(214)。例如,如在此进一步讨论的,初步对齐引擎184可基于将包括在预先定义的3-D模型168a、168b、168c之一中的至少一个组件与集成3-D模型144进行匹配,基于缩放、转换、旋转预先定义的3-D模型168a、168b、168c之一和集成3_D模型144,来生成预先定义的3-D模型168a、168b、168c之一和集成3-D模型144的第一对齐186。
[0072]根据一个示例实施例,基于迭代最接近点算法,基于第一对齐,预先定义的3-D模型之一和集成3-D模型的第二对齐可被生成(216)。例如,如在此进一步讨论的,迭代对齐引擎188可基于迭代最接近点算法,基于第一对齐186,生成预先定义的3-D模型168a、168b、168c之一和集成3-D模型144的第二对齐。
[0073]根据一个示例实施例,基于将包括在预先定义的3-D模型之一中的至少一个组件与集成3-D模型进行匹配,基于缩放、转换、旋转预先定义的3-D模型之一和集成3-D模型,预先定义的3-D模型之一和集成3-D模型的第一对齐可被生成(218)。根据一个不例实施例,基于包括预先定义的3-D模型之一和集成3-D模型的多个缩放、旋转,和转换的蛮力对齐,基于第一对齐,预先定义的3-D模型之一和集成3-D模型的第二对齐可被生成(220)。例如,如在此进一步讨论的,蛮力对齐引擎192可基于包括预先定义的3-D模型168a、168b、168c之一和集成3-D模型144的多个缩放、旋转,和转换的蛮力对齐,基于第一对齐186,来生成预先定义的3-D模型168a、168b、168c之一和集成3-D模型144的第二对齐190。
[0074]根据一个示例实施例,基于被表示为容积化的元素的离散化了的3-D虚拟映射元素,虚拟3-D映射空间可被初始化,其中每个容积化的元素包括初始化为初始值的权重值,其中虚拟3-D映射空间表示紧邻参与者的3-D空间(222)。例如,如上面讨论的,初始化引擎148可基于被表示为容积化的元素的离散化了的3-D虚拟映射元素,来初始化虚拟3-D映射空间,其中每个容积化的元素包括初始化为初始值的权重值,其中虚拟3-D映射空间表示紧邻参与者132的3-D空间。
[0075]根据一个示例实施例,集成时间连续的3-D表示可包括,基于指示在自由形式移动期间至少一只手的一部分已经占据了 3-D区域一段时间的确定,将所选的与3-D空间的3-D区域相关联的容积化的元素的权重值成比例地递增(224),并将阈值与每个容积化的元素的权重值进行比较(226)。例如,如上面讨论的,元素激活引擎150可基于指示在自由形式移动期间至少一只手的一部分已经占据了 3-D区域一段时间的确定,将所选的与3-D空间的3-D区域相关联的容积化的元素的权重值成比例地递增。例如,如下面进一步讨论的,阈值比较引擎152可将阈值146与每个容积化元素的权重值进行比较。
[0076]根据一个示例实施例,至少一只手的深度、位置和朝向可被确定(228 ),与虚拟3-D映射空间相关联的对应于至少一只手的深度、位置和朝向的容积化的元素的位置可被确定(230)。例如,如上面所讨论的,位置属性引擎154可确定至少一只手的深度、位置和朝向,而虚拟元素定位器156可确定与虚拟3-D映射空间相关联的对应于至少一只手的深度、位置和朝向的容积化元素的位置。
[0077]根据一个示例实施例,集成时间连续的3-D表示可包括,基于确定的位置来激活与虚拟3-D映射空间的区域相关联的表示对应于至少一只手的深度、位置和朝向的深度、位置和朝向的多个容积化元素(232)。例如,如上面讨论的,元素激活引擎150基于由虚拟元素定位器156确定的位置来激活与虚拟3-D映射空间的区域相关联的表示对应于至少一只手的深度、位置和朝向的深度、位置和朝向的多个容积化元素。
[0078]根据一个示例实施例,容积化元素可包括体积图片元素(体素),用初始化了的权重值将体素初始化为不活动状态(234)。例如,如上面讨论的,初始化引擎148可用初始化了的权重值将体素初始化为不活动状态。
[0079]根据一个示例实施例,激活多个容积化元素可包括,基于指示在自由形式移动期间至少一只手的一部分占据3-D区域一段时间的确定,基于用各组体素的每个激活增加与各组体素相关联的权重值,来激活各组体素(236)。例如,如上面讨论的,元素激活引擎150可基于指示在自由形式移动期间至少一只手的一部分占据3-D区域一段时间的确定,基于用各组体素的每个激活增加与各组体素相关联的权重值,来激活各组体素。
[0080]根据一个示例实施例,由至少一只手的姿态指示的包围空间可被确定(238)。例如,如上面讨论的,包围检测引擎158可确定由至少一只手的姿态指示的包围空间。根据一个示例实施例,包围空间的深度可基于对围绕包围空间的区域深度的确定来确定(240)。例如,如上面讨论的,深度确定引擎160可基于对围绕包围空间的区域深度的确定来确定该包围空间的深度。
[0081]根据一个示例实施例,在与指示包围空间的姿态相关联的一段时间内的,激活与虚拟3-D空间的一个区域相关联的表示对应于包围空间的深度、位置和朝向的多个容积化元素,以代替对与虚拟3-D空间的一个区域相关联的表示对应于至少一只手的深度、位置和朝向的深度、位置和朝向的多个容积化元素的激活(242)。例如,如上面讨论的,在与指示包围空间的姿态相关联的一段时间内的,元素激活引擎150可激活与虚拟3-D空间的一个区域相关联的表示对应于包围空间的深度、位置和朝向的多个容积化元素,以代替对与虚拟3-D空间的一个区域相关联的表示对应于至少一只手的深度、位置和朝向的深度、位置和朝向的多个容积化元素的激活。
[0082]图3a_3c是示出根据一示例实施例的图1a-1b的系统的示例操作的流程图300。在图3的示例中,基于参与者的至少一只手的自由形式的移动,基于参与者的至少一只手的自然手势动作,与参与者的至少一个手臂动作相关联的三维(3-D)空间图像数据可被接收(302)。例如,如上面讨论的,传感数据接收引擎104可包括可被配置来接收3-D空间图像数据的图像数据接收引擎130,该3-D空间图像数据基于参与者132的至少一只手的自由形式的移动、基于自然手势运动而与参与者的至少一个手臂动作相关联。
[0083]此外,多个连续的3-D空间表示可基于所接收的3-D空间图像数据来确定,每一个3-D空间表示包括3-D空间映射数据,该3-D空间映射数据对应于该至少一只手在自由形式的移动期间在连续的时间实例下的3-D姿态和位置(304)。例如,如上面讨论的,空间表示引擎136基于所接收的3-D空间图像数据可确定多个连续的3-D空间表示138,每一个3-D空间表示138包括3-D空间映射数据,该3-D空间映射数据对应于该至少一只手在自由形式的移动期间在连续时间实例下的3-D姿态和位置。
[0084]通过空间对象处理器,基于将包括在所确定的连续的3-D空间表示中的3-D空间映射数据逐渐进行集成,并将阈限时间值与模型时间值进行对比,来生成集成3-D模型,其中模型时间值指示在自由形式移动期间占据多个3-D空间区域的至少一只手花费的时间实例的数量(306)。例如,如上面讨论的,集成模型生成器140,通过空间对象处理器142,基于将包括在所确定的连续的3-D空间表示138中的3-D空间映射数据逐渐进行集成,并将阈限时间值146与模型时间值进行对比,来生成集成3-D模型144,其中模型时间值指示在自由形式移动期间占据多个3-D空间区域的至少一只手花费的时间实例的数量。
[0085]根据一个示例实施例,基于所接收的3-D空间图像数据,基于随时间跟踪一只手的可视部分,与参与者的该只手相关联的容积可被确定(308)。例如,如上面讨论的,容积确定引擎162可基于所接收的3-D空间图像数据110,基于随时间跟踪一只手的可视部分,来确定与参与者132的该只手相关联的容积。
[0086]根据一个示例实施例,基于一只手的被跟踪的可视部分在俯视图中的旋转,基于所接收的3-D空间图像数据,该只手的偏转角可被确定(310)。例如,如上面讨论的,位置属性引擎154可基于一只手的被跟踪的可视部分在俯视图中的旋转,基于所接收的3-D空间图像数据,来确定该只手的偏转角。
[0087]根据一个示例实施例,基于与所跟踪的可视部分相关联的深度值的变化,一只手的滚转角和俯仰角可被确定(312)。例如,如上面讨论的,位置属性引擎154可基于与所跟踪的可视部分相关联的深度值的变化,来确定一只手的滚转角和俯仰角。
[0088]根据一个示例实施例,与参与者的一只手相关联的容积可基于所接收的3-D空间图像数据来确定(314)。例如,如上面讨论的,容积确定引擎162可基于所接收的3-D空间图像数据110来确定与参与者132的一只手相关联的容积。
[0089]3-D虚拟映射空间中的一只手的3-D表示可基于所确定的容积来被确定(316),且至少一只手姿态可基于该只手的3-D表示来被确定(318)。例如,如上面讨论的,空间表示引擎136可基于所确定的容积来确定3-D虚拟映射空间中的一只手的3-D表示。例如,如上面讨论的,姿态确定引擎164可基于至少一只手的3-D表示来确定该只手姿态。
[0090]根据一个示例实施例,可确定至少一只手的至少一个手姿态是否指示3-D包围空间(320)。如果确定包围3-D空间被指示,生成集成3-D模型可包括,对于与指示包围空间的姿态相关联的连续的时间实例,激活与表示对应于包围空间的深度、位置和朝向的集成3-D模型的部分相关联的多个容积化元素(322)。否则,生成集成3-D模型可包括,激活与集成3-D模型的部分相关联的表示对应于至少一只手的深度、位置和朝向的深度、位置和朝向的多个容积化元素(324)。例如,如上面讨论的,集成模型生成器140可:激活与表示对应于包围空间的深度、位置和朝向的集成3-D模型的部分相关联的多个容积化元素;或者可,激活与集成3-D模型的部分相关联的表示对应于至少一只手的深度、位置和朝向的深度、位置和朝向的多个容积化元素。
[0091]根据一个示例实施例,可确定至少一个手姿态包括平手姿态、弯曲手姿态、握紧成拳的手,或手指捏合的手姿态的一个或多个(326)。例如,如在此进一步讨论的,姿态确定引擎164可确定至少一个手姿态包括平手姿态、弯曲手姿态、握紧成拳的手,或手指捏合的手姿态的一个或多个。
[0092]根据一个示例实施例,对包括多个数据库对象的数据库的访问可被启动,每个数据库对象与模拟预先确定的3-D项目的外观的预定义的三维(3-D)模型相关联(328)。例如,如上面讨论的,数据库访问引擎176可启动对包括多个数据库对象170a、170b、170c的数据库172的访问,每个数据库对象170a、170b、170c与模拟预先确定的3-D项目的外观的预先定义的3-D模型168a、168b、168c相关联。
[0093]通过空间对象处理器,与匹配于集成3-D模型的至少一个数据库对象相关联的至少一个预先定义的3-D模型可被确定,其中自然手势动作仿效预先确定的三维(3-D)项目的外观(330)。例如,如上面讨论的,匹配引擎166可,通过空间对象处理器142,来确定与匹配于集成3-D模型144的数据库对象170a、170b、170c相关联的预先定义的3-D模型168a、168b、168c,其中,自然手势动作可仿效预先确定的三维(3-D)项目的外观。
[0094]根据一个示例实施例,模拟预先定义的更新3-D项目的外观的更新3-D模型可被获取(332),并且与更新3-D模型相关联的更新数据库对象在数据库中的存储可被启动(334)。例如,如上面讨论的,更新项目输入引擎178可获取模拟预先定义的更新3-D项目的外观的更新3-D模型180,并且通过数据库访问引擎176,启动与更新3-D模型180相关联的更新数据库对象在数据库172中的存储。
[0095]图4是示出根据一示例实施例的图1a-1b的系统的示例操作的流程图400。在图4的示例中,基于参与者的自由形式移动,基于仿效预先确定的三维(3-D)项目的外观的自然手势动作,与参与者的至少一个自然手势相关联的三维(3-D)传感数据可被接收(402)。例如,如上面讨论的,传感数据接收引擎104可被配置以基于参与者的自由形式的移动,基于仿效预先定义的三维(3-D)项目的外观的自然手势动作,来接收与参与者的至少一个自然手势相关联的3-D传感数据106。例如,如上面讨论的,传感数据106可包括图像数据110、音频数据114或触觉数据118的一个或多个。
[0096]基于对所接收的3-D传感数据进行集成,来生成集成的3-D模型,该3_D传感数据表示根据自由形式的移动与参与者相关联的至少一个3-D移动对象的3-D定位(404)。例如,如上面讨论的,集成模型生成器140可被配置用来,通过空间对象处理器142,基于对所接收的3-D传感数据106进行集成,来生成集成3-D模型144,3-D传感数据106表示根据自由形式的移动与参与者相关联的至少一个3-D移动对象的3-D定位。
[0097]例如,参与者可抓取3-D物体(例如,书、膝上电脑、移动电话)并将该3-D物体以自然手势动作移动以描述想要的3-D项目的形状。作为另一个示例,参与者可穿上或附上传感设备(例如,手套、游戏杆)并通过传感设备做手势描绘想要的3-D项目的形状。例如,参与者可移动以呈现3-D项目的感知的形状。
[0098]与匹配于集成3-D模型的数据库对象相关联的预先定义的3-D模型可通过空间对象处理器来被确定(406)。例如,如上面讨论的,匹配引擎166可,通过空间对象处理器142,来确定与匹配于集成3-D模型144的数据库对象170a、170b、170c相关联的预先定义的3-D模型 168a、168b、168c。
[0099]根据一个示例实施例,基于将阈限时间值与指示在自由形式移动期间在多个3-D区域内的至少一个3-D移动对象所花费的时间长度的值进行对比,所接收的3-D传感数据的部分可被选择用于集成(408)。例如,如上面讨论的,集成模型生成器140可被配置用来,基于将阈限时间值146与指示在自由形式移动期间在多个3-D区域内的至少一个3-D移动对象所花费的时间长度的值进行对比,来选择所接收的3-D传感数据106的部分用于集成,如下面进一步讨论。
[0100]图5a_5e示出了根据一个示例实施例的示例手势移动和与手势移动相关联的示例模型。如图5a所示,参与者502可在脑子里想象一个3-D物体504。例如,该3-D物体可包括包含凳面506和成角度的腿508的三条腿的凳子。参与者502可,例如,通过将他/她的手放平并移到位置510,该位置指示分开两手的距离以指示与3-D物体504相关联的高度、宽度,和/或深度,来指示3-D物体504的各尺寸。如图5a所示,参与者502在传感设备512 (例如,架空的深度相机)的范围内,可空间地描述,或使用自然手势来模仿,3-D物体504的描述。[0101]如图5b所示,参与者502可将他/她的手放平并以旋转动作514移动以形象化参与者的脑海中的凳子(例如,3-D物体504)的凳面506的图像。如图5c所示,参与者502可握拳并将他/她的手以成角度的垂直动作516移动,以形象化参与者的脑海中的凳子(例如,3-D物体504)的成角度的凳子腿508的图像。
[0102]根据一个示例实施例,图1的示例系统100可接收由传感设备512在跟踪参与者的移动中获取的图像数据。系统100接着可,至少基于从对参与者502的手的位置510、旋转动作514,和成角度的垂直动作516的跟踪得出的图像数据,生成如图5d所示的3-D模型518。
[0103]根据一个示例实施例,如上面讨论的,系统100可确定预先确定的最接近匹配所生成的3-D模型518的3-D对象。例如,所生成的3-D模型518可匹配于与三条腿凳子相关联的预先确定的3-D模型,如图5e中示出的所生成的3-D模型520叠加的3-D模型522所示。
[0104]根据一个示例实施例,“数据模仿”技术可基于观测并感知人类手势,使用空间参照的人类感觉,并使用描述对象时丰富的手的形状和动作以推断所描述的对象,如图5a_5e所示。类似于在与人类观察者谈话时使用手势,数据模仿或做手势可被动地观测,因而在手势期间很少甚至不提供反馈。示例参与者可因此单独从描述的对象的脑海中的图像(例如,3-D物体504)工作,且他/她的手势可被用来隐含地创建脑海中的图像的虚拟表示(例如,3-D 模型 518)。
[0105]虚拟表示可被用来分类想要的对象(例如,“凳子”),并提取对象的细节以便将其从那一类的其它实例中区分出来。例如,参与者132可描述椅子,并且进一步描述特定的现存的椅子,它有从中间倾斜的三条腿,它有两英尺高(例如,上面结合图5a_5e讨论的凳子)。没有更多特定细节,特定椅子的参照可能不清楚。
[0106]数据模仿或做手势可因此被动地观测参与者132如何动作并且在参与者132正在做手势时不提供任何反馈。因此,参与者132可单独从他/她的对3-D对象的概念模型来工作以确定他/她的手势移动。因为在做手势期间它可能很少甚至不提供反馈,数据模仿或做手势可采取参与者132在做手势时维持参照巾贞。根据一个示例实施例,参与者的身体可作为空间参照。例如,在两只手一起用时,参与者132可不依赖于视觉反馈。例如,人类可还具有知道两只手在空中的相对在哪儿的能力,并可维持在他们身体外的空间锚定一段短暂的时间(例如,用于维持空间关系的短期视觉记忆)。
[0107]讲话者自古以来在交谈中使用手势。例如,讲话者可使用用于强调的击打手势、用于指示对象的指示手势(指向)、用于传达抽象含义的隐喻的手势,以及形象手势。形象手势可描绘有形的物体或事件,具有与讲话的内容接近的外形的关系,并且可被用来尝试描述物体的形状或外形。作为其它示例,象征可包括仅通过惯例传达含义的符号(例如“0K”符号)。
[0108]哑剧手势可类似形象手势,因为它们可描绘物体或动作,但不涉及讲话(并且可与戏剧表演中使用的手势相区别)。此外,符号语言可被用来作为讲话语言的替代,并可因此至少对说话进行补充。
[0109]根据一个示例实施例,数据模仿或做手势可被用来执行针对存储的预先确定的对象的3-D模型的匹配。因为这些模型可能不基于惯例,而是现实世界物理对象的实际形状,可以理解,数据模仿手势可包括形象手势和哑剧手势,并且通常不包括象征。例如,在通过讲话详细描述一个类(例如,“椅子”)的时候,手势和讲话可被用于补充技术,因为一个对另一个的相互依赖不涉及对于自然形象手势则是典型的复杂性。根据一个示例实施例,在此讨论的一些示例手势可被称为“哑剧”或“模仿”手势。
[0110]在一示例学习中,人类已经被观察以确定用于描述对象的潜在的做手势技术。例如,参与者132可看一下对象,并接着凭记忆做描述该对象的手势。例如,参与者132可仅使用他们的手来描述对象,他们可能不使用说话或身体姿态来增加他们对对象的描述。例如,参与者132在他们对象描述期间可不接收任何反馈。例如,参与者132可通过放下他们的胳膊完成对象的描述。例如,参与者132可能接收不到关于将哪个手势用于对象描述的指令。例如,参与者132可被要求空间地描述原始对象,诸如盒状、锥形,和金字塔型,以及更复杂的形状。例如,这样的学习结果可涉及确定参与者132在空间地描述复杂对象时可能包括的特征。
[0111]图6示出了示例参与者在接近摄像机处做手势。如图6所示的示例场景中所示,架高的摄像机602可固定在离地8英尺的屋顶上。因此,示例摄像机602可捕捉5英尺宽、3英尺高、5英尺深的俯视容积。如图6中所示,参与者604 (例如,参与者132)可在摄像机602(例如,图像数据输入设备112)的范围内空间地描述对象。如图6所示,如上面讨论的,参与者604可通过参与者的手606提供手势。
[0112]图7示出了示例三维(3-D)项目。例如,3-D项目可包括三条腿矮凳702,以及更高的三条腿凳子704。3-D项目还可包括S形椅子706、一条腿椅子708,和四条腿椅子710。3-D项目还可包括带轮子的办公椅712、监视器714、个人电脑(PC) 716、锥形物718、梯子720,和桌子722。这样的3-D项目可被人类参与者(例如,参与者132)空间地描述。
[0113]图8a_8c示出示例参与者的示例手势。根据对一组人的示例学习观察,涉及手势或模仿的参与者502可自然地维持一个对象的各部分的相对比例,以及维持跨对象的相对缩放。例如,参与者502可自然地使用他们手臂长度的大部分来描述大桌子,而适当更小地描述椅子。例如,参与者502可自然地非均一地缩放对象,以在各方向上相对于手臂长度覆盖的区域使大小适应。因此,根据人身体的特性,对象可被描述为比高度804更宽802,且比深度806更高。
[0114]例如,参与者502可自然地使用从上到下的方式来描述对象;在较大较明显的表面之后,他们可描述物体的更小的部分。例如,参与者502可在表面(例如,PC716、监视器714、桌子722的平面,以及梯子720框架、椅子的椅面和靠背之类的曲面)和更小的部件(诸如支撑柱和连接件)之间进行区分。
[0115]例如,参与者502可自然地以平行姿势使用双手,相互面对以定义物体(例如,PC716、监视器714)的对称的元素。那些对称部分不表示整个物体的尺寸但是可详细描述特定部分。例如,参与者502可自然使用同时的和对称的手移动来描述较小的部分,诸如椅子710的腿,或梯子720的框架。
[0116]例如,当物体的形状类似盒子,参与者502可定义物体(例如,PC716、监视器714)各部分的尺寸。例如,参与者502可自然地重复地,以平的姿势同时向后向前沿着物体的边界尺寸移动双手。例如,参与者502可自然地在位置上保持双手是平的以定义那些边界。例如,参与者可自然地以盒状绘出物体(例如,PC716)的线框。[0117]图9示出了参与者的示例手部姿态。例如,参与者502可自然地使用他们的手来“跟踪”大的表面,即,将他们放平的手沿着那些表面移动,好像用他们的手擦拭它们一样(例如,桌子722、顶面、椅子椅面、锥形物718)。、例如,参与者502可自然擦拭表面的边界内的区域以“填充”它,如平的手部姿态902所示。如图9所示,弯曲的手部姿态904可自然地被用于描述弯曲表面,而握住的手部姿态906和908可自然地被用于描述支撑柱和腿。放松的手部姿态910和912可在没有跟踪表面的时候被自然地使用。
[0118]例如,参与者502可自然地用他们的平的手(例如手部姿态902)来详细描述媒质表面的轮廓并用他们的手擦拭包围区域以“填充”它(例如,监视器,办公椅的靠背)。例如,参与者502可自然地将那些媒质表面抽象为他们的平的手(例如,手部姿态902)的一挥,他们可能重复指示(例如,对于椅子)。例如,参与者502可仅通过大致在表面(例如,监视器,椅面)的位置中重复挥手来自然地描述表面。例如,参与者502可自然地使用他们的手来“跟踪”物体的较小的部件(例如,梯子的台阶,梯子的外部框架)。
[0119]例如,为改变形状,参与者502可自然地调节他们的手的形状以匹配弯曲的表面并重复上下“擦拭”它的表面。参与者502可用两个大拇指和食指形成闭合圆(例如,如上面讨论的,形成包围空间)并将他们的手向下移动,从而驱动它们分开,手指因而维持初始形状(例如,手部姿态904)。
[0120]例如,参与者502可自然地将双手对称且同时地移动,以描述关于较小部件的对称性。关于条档、支撑柱、腿,参与者可自然地形成拳头(例如手部姿态906)并将其沿着条档移动以表示直条(例如,桌腿、三脚架、椅子、办公椅的撑杆)。例如,参与者502可自然地捏合他们的大拇指和食指并将它们沿着条档移动(例如,手部姿态908 )。
[0121]对于更大的支撑柱,示例参与者502可将他们的手拿到近的距离,让它们保持平行或将双手的手指和手掌连住,以包围手间的空间,并移动双手来跟踪部件的形状(例如,椅子的撑杆和腿,监视器底座)。例如,参与者502可自然地忽视诸如椅子脚的复杂形状,或可将它们抽象为单个原始形状。
[0122]通常,示例参与者502可按从上到下的方式开始描述一个物体。他们可将物体的外形抽象,可先详细描述大的部件和面,并且可最后描绘一些有特点的但更小的部件。例如,参与者502可自然地指示办公椅的扶手、撑杆和脚,而忽略描述扶手的支撑或将靠背连接到椅面的条档。类似地,示例参与者502可通过指示梯子的所有台阶并接着突出其外部轮廓来描述梯子。
[0123]例如,参与者502可自然地首先描述最清楚地表示物体的功能的那些部分(例如,椅子的靠背和椅面、梯子的台阶、桌子顶面)。他们可能接着自然地描述将物体支撑在一起的部分。例如,参与者502可自然地只要有可能就利用对称外观,他们可使用双手镜像的手势来描述形状。类似的,他们可使用双手通过定义约束平面或“画”边界框来详细描述尺寸。媒介和小尺寸表面的实际尺寸对于参与者502来说在它们的空间描述中可能显得不重要,并可能因此在他们的自然手势中被忽略。
[0124]例如,参与者502可自然地将他们手的形状调整到所描述物体或部件的形状,伸出(例如,描述平的表面,手部姿态902)或弯曲并将手指放在一起(例如,圆表面,手部姿态904),如所期望的那样。相反,参与者502可放松他们的手并在将他们的手移到物体的下一个部分时允许它们采取它们的自然状态(例如,手部姿态910、912)。[0125]对于物体的更小的布件,诸如条档和底座,示例参与者502可或者形成拳头(例如,手部姿态906)或捏合他们的大拇指和食指(例如,手部姿态908)以指示圆和方的条档,接着他们可以沿着它们的形状移动手。他们可接着忽略那些条档的实际大小,使用手的动作来指示这样的条档的形状。
[0126]示例参与者502可改变手的偏转并转动,由于手的倾斜角度的受限范围,他们可仅仅在指示平行部分时通过垂直姿势改变手斜度(如图8c中所示)。然而,当手是垂直时,移动肘部可扩展该范围。相反,手转动和偏转可覆盖更大的范围,肘部移动也可支持手偏转的范围。
[0127]除了如上所述伸展手来指示活动,示例参与者502可故意更慢地描述物体的部分,而在转换到另一个部分时将他们的手移动得更快。对于较小的表面,他们可在一个位置逗留一小段时间。对于较大的表面,示例参与者502可重复描述表面并相比于将它们的手移到另一部分时而言更仔细地描述表面。
[0128]当两个部件可能接近地并列配置时,示例参与者502可不在部件之间逗留,而相反将它们看作复合部分并在他们移动他们的手的时候改变手的朝向(例如,椅子的相连接的靠背和椅面)。复合部件可通过手势,重复被指示。
[0129]上面讨论的观测资料可提供基本的,例如,用于将观测到的手势,如它们发生的那样,翻译成虚拟表示的特征,以求重现参与者脑海中的图像。具体地,在此讨论的示例技术可以不依赖于在识别时将它们自身标明为物体的特定部分的预先定义的手势。根据实施例,在表达手势的时候,参与者的手可提供基本的聚焦。根据一个示例实施例,参与者手臂和身体的位置和姿态可被忽视并且聚焦可全部指向参与者的手。
[0130]例如,参与者502可自然地跟踪物体的表面和结构元素,从而基于他们的空间记忆重新创建物体,建议参与者描述的虚拟表示也可随时间构建。根据示例实施例,参与者502已经花费更多时间描述的那些部分可相比于他/她仅简短带过的部分被给予更多权重。
[0131]因为示例参与者502可通过在相应的区域中挥舞他们的手来描述不同大小的表面,所以参与者的手可在虚拟表示中创建踪迹。由于手势的实际路径可提供关于物体的较少的信息,参与者手的位置和朝向可被使用作为正确翻译动作的焦点。结合手势的时间知晓传感,随着参与者502重复地或更慢地覆盖物体的特定部分,这样的跟踪可向虚拟表示添加更多的含义。
[0132]根据一个示例实施例,聚焦可指向除参与者的手以外的其它实体。例如,参与者可呈现3-D项目的感知的形状。根据一个示例实施例,对3-D项目的描述可例如,基于呈现3-D项目的感知的形状的参与者花费的时间长度来推断。
[0133]根据一个示例实施例,参与者可通过与参与者相关联的3-D移动物体来空间地描述3-D项目。例如,参与者可抓取3-D物体(例如,书、膝上电脑、移动电话)并将该3-D物体以自然手势动作移动以描述想要的3-D项目的形状。作为另一个示例,参与者可穿上或附上传感设备(例如,手套、游戏杆)并做手势描绘想要的3-D项目的形状。
[0134]图1Oa-1Ob示出了参与者的示例手部姿态。如图1Oa所示,伸出的手部姿态1002可指示一形状(例如,平的表面)。伸出的手、手指并拢的姿态1004也可示出指示形状的意图。弯曲的手的形状和手指并拢手部姿态1004可暗示该动作是有含义的,放松的姿势1008指示转换(例如,类似结合手部姿态910、912所讨论的)。
[0135]根据一个示例实施例,示例技术可仅识别并翻译参与者手势的有含义的部分,而忽视仅用来将手转换到物体的下一个部分的动作。例如,示例参与者502可在将手移动到物体的另一个部分的时候短暂放松他/她的肌肉,其中他/她可并住或伸开他/她的手指,或弯曲手部肌肉以发出有含义的手姿势的信号。可能希望捕捉这个区别,但是,手指姿态和曲率的改变可能是相当精细的,如图1Oa-1Ob所示。
[0136]考虑到用摄像机传感肌肉放松的潜在担忧,示例数据模仿或做手势技术可放弃手指弯曲的解释。对于每一个时刻,参与者的手可在虚拟表示(例如,空间表示138和/或集成模型144)中留下痕迹,所述痕迹的位置和朝向对应于现实世界中的参与者的那些手。换言之,手在每个时刻的朝向和姿态可确定添加到虚拟表示的部件的容积(即,平的,倾斜的手可在虚拟表示上作出平的、斜的小尺寸的效果)。根据一个示例实施例,这些概念可被扩展到不同于参与者的手的3-D物体,如下面进一步讨论的。
[0137]根据一个示例实施例,通过复制参与者的手的容积并将它们表示在虚拟空间中,在此讨论的示例技术可传感平的和弯曲的手部姿态(例如,平的表面、球体表面)且还可在参与者502形成拳头或捏合他们的手指时指较小的元素(例如,椅子的腿)。此外,双手可被分开考虑。
[0138]根据一个示例实施例,此处讨论的数据模仿技术或做手势技术可生成参与者在采用IXmXn体素的离散化的3-D容积中的描述的虚拟表示(例如,所生成的集成模型144)。该体素空间可因此表示对象描述系统的虚拟表示“记忆”。每个体素可以处在激活或非激活状态。根据一个示例实施例,可以仅用非激活体素启动一个场景,并且随观察参与者手势的过程,体素可适当被激活。根据一个示例实施例,每个体素也可与特定权重相关联,随着参与者重复地激活体素该权重可增加,如上面所讨论的。因此,由于特定权重之上的各组体素可被解释以表示参与者的描述的有含义的部分而其余部分被忽略,捕捉参与者如何缓慢地或重复地跟踪物体的最具含义的部分是可能的。
[0139]根据一个示例实施例,在此讨论的示例3D场景技术可以是地球-锚定的,使得场景的位置和朝向可能不适应参与者的位置和朝向。因此,当场景的中心在参与者502前面(即地球锚定),参与者501可能能够维持这个空间锚定,因为3-D物体描述可在短短几秒中完成。
[0140]根据一个示例实施例,参与者描述的物体的标识可基于在体素表示中匹配候选对象的示例数据库(例如,数据库172)来被确定。根据一个示例实施例,在此讨论的数据模仿技术,或做手势技术可从数据库中选择最接近的匹配对象。如在此讨论的,对于每个候选对象,所生成的3-D模型(例如,集成模型144)可与预先定义的数据库模型(例如,预先定义的3-D模型168a、168b、168c)对齐,用于相似度比较和测量。此外,不同于参与者的创建的缩放和旋转可被获得。
[0141]因为对象可基于特征部件来大致组装,参与者502可分开地描述这样的特征部分。由于人类可能通常作出关于他们的观众的隐含的假设,他们可能不描述对于结构来说显得是隐含的基础的较不显著的部分(例如,诸如椅子的靠背和椅面的表面之间的连接部分)或对标识物体没有进一步帮助的特征。
[0142]根据一个示例实施例,通过允许参与者忽略物体的任何部分,相信参与者将自然地详细描述足够细节,给出与这类物体的一些相似性供参考以及该类中的形状的可变性,在参与者一方的这样的由碎片组成的建模可被反映在匹配过程中。
[0143]此外,根据一个示例实施例,示例数据模仿或做手势技术可结合语音识别来使得考虑中的对象的类变窄。例如,参与者502可以说“椅子”并且接着通过做手势来详细描述特定椅子以指示椅子形状的标识特征(或特征组)。
[0144]根据一个示例实施例,在此讨论的示例系统100可被实现在终端用户系统上,且具有可被安装在参与者132上方的单个深度传感摄像机(例如,图像数据输入设备112)。例如,MICROSOFT KINECT摄像机可以以30Hz和640X480的分辨率提供深度图像。例如,摄像机可具有70°的对角视场。根据一个不例实施例,不例系统100可在少于15ms内处理每个摄像机帧,这样提供了实时的对参与者手势的处理并翻译成体素表示。
[0145]图1la-1ld示出了根据图1的示例系统的图像数据的示例处理的图形视图。根据一个示例实施例,在此讨论的示例技术可按以下讨论的处理原始图像1100a。如图1la中所示,摄像机1102、椅子1104,和桌子1106,连同参与者(例如,参与者132)的手臂1108、1110和手1112、1114 一起,显示在原始图像IlOOa中。
[0146]根据一个示例实施例,输入图像IlOOa中的每个图片元素(像素)可被转换到世界坐标。如图1lb所示,3英尺宽X2英尺高X2.5英尺深的容积以外的坐标(B卩,像素)可接着被剪裁,因此从深度图像IlOOb (即,图1la中的椅子1104和桌子1106)中去除了地板、墙壁,和潜在的其它对象。
[0147]根据一个示例实施例,图像IlOOb中的手臂1108和1110可被标识,在连续区域之间仅用渐变深度值进行区分,以考虑重叠的手臂,而参与者的手1112、1114可通过移除手臂1108、1110来被提取,如图1lc中所示。
[0148]基于这样的假设:参与者的手臂1108、1110可从外部进入并触及容积内,示例技术可确定每个手1112、1114的最远点,将距离测量作为手臂1108、1110的形状内的路径的长度(即,此示例的欧几里得距离),以考虑弯的肘和手腕。根据一个示例实施例,为提取参与者的手1112、1114,恒定的手长度(取决于到摄像机的距离)可被使用。根据一个示例实施例,校准可被用于参与者的特定的手的大小。
[0149]根据一个示例实施例,可通过随时间跟踪每只手1112、1114的可视区来计算两只手1112、1114的朝向和容积。根据一个示例实施例,每只手1112、1114的滚动和斜角可从深度值跨可视区域的改变来计算。根据一个示例实施例,如果可视区域,诸如对于垂直手滚动而言太小(例如,从上往下仅能看见大拇指和食指),示例技术可基于先前的观测估计手1112、1114的多少可能被阻塞,并可因此确定手的朝向。
[0150]根据一个示例实施例,考虑到摄像机1102可被安装在参与者头的上方,每只手1112,1114的偏转角度的计算可以是直接的。根据一个示例实施例,从随时间的观测,每只手在3空间中的姿态以及它在z轴(即,摄像机1102的视线轴)方向的精确延伸可被重构。
[0151]根据一个示例实施例,在计算手1112、1114的朝向之后,示例技术可接着直接将每只手1112、1114的位置和朝向翻译成体素空间中的体素的位置。根据一个示例实施例,这可包括在一个区域内激活具有与参与者手1112、1114相同的深度、位置、朝向的所有的体素,如上面所讨论的。
[0152]根据一个示例实施例,示例技术可检测参与者通过捏合他/她的手指和拇指或一起移动双手来创建更精细的元素的意图。如图1ld中所示,一旦这样的包围区域1116 (例如,通过包围检测引擎158)被检测,(与手1114相对的)该区域可被处理。根据一个示例实施例,区域1116的深度值可从围绕区域(即手1114)采样。这样,如果体素与包围区域1116共享一个位置,它们可被激活。根据一个示例实施例,如果手1114包围了一个区域(例如区域1116),它的实际形状可不再考虑。因此,参与者132可指示更薄的元素,诸如桌腿或三脚架支撑柱。如果参与者132将大拇指和食指两者相连,可应用类似的技术,从而包围更大的区域。
[0153]根据一个示例实施例,体素空间可被实现为正数的三维阵列,从而表示3-D直方图。根据一个示例实施例,每个体素可具有恒定宽度、高度和深度(例如,IOnmX根据一个示例实施例,体素空间的中心可被直接放置在参与者132的面前,大概在躯干水平(例如,如图1la所示)。
[0154]根据一个示例实施例,激活一个体素可增强其在直方图中的计数,由此暗示参与者132重复地或缓慢地(即有物体描述的有含义的部分)通过的体素可积累相比于参与者132在将手臂1108、1110移动到下一个有含义的位置时通过的体素更高的计数。根据一个示例实施例,跨空间中的全部体素简单进行阈值处理,可随后留下物体描述的有含义的和相关部分。例如,如上面讨论的,集成模型生成器140,基于将包括在所确定的连续的3-D空间表示138中的3-D空间映射数据逐渐进行集成,并将阈值时间值146与模型时间值进行对比,来生成集成3-D模型144,其中模型时间值指示在自由形式移动期间占据多个3-D空间区域的至少一只手花费的时间实例的数量。
[0155]根据一个示例实施例,示例迭代对齐技术可采用示例迭代最接近点(ICP)算法来记录两个模型(例如,所生成的集成模型144和预先定义的3-D模型168a、168b、168c之一)。例如,ICP算法可在两个模型都已经被预对齐(例如,通过缩放、转换,和旋转以至少匹配所选部件)之后被启动。根据一个示例实施例,初步对齐可进一步均一地适应两个模型的比例。例如,如上面讨论的,迭代对齐引擎188可基于迭代最接近点算法,生成预先定义的3-D模型168a、168b、168c之一和集成3-D模型144的第二对齐190。
[0156]根据一个示例实施例,ICP算法可基于将一个模型中的点与另一个中的最接近的点迭代地匹配。例如,可采用基于距离分布的统计技术来处理离群、遮挡、显示和消失,其提供了与子集到子集的匹配相关联的示例技术。可采用示例最小平方技术来从点对应关系中估算3-D动作,其可降低两个模型中的点之间的平均距离。
[0157]可替换地,示例蛮力技术可检测围绕z轴(垂直的)4个级别的四分之一旋转以及16cmX 16cmX 16cm内的转换的任何组合。根据一个示例实施例,围绕x和y的旋转(水平)可被忽略,因为参与者132可围绕那些轴维持物体的朝向,而在他们的空间描述期间他们可将物体“转”向他们(即,他们可能围绕z轴旋转)。这个示例技术的z旋转的次数可对应于物体的垂直面的数量(例如,四个面)。这个示例技术也可预先对齐两个模型并均一地适应它们的比例。例如,如在上面讨论的,蛮力对齐引擎192可基于包括预先定义的3-D模型168a、168b、168c之一和集成3-D模型144的多个缩放、旋转,和转换的蛮力对齐,基于第一对齐186,来生成预先定义的3-D模型168a、168b、168c之一和集成3-D模型144的第二对齐 190。
[0158]根据一个示例实施例,示例ICP技术可能是计算上昂贵的,并可涉及8秒钟的近似时间来对比两个模型,示例蛮力技术可涉及少于I秒钟用于对比,因为蛮力技术可操作在离散体素空间中(即,查看体素可涉及相对快的操作)。然而,示例ICP技术可提供在如下方面更多灵活性,它可将物体围绕全部的三个轴旋转来确定一个或多个最接近的匹配。
[0159]当在此讨论匹配体素空间中表示的物体的至少两个不同技术时,数据处理领域技术人员可以理解,有许多其它匹配技术可用于将所生成的集成模型144与一个或多个预先确定的3-D模型168a、168b、168c进行匹配,而不偏离此处讨论的精神。
[0160]图12示出了将所生成的3-D模型与预先定义的3-D模型进行匹配的示例叠加结果。如图12所示,基于在此讨论的示例匹配技术,所生成的3-D模型1202与预先定义的模型1204匹配。例如,参与者132可想象一张具有盘形脚的椅子(例如,类似于椅子708),并且(例如,通过数据模仿手势)可在示例图像数据输入设备112 (例如,深度摄像机)的范围内空间地描述椅子的特征。示例空间对象管理引擎102可从图像数据输入设备112中接收空间图像数据110,且集成模型生成器140可生成集成模型144(例如,集成模型1202)。匹配引擎166可接着将集成模型144与一个预先定义的3-D模型168进行匹配来选择所选模型194 (例如预先定义的模型1204),如上面讨论的。
[0161]根据一个示例实施例,示例系统100可通过诸如MICROSOFT KINECT摄像机的深度摄像机,通过捕捉与参与者132的交互来实现。根据一个示例实施例,参与者132的手势的视频可以以640 X 480像素的分辨率用30Hz的深度信息来记录。例如可通过运行WIND0WS7旗舰版,具有英特尔酷睿2Duo2.13GHz处理器和6GB随机存取存储器(RAM)的计算设备来实现空间对象管理引擎102。
[0162]根据一个示例实施例,示例匹配技术可采用最接近的三个(closest-three)的技术,其中参与者132可通过手势空间地描述对象,在那里系统100可提供来自数据库172的三个最接近的匹配对象170a、170b、170c。参与者132或用户124可接着选择三个选项之一,可重新开始,或可选择继续通过做手势提供更多细节,因为很显然他们已经在详细描述该物体。根据一个示例实施例,最接近的三个(closest-three)的结果也可被更大的系统消费,该更大的系统可对交互的上下文(例如,说出来的对话)建模。这个额外的信息可提供参与者输入的歧义消除(例如,相反地,手势可消除诸如说话的交互的其它方面的歧义)。
[0163]在此讨论的示例技术可涉及存储在数据库中的具体的3-D模型(例如,存储在数据库172中的预先定义的3-D模型168a、168b、168c)。使用直接形状匹配方法,这些模型可与类似的表示的输入(例如,所生成的集成模型144)进行匹配,其可不被人类手势的本质通知。因此,向数据库172添加对象(例如,更新模型180)可涉及仅获取对象的3-D模型。
[0164]根据一个示例实施例,除了参与者132的手以外的其它项目可被用来空间地描述对象,以获取生成的集成模型144。例如,在机器人应用中,末端效应物可包括在机器人手臂端部的设备,设计来与环境交互。这样,例如,这样的末端效应物(例如,在人类手环境的而不是机器人附肢的上下文中)可被用来代替人类的手用于空间描述。此外,如果参与者的手被占用(例如,握住书、握住移动设备),手握住的物体可代替参与者132的手被示例系统100跟踪。例如,如果参与者132没有手可用于做手势,其它物体可被使用,而不偏离在此讨论的精神。
[0165]此外,除了图像数据输入设备112以外的传感设备可被用来获取传感数据106,如上面讨论的。例如,当参与者132在戴着传感手套做手势时,传感手套可被用来捕捉手的姿态。
[0166]在此讨论的示例技术可提供示例方法以感应可被用于,例如,描述具体物理对象的手势。根据一个示例实施例,如在此讨论的,示例数据模仿或做手势技术可以基于在手势期间被参与者132的手跟踪的空间的体积像素或图片元素(体素)表示。根据一个示例实施例,3-D模型匹配技术可被用来将输入体素表示进行匹配以在已知物理对象(例如,可能与预先定义的3-D模型168a、168b、168c相关联的物理对象)的数据库172中进行选择。
[0167]在此描述的各种技术的各实现可以实现为数字电子电路,或计算机硬件、固件、软件或它们的组合。各实现可被实现为计算机程序产品,即可有形地在信息载体中(例如在机器可用或机器可读存储设备(例如,诸如通用串行总线(USB)存储设备等磁性或数字介质、磁带、硬盘驱动、紧致盘、数字视频盘(DVD)等等)中或在被传播的信号中)体现的计算机程序,用于由数据处理设备(例如,可编程的处理器、计算机或多个计算机)的操作执行或控制数据处理设备的操作。诸如以上描述的计算机程序等的计算机程序能以任何形式的编程语言(包括编译或解释语言)撰写,并能以任何形式部署,包括作为独立程序或作为模块、组件、子例程、或其他适于在计算环境中使用的单元。可实现以上讨论的技术的计算机程序可被部署以在一个站点处的一个计算机或多个计算机上执行或跨多个站点分布并通过通信网络相互连接。
[0168]方法步骤可由一个或多个执行计算机程序以通过操作输入数据和生成输出来执行函数的可编程处理器执行。一个或多个可编程处理器可并行地执行指令,和/或可被以分布式配置来安排以进行分布式处理。方法步骤还可通过专用逻辑电路(例如,FPGA (现场可编程门阵列)或ASIC (专用集成电路))来执行,并且一种装置可被实现为该专用逻辑电路。
[0169]适于执行计算机程序的处理器可包括,作为示例,通用和专用微处理器以及任何类型的数字计算机的任意一个或多个处理器。一般地,处理器接收来自只读存储器或随机存取存储器或两者的指令和数据。计算机的元件可包括至少一个处理器以供执行指令以及一个或多个存储器设备以供存储指令和数据。一般地,计算机还可包括或可被操作地耦合以接收来自一个或多个大容量存储设备(例如,磁性、磁光盘、或光盘)的数据或将数据传送到大容量存储设备以供存储数据或两者。适于实现计算机程序指令和数据的信息载体包括所有形式的非易失存储器,包括,作为示例,半导体存储设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内置硬盘或可移动盘;磁光盘;以及⑶ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或被合并到专用逻辑电路中。
[0170]为了提供与用户的交互,各实现可在包括用于向用户显示信息的显示设备(例如,阴极射线管(CRT)或液晶显示器(LCD)监视器)以及用户能借此向计算机提供输入的键盘和定点设备(例如,鼠标或追踪球)的计算机上实现。其他类型的设备也能被用以提供与用户的交互;例如,向用户提供的反馈可以是任何形式的传感反馈,例如视觉反馈、听觉反馈或触觉反馈;并且来自用户的输入能以任何形式接收,包括声音、语音或触觉输入。
[0171]实现可在包括后端组件(例如,作为数据服务器)的计算系统中实现、或可在包括中间软件层组件(例如,应用程序服务器)的计算系统中实现、或可在包括前端组件(例如,具有客户借此能与实现交互的图形用户界面或web浏览器的客户计算机)的计算系统中实现、或可在包括这样的后端、中间软件层或前端组件的任意组合的计算系统中实现。组件可通过数字数据通信的任何形式或介质(例如,通信网络)相互连接。通信网络的示例包括局域网(LAN)和广域网(MN),例如,因特网。
[0172] 尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。尽管如此处所述的示出了所描述的各个实现的某些特征,但对本领域技术人员来说,可以发生许多修改、替换、改变和等效技术方案。因此,应当理解,所附权利要求旨在覆盖落入各实施例的范围之内的所有这些修改和改变。
【权利要求】
1.一种系统,包括: 空间对象管理引擎,包括: 数据库访问引擎,配置用于启动对包括多个数据库对象的数据库的访问,每个数据库对象与模拟预先确定的3-D项目的外观的预定义的三维(3-D)模型相关联; 图像数据接收引擎,配置用来接收3-D空间图像数据,所述3-D空间图像数据基于参与者的至少一只手的自由形式的移动、基于自然手势运动而与所述参与者的至少一个手臂动作相关联; 集成模型生成器,配置用来基于根据所接收的3-D空间图像数据集成所述至少一只手的3-D定位的时间连续的3-D表示来生成集成的3-D模型;以及 匹配引擎,配置用于通过空间对象处理器,基于访问数据库访问引擎并确定与预先定义的3-D模型的至少一个相关联的至少一个数据库对象,来选择预先确定的3-D项目的至少一个,所述预先定义的3-D模型的至少一个匹配于所述集成3-D模型。
2.如权利要求1所述的系统,其特征在于,还包括: 更新项目输入引擎,配置用来获取模拟预先定义的更新3-D项目的外观的更新3-D模型,并通过数据访问引擎启动与所述更新3-D模型相关联的更新数据库对象在所述数据库中的存储。
3.如权利要求2所述的系统,其特征在于,所述更新项目输入引擎被配置用于基于以下的一个或多个来获取更新3-D模型: 接收与预先定义的更新3-D项目的图片相关联的图像数据;或 通过输入设备接收所述更新3-D模型。
4.如权利要求1所述的系统,其特征在于,还包括: 初始化引擎,配置用来基于被表示为容积化元素的离散化了的3-D虚拟映射元素来初始化虚拟3-D映射空间,每个容积化的元素包括初始化为初始值的权重值,其中所述虚拟3-D映射空间表示紧邻所述参与者的3-D空间,并且其中所述集成模型生成器包括: 元素激活引擎,配置用于基于指示在自由形式移动期间所述至少一只手的一部分占据了 3-D区域一段时间的确定,将所选的与所述3-D空间的3-D区域相关联的容积化的元素的权重值成比例地递增;以及 阈值比较引擎,配置用来将阈值与每个容积化元素的权重值进行比较。
5.如权利要求4所述的系统,其特征在于,所述集成模型生成器包括: 位置属性引擎,配置用来确定所述至少一只手的深度、位置和朝向, 虚拟元素定位器,配置用来确定与虚拟3-D映射空间相关联的对应于所述至少一只手的深度、位置和朝向的容积化元素的位置,以及 元素激活引擎,配置用于基于由虚拟元素定位器确定的位置来激活与虚拟3-D映射空间的区域相关联的代表对应于所述至少一只手的深度、位置和朝向的深度、位置和朝向的多个容积化元素。
6.如权利要求4所述的系统,其特征在于,所述集成模型生成器包括: 包围检测引擎,配置用来确定由所述至少一只手的姿态指示的包围空间, 深度确定引擎,配置用来基于对围绕包围空间的区域的深度的确定来确定包围空间的深度,以及 元素激活引擎,配置用来在与指示包围空间的姿态相关联的一段时间内,激活与代表对应于包围空间的深度、位置和朝向的虚拟3-D空间的一个区域相关联的多个容积化元素,代替对与虚拟3-D空间的一个区域相关联的代表对应于所述至少一只手的深度、位置和朝向的深度、位置和朝向的多个容积化元素的激活。
7.如权利要求1所述的系统,其特征在于,所述匹配引擎包括: 初步对齐引擎,配置用于基于将包括在预先定义的3-D模型之一中的至少一个组件与集成3-D模型进行匹配,基于缩放、转换、旋转预先定义的3-D模型之一和集成3-D模型,生成预先定义的3-D模型之一和集成3-D模型的第一对齐;以及 迭代对齐引擎,配置用来基于迭代最接近点算法,基于第一对齐,来生成预先定义的3-D模型之一和集成3-D模型的第二对齐。
8.如权利要求1所述的系统,其特征在于,所述匹配引擎包括: 初步对齐引擎,配置用于基于将包括在预先定义的3-D模型之一中的至少一个组件与集成3-D模型进行匹配,基于缩放、转换、旋转预先定义的3-D模型之一和集成3-D模型,生成预先定义的3-D模型之一和集成3-D模型的第一对齐;以及 蛮力对齐引擎,配置用来,基于包括预先定义的3-D模型之一和集成3-D模型的多个缩放、旋转,和转换的蛮力对齐,基于所述第一对齐,来生成预先定义的3-D模型之一和集成3-D模型的第二对齐。
9.一种有形地在计算机可读介质上体现并包括可执行代码的计算机程序产品,所述可执行代码被配置成在被执 行时使得至少一个数据处理装置: 基于参与者的至少一只手的自由形式的移动,基于所述至少一只手的自然手势动作,接收与所述参与者的至少一个手臂动作相关联的三维(3-D)空间图像数据; 基于所接收的3-D空间图像数据来确定多个连续的3-D空间表示,每一个3-D空间表示包括3-D空间映射数据,该3-D空间映射数据对应于该至少一只手在自由形式的移动期间在连续的时间实例处的3-D姿态和位置;以及 通过空间对象处理器,基于将包括在所确定的连续的3-D空间表示中的3-D空间映射数据逐渐进行集成,并将阈值时间值与模型时间值进行对比,来生成集成3-D模型,其中模型时间值指示在自由形式移动期间占据多个3-D空间区域的至少一只手花费的时间实例的数量。
10.一种有形地在计算机可读介质上体现并包括可执行代码的计算机程序产品,所述可执行代码被配置成在被执行时使得至少一个数据处理装置: 基于参与者的自由形式移动,基于仿效预先确定的三维(3-D)项目的外观的自然手势动作,接收与参与者的至少一个自然手势相关联的三维(3-D)传感数据; 根据自由形式的移动,基于将所接收的3-D传感数据进行集成,来生成集成的3-D模型,该3-D传感数据代表与所述参与者相关联的至少一个3-D移动对象的3-D定位;以及 通过空间对象处理器,确定与匹配于所述集成的3-D模型的数据库对象相关联的预先定义的3-D模型。
【文档编号】G06T17/00GK103493104SQ201280020747
【公开日】2014年1月1日 申请日期:2012年4月28日 优先权日:2011年4月29日
【发明者】A·D·威尔逊, C·霍茨 申请人:微软公司

最新回复(0)