将控制设备绑定到计算系统的制作方法_3

文档序号:8531843阅读:来源:国知局
围的情况下,可以通过任何适当的方式利用三维位置来定义关节。
[0037]可以使用多种技术来确定每一个关节的三维位置。骨架拟合技术可以使用深度信息、颜色信息、身体部位信息和/或先前训练的解剖和动力学信息来推断出精密地建模人类主体的一个或更多骨架。作为一个非限制性实例,前面所描述的身体部位索引可以被用来找到每一个骨架关节的三维位置。
[0038]可以使用关节取向来进一步定义所述虚拟关节中的一个或更多个虚拟关节。鉴于关节位置可以描述关节以及跨越在关节之间的虚拟骨骼的位置,关节取向可以描述这样的关节和虚拟骨骼在其对应位置处的取向。作为一个实例,腕关节的取向可以被用来描述位于给定位置处的手是朝上还是朝下。
[0039]关节取向例如可以被编码在一个或更多归一化的三维取向矢量中。(多个)取向矢量可以提供关节相对于跟踪设备或另一个参照物(例如另一个关节)的取向。此外,可以按照世界空间坐标系或者另一个适当的坐标系(例如另一个关节的坐标系)定义所述(多个)取向矢量。还可以通过其他方式来编码关节取向。作为非限制性实例,可以使用四元数和/或欧拉角来编码关节取向。
[0040]图3示出了一个非限制性实例,其中利用正交取向矢量334、336和338来定义左肩虚拟关节326。在其他实施例中,可以使用单一取向矢量来定义关节取向。在不背离本公开内容的范围的情况下,可以通过任何适当的方式来计算(多个)取向矢量。
[0041]关节位置、取向和/或其他信息可以被编码在任何适当的(多种)数据结构中。此夕卜,可以通过一个或更多API使得与任何特定关节相关联的位置、取向和/或其他参数可用。
[0042]如图3中所见,虚拟骨架324可以可选地包括多个虚拟骨骼(例如左前臂骨骼340)ο各种骨架骨骼可以从一个骨架关节延伸到另一个,并且可以对应于人类主体的实际骨骼、肢体或者骨骼和/或肢体的某些部分。这里所讨论的关节取向可以被应用于这些骨骼。举例来说,可以使用肘取向来定义前臂取向。
[0043]通过把与骨架的每一个元素(例如关节和/或骨骼的相对位置)相关联的数值与对应于特定人类主体的已知虚拟骨架数值进行比较,可以使用虚拟骨架来识别人类主体。举例来说,可以对游戏玩家进行成像,并且可以把与该玩家相关联的虚拟骨架存储在查找表中。随后,当对该游戏玩家进行成像时,可以把所生成的虚拟骨架与所存储的虚拟骨架进行比较。举例来说,计算系统可以包括对应于每一个家庭成员的用户简档,其中按照虚拟骨架尺寸的降序包括父亲、母亲、儿子和女儿。为了识别特定用户并且选择与该用户相关联的简档,可以把该用户的虚拟骨架的尺寸与关联于每一份用户简档的虚拟骨架的尺寸进行比较。
[0044]在一些实施例中,虚拟骨架可以被用来把客体和/或信标(比如表示在342处的信标304)的位置与游戏玩家上的位置进行比较。举例来说,表示在342处的信标304的位置可以基于所述信标附近的所成像的表面来确定。因此,表示控制器的所成像的表面可以被用来确定与所检测到的信标相关联的一个或更多坐标。在确定信标的位置之后,可以分析信标304或控制设备104的已知位置与虚拟骨架324的手或其他关节的邻近性,以便确定所述控制设备是否可以与游戏玩家112相关联。后面将参照图2进一步讨论控制设备与游戏玩家的关联。
[0045]在一些实施例中,可以基于控制设备关于主体的适当参数来实施控制设备和/或其他客体到主体的关联。举例来说,游戏玩家可以把不同的控制设备放置在环境(比如图1的环境100)的不同位置处。游戏玩家随后可以给出手势或者通过其他方式表明将与用户输入相关联的特定控制设备。因此,可以基于主体的手势把控制设备与主体相关联,即使另一个主体更加靠近所述控制设备。但是应当理解的是,在不背离本公开内容的范围的情况下,虚拟骨架可以被用于附加的和/或替换的目的。
[0046]回到图2,如208处所示,识别人类主体可选地可以包括面部辨识。举例来说,可以对深度图像、未经处理的红外图像、彩色图像以及/或者来自可见光摄影机的图像应用面部辨识算法。面部辨识可以可选地被用来找到所观察的主体的特定身份。举例来说,通过面部辨识检测到的一项或更多项特性(例如两眼间隔、眼-眼-嘴三角等等)可以被用来在查找表或其他数据库中查找用户身份。为了降低所需的计算能力,对于面部辨识所分析的图像部分可以被限制到围绕虚拟骨架(比如图3的虚拟骨架324)的头部关节一个区域。
[0047]此外,如210处所示,识别人类主体可选地可以包括语音辨识。举例来说,可以从麦克风(比如图1的麦克风118)接收音频输入,并且可以分析与所述音频输入相关联的参数(比如频率、幅度、呼吸模式等等)并且/或者与存储在查找表或其他数据库中的与某一用户相关联的音频参数进行比较,以便识别出该用户。
[0048]如212处所示,所述方法可以可选地包括输出请求客体发出信标的消息。举例来说,图1的计算系统102可以通过一个或更多RF频率请求控制设备104、106和/或108中的一个或更多个发出信标,从而使得计算系统可以解析出环境100中的控制设备的对应位置。在一些实施例中,计算系统可以请求客体发出特定信标。举例来说,计算系统102可以向每一个客体单独输出消息,从而从每一个客体请求不同的信标。计算系统102还可以输出一条或更多条消息,以便为控制设备指派用于在不同时间发出相同信标的时间切片。同样地,计算系统102可以输出任何其他适当的消息序列,其将允许所述系统检测它观察的信标,并且将该信标与它通过另一种通信介质(比如RF、有线电缆等等)与其通信的客体相关联。在附加的或替换的实施例中,计算系统102可以输出和/或广播并不针对特定客体的一般消息,从而请求客体发出信标。
[0049]如214处所示,方法200包括在所述深度图像和/或红外图像中的一幅或更多幅内辨识出从某一客体发出的信标。可以通过任何适当的方式在深度图像和/或红外图像内辨识信标。举例来说,如图3中所示,来自控制设备104的信标可以在观察数据(其被示意性地表示在308处)中被表示成在316处图示出的亮点,该亮点可以与由深度摄影机成像的周围元素作出区分。可以分析信标的一项或更多项参数以便识别并且区分多个不同客体当中的第一客体。这些参数可以实际上包括信标的任何适当的参数,其中包括而不限于信标的强度、模式和/或频率。所述参数可以被用来在包括一个或更多客体以及与所述客体相关联的一项或更多项参数的查找表中找到第一客体。举例来说,第一客体可以发出一个信标,该信标具有不同于由第二客体发出的信标的一项或更多项参数。各个客体可以附加地或者替换地按照时间切片和/或顺序方式发出信标,从而使得客体之间的时间和/或顺序参数可以是不同的。
[0050]如216处所示,方法200包括评估客体在三维中的位置。举例来说,图1的计算系统102可以利用来自深度摄影机110的像素信息来确定环境100内的控制设备的x、y和z坐标。客体的位置可以是相对于深度摄影机110、由深度摄影机110成像的主体和/或任何其他适当的参考点的位置。在一些实施例中,评估控制设备的位置可以包括识别深度图像和/或红外图像内的控制设备,并且/或者可以包括随着时间跟踪控制设备的位置,以便识别并且解释来自所跟踪的位置的控制手势。在一些实施例中,可以在控制设备上的已知位置处发出多个信标,以便允许计算系统计算控制器位置。在所述信标中的一些对于传感器而言被遮挡的情况下,附加的信标还增加了冗余性。举例来说,游戏玩家的手指可能会不经意地放置在控制设备上的信标发射器的位置处。
[0051]如218处所示,方法200还包括基于控制设备与人类主体的邻近性把客体与人类主体相关联。举例来说,由于图1的控制设备104邻近游戏玩家112,可以把该控制设备与该游戏玩家相关联。相反,由于控制设备106与游戏玩家112和114之间的距离,控制设备106可能不与游戏玩家112或114相关联。相反,控制设备106可以与桌子116相关联。可以基于任何适当的阈值来确定邻近性。
[0052]在一些实施例中,可以把客体的位置与人类主体的特定部位的位置进行比较。如220处所示,将客体与人类主体相关联可以可选地包括分析手关节位置。短暂地转到图3,可以把虚拟骨架324的手关节与控制设备104的位置之间的距离(其例如在方法200的216处确定)与一个距离阈值进行比较。虽然在220处分析了手关节,但是应当理解的是,实际上可以分析虚拟骨架的任何适当的关节和/或部位,以便确定所述关节和/或部位与客体之间的距离。在一些实施例中,如果客体处在人类主体的手关节的阈值距离内,则可以把该客体与人类主体相关联。但是如果客体与手关节之间的距离超出所述阈值距离,则可以不把该客体与人类主体相关联。在一些实施例中,无需进行完全骨架跟踪,可以使用头部/面部和控制器沿着水平轴的位置来确定关联。
[0053]把控制设备与人类主
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1