环境和/或目标分割的制作方法

文档序号:1562734阅读:259来源:国知局
专利名称:环境和/或目标分割的制作方法
环境和/或目标分割
背景技术
诸如计算机游戏、多媒体应用等之类的许多计算应用使用控制来允许用户操纵游戏角色或应用的其他方面。通常使用例如控制器、遥控器、键盘、鼠标等等来输入这样的控制。不幸的是,这些控制可能是难以学习的,由此造成了用户和这些游戏及应用之间的障碍。此外,这些控制可能与这些控制所用于的实际游戏动作或其他应用动作不同。例如,使得游戏角色挥动棒球球棒的游戏控制可能不与挥动棒球球棒的实际运动相对应。

发明内容
此处公开了用于处理场景的可用于解释人类输入的深度信息的系统和方法。例如,可接收、捕捉或观察场景的深度图像。深度图像可以包括人类目标和环境(例如背景、 一个或多个非人类目标前景对象等等)。根据示例实施例,可以分析深度图像以确定与人类目标和环境相关联的一个或多个像素(例如,不与人类目标相关联的像素、或非玩家像素)。随后,将所述与环境相关联的一个或多个像素从深度图像中移除,使得在深度图像中人类目标被隔离。被隔离的人类目标可以用于跟踪人类目标的模型以例如动画化化身和/ 或控制各种计算应用。提供本发明内容以便以简化的形式介绍将在以下具体实施方式
中进一步描述的一些概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。此外,所要求保护的主题不限于解决在本发明的任一部分中提及的任何或所有缺点的实现。


图IA和IB示出了伴随用户玩游戏的目标识别、分析和跟踪系统的示例实施例。图2示出了可在目标识别、分析和跟踪系统中使用的捕捉设备的示例实施例。图3示出可用于解释目标识别、分析和跟踪系统中的一个或多个姿势的计算环境的示例实施例。图4示出了可用于解释目标识别、分析和跟踪系统中的一个或多个姿势的计算环境的另一示例实施例。图5描述了一种用于将人类目标从深度图像的环境中分割开的示例方法的流程图。图6A示出了可被接收的深度图像的示例实施例。图6B示出了在图6A中示出的具有从深度图像的环境中分割的或分离出的人类目标的深度图像的示例实施例。图7示出可包括红外阴影的深度图像的示例实施例。图8示出了深度图像的示例实施例,其中可以围绕人类目标定义边界框。图9A示出了具有隔离的人类目标的身体部位的深度图像的示例实施例。图9B示出了具有从环境中分割的人类目标的图9A的深度图像的示例环境。
5
图10示出了与深度图像相关联的深度历史数据的示例实施例。图IlA描述了可被捕捉的深度图像的示例实施例。图IlB示出了包括随时间累积的最大深度值的深度历史数据的示例实施例。图IlC示出了具有从环境中分割的人类目标的深度图像的示例实施例。
具体实施例方式如本文中将描述的,用户可通过执行一个或多个姿势来控制在诸如游戏控制台、 计算机等计算环境上执行的应用。根据一个实施例,姿势可由例如捕捉设备来接收。例如, 捕捉设备可捕捉场景的深度图像。在一个实施例中,可接收、捕捉或观察场景的深度图像。 深度图像可以包括人类目标和环境(例如背景、与人类目标不关联的前景对象等等)。在示例实施例中,环境可以包括一个或多个非人类目标,例如墙、家具等等。可以分析深度图像以确定一个或多个像素是否与环境和人类目标相关联。可以移除或丢弃与环境相关联的一个或多个像素以隔离前景对象。随后,可以处理具有隔离的前景对象的深度图像。例如,如上所述,被隔离的前景对象可以包括人类目标。根据示例实施例,可以生成人类目标模型或任意其它期望的形状,并且/或跟踪它们以例如动画化化身和/或控制各种计算应用。图IA和IB示出伴随用户18玩拳击游戏的目标识别、分析和跟踪系统10的配置的示例实施例。在一示例实施例中,目标识别、分析和跟踪系统10可用于识别、分析和/或跟踪诸如用户18等的人类目标。如图IA所示,目标识别、分析和跟踪系统10可包括计算环境12。计算环境12可以是计算机、游戏系统或控制台等等。根据一示例实施例,计算环境12可包括硬件组件和 /或软件组件,使得计算环境12可用于执行诸如游戏应用程序、非游戏应用程序等应用程序。在一个实施例中,计算环境12可以包括处理器,例如标准化处理器、专用处理器、微处理器等可以执行指令的等价物,所述指令包括例如用于接收场景的深度图像、确定一个或多个像素是否与深度图像的环境相关联、丢弃与深度图像的环境相关联的一个或多个像素以隔离期望的对象(例如在深度图像中的人类目标)、处理具有被隔离的期望的对象的深度图像的指令,这将在下面进行更加详细的描述。如图IA所示,目标识别、分析和跟踪系统10还可包括捕捉设备20。捕捉设备20 可以是,例如可用于在视觉上监视诸如用户18的一个或多个用户从而可以捕捉、分析并跟踪一个或多个用户所执行的姿势和/或移动,来执行应用中的一个或多个控制命令或动作和/或动画化化身或屏上角色的相机。根据一个实施例,目标识别、分析和跟踪系统10可连接到可向诸如用户18等用户提供游戏或应用视觉和/或音频的视听设备16,如电视机、监视器、高清电视机(HDTV)等。 例如,计算环境12可包括诸如图形卡等视频适配器和/或诸如声卡等音频适配器,这些适配器可提供与游戏应用、非游戏应用等相关联的视听信号。视听设备16可从计算环境12接收视听信号,然后可向用户18输出与该视听信号相关联的游戏或应用视觉和/或音频。根据一个实施例,视听设备16可经由例如,S-视频电缆、同轴电缆、HDMI电缆、DVI电缆、VGA 电缆等连接到计算环境12。如图IA和IB所示,目标识别、分析和跟踪系统10可用于识别、分析和/或跟踪诸如用户18等的人类目标。例如,可使用捕捉设备20来跟踪用户18,以使得可将用户18的移动解释为可用于影响由计算机环境12执行的应用程序的控制。因而,根据一个实施例, 用户18可移动他或她的身体来控制应用程序。如图IA和IB所示,在一示例实施例中,在计算环境12上执行的应用程序可以是用户18可能正在玩的拳击游戏。例如,计算环境12可使用视听设备16来向用户18提供拳击对手38的视觉表示。计算环境12还可使用视听设备16来提供用户18可通过他的或她的移动来控制的人类目标化身40的视觉表示。例如,如图IB所示,用户18可在物理空间中挥拳来使得人类目标化身40在游戏空间中挥拳。因此,根据一示例实施例,目标识别、 分析和跟踪系统10的计算环境12和捕捉设备20可用于识别和分析用户18在物理空间中的出拳,从而使得该出拳可被解释为对游戏空间中的人类目标化身40的游戏控制。用户18的其他移动也可被解释为其他控制或动作,诸如上下快速摆动、闪避、滑步、格挡、直拳或挥动各种不同力度的拳等控制。此外,某些移动可被解释为可对应于除控制人类目标化身40之外的动作的控制。例如,人类目标可以使用移动来结束、暂停或保存游戏、选择级别、查看高分、与朋友交流等。另外,用户18的全范围运动可以用任何合适的方式来获得、使用并分析以与应用进行交互。在各示例实施例中,诸如用户18等人类目标可持有一物体。在这些实施例中,电子游戏的用户可手持物体从而可以使用人类目标和物体的运动来调整和/或控制游戏的参数。例如,可以跟踪并利用人类目标手持球拍的运动来控制电子运动游戏中的屏幕上球拍。在另一示例实施例中,可以跟踪并利用人类目标手持物体的运动来控制电子格斗游戏中的屏幕上武器。根据其他示例实施例,目标识别、分析和跟踪系统10还可用于将目标移动解释为游戏领域之外的操作系统和/或应用控制。例如,事实上操作系统和/或应用程序的任何可控方面可由诸如用户18等目标的移动来控制。图2示出可在目标识别、分析和跟踪系统10中使用的捕捉设备20的示例实施例。 根据一示例实施例,捕捉设备20可被配置成经由任何合适的技术,包括例如飞行时间、结构化光、立体图像等来捕捉包括深度图像的带有深度信息的视频,该深度信息可包括深度值。根据一个实施例,捕捉设备20可将所计算的深度信息组织为“Z层”,或与从深度相机沿其视线延伸的Z轴垂直的层。如图2所示,捕捉设备20可包括图像相机组件22。根据一个示例实施例,图像相机组件22可以是可捕捉场景的深度图像的深度相机。深度图像可包括所捕捉的场景的二维(2-D)像素区域,其中2-D像素区域中的每一像素可表示深度值,诸如例如以厘米、毫米等计的、所捕捉的场景中的对象距相机的长度或距离。如图2所示,根据一示例实施例,图像相机组件22可包括可用于捕捉场景的深度图像的顶光组件对、三维(3-D)相机沈、和RGB相机观。例如,在飞行时间分析中,捕捉设备20的顶光组件M可以将红外光发射到场景上,然后,可以使用传感器(未示出),用例如3-D相机沈和/或RGB相机观,来检测从场景中的一个或多个目标和物体的表面反向散射的光。在某些实施例中,可以使用脉冲红外光,使得可以测量出射光脉冲和相应的入射光脉冲之间的时间差并将其用于确定从捕捉设备20到场景中的目标或物体上的特定位置的物理距离。另外,在其他示例性实施例中,可将出射光波的相位与入射光波的相位进行比较来确定相移。然后可以使用该相移来确定从捕捉设备到目标或物体上的特定位置的物理距
71 O根据另一示例实施例,可使用飞行时间分析,通过经由包括例如快门式光脉冲成像在内的各种技术来随时间分析反射光束的强度以间接地确定从捕捉设备20到目标或物体上的特定位置的物理距离。在另一示例实施例中,捕捉设备20可使用结构化光来捕捉深度信息。在这一分析中,图案化光(即,被显示为诸如网格图案或条纹图案等已知图案的光)可经由例如顶光组件M被投影到场景上。在落到场景中的一个或多个目标或物体的表面上时,作为响应, 图案可变形。图案的这样的变形可以被例如三维相机沈和/或RGB相机观捕捉,然后可以被分析以确定从捕捉设备20到目标或物体上的特定位置的物理距离。根据另一实施例,捕捉设备20可包括可以从不同的角度观察场景的两个或更多个在物理上分开的相机,以获取可以被解析以生成深度信息的视觉立体数据。捕捉设备20还可包括话筒30。话筒30可包括可接收声音并将其转换成电信号的换能器或传感器。根据一个实施例,话筒30可以被用来减少目标识别、分析和跟踪系统 10中的捕捉设备20和计算环境12之间的反馈。另外,话筒30可用于接收也可由用户提供的音频信号,以控制可由计算环境12执行的诸如游戏应用程序、非游戏应用程序等应用程序。在示例实施例中,捕捉设备20还可以包括可与图像相机组件22进行可操作的通信的处理器32。处理器32可以包括标准化处理器、专用处理器、微处理器等可以执行指令的等价物,所述指令包括用于接收场景的深度图像、确定一个或多个像素是否与深度图像的环境相关联、丢弃与深度图像的环境相关联的一个或多个像素以隔离期望的对象(例如在深度图像中的人类目标)、处理具有被隔离的期望的对象的深度图像的指令,这将在下面进行更加详细的描述。捕捉设备20还可以包括存储器组件34,该存储器组件34可以存储可以由处理器 32执行的指令、由3-D相机或RGB相机捕捉到的图像或图像的帧、或任何其他合适的信息、 图像等等。根据一示例实施例,存储器组件34可包括随机存取存储器(RAM)、只读存储器 (ROM)、高速缓存、闪存、硬盘或任何其他合适的存储组件。如图2所示,在一个实施例中,存储器组件34可以是与图像捕捉组件22和处理器32进行通信的单独的组件。根据另一实施例,存储器组件34可被集成到处理器32和/或图像捕捉组件22中。如图2所示,捕捉设备20可经由通信链路36与计算环境12进行通信。通信链路36可以是包括例如USB连接、火线连接、以太网电缆连接等的有线连接和/或诸如无线 802. lib,802. llg、802. Ila或802. Iln连接等的无线连接。根据一个实施例,计算环境12 可以经由通信链路36向捕捉设备20提供时钟,可以使用该时钟来确定何时捕捉例如场景。另外,捕捉设备20可以通过通信链路36向计算环境12提供深度信息和由例如 3-D相机沈和/或RGB相机观捕捉到的图像,以及可以由捕捉设备20生成的骨架模型。 计算环境12然后可使用该骨架模型、深度信息和捕捉的图像来例如控制例如游戏或文字处理程序之类的应用。例如,如图2所示,计算环境12可包括姿势库190。姿势库190可包括姿势过滤器集合,每一姿势过滤器包括关于骨架模型可执行(在用户移动时)的姿势的信息。可以将由相机沈、观和设备20以骨架模型及与之相关联的移动的形式捕捉的数据与姿势库190中的姿势过滤器进行比较,以标识(如由骨架模型所表示的)用户何时执行了一个或多个姿势。那些姿势可与应用的各种控制相关联。因此,计算环境12可使用姿势库190来解释骨架模型的移动并基于该移动来控制应用。图3示出可用于解释目标识别、分析和跟踪系统中的一个或多个姿势的计算环境的示例实施例。上面参考图1A-2所描述的诸如计算环境12等计算环境可以是诸如游戏控制台等多媒体控制台100。如图3所示,多媒体控制台100具有含有一级高速缓存102、二级高速缓存104和闪存R0M(只读存储器)106的中央处理单元(CPU) 101。一级高速缓存 102和二级高速缓存104临时存储数据并因此减少存储器访问周期数,由此改进处理速度和吞吐量。CPU 101可以设置成具有一个以上的内核,以及由此的附加的一级和二级高速缓存102和104。闪存ROM 106可存储在多媒体控制台100通电时引导过程的初始阶段期间加载的可执行代码。图形处理单元(GPU) 108和视频编码器/视频编解码器(编码器/解码器)114形成用于高速和高分辨率图形处理的视频处理流水线。经由总线从图形处理单元108向视频编码器/视频编解码器114运送数据。视频处理流水线向A/V(音频/视频)端口 140输出数据,用于传输至电视或其他显示器。存储器控制器110连接到GPU 108以方便处理器访问各种类型的存储器112,诸如但不局限于RAM(随机存取存储器)。多媒体控制台100包括较佳地在模块118上实现的I/O控制器120、系统管理控制器122、音频处理单元123、网络接口控制器124、第一 USB主控制器126、第二 USB控制器 1 和前面板I/O子部件130。USB控制器126和1 用作外围控制器142⑴-142 O)、无线适配器148、和外置存储器设备146 (例如闪存、外置⑶/DVD ROM驱动器、可移动介质等) 的主机。网络接口 1 和/或无线适配器148提供对网络(例如,因特网、家庭网络等)的访问,并且可以是包括以太网卡、调制解调器、蓝牙模块、电缆调制解调器等的各种不同的有线或无线适配器组件中任何一种。提供系统存储器143来存储在引导过程期间加载的应用数据。提供媒体驱动器 144,且其可包括DVD/⑶驱动器、硬盘驱动器、或其他可移动媒体驱动器等。媒体驱动器144 可以是对多媒体控制器100内置的或外置的。应用数据可经由媒体驱动器144访问,以由多媒体控制台100执行、回放等。介质驱动器144经由诸如串行ATA总线或其他高速连接 (例如IEEE 1394)等总线连接到I/O控制器120。系统管理控制器122提供涉及确保多媒体控制台100的可用性的各种服务功能。 音频处理单元123和音频编解码器132形成具有高保真度和立体声处理的对应的音频处理流水线。音频数据经由通信链路在音频处理单元123与音频编解码器132之间传输。音频处理流水线将数据输出到A/V端口 140以供外置音频人类目标或具有音频能力的设备再现。前面板I/O子部件130支持暴露在多媒体控制台100的外表面上的电源按钮150 和弹出按钮152以及任何LED(发光二极管)或其他指示器的功能。系统供电模块136向多媒体控制台100的组件供电。风扇138冷却多媒体控制台100内的电路。CPU 101、GPU 108、存储器控制器110、和多媒体控制台100内的各个其他组件经由一条或多条总线互连,包括串行和并行总线、存储器总线、外围总线、和使用各种总线架构中任一种的处理器或局部总线。作为示例,这些架构可以包括外围部件互连(PCI)总线、 PCI-Express 总线等。
当多媒体控制台100通电时,应用数据可从系统存储器143加载到存储器112和/ 或高速缓存102、104中并在CPU 101上执行。应用可呈现在导航到多媒体控制台100上可用的不同媒体类型时提供一致的用户体验的图形用户界面。在操作中,媒体驱动器144中包含的应用和/或其他媒体可从媒体驱动器144启动或播放,以向多媒体控制台100提供附加功能。多媒体控制台100可通过将该系统简单地连接到电视机或其他显示器而作为独立系统来操作。在该独立模式中,多媒体控制台100允许一个或多个用户与该系统交互、看电影、或听音乐。然而,随着通过网络接口 1 或无线适配器148可用的宽带连接的集成, 多媒体控制台100还可作为较大网络社区中的参与者来操作。当多媒体控制台100通电时,可以保留设定量的硬件资源以供多媒体控制台操作系统作系统使用。这些资源可包括存储器的保留量(诸如,16MB)、CPU和GPU周期的保留量(诸如,5% )、网络带宽的保留量(诸如,Slcbs),等等。因为这些资源是在系统引导时间保留的,所保留的资源对于应用视角而言是不存在的。具体而言,存储器保留优选地足够大,以包含启动内核、并发系统应用程序和驱动程序。CPU保留优选地为恒定,使得若所保留的CPU用量不被系统应用使用,则空闲线程将消耗任何未使用的周期。对于GPU保留,通过使用GPU中断来调度代码来将弹出窗口呈现为覆盖图以显示由系统应用程序生成的轻量消息(例如,弹出窗口)。覆盖图所需的存储器量取决于覆盖区域大小,并且覆盖图优选地与屏幕分辨率成比例缩放。在并发系统应用使用完整用户界面的情况下,优选使用独立于应用分辨率的分辨率。定标器可用于设置该分辨率,从而无需改变频率并引起TV重新同步。在多媒体控制台100引导且系统资源被保留之后,就执行并发系统应用来提供系统功能。系统功能被封装在上述所保留的系统资源中执行的一组系统应用中。操作系统内核标识是系统应用线程而非游戏应用线程的线程。系统应用优选地被调度为在预定时间并以预定时间间隔在CPU 101上运行,以便为应用提供一致的系统资源视图。进行调度是为了把由在控制台上运行的游戏应用所引起的高速缓存中断最小化。当并发系统应用需要音频时,则由于时间敏感性而将音频处理异步地调度给游戏应用。多媒体控制台应用程序管理器(如下所述)在系统应用程序活动时控制游戏应用程序的音频水平(例如,静音、衰减)。输入设备(例如,控制器142(1)和142( )由游戏应用程序和系统应用程序共享。输入设备不是保留资源,而是在系统应用和游戏应用之间切换以使其各自具有设备的焦点。应用管理器较佳地控制输入流的切换,而无需知晓游戏应用的知识,并且驱动程序维护有关焦点切换的状态信息。相机26J8和捕捉设备20可为控制台100定义额外的输入设备。图4示出了可用于在目标识别、分析和跟踪系统中解释一个或多个姿势的计算环境220的另一示例实施例,该计算环境可以是图1A-2所示的计算环境12。计算系统环境 220只是合适的计算环境的一个示例,并且不旨在对所公开的主题的使用范围或功能提出任何限制。也不应该将计算环境220解释为对示例性操作环境220中示出的任一组件或其组合有任何依赖性或要求。在某些实施例中,所描绘的各种计算元素可包括被配置成实例
10化本发明的各具体方面的电路。例如,本公开中使用的术语电路可包括被配置成通过固件或开关来执行功能的专用硬件组件。其他示例中,术语电路可包括由实施可用于执行功能的逻辑的软件指令配置的通用处理单元、存储器等。在电路包括硬件和软件的组合的示例实施例中,实施者可以编写体现逻辑的源代码,且源代码可以被编译为可以由通用处理单元处理的机器可读代码。因为本领域技术人员可以明白现有技术已经进化到硬件、软件或硬件/软件组合之间几乎没有差别的地步,因而选择硬件或是软件来实现具体功能是留给实现者的设计选择。更具体地,本领域技术人员可以明白软件进程可被变换成等价的硬件结构,而硬件结构本身可被变换成等价的软件进程。因此,对于硬件实现还是软件实现的选择是设计选择并留给实现者。在图4中,计算环境220包括计算机Ml,计算机241通常包括各种计算机可读介质。计算机可读介质可以是能由计算机241访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。系统存储器222包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM) 223和随机存取存储器(RAM06O。包含诸如在启动期间帮助在计算机Ml内的元件之间传输信息的基本例程的基本输入/输出系统 224(BIOS)通常储存储在ROM 223中。RAM 260通常包含处理单元259可立即访问和/或目前正在操作的数据和/或程序模块。作为示例而非限制,图4示出了操作系统225、应用程序226、其他程序模块227和程序数据228。计算机241也可以包括其他可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图4示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器 238,从可移动、非易失性磁盘2M中读取或向其写入的磁盘驱动器239,以及从诸如⑶ROM 或其他光学介质等可移动、非易失性光盘253中读取或向其写入的光盘驱动器M0。可在示例性操作环境中使用的其他可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器 238通常由例如接口 234等不可移动存储器接口连接至系统总线221,而磁盘驱动器239和光盘驱动器240通常由例如接口 235等可移动存储器接口连接至系统总线221。以上讨论并在图4中示出的驱动器及其相关联的计算机存储介质为计算机241提供了对计算机可读指令、数据结构、程序模块和其他数据的存储。在图4中,例如,硬盘驱动器238被示为存储操作系统258、应用程序257、其他程序模块256和程序数据255。注意, 这些组件可以与操作系统225、应用程序226、其他程序模块227和程序数据2 相同或不同。在此操作系统258、应用程序257、其他程序模块256以及程序数据255被给予了不同的编号,以说明至少它们是不同的副本。用户可以通过输入设备,例如键盘251和定点设备 252——通常是指鼠标、跟踪球或触摸垫——向计算机241输入命令和信息。其他输入设备 (未示出)可包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些和其他输入设备通常通过耦合至系统总线的用户输入接口 236连接至处理单元259,但也可以由其他接口和总线结构,例如并行端口、游戏端口或通用串行总线(USB)来连接。相机沈、观和捕捉设备20可为控制台100定义额外的输入设备。监视器242或其他类型的显示设备也通过诸如视频接口 232之类的接口连接至系统总线221。除监视器之外,计算机还可以包括可以通过输出外围接口 233连接的诸如扬声器244和打印机243之类的其他外围输出设备。计算机241可以使用到一个或多个远程计算机(如远程计算机M6)的逻辑连接,以在联网环境中操作。远程计算机246可以是个人计算机、服务器、路由器、网络PC、对等设备或其他常见网络节点,并且通常包括许多或所有以上关于计算机241所描述的元件, 但在图4中仅示出了存储器存储设备M7。图2中所描绘的逻辑连接包括局域网(LAN) 245 和广域网(WAN) M9,但还可包括其他网络。这些联网环境在办公室、企业范围计算机网络、 内联网和因特网中是常见的。当用于LAN联网环境中时,计算机241通过网络接口或适配器237连接到LAN 2450当在WAN联网环境中使用时,计算机241通常包括调制解调器250或用于通过诸如因特网等WAN 249建立通信的其他手段。调制解调器250,可以是内置的或外置的,可以经由用户输入接口 236或其他适当的机制,连接到系统总线221。在联网环境中,相对于计算机 241所描绘的程序模块或其部分可被存储在远程存储器存储设备中。作为示例而非限制, 图4示出了远程应用程序248驻留在存储器设备247上。应当理解,所示的网络连接是示例性的,并且可使用在计算机之间建立通信链路的其他手段。图5描绘了用于处理深度信息的示例方法的流程图,包括例如从可由捕捉设备捕捉的深度图像中的环境中分割人类目标。示例方法500可使用例如,参考图1A-4所描述的目标识别、分析和跟踪系统10的捕捉设备20和/或计算环境12来实现。在一示例实施例中,示例方法500可采取可由例如参考图1A-4所描述的目标识别、分析和跟踪系统10的捕捉设备20和/或计算环境12执行的程序代码(即指令)的形式。根据一实施例,在510,可接收深度图像。例如,目标识别、分析和跟踪系统可包括诸如参考图1A-2描述的捕捉设备20等捕捉设备。捕捉设备20可捕捉或观察可包括一个或多个目标或物体的场景。在一示例实施例中,捕捉设备20可以是深度相机,该深度相机被配置成使用诸如飞行时间分析、结构化光分析、立体视觉分析等任何合适的技术来获得场景的深度图像。深度图像可以是多个观测到的像素,其中每个观测到的像素具有观测到的深度值。例如,深度图像可包括所捕捉的场景的二维O-D)像素区域,其中2-D像素区域中的每一像素可表示深度值,诸如例如以厘米、毫米等计的、所捕捉的场景中的对象距捕捉设备的长度或距离。图6A示出了可在510处被接收的深度图像600的示例实施例。根据一示例实施例,深度图像600可以是由例如以上参考图2所描述的捕捉设备20的3-D相机沈和/或 RGB相机观所捕捉的场景的图像或帧。如在图6A中所示,深度图像600可以包括对应于例如一个或多个用户(例如上述图IA和IB中所述的用户18)的一个或多个人类目标602、604 和一个或多个非人类目标606,例如在捕捉的场景中的墙、桌子、监视器、长椅、天花板等等。 根据一个示例实施例,所述一个或多个人类目标602、604可以是玩家或其它被期望从深度图像600的环境中被分割或分离的对象以及可以是深度图像600的环境的一个或多个非人类目标606。如上所述,深度图像600可包括多个观测到的像素,其中每一观测到的像素具有与其相关联的观测到的深度值。例如,深度图像600可包括所捕捉的场景的二维Q-D)像素区域,其中2-D像素区域中的每一像素可表示深度值,诸如例如以厘米、毫米等计的、所捕捉的场景中的对象或目标距捕捉设备20的长度或距离。在一实施例中,第一深度图像 600可被着色从而使得深度图像的像素的不同颜色对应于和/或从视觉上描绘了一个或多个人类目标602、604和非人类目标606离捕捉设备20的不同距离。例如,根据一个实施例, 深度图像中与最接近捕捉设备的目标相关联的像素可用红色和/或橙色阴影来着色,而深度图像中与较远的目标相关联的像素可用绿色和/或蓝色阴影来着色。回头参考图5,在一个实施例中,在505处接收到图像之后,可将该图像降采样到较低的处理分辨率,使得该深度图像可用更少的计算开销来被更容易地使用和/或更快地处理。另外,可从深度图像中移除和/或平滑掉一个或多个高变度和/或含噪声的深度值; 可填入和/或重构缺少的和/或移除的深度值的各部分;和/或可对所接收的深度图像执行任何其他合适的处理,使得该深度图像可被处理以例如生成人类目标的模型并跟踪该人类目标的模型,如将在下文更详细描述的。例如,在一个实施例中,目标识别、分析和跟踪系统可以为在505接收到的深度图像中与红外阴影相关联的像素计算缺少的和/或移除的深度值的各部分。图7示出可包括红外阴影的深度图像700的示例实施例。深度图像700可包括与例如以上参考图IA和IB所描述的用户18相关联的人类目标602。如图7所示,右手702 和左手705可在人类目标602的一部分的前方延伸。根据一示例实施例,可在人类目标602的一部分的前方延伸的右手702和左手705 可生成相应的第一和第二红外阴影708和710。第一和第二红外阴影708和710可包括诸如以上参考图1A-2所描述的捕捉设备20等的捕捉设备所观察或捕捉的深度图像700的部分,其中身体部位可在场景上投射阴影。根据一示例实施例,捕捉设备可观察或捕捉无效深度值,如与深度图像中其中身体部位可在场景上投射阴影的部分相关联的像素的零深度值。第一和第二红外阴影708和710可以将一身体部位与人类目标602的另一身体部位分离开。例如,如在图7中所示,第一红外阴影708可以将右手702从例如人类目标602 的右臂中分离开。根据示例实施例,第一和第二红外阴影708和710可以用无效深度值将身体部位分离。例如,与第一和第二红外阴影708和710部分相关联的像素可以具有无效深度值。无效深度值可以将身体部位(例如右手702)从例如人类目标602的右臂中分离, 其中右臂可以具有有效、非零的深度值。在一个实施例中,与诸如红外阴影708的红外阴影相关联的像素的深度值可以被替换。例如,目标识别、分析和跟踪系统可以为阴影估计可替换无效深度值的一个或多个深度值。根据一个实施例,可以基于邻近的非阴影像素来估计红外阴影像素的深度值。例如, 目标识别、分析和跟踪系统可标识红外阴影像素。一旦标识了红外阴影像素,目标识别、分析和跟踪系统就可以确定与所述红外阴影像素相邻的一个或多个像素是否具有有效的深度值。如果与红外阴影像素相邻的一个或多个像素具有有效的深度值,则可基于相邻像素的有效的深度值来生成红外阴影像素的深度值。例如,在一个实施例中,目标识别、分析和跟踪系统可以对与所述阴影像素相邻的像素的有效的深度值进行估计或内插。目标识别、 分析和跟踪系统还可将具有有效的深度值的相邻像素之一的深度值分配给阴影像素。根据一个实施例,目标识别、分析和跟踪系统可标识其他红外阴影像素,并且如上所述地为这些像素计算深度值直到每一个红外阴影像素都可具有与其相关联的深度值。由此,在一示例实施例中,目标识别、分析和跟踪系统可基于具有与其相关联的有效深度值的邻近或相邻像素对每一个红外阴影像素的值进行内插。
13
另外,在另一示例实施例中,目标识别、分析和跟踪系统可基于先前帧的深度图像为一个或多个红外阴影像素计算深度值。如上所述,诸如以上参考图1A-2所描述的捕捉设备20等的捕捉设备可捕捉帧中的场景。每一帧可包括一深度图像。例如,所述系统可判定先前帧的相应像素是否具有有效的深度值。基于该判定,所述系统可用先前帧的相应像素的深度值来替换当前深度图像中的红外阴影像素的深度值。在515,可扫描深度图像中的人类目标来寻找一个或多个身体部位。例如,在接收到深度图像后,目标识别、分析和跟踪系统可以确定深度图像是否包括诸如上述参考图6A 描述的人类目标602和604这样的人类目标,人类目标对应于例如上述参考图IA和IB描述的诸如用户18这样的用户。在一个实施例中,为了确定深度图像是否包括人类目标,目标识别、分析和跟踪系统可以泛色填充深度图像中的每个目标或物体,然后将每个经泛色填充的目标或物体与和人在各个位置和姿势下的身体模型相关联的图案相比较。然后可以扫描与图案相匹配的经泛色填充的目标或人类目标,以确定包括位置和/或诸如与一个或多个身体部位相关联的长度、宽度等度量在内的各个值。例如,可以隔离与图案相匹配的经泛色填充的目标或人类目标,并且可以创建人类目标的诸如二进制掩码的掩码。可以通过例如对人类目标进行泛色填充来创建掩模,以便人类目标可以与场景元素中的其他目标或物体分开。然后可以分析掩码以确定一个或多个身体部位的位置和/或度量。根据一个实施例,可以基于一个或多个身体部位的位置和/或度量来生成模型,例如人类目标的骨架模型、网格人类模型等。在一个实施例中,在515处扫描人类目标之前,目标识别、分析和跟踪系统可在 510确定深度图像中的人类目标先前是否已被扫描。例如,诸如以上参考图1A-2所描述的捕捉设备20等的捕捉设备可按帧来捕捉场景。每一帧可包括一深度图像。可如上所述分析每一帧的深度图像来确定深度图像是否可包括人类目标。可进一步分析每一帧的深度图像来确定先前是否已经扫描了人类目标来寻找一个或多个身体部位。例如,在510,目标识别、分析和跟踪系统可确定在505接收到的深度图像中的人类目标是否对应于先前在515 处扫描的人类目标。在一个实施例中,在510,如果该人类目标不对应于先前扫描的人类目标,则然后可在515处扫描该人类目标。因此,根据一示例实施例,人类目标可以在初始帧和由捕捉设备捕捉的包括人类目标的初始深度图像内扫描一次。根据另一实施例,目标识别、分析和跟踪系统可以在包括人类目标的每个接收到的深度图像中扫描人类目标以寻找一个或多个身体部位。可以将与一个或多个身体部位的例如度量相关联的扫描结果进行平均。在520,可确定深度图像的环境。例如,如上所述,深度图像可以是二维O-D)像素区域中的多个所观察的像素,其中每一所观察的像素具有所观察的深度值。在一个实施例中,目标识别、分析和跟踪系统可确定深度图像中的一个或多个像素是否可与人类目标或深度图像的环境相关联。如上所述,深度图像的环境可以包括,例如,在深度图像中的在人类目标之后的环境物体、在人类目标之上的环境物体、围绕人类目标的左和右侧的环境物体、在人类目标前面的环境物体等等。在一示例实施例中,目标识别、分析和跟踪系统可通过最初定义围绕诸如在505 接收到的深度图像中的每一人类目标等的每一前景对象的边界框来确定深度图像的环境。 例如,目标识别、分析和跟踪系统可为所接收的深度图像中的每个人类目标(例如上面参照图6A所述的人类目标602、604)定义边界框。根据一个示例实施例,可以基于与人类目标相关联的质心(centroid)和/或身体度量来定义边界框。例如,如上所述,在515,目标识别、分析和跟踪系统可以扫描所接收的深度图像中的人类目标以寻找一个或多个身体部位。该边界框可由基于例如515处的扫描确定的质心和/或度量来定义。在为每一人类目标定义了边界框之后,深度图像中在该边界框外部的像素可被标识为环境。图8示出了深度图像800的示例实施例,其中可以环绕人类目标定义边界框802。 如在图8中所示,可以由第一边80 、第二边804b、第三边8(Mc和第四边804d来定义边界框802。在一个实施例中,可以基于人类目标602的质心和/或一个或多个身体度量来计算边界框702的第一、第二、第三和第四边8(Ma-804d。在一个实施例中,可以基于如上所述的扫描来计算人类目标602的质心。例如,质心可以是例如人类目标的几何中心的关节或交点的表示。根据一个实施例中,由所述扫描所确定的一个或多个身体部位可被用于计算质心。例如,可以对在具有像素可能与身体部位相关联的阈值概率的深度图像中每个像素的坐标进行平均以计算质心。或者,可以基于由扫描所确定的身体部位的度量和/或位置的线性回归来确定质心。随后,可以将与一个或多个身体部位相关联的诸如长度、宽度等的身体度量和所计算的质心用于确定边界框802的边。例如,可以由各个第一、第二、第三和第四边 8(Ma-804d的交叉点来定义边界框802。根据一个示例实施例,可以通过将度量(例如通过扫描确定的各个左臂和右臂相关联的长度)加入到与在左臂方向和右臂方向上的质心相关联的X值中来确定第一边80 和第三边8(Mc的位置。另外,在一个实施例中,可以基于与人类目标的头顶和通过扫描确定的脚底的位置相关联的Y值来确定第二边804b和第四边804d的位置。随后,由例如第一边80 和第二边804b、第一边80 和第四边804d、第三边8(Mc和第二边804b以及第三边8(Mc和第四边804d的交叉点来定义边界框802。根据示例实施例,在为人类目标602定义边界框之后,在深度图像800的边界框 802之外的像素可以被标识为深度图像800的非人类目标像素或与环境相关联的像素。参考回图5,在一实施例中,目标识别、分析和跟踪系统可以在520通过将与诸如人类目标的人类目标相关联的一个或多个像素的泛色填充来进一步确定深度图像的环境。 例如,目标识别、分析和跟踪系统可通过比较附近像素的各种深度值来检测例如,诸如人类目标的前景对象的边缘,使得人类目标的边缘内的像素可被泛色填充。根据示例实施例,目标识别、分析和跟踪系统可通过比较可在边界框(例如如上参照图8所述的边界框80 之内的附近像素的各种深度值来检测例如,诸如人类目标的前景对象的边缘。例如,如上所述,可以定义围绕人类目标的边界框。可以将在边界框之外的像素标识为深度图像的环境。目标识别、分析和跟踪系统随后可以分析边界框内的像素以确定像素是与人类目标还是与环境相关联,以便检测前景对象的边缘。在一个实施例中,目标识别、分析和跟踪系统可进一步选择预定数目的采样点作为分析边界框内的像素的起始点以确定像素是与人类目标还是与环境相关联。例如,目标识别、分析和跟踪系统可以随机选择边界框内的一个或多个采样点。在一个实施例中,与随机选择的采样点相关联的像素可以是可用于初始地比较像素以检测诸如人类目标的前景对象的边缘的参考像素,这将在下面详细描述。图9B示出可以具有一个或多个分离的身体部位和在例如边界框内选择的预定数目的采样点902的深度图像1000的示例实施例。在示例实施例中,可以基于人类目标602 的质心来选择采样点902。例如,如在图9B中所示,目标识别、分析和跟踪系统可以随机选择例如采样点902。采样点902可以包括位于围绕人类目标602的质心的各个位置处的16 个采样点。根据另一实施例,采样点902的各个位置可以是使用例如形状来随机选择的。例如,如菱形形状的形状可用于随机选择采样点902。沿例如诸如菱形形状的形状的各个位置可以被选择作为采样点902。另外,采样点902的各个位置可以基于例如由扫描确定的人类目标602的一个或多个身体部位。例如,可以基于人类目标的肩宽、体长、臂长等来选择采样点902的各个位置。另外,可选择采样点902以覆盖例如人类目标602的上身、下身或上身和下身的组合。参考回图5,目标识别、分析和跟踪系统可以检测人类目标(例如上面参考图6A 和9在520处所述的人类目标602、604)的边缘。根据一示例实施例,目标识别、分析和跟踪系统可通过使用预定边缘容限来分析例如边界框内的各个像素来检测人类目标的边缘。 如上所述,在一个实施例中,目标识别、分析和跟踪系统可以选择预定数目的采样点作为起始点以使用预定边缘容限来检测人类目标的边缘。使用与采样点相关联的像素作为初始参考,可以通过将与像素的相邻的或附近的像素相关联的各种深度值进行比较以检测人类目标的边缘来确定所述边缘。这样,根据示例实施例,可以将例如以与采样点相关联的像素开始的每个像素与相邻的或附近的像素进行比较以使用预定边缘或动态计算的边缘容限来检测人类目标的边缘。根据示例实施例,如果正被比较的各种深度值可大于预定边缘容限,则这些像素可定义一条边。在一实施例中,预定边缘容限可以是例如100毫米。如果表示1000毫米的深度值的像素可与表示1200毫米的深度值的相邻像素进行比较,则这些像素可定义诸如人类目标602、604的人类目标的一条边,因为像素之间的长度或距离之差大于预定边缘容限 100mm。根据示例实施例,边缘容限值可以在像素之间变化。例如,对于在人类目标胸前的像素,可以使用较高的容限值来检测人类目标边缘。例如,人类目标可以在他/她的胸前握紧他/她的手臂。为了精确地检测出人类目标602的手的边缘,目标识别、分析和跟踪系统可以使用较高的容限值。在另一示例中,人类目标从他/她的躯体向远方伸展他/她的手臂。在该示例中,目标识别、分析和跟踪系统可以使用较低的容限值来检测人类目标的手的边缘。根据一个实施例,可以基于例如像素的位置、人类目标的手臂长度和/或人类目标的肩宽来确定可变边缘容限。根据另一个示例实施例,可以内插可变边缘容限使得所检测的边是平滑曲线。在一个实施例中,可以泛色填充所检测人类目标的边缘内的像素以隔离和/或标识诸如人类目标602、604的人类目标。随后可以标识没有被泛色填充的像素或将其与深度图像的环境相关联,以便移除所述像素,这将在下面进行详细描述。根据示例实施例,可以将人类目标602的一个身体部位与该人类目标的另一身体部位分离开来。例如,如上面参考图7所述,身体部位可投下红外阴影,使得该身体部位可与该人类目标的另一身体部位分开。在另一示例实施例中,诸如头等身体部位可通过例如面部毛发、各种服装物品等与人类目标的躯干分开。
另外,如上所述,身体部位可通过例如面部毛发、各种服装物品等由无效深度值来分开。例如,捕捉设备(例如如上面参照图1A-2所述的捕捉设备20)可以捕捉或观察无效深度值,例如与面部毛发、各种服装物品等相关联的一个或多个像素的零或无效深度值。如上所述,在一个实施例中,目标识别、分析和跟踪系统可以估计与面部毛发、各种服装物品等相关联的一个或多个像素的有效深度值。在估计了有效深度值之后,还可以分离身体部位。例如,目标识别、分析和跟踪系统可能不能估计面部毛发、各种服装物品等的每个像素的有效深度值。根据示例实施例,目标识别、分析和跟踪系统可以确定具有这些像素的无效深度值的深度图像的环境。图9A-9B示出了可以具有一个或多个分离的身体部位的深度图像1000的示例实施例。如图9A所示,深度图像1000可以包括人类目标602。在示例实施例中,人类目标602 可以具有头1002、胡须1005和躯干1007。如图9A所示,头1002可以通过胡须1005从躯干1007分离。根据示例实施例,目标识别、分析和跟踪系统可以使用具有如上所述随机选择的采样点的多采样泛色填充以标识并泛色填充一个或多个隔离的身体部位,例如人类目标602的头1002。如图9B所示,头1002和躯干1007两者都可以被泛色填充作为与人类目标602相关联的像素,尽管胡须1005将头1002与躯干1007分离开来。例如,如上所述,目标识别、 分析和跟踪系统可以以例如围绕人类目标602的质心的菱形形状来随机生成预定数目的采样点802。如图9B所示,采样点902的三个采样点可以与头1002的像素相关联。依据这三个采样点,目标识别、分析和跟踪系统可以确定与头1002相关联的像素属于人类目标 602的头,并且因此,泛色填充被隔离的头1002作为目标像素。如上所述,每个采样点可以用作起始点以确定像素是否与人类目标相关联,以便泛色填充人类目标。例如,目标识别、分析和跟踪系统可以在可以是人类目标602的质心的第一采样点处开始泛色填充。此后,目标识别、分析和跟踪系统可以挑选第二采样点以确定像素是否与人类目标602相关联。在一个示例实施例中,目标识别、分析和跟踪系统可以检查每个采样点的深度值。 例如,如果第二采样点的深度值接近于人类目标602的质心的深度值或在离人类目标602 的质心的深度值的预定容限之内,则目标识别、分析和跟踪系统可以将该采样点标识为与人类目标602的被隔离的身体部位相关联。如上所述,根据一个示例实施例,基于包括但不限于与一个或多个身体部位相关联的位置和/或诸如长度、宽度等的度量的值来确定预定容限。这样,根据一个示例实施例,目标识别、分析和跟踪系统可以将采样点用作起始点以确定像素是否与人类目标相关联,以便泛色填充所述像素。参考回图5,在520,目标识别、分析和跟踪系统可以使用深度历史数据来确定深度图像的环境或非人类目标像素。例如,目标识别、分析和跟踪系统可以通过如上所述的泛色填充来确定像素是否与人类目标相关联。如果基于泛色填充该像素不与人类目标相关联,则目标识别、分析和跟踪系统可将该像素作为环境的一部分而丢弃。如果像素看上去是与人类目标相关联的像素,则目标识别、分析和跟踪系统可以相对于深度历史数据来分析该像素,所述深度历史数据包括例如该像素的历史最大深度值、平均或标准偏差。例如,如上所述,诸如以上参考图1A-2所描述的捕捉设备20的捕捉设备可捕捉帧中的场景。每一帧可包括一深度图像。对每个帧的深度图像(例如如图6A所示的深度图像600)进行分析
17以提取和/或存储其内的每个像素的历史最大深度值。图10描述了深度历史数据1100的示例实施例。最大深度值可以是例如可以是例如墙1140、长椅1145的距离、在腿1150、天花板1155、地板1160或捕捉设备20所捕捉的其它对象之后的估计的深度值的表示。根据示例实施例,深度历史数据可以捕捉与深度图像的环境相关联的一个或多个对象的深度值。这样,在一个实施例中,深度历史数据可以捕捉或观察环境的深度值,就好像捕捉了具有从捕捉设备20的视野中移除的人类目标602的场

ο根据一个实施例,可以估计深度历史数据中像素的最大深度值。例如,如在图IlA 中所示,用户(例如在如上参考图1A-2中所述的用户18)可以站在墙的前面。目标识别、 分析和跟踪系统可以捕捉或观察可以与用户18相关联的深度图像800中的人类目标602。 目标识别、分析和跟踪系统可以如上所述扫描人类目标602以找到人类目标的位置。目标识别、分析和跟踪系统随后可以估计与由扫描所确定的人类目标602的位置之后的墙相关联的像素的深度值,以便将估计的深度值包括在深度历史数据中。例如,目标识别、分析和跟踪系统可以记录和/或存储由捕捉设备20所捕捉的墙840的深度值来作为与墙相关联的像素的最大深度值。目标识别、分析和跟踪系统随后可以基于与墙相关联的一个或多个围绕像素的深度值来估计由人类目标602所覆盖的墙的像素的深度值。这样,根据示例实施例,目标识别、分析和跟踪系统可以聚集和/或分析信息(例如围绕人类目标602的一个或多个对象的深度值)来精确地移除深度图像的环境。根据一个实施例,当诸如捕捉设备20的捕捉设备逐帧观察或捕捉到深度图像时, 可以更新深度历史数据中的最大深度值。例如,在第一个帧,深度图像可以捕捉到在帧的左半边的人类目标602,而在帧的右半边的环境对象可以被展示给相机。可以更新深度历史数据中的最大深度值以反映与帧的右侧上的环境对象相关联的像素的深度值。例如,当人类目标602移动到帧的右半边时,可以将在帧的左手侧上的环境对象展示给捕捉设备20。可以更新深度历史数据中的最大深度值以反映与相机视野的左半边上的环境对象相关联的像素的深度值。换句话说,当人类目标逐帧移动时,环境对象可以对捕捉设备可见,以便更新深度历史数据以反映与环境对象相关联的像素的深度值。在示例实施例中,目标识别、分析和跟踪系统可以为每个帧中的像素子集更新最大深度值。例如,一个帧可以包括预定数目的扫描线等。在一个实施例中,目标识别、分析和跟踪系统可以通过在时间上平均或其它在多个帧上更新历史像素的合适的机制,在从上到下方向上对每帧上的一条水平扫描线上的像素的最大深度值进行更新。在其它实施例中, 系统可以在从下到上方向上更新像素的最大深度值,或在从左到右方向上或在从右到左方向上等等来更新每帧的一条垂直扫描线。因此,可以逐步更新一个帧的最大深度值以保持跟踪相机视野中的对象。根据示例实施例,可以将正被检查的像素的深度值与基于深度历史数据的像素的最大深度值进行比较。例如,如果正被采样的像素具有与像素的历史最大深度值相同的深度值,目标识别、分析和跟踪系统可以确定该像素可以与深度图像的环境相关联。或者,在一个实施例中,如果正被检查的像素的深度值小于该像素的历史最大深度值例如如上所述的预定容限,则目标识别、分析和跟踪系统可以确定该像素可以与例如人类目标的前景对象相关联,并且可以随后泛色填充该像素。这样,根据示例实施例,深度历史数据可以用于认证像素可以与人类目标相关联。图IlA描绘了可被捕捉的深度图像的示例实施例。深度图像可以包括接触墙840的人类目标602。根据示例实施例,人类目标602的手和墙840可以具有类似于如在深度图像的部分810内的区域中所示的深度值。在示例实施例中,如果在手和墙840之间的深度值差值足够小或小于预定容限,则目标识别、分析和跟踪系统可能不能检测出手的边缘。这样,在一个示例实施例中,目标识别、分析和跟踪系统可以使用深度历史数据来确定在部分810中的像素是否与环境或人类目标602相关联。图IlB描述了深度历史数据的示例实施例,它可以包括在多个帧上累积的最大深度值。如上所述,深度历史数据可以提供对围绕人类目标的环境的深度值的估计。如图IlB 所示,深度历史数据可以包括与墙840相关联的像素的深度值。例如,在部分820内的区域可以捕捉与墙840相关联的像素的深度值,这些像素被图IlA中的深度图像800中的人类目标602的手所覆盖。根据一个实施例,目标识别、分析和跟踪系统可以将图IlA的部分 810内的像素的深度值与图IlB的部分820内对应的像素的深度历史数据中的最大深度值进行比较。如果部分810中的像素的深度值具有与部分820内的像素的历史最大深度值相同的值,则目标识别、分析和跟踪系统可以确定该像素可以与墙840相关联。部分810中与墙840相关联的像素随后可以被作为环境而被丢弃,如图IlC中所示。或者,如果部分810中的像素的深度值小于部分1020中的像素的历史最大深度值,则目标识别、分析和跟踪系统可以确定该像素可以与人类目标602相关联,以便泛色填充该像素。根据一个实施例,目标识别、分析和跟踪系统可以在检测到具有小的预定容限值的边时来检查深度历史数据。例如,目标识别、分析和跟踪系统可以确定在可以定义边的两个像素之间的深度差是否在预定容限值之内。如果深度差小于预定值,则目标识别、分析和跟踪系统可以进行访问深度历史数据。在示例实施例中,可以基于由捕捉设备(例如在图1A-2中示出的捕捉设备20)所接收到、捕捉到或观察到的深度图像中的噪声来预定容限值。容限值还可以根据捕捉设备的类型、深度值等而变化。就是说,根据一个实施例,容限值可以随像素的深度值增加而变得更大或更小。深度历史数据还进一步包括泛色像素。例如,在与诸如人类目标602的人类目标的脚和地板相关联的深度值之间的差异可以在小的预定容限之内,或为类似于当如上所述人类目标的手可以接触到墙时的值。目标识别、分析和跟踪系统可以进一步跟踪深度历史数据中与地板相关联的像素的深度值。例如,可以检测地板的深度值,并将它存储或记录到深度历史数据中。当检查地板区域中的像素时,目标识别、分析和跟踪系统可以将正被检查的像素的深度值与深度历史数据中对应的地板像素相比较。回看图5,在525,可移除或丢弃深度图像的环境。例如,在通过如上所述确定像素是否可与人类目标相关联来为与人类目标相关联的像素进行了泛色填充之后,目标识别、 分析和跟踪系统可丢弃可能不与经泛色填充的人类目标相关联的像素。由此,在一个实施例中,在525,目标识别、分析和跟踪系统可基于经泛色填充的人类目标来丢弃或移除与深度图像的环境相关联的像素,使得包括该像素以及与其相关联的深度值的人类目标可以在深度图像中被隔离。根据一示例实施例,目标识别、分析和跟踪系统可通过向与环境相关联的像素分配例如,诸如深度值为零等的无效深度值来丢弃这些像素。图6B、9B和IlC示出了具有移除的环境的深度图像的示例实施例。如在图6B、9B
19和IlC所示,可以在深度图像中隔离人类目标,例如人类目标602、604。转回到图5,可以在530处理具有隔离的人类目标的深度图像。在一个实施例中, 目标识别、分析和跟踪系统可以处理具有隔离的人类目标的深度图像,从而可生成所捕捉的场景中的人类目标的模型。根据一示例实施例,可以跟踪该模型、可以呈现与该模型相关联的化身、和/或可以控制在计算机环境上执行的一个或多个应用程序。例如,根据一示例实施例,可以生成用户(例如参考图IA和IB描述的用户18)的例如骨架模型、网格人类模型等模型,并为用户的一个或多个移动而跟踪这些模型。然后可响应于对所跟踪的模型的改变来改变屏幕上人物的视觉外观。例如,可由此处描述的游戏控制台来跟踪诸如以上参考图IA和IB描述的在游戏控制台上玩电子游戏的用户18等用户。具体地,可使用诸如骨架模型等身体模型来对目标游戏玩家建模,并且可使用该身体模型来呈现屏幕上的玩家化身。当游戏玩家伸直一条手臂时,游戏控制台可跟踪该运动,然后响应于所跟踪的运动来相应地调整身体模型。游戏控制台还可将一个或多个约束施加到身体模型的移动。在作出此类调整并施加此类约束之后,游戏控制台可显示经调整的玩家化身。在一个实施例中,目标识别、分析和跟踪系统可能无法在530处理第二深度图像。 例如,深度图像可能噪声过多或包括太多空像素以使得无法处理该深度图像。根据一个实施例,如果深度值可能噪声过多,则目标识别、分析和跟踪系统可生成错误消息,该错误消息可被提供给诸如以上参考图IA和IB描述的用户18等用户以指示可能需要捕捉另一场应该理解,此处所述的配置和/或方法在本质上是示例性的,且这些具体实施例或示例不被认为是限制性的。此处所述的具体例程或方法可表示任何数量的处理策略中的一个或更多个。由此,所示出的各个动作可以按所示顺序执行、按其他顺序执行、并行地执行等等。同样,可以改变上述过程的次序。本发明的主题包括各种过程、系统和配置的所有新颖和非显而易见的组合和子组合、和此处所公开的其他特征、功能、动作、和/或特性、以及其任何和全部等效物。
权利要求
1.一种用于处理场景的深度信息的设备,所述设备包括相机组件(22),所述相机组件接收场景的深度图像(600、700、800、1000);以及处理器(32),所述处理器执行计算机可执行指令,其中所述计算机可执行指令包括用于以下操作的指令从所述相机组件接收所述场景的所述深度图像(600、700、800、1000); 确定在所述深度图像(600、700、800、1000)中的一个或多个像素是否与所述深度图像的环境相关联;以及将与所述环境相关联的一个或多个像素丢弃以隔离所述深度图像中的人类目标;以及处理具有隔离的人类目标(602)的所述深度图像(600、700、800、1000)。
2.如权利要求1所述的设备,其特征在于,所述用于确定与所述深度图像(600、700、 800,1000)中的环境相关联的一个或多个像素的指令包括用于以下操作的指令基于所述人类目标(602)的质心和所述目标(602)的度量来定义边界框(804c); 将所述边界框(804c)之外的一个或多个像素标识为与所述环境相关联。
3.如权利要求1所述的设备,其特征在于,所述用于确定与所述深度图像(600、700、 800,1000)中的环境相关联的一个或多个像素的指令包括用于以下操作的指令泛色填充与所述人类目标(60 相关联的一个或多个像素。
4.如权利要求3所述的设备,其特征在于,所述用于确定与所述深度图像(600、700、 800,1000)中的环境相关联的一个或多个像素的指令进一步包括用于以下操作的指令使用预定边缘容限值来检测所述目标(602)的边;以及基于下述至少一项来调整所述预定边缘容限值所述目标(602)的度量、所述一个或多个像素的位置以及所述人类目标(602)的度量。
5.如权利要求1所述的设备,其特征在于,还包括用于执行以下操作的指令 标识所述深度图像中与红外阴影相关联的像素;以及用计算的深度值来替换所述与红外阴影相关联的像素的深度值。
6.如权利要求1所述的设备,其特征在于,其中所述深度图像(600、700、800、1000)包括其内每个像素的深度值,并且所述用于确定与所述深度图像(600、700、800、1000)中的环境相关联的一个或多个像素的指令包括用于以下操作的指令检查所述深度图像中的像素;从深度历史数据(850)中检索对应于所述像素的最大深度值;以及将所述像素的深度值和在深度历史数据(850)中的该像素的最大深度值进行比较。
7.一种其上存储有用于处理场景的深度信息的可执行指令的计算机可读存储介质,所述计算机可执行指令包括用于以下操作的指令接收场景的深度图像(600、700、800、1000),其中,所述深度图像(600、700、800、1000) 包括一个或多个人类目标(602)以及环境;泛色填充与所述一个或多个人类目标(60 相关联的像素;丢弃环境像素以隔离所述一个或多个人类目标(602)的经泛色填充的像素,其中所述环境像素包括不与所述一个或多个人类目标(602)的经泛色填充的像素相关联的一个或多个像素;以及处理具有与所述一个或多个人类目标(60 相关联的经泛色填充的像素的所述深度图像(600、700、800、1000)。
8.如权利要求7所述的计算机可读存储介质,其特征在于,所述用于泛色填充与所述一个或多个人类目标(60 相关联的像素的计算机可执行指令进一步包括用于以下操作的指令基于所述一个或多个人类目标(60 的位置和所述一个或多个人类目标(60 的度量中的至少一个来生成预定数目的采样点(902);以及使用所述预定数目的采样点(90 来泛色填充与所述一个或多个人类目标(60 相关联的像素。
9.如权利要求7所述的计算机可读存储介质,其特征在于,所述用于泛色填充与所述一个或多个人类目标(60 相关联的像素的计算机可执行指令进一步包括用于以下操作的指令标识与第一深度图像中的对象相关联的一个或多个像素; 确定所述对象是否与所述一个或多个人类目标(60 相关联;以及基于所述确定,如果所述一个或多个像素与所述一个或多个人类目标(60 相关联, 则泛色填充所述一个或多个像素。
10.如权利要求7所述的计算机可读存储介质,其特征在于,其中所述深度图像(600、 700,800,1000)包括多个像素,并且其中每个像素具有与其相关联的深度值,并且其中所述计算机可执行指令进一步包括用于以下操作的指令跟踪所述深度图像的多个像素中的每个像素的最大深度值; 将所述最大深度值存储在深度历史数据(850)中; 标识与所述场景中的地板相关联的多个像素; 将所述多个地板像素的深度值存储在所述历史深度值中;以及使用一个或多个围绕像素来计算与深度图像(600、700、800、1000)中的多个像素之一相关联的像素的最大深度值。
11.如权利要求10所述的计算机可读存储介质,其特征在于,所述计算机可执行指令还包括用于以下操作的指令检查来自所述深度图像的多个像素中的一个像素; 从深度历史数据(850)中检索对应于所述像素的最大深度值; 将所述像素的深度值与对应的最大深度值进行比较;以及基于所述确定,如果所述像素的深度值和对应的最大深度值小于所述最大深度值,则泛色填充所述像素。
12.一种用于处理场景的深度信息的系统,所述系统包括捕捉设备(20),捕捉设备包括接收场景的深度图像(600、700、800、1000)的相机组件, 其中,所述深度图像(600、700、800、1000)包括人类目标;以及与所述捕捉设备操作上通信的计算设备(12),其中所述计算设备包括处理器,所述处理器从所述捕捉设备接收所述场景的所述深度图像(600、700、800、1000)、检查所述深度图像的像素、确定所述像素是否与所述人类目标相关联以及基于所述确定,如果所述像素不与所述人类目标相关联则移除所述像素。
13.如权利要求12所述的系统,其特征在于,所述系统进一步包括存储第一深度图像的每个像素的最大深度值的存储组件,并且其中所述处理器进一步从深度历史数据(850) 接收与所述深度图像的像素相对应的最大深度值、将所述像素的深度值与所述深度历史数据(850)中的所述像素的最大深度值进行比较,并且如果所述像素的深度值小于所述像素的最大深度值,则移除所述像素。
14.如权利要求12所述的系统,其特征在于,处理器通过基于所述人类目标的质心和所述目标的度量定义边界框(804c)来确定所述像素是否与所述人类目标相关联,确定所述像素是否在所述边界框(804c)之外,并且基于所述确定,如果所述像素在所述边界框 (804c)之外则移除所述像素。
15.一种用于处理场景的深度信息的计算机实现的方法,其特征在于,所述计算机实现的方法包括接收所述场景的深度图像(600、700、800、1000),其中,所述深度图像(600、700、800、 1000)包括期望的对象以及环境;以及将所述期望的对象从所述环境中分割出来。
全文摘要
可由捕捉设备观察或捕捉场景的深度图像。深度图像可以包括人类目标和环境。可以分析深度图像的一个或多个像素以确定在深度图像中的像素是否与深度图像的环境相关联。随后可以将与深度图像的环境相关联的一个或多个像素丢弃以隔离人类目标,并对具有隔离的人类目标的深度图像进行处理。
文档编号A63F13/06GK102448564SQ201080024678
公开日2012年5月9日 申请日期2010年5月24日 优先权日2009年5月29日
发明者C·C·马雷, Z·马特 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1