利用热区识别交互的制作方法_2

文档序号:9756828阅读:来源:国知局
所捕获的图像数据的格式化。
[0033]如图2的示例中所示,捕获设备20经由可以是有线或无线连接的通信链路36与计算环境12通信耦合。此外,捕获设备20还可以包括网络接口 35并且可选地通过一个或多个通信网络50通信耦合至远程计算机系统112以用于向远程计算机系统112发送3D图像数据。在一些实施例中,计算机系统12或远程计算机系统12可以向捕获设备20提供时钟,其可以用于确定何时捕获例如场景。
[0034]在所图示的示例中,计算机系统12包括各种软件应用、数据源和接口。在其它示例中,软件可以跨多个计算机系统执行,其中的一个或多个计算机系统可以是远程的。此外,应用、数据和接口还可以由捕获设备20或计算机系统12与其通信的远程计算机系统112远程执行和存储。此外,诸如关于图3A和3B更详细地讨论的规则和限定之类的用于由应用使用的数据可以经由远程存储的数据136存储和可访问。
[0035]计算机系统12包括操作系统110、用于与其它计算机系统通信的网络接口136、用于向比如显示器设备16的显示器14那样的显示器传送数据、指令或二者的显示接口 124以及用于协调与3D捕获设备20的深度图像数据和指令的交换的相机接口 134。图像和音频处理引擎113包括自然用户接口软件122,其可以包括比如手势识别的软件和声音识别软件以用于标识用户身体的动作或嗓音提示,其是命令或推进多媒体应用的动作。此外,3D对象识别引擎114使用诸如边缘检测之类的技术来检测边界并且将边界与所存储的形状数据比较以用于标识对象的类型。也可以在对象识别中使用彩色图像数据。可以标识的对象类型是包括比如人类头部那样的身体部分的人类身体。场景映射引擎118追踪3D捕获设备的视场中的一个或多个对象的位置。此外,可以关于与相机无关的坐标系统随时间追踪对象位置和移动。
[0036]3D热区配置引擎116生成3D热区限定以供图2的系统使用。生成热区的方式的实施例在以下图中讨论。3D热区检测引擎120自动检测与所限定的热区的交互,确定是否通过例如API 125引发数字事件,并且当发生对热区的改变时对热区做出调节。数据源126可以是本地存储以供图像和音频处理引擎113的应用使用的数据。
[0037]应用编程接口(API)125为多媒体应用128提供接口。除了比如包括个人标识图像数据的个人标识信息那样的用户特定数据之外,用户简档数据130还可以存储数据或到用户简档信息、诸如用户标识的骨骼模型之类的用户标识特性的存储位置的数据参考。
[0038]包括骨骼识别引擎192以从通过捕获设备20观察到的深度数据创建骨骼模型。以下描述示例性骨骼模型。
[0039]应当认识到的是,计算机系统12的全部或部分可以在没有系统与捕获设备之间的直接连接36的情况下通过经由网络50耦合到捕获设备的计算环境实现。任何图像和音频处理引擎113、应用128和用户简档数据130可以存储和实现在集群计算环境中。
[0040]图3图示了可以用于体现和实现技术的系统和方法实施例的计算机系统的示例实施例。例如,图3是比如计算机系统12或远程计算机系统112以及诸如移动设备之类的其它类型的计算机系统那样的计算机系统的实施例的框图。以下讨论的不同示例性组件的尺度、数量和复杂度将随计算机系统的复杂度而变化。图3图示了示例性计算机系统900。在其最基本的配置中,计算系统900典型地包括一个或多个处理单元902,其包括一个或多个中央处理单元(CPU)和一个或多个图形处理单元(GPU)。计算机系统900还包括存储器904。取决于计算机系统的确切配置和类型,存储器904可以包括易失性存储器905(诸如RAM)、非易失性存储器907(诸如R0M、闪存等)或二者的某种组合。该最基本的配置在图3中通过虚线906图示。此外,计算机系统900还可以具有附加的特征/功能性。例如,计算机系统900还可以包括附加存储装置(可移除和/或不可移除),包括但不限于磁盘或光盘或磁带。这样的附加存储装置在图3中通过可移除存储装置908和不可移除存储装置910来图示。
[0041 ]计算机系统900还可以包含(多个)通信模块912,其包括一个或多个网络接口和允许设备与其它计算机系统通信的收发器。计算机系统900还可以具有(多个)输入设备914,诸如键盘、鼠标、笔、语音输入设备、触摸输入设备等。还可以包括(多个)输出设备916,诸如显示器、扬声器、打印机等。
[0042]图中图示的示例计算机系统包括计算机可读存储设备的示例。计算机可读存储设备还是处理器可读存储设备。这样的设备可以包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据之类的信息的任何方法或技术实现的易失性和非易失性、可移除和不可移除存储器设备。处理器或计算机可读存储设备的一些示例是RAM、R0M、EEPR0M、缓存、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储装置、存储器棒或卡、磁盒、磁带、媒体驱动器、硬盘、磁盘存储装置或其它磁性存储设备或可以用于存储信息并且可以由处理器访问的任何其它设备。
[0043]图4A图示了可以在计算系统112处从捕获设备120接收的深度图像的示例实施例。根据示例实施例,深度图像可以是通过例如以上关于图2描述的捕获设备120的3D相机226和/或RGB相机228捕获的场景的图像和/或帧。如图4A中所示,深度图像可以包括对应于例如诸如以上关于图1描述的用户118之类的用户的人类目标和诸如所捕获的场景中的墙壁、桌子、监视器等之类的一个或多个非人类目标(即真实世界对象)。如以上所描述的,深度图像可以包括多个所观察到的像素,其中每一个所观察到的像素具有与其相关联的所观察到的深度值。例如,深度图像可以包括所捕获到的场景的二维(2-D)像素区块,其中2-D像素区块中的特定X值和y值处的每一个像素可以具有诸如所捕获到的场景中的目标或对象距捕获设备的以例如厘米、毫米等为单位的长度或距离之类的深度值。换言之,深度图像可以针对深度图像中的每一个像素指定像素位置和像素深度。在分段过程(例如由运行时引擎244执行)之后,深度图像中的每一个像素还可以具有与其相关联的分段值。像素位置可以由X定位值(即水平值)和y定位值(即竖直值)指示。像素深度可以由z定位值(还称为深度值)指示,其指示用于获取深度图像的捕获设备(例如120)与由像素所表示的用户部分之间的距离。分段值用于指示像素是否对应于特定用户,或者不对应于用户。
[0044]在一个实施例中,深度图像可以是彩色的或灰度的,以使得深度图像的像素的不同颜色或阴影对应于和/或在视觉上描绘目标距捕获设备120的不同距离。当接收到图像时,可以从深度图像移除和/或平滑一个或多个高方差和/或有噪声的深度值;可以填入和/或重构缺失和/或移除的深度信息的部分;和/或可以在所接收到的深度图像上执行任何其它合适的处理。
[0045]图4B提供了深度图像的另一视图/表不(不对应于与图4A相同的不例)。图4B的视图示出针对每一个像素的深度数据,其作为表示针对该像素的目标到捕获设备120的距离的整数。图4B的示例深度图像示出24x24像素;然而,很可能将会使用更大分辨率的深度图像。
[0046]图6示出通过骨骼识别引擎192生成的示例身体模型70的非限制性视觉表示。身体模型70是模型化目标(例如来自图1的用户18)的机器表示。身体模型70可以包括一个或多个数据结构,其包括以游戏或其它应用/操作系统的语言共同限定模型化目标的变量集合。
[0047]目标的模型可以进行各种配置,而不脱离于本公开内容的范围。在一些示例中,身体模型可以包括将目标表示为包括刚性和/或可变形形状或身体部分的三维模型的一个或多个数据结构。每一个身体部分可以表征为数学原函数,其示例包括但不限于球体、各向异性地缩放的球体、柱体、各向异性的柱体、平滑柱体、框、斜面框、棱柱等。在一个实施例中,身体部分关于身体部分的轴对称。
[0048]例如,图5的身体模型70包括身体部分bpl到bpl4,其中的每一个表示模型化目标的不同部分。每一个身体部分是三维形状。例如,bp3是表示模型化目标的左手的矩形棱柱,并且bp5是表示模型化目标的左上臂的八边形棱柱。身体模型70是示例性的,因为身体模型70可以包含任何数目的身体部分,其中的每一个可以是模型化目标的对应部分的任何机器可理解的表示。在一个实施例中,身体部分是柱体。
[0049]包括两个或更多身体部分的身体模型70还可以包括一个或多个关节。每一个关节可以允许一个或多个身体部分相对于一个或多个其它身体部分移动。例如,表示人类目标的模型可以包括多个刚性和/或可变形身体部分,其中一些身体部分可以表示人类目标的对应解剖学身体部分。另外,模型的每一个身体部分可以包括一个或多个结构构件(即“骨头”或骨骼部分),其具有位于相邻骨头的交叉处的关节。要理解的是,一些骨头可以对应于人类目标中的解剖学骨头和/或一些骨头可能不具有人类目标中的对应解剖学骨头。
[0050]骨头和关节可以共同构成骨骼模型,其可以是身体模型的组成元素。在一些实施例中,可以使用骨骼模型而不是另一类型的模型,诸如图5的模型70。骨骼模型可以包括用于每一个身体部分的一个或多个骨骼构件和相邻骨骼构件之间的关节。示例骨骼模型80和示例骨骼模型82分别在图6和7中示出。图6示出如从正面查看的骨骼模型80,具有关节jl到j33。图7示出如从倾斜视图查看的骨骼模型82,同样具有关节jl到j33。骨骼模型可以包括更多或更少的关节,而不脱离于本公开内容的精神。以下解释的本系统的进一步的实施例使用具有31个关节的骨骼模型进行操作。
[0051]在一个实施例中,系统100向骨骼模型添加表示身体部分的几何形状以形成身体模型。要指出的是,并非所有关节需要在身体模型中表示。例如,对于手臂,可以存在添加在关节j2与jl8之间的柱体以用于上
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1