CN107077730A - 基于剪影的肢寻找器确定 - Google Patents

基于剪影的肢寻找器确定 Download PDF

Info

Publication number
CN107077730A
CN107077730A CN201580057019.2A CN201580057019A CN107077730A CN 107077730 A CN107077730 A CN 107077730A CN 201580057019 A CN201580057019 A CN 201580057019A CN 107077730 A CN107077730 A CN 107077730A
Authority
CN
China
Prior art keywords
outline
field
path
computer
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201580057019.2A
Other languages
English (en)
Other versions
CN107077730B (zh
Inventor
J·R·霍夫
D·G·肯奈特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN107077730A publication Critical patent/CN107077730A/zh
Application granted granted Critical
Publication of CN107077730B publication Critical patent/CN107077730B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20036Morphological image processing
    • G06T2207/20041Distance transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20036Morphological image processing
    • G06T2207/20044Skeletonization; Medial axis transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30172Centreline of tubular or elongated structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Abstract

基于剪影的肢寻找器可被用来从相机图像检测肢。此肢确定可被用来或与其它图像处理相组合地控制诸如游戏等应用。指示距图像中的剪影的边缘的距离的第一距离字段和指示距剪影中的一位置的距离的第二距离字段可被用来生成从剪影上的一极点到该位置的路径。此路径随后可被用来确定剪影中的肢。这甚至允许针对难以检测的玩家姿态来跟踪肢。

Description

基于剪影的肢寻找器确定
背景
许多计算应用(诸如计算机游戏)使用控制器来提供输入。通常,控制器被用来控制应用中的对象或角色。近来,相机已被用来允许用户控制游戏角色或应用的其它方面,而无需传统手持式游戏控制器。这样的基于相机的控制器可标识相机所捕捉的用户,并检测用户的运动或其它行为。
概述
基于剪影的肢(limb)寻找器可被用来从相机图像检测肢。此肢确定可被用来独自地或与其它图像处理相组合地控制诸如游戏等应用。
剪影可以是相机图像的与所述相机图像中的对象(诸如人)相关联的该部分。剪影可从分段(segmentation)过程的输出获得,该分段过程标识相机图像中的对象。
指示距剪影的边缘的距离的第一距离字段连同指示距剪影中的一位置的距离的第二距离字段可被用来生成从剪影上的一极点到该位置的路径。此路径随后可被用来确定剪影中的肢。这甚至允许对并不非常适合用于骨架跟踪技术的玩家姿态进行肢的跟踪。
提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
附图简述
图1A和1B示出跟踪系统的示例,其中用户正在玩拳击视频游戏。
图2A示出可在跟踪系统中使用的捕捉设备的示例。
图2B示出在图2A中介绍的图像处理模块的示例。
图3示出被用来跟踪由应用显示的化身或其它屏幕上对象运动和/或动画化(或以其它方式更新)由应用显示的化身或其它屏幕上对象的计算系统的示例,其可以是图1A-2B中示出的计算系统。
图4示出被用来跟踪由应用显示的化身或其它屏幕上对象运动和/或动画化(或以其它方式更新)由应用显示的化身或其它屏幕上对象的计算系统的另一示例,其可以是图1A-2B中示出的计算系统。
图5是示出用于基于剪影的肢检测的示例过程的流程图。
图6A示出剪影的简化示例。
图6B示出第一距离字段的简化示例,该第一距离字段示出距图6A的简化剪影的边缘的距离。
图6C示出第二距离字段的简化示例,该第二距离字段示出针对图6A的简化剪影的距剪影中的一位置的距离。
图7是使用第一和第二距离字段来确定从极点到剪影中的一位置的路径的示例性方法的流程图。
图8A示出剪影的一部分的示例。
图8B示出第一距离字段的示例,该第一距离字段示出针对图8A中示出的剪影部分的距剪影边缘的距离。
图8C示出第二距离字段的简化示例,该第二距离字段示出针对图8A的剪影部分的距剪影中的一位置的距离。
图9A-D示出了基于剪影的肢寻找的示例。
图10A-B示出了基于剪影的肢寻找的示例。
详细描述
基于相机的控制器可依赖于骨架跟踪(ST)技术来检测运动或其它用户行为。ST技术可在空间中定位所跟踪的用户的关节并随时间跟踪其移动。ST技术通常是基于机器学习开发的并且从而在用于与训练集中的姿态类似的姿态时最有效。例如,ST通常在检测站着或坐着并且面向相机的用户时做得最好。ST技术对于检测其它类型的用户行为不那么可靠。例如,对于检测其中用户是扭曲的、接近地板、或者关于相机在侧向位置的姿态,ST技术通常不可靠。使用两个距离字段的肢寻找器确定可允许跟踪处于此类不寻常位置中的用户。
尽管下文详细描述了游戏控制台示例,然而要理解,肢寻找器方法可在其它设备上完成,这些设备包括个人计算机(PC)以及手持式设备,诸如智能电话。肢寻找器方法也可被用于非游戏应用。
图1A和1B示出了其中用户118在玩拳击视频游戏的跟踪系统100的示例。在一示例中,跟踪系统100可被用于识别、分析和/或跟踪人类目标,如跟踪系统100范围内的用户118或其他对象。如图1A所示,跟踪系统100包括计算系统112和捕捉设备120。如下面更详细地描述的,捕捉设备120可被用来获得深度图像和彩色图像(也被称为红/绿/蓝(RGB)图像),所述图像可被计算系统112用来标识一个或多个用户或其他对象,以及跟踪运动和/或其他用户行为。所跟踪的运动和/或其它用户行为可被用来更新应用。因此,用户可以通过使用用户身体和/或用户周围的物体的移动而非使用控制器、遥控器、键盘、鼠标等(或作为使用控制器、遥控器、键盘、鼠标等的补充)来操纵游戏人物或应用的其他方面。例如,视频游戏系统可基于物体的新位置来更新在视频游戏中显示的图像的位置或基于用户的运动来更新化身。
计算系统112可以是计算机、游戏系统或控制台等。根据一示例,计算系统112可包括硬件组件和/或软件组件,从而计算系统112可被用于执行例如游戏应用、非游戏应用等的应用。在一个示例中,计算系统112可包括可执行存储在处理器可读存储设备上的用于执行此处描述的过程的指令的处理器,如标准化处理器、专用处理器、微处理器等。
捕捉设备120可以是,例如可用于在视觉上监视诸如用户118等一个或多个用户,从而可以捕捉、分析并跟踪一个或多个用户所执行的姿势和/或移动,来执行应用中的一个或多个控制命令或动作和/或动画化化身或屏上人物的相机,下面将更详细地描述。
根据一个示例,跟踪系统100可连接至可向诸如用户118之类的用户提供游戏或应用视觉和/或音频的视听设备116,诸如电视机、监视器、高清电视机(HDTV)等。例如,计算系统112可包括诸如图形卡等视频适配器和/或诸如声卡等音频适配器,这些适配器可提供与游戏应用、非游戏应用等相关联的视听信号。视听设备116可从计算系统112接收视听信号,然后可向用户118输出与视听信号相关联的游戏或应用画面和/或音频。根据一个示例,视听设备16可经由例如,S-视频电缆、同轴电缆、高清多媒体接口(HDMI)电缆、数字视频接口(DVI)电缆、视频图形阵列(VGA)电缆、分量视频电缆等连接至计算系统112。
如图1A和1B中所示,跟踪系统100可用于识别、分析和/或跟踪诸如用户118之类的人类目标。例如,可使用捕捉设备120来跟踪用户118,从而可以捕捉用户118的姿势和/或移动来动画化化身或屏幕上人物,和/或可将用户的姿势和/或移动解释为可用于影响计算系统112所正在执行的应用的控制命令。因此,根据一个示例,用户118可移动他或她的身体来控制应用和/或动画化化身或屏幕上人物。
在图1A和1B中描绘的示例中,在计算系统112上执行的应用可以是用户118正在玩的拳击游戏。例如,计算系统112可使用视听设备116来向用户118提供拳击对手138的视觉表示。计算系统112还可使用视听设备116来提供用户118可通过他的或她的移动来控制的玩家化身140的视觉表示。例如,如图1B所示,用户118可以在物理空间中挥拳以致使玩家化身140在游戏空间中挥拳。因此,根据一示例,计算机系统112和捕捉设备120识别并分析物理空间中用户118的重拳从而使得该重拳可被解释为对游戏空间中的玩家化身140的游戏控制和/或该重拳的运动可用于动画化游戏空间中的玩家化身140。
用户118的其他移动也可被解释为其他控制命令或动作,和/或用于动画化玩家化身,如上下快速摆动、闪避、滑步、封堵、用拳猛击或挥动各种不同的有力重拳的控制命令。此外,某些移动可被解释为可对应于除控制玩家化身140之外的动作的控制。例如,在一个示例中,玩家可使用移动来结束、暂停或保存游戏、选择难度、查看高分、与朋友交流等。根据另一示例,玩家可使用移动来从主用户界面选择游戏或其他应用程序。因此,在示例中,用户118的全范围运动可以用任何合适的方式来获得、使用并分析以与应用程序进行交互。
在各示例中,诸如用户118之类的人类目标可持有一物体。在这些示例性示例中,电子游戏的用户可手持物体,使得可使用玩家和物体的运动来调整和/或控制游戏的参数。例如,可以跟踪并利用手持球拍的玩家的运动来控制电子体育游戏中的屏幕上球拍。在另一示例中,可以跟踪并利用手持物体的玩家的运动来控制电子格斗游戏中的屏幕上武器。用户未手持的物体也可被跟踪,诸如被该用户(或一不同用户)抛出、推动或滚动的物体或自推进的物体。除了拳击之外,也可实现其他游戏。
根据其他示例,跟踪系统100还可用于将目标移动解释为游戏领域之外的操作系统和/或应用控制。例如,事实上操作系统和/或应用程序的任何可控方面都可由诸如用户118之类的目标的移动来控制。
图2A示出可在跟踪系统100中使用的捕捉设备120的示例。根据一示例,捕捉设备120可被配置成经由任何合适的技术,包括例如飞行时间、结构化光、立体图像等来捕捉包括深度图像的带有深度信息的视频,该深度信息可包括深度值。根据一个示例,捕捉设备120可将深度信息组织为“Z层”或可与从深度相机沿其视线延伸的Z轴垂直的层。
如图2A所示,捕捉设备120可包括图像相机组件222。根据一示例,图像相机组件222可以是可捕捉场景的深度图像的深度相机。深度图像可包括所捕捉的场景的二维(2-D)像素区域,其中该2-D像素区域中的每个像素都可以表示一深度值,比如所捕捉的场景中的一物体与相机相距的例如以厘米、毫米等为单位的距离。
如图2A所示,根据一示例,图像相机组件222可包括可用于捕捉场景的深度图像的红外(IR)光组件224、三维(3-D)相机226、和RGB相机228。例如,在飞行时间分析中,捕捉设备120的IR光组件224可将红外光发射到场景上,并且随后可使用传感器(未示出)用例如3-D相机226和/或RGB相机228来检测从场景中的一个或多个目标和物体的表面反向散射的光。在一些示例中,可以使用脉冲红外光,以使得可以测量出射光脉冲与相应入射光脉冲之间的时间,并且将其用于确定从捕捉设备120到场景中的目标或对象上的特定位置的物理距离。另外,在其他示例中,可将出射光波的相位与入射光波的相位进行比较来确定相移。然后可以使用该相移来确定从捕捉设备到目标或对象上的特定位置的物理距离。
根据另一示例,飞行时间分析可被用来通过经由包括例如快门式光脉冲成像在内的各种技术分析反射光束随时间的强度来间接地确定从捕捉设备120到目标或对象上的特定位置的物理距离。
在另一示例中,捕捉设备120可使用结构化光来捕捉深度信息。在这样的分析中,图案化光(即,被显示为诸如网格图案、条纹图案、或不同图案之类的已知图案的光)可经由例如IR光组件224被投影到场景上。在落到场景中的一个或多个目标或对象的表面上以后,作为响应,图案可以变为变形的。图案的这种变形可由例如3-D相机226和/或RGB相机28来捕捉,然后可被分析来确定从捕捉设备到目标或对象上的特定位置的物理距离。在一些实现中,IR光组件224与相机226和228分开,使得可以使用三角测量来确定与相机226和228相距的距离。在一些实现中,捕捉设备120将包括用于感测IR光的专用IR传感器。
根据另一示例,捕捉设备120可包括两个或更多物理上分开的相机,这些相机可从不同角度查看场景以获得视觉立体数据,该视觉立体数据可被解析以生成深度信息。也可使用其它类型的深度图像传感器来创建深度图像。
捕捉设备120还可包括话筒130。话筒130可包括可接收声音并将其转换成电信号的换能器或传感器。根据一个示例,话筒130可用于减少目标识别、分析和跟踪系统100中的捕捉设备120与计算系统112之间的反馈。附加地,话筒30可用来接收也可由用户提供的音频信号(例如,语音命令),以控制可由计算系统112执行的诸如游戏应用、非游戏应用等应用。
在一示例中,捕捉设备120可进一步包括可与图像相机组件222进行操作通信的处理器232。处理器232可包括可执行指令的标准处理器、专用处理器、微处理器等,这些指令例如包括用于接收深度图像、生成合适的数据格式(例如,帧)以及将数据传送给计算系统112的指令。
捕捉设备120可进一步包括存储器组件234,存储器组件234可存储可由处理器232执行的指令、由3-D相机和/或RGB相机捕捉到的图像或图像的帧、或任何其他合适的信息、图像等。根据一示例,存储器组件234可包括随机存取存储器(RAM)、只读存储器(ROM)、高速缓存、闪存、硬盘、或任何其他合适的存储组件。如图2A中所示,在一个示例中,存储器组件234可以是与图像捕捉组件222和处理器232进行通信的单独的组件。根据另一示例,存储器组件234可被集成到处理器232和/或图像捕捉组件222中。
存储器组件234可包括具有具体的、有形的、物理的结构的存储介质。如所公知的,信号不具有具体的、有形的、物理的结构。存储器以及本文所述的任何计算机可读存储介质不被解释为信号。存储器以及本文所述的任何计算机可读存储介质都不被解释为瞬态信号。存储器以及本文所述的任何计算机可读存储介质都不被解释为传播信号。存储器以及本文所述的任何计算机可读存储介质都不被解释为制品。
如图2A所示,捕捉设备120可经由通信链路236与计算系统212进行通信。通信链路236可以是包括例如USB连接、火线连接、以太网电缆连接等有线连接和/或诸如无线802.11b、802.11g、802.11a或802.11n连接等的无线连接。根据一个示例,计算系统112可经由通信链路236向捕捉设备120提供可用于确定何时捕捉例如场景的时钟。另外,捕捉设备120将由例如3-D相机226和/或RGB相机228捕捉的深度图像和彩色图像经由通信链路236提供给计算系统112。在一个示例中,深度图像和彩色图像以30帧每秒的速率传送。计算系统112然后可使用该模型、深度信息、以及所捕捉的图像来例如控制诸如游戏或文字处理程序等的应用和/或动画化化身或屏上人物。
计算系统112包括姿势库240、结构数据242、深度图像处理和对象报告模块244和应用246。深度图像处理和对象报告模块244使用深度图像来跟踪诸如用户和其他对象等对象的运动。为了帮助跟踪对象,深度图像处理和对象报告模块244使用姿势库240和结构数据242。
结构数据242包括关于可被跟踪的对象的结构信息。例如,可以存储人类的骨架模型以帮助理解用户的移动并识别身体部位。还可以存储关于非生命对象的结构信息以帮助识别这些对象并帮助理解移动。
姿势库240可包括姿势过滤器的集合,每一姿势过滤器包括和骨架模型(在用户移动时)可执行的姿势有关的信息。可将由相机226、228和捕捉设备120捕捉的骨架模型形式的数据以及与其相关联的移动与姿势库240中的姿势过滤器进行比较来标识用户(如骨架模型所表示的)何时执行了一个或多个姿势。那些姿势可与应用的各种控制相关联。因此,计算系统112可使用姿势库240来解释骨架模型的移动并基于该移动来控制应用246。如此,姿势库可被深度图像处理和对象报告模块244和应用246使用。
应用程序246可以是视频游戏、生产力应用程序等。在一个示例中,深度图像处理和对象报告模块244会将检测到的每个对象的标识以及每帧的物体的位置报告给应用246。应用246将使用该信息来更新显示器中的化身或其他图像的位置或移动。
图2B示出在图2A中介绍的图像处理模块244的示例。参考图2B,图像处理模块244被示出为包括剪影生成模块270、肢寻找器确定模块270、包括深度图像分段模块244的深度图像处理模块260、以及其它图像处理模块262。
剪影生成270可被用来创建用户的剪影。剪影可以是与用户相对应的像素。在一个示例中,剪影可由深度图像分段模块252生成。
在一示例中,深度图像分段模块252被配置成检测深度图像内的一个或多个用户(例如,人类目标),并将分段值与每个像素相关联。这些分段值被用来指示哪些像素对应于用户。例如,分段值1可被指派到对应于第一用户的所有像素,分段值2可被指派到对应于第二用户的所有像素,且任意预定值(例如255)可被指派到不对应于用户的像素。以下也是可能的:分段值可被指派到在深度图像内被标识的除用户外的其它对象,诸如但不限于:网球拍、跳绳、球、地板等。在一示例中,作为深度图像分段模块252所执行的分段过程的结果,深度图像中的每个像素将具有与该像素相关联的四个值,包括:x位置值(即,水平值);y位置值(即,垂直值);z位置值(即,深度值);以及分段值,其刚在上面被解释。换言之,在分段后,深度图像可指定多个图像对应于一用户,其中这些像素也可被称为用户的基于深度的剪影。此外,深度图像可针对对应于用户的每个像素指定像素位置和像素深度。像素位置可由x位置值(即,水平值)和y位置值(即,垂直值)指示。像素深度可由z位置值(也被称为深度值)指示,该z位置值指示被用来获得深度图像的捕捉设备(例如120)和该像素表示的用户部分之间的距离。
具有特定分段值的图像像素从而可定义剪影。在一个示例中,深度缓冲器存储分段值以及深度图像值。也可使用获得剪影的其它方式。
肢寻找器模块确定模块272可使用所生成的剪影来基于所生成的距离字段确定肢,如针对图5和7所描述的。肢寻找器模块确定模块272的结果可被用来独自地或与其它图像处理262相组合地向应用提供输入。
仍旧参考图2B,在一示例中,基于深度的质心模块254可被用来确定对应于用户的多个像素的基于深度的质心位置,其将像素所表示的用户的部分和被用来获得深度图像的捕捉设备之间的距离计入。此质心位置可被用作用于构造第二距离字段的位置,如下面针对图7所描述的。
图3示出被用来跟踪由应用显示的化身或其它屏幕上对象运动和/或动画化(或以其它方式更新)由应用显示的化身或其它屏幕上对象的计算系统的示例,其可以是图1A-2B中示出的计算系统112。上面参考图1A-2所描述的诸如计算系统112等计算系统可以是诸如游戏控制台等多媒体控制台。如图3所示,多媒体控制台300具有含有一级高速缓存102、二级高速缓存304和闪存ROM(只读存储器)306的中央处理单元(CPU)301。一级高速缓存302和二级高速缓存304临时存储数据,并且因此减少存储器访问周期的数量,由此改进处理速度和吞吐量。CPU 301可被提供为具有一个以上的核,并且由此具有附加的一级高速缓存302和二级高速缓存304。闪存ROM 306可存储在多媒体控制台300通电时引导过程的初始阶段期间加载的可执行代码。
图形处理单元(GPU)308和视频编码器/视频编解码器(编码器/解码器)314形成用于高速和高分辨率图形处理的视频处理流水线。经由总线从图形处理单元308向视频编码器/视频编解码器314运送数据。视频处理流水线向A/V(音频/视频)端口340输出数据,用于传输至电视或其他显示器。存储器控制器310连接到GPU 308以方便处理器访问各种类型的存储器312,诸如但不局限于RAM(随机存取存储器)。
多媒体控制台300包括优选地在模块318上实现的I/O控制器320、系统管理控制器322、音频处理单元323、网络接口324、第一USB主控制器326、第二USB控制器328以及前面板I/O子部件330。USB控制器326和328用作外围控制器342(1)-342(2)、无线适配器348、以及外置存储器设备346(例如,闪存、外置CD/DVD ROM驱动器、可移动介质等)的主机。网络接口324和/或无线适配器348提供对网络(例如,因特网、家庭网络等)的访问,并且可以是包括以太网卡、调制解调器、蓝牙模块、电缆调制解调器等的各种不同的有线或无线适配器组件中的任何一种。
系统存储器343被提供来存储在引导过程期间被加载的应用数据。提供媒体驱动器344,且其可包括DVD/CD驱动器、蓝光驱动器、硬盘驱动器、或其他可移动媒体驱动器等。媒体驱动器344可位于多媒体控制台300的内部或外部。应用数据可经由媒体驱动器344来访问,以供多媒体控制台300执行、回放等。媒体驱动器344经由诸如串行ATA总线或其他高速连接(例如IEEE 1394)之类的总线被连接到I/O控制器320。
存储器312、343和346可包括具有具体的、有形的、物理的结构的存储介质。如所公知的,信号不具有具体的、有形的、物理的结构。存储器以及本文所述的任何计算机可读存储介质不被解释为信号。存储器以及本文所述的任何计算机可读存储介质都不被解释为瞬态信号。存储器以及本文所述的任何计算机可读存储介质都不被解释为传播信号。存储器以及本文所述的任何计算机可读存储介质都不被解释为制品。
系统管理控制器322提供与确保多媒体控制台300的可用性相关的各种服务功能。音频处理单元323和音频编解码器332形成具有高保真度和立体声处理的相应音频处理流水线。音频数据经由通信链路在音频处理单元323与音频编解码器332之间传输。音频处理流水线将数据输出到A/V端口340,以供外置音频播放器或具有音频能力的设备再现。
前面板I/O子部件330支持被展示在多媒体控制台300的外表面上的电源按钮350和弹出按钮352、以及任何LED(发光二极管)或其他指示器的功能。系统供电模块336向多媒体控制台300的组件供电。风扇338冷却多媒体控制台300内的电路。
多媒体控制台300内的CPU 301、GPU 308、存储器控制器310,以及各种其他组件经由一条或多条总线互连,总线包括串行和并行总线、存储器总线、外围总线、以及使用各种总线架构中的任一种的处理器或局部总线。作为示例,这样的架构可包括外围部件互连(PCI)总线、PCI-Express总线等。
当多媒体控制台300通电时,应用数据可从系统存储器343加载到存储器312和/或高速缓存302、304中,并且可在CPU 301上执行。应用可在导航到多媒体控制台300上可用的不同媒体类型时呈现提供一致用户体验的图形用户界面。在操作中,媒体驱动器344中所包含的应用和/或其他媒体可从媒体驱动器344启动或播放,以将附加功能提供给多媒体控制台300。
多媒体控制台300可通过简单地将该系统连接到电视机或其他显示器而作为独立系统来操作。在该独立模式中,多媒体控制台300允许一个或多个用户与该系统交互、看电影,或听音乐。然而,在通过网络接口324或无线适配器348可用的宽带连接集成的情况下,多媒体控制台300可进一步作为更大网络社区中的参与者来操作。
当多媒体控制台300通电时,可以保留设定量的硬件资源以供多媒体控制台操作系统作系统使用。这些资源可包括存储器的保留量(诸如,16MB)、CPU和GPU周期的保留量(诸如,5%)、网络带宽的保留量(诸如,8Kbs),等等。因为这些资源是在系统引导时间保留的,所保留的资源从应用的视角而言是不存在的。
具体而言,存储器保留量优选地足够大,以包含启动内核、并发系统应用和驱动程序。CPU保留量优选地为恒定,以使得若所保留的CPU用量不被系统应用使用,则空闲线程将消耗任何未使用的周期。
对于GPU保留,通过使用GPU中断来调度代码以将弹出窗口呈现为覆盖图,显示由系统应用生成的轻量消息(例如,弹出窗口)。覆盖图所需的存储器量取决于覆盖区域大小,并且覆盖图优选地与屏幕分辨率成比例缩放。在并发系统应用使用完整用户界面的情况下,优选使用独立于应用分辨率的分辨率。定标器可用于设置该分辨率,从而无需改变频率和引起TV重新同步。
在多媒体控制台300引导并且系统资源被保留之后,执行并发系统应用来提供系统功能。系统功能被封装在上述所保留的系统资源内执行的一组系统应用中。操作系统内核标识出作为系统应用线程而非游戏应用线程的线程。系统应用优选地被调度为在预定时间并以预定时间间隔在CPU 301上运行,以便提供对应用而言一致的系统资源视图。调度是为了使针对在控制台上运行的游戏应用的高速缓存中断最小化。
当并发系统应用需要音频时,由于时间敏感性而将音频处理异步地调度给游戏应用。多媒体控制台应用管理器(如下所述)在系统应用活动时控制游戏应用的音频水平(例如,静音、衰减)。
输入设备(例如,控制器342(1)和342(2))由游戏应用和系统应用共享。输入设备不是保留的资源,而是要在系统应用和游戏应用之间被切换以使其各自将具有设备的焦点。应用管理器较佳地控制输入流的切换,而无需知晓游戏应用的知识,并且驱动程序维护有关焦点切换的状态信息。相机226、228和捕捉设备120可经由USB控制器326或其他接口来定义控制台300的附加输入设备。
图4示出了计算系统420的另一示例,该计算系统可以是图1A-2B所示的用于跟踪应用所显示的化身或其他屏幕上对象的运动和/或动画化(或以其他方式更新)化身或其他屏幕上对象的计算系统112。计算系统420只是合适的计算系统的一个示例,并且不旨在对当前公开的主题的使用范围或功能提出任何限制。也不应该将计算系统420解释为对示例性计算系统420中示出的任一组件或其组合有任何依赖性或要求。在某些示例中,所描绘的各种计算元素可包括被配置成实例化本发明的各具体方面的电路。例如,本公开中使用的术语电路可包括被配置成通过固件或开关来执行功能的专用硬件组件。其他示例中,术语电路可包括由实施可用于执行功能的逻辑的软件指令配置的通用处理单元、存储器等。在电路包括硬件和软件的组合的示例中,实施者可以编写体现逻辑的源代码,且源代码可以被编译为可以由通用处理单元处理的机器可读代码。因为本领域技术人员可以明白现有技术已经进化到硬件、软件或硬件/软件组合之间几乎没有差别的地步,因而选择硬件或是软件来实现具体功能是留给实现者的设计选择。更具体地,本领域技术人员可以明白软件进程可被变换成等价的硬件结构,而硬件结构本身可被变换成等价的软件进程。由此,对于硬件实现还是软件实现的选择是设计选择之一并留给实现者。
计算系统420包括计算机441,计算机441通常包括各种计算机可读介质。计算机可读介质可以是能由计算机441访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。系统存储器422包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)423和随机存取存储器(RAM)460。
存储器434、435、422和447可包括具有具体的、有形的、物理的结构的存储介质。如所公知的,信号不具有具体的、有形的、物理的结构。存储器以及本文所述的任何计算机可读存储介质不被解释为信号。存储器以及本文所述的任何计算机可读存储介质都不被解释为瞬态信号。存储器以及本文所述的任何计算机可读存储介质都不被解释为传播信号。存储器以及本文所述的任何计算机可读存储介质都不被解释为制品。
包含诸如在启动期间帮助在计算机441内的元件之间传输信息的基本例程的基本输入/输出系统424(BIOS)通常存储在ROM 423中。RAM 460通常包含处理单元459可立即访问和/或当前正在操作的数据和/或程序模块。作为示例而非限制,图4示出了操作系统425、应用程序426、其他程序模块427和程序数据428。
计算机441也可以包括其他可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图4示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器438,从可移动、非易失性磁盘454中读取或向其写入的磁盘驱动器439,以及从诸如CD ROM或其他光学介质等可移动、非易失性光盘453中读取或向其写入的光盘驱动器440。可以在示例性操作环境中使用的其他可移动/不可移动、易失性/非易失性计算机存储介质包括,但不限于,盒式磁带、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器438通常由例如接口434之类的不可移除存储器接口连接至系统总线421,而磁盘驱动器439和光盘驱动器440通常由例如接口435之类的可移除存储器接口连接至系统总线421。
以上讨论并在图4中示出的驱动器及其相关联的计算机存储介质为计算机441提供了对计算机可读指令、数据结构、程序模块和其他数据的存储。在图4中,例如,硬盘驱动器438被示为存储操作系统458、应用程序457、其他程序模块456和程序数据455。注意,这些组件可以与操作系统425、应用程序426、其它程序模块427和程序数据428相同或不同。在此操作系统458、应用程序457、其他程序模块456以及程序数据455被给予了不同的编号,以至少说明它们是不同的副本。用户可以通过输入设备,例如键盘451和定点设备452(通常称为鼠标、跟踪球或触摸垫)向计算机441输入命令和信息。其他输入设备(未示出)可包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些以及其他输入设备通常通过耦合到系统总线的用户输入接口436连接到处理单元459,但也可通过诸如并行端口、游戏端口或通用串行总线(USB)之类的其他接口和总线结构来连接。相机226、228和捕捉设备120可经由用户输入接口436来定义计算系统420的附加输入设备。监视器442或其他类型的显示设备也经由诸如视频接口432之类的接口连接至系统总线421。除监视器之外,计算机还可包括可以通过输出外围接口433连接的诸如扬声器444和打印机443之类的其他外围输出设备。捕捉设备120可经由输出外围接口433、网络接口437或其他接口连接到计算系统420。
计算机441可使用到一个或多个远程计算机(诸如,远程计算机446)的逻辑连接而在联网环境中操作。远程计算机446可以是个人计算机、服务器、路由器、网络PC、对等设备或其他常见网络节点,并且通常包括许多或所有以上相对计算机441所描述的元件,但在图4中仅示出了存储器存储设备447。所描绘的逻辑连接包括局域网(LAN)445和广域网(WAN)449,但也可以包括其它网络。此类联网环境在办公室、企业范围的计算机网络、内联网和因特网中是常见的。
当在LAN联网环境中使用时,计算机441通过网络接口437连接到LAN 445。当在WAN联网环境中使用时,计算机441通常包括调制解调器450或用于通过诸如因特网等WAN 449建立通信的其他手段。调制解调器450可以是内置的或外置的,可经由用户输入接口436或其他适当的机制连接到系统总线421。在联网环境中,相关于计算机441所示的程序模块或其部分可被存储在远程存储器存储设备中。作为示例而非限制,图4示出应用程序448驻留在存储器设备447上。应当理解,所示的网络连接是示例性的,并且可使用在计算机之间建立通信链路的其他手段。
如上所解释的,捕捉设备120向计算系统112提供RGB图像(也被称为彩色图像)以及深度图像。深度图像可以是多个观测到的像素,其中每个观测到的像素具有观测到的深度值。例如,深度图像可包括所捕捉的场景的二维(2D)像素区域,其中2D像素区域中的每一像素可具有深度值,诸如例如以厘米、毫米等为单位的、所捕捉的场景中的对象距捕捉设备的长度或距离。
如上面提及的,骨架跟踪(ST)技术常被用来检测用户的运动或其它用户行为。然而,尽管对于检测某些类型的用户行为有用,然而ST技术已经证明对于检测其它类型的用户行为不可靠。例如,ST技术对于检测其中用户躺或坐在地板上或地板附近的用户行为不可靠。在此描述的某些示例依赖于深度图像来检测用户行为。根据基于深度的图像检测的这些用户行为可作为用于ST技术的替代或补充来检测用户行为。相应地,在更详细地讨论这些示例之前,提供深度图像的附加细节将首先是有用的。
图5是示出一个示例的基于剪影的肢检测的流程图。基于剪影的肢寻找器可被用来从相机图像检测肢。此肢检测可被用来独自地或与其它图像处理(诸如骨架跟踪方法)相组合地控制诸如游戏等应用。
在步骤502,生成剪影。剪影可以是与相机图像中的对象(诸如人)相关联的相机图像部分。在一个示例中,剪影可从分段过程的输出获得,该分段过程标识相机图像中的对象。例如,剪影可从图2B的深度图像分段模块244获得。剪影生成和分段不需要使用深度相机图像。剪影可例如从其它类型的图像生成。然而,在一个示例中,系统为存储在深度缓冲器中的像素产生分段值。
图6A示出剪影的简化示例。在此示例中,在剪影内的像素被赋予值“1”而在剪影外的像素被赋予值“-”。
再看图5,在步骤504,可基于该剪影生成指示距剪影的边缘的距离的第一距离字段。
图6B示出第一距离字段的简化示例,该第一距离字段示出距图6A中示出的简化剪影的边缘的距离。在此简化示例中,在剪影边缘处的像素可具有值“1”,而刚好在那些像素内侧的像素可具有值“2”等等。如同下面讨论的,第一距离字段可被用来标识任何确定肢上的中间线。
在步骤506,确定剪影中的一位置(诸如质心)。质心可使用图2B的基于深度的质心模块254来获得。基于深度的质心使用深度相机数据来估计质心。替换地,可使用剪影来估计另一中心位置。该位置可以是剪影的中心或剪影的中心部分的中心。在另一示例中,第一距离字段可被用来确定一位置。例如,第一距离字段可被用来确定该剪影的距该边缘特定距离处的中心部分。
在步骤508,从该剪影内的该位置生成第二距离字段。图6C示出第二距离字段的简化示例,该第二距离字段示出针对图6A中示出的简化剪影的距一位置(由“*”值标识)的距离。在该位置附近的像素可被赋予值“1”,而在那些像素附近的像素可被赋予值“2”等等。从而,第二距离字段中的每个像素值指示距该位置的距离(在图6C的示例中由“*”值标识)。在一个示例中,第二距离字段中的像素值指示该剪影内的距离。也就是说,所述像素值指示在不离开剪影的情况下从该像素到该位置的路径的距离。
在步骤510,确定该剪影上的极点。极点可从距在步骤506中确定的位置最远的第二距离字段中的像素中标识。这些极点例如可比该像素周围的区域中的任何像素距该位置更远。
在步骤512,确定在剪影中从该极点到该位置的路径。这可使用下面描述的图6的方法或通过替换方法来完成。
图5的方法的步骤可用硬件或作为使用处理器实现的计算机可读指令来完成。在一个示例中,该方法使用上面针对图1-4描述的游戏控制台示例来完成。例如,图5的方法的步骤可使用图2B的肢寻找器确定模块272来完成。替换地,图5的方法的步骤可在包括个人计算机(PC)和手持式设备(诸如智能电话)的其它设备上完成。
图7是使用第一和第二距离字段来确定从极点到剪影中的一位置的路径的示例性方法的流程图。图7的流程图的描述使用“肢”的剪影的一部分和如图8A-C中示出的第一和第二距离字段的对应部分的理论示例。图8A示出剪影的一部分的示例,其示出了“肢”的一部分。图8B示出第一距离字段的一部分的示例,该第一距离字段的该部分示出针对图8A中示出的剪影部分的距剪影边缘的距离。图8C示出第二距离字段的一部分的简化示例,该第二距离字段的该部分示出针对图8A中示出的剪影部分的距剪影中的一位置的距离。
第一距离字段可被用来将所产生的路径保持在该肢的中线附近。如图8B中所示,“肢”的合理中线将趋向于距剪影的边缘最远的那些像素。这些像素可从第一距离字段确定。第二距离字段可被用来保持该路径朝着该位置移动。
再看图7,在步骤702,该方法开始于一极点。如图8C中所示,极点将趋向于具有距该位置(诸如所确定的质心)的较大的距离。在图8C的示例中,极点是具有用粗体示出的值“70”的像素。
在步骤704,该路径从该表面沿着该第一距离字段大致朝着该位置延伸。例如,该路径可朝着如由第一距离字段指示的“肢”的中线移动。在图8B的示例中,所生成的路径从该极点朝着中线移动,如由加粗像素所示。
在步骤706,第二距离字段被用来朝着该位置移动。例如,该路径沿着“肢”的中线朝着该位置移动。在图8B的示例中,加粗路径的最高像素具有值“5”,期对应于图8C中的加粗值“64”。在此最高加粗像素附近没有具有值“5”或更大值的像素。该第二距离字段可被用来选择该路径中的下一像素(在此情况下,是在图8C中在右上方的具有值“62”的像素)。
注意,在不使用第一距离字段的情况下,仅用第二距离字段生成的路径将趋向于朝着“肢”的边缘移动。在图8C的示例中,这种路径将趋向于拥抱该“肢”的右手边缘。
在步骤708,检查是否到达该位置。如果是,则在步骤710,可从该路径创建简化路径。例如,该路径可被曲线拟合以最佳地匹配多条线。在一个示例中,使用三条线的简化路径。此简化路径可被用作肢以用于跟踪目的。
图7的步骤704和706可被重复,直到到达该位置且完成该路径。
图7的方法仅是示例性的。可实现使用第一和第二距离字段的一些其它方法。例如,可使用第一和第二距离字段的一些其他功能。
在一个示例中,在第一距离字段中具有最高值且在第二距离字段中具有(与当前像素相比)更低(或相等)值的相邻像素可被选择作为该路径中的下一像素。如果不存在此类相邻像素,则在第二距离字段中具有最低值的相邻像素可被选择。
图7的方法的步骤可用硬件或作为使用处理器实现的计算机可读指令来实现。在一个示例中,该方法使用上面针对图1-4描述的游戏控制台示例来完成。例如,图7的方法的步骤可使用图2B的肢寻找器确定模块272来完成。替换地,图7的方法的步骤可在包括个人计算机(PC)和手持式设备(诸如智能电话)的其它设备上完成。
图9A-D和10A-B是示出基于剪影的肢寻找的示例的图示。图9A示出剪影。图9B示出距剪影的边缘的距离字段(图像越亮,距边缘越远)。图9C示出距玩家的质心的距离字段(点越亮,距该位置越远,该位置是图像中的“+”)。
图10A-B示出了具有从极点所生成的路径的示例。图10A示出从极点到该位置(诸如质心)的路径。极点可以是沿第二距离字段距该位置最远但彼此不是太靠近(至少就距第一共同像素的像素距离而言)的点。这些由图8A和8B中的“X”符号表示。沿距离字段到质心的路径遵循“谷的底部,流向该位置”方法。图10B示出了将分段曲线拟合到这些路径以生成“肢”。
在一个示例中,实现一种用于由至少一个处理器和至少一个存储器使用的方法。计算机可执行指令可被存储在该至少一个存储器中,所述计算机可执行指令可由该至少一个处理器执行。该方法可包括生成相对于图像中的剪影的边缘的第一距离字段。该方法还可包括生成相对于该剪影内的一位置的第二距离字段。该方法可进一步包括基于第一距离字段和第二距离字段生成从该剪影的极点到该位置的路径。
该路径可通过检查第一距离和第二距离字段以寻找适当的下一像素来生成。该路径中与当前像素相邻的像素可被检查以确定适当的下一像素。
游戏控制台中的游戏可使用路径来控制。剪影的极点可使用第二距离字段来确定。剪影中的肢可使用该路径来确定。该路径可保持在使用第一距离字段确定的肢的中线附近。质心值可被用作该位置。
在一个示例中,一种系统包括获得图像的捕捉设备,存储来自该捕捉设备的图像的一个或多个存储设备,以及与该一个或多个存储设备通信的一个或多个处理器。该一个或多个处理器被配置成针对所述图像中的至少一个图像确定从所述图像之一中的剪影的极点到该剪影中的一位置的路径。对该路径的这种确定可包括生成相对于该剪影的边缘的第一距离字段;生成相对于该剪影内的一位置的第二距离字段;以及基于该第一距离字段和该第二距离字段生成从该剪影的极点到该位置的路径。
该一个或多个处理器可被进一步配置成通过检查该第一距离和第二距离字段以寻找适当的下一像素来生成该路径。该一个或多个处理器可被进一步配置成检查相邻像素以确定该适当的下一像素。该一个或多个处理器可被进一步配置成使用该路径控制游戏。该一个或多个处理器可被进一步配置成使用该第二距离字段确定该剪影的极点。该一个或多个处理器可被进一步配置成使用该路径确定该剪影中的肢。该一个或多个处理器可被进一步配置成保持该路径在使用该第一距离字段确定的肢的中线附近。
在一个示例中,一种系统包括用于生成相对于该剪影的边缘的第一距离字段的装置;用于生成相对于该剪影内的一位置的第二距离字段的装置;以及用于基于该第一距离字段和该第二距离字段生成从该剪影的极点到该位置的路径的装置。
该系统可包括用于检查第一距离和第二距离字段以寻找适当的下一像素的装置。该系统可包括用于检查相邻像素以确定适当的下一像素的装置。该系统可包括用于使用该路径控制游戏的装置。该系统可包括用于使用该第二距离字段确定该剪影的极点的装置。该系统可包括用于使用该路径确定该剪影中的肢的装置。该系统可包括用于将该路径保持在使用第一距离字段确定的肢的中线附近的装置。
在一个示例中,一种计算机可读存储介质包括可执行指令,所述可执行指令在被处理器执行时使得所述处理器实现操作。所实现的操作可包括生成相对于图像中的剪影的边缘的第一距离字段。所实现的操作还可包括生成相对于该剪影内的一位置的第二距离字段。所实现的操作可进一步包括基于第一距离字段和第二距离字段生成从该剪影的极点到该位置的路径。
该计算机可读存储介质可进一步包括可执行指令,所述可执行指令在被处理器执行时使得所述处理器通过检查该第一距离和第二距离字段以寻找适当的下一像素来生成该路径。该计算机可读存储介质可进一步包括在被该处理器执行时使得该处理器检查相邻像素以确定适当的下一像素的可执行指令。该计算机可读存储介质可进一步包括在被该处理器执行时使得该处理器使用该路径控制游戏的可执行指令。该计算机可读存储介质可进一步包括在被该处理器执行时使得该处理器使用该路径确定剪影中的肢的可执行指令。
作为替代或补充,本文所述的功能可至少部分地由一个或多个硬件逻辑组件来执行。作为示例而非限制,可被使用的硬件逻辑组件的说明性类型包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)等。
计算机可读存储介质可为用于该一个或多个处理器的指令提供存储。虽然对这里包含的计算机可读介质的描述指的是诸如硬盘或CD-ROM驱动器之类的大容量存储设备,但是本领域的技术人员应该明白,计算机可读介质可以是任何可用存储介质。
作为示例而非限制,计算机可读存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。例如,计算机可读存储介质包括,但不限于,RAM、ROM、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、闪存或其他固态存储器技术,CD-ROM、DVD、HD-DVD(高清晰度DVD)、蓝光或其他光学存储,磁带盒、磁带、磁盘存储或其他磁存储设备,或可以用来存储所需信息和指令的任何其他介质。出于本说明书和权利要求书的目的,短语“计算机可读存储介质”及其变型不包括波、信号和/或其他瞬态和/或无形通信介质。
应当理解,在此所描述的任何软件组件,在被加载到处理器中并被执行时,可以将处理器从通用计算系统变换成为被定制以促成在此所提出的功能的专用计算系统。处理器可从任何数目的晶体管或其它分立电路元件中构造,这些元件可以独立地或集体地呈现任何数目的状态。更具体地,处理器可以响应于包含在本文所公开的软件模块中的可执行指令来作为有限状态机操作。这些处理器可执行指令可以通过指定处理器如何在各状态之间转换来变换处理器,由此变换为构成处理器的晶体管或其它分立硬件元件。
对本文所提出的软件模块的编码也可变换本文所提出的计算机可读存储介质的物理结构。在本说明书的不同实现中,物理结构的具体变换可取决于各种因素。这样的因素的示例可以包括,但不限于:被用来实现计算机可读存储介质的技术、计算机可读存储介质被表征为主存储器还是辅存储器等等。例如,如果计算机可读存储介质被实现为基于半导体的存储器,则本文所公开的软件可以通过变换半导体存储器的物理状态而在计算机可读存储介质上编码。例如,软件可以变换构成半导体存储器的晶体管、电容器或其他分立电路元件的状态。软件还可变换这些组件的物理状态以在其上存储数据。
作为另一示例,本文所公开的计算机可读存储介质可以使用磁或光技术来实现。在这些实现中,本文所提出的软件可以在磁或光介质中编码了软件时变换所述磁或光介质的物理状态。这些变换可以包括改变给定磁性介质内的特定位置的磁性。这些变换还可以包括改变给定光学介质内的特定位置的物理特征或特性,以改变这些位置的光学特性。在没有偏离本说明书的范围和精神的情况下,物理介质的其他变换也是可以的,前面提供的示例只是为了便于此讨论。
鉴于以上内容,应当理解,在架构中发生许多类型的物理变换以便存储并执行本文所提出的软件组件。还应当理解,架构可以包括其它类型的计算设备,包括:手持式计算机、嵌入式计算机系统、智能手机、PDA、以及本领域技术人员已知的其它类型的计算设备。还构想了架构可不包括附图中所示的所有组件,可包括未在附图中明确示出的其他组件,或者可利用与附图中所示的架构完全不同的架构。
虽然用计算机结构特征、方法和变换动作、特定计算机器、以及计算机可读存储介质专用的语言描述了本文中所描述的主题,但是应当理解,所附权利要求书中所定义的方法和设备不必限于本文中所描述的具体特征、动作、或介质。相反,这些具体特征、动作和介质是作为实现权利要求的示例形式来公开的。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。本技术的范围由所附的权利要求进行定义。

Claims (15)

1.一种用于由至少一个处理器和至少一个存储器使用的方法,其中计算机可执行指令被存储在所述至少一个存储器中,所述计算机可执行指令在被所述至少一个处理器执行时执行一种方法,所述方法包括:
生成相对于图像中的剪影的边缘的第一距离字段;
生成相对于所述剪影内的一位置的第二距离字段;以及
基于所述第一距离字段和所述第二距离字段生成从所述剪影的极点到所述位置的路径。
2.如权利要求1所述的方法,其特征在于,进一步包括可通过检查所述第一距离和第二距离字段以寻找适当的下一像素来生成所述路径。
3.如权利要求2所述的方法,其特征在于,进一步包括检查相邻像素以确定所述适当的下一像素。
4.如权利要求1所述的方法,其特征在于,进一步包括使用所述路径控制游戏控制台中的游戏。
5.如权利要求1所述的方法,其特征在于,进一步包括使用所述路径确定所述剪影中的肢。
6.一种系统,包括:
获得图像的捕捉设备;
存储来自所述捕捉设备的图像的一个或多个存储设备;以及
与所述一个或多个存储设备通信的一个或多个处理器,其中所述一个或多个处理器被配置成针对所述图像中的至少一个图像确定从所述图像之一中的剪影的极点到所述剪影中的一位置的路径,包括:
生成相对于所述剪影的边缘的第一距离字段;
生成相对于所述剪影内的一位置的第二距离字段;以及
基于所述第一距离字段和所述第二距离字段生成从所述剪影的极点到所述位置的路径。
7.如权利要求6所述的系统,其特征在于,所述一个或多个处理器被进一步配置成通过检查所述第一距离和第二距离字段以寻找适当的下一像素来生成所述路径。
8.如权利要求7所述的系统,其特征在于,所述一个或多个处理器被进一步配置成检查相邻像素来确定所述适当的下一像素。
9.如权利要求6所述的系统,其特征在于,所述一个或多个处理器被进一步配置成使用所述路径控制游戏。
10.如权利要求6所述的系统,其特征在于,所述一个或多个处理器被进一步配置成使用所述路径确定所述剪影中的肢。
11.一种包括可执行指令的计算机可读存储介质,所述可执行指令在被处理器执行时使得所述处理器实现操作,所述操作包括:
生成相对于图像中的剪影的边缘的第一距离字段;
生成相对于所述剪影内的一位置的第二距离字段;以及
基于所述第一距离字段和所述第二距离字段生成从所述剪影的极点到所述位置的路径。
12.如权利要求11所述的计算机可读存储介质,其特征在于,进一步包括在被所述处理器执行时使得所述处理器通过检查所述第一距离和第二距离字段以寻找适当的下一像素来生成所述路径的可执行指令。
13.如权利要求12所述的计算机可读存储介质,其特征在于,进一步包括在所述处理器执行时使得所述处理器检查相邻像素以确定所述适当的下一像素的可执行指令。
14.如权利要求11所述的计算机可读存储介质,其特征在于,进一步包括在被所述处理器执行时使得所述处理器使用所述路径控制游戏的可执行指令。
15.如权利要求11所述的计算机可读存储介质,其特征在于,进一步包括在被所述处理器执行时使得所述处理器使用所述路径确定所述剪影中的肢的可执行指令。
CN201580057019.2A 2014-10-20 2015-10-16 基于剪影的肢寻找器确定 Active CN107077730B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/518,089 2014-10-20
US14/518,089 US10921877B2 (en) 2014-10-20 2014-10-20 Silhouette-based limb finder determination
PCT/US2015/055842 WO2016064659A1 (en) 2014-10-20 2015-10-16 Silhouette-based limb finder determination

Publications (2)

Publication Number Publication Date
CN107077730A true CN107077730A (zh) 2017-08-18
CN107077730B CN107077730B (zh) 2020-11-03

Family

ID=54365392

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580057019.2A Active CN107077730B (zh) 2014-10-20 2015-10-16 基于剪影的肢寻找器确定

Country Status (4)

Country Link
US (2) US10921877B2 (zh)
EP (1) EP3209398B1 (zh)
CN (1) CN107077730B (zh)
WO (1) WO2016064659A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI602163B (zh) * 2016-08-30 2017-10-11 遠東科技大學 互動式學習方法及電腦程式產品
US11113887B2 (en) * 2018-01-08 2021-09-07 Verizon Patent And Licensing Inc Generating three-dimensional content from two-dimensional images
GB2586604B (en) * 2019-08-28 2022-10-05 Canon Kk 3d representation reconstruction from images using volumic probability data
CA3222267A1 (en) * 2021-06-10 2022-12-15 Ofer Saban System and method for digital measurements of subjects

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050078178A1 (en) * 2003-10-10 2005-04-14 International Business Machines Corporation System and method for providing position-independent pose estimation
CN101231760A (zh) * 2007-01-24 2008-07-30 中国科学院自动化研究所 一种树状形体的立体分解和分级骨架提取方法
US20090232353A1 (en) * 2006-11-10 2009-09-17 University Of Maryland Method and system for markerless motion capture using multiple cameras
CN101789125A (zh) * 2010-01-26 2010-07-28 北京航空航天大学 一种无标记单目视频人体骨架运动跟踪方法
CN102609688A (zh) * 2012-02-02 2012-07-25 杭州电子科技大学 基于广义回归神经网络的多向运动人群流量估计方法
US8984681B2 (en) * 2011-01-26 2015-03-24 Sage Products, Llc Apparatus and system for turning and positioning a patient

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141463A (en) * 1997-10-10 2000-10-31 Electric Planet Interactive Method and system for estimating jointed-figure configurations
US20080231835A1 (en) * 2007-03-23 2008-09-25 Keigo Iizuka Divergence ratio distance mapping camera
US8594425B2 (en) * 2010-05-31 2013-11-26 Primesense Ltd. Analysis of three-dimensional scenes
ES2812578T3 (es) * 2011-05-13 2021-03-17 Vizrt Ag Estimación de una postura basada en la silueta
KR101283262B1 (ko) 2011-10-21 2013-07-11 한양대학교 산학협력단 영상 처리 방법 및 장치
GB2509783B (en) 2013-01-15 2017-07-05 Holition Ltd Foot tracking
US9052746B2 (en) 2013-02-15 2015-06-09 Microsoft Technology Licensing, Llc User center-of-mass and mass distribution extraction using depth images
US20140267611A1 (en) 2013-03-14 2014-09-18 Microsoft Corporation Runtime engine for analyzing user motion in 3d images

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050078178A1 (en) * 2003-10-10 2005-04-14 International Business Machines Corporation System and method for providing position-independent pose estimation
US20090232353A1 (en) * 2006-11-10 2009-09-17 University Of Maryland Method and system for markerless motion capture using multiple cameras
CN101231760A (zh) * 2007-01-24 2008-07-30 中国科学院自动化研究所 一种树状形体的立体分解和分级骨架提取方法
CN101789125A (zh) * 2010-01-26 2010-07-28 北京航空航天大学 一种无标记单目视频人体骨架运动跟踪方法
US8984681B2 (en) * 2011-01-26 2015-03-24 Sage Products, Llc Apparatus and system for turning and positioning a patient
CN102609688A (zh) * 2012-02-02 2012-07-25 杭州电子科技大学 基于广义回归神经网络的多向运动人群流量估计方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张超 等: "基于距离变换与路径规划的骨架提取算法", 《北京生物医学工程》 *

Also Published As

Publication number Publication date
US20210149478A1 (en) 2021-05-20
CN107077730B (zh) 2020-11-03
US10921877B2 (en) 2021-02-16
EP3209398B1 (en) 2020-07-08
WO2016064659A1 (en) 2016-04-28
US20160109938A1 (en) 2016-04-21
EP3209398A1 (en) 2017-08-30

Similar Documents

Publication Publication Date Title
TWI469813B (zh) 在動作擷取系統中追踪使用者群組
US8660310B2 (en) Systems and methods for tracking a model
CN105073210B (zh) 使用深度图像的用户身体角度、曲率和平均末端位置提取
CN105518743B (zh) 深度图像的处理
CN102413885B (zh) 用于对运动捕捉应用模型跟踪的系统和方法
CN103608844B (zh) 全自动动态关节连接的模型校准
CN102576463B (zh) 用于移除图像的背景的系统和方法
CN103597515B (zh) 用于识别张开的或闭合的手的系统
CN102576466B (zh) 用于跟踪模型的系统和方法
CN102947777B (zh) 用户跟踪反馈
RU2605370C2 (ru) Система для распознавания и отслеживания пальцев
CN102163324B (zh) 深度图像的去混叠
CN102414641B (zh) 改变显示环境内的视图视角
CN102448563B (zh) 用于处理场景的深度信息的方法和设备
CN112400202A (zh) 为在hmd环境中进行快速中央凹渲染利用预测和对gpu的后期更新做出的眼睛跟踪
US20100302253A1 (en) Real time retargeting of skeletal data to game avatar
CN102184009A (zh) 跟踪系统中的手位置后处理精炼
CN102129709A (zh) 可视化深度
CN102141838A (zh) 基于视觉的身份跟踪
CN102207771A (zh) 推断参与运动捕捉系统的用户意图
CN102129292A (zh) 在运动捕捉系统中识别用户意图
CN105144240B (zh) 使用深度图像的用户质心和质量分布提取
CN103748893A (zh) 显示器作为照片或视频的照明
US20210149478A1 (en) Silhouette-based limb finder determination
CN102591456B (zh) 对身体和道具的检测

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant