用于为目标跟踪处理图像的系统和方法

文档序号:6335868阅读:210来源:国知局
专利名称:用于为目标跟踪处理图像的系统和方法
用于为目标跟踪处理图像的系统和方法
背景技术
诸如计算机游戏、多媒体应用程序等的许多计算应用程序使用控制命令来允许用 户操纵游戏角色或应用程序的其他方面。通常这些控制命令是使用例如,控制器、遥控器、 键盘、鼠标等来输入的。不幸的是,这些控制命令可能是难以学习的,由此造成了用户和这 些游戏及应用程序之间的障碍。此外,这些控制命令可能与这些控制命令所用于的实际游 戏动作或其他应用程序动作不同或者从其中进行抽象。例如,使得游戏角色旋转棒球拍的 游戏控制命令可能不与旋转棒球拍的实际动作相对应。

发明内容
本文公开了可用于跟踪场景中的一个或多个用户的处理场景的图像的系统和方 法。例如,可以接收或观察诸如场景的深度图像等的图像。随后可以处理该图像。例如,可 以对该图像进行降采样,可以确定图像中的阴影、噪声、和/或丢失部分和/或可以估计与 其相关联的值,可以确定可以在与图像相关联的捕捉设备所限定的范围之外的图像中的像 素,和/或可以检测与诸如地板、墙等的平坦表面相关联的图像的一部分。另外,可以分析 图像来判定目标是否可被包括在其中,且基于该判定,可以扫描目标。还可以通过例如从图 像中的诸如非目标对象等的环境中分割目标以便可以创建诸如目标的二进制掩码等的掩 码且可以移除或丢弃与该环境相关联的一个或多个像素来处理图像。还可以基于已处理的图像来呈现细化的图像。根据一实施例,细化的图像可以是 已移除和/或平滑了噪声、丢失部分、阴影等,已隔离了目标,已标识了诸如地板、墙等的平 坦表面,或已在其上执行了任何其他合适的处理的图像。在一实施例中,随后可以处理与目标相关联的细化的图像和/或诸如二进制掩码 等掩码。例如,目标识别、分析和跟踪系统可处理与目标相关联的细化的图像和/或二进制 掩码从而可以生成所捕捉的场景中的目标的模型,如骨架模型、网格模型等。提供本概述以便以简化形式介绍将在以下详细描述中进一步描述的一些概念。本 发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所 要求保护的主题的范围。此外,所要求保护的主题不限于解决在本发明的任一部分中提及 的任何或所有缺点的实现。


图IA和IB示出伴随用户玩游戏的目标识别、分析和跟踪系统的示例实施例。图2示出可在目标识别、分析和跟踪系统中使用的捕捉设备的示例实施例。图3示出可用于解释目标识别、分析和跟踪系统中的一个或多个姿势和/或动画 化目标识别、分析和跟踪系统所显示的化身或屏幕上人物的计算环境的示例实施例。图4示出可用于解释目标识别、分析和跟踪系统中的一个或多个姿势和/或动画 化目标识别、分析和跟踪系统所显示的化身或屏幕上人物的计算环境的另一示例实施例。图5描绘了用于处理场景的图像来跟踪可被包括在该场景中的目标的示例方法
4的流程图。图6示出可被捕捉或观察的深度图像的示例实施例。图7描绘了用于处理场景的图像来跟踪可被包括在该场景中的目标的示例方法 的流程图。图8示出可包括红外阴影的深度图像的示例实施例。图9示出可包括一个或多个丢失部分或孔洞的深度图像的示例实施例。图10示出可基于对可被捕捉或观察的图像的处理来呈现的细化的深度图像的示 例实施例。
具体实施例方式图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 的姿势和/或移动来动画化化身或屏幕上人物,和/或可将用户18的姿势和/或移动解释 为可用于影响计算环境12所执行的应用程序的控制命令。因此,根据一实施例,用户18可 移动他的或她的身体来控制应用程序和/或动画化化身或屏幕上人物。如图IA和IB所示,在一示例实施例中,在计算环境12上执行的应用程序可以是 用户18可能正在玩的拳击游戏。例如,计算环境12可使用视听设备16来向用户18提供 拳击对手38的视觉表示。计算环境12还可使用视听设备16来提供用户18可用他的或她的移动来控制的玩家化身40的视觉表示。例如,如图IB所示,用户18可在物理空间中用 拳猛击来使得玩家化身40在游戏空间中用拳猛击。因此,根据一示例实施例,目标识别、分 析和跟踪系统10的计算环境12和捕捉设备20可用于识别和分析物理空间中用户18的重 拳从而使得该重拳可被解释为对游戏空间中的玩家化身40的游戏控制和/或该重拳的运 动可用于动画化游戏空间中的玩家化身40。用户18的其他移动也可被解释为其他控制命令或动作,和/或用于动画化玩家化 身,如上下快速摆动、闪避、滑步、封堵、用拳猛击或挥动各种不同的有力重拳的控制命令。 此外,某些移动可被解释为可对应于除控制玩家化身40之外的动作的控制命令。例如,在 一实施例中,玩家可使用移动来结束、暂停或保存游戏、选择级别、查看高分、与朋友交流 等。根据另一实施例,玩家可使用移动来从主用户界面选择游戏或其他应用程序。因此,在 示例实施例中,用户18的全范围运动可以用任何合适的方式来获得、使用并分析以与应用 程序进行交互。在示例实施例中,诸如用户18等的人类目标可具有对象。在这些实施例中,电子 游戏的用户可手持对象从而可以使用玩家的运动和对象来调整和/或控制游戏的参数。例 如,可以跟踪并利用玩家手持球拍的运动来控制电子运动游戏中的屏幕上球拍。在另一示 例实施例中,可以跟踪并利用玩家手持对象的运动来控制电子格斗游戏中的屏幕上武器。根据其他示例实施例,目标识别、分析和跟踪系统10还可用于将目标移动解释为 游戏领域之外的操作系统和/或应用程序控制命令。例如,事实上操作系统和/或应用程 序的任何可控方面可由诸如用户18等的目标的移动来控制。图2示出可在目标识别、分析和跟踪系统10中使用的捕捉设备20的示例实施例。 根据一示例实施例,捕捉设备20可被配置成捕捉包括深度图像的带有深度信息的视频,该 深度图像可包括经由任何合适的技术,包括例如飞行时间、结构化光、立体图像等的深度 值。根据一实施例,捕捉设备20可将深度信息组织为“Z层”,即可与Z轴正交的从深度照 相机沿着其视线延伸的层。如图2所示,捕捉设备20可包括图像照相机组件22。根据一示例实施例,图像照 相机组件22可以是可捕捉场景的深度图像的深度照相机。深度图像可包括所捕捉的场景 的二维O-D)像素区域,其中2-D像素区域中的每一像素可表示诸如按照以厘米、毫米等为 单位的所捕捉的场景中的对象离照相机的长度或距离等的深度值。如图2所示,根据一示例实施例,图像照相机组件22可包括可用于捕捉场景的深 度图像的顶光组件对、三维(3-D)照相机沈、和RGB照相机观。例如,在飞行时间分析中, 捕捉设备20的顶光组件M可将红外光发射到场景中,然后可使用传感器(未示出),使用 例如3-D照相机沈和/或RGB照相机观,来检测来自场景中的一个或多个目标和对象的表 面的反向散射光。在某些实施例中,可以使用脉冲式红外光从而可以测量出射光脉冲和相 应的入射光脉冲之间的时间差并将其用于确定从捕捉设备20到场景中的目标或对象上的 特定位置的物理距离。另外,在其他示例实施例中,可将出射光波的相位与入射光波的相位 进行比较来确定相移。然后可以使用相移来确定从捕捉设备到对象或目标上的特定位置的 距离。根据另一示例实施例,可使用飞行时间分析,通过经由包括例如快门式光脉冲成 像的各种技术来分析反射光束随时间的强度变化以间接地确定从捕捉设备20到目标或对象上的特定位置的物理距离。在另一示例实施例中,捕捉设备20可使用结构化光来捕捉深度信息。在该分析 中,图案化光(即,被显示为诸如网格图案或条纹图案等的已知图案的光)可经由例如顶 光组件M被投影到场景上。在撞击到场景中的一个或多个目标或对象的表面时,作为响 应,图案可变形。图案的这种变形可由例如3-D照相机沈和/或RGB照相机观来捕捉,然 后可被分析来确定从捕捉设备到目标或对象上的特定位置的物理距离。根据另一实施例,捕捉设备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具有含有1级高速缓存102、2级高速缓存104 和闪存R0M(只读存储器)106的中央处理单元(CPU) 101。1级高速缓存102和2级高速缓 存104临时存储数据并因此减少存储器访问周期数,从而改进处理速度和吞吐量。CPU 101 可以设置成具有一个以上的核,以及附加的1级和2级高速缓存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/CD驱动器、硬盘驱动器、或其它可移动媒体驱动器等。媒体驱动器 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-快速总线等。当多媒体控制台100通电时,应用程序数据可从系统存储器143加载到存储器112 和/或高速缓存102、104中并在CPU 101上执行。应用程序可呈现在导航到多媒体控制台 100上可用的不同媒体类型时提供一致的用户体验的图形用户界面。在操作中,媒体驱动 器144中包含的应用程序和/或其它媒体可从媒体驱动器144启动或播放,以向多媒体控 制台100提供附加功能。
多媒体控制台100可通过将该系统简单地连接到电视机或其它显示器而作为独 立系统来操作。在该独立模式中,多媒体控制台100允许一个或多个用户与该系统交互、看 电影、或听音乐。然而,随着通过网络接口 1 或无线适配器148可用的宽带连接的集成, 多媒体控制台100还可作为较大网络社区中的参与者来操作。当多媒体控制台100通电时,可以保留设定量的硬件资源以供多媒体控制台操作 系统作系统使用。这些资源可以包括存储器保留(例如,16MB)、CPU和GPU周期(例如, 5%)、网络带宽(例如,SlAs)等。因为这些资源是在系统引导时保留的,所以所保留的资 源对应用程序而言是不存在的。具体地,存储器保留较佳地足够大,以包含启动内核、并发系统应用程序和驱动程 序。CPU保留较佳地为恒定,使得若所保留的CPU用量不被系统应用程序使用,则空闲线程 将消耗任何未使用的周期。对于GPU保留,通过使用GPU中断来显示由系统应用程序生成的轻量消息(例如, 弹出窗口),以调度代码来将弹出窗口呈现为覆盖图。覆盖图所需的存储器量取决于覆盖区 域大小,并且覆盖图较佳地与屏幕分辨率成比例缩放。在并发系统应用程序使用完整用户 界面的情况下,优选使用独立于应用程序分辨率的分辨率。定标器可用于设置该分辨率,从 而无需改变频率,也就不会引起TV重新同步。在多媒体控制台100引导且系统资源被保留之后,就执行并发系统应用程序来提 供系统功能。系统功能被封装在一组在上述所保留的系统资源中执行的系统应用程序中。 操作系统内核标识是系统应用程序线程而非游戏应用程序线程的线程。系统应用程序优选 地被调度为在预定时间并以预定时间间隔在CPUlOl上运行,以便为应用程序提供一致的 系统资源视图。进行调度是为了把由在控制台上运行的游戏应用程序所引起的高速缓存分 裂最小化。当并发系统应用程序需要音频时,则由于时间敏感性而异步调度音频处理给游戏 应用程序。多媒体控制台应用程序管理器(如下所述)在系统应用程序活动时控制游戏应 用程序的音频水平(例如,静音、衰减)。输入设备(例如,控制器142(1)和142( )由游戏应用程序和系统应用程序共 享。输入设备不是所保留的资源,但却在系统应用程序和游戏应用程序之间切换以使其各 自具有设备的焦点。应用程序管理器较佳地控制输入流的切换,而无需知晓游戏应用程序 的知识,并且驱动程序维持有关焦点切换的状态信息。照相机沈、观和捕捉设备20可为控 制台100定义附加输入设备。图4示出计算环境220的另一示例实施例,该计算环境可以是用于解释目标识别、 分析和跟踪系统中的一个或多个姿势和/或动画化目标识别、分析和跟踪系统所显示的化 身或屏幕上人物的图1A-2中示出的计算环境12。计算系统环境220只是合适的操作环境 的一个示例,并且不旨在对所公开的主题的使用范围或功能提出任何限制。也不应该将计 算环境220解释为对示例性操作环境220中示出的任一组件或其组合有任何依赖性或要 求。在某些实施例中,所描绘的各种计算元素可包括被配置成实例化本公开的具体方面的 电路。例如,本公开中使用的术语电路可包括被配置成执行固件或开关的功能的专用硬件 组件。在其他示例实施例中,术语电路可包括由软件指令配置的实施可用于执行功能的逻 辑的通用处理单元、存储器等。在电路包括硬件和软件的组合的示例实施例中,实现者可编
9写实施逻辑的源代码且该源代码可被编译成可由通用处理单元处理的机器可读代码。因为 本领域技术人员可以明白现有技术已经进化到硬件、软件或硬件/软件的组合之间几乎没 有差别的地步,因而选择硬件或是软件来实现具体功能是留给实现者的设计选择。更具体 地,本领域技术人员可以明白软件进程可被变换成等价的硬件结构,而硬件结构本身可被 变换成等价的软件进程。因此,对于硬件实现还是软件实现的选择是设计选择之一并留给 实现者。在图4中,计算环境220包括计算机Ml,计算机241通常包括各种计算机可读介 质。计算机可读介质可以是能由计算机241访问的任何可用介质,而且包含易失性和非易 失性介质、可移动和不可移动介质。系统存储器222包括易失性和/或非易失性存储器形 式的计算机存储介质,如只读存储器(ROM) 223和随机存取存储器(RAM06O。基本输入/输 出系统2M(BI0S)包括如在启动时帮助在计算机Ml内的元件之间传输信息的基本例程, 它通常储存在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)连接。照相机 26,28和捕捉设备20可为控制台100定义附加输入设备。监视器242或其他类型的显示设 备也经由接口,诸如视频接口 232连接至系统总线221。除监视器以外,计算机也可以包括 其它外围输出设备,诸如扬声器244和打印机对3,它们可以通过输出外围接口 233连接。计算机241可使用至一个或多个远程计算机,如远程计算机M6的逻辑连接在网 络化环境中操作。远程计算机246可以是个人计算机、服务器、路由器、网络PC、对等设备或 其他常见网络节点,并且通常包括许多或所有以上关于计算机241所描述的元件,尽管在 图4中仅示出了存储器存储设备M7。图4中所示的逻辑连接包括局域网(LAN) 245和广域网(WAN049,但也可以包括其他网络。这样的联网环境在办公室、企业范围计算机网络、内 联网和因特网中是常见的。当在LAN联网环境中使用时,计算机241通过网络接口或适配器237连接至LAN 2450当在WAN联网环境中使用时,计算机241通常包括调制解调器250或用于通过诸如因 特网等WAN 249建立通信的其他装置。调制解调器250可以是内置或外置的,它可以经由 用户输入接口 236或其他适当的机制连接至系统总线221。在网络化环境中,关于计算机 241所描述的程序模块或其部分可被储存在远程存储器存储设备中。作为示例而非限制, 图4示出远程应用程序248驻留在存储器设备247上。可以理解,所示的网络连接是示例 性的,且可以使用在计算机之间建立通信链路的其他手段。图5描绘了用于处理场景的图像来跟踪可在该场景中的用户的示例方法300的流 程图。示例方法300可使用例如,参考图1A-4所描述的目标识别、分析和跟踪系统10的捕 捉设备20和/或计算环境12来实现。在一示例实施例中,示例方法300可采取可由例如 参考图1A-4所描述的目标识别、分析和跟踪系统10的捕捉设备20和/或计算环境12执 行的程序代码(即指令)的形式。根据一实施例,在305处,可以接收图像,如深度图像、RGB图像、IR图像等。例如, 目标识别、分析和跟踪系统可包括诸如参考图1A-2描述的捕捉设备20等的捕捉设备。捕 捉设备可捕捉或观察可包括一个或多个目标的场景。在一示例实施例中,捕捉设备可以是 被配置成使用诸如飞行时间分析、结构化光分析、立体视觉分析等的任何合适的技术来获 得场景的诸如深度图像、RGB图像、顶图像等的图像的深度照相机。在一实施例中,图像可包括多个观察到的像素,其中每一观察到的像素具有观察 到的深度值、RGB信息、深度信息等。例如,图像可以是包括所捕捉的场景的二维O-D)像 素区域的深度图像,其中2-D像素区域中的每一像素可具有诸如以例如厘米、毫米等为单 位的所捕捉的场景中的对象离捕捉设备的长度或距离之类的深度值。图6示出可在305处被接收的深度图像400a的示例实施例。根据一示例实施例, 深度图像400a可以是由例如参考图2所描述的捕捉设备20的3-D照相机沈和/或RGB照 相机观所捕捉的场景的图像或帧。如图6所示,深度图像400a可包括与例如诸如参考图 IA和IB所描述的用户18等的用户对应的人类目标40 以及诸如所捕捉的场景中的墙、桌 子、监视器等的一个或多个非人类目标404。如上所述,深度图像400a可包括多个观察到的 像素,其中每一观察到的像素具有与其相关联的观察到的深度值。例如,深度图像400a可 包括所捕捉的场景的二维O-D)像素区域,其中2-D像素区域中的特定X值和Y值处的每 一像素可具有诸如以例如厘米、毫米等为单位的所捕捉的场景中的目标或对象离捕捉设备 的长度或距离之类的深度值。在一实施例中,深度图像400a可被着色从而使得深度图像的像素的不同颜色对 应于和/或从视觉上描绘了人类目标40 和非人类目标404离捕捉设备的不同距离。例 如,与深度图像中最接近捕捉设备的目标相关联的像素可用红色和/或橙色阴影来着色, 而与深度图像中较远的目标相关联的像素可用绿色和/或蓝色阴影来着色。回头参考图5,在310处,可以处理图像。根据一实施例,目标识别、分析和跟踪系 统可处理图像从而可以确定和/或定义与所捕捉的图像相关联的场景的一个或多个特性。 例如,可以对图像进行降采样;可以估计阴影或遮挡区域;可以检测诸如深度值等的范围外信息;可以移除和/或平滑图像的一个或多个高变度/或高噪声部分;可以填充和/或重 构诸如图像的深度值等的丢失部分和/或移除的信息;可以检测包括诸如地板、墙等的平 坦表面的图像的部分;可以识别、扫描对象并将其与图像隔离;和/或可以对所接收的深度 图像执行任何其他合适的处理,这些将在以下更详细地描述。图7描绘了在图5中示出的在310处处理图像的示例方法的流程图。例如,如图 5所示,在305处接收图像之后,可以在310处处理图像。为了在310处处理图像,可如图7 所示那样在405处对图像进行降采样。例如,目标识别、分析和跟踪系统可对所接收的图像 进行降采样,从而可以减小包括与其相关联的像素数量的图像大小,且可以过滤并从图像 中移除一部分无效像素,如带有零深度值的像素、先前在310处由本文所描述的一个或多 个处理技术标识为无效的像素等。例如,如上所述,图像可以是可包括所捕捉的场景的2-D 像素区域的深度图像,其中每一像素具有与其相关联的X值、Y值和深度值(或Z值)。在 一实施例中,深度图像可通过将2-D像素区域中的像素减少为更少的像素来降采样。例如, 目标识别、分析和跟踪系统可选择可被组合来对图像进行降采样的降采样核,如包括
像素块、4x4像素块等的像素块。目标识别、分析和跟踪系统然后可以使用降采样核来扫描图像从而可将深度图像 分成与降采样核相关联的各个部分或块。然后可处理每一部分或块来为深度图像生成可表 示每一部分或块的经降采样的核像素。例如,在一实施例中,目标识别、分析和跟踪系统可 分析与降采样核相关联的部分或块中的每一像素。基于该分析,目标识别、分析和跟踪系统 可为经降采样的核像素生成诸如X值、Y值或深度值等的一个或多个值。例如,目标识别、 分析和跟踪系统可基于与包括在关联于降采样核的部分或块中的有效像素相关联的深度 值来生成经降采样的核像素的深度值。根据示例实施例,为经降采样的核像素所生成的深 度值可包括该部分或块中的有效像素或可具有有效、非零深度值的像素的最小深度值、该 部分或块中的有效像素的最大深度值、该部分或块中的有效像素的深度值的模式、该部分 或块中的有效像素的深度值的中间值、或基于该部分或块中的有效像素的深度值的任何其 他合适的深度值。根据一实施例,如果与降采样核相关联的部分或块中的每一像素可以是 无效的或可以具有诸如零深度值等的无效深度值,则目标识别、分析和跟踪系统可将诸如 零深度值等的无效深度值分配给为该部分或块所生成的经降采样的核像素。因此,根据一示例实施例,在405处,目标识别、分析和跟踪系统可对图像进行降 采样,从而可以减小图像中的像素数量且可以基于包括在关联于降采样核的像素部分或像 素块中的有效像素来过滤或从图像中移除一部分无效像素。在410处,可以估计可在所接收的图像中的阴影和/或遮挡部分。例如,在410处, 目标识别、分析和跟踪系统可标识图像中可与诸如红外阴影、立体阴影等的阴影或遮挡相 关联的无效像素。为了标识可与阴影或遮挡相关联的无效像素,目标识别、分析和跟踪系统 可水平地按从左到右或从右到左的方向从例如图像的顶部或底部开始扫描图像来标识或 寻找图像中的无效像素。根据一示例实施例,如果无效像素的范围或组可通过扫描来标识, 则目标识别、分析和跟踪系统可确定诸如可由基于第一有效像素和第二有效像素的无效像 素所定义的X距离等的距离或区域,其中第一有效像素可与无效像素的范围或组的开始处 的第一无效像素相邻,而第二有效像素可与无效像素的范围或组的结尾处的第二无效像素 相邻,以此类推。目标识别、分析和跟踪系统然后基于例如,可定义无效像素的范围或组的开始和结尾的第一有效像素和第二有效像素来确定离捕捉设备最远的深度值和离捕捉设 备最近的深度值。目标识别、分析和跟踪系统还可基于最远和最近的深度值来确定第一和 第二有效像素之间的像素数量以及离捕捉设备的距离。根据一示例实施例,如果从最远深 度值和最近深度值所确定的距离处的第一和第二有效像素之间的像素数量与对应于存储 在例如目标识别、分析和跟踪系统中相同距离处的阴影或遮挡的预定像素数量匹配,这可 取决于基于相邻有效像素、物理透镜、和/或捕捉设备的顶发射器偏移量的深度函数,则目 标识别、分析和跟踪系统可以将无效像素的范围或组标识为阴影或遮挡。因此,根据一实施例,目标识别、分析和跟踪系统可标识无效像素区域以及该区域 离捕捉设备的近似距离。目标识别、分析和跟踪系统然后可将区域中的像素数量与对应于 近似距离处的阴影或遮挡的预定像素数量进行比较。在一示例实施例中,如果区域中的像 素数量与对应于该区域离捕捉设备的近似距离处的阴影或遮挡的预定像素数量匹配,则目 标识别、分析和跟踪系统可将该区域标识为阴影或遮挡。图8示出可包括红外阴影的深度图像400b的示例实施例。深度图像400b可包括 与例如以上参考图IA和IB所描述的用户18相关联的人类目标402b。如图8所示,右手 702和左手705可在人类目标40 的一部分的前方延伸。根据一示例实施例,可在人类目标402b的一部分的前方延伸的右手702和左手 705可生成相应的第一和第二红外阴影708和710。第一和第二红外阴影708和710可包 括诸如以上参考图1A-2所描述的捕捉设备20等的捕捉设备所观察或捕捉的深度图像700 的部分,其中身体部分可在场景上投射阴影。根据一示例实施例,捕捉设备可观察或捕捉无 效深度值,如与深度图像中其中身体部分可在场景上投射阴影的部分相关联的像素的零深 度值。回头参考图7,在410处,在确定可与阴影或遮挡相关联的无效像素之后,可替换 或填充诸如与诸如红外阴影708等的阴影或遮挡区域相关联的像素的深度值等的值。例 如,目标识别、分析和跟踪系统可估计诸如阴影或遮挡区域的深度值等的一个或多个值,这 些值可替换所接收的图像中的与阴影或遮挡区域相关联的无效像素的无效或丢失值。根据一实施例,可基于相邻有效像素来估计与阴影或遮挡区域相关联的无效像素 的值。例如,如果与关联于阴影或遮挡区域的无效像素相邻的一个或多个像素可具有有效 深度值,则与阴影或遮挡区域相关联的无效像素的深度值可基于相邻像素的有效深度值来 生成。因此,在一实施例中,目标识别、分析和跟踪系统可估计或内插与关联于阴影或遮挡 区域的无效像素相邻的有效像素的深度值。目标识别、分析和跟踪系统还可为与阴影或遮 挡区域相关联的无效像素分配可具有有效深度值的相邻像素之一的深度值。根据一实施例,目标识别、分析和跟踪系统可标识并计算与阴影或遮挡区域相关 联的每一无效像素的深度值,直到无效像素中的每一个可具有与其相关联的深度值。另外, 在另一示例实施例中,目标识别、分析和跟踪系统可以不为与阴影或遮挡区域相关联的无 效像素内插值,或者可以为与阴影或遮挡区域相关联的无效像素的部分或一部分内插值。 例如,阴影或遮挡区域可包括第一数量的无效像素。如果第一数量的无效像素可比预定阈 值的无效像素更多,则目标识别、分析和跟踪系统可确定阴影或遮挡区域可包括太多的像 素以致于无法基于可具有有效深度值的相邻或邻近像素来正确地内插或估计每一无效像 素的深度值。基于该判定,目标识别、分析和跟踪系统可以不为无效像素估计或内插值,或者目标识别、分析和跟踪系统可以只为部分无效像素估计或内插值。另外,在另一示例实施例中,目标识别、分析和跟踪系统可基于先前帧的深度图像 为与阴影或遮挡区域相关联的一个或多个无效像素计算深度值。如上所述,诸如以上参考 图1A-2所描述的捕捉设备20等的捕捉设备可捕捉帧中的场景。每一帧可包括一深度图像。 例如,目标识别、分析和跟踪系统可判定先前帧的相应像素是否具有有效深度值。基于该判 定,目标识别、分析和跟踪系统可用先前帧的相应像素的深度值来替换当前深度图像中的 无效像素的深度值。在一示例实施例中,在415处可以确定图像中的噪声并将其从图像中移除。例如, 在305处接收的图像可包括诸如图像中的一个或多个对象周围的模糊边等的噪声。诸如模 糊边等的噪声可与图像中可具有诸如可能无法准确表示场景中的一个或多个对象的深度 值等的一个或多个值的像素相关联。例如,如上所述,图像可包括人类目标和墙。人类目 标的手臂可包括可具有近似1米的深度值的像素,而墙可具有近似2米的深度值。在一实 施例中,手臂的边缘处的像素可包括噪声或者可以是模糊的,从而使得像素可具有例如1. 5 米或手臂和墙的深度值之间的任何其他合适的值的深度值。在415处,目标识别、分析和跟踪系统可确定噪声且可平滑诸如这些像素的模糊 深度值等的模糊值来移除图像中的噪声。根据一实施例,为了平滑与噪声相关联的模糊值, 目标识别、分析和跟踪系统可选择一噪声窗口核。噪声核窗口可包括包含3x3像素块、5x5 像素块等的像素块。根据一实施例,目标识别、分析和跟踪系统然后可基于该噪声窗口核来 分析图像中的像素。例如,目标识别、分析和跟踪系统可基于噪声核来选择在例如图形的左 上角、右上角、左下角、右下角等处开始的像素集。目标识别、分析和跟踪系统然后可以分析 每一像素集中的像素来确定该像素是否可包括噪声。例如,基于噪声核窗口,像素集可包括3x3像素块。目标识别、分析和跟踪系统然 后可基于与3x3像素块中的中间像素相邻的有效像素来确定每一 3x3像素块中的中间像素 的噪声方差。根据一实施例,噪声方差可包括例如中间像素的深度值和与中间像素相邻的 有效像素中的每一个的深度值之差。如果噪声方差可大于预定噪声方差阈值而小于最大方 差阈值,则目标识别、分析和跟踪系统可确定中间像素的深度值可能是模糊的。目标识别、 分析和跟踪系统然后可用基于与中间像素相邻的像素计算的平均深度值、基于与中间像素 相邻的像素计算的模式深度值、基于与中间像素相邻的像素计算的中值深度值来替换可能 模糊的中间像素的深度值。根据另一实施例,目标识别、分析和跟踪系统可用无效深度值来 替换可能模糊的中间像素的深度值,和/或将中间像素标记为无效的、可能模糊的、可能对 分割和/或泛色填充(flood fill)危险的、或可指示该中间像素可影响例如310处所描述 的可在下游执行的一个或多个处理技术的任何其他合适的标志、值、标记等。参考图7,在420处,可以检测图像中可在范围之外的一个或多个像素来处理315 处的图像。例如,可被包括在目标识别、分析和跟踪系统中的诸如以上参考图1A-2所描述 的捕捉设备20等的捕捉设备可具有有限深度范围。例如,捕捉设备可具有可为场景中的对 象所捕捉或观察的最大距离和/或可为场景中的对象所捕捉或观察的最小距离。如果对象 离捕捉设备的距离比最小距离更近或比最大距离更远,则可以将关联于离捕捉设备的距离 比最小距离更近或比最大距离更远的对象的像素与图像中诸如无效深度值等的无效值相 关联。
在一示例实施例中,目标识别、分析和跟踪系统可包括可具有与图像相同数量的 像素的图像阵列。目标识别、分析和跟踪系统可使用图像阵列来检测无效像素是否可在深 度范围之外。例如,目标识别、分析和跟踪系统可基于为每一帧的图像中的像素所观察的诸 如深度值等的值来更新与图像阵列中的每一像素相关联的计数。根据一实施例,对于每一 帧,如果像素可以是无效的或可包括诸如无效深度值等的无效值,则目标识别、分析和跟踪 系统可递增与图像阵列中的像素相关联的计数。另外,对于每一帧,如果像素可以是有效的 或可包括诸如有效深度值等的有效值,则目标识别、分析和跟踪系统可将与图像阵列中的 像素相关联的计数重置或递减到零。在更新了图像阵列中的计数之后,目标识别、分析和跟 踪系统可分析与图像阵列中的每一像素相关联的计数。如果基于该分析,计数可大于范围 阈值,则目标识别、分析和跟踪系统可将图像中的像素标记为无穷大或可指示该像素可在 捕捉设备的范围之外的任何其他值。根据一实施例,然后可在425处填充图像中的丢失部分。例如,可被捕捉或观察的 图像可包括一个或多个孔洞。这些孔洞可包括深度图像中这样的区域在该区域中,例如捕 捉设备可能由于例如光照条件、诸如图案、颜色等的材料性质等而不能确定目标或对象的 深度值或到它们的距离。根据一示例实施例,目标识别、分析和跟踪系统可水平地和/或垂 直地扫描图像来确定可与一个或多个孔洞相关联的无效深度值的跨度或区域。图9示出诸如可包括一个或多个丢失部分或孔洞806的深度图像400c等的图像 的示例实施例。如图9所示,部分或孔洞806可以是深度图像400c中可具有无效像素或空 像素的区域,无效像素或空像素诸如不具有诸如深度值等的值的像素、先前被在310处描 述的一个或多个处理技术标识为无效的像素,等等。如上所述,在一示例实施例中,诸如深 度图像400c等的深度图像可被着色,从而使得深度图像的像素的不同颜色对应于和/或在 视觉上描绘了诸如人类目标402c等的目标或对象离捕捉设备的不同距离。如图9所示,部 分或孔洞806可被着色为黑色以在视觉上指示一个或多个无效或空像素。回头参考图7,如果图像包括一个或多个丢失部分或孔洞,则目标识别、分析和跟 踪系统可在425处为丢失部分或孔洞估计诸如深度值等的一个或多个值。根据一实施例, 可以使用相邻像素或围绕孔洞的可具有有效深度值的像素来估计与孔洞相关联的无效像 素的深度值。例如,目标识别、分析和跟踪系统可标识可定义丢失部分或孔洞边缘的最外部 的无效像素。在标识最外部的无效像素之后,目标识别、分析和跟踪系统可判定与最外部的 无效像素相邻的一个或多个像素是否可以是有效的或是否可具有非零深度值。如果与无效 像素相邻的一个或多个像素可以是有效的,则无效像素的深度值可基于相邻像素的有效、 非零的深度值来生成。例如,无效深度值可被分配一个或多个值,如与无效像素相邻的有效 像素的深度值、诸如与无效像素相邻的有效像素的平均深度值等的平均值、诸如与无效像 素相邻的有效像素的深度值等的值的线性内插、诸如与无效像素相邻的有效像素的深度值 等的值的曲线内插等,从而使得丢失部分或孔洞中的无效像素的值可从丢失部分或孔洞的 外边缘生长到其中心。另外,目标识别、分析和跟踪系统可限制孔洞或丢失部分中可被估计或填充的无 效像素的数量。例如,目标识别、分析和跟踪系统可生成孔洞严重性值,该值可包括无效像 素的数量除以图像中所有像素数量的比率。目标识别、分析和跟踪系统然后可使用该孔洞 严重性值来限制对其估计值的丢失部分或孔洞中的无效像素的数量从而可以减少图像中的渗色。例如,目标识别、分析和跟踪系统可限制可被执行来估计诸如图像的丢失部分或孔 洞中的无效像素的深度值等的值的从外部边缘到中央的迭代的数量。在430处,可以检测图像中可与地板、墙、或任何其他平坦表面相关联的一个或多 个部分。例如,目标识别、分析和跟踪系统可在430处确定图像中的哪些像素可与地板相关 联。根据示例实施例,目标识别、分析和跟踪系统可使用屏幕空间地板检测技术、逐像素分 析、或可检测与地板相关联的像素的任何其他合适的技术或分析来确定与地板相关联的像
ο例如,在一实施例中,目标识别、分析和跟踪系统可标识诸如图像的下半部分等的 图像的较低部分或区域来确定可与地板相关联的部分或像素。目标识别、分析和跟踪系统 然后可分析诸如在305处所接收的图像的较低部分或区域中的像素的深度值等的值以及 诸如先前通过一系列先前的帧所捕捉的所接收的图像的较低部分或区域中的像素的深度 值等的值。在一实施例中,目标识别、分析和跟踪系统可逐行或在屏幕空间扫描行中扫描在 305处所接收的图像以及先前所接收的图像的较低部分或区域,以将一个或多个行拟合到 诸如深度值等的值。例如,目标识别、分析和跟踪系统可逐行或在屏幕空间扫描行中扫描在 305处所接收的图像以及先前所接收的图像的较低部分或区域,以将第一行和第二行拟合 到诸如深度值等的值。目标识别、分析和跟踪系统然后可扫描诸如从图像底部到图像的顶 部的第一和第二行等的所拟合的行来判定该行是否可具有这样的斜率该斜率可定义大于 预定角度阈值的角度,或具有可大于预定角度阈值的变化斜率。当该行可具有可定义大于 预定角度阈值的角度或具有可大于预定角度阈值的变化的斜率时,目标识别、分析和跟踪 系统可停止扫描并可选择可具有小于阈值角度的角度或斜率变化的行以及与该行相关联 的像素。目标识别、分析和跟踪系统随后可使地板平面拟合到像素的行从而可以标识图像 中的地板。因此,根据一示例实施例,目标识别、分析和跟踪系统可分析在430处可由图像的 较低部分或区域中的像素的值所定义的行的一个或多个角度。如果角度可基本水平从而使 得角度可在例如0-10度、0-15度、0-20度等的范围内,则目标识别、分析和跟踪系统可将与 这些角度相关联的像素的行标识为地板的一部分。例如,如果诸如第一和第二行等的行的 斜率在斜率阈值或预定范围以内,则目标识别、分析和跟踪系统可对第一和第二行的斜率 求平均。目标识别、分析和跟踪系统然后可判定平均斜率是否可在捕捉设备的倾斜范围之 内,从而使得当平均斜率可在该倾斜范围之外时与第一和第二行相关联的像素可不被标识 为地板的一部分。目标识别、分析和跟踪系统还可在430处确定图像中的哪些像素可与墙或其他平 坦表面相关联。根据示例实施例,目标识别、分析和跟踪系统可使用屏幕空间检测技术、逐 像素分析、或可检测与墙或其他平坦表面相关联的像素的任何其他合适的技术或分析来确 定与墙或其他平坦表面相关联的像素。在一示例实施例中,在435处,可以做出关于图像是否可包括目标的判定。例如, 在435处,目标识别、分析和跟踪系统可判定图像是否包括诸如参考图6和8-9所描述的人 类目标40h-C等的人类目标、沙发、桌子、椅子、或目标识别、分析和跟踪系统可以跟踪的 任何其他对象等的目标。为了判定图像是否包括目标,根据一实施例,目标识别、分析和跟 踪系统可对图像中的每一对象进行泛色填充。目标识别、分析和跟踪系统然后可将每一泛
16色填充的对象与图案进行比较来判定图像是否包括目标。根据一实施例,为了进行泛色填充,可以选择图像上的预定点或区域来判定图像 是否包括特定目标。例如,可以比较诸如图像的所选区域或点中的像素的深度值等的各种 值来确定可定义目标或对象的边。根据一示例实施例,可以通过将与例如图像中的相邻或 邻近的像素相关联的各种深度值进行比较来确定这些边。如果正被比较的各种深度值可大 于预定边容差,则这些像素可定义一条边。在一实施例中,预定边容差可以是例如100毫 米。如果表示1000毫米的深度值的像素可与表示1200毫米的深度值的相邻像素进行比较, 则这些像素可定义目标的一条边,因为像素之间的长度或距离之差大于IOOmm的预定边容 差。可基于所确定的边来对Z层的可能Z值进行泛色填充。例如,与所确定的边相关联的 像素以及该边内的区域的像素可互相关联来定义可与图案进行比较的场景中的对象。根据一示例实施例,图案可包括一个或多个数据结构,这些数据结构可具有可共 同定义目标识别、分析和跟踪系统可能想要在场景的图像中隔离或标识的特定目标的维数 的变量集。例如,在一实施例中,目标识别、分析和跟踪系统可能想要在图像中隔离或标识 的特定目标可以是人类目标,从而使得图案可包括可具有可共同定义人类的典型身体的变 量集的一个或多个数据结构。可以将与泛色填充的对象相关联的值与图案中的值进行比较来判定目标是否是 目标识别、分析和跟踪系统可能想要隔离或标识的目标以及目标中的哪些是目标识别、分 析和跟踪系统可能想要隔离或标识的目标。在一实施例中,集合中的每一变量可基于目标 识别、分析和跟踪系统可能想要隔离或标识的特定目标的部分或各部分的重要性来加权。 例如,如果目标识别、分析和跟踪系统可能想要隔离或标识人类目标,则图案中的诸如头部 和/或肩膀等的各种身体部位可具有与其相关联的可比诸如腿等的其他身体部位大的权 重值。基于该比较,目标识别、分析和跟踪系统可计算与图案中可匹配泛色填充的对象 的变量的各部分相关联的值的加权和。如果和可大于匹配阈值,则目标识别、分析和跟踪系 统可将对象标记或标识为诸如目标识别、分析和跟踪系统可能想要隔离或标识的特定目标 等的目标。例如,目标识别、分析和跟踪系统可创建可具有大于匹配阈值的和的泛色填充的 目标的位掩码。在440处,如果图像可能不包括目标,则可在305处接收场景的新图像。例如,如 果图像中所标识的每一对象的和可小于匹配阈值,则目标识别、分析和跟踪系统可提供该 图像可能不包括目标的指示并且可在305处接收新图像。根据一实施例,在440处,如果图像可包括目标,则可在445处扫描目标从而可以 确定目标的一个或多个量度。例如,如果和可大于匹配阈值,则在435处,目标识别、分析和 跟踪系统可将对象标记或标识为诸如目标识别、分析和跟踪系统可能想要标识的特定目标 等的目标。目标随后可在445处被扫描从而可确定目标的一个或多个量度。例如,目标识 别、分析和跟踪系统可从上到下和/或从左到右地扫描位掩码来确定目标的宽、高等。根据一示例实施例,目标可包括人类目标。可以在445处为一个或多个身体部位 扫描与人类目标相关联的位掩码来提供与诸如以上参考图IA和IB所描述的用户18等的 用户的一个或多个身体部位相关联的诸如长、宽等的量度。为了为一个或多个身体部位扫 描人类目标的位掩码,目标识别、分析和跟踪系统可确定人类目标的位掩码的顶部。目标识别、分析和跟踪系统然后可将位掩码的顶部与头部的顶部的位置相关联。在确定了头部的 顶部之后,可以向下扫描位掩码继而确定目标的颈部的位置、人类目标的肩膀的位置,以此 类推。为了确定人类目标的颈部、肩膀等的位置,可以将例如被扫描的位置处的位掩码 的宽度与关联于例如颈部、肩膀等的典型宽度的阈值进行比较。在替换实施例中,可以使用 离位掩码中先前扫描的并与身体部位相关联的位置的距离来确定颈部、肩膀等的位置。为了确定肩膀的位置,可将各个方位或位置处的位掩码的宽度与阈值肩膀值进行 比较。例如,可以将各个方位或位置处的位掩码的X值处的两个最外部Y值之间的距离与 例如人类肩膀之间的典型距离的阈值肩膀值进行比较。在另一实施例中,为了确定肩膀的 位置,可从头部向下解析一特定距离的位掩码。例如,可与头部的顶部相关联的位掩码的顶 部可具有与其相关联的X值。然后可以将所存储的与从头部的顶部到人类身体的肩膀的顶 部的典型距离相关联的值加到头部的顶部的X值来确定肩膀的X值。另外,根据一示例实施例,诸如腿、脚等的某些身体部位可基于例如其他身体部位 的位置来计算。例如,如上所述,可以扫描诸如与人类目标相关联的位、像素等的信息来确 定诸如头部、颈部、肩膀、臀部等的各个身体部位的位置。基于这些位置,随后可以为人类目 标计算诸如腿、脚等的后续身体部位。在一实施例中,在确定例如诸如身体部位等的部分的值后,可以创建可包括诸如 与目标的位掩码的扫描相关联的部分的长度、宽度等的度量值的数据结构。在一实施例中, 该数据结构可包括从多个深度图像平均的扫描结果。例如,如上所述,诸如以上参考图1A-2 所描述的捕捉设备20等的捕捉设备可捕捉帧中的场景。每一帧可包括一图像。可以分析 每一帧的图像来确定是否包括诸如人类目标等的目标。如果帧的图像包括目标,则可以在 445处扫描与该帧相关联的图像的人类目标的位掩码。然后可以对为每一帧所确定的诸如 身体部位等的部分的值求平均,从而使得该数据结构可包括诸如与每一帧的扫描相关联的 身体部位等的部分的诸如长度、宽度等的平均度量值。随后可以在450处从图像中分割目标。例如,目标识别、分析和跟踪系统可从包括 图像中可以不是目标的背景和/或前景对象的环境中分割目标。为了从环境中分割目标, 目标识别、分析和跟踪系统可移除或丢弃不可与深度图像中的目标相关联的像素。例如,在 445处对人类目标的扫描期间,目标识别、分析和跟踪系统可基于为泛色填充的目标创建的 位掩码来确定或标识可与目标相关联的像素。目标识别、分析和跟踪系统然后可基于不可 与目标相关联的像素来确定或标识诸如非目标对象等的与环境相关联的像素。在标识与目标和环境相关联的像素后,目标识别、分析和跟踪系统可构建深度历 史或历史地图。目标识别、分析和跟踪系统可对带有与环境相关联的值的每一帧更新深度 历史或历史地图。根据一示例实施例,深度历史或历史可被更新来包括经过一系列帧所观 察的图像中的环境的最大值、最小值、中间值、平均值、标准差值、等等。在一实施例中,目标识别、分析和跟踪系统可随后对目标进行泛色填充且可移除 或丢弃与环境相关联的像素以从环境中分割目标。例如,目标识别、分析和跟踪系统可选择 与目标的矩心或中心的位置相关联的点和/或可围绕矩心或中心的位置处的预定点。目标 识别、分析和跟踪系统然后可在每一帧中对这些点进行泛色填充。基于该泛色填充,目标识 别、分析和跟踪系统可创建目标的二进制掩码。目标识别、分析和跟踪系统还可基于深度历
18史或历史地图,通过为与环境相关联的像素分配例如无效深度值来移除或丢弃它们。根据另一实施例,目标识别、分析和跟踪系统可在450处判定目标是否正在运动 或移动并可移除或丢弃与环境相关联的像素以从环境中分割目标。例如,目标识别、分析和 跟踪系统可包括诸如场景的基准图像等基准平面,该基准平面可包括例如诸如每一像素的 非运动深度值等的非运动信息。根据一实施例,非运动信息平面可包括与场景中的每一像 素相关联的移动平均值。移动平均值可包括例如通过一系列先前所接收的帧所确定的像素 的平均深度值。根据一实施例,目标识别、分析和跟踪系统可将诸如场景中的对象中的每一 像素的深度值等的值与包括在基准平面中的每一对应的像素的移动平均值进行比较。基于 该比较,目标识别、分析和跟踪系统可将像素标识为移动。例如,在一实施例中,如果像素的 深度值可小于基准平面中对应的像素的移动平均值从而使得像素可在移动平均值前方,则 像素可被标识为移动。另外,例如,如果像素的深度值和基准平面中的对应像素的移动平均 值之差可大于运动阈值,则该体素可由目标识别、分析和跟踪系统标识为移动。目标识别、分析和跟踪系统然后基于移动像素的百分比为每一所标识的对象计算 前景分数。在一实施例中,目标识别、分析和跟踪系统可以用可被标识为移动的对象中的体 素像素的数量除以包括在对象中的像素总数来计算前景分数。根据一实施例,目标识别、分 析和跟踪系统可为可具有可超过分数阈值的前景分数的目标创建二进制掩码。基于深度历 史或历史地图,目标识别、分析和跟踪系统还可通过为与环境相关联的像素分配例如诸如 如上所述的零深度值等的无效深度值来移除或丢弃它们。回头参考图5,在310处使用例如以上参考图7所描述的方法处理图像之后,目标 识别、分析和跟踪系统可在315处呈现细化的图像。根据一实施例,细化的图像可以是已移 除和/或平滑了噪声、丢失部分、阴影的,已隔离了目标的,已标识了地板等的图像。因此, 在一示例实施例中,在310处使用以上参考图7所描述的处理的示例方法的至少一部分来 处理图像之后,细化的图像可以是在305处接收的图像。图10示出可基于对可被捕捉或观察的图像的处理而呈现的细化的图像406的示 例实施例。如图10所示,在310处使用以上参考图7所描述的处理的示例方法的至少一部 分来处理深度图像400c之后,细化406可以是图9中示出的深度图像400c。回头参考图5,可以在320处处理与目标相关联的细化的图像和/或二进制掩码。 在一实施例中,目标识别、分析和跟踪系统可在330处处理与目标相关联的细化的图像和/ 或二进制掩码,从而可以生成目标的模型,如骨架模型、网格模型等。根据一示例实施例,可 以跟踪该模型、可以呈现与该模型相关联的化身、和/或可以控制在计算机环境上执行的 一个或多个应用程序。应该理解,此处所述的配置和/或方法在本质上是示例性的,且这些具体实施例 或示例不被认为是限制性的。另外,此处所述的方法或过程可表示任何数量的处理策略中 的一个或多个。由此,此处所述的方法或过程可按照所示步骤的顺序、按照其他顺序、并行 地等来执行。同样,可以更改上述方法或所述过程所示的步骤的次序和/或按任何合适的 次序来执行上述方法或所述过程所示的步骤。本发明的主题包括各种方法、过程、系统和配置的所有新颖和非显而易见的组合 和子组合、和此处所公开的其它特征、功能、动作、和/或特性、以及其任何和全部等效物。
权利要求
1.一种用于处理场景的图像的方法,所述方法包括接收所述图像;处理所述图像来确定所述场景的一个或多个特性;以及基于所述场景的一个或多个特性来呈现细化的图像。
2.如权利要求1所述的方法,其特征在于,处理所述图像来确定所述场景的一个或多 个特性包括对所述图像进行降采样。
3.如权利要求1所述的方法,其特征在于,处理所述图像来确定所述场景的一个或多 个特性包括判定所述图像是否包括阴影;并为包括在所述图像中的与所述阴影相关联的像 素估计一个或多个值。
4.如权利要求1所述的方法,其特征在于,处理所述图像来确定所述场景的一个或多 个特性包括判定所述图像是否包括噪声;并移除所述图像中的噪声。
5.如权利要求1所述的方法,其特征在于,处理所述图像来确定所述场景的一个或多 个特性包括检测所述图像中的一个或多个像素是否可在捕捉设备所定义的范围之外,其中 所述捕捉设备捕捉所述图像。
6.如权利要求1所述的方法,其特征在于,处理所述图像来确定所述场景的一个或多 个特性包括判定所述图像是否包括丢失部分;以及为与所述丢失部分相关联的无效像素估 计一个或多个值。
7.如权利要求1所述的方法,其特征在于,处理所述图像来确定所述场景的一个或多 个特性包括检测与所述场景中的地板相关联的所述图像的一部分。
8.如权利要求1所述的方法,其特征在于,处理所述图像来确定所述场景的一个或多 个特性包括判定所述图像是否包括目标;以及如果基于所述判定所述图像包括所述目标,则扫描所述目标。
9.如权利要求8所述的方法,其特征在于,处理所述图像来确定所述场景的一个或多 个特性包括从所述图像中分割所述目标。
10.一种其上存储有用于处理图像的计算机可执行指令的计算机可读存储介质,所述 计算机可执行指令包括用于以下操作的指令接收图像,其中所述图像包括多个像素;处理所述图像,其中处理所述图像包括以下的至少一个对所述图像进行降采样,判定 所述图像是否包括阴影、噪声和丢失部分中的一个,判定所述图像是否包括目标,以及如果 基于所述判定所述图像包括所述目标则扫描所述目标;以及基于所处理的深度图像来呈现细化的图像。
11.如权利要求10所述的计算机可读存储介质,其特征在于,用于处理所述图像的所 述指令还包括用于检测所述图像中的一个或多个像素是否在与所述图像相关联的捕捉设 备所定义的范围之外的指令。
12.如权利要求10所述的计算机可读存储介质,其特征在于,用于确定所述图像中的 一个或多个像素是否在与所述图像相关联的捕捉设备所定义的范围之外的所述指令包括 用于以下操作的指令提供图像阵列,其中所述图像阵列具有与所述图像中的像素总数相 等的像素数量;如果与所述图像中对应的像素相关联的值是无效的,则递增与所述图像阵列中的像素相关联的计数;分析与所述图像阵列中的像素相关联的计数;以及如果基于所 述分析,与所述图像阵列中的对应的像素相关联的所述计数大于范围阈值,则以无穷大值 来标记所述图像中的像素。
13.如权利要求10所述的计算机可读存储介质,其特征在于,用于处理所述图像的所 述指令还包括用于检测与所述场景中的地板相关联的所述图像的一部分的指令。
14.如权利要求10所述的计算机可读存储介质,其特征在于,用于检测与所述场景中 的地板相关联的所述图像的一部分的所述指令还包括用于标识所述图像的较低区域;以及 用于分析所述较低区域以将与所述地板相关联的地板平面拟合到所述较低区域的指令。
15.如权利要求10所述的计算机可读存储介质,其特征在于,用于处理所述图像的所 述指令还包括用于从所述图像中分割所述目标的指令。
16.如权利要求15所述的计算机可读存储介质,其特征在于,用于从所述图像中分割 所述目标的所述指令包括用于创建所述目标的二进制掩码,以及丢弃包括在所述图像中的 环境的指令。
17.如权利要求10所述的计算机可读存储介质,其特征在于,所述图像包括多个像素, 以及所述用于对所述深度图像进行降采样的指令包括用于减少所述多个像素的数量并过 滤所述多个像素中的一个或多个无效像素的指令。
18.如权利要求10所述的计算机可读存储介质,其特征在于,用于判定所述图像是否 包括阴影、噪声和丢失部分中的一个的所述指令还包括用于为所述图像中与阴影、噪声和 丢失部分中的一个相关联的像素估计一个或多个值的指令。
19.如权利要求10所述的计算机可读存储介质,其特征在于,用于扫描所述目标的所 述指令包括用于确定所述目标的一个或多个量度的指令。
20.一种用于处理场景的图像的系统,所述系统包括捕捉设备,其中所述捕捉设备包括接收所述场景的深度图像的照相机组件,其中所述 深度图像包括像素;以及与所述捕捉设备有效通信的处理器,其中所述处理器对所述图像进行降采样;判定所 述图像是否包括阴影、噪声和丢失部分中的一个;检测所述图像中的一个或多个像素是否 在所述捕捉设备所定义的范围之外;检测与所述场景中的平坦表面相关联的所述图像的一 部分;判定所述图像是否包括目标;如果基于所述判定所述深度图像包括所述目标则扫描 所述目标;以及从所述图像中分割所述目标。
全文摘要
本发明描述了用于为目标跟踪处理图像的系统和方法。可由设备接收、观察或捕捉诸如场景的深度图像等的图像。然后可处理该图像。例如,可以对图像进行降采样,可以确定图像中的阴影、噪声和/或丢失部分,可以确定图像中可在由与图像相关联的捕捉设备所定义的范围之外的像素、可以检测图像中与地板相关联的一部分。另外,可以确定并扫描图像中的目标。随后可基于已处理的图像来呈现细化的图像。然后可处理细化的图像来例如跟踪用户。
文档编号G06F3/01GK102087738SQ20101054435
公开日2011年6月8日 申请日期2010年11月4日 优先权日2009年11月5日
发明者C·C·马莱斯, C·佩珀, J·柏托尔拉米, R·M·盖斯, Z·马特 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1