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

文档序号:9756828阅读:来源:国知局
臂,以及添加在关节jl8与j20之间的另一柱体以用于下臂。在一个实施例中,柱体的中心轴链接两个关节。然而,可能不存在添加在关节j20与j22之间的任何形状。换言之,可能在身体模型中不表示手部。
[0052]在一个实施例中,为以下身体部分向骨骼模型添加几何形状:头部、上部躯干、下部躯干、左上臂、左下臂、右上臂、右下臂、左上腿、左下腿、右上腿、右下腿。在一个实施例中,这些每一个都是柱体,尽管可以使用另一形状。在一个实施例中,形状关于形状的轴对称。
[0053]用于身体部分的形状可以与多于两个关节相关联。例如,用于上部躯干身体部分的形状可以与」1、」2、」5、」6等相关联。
[0054]以上描述的身体部分模型和骨骼模型是可以用作模型化目标的机器表示的模型类型的非限制性示例。其它模型也在本公开内容的范围内。例如,一些模型可以包括多边形网格、补丁、非均匀有理B样条、子划分表面或其它高阶表面。模型还可以包括更精确地表示模型化目标的衣物、头发和/或其它方面的表面纹理和/或其它信息。模型可以可选地包括关于当前姿势、一个或多个过去姿势和/或模型物理性质的信息。要理解的是,可以做出姿势的各种不同的模型与本文所描述的目标识别、分析和追踪系统相兼容。
[0055]用于生成捕获设备120的视场(FOV)内的一个或多个用户的骨骼模型的软件流水线是已知的。一个这样的系统例如公开在2010年9月7日提交的题为“System For Fast,Probabilistic Skeletal Tracking”的美国专利公开2012/0056800中,该申请通过引用以其整体并入本文。
[0056]图8和9图示了依照本技术的用户18与3D热区交互。在图8中,在802、804和806处图示了三个3D热区。应当理解的是,3D热区802、804和806对用户不是可见的,但是向捕获设备20表示用户可以利用其交互和生成数字事件的三维体积。每一个热区可以由限定为像素的三维区块的定界区域而限定,每一个像素在坐标空间中限定。如以上指出的,坐标空间可以由相对于相机、相对于环境中的另一个基准点的笛卡尔坐标或者另一类型的坐标系统来限定。例如,可以使用相对于相机定位的球锥坐标系统。区域可以是任何体积形状,包括例如方形或矩形框、球体、锥体、柱体、角锥或任何多边体积。基准点可以是房间中的已知对象、房间角落或任何物理参考点。
[0057]如图8中图示的,3D热区802、804和806与诸如椅子23、桌子26和植物89之类的真实世界对象相关联。3D热区802、804和806中的每一个表示捕获设备120的视场100内的三维体积。在该上下文中,数字事件可以是可以由应用用于生成其自身的事件或者由指令用于使处理器在程序上起反应的任何事件。在一个示例中,当用户触摸椅子时,游戏应用可以相对于游戏渲染的虚拟椅子在游戏中渲染事件。如图9中图示的,当用户18手臂305和手部302接合3D热区802时,引发数字事件并且可以发生作为结果的数字动作,诸如显示器16上的怪兽移动到坐在椅子23的虚拟表示上的显示。可以实现在与3D热区的用户交互时创建的事件的大量其它使用示例。尽管示出三个热区,但是应当理解到的是,可以在环境中限定任何数目的热区。
[0058]图1OA图示了依照本技术的检测与热区的交互的方法。在步骤402处,捕获设备20的处理器32从图像捕获组件22接收视觉图像和深度图像。在其它示例中,在步骤402处仅接收深度图像。数据包括捕获设备的视场内的深度和视觉数据(或仅深度数据)。深度图像和视觉图像可以由图像捕获组件22中的任何传感器或其它合适的传感器(如本领域中已知的)来捕获。在一个实施例中,与视觉图像分离地捕获深度图像。在一些实现中,深度图像和视觉图像同时捕获,而在其它实现中它们顺序地或者在不同时间捕获。在其它实施例中,深度图像与视觉图像一起捕获或者与视觉图像组合为一个图像文件,使得每一个像素具有R值、G值、B值和Z值(表示距离)。
[0059]在步骤404处,确定对应于视觉图像和深度图像的深度信息。可以分析在步骤402处接收的视觉图像和深度图像以确定针对图像内的一个或多个目标的深度值。捕获设备20可以捕获或观察可以包括一个或多个目标的捕获区块。在405处,通过例如处理设备32或计算机系统12输出和分析捕获设备的视场的场景数据。在424处,做出关于对象(生物或无生命对象)是否进入热区的确定。如本文所描述的,该确定通过找到在阈值时间段内与热区相关联的数据中的改变来做出。在一个实施例中,数据中的改变是深度数据中的改变。在可替换的实施例中,视觉数据中的改变可以激活热区。在步骤430处,引发数字事件。图1OA的方法可以连续循环以扫描用于与热区交互的环境。
[0060]图1OB是描述了用于检测相对于三维热区的用户移动和触发数字事件的过程的一个实施例的流程图。在步骤402处,捕获设备20的处理器32从图像捕获组件22接收视觉图像和深度图像。
[0061]在步骤404处,确定对应于视觉图像和深度图像的深度信息。在步骤406处,捕获设备确定深度图像是否包括人类目标。在一个示例中,深度图像中的每一个目标可以被泛洪填充并且将其与图案比较以确定深度图像是否包括人类目标。在一个示例中,可以确定深度图像的所捕获到的场景中的每一个目标的边缘。深度图像可以包括针对其2D像素区块中的每一个像素可以表示诸如例如可以从相机测量的长度或距离之类的深度值的所捕获的场景的二维像素区块。可以通过比较与例如深度图像的相邻或附近像素相关联的各种深度值来确定边缘。如果所比较的各种深度值大于预确定的边缘容差,则像素可以限定边缘。捕获设备可以将包括深度图像的所计算的深度信息组织到Z层或可以垂直于从相机沿其视线延伸到观看者的Z轴的层中。Z层的可能的Z值可以基于所确定的边缘泛洪填充。例如,与所确定的边缘相关联的像素和所确定的边缘内的区块的像素可以与彼此相关联以限定捕获区块中的目标或物理对象。
[0062]在步骤408处,捕获设备针对一个或多个身体部分而扫描人类目标。可以扫描人类目标以提供与用户的一个或多个身体部分相关联的诸如长度、宽度等之类的测量,使得可以基于这些测量生成用户的精确模型。在一个示例中,隔离人类目标并且创建位掩码以扫描一个或多个身体部分。位掩码可以例如通过泛洪填充人类目标来创建,使得人类目标从捕获区块元素中的其它目标或对象分离。在步骤410处,基于步骤408处执行的扫描来生成人类目标的模型。可以针对一个或多个身体部分分析位掩码以生成诸如人类目标的骨骼模型、网格人类模型等之类的模型。例如,由经扫描的位掩码确定的测量值可以用于限定骨骼模型中的一个或多个关节。位掩码可以包括沿X、Y和Z轴的人类对象的值。一个或多个关节可以用于限定可以对应于人类的身体部分的一个或多个骨头。
[0063]根据一个实施例,为了确定人类目标的颈部、肩部等的位置,可以将例如被扫描的定位处的位掩码宽度和与例如颈部、肩部等相关联的典型宽度的阈值进行比较。在可替换的实施例中,距所扫描的并且与位掩码中的身体部分相关联的之前定位的距离可以用于确定颈部、肩部等的位置。
[0064]在一个实施例中,为了确定肩部的位置,可以将肩部定位处的位掩码的宽度与阈值肩部值比较。例如,可以将肩部定位处的位掩码的X值处的两个最外Y值之间的距离与例如人类肩部之间的典型距离的阈值肩部值进行比较。因此,根据示例实施例,阈值肩部值可以是与人类的身体模型的肩部相关联的典型宽度或宽度范围。
[0065]在另一实施例中,为了确定肩部的位置,可以从头部向下某个距离来解析位掩码。例如,可以与头部顶部相关联的位掩码的顶部可以具有与其相关联的X值。然后可以将与从头部顶部到人类身体的肩部顶部的典型距离相关联的存储值添加到头部顶部的X值以确定肩部的X值。因此,在一个实施例中,可以向与头部顶部相关联的X值添加存储值以确定与肩部相关联的X值。
[0066]在一个实施例中,诸如腿部、足部等之类的一些身体部分可以基于例如其他身体部分的位置来计算。例如,如以上所描述的,可以扫描诸如与人类目标相关联的位、像素等之类的信息以确定人类对象的各种身体部分的位置。基于这样的位置,然后可以针对人类目标计算诸如腿部、足部等之类的后续身体部分。
[0067]根据一个实施例,当确定例如身体部分的值时,可以创建数据结构,其可以包括诸如与人类目标的位掩码的扫描相关联的身体部分的长度、宽度等之类的测量值。在一个实施例中,数据结构可以包括从多个深度图像平均的扫描结果。例如,捕获设备可以捕获帧中的捕获区块,每一个帧包括深度图像。可以分析每一个帧的深度图像以确定是否可以包括如以上所描述的人类目标。如果帧的深度图像包括人类目标,可以针对一个或多个身体部分扫描与帧相关联的深度图像的人类目标的位掩码。然后可以对针对每一个帧的身体部分的确定值进行平均使得数据结构可以包括诸如与每一个帧的扫描相关联的身体部分的长度、宽度等之类的平均测量值。在一个实施例中,可以诸如放大、缩小等之类地调节所确定的身体部分的测量值,使得数据结构中的测量值更紧密地对应于人类身体的典型模型。在410处,由所扫描的位掩码确定的测量值可以用于限定骨骼模型中的一个或多个关节。
[0068]在步骤412处,从接收自捕获设备的深度图像和视觉图像捕获运动。在一个实施例中,步骤414处的捕获运动包括基于如以下更加详细地描述的骨骼映射生成运动捕获文件。在414处,使用骨骼映射来追踪步骤410中创建的模型并且在416处追踪用户运动。例如,当用户在视场内的相机前方的物理空间中移动时可以调节和更新用户18的骨骼模型。来自捕获设备的信息可以用于调节模型使得骨骼模型精确地表示用户。在一个示例中,这通过应用于骨骼模型的一个或多个力接收方面的一个或多个力来完成,以将骨骼模型调节成与人类目标的姿势和物理空间更紧密对应的姿势。
[0069]在步骤416处,追踪用户运动并且如循环
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1