CN102262438A - 用于操纵用户界面的姿势和姿势识别 - Google Patents

用于操纵用户界面的姿势和姿势识别 Download PDF

Info

Publication number
CN102262438A
CN102262438A CN2011101381789A CN201110138178A CN102262438A CN 102262438 A CN102262438 A CN 102262438A CN 2011101381789 A CN2011101381789 A CN 2011101381789A CN 201110138178 A CN201110138178 A CN 201110138178A CN 102262438 A CN102262438 A CN 102262438A
Authority
CN
China
Prior art keywords
posture
hand
user
human target
user interface
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.)
Pending
Application number
CN2011101381789A
Other languages
English (en)
Inventor
B·雷维尔
A·瓦赛尔
A·达亚尔
C·克莱恩
A·普洛斯
A·马丁利
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 Corp
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 Corp filed Critical Microsoft Corp
Publication of CN102262438A publication Critical patent/CN102262438A/zh
Pending legal-status Critical Current

Links

Images

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
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures

Abstract

提供了用于操纵用户界面的姿势和姿势识别。提供了象征性姿势及相关联的识别技术用于控制例如通用计算系统或多媒体控制台的操作系统所提供的系统用户界面之类的系统用户界面。在半空中的象征性姿势移动是由用户利用或无需输入设备的帮助而执行的。提供了捕捉设备来为包括人类目标的捕捉区域的三维表示生成深度图像。使用骨架映射来跟踪人类目标以捕捉用户的半空中运动。骨架映射数据被用于使用姿势过滤器来标识对应于预定义的姿势的移动,姿势过滤器提出了用于确定目标的移动何时指示出可行姿势的参数。当检测到姿势时,执行一个或多个预定义的用户界面控制动作。

Description

用于操纵用户界面的姿势和姿势识别
技术领域
本申请涉及用于操纵用户界面的姿势和姿势识别。
背景技术
在过去,诸如计算机游戏和多媒体应用等计算应用使用控制器、遥控器、键盘、鼠标等来允许用户操纵游戏人物或应用的其他方面。近来,计算机游戏和多媒体应用已开始使用照相机和软件姿势识别来提供人机接口(“HCI”)。使用HCI,检测、解释用户姿势并将其用于控制游戏人物或应用的其他方面。
发明内容
使用象征性姿势来控制诸如通用计算系统或多媒体控制台的操作系统所提供的系统用户界面之类的系统用户界面。在半空中的象征性姿势移动是由用户利用或无需输入设备的帮助而执行的。目标跟踪系统分析这些半空中移动来确定何时执行了预定义的姿势。捕捉设备生成包括人类目标的捕捉区域的深度图像。捕捉设备生成包括人类目标的捕捉区域的三维表示的深度图像。使用骨架映射来跟踪人类目标以捕捉用户的半空中运动。骨架映射数据被用于使用姿势过滤器来标识对应于预定义的姿势的移动,姿势过滤器提出了用于确定目标的移动何时指示出可行姿势的参数。当检测到姿势时,执行一个或多个预定义的用户界面控制动作。
在一个实施例中使用人类目标的半空中移动来控制用户界面。使用来自捕捉设备的图像以生成人类目标的骨架映射,从而跟踪人类目标的移动。通过骨架映射,确定人类目标的移动是否满足用于某一半空中姿势的一个或多个过滤器。该一个或多个过滤器可指定该半空中姿势由例如某一只手或双手来执行。如果人类目标的移动满足该一个或多个过滤器,则可执行对应于该半空中姿势的一个或多个用户界面动作。
一个实施例包括用于跟踪用户移动来控制用户界面的系统。该系统包括提供用户界面的操作系统、跟踪系统、姿势库以及姿势识别引擎。跟踪系统与图像捕捉设备通信来接收包括人类目标的捕捉区域的深度信息,以及创建映射人类目标的随着时间的移动的骨架模型。姿势库存储了多个姿势过滤器,其中每个姿势过滤器包含用于至少一个姿势的信息。例如,姿势过滤器可指定相应的姿势应由某一只手或双手来执行。姿势识别引擎与跟踪系统通信以接收骨架模型,以及使用姿势库来确定人类目标的移动是否满足多个姿势过滤器中的一个或多个。当人类目标的移动满足多个姿势过滤器中的一个或多个时,姿势识别引擎向可执行相应的用户界面控制动作的操作系统提供指示。
一个实施例包括提供对应于用于控制操作系统用户界面的多个半空中姿势中的各个半空中姿势的多个姿势过滤器。该多个半空中姿势包括水平扫视姿势、垂直扫视姿势、单手按压姿势、后退姿势、双手按压姿势和双手压缩姿势。在已知的三维坐标系中使用人类目标的骨架映射从多个深度图像跟踪人类目标的移动。根据骨架映射,确定人类目标的移动是否满足多个半空中姿势中的各个半空中姿势的至少一个姿势过滤器。响应于确定人类目标的移动满足一个或多个姿势过滤器,操作系统用户界面得到控制。
提供本发明内容以便以简化形式介绍将在以下的详细描述中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图说明
图1A和1B示出了用户在玩游戏的跟踪系统的一个实施例。
图2示出可用作跟踪系统的一部分的捕捉设备的一个实施例。
图3示出可被用来跟踪运动并基于所跟踪的运动来更新应用的计算系统的一个实施例。
图4示出可被用来跟踪运动并基于所跟踪的运动来更新应用的计算系统的一个实施例。
图5是描述用于用户界面的姿势控制的过程的一个实施例的流程图。
图6是在一个实施例中可由跟踪系统生成的人类目标的骨架模型的示例。
图7是描述用于捕捉运动来控制用户界面的过程的一个实施例的流程图。
图8是描述姿势识别引擎的一个实施例的框图。
图9A-9B是示出堆叠姿势过滤器以创建更复杂的姿势过滤器的框图。
图10是根据一个实施例描述用于姿势识别的过程的一个实施例的流程图。
图11A-11H描绘了根据一个实施例执行水平扫视姿势的人类目标的骨架映射。
图12描绘了在一个实施例中人类目标与跟踪系统交互以执行水平扫视姿势。
图13是描述根据一个实施例姿势识别引擎将右手扫视姿势过滤器应用于人类目标的运动捕捉文件的流程图。
图14A和14B描绘了在一个实施例中人类目标与跟踪系统交互以执行垂直扫视姿势。
图15A和15B描绘了在一个实施例中人类目标与跟踪系统交互以执行按压姿势。
图16A和16B描绘了在一个实施例中人类目标与跟踪系统交互以执行双手按压姿势。
图17A和17B描绘了在一个实施例中人类目标与跟踪系统交互以执行双手压缩姿势。
图18示出用户与系统提供的控制柄(handle)交互的跟踪系统的一个实施例。
图19示出了根据一个实施例包括各控制柄的样本屏幕显示。
图20示出了根据一个实施例包括各控制柄和导轨(rail)的样本屏幕显示。
图21示出了根据一个实施例包括各控制柄和导轨的样本屏幕显示。
具体实施方式
提供了象征性姿势及相关联的识别技术用于控制例如通用计算系统或多媒体控制台的操作系统所提供的系统用户界面之类的系统用户界面。象征性姿势移动是由用户在半空中利用或无需输入设备的帮助而执行的。提供了捕捉设备来为包括人类目标的捕捉区域的三维表示生成深度图像。使用骨架映射来跟踪人类目标以捕捉用户的半空中运动。骨架映射数据被用于使用姿势过滤器来标识对应于预定义的姿势的移动,姿势过滤器提出了用于确定目标的移动何时指示出可行姿势的参数。当检测到姿势时,执行一个或多个预定义的用户界面控制动作。
利用姿势过滤器的姿势识别引擎可提供各种输出。在一个实施例中,姿势识别引擎可响应于使用姿势过滤器分析用户的移动来提供简单的二元是/否(姿势满足/姿势不满足)输出。在其他实施例中,引擎可提供某一姿势过滤器被满足的置信水平。在某些实例中,姿势识别引擎可生成可能无限数量的相关的值来提供关于用户交互的性质的附加上下文。例如,引擎可提供对应于用户为了完成某一姿势的当前进展的值。这可使得呈现用户界面的系统能够例如在移动期间向用户提供音频和/或视觉反馈(例如增加的音调或增加的颜色亮度)作为他们在完成某一姿势中的进展的反馈。
在一个实施例中可检测的姿势包括,但不限于,水平扫视姿势、垂直扫视姿势、按压姿势、后退姿势、双手按压姿势、双手后退姿势、双手压缩姿势和双手反压缩姿势。水平扫视姿势一般包括横过用户的身体的水平手移动,且可触发用户界面进行水平菜单项滚动动作。垂直扫视姿势一般包括垂直手移动,并可触发用户界面进行垂直菜单项滚动动作。按压姿势一般包括远离用户的身体且朝向捕捉设备的手移动,触发了对用户界面所提供的一个或多个菜单项的选择。后退姿势一般包括朝向用户的身体且远离捕捉设备的手移动,触发了通过用户界面的回退导航,例如从用户界面所提供的菜单层次结构中的较低级到较高级。双手按压姿势一般包括双手远离目标的身体且朝向捕捉设备的移动,触发了通过用户界面的回退导航。双手按压姿势可另外地或另选地触发缩放功能来缩小当前用户界面显示。双手压缩姿势一般包括目标在他们的身体前将他们的手合在一起,触发了缩放功能以缩小当前用户界面显示。双手压缩姿势还可触发通过用户界面的菜单层次结构的回退导航。双手压缩姿势还可在移动的顶点(culmination)触发特殊操作,例如折叠当前界面显示或在当前显示中打开菜单项。双手反压缩姿势一般包括目标以合在他们身体前的手开始,接着把他们的手分开或拉开。双手反压缩姿势可触发缩放功能来放大当前用户界面视图或通过用户界面菜单层次结构向前导航。
在一个实施例中,一个或多个姿势是用特定手的,意味着移动与人类目标的某一个手相关联。右手的移动可触发相应的用户界面动作,而左手同样的移动将不会触发相应的用户界面动作。作为非限制性示例,系统可提供右手水平扫视姿势和左手水平扫视姿势,借此右手可用于向左滚动菜单,而左手可用于向右滚动菜单。
在一个实施例中,系统确定用户界面的上下文以标识一组可行姿势。在给定界面上下文中可把有限数量的姿势定义为可行的,以使得必须被标识以触发用户界面动作的移动的数量更小。在一个实施例中,用户标识可用于修改定义某一姿势的参数。
在一个实施例中,提供屏幕上图形控制柄(handle)系统来控制用户和屏幕上对象之间的交互。控制柄可以是显示在显示画面中的与给定对象相关联的用户界面对象,用以定义用户可对用户界面所提供的某一对象执行什么动作,例如滚动通过文本或图形导航菜单等。用户在执行姿势移动之前与控制柄接合。姿势移动操纵该控制柄以例如在显示屏上向上、向下、向左或向右移动控制柄。该操作导致在对象上执行相关联的动作。
图1A和1B示出用户18正在玩拳击游戏的目标识别、分析和跟踪系统10(下文中一般称为跟踪系统)的一个实施例。目标识别、分析和跟踪系统10可用于识别、分析和/或跟踪诸如用户18等人类目标。
如图1A所示,跟踪系统10可包括计算环境12。计算环境12可以是计算机、游戏系统或控制台等等。根据一个实施例,计算环境12可包括硬件组件和/或软件组件,使得计算环境12可用于执行操作系统和诸如游戏应用程序、非游戏应用程序等的应用。在一个实施例中,计算系统12可包括可执行存储在处理器可读存储设备上的用于执行本文描述的过程的指令的处理器,如标准化处理器、专用处理器、微处理器等。
如图1A所示,跟踪系统10还可包括捕捉设备20。捕捉设备20可以是例如相机,该相机可用于在视觉上监视诸如用户18等一个或多个用户,以使得可以捕捉、分析并跟踪一个或多个用户所执行的姿势,以执行对操作系统或应用的用户界面的一个或多个控制或动作。
根据一个实施例,跟踪系统10可连接到可向诸如用户18等的用户提供游戏或应用视觉和/或音频的视听设备16,如电视机、监视器、高清电视机(HDTV)等。例如,计算环境12可包括诸如图形卡等视频适配器和/或诸如声卡等音频适配器,这些适配器可提供与游戏应用、非游戏应用等相关联的视听信号。视听设备16可从计算环境12接收视听信号,然后可向用户18输出与视听信号相关联的游戏或应用视觉和/或音频。根据一实施例,视听设备16可经由例如,S-视频电缆、同轴电缆、HDMI电缆、DVI电缆、VGA电缆等连接到计算环境12。
如图1A和1B所示,目标识别、分析和跟踪系统10可用于识别、分析和/或跟踪诸如用户18等一个或多个人类目标。例如,可使用捕捉设备20来跟踪用户18,以使得可将用户18的移动解释为可用于影响由计算环境12执行的应用或操作系统的控制。
如图1A和1B所示,在计算环境12上执行的应用可以是用户18可能正在玩的拳击游戏。计算环境12可使用视听设备16来向用户18提供拳击对手22的视觉表示。计算环境12还可使用视听设备16来提供用户18可通过他的或她的移动来控制的玩家化身24的视觉表示。例如,如图1B所示,用户18可在物理空间中挥重拳来使得玩家化身24在游戏空间中挥重拳。因此,根据一示例实施例,跟踪系统10的计算机环境12和捕捉设备20可用于识别和分析用户18在物理空间中的重拳,从而使得该重拳可被解释为对游戏空间中的玩家化身24的游戏控制。
此外,某些移动可被解释为可对应于除控制玩家化身24之外的动作的控制。例如,玩家可使用移动来结束、暂停或保存游戏、选择级别、查看高分、与朋友交流等。跟踪系统10还可用于将目标移动解释为游戏领域之外的操作系统和/或应用控制。例如,事实上操作系统和/或应用的任何可控方面可由诸如用户18等目标的移动来控制。根据另一实施例,玩家可使用移动来从主用户界面选择游戏或其他应用。由此,用户18的全范围运动可以用任何合适的方式来获得、使用并分析以与应用或操作系统进行交互。
图2示出可在目标识别、分析和跟踪系统10中使用的捕捉设备20和计算系统12的一个实施例,用于识别捕捉区域(无需附加到对象的专门传感设备)中的人类或非人类目标,唯一地标识他们以及在三维空间中跟踪他们。根据一个实施例,捕捉设备20可被配置成经由任何合适的技术,包括例如飞行时间、结构化光、立体图像等来捕捉包括深度图像的带有深度信息的视频,该深度信息可包括深度值。根据一实施例,捕捉设备20可将所计算的深度信息组织为“Z层”,或可垂直于从深度相机沿其视线延伸的Z轴的层。
如图2所示,捕捉设备20可包括图像相机组件32。根据一个实施例,图像相机组件32可以是可捕捉场景的深度图像的深度相机。深度图像可包括所捕捉的场景的二维(2-D)像素区域,其中2-D像素区域中的每一像素可表示深度值,诸如例如以厘米、毫米等计的、所捕捉的场景中的物体距相机的距离。
如图2所示,图像相机组件32可包括可被用来捕捉捕捉区域的深度图像的IR光组件34、三维(3-D)相机36、以及RGB相机38。例如,在飞行时间分析中,捕捉设备20的IR光组件34可以将红外光发射到捕捉区域上,然后可以使用传感器,用例如3-D相机36和/或RGB相机38来检测从捕捉区域中的一个或多个目标和对象的表面反向散射的光。在某些实施例中,可以使用脉冲式红外光从而可以测量出射光脉冲和相应的入射光脉冲之间的时间差并将其用于确定从捕捉设备20到捕捉区域中的目标或对象上的特定位置的物理距离。此外,可将出射光波的相位与入射光波的相位进行比较来确定相移。然后可以使用相移来确定从捕捉设备到目标或对象上的特定位置的距离。
根据另一个实施例,可使用飞行时间分析,通过经由包括例如快门式光脉冲成像的各种技术来分析反射光束随时间的强度变化以间接地确定从捕捉设备20到目标或对象上的特定位置的物理距离。
在另一示例中,捕捉设备20可使用结构化光来捕捉深度信息。在该分析中,图案化光(即,被显示为诸如网格图案或条纹图案等已知图案的光)可经由例如IR光组件34被投影到捕捉区域上。在撞击到捕捉区域中的一个或多个目标或对象的表面时,作为响应,图案可变形。图案的这种变形可由例如3-D相机36和/或RGB相机38来捕捉,然后可被分析来确定从捕捉设备到目标或对象上的特定位置的物理距离。
根据一个实施例,捕捉设备20可包括可以从不同的角度观察捕捉区域的两个或更多在物理上分离的相机,以获取可以被解析以生成深度信息的视觉立体数据。其他类型的深度图像传感器也可被用来创建深度图像。
捕捉设备20还可包括话筒40。话筒40可包括可接收声音并将其转换成电信号的换能器或传感器。根据一个实施例,话筒40可用于减少目标识别、分析和跟踪系统10中的捕捉设备20与计算环境12之间的反馈。另外,话筒40可用于接收也可由用户提供的音频信号,以控制可由计算环境12执行的诸如游戏应用、非游戏应用等应用。
在一个实施例中,捕捉设备20还可以包括可以与图像相机组件32进行可操作的通信的处理器42。处理器42可包括可执行指令的标准处理器、专用处理器、微处理器等,这些指令可包括用于存储简档的指令、用于接收深度图像的指令、用于确定合适的目标是否可被包括在深度图像中的指令、用于将合适的目标转换成该目标的骨架表示或模型的指令、或任何其他合适的指令。
捕捉设备20还可包括存储器组件44,存储器组件44可存储可由处理器42执行的指令、3-D相机或RGB相机所捕捉的图像或图像的帧、用户简档、或任何其他合适的信息、图像等等。根据一个示例,存储器组件44可包括随机存取存储器(RAM)、只读存储器(ROM)、高速缓存、闪存、硬盘或任何其他合适的存储组件。如图2所示,存储器组件44可以是与图像捕捉组件32和处理器42进行通信的单独的组件。在另一实施例中,存储器组件44可被集成到处理器42和/或图像捕捉组件32中。在一个实施例中,图2所示的捕捉设备20的组件32、34、36、38、40、42和44中的部分或全部被容纳在单个外壳中。
捕捉设备20可以经由通信链路46与计算环境12进行通信。通信链路46可以是包括例如USB连接、火线连接、以太网电缆连接等的有线连接和/或诸如无线802.11b、802.11g、802.11a或802.11n连接等无线连接。计算环境12可以向捕捉设备20提供时钟,可以使用该时钟来通过通信链路46确定何时捕捉,例如,场景。
捕捉设备20可经由通信链路46向计算环境12提供由例如3-D相机36和/或RGB相机38捕捉的深度信息和图像,包括可由捕捉设备20生成的骨架模型。计算环境12然后可使用骨架模型、深度信息和所捕捉的图像来例如创建虚拟屏幕、修改用户界面、以及控制诸如游戏或文字处理程序等应用。
计算系统12包括姿势库192、结构数据198、姿势识别引擎190、深度图像处理和对象报告模块194以及操作系统196。深度图像处理和对象报告模块194使用深度图像来跟踪诸如用户和其他对象等对象的运动。为了帮助跟踪对象,深度图像处理和对象报告模块194使用姿势库190、结构数据198和姿势识别引擎190。
结构数据198包括关于可被跟踪的对象的结构信息。例如,可以存储人类的骨架模型以帮助理解用户的移动并识别身体部位。还可以存储关于非生命对象的结构信息以帮助识别这些对象并帮助理解移动。
姿势库192可包括姿势过滤器的集合,每一姿势过滤器包括和骨架模型可执行(在用户移动时)的姿势有关的信息。姿势识别引擎190可将由相机36、38和设备20捕捉的骨架模型以及与其相关联的移动形式的数据与姿势库192中的姿势过滤器进行比较来标识用户(如骨架模型所表示的)何时执行了一个或多个姿势。那些姿势可与应用的各种控制相关联。因此,计算系统12可使用姿势库190来解释骨架模型的移动并基于该移动来控制操作系统196或应用(未示出)。
在一个实施例中,深度图像处理和对象报告模块194会将检测到的每一对象的标识以及每一帧对象的位置报告给操作系统196。操作系统196将使用该信息来更新显示画面中的化身或其他图像的位置或移动,或在所提供的用户界面上执行动作。
关于识别器引擎190的更多信息可在2009年4月13日提交的美国专利申请12/422,661 Gesture Recognizer System Architecture(姿势识别器系统架构)”中找到,该申请通过整体引用合并于此。关于识别姿势的更多信息可在2009年2月23日提交的美国专利申请12/391,150 Standard Gestures(标准姿势)”;以及2009年5月29日提交的美国专利申请12/474,655 Gesture Tool(姿势工具)”中找到,这两个申请通过整体引用结合于此。关于运动检测和跟踪的更多信息可在2009年12月18日提交的美国专利申请12/641,788 Motion DetectionUsing Depth Images(使用深度图像的运动检测)”;以及美国专利申请12/475,308 Device for Identifying and Tracking Multiple Humans over Time(用于随时间标识和跟踪多个人类的设备)”中找到,这两个申请通过整体引用合并于此。
图3示出了可用于实现图1A-2的计算环境12的计算环境100的示例。图3的计算环境100可以是诸如游戏控制台等多媒体控制台100。如图3所示,多媒体控制台100具有含有一级高速缓存102、二级高速缓存104和闪存ROM(只读存储器)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控制器128和前面板I/O子部件130。USB控制器126和128用作外围控制器142(1)-142(2)、无线适配器148、和外置存储器设备146(例如闪存、外置CD/DVD ROM驱动器、可移动介质等)的主机。网络接口124和/或无线适配器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-Express总线等。
当多媒体控制台100通电时,应用数据可从系统存储器143加载到存储器112和/或高速缓存102、104中并在CPU 101上执行。应用可呈现图形用户界面,图形用户界面当导航到多媒体控制台100上可用的不同媒体类型时提供一致的用户体验。在操作中,介质驱动器144中包含的应用和/或其它媒体可从介质驱动器144启动或播放,以向多媒体控制台100提供附加功能。
多媒体控制台100可通过将该系统简单地连接到电视机或其它显示器而作为独立系统来操作。在该独立模式中,多媒体控制台100允许一个或多个用户与该系统交互、看电影、或听音乐。然而,随着通过网络接口124或无线适配器148可用的宽带连接的集成,多媒体控制台100还可作为较大网络社区中的参与者来操作。
当多媒体控制台100通电时,可以保留设定量的硬件资源以供多媒体控制台操作系统作系统使用。这些资源可包括预留存储器(例如,16MB)、CPU和GPU周期(例如,5%)、网络带宽(例如,8kbs)等等。因为这些资源是在系统引导时保留的,所以所保留的资源对应用而言是不存在的。
具体地,存储器保留量较佳地足够大,以包含启动内核、并发系统应用和驱动程序。CPU保留量较佳地为恒定,使得若所保留的CPU用量不被系统应用使用,则空闲线程将消耗任何未使用的周期。
对于GPU保留量,通过使用GPU中断来显示由系统应用生成的轻量消息(例如,弹出窗口),以调度代码来将弹出窗口呈现为覆盖图。覆盖图所需的存储器量取决于覆盖区域大小,并且覆盖图较佳地与屏幕分辨率成比例缩放。在并发系统应用使用完整用户界面的情况下,优选使用独立于应用分辨率的分辨率。定标器可用于设置该分辨率,从而无需改变频率,也就不会引起TV重新同步。
在多媒体控制台100引导且系统资源被保留之后,就执行并发系统应用来提供系统功能。系统功能被封装在一组在上述所保留的系统资源中执行的系统应用中。操作系统内核标识是系统应用线程而非游戏应用线程的线程。系统应用优选地被调度为在预定时间并以预定时间间隔在CPU 101上运行,以便为应用提供一致的系统资源视图。进行调度是为了把由在控制台上运行的游戏应用所引起的高速缓存分裂最小化。
当并发系统应用需要音频时,则由于时间敏感性而异步调度音频处理给游戏应用。多媒体控制台应用管理器(如下所述)在系统应用活动时控制游戏应用的音频水平(例如,静音、衰减)。
输入设备(例如,控制器142(1)和142(2))由游戏应用和系统应用共享。输入设备不是所保留的资源,但却在系统应用和游戏应用之间切换以使其各自具有设备的焦点。应用管理器较佳地控制输入流的切换,而无需知晓游戏应用的知识,并且驱动程序维持有关焦点切换的状态信息。相机74和76以及捕捉设备60可定义用于控制台100的附加输入设备。
图4示出了可用于实现图1A-2所示的计算环境52的计算环境220的另一示例。计算系统环境220只是合适的计算环境的一个示例,并且不旨在对所公开的主题的使用范围或功能提出任何限制。也不应该将计算环境220解释为对示例性操作环境220中示出的任一组件或其组合有任何依赖性或要求。在某些实施例中,所描绘的各种计算元素可包括被配置成实例化本公开的各具体方面的电路。例如,本公开中使用的术语电路可包括被配置成通过固件或开关来执行功能的专用硬件组件。在其他示例中,术语电路可包括由软件指令配置的实施可用于执行功能的逻辑的通用处理单元、存储器等。在其中电路包括硬件和软件的组合的实施例中,实施者可以编写体现逻辑的源代码,且源代码可以被编译为可以由通用处理单元处理的机器可读代码。因为本领域技术人员可以明白现有技术已经进化到硬件、软件或硬件/软件组合之间几乎没有差别的地步,因而选择硬件或是软件来实现具体功能是留给实现者的设计选择。更具体地,本领域技术人员可以明白软件进程可被变换成等价的硬件结构,而硬件结构本身可被变换成等价的软件进程。因此,对于硬件实现还是软件实现的选择是设计选择并留给实现者。
在图4中,计算环境220包括通常包括各种计算机可读介质的计算机241。计算机可读介质可以是能由计算机241访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。系统存储器222包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)223和随机存取存储器(RAM)260。基本输入/输出系统224(BIOS)包括如在启动时帮助在计算机241内的元件之间传输信息的基本例程,它通常储存在ROM 223中。RAM 260通常包含处理单元259可以立即访问和/或目前正在操作的数据和/或程序模块。作为示例而非限制,图4示出了操作系统225、应用程序226、其它程序模块227和程序数据228。
计算机241还可以包括其他可移动/不可移动、易失性/非易失性计算机存储介质。作为示例,图4示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器238,从可移动、非易失性磁盘254中读取或向其写入的磁盘驱动器239,以及从诸如CD ROM或其它光学介质等可移动、非易失性光盘253中读取或向其写入的光盘驱动器240。可以在示例性操作环境中使用的其他可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器238通常由不可移动存储器接口,诸如接口234连接至系统总线221,磁盘驱动器239和光盘驱动器240通常由可移动存储器接口,诸如接口235连接至系统总线221。
上文讨论并在图4中示出的驱动器及其相关联的计算机存储介质为计算机241提供了对计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图4中,硬盘驱动器238被示为存储操作系统258、应用程序257、其它程序模块256和程序数据255。注意,这些组件可以与操作系统225、应用程序226、其他程序模块227和程序数据228相同,也可以与它们不同。在此给操作系统258、应用程序257、其他程序模块256、以及程序数据255提供了不同的编号,以说明至少它们是不同的副本。用户可以通过输入设备,诸如键盘251和定点设备252(通常被称为鼠标、跟踪球或触摸板)向计算机241输入命令和信息。其他输入设备(未示出)可以包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等等。这些和其他输入设备通常通过耦合至系统总线的用户输入接口236连接至处理单元259,但也可以由其他接口和总线结构,诸如并行端口、游戏端口或通用串行总线(USB)来连接。相机74、76和捕捉设备60可定义用于计算机241的附加输入设备。监视器242或其他类型的显示设备也通过接口,诸如视频接口232,连接至系统总线221。除监视器以外,计算机也可以包括其它外围输出设备,诸如扬声器244和打印机243,它们可以通过输出外围接口233连接。
计算机241可以使用到诸如远程计算机246之类的一个或多个远程计算机的逻辑连接在联网环境中操作。远程计算机246可以是个人计算机、服务器、路由器、网络PC、对等设备或其它常见网络节点,并且通常包括上面相对于计算机241所描述的许多或所有元件,但在图4中只示出存储器存储设备247。图2中所示的逻辑连接包括局域网(LAN)245和广域网(WAN)249,但也可以包括其它网络。这样的联网环境在办公室、企业范围计算机网络、内联网和因特网中是常见的。
当在LAN联网环境中使用时,计算机241通过网络接口或适配器237连接至LAN 245。当在WAN联网环境中使用时,计算机241通常包括调制解调器250或用于通过诸如因特网等WAN 249建立通信的其他装置。调制解调器250可以是内置或外置的,它可以通过用户输入接口236或其他适当的机制连接至系统总线221。在联网环境中,相对于计算机241所描述的程序模块或其部分可被存储在远程存储器存储设备中。作为示例而非限制,图4示出了远程应用程序248驻留在存储器设备247上。能够理解,所示的网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他手段。
图5是描述在一个实施例中可由跟踪系统10执行的对用户界面的姿势控制的过程的一个实施例的流程图。在步骤302,捕捉设备20的处理器42从图像捕捉组件32接收视觉图像和深度图像。在其他实施例中,在步骤302仅接收深度图像。深度图像和视觉图像可由图像捕捉组件32中的任何传感器或本领域中已知的其他适合的传感器来捕捉。在一个实施例中,深度图像与视觉图像是分开被捕捉的。在某些实现中,深度图像和视觉图像是同时被捕捉的,而在其他实现中,它们是顺序地或在不同时刻被捕捉的。在其他实施例中,深度图像是与视觉图像一起被捕捉的,或者与视觉图像组合成一个图像文件,使得每个像素具有R值、G值、B值和Z值(表示距离)。
在步骤304,确定对应于视觉图像和深度图像的深度信息。可分析在步骤302接收到的视觉图像和深度图像来确定图像内的一个或多个目标的深度值。捕捉设备20可捕捉或观察可包括一个或多个目标的捕捉区域。在步骤306,捕捉设备确定深度图像是否包括人类目标。在一个示例中,可对深度图像中的每一目标进行泛色填充并将其与一图案进行比较来确定该深度图像是否包括人类目标。在一个示例中,可确定深度图像的被捕捉的场景中的每个目标的边缘。深度图像可包括被捕捉的场景的二维像素区域,该2D像素区域中的每个像素可表示诸如可从相机测量的长度或距离之类的深度值。可以通过将与例如深度图像的相邻或邻近的像素相关联的各种深度值进行比较来确定边缘。如果正被比较的各种深度值大于预定边容差,则这些像素可定义一条边缘。捕捉设备可将包括深度图像的所计算的深度信息组织成“Z层”,或可垂直于沿着其视线从相机延伸到观察者的Z轴的各层。可基于所确定的边缘来对Z个层的可能的Z个值进行泛色填充。例如,与所确定的边缘相关联的像素以及所确定的边缘内的区域的像素可互相关联来定义捕捉区域中的目标或对象。
在步骤308,捕捉设备扫描人类目标以寻找一个或多个身体部位。可以扫描人类目标来提供与用户的一个或多个身体部位相关联的诸如长度、宽度等的度量,使得可基于这些度量来生成该用户的准确模型。在一个示例中,人类目标是被隔离的,且创建位掩模来扫描一个或多个身体部位。该位掩模可通过例如对人类目标进行泛色填充,使得该人类目标与捕捉区域元素中的其他目标或对象分离来创建。在步骤310,基于步骤308执行的扫描来生成人类目标的模型。可分析该位掩模来寻找一个或多个身体部位,以生成诸如人类目标的骨架模型、网格人类模型等模型。例如,可使用由所扫描的位掩模确定的度量值来定义骨架模型中的一个或多个关节。位掩模可包括人类目标沿X、Y和Z轴的值。该一个或多个关节可用于定义可对应于人类的身体部位的一根或多根骨骼。
根据一个实施例,为了确定人类目标的颈部、肩膀等的位置,可以将例如被扫描的位置处的位掩模的宽度与关联于例如颈部、肩膀等的典型宽度的阈值进行比较。在替换实施例中,可以使用离位掩模中先前扫描的并与身体部位相关联的位置的距离来确定颈、肩等的位置。
在一个实施例中,为了确定肩膀的位置,可将肩膀位置处的位掩模的宽度与阈值肩膀值进行比较。例如,可以将肩膀位置处的位掩模的X值处的两个最外部Y值之间的距离与例如人类肩膀之间的典型距离的阈值肩膀值进行比较。由此,根据一示例实施例,该阈值肩膀值可以是与人类的身体模型的肩膀相关联的典型宽度或宽度范围。
在另一实施例中,为了确定肩膀的位置,可在头向下一特定距离解析所述位掩模。例如,可与头的顶部相关联的位掩模的顶部可具有与其相关联的X值。然后可以将所存储的与从人类身体的头的顶部到肩膀的顶部的典型距离相关联的值加到头的顶部的X值来确定肩膀的X值。由此,在一个实施例中,可将所存储的值加到与头的顶部相关联的X值以确定与肩膀相关联的X值。
在一实施例中,诸如腿、脚等的某些身体部位可基于例如其他身体部位的位置来计算。例如,如上所述,可以扫描诸如与人类目标相关联的位、像素等的信息来确定人类目标的各个身体部位的位置。基于这些位置,随后可以为人类目标计算诸如腿、脚等的后续身体部位。
根据一个实施例,在确定例如诸如身体部位等的值后,可以创建可包括诸如与人类目标的位掩模的扫描相关联的身体部位的长度、宽度等的度量值的数据结构。在一实施例中,该数据结构可包括从多个深度图像平均的扫描结果。例如,捕捉设备可捕捉各帧中的捕捉区域,每个帧包括深度图像。可如上所述分析每一帧的深度图像来确定是否包括人类目标。如果帧的深度图像包括人类目标,则可扫描与该帧相关联的深度图像的人类目标的位掩模来寻找一个或多个身体部位。然后可以对为每一帧所确定的身体部位的值求平均,从而使得该数据结构可包括诸如与每一帧的扫描相关联的身体部位的诸如长度、宽度等的平均度量值。根据一个实施例,可调整所确定的身体部位的度量值,如放大、缩小等,使得数据结构中的度量值更接近地对应于人类身体的典型模型。在步骤310,可使用由所扫描的位掩模确定的度量值来定义骨架模型中的一个或多个关节。
在步骤312,使用骨架映射跟踪步骤310中创建的模型。例如,可在用户在视野内在相机前的物理空间中移动时调整和更新用户18的骨架模型。来自捕捉设备的信息可用于调整模型,使得骨架模型准确地表示用户。在一个示例中,这是通过向该骨架模型的一个或多个受力方面施加一个或多个力,以将该骨架模型调整成更接近地对应于物理空间中人类目标的姿态的姿态来实现的。在步骤314,从接收自捕捉设备的深度图像和视觉图像捕捉运动。在一个实施例中,如将在下文更详细地描述的,在步骤314捕捉运动包括基于骨架映射生成运动捕捉文件。
在步骤316,确定并应用用户界面上下文。UI上下文可以是涉及计算环境12所呈现的不同环境的环境上下文。例如,在运行在计算机设备12上的单个应用的不同环境之间可能有不同的上下文。例如,第一人称射击游戏可涉及操作对应于第一上下文的机动车。该游戏还可涉及控制步行的游戏人物,这可对应于第二上下文。在第一上下文操作车辆的同时,移动或姿势可表示第一功能或第一组功能,而在作为步行的第二上下文中,相同的运动或姿势可代表不同的功能。例如,在步行上下文中在身前将拳头伸出离开身体可代表挥拳,而在驾驶上下文中,相同的运动可代表换挡姿势。此外,上下文可对应于一个或多个菜单环境,其中用户可保存游戏、在人物装备之间选择或执行类似的不包括直接玩游戏的动作。在该环境或上下文中,相同的姿势可具有第三含义,例如选择某样东西、或前进到另一屏幕、或从当前屏幕返回、或在当前屏幕上放大或缩小。步骤316可包括确定并应用一个以上的UI上下文。例如,在两个用户正在与捕捉设备和计算环境交互的情况下,UI上下文可包括用于第一用户的第一上下文和用于第二用户的第二上下文。在该示例中,上下文可包括用户扮演的角色,例如一个用户是驾驶员而另一个用户例如是射手。
在步骤318,确定活动姿势集的姿势过滤器。步骤318可基于步骤316中确定的UI上下文或多个上下文来执行。例如,当在菜单上下文中操作时,第一组姿势可以是活动的,而在玩游戏上下文中时,另一组姿势可以是活动的。在步骤320,执行姿势识别。跟踪模型和捕捉的运动通过活动姿势集的过滤器,以确定是否满足任何活动姿势过滤器。在步骤322,在计算环境内应用任何检测出的姿势,以控制计算环境12提供的用户界面。
在一个实施例中,步骤316-322是由计算设备12执行的。此外,尽管步骤302-314被描述为由捕捉设备20执行,但这些步骤中的各个步骤可由诸如计算环境12之类的其他组件来执行。例如,捕捉设备20可向计算环境12提供视觉和/或深度图像,计算环境12接着将确定深度信息,检测人类目标,扫描目标,生成并跟踪模型,以及捕捉人类目标的运动。
图6示出表示可在图5的步骤310生成的扫描的人类目标的骨架模型或映射330的示例。根据一个实施例,骨架模型330可包括可将人类目标表示为三维模型的一个或多个数据结构。每个身体部位可被表征为定义骨架模型330的关节和骨骼的数学矢量。
骨架模型330包括关节n1-n18。关节n1-n18中的每一个可使得在这些关节之间定义的一个或多个身体部位能相对于一个或多个其他身体部位移动。表示人类目标的模型可包括多个刚性和/或可变形身体部位,这些身体部位由一个或多个诸如“骨骼”等结构件来定义,而关节n1-n18位于相邻骨骼的交叉点处。关节n1-n18可使得与骨骼和关节n1-n18相关联的各个身体部位能够彼此独立地或彼此相对地移动。例如,关节n7与n11之间定义的骨骼对应于前臂,该前臂可独立于例如关节n15与n17之间定义的骨骼——其对应于小腿——移动。可以理解,某些骨骼可对应于人类目标中的解剖学骨骼,和/或某些骨骼可能不具有人类目标中的对应的解剖学骨骼。
骨骼和关节可共同构成骨架模型,其可以是该模型的构成元素。轴向滚动角可用于相对于其父肢和/或躯干来定义肢的旋转定向。例如,如果骨架模型示出手臂的轴向旋转,则可使用滚动关节来指示相关联的腕所指向的方向(例如,手掌向上)。通过检查肢的相对于其父肢和/或躯干的定向,可确定轴向滚动角。例如,如果正在检查小腿,则可检查小腿的相对于相关联的大腿和髋部的定向来确定轴向滚动角。
图7是描述使用包括深度相机的一个或多个捕捉设备捕捉运动并跟踪捕捉设备的视野内的目标来控制用户界面的过程的一个实施例的流程图。在一个示例中,图7提供了用于如图5的步骤312和314所执行的跟踪模型以及捕捉运动的更详细的内容。
在步骤352,确定视野中的人类目标的用户身份。步骤352是可任选的。在一个示例中,步骤352可使用面部识别来将来自接收到的视觉图像的用户的脸与参考视觉图像相关。在另一示例中,确定用户ID可包括接收来自用户的标识他们的ID的输入。例如,可由计算机环境12存储用户简档,并且用户可作出屏幕上选择以将他们自己标识为对应于该用户简档。可使用用于确定用户的ID的其他示例。在步骤354,确定所标识的用户的技能等级。步骤354是可任选的。在一个示例中,确定技能等级包括访问计算环境中与用户简档一起存储的技能等级。在另一示例中,步骤354是通过检查用户与计算环境的交互而动态执行的。例如,通过分析用户的移动,可使用姿势和控制应用或用户界面的能力来建立技能等级。该过程可以是动态的,且可在用户与系统交互时定期地或持续地被更新。在一个示例中,如将在下文中描述的那样,用户的身份和技能等级可被用于调整姿势过滤器。
为了跟踪用户的运动,利用目标的身体部位的骨架映射。在步骤356,访问由步骤308和310处扫描人类目标以及生成模型而产生的身体部位i。在步骤358,在X、Y、Z空间中计算该身体部位的位置,以创建相机视野内该身体部位的三维位置表示。在步骤360,根据该位置计算该身体部位的移动的方向。方向性移动可在X、Y和Z方向的任何一个或其组合中具有分量。在步骤362,确定该身体部位的移动速度。在步骤364,计算该身体部位的加速度。在步骤366,确定在X、Y、Z空间中该身体部位的移动的曲率,以例如表示身体部位在捕捉区域内的非线性移动。速度、加速度和曲率计算并不取决于方向。注意,步骤358至366仅是可对用户的移动的骨架映射执行的计算的示例。在其他实施例中,可执行附加的计算或可执行比图7所示的全部计算少的计算。在步骤368,跟踪系统确定是否有更多的步骤308的扫描所标识的身体部位。如果扫描中有额外的身体部位,在步骤370处i被设置为i+1,且方法返回到步骤356以访问来自扫描的图像的下一身体部位。对X、Y、Z笛卡尔映射的使用仅仅是作为示例提供的。在其他实施例中,可使用不同的坐标映射系统来计算移动、速度和加速度。当检查实际上绕关节旋转的身体部位的移动时,例如球面坐标映射可能是有用的。
一旦在步骤370确定已经分析了扫描中的全部身体部位,则在步骤374为目标生成或更新运动捕捉文件。目标识别分析和跟踪系统可呈现并存储可包括诸如姿势运动之类的一个或多个运动的运动捕捉文件。在一个示例中,基于与所跟踪的模型相关联的信息来实时生成运动捕捉文件。例如,在一个实施例中,该运动捕捉文件可包括包含X、Y和Z值的矢量,这些矢量定义在各个时间点跟踪模型时该模型的关节和骨骼。如上所述,所跟踪的模型可基于各个时间点的用户运动来调整,并且可生成并存储运动的模型的运动捕捉文件。该运动捕捉文件可捕捉在与目标识别分析和跟踪系统交互的用户进行自然移动期间所跟踪的模型。例如,可生成运动捕捉文件,使得该运动捕捉文件可自然地捕捉用户在与目标识别分析和跟踪系统交互期间进行的任何移动或运动。该运动捕捉文件可包括对应于例如用户在不同时间点的运动的快照的帧。在捕捉了所跟踪的模型之后,可在运动捕捉文件的一帧中呈现与模型相关联的信息,包括在一特定时间点的任何移动以及应用于模型的调整。该帧中的信息可包括例如包括X、Y和Z值的矢量以及一时间戳,这些矢量定义所跟踪的模型的关节和骨骼,该时间戳可指示例如用户执行了对应于所跟踪的模型的姿态的移动的时间点。
在步骤376,如果有保证的话,系统调整被跟踪和建模的特定用户的姿势设置。姿势设置可基于在步骤352和354确定的信息以及对步骤356至366执行的身体部位和骨架映射获得的信息来调整。在一个具体示例中,如果用户有困难完成一个或多个姿势,则系统可例如通过接近但不满足姿势识别的阈值要求的参数来识别该情况。在这一情况下,调整姿势设置可包括放宽该特定姿势的一个或多个姿势过滤器中所标识的用于执行该姿势的约束。类似地,如果用户显露出高的技能等级,则可调整姿势过滤器来将移动约束到更为精确的重现,使得可避免假肯定。换言之,通过使有技能的用户的约束更加严格,则在并没有意图任何姿势时系统将更不可能会将移动错误地标识为姿势。
在一个实施例中,如下所述的运动捕捉文件可被应用于化身或游戏人物或用户界面。例如,目标识别、分析和跟踪系统可将运动捕捉文件中捕捉的所跟踪的模型的一个或多个运动应用于化身或游戏人物,使得可对该化身或游戏人物制作动画来模拟诸如以上参考图1A和1B描述的用户18等用户执行的运动。
在另一示例中,系统可基于所跟踪的模型的满足一个或多个姿势过滤器的一个或多个运动将预先确定的动作应用于用户界面。运动捕捉文件中捕捉的模型中的关节和骨骼可被映射到游戏人物或化身的特定部分。例如,与右肘相关联的关节可被映射到化身或游戏人物的右肘。然后可对右肘制作动画以在运动捕捉文件的每个帧中模拟与用户的模型相关联的右肘的动作,或可将右肘的移动传递给姿势过滤器以确定是否满足了对应的约束。
根据一个示例,跟踪系统可在运动捕捉文件中捕捉运动时应用一个或多个运动。由此,当在运动捕捉文件中呈现一帧时,可将该帧中捕捉的运动应用于化身、游戏人物或用户界面,使得可对该化身或游戏人物制作动画来立即模拟该帧中捕捉的运动。类似地,系统可在运动被确定为满足一个或多个姿势过滤器时应用UI动作。
在另一实施例中,跟踪系统可在运动捕捉文件中捕捉运动之后应用一个或多个运动。例如,诸如行走运动之类的运动或诸如下述的按压或扫视姿势之类的运动可由用户执行并被捕捉和存储在运动捕捉文件中。可在例如每次用户随后执行被识别为与诸如行走运动或按压运动等运动相关联的控制的姿势时,将运动应用于该化身、游戏人物或用户界面。
系统可包括姿势识别,使得用户可通过执行一个或多个姿势来控制在计算环境12(如上所述可以是游戏控制台、计算机等)上执行的应用或操作系统。在一个实施例中,姿势识别器引擎(其架构在以下更完全描述)用于从用户的骨架模型确定用户何时作出了某一姿势。
用户可通过移动他的身体创建姿势。姿势包括用户的运动或姿态,其可被捕捉为图像数据并解析其意义。姿势可以是动态的,包括运动,如模仿扔球。姿势可以是静态姿态,如在一个人的躯干前面交叉握住他的前臂。姿势也可包含道具,如通过挥动仿制的剑。姿势可包括多于一个身体部位,如拍双手402,或是较微小的运动,如撅起一个人的嘴唇。
姿势可用于一般计算上下文中的输入。例如,手或其他身体部位的各种运动可对应于常见的系统级任务,如在分层菜单结构中向上或向下导航、在菜单列表中滚动项目、打开文件、关闭文件和保存文件。姿势也可在视频游戏专用上下文中取决于游戏来使用。例如,对于驾驶游戏,手和脚的各种运动可对应于在一方向上操控车辆、换挡、加速和刹车。
图8提供了图2的姿势识别器引擎190的一个示例性实施例的进一步细节。如图所示,姿势识别器引擎190可包括至少一个过滤器450来确定一个或多个姿势。过滤器450包括定义姿势452(以下称为“姿势”)以及该姿势的元数据454的参数。过滤器可包括可识别姿势或以其他方式处理深度、RGB或骨架数据的代码和相关联的数据。例如,包括一只手从身体背后越过身体前方的运动的投掷可被实现为包括表示用户的一只手从身体背后越过身体前方的运动的信息的姿势452,该移动将由深度相机来捕捉。然后可为该姿势452设定参数454。在姿势452是投掷的情况下,参数454可以是该手必须达到的阈值速度、该手必须行进的距离(绝对的,或相对于用户的整体大小)、以及识别器引擎对发生姿势的置信评级。用于姿势452的这些参数454可以在各应用之间、在单个应用的各上下文之间、或在一个应用的一个上下文内随着时间变化。姿势参数可包括阈值角度(例如髋部-大腿角度、前臂-二头肌角度等)、运动发生或不发生的周期数、阈值周期、阈值位置(开始、结束)、移动方向、速度、加速度、移动的坐标等。
过滤器可包括可识别姿势或以其他方式处理深度、RGB或骨架数据的代码和相关联的数据。过滤器可以是模块化的或是可互换的。在一个实施例中,过滤器具有多个输入,这些输入中的每一个具有一类型;以及多个输出,这些输出中的每一个具有一类型。在这一情形中,第一过滤器可用具有与第一过滤器相同数量和类型的输入和输出的第二过滤器来替换而不更改识别器引擎体系结构的其他方面。例如,可以有用于驾驶的第一过滤器,该第一过滤器取骨架数据作为输入并输出与该过滤器相关联的姿势正在发生的置信度以及转向角。在希望用第二驾驶过滤器来替换该第一驾驶过滤器的情况下——这可能是因为第二驾驶过滤器更高效且需要更少的处理资源——则可以通过简单地用第二过滤器替换第一过滤器来这样做,只要第二过滤器具有相同的输入和输出—骨架数据类型的一个输入,以及置信度类型和角度类型的两个输出。
过滤器不需要具有参数。例如,返回用户的高度的“用户高度”过滤器可能不允许任何可调节的参数。替换的“用户高度”过滤器可具有可调节参数,如在确定用户的高度时是否考虑用户的鞋、发型、头饰以及体态。
对过滤器的输入可包括诸如关于用户的关节位置的关节数据、如在关节处相交的骨骼所形成的角度、来自捕捉区域的RGB色彩数据、以及用户的一方面的变化率等内容。来自过滤器的输出可包括诸如正作出给定姿势的置信度、作出姿势运动的速度、以及作出姿势运动的时间等内容。
姿势识别器引擎190可具有向姿势过滤器450提供功能的基础识别器引擎456。在一实施例中,基本识别器引擎456实现的功能包括跟踪所识别的姿势和其他输入的随时间输入(input-over-time)存档、隐马尔可夫模型实现(其中模型化系统被假定为具有未知参数的马尔可夫过程—其中当前状态封装了确定将来状态所需的任何过去状态信息,因此不必为此目的而维护任何其它过去状态信息的过程,并且隐藏参数从可观察数据来确定)、以及求解姿势识别的特定实例所需的其他功能。
过滤器450在基础识别器引擎456之上加载并实现,并且可利用引擎456提供给所有过滤器450的服务。在一实施例中,基础识别器引擎456处理所接收到的数据来确定它是否满足任何过滤器450的要求。由于这些诸如解析输入等所提供的服务是由基础识别器引擎456一次性提供而非由每一过滤器450提供的,因此这一服务在一段时间内只需被处理一次而不是对该时间段对每一过滤器450处理一次,因此减少了确定姿势所需的处理。
应用程序可使用识别器引擎190所提供的过滤器450,或者它可提供其自己的过滤器450,该过滤器被插入到基础识别器引擎456中。在一实施例中,所有过滤器450具有启用该插入特性的通用接口。此外,所有过滤器450可利用参数454,因此可使用如下所述的单个姿势工具来诊断并调节整个过滤器系统。这些参数454可由姿势工具为应用或应用的上下文来调节。
有各种可以与姿势相关联的输出。在一个示例中,可以有关于姿势是否正在发生的基线“是或否”。在另一个示例中,还可以有置信水平,其对应于用户的被跟踪的移动对应于姿势的可能性。这可以是范围为0和1之间(包括端点)的浮点数的线性标度。在接收该姿势信息的应用不能接受假肯定作为输入的情况下,它可仅使用具有高置信水平,如至少.95的那些已识别的姿势。在应用必须识别姿势的每一实例、甚至是以假肯定为代价的情况下,它可使用至少具有低得多的置信水平的姿势,如仅仅大于.2的那些姿势。姿势可具有关于两个最近步之间的时间的输出,并且在仅注册第一步的情况下,这可被设为保留值,如-1(因为任何两步之间的时间必须为正)。姿势也可具有关于在最近一步期间达到的最高大腿角的输出。
姿势或其一部分可具有它必须在其中发生的空间体来作为参数。在姿势包括身体移动的情况下,该空间体通常可相对于身体来表达。例如,对于惯用右手的用户的橄榄球投掷姿势可仅在不低于右肩410a、且与投掷手臂402a-410a在头422的相同侧的空间体中识别。可能不必要定义空间体的所有边界,如对于该投掷姿势,其中从身体向外的边界留着不被定义,并且该空间体无限地向外延伸,或者延伸到正被监视的捕捉区域的边缘。
图9A-9B描绘了从堆叠的姿势或过滤器创建的更复杂的姿势或过滤器450。姿势可堆叠在彼此之上。即,用户一次可表达多于一个的姿势。例如,并非在作出投掷姿势时不允许除了投掷之外的任何输入,或要求用户除了该姿势的分量之外保持不动(例如,在作出仅涉及一条手臂的投掷姿势时站着不动)。在姿势堆叠时,用户可同时作出跳跃姿势和投掷姿势,并且这两个姿势都将被姿势引擎识别出。
图9A描绘了根据堆叠范例的简单姿势过滤器450。I过滤器502是可在每一姿势过滤器中使用的基本过滤器。I过滤器(IFilter)502取用户位置数据504,并输出姿势已发生的置信水平506。它还将该位置数据504馈入方向盘(SteeringWheel)过滤器508,该过滤器508取该位置数据作为输入,并输出用户正在转向的角度(例如,向用户当前方向右侧40度)510。
图9B描绘了将过滤器450堆叠到图9A的姿势过滤器上的更复杂的姿势。除了I过滤器502和方向盘508之外,还存在I跟踪(ITracking)过滤器512,该过滤器518接收来自I过滤器502的位置数据504,并输出用户通过姿势518所作出的进展量。I跟踪512还将位置数据504馈送到润滑油减轻(GreaseLightning)516和E刹车518,这些是关于可在操作车辆时如使用紧急刹车作出的其他姿势的过滤器。
图10是根据本发明的一个实施例的描述用于姿势识别的过程的一个实施例的流程图。图10描述了一种基于规则的方法,用于由姿势识别引擎190应用一个或多个姿势过滤器以确定某一姿势的参数是否被满足。将理解尽管在该具体示例中描述了单个姿势的检测,但是图10的过程可多次执行以检测活动姿势集中的多个姿势。所描述的过程可对多个活动姿势并行或顺序地执行。
在步骤602,姿势识别引擎访问某一目标的骨架跟踪数据以开始确定该目标是否执行了选择的姿势。在一个示例中,可从运动捕捉文件访问骨架跟踪数据。在步骤604,姿势识别引擎为与所选择的姿势过滤器中标识的选择的姿势有关的一个或多个预先确定的身体部位过滤骨架跟踪数据。步骤604可包括仅访问与所选择的姿势有关的数据,或访问目标的全部骨架跟踪数据并忽略或丢弃不与所选择的姿势有关的信息。例如,手按压姿势(下述)过滤器可指示出仅人类目标的手与所选择的姿势有关,使得可忽略与其他身体部位有关的数据。这种技术可通过将处理限于被预先确定为对所选择的姿势是显著的信息来增加姿势识别引擎的性能。
在步骤606,姿势识别引擎对预先确定的轴向移动过滤骨架跟踪数据。所选择的姿势的过滤器可指定仅沿着轴的某一子集的移动是相关的。考虑下文中将要更为详细地描述的垂直扫视姿势,其中用户在垂直方向中将他们的手向上或向下移动以控制用户界面。用于垂直扫视姿势的姿势过滤器可指定唯一相关的轴向移动是沿着垂直的Y轴的移动,且沿着水平的X轴和深度Z轴的移动是不相关的。从而,步骤606可包括访问在垂直的Y轴方向中目标的手移动的骨架跟踪数据,并忽略或丢弃与在X轴或Z轴方向中的手的移动有关的数据。注意,在其他示例中,垂直扫视姿势过滤器可指定也检查在其他方向中的手的移动。例如,可分析水平的X轴移动,以确定屏幕上的哪个(些)项目要被垂直扫视姿势操纵。
在步骤608,姿势识别引擎访问姿势过滤器中指定的规则j。在图10的过程的第一次迭代中,j等于1。姿势可包括需要被满足以便姿势被识别的多个参数。这些参数中的每个参数可在单独的规则中指定,但是多个分量可被包括在单个规则中。规则可指定目标的身体部位必须满足以便姿势被满足的阈值距离、位置、方向、曲率、速度和/或加速度,以及其他参数。规则可应用于一个身体部位或多个身体部位。而且,规则可指定诸如位置之类的单个参数,或诸如位置、方向、距离、曲率、速度和加速度之类的多个参数。
在步骤610,姿势识别引擎将在步骤604和606过滤的骨架跟踪数据与规则的指定的参数相比较,以确定规则是否被满足。例如,姿势识别引擎可确定手的起始位置是否位于起始位置参数的阈值距离内。规则可进一步指定且引擎确定手是否:以指定方向移动;以指定方向从起始位置移动了阈值距离;沿指定轴在阈值曲率内移动;以指定速度或以上移动;达到或超过指定加速度。如果引擎确定骨架跟踪信息不满足过滤器规则中指定的参数,则在步骤612引擎返回失败或姿势过滤器不被满足的响应。该响应可被返回给计算系统12上执行的操作系统196或应用。
在步骤614,姿势识别引擎确定姿势过滤器是否指定了对于要被完成的姿势必须被满足的额外的规则。如果过滤器中包括额外的规则,则j递增1且过程返回到步骤608,在步骤608访问下一规则。如果没有额外的规则,则在步骤618姿势识别引擎返回姿势过滤器已被满足的指示。
图10的步骤612和618对正被分析的姿势返回简单的通过/失败响应。在其他示例中,不是返回简单的通过/失败响应,图10将返回姿势过滤器被满足的置信水平。对于过滤器中的每个规则,确定目标的移动满足或不满足指定参数的量。基于这些量的聚集,识别引擎返回目标确实执行了姿势的置信水平。
现在描述根据当前揭示的技术的示例性的一组姿势。尽管描述了在姿势检测时采取的具体姿势、过滤器参数和对应的系统动作,应当理解在其他实施例中在跟踪系统10内可使用其他姿势、参数和动作。
图11A至11H描绘了根据一个实施例执行水平扫视姿势的人类目标的骨架映射。骨架映射描绘了各时间点处的用户,其中图11A是第一时间点,图11H是最后时间点。每幅图可对应于深度相机所捕捉的图像数据的快照或帧。它们没有必要是图像数据的连续帧,因为深度相机可能够比用户通过该距离更快速地捕捉各帧。例如,该姿势可在3秒的时间段内发生,并且在深度相机以每秒30帧来捕捉数据的情况下,在用户作出该扫视姿势时它将捕捉90个图像数据帧。在该示例中,标识各种关节和骨骼:每一手402、每一前臂404、每一肘406、每一二头肌408、每一肩410、每一髋412、每一大腿414、每一膝416、每一小腿418、每一足420、头422、躯干424、脊椎的顶部426和底部428,以及腰430。在跟踪多个点的情况下,可标识另外的特征,如手指或脚趾的骨骼和关节,或脸部的各个特征,如鼻和眼。
在图11A中,用户以两只手臂在他两侧开始。如图11B所描绘的,用户开始沿水平的X轴向他的身体的左侧移动他的右手402a。在图11B中,用户的右手臂(408a-402a)在水平的X轴方向与用户的右肩410a对齐。用户已经进一步将他的右手臂垂直地沿Y轴提起。用户继续沿X轴向他的身体的左侧水平地移动他的右手臂,同时进一步相对于地面或他的的脚420a、420b沿Y轴垂直地举起他的手臂。尽管图11A至11H的二维表示中不可见,但是应理解,通过垂直地举起右手臂,用户将其右手臂伸向捕捉设备,或者沿Z轴将其右手臂从他的身体旁伸到他的身体的前面。如图11D所示,当用户的右手到达它将沿X方向中的水平轴向他的身体的左侧部分行进的最远距离时,用户完成水平扫视姿势。
图11E至11H描绘了用户将其右手臂带回起始位置的返回运动。图11E中所指示的返回移动的第一部分典型地涉及用户将他们的右臂的二头肌408拉向他们的身体的右侧。此外,该运动一般涉及用户的右肘406a沿Y轴垂直地降低。在图11F中,用户已经进一步将其右臂向他的身体的右侧移动到右臂的二头肌部分408a实质上在水平方向中与右肩410a对齐的点。在图11F中,用户已经进一步将其右臂向他的身体的右侧移动并已开始在肘关节406a处伸直手臂,使得右臂的前臂部分沿Z轴伸向捕捉设备。在图11H中,用户已经返回到起始位置,他的右臂在他的身体的右侧靠近肩410和手402a之间的伸直的位置。
尽管捕捉设备捕捉了一系列静止图像,使得在任何一个图像处用户看似为静止的,但用户在执行该姿势的过程中在移动(而非静止姿势)。该系统能够取每一静止图像中的该一系列姿态,并从中确定用户正在作出的移动姿势的置信水平。
图11A至11H中描绘的水平扫视姿势的姿势过滤器可提出定义水平扫视姿势的显著特征的若干规则,以正确地检测用户的这种运动。在一个示例中,水平扫视姿势被捕捉设备解释为用特定手的姿势。用特定手的姿势是这样一个姿势,其中过滤器将姿势的执行定义为由某只手作出。在一个示例中,姿势过滤器可指定仅要考虑右手的移动,使得左手臂、左手、腿、躯干和头等的移动可被忽略。过滤器可指定要被检查的唯一相关映射信息是运动中的手的映射信息。目标的身体的剩余部分的移动可被过滤或忽略,但是水平扫视姿势的其他定义可指定目标的身体的其他部分的某种移动,例如目标的前臂或二头肌的某种移动。
为了检测水平扫视姿势,姿势的过滤器可指定起始位置参数,例如目标的手402a相对于目标的身体的起始位置。由于目标通常处于相对连续的运动中,姿势识别引擎可连续地在起始位置寻找手,然后是如图11B-11D中详细描述的以及下述的附加参数中指定的后续移动。
水平扫视姿势过滤器可为右手402a指定距离参数。距离参数可要求右手从用户的身体的右侧向用户的身体的左侧移动的阈值距离。在一个示例中,水平扫视姿势将指定沿Y轴的垂直移动要被忽略。然而,在另一示例中,水平扫视姿势过滤器可指定右手可垂直行进的最大距离,以便区别于也可涉及垂直分量的其他水平移动。在一个示例中,水平扫视姿势过滤器还指定最小速度参数,要求手在其从用户的身体的右侧向用户的身体的左侧移动时满足指定的速度。在另一示例中,姿势过滤器可指定时间参数,要求手在最大时间量内行进阈值距离。
一般来说,系统将寻找其中用户的移动满足姿势过滤器中指定的那些移动的若干连续帧。根据过滤器参数将对目标运动的运行历史检查不间断的运动。例如,如果图11A-11D中指示的移动被指定的运动之外的移动所打断,则即使该打断之前或之后的帧匹配过滤器中指定的移动,姿势过滤器也可能不被满足。在捕捉系统捕捉用户的这些位置而没有可表示该姿势被取消或正在作出另一姿势的任何居间位置的情况下,跟踪系统可能会使得水平扫视姿势输出用户作出了水平扫视姿势的高置信度水平。
水平扫视姿势过滤器可包括指定手在执行水平扫视姿势中的速度范围的元数据。计算环境可使用手在向身体的左侧行进时的速度来确定系统将响应于该扫视姿势的量。例如,如果扫视姿势正被用于水平地滚动列表中的项目,则响应于更高速度的移动,项目可滚动更快,而响应于较慢速度的移动,项目可滚动更慢。此外或另选地,元数据可指定速度范围,从而基于更高速度的姿势移动,滚动的项目数量增加,而对于较低速度的姿势移动,滚动的项目数量减少。
水平扫视姿势过滤器还可包括指定手在执行水平扫视姿势中的距离范围的元数据。计算环境可使用手行进的距离来确定系统将响应于扫视姿势的量。例如,如果扫视姿势被用于水平地滚动列表上的项目,则响应于手行进更大距离,列表可滚动更大的量,而响应于手行进较小的距离,列表可滚动较小的量。
图12描绘了用户18与跟踪系统10交互以执行如图11A-11H所述的水平扫视姿势。虚线702指示出用户的右手402a在执行水平扫视姿势时的方向。如所描绘的,用户在位置704以他的右手402a开始,然后向他的身体的左侧移动到位置706,然后返回到位置704。该移动可重复多次,以滚动通过菜单项的列表710,例如图12中视听设备16上示出的那些。用户可若干次地在位置704和位置706之间移动并返回到位置704,以进一步从右向左(由用户的观点限定)滚动项目列表。参考标号710a表示用户用他的手在位置704开始姿势时的菜单项列表。参考标号710b表示用户通过将他的右手移到位置706a完成了姿势之后相同的菜单项列表。项目720和722已经滚离了显示画面,而项目724和726已滚动到显示画面上。
回看图11E至11H以及图12,可见在执行水平扫视姿势时,用户将他的右手从结束位置706返回到起始位置704。在这些情况下,跟踪系统将从位置706到704的返回移动与可能的用左手的水平扫视姿势相区分,以便在用户将其手返回到起始位置时不会引起菜单项从左向右滚动。在一个示例中,这是通过如上所述将姿势定义为是用特定手的来完成的。可由用右手的扫视姿势的姿势过滤器将用右手的扫视姿势定义为仅能由右手执行。在这种情况中,左手的任何移动都将被忽略。类似地,用左手的扫视姿势可被定义为用特定手的姿势,使得跟踪系统仅把左手的移动视为对用左手的扫视姿势的执行。在这一情况下,系统将把从位置706到位置704的移动标识为由右手执行。因为它们不是由左手执行的,系统将不会将它们解释为用左手的扫视姿势。以此方式,用户可如虚线702所示那样以圆圈来移动他的手,以从屏幕的右边部分向屏幕的左边部分滚动项目列表,而无需使得返回移动被解释为使得项目从左滚动回到右的用左手的扫视姿势。
可使用其他技术来代替用特定手的姿势定义或与用特定手的姿势定义组合,以在返回到起始位置的用右手的扫视姿势和意图的左手扫视姿势之间进行区分。再次看图12,虚线702示出在执行姿势及其返回的过程中,右手沿Z轴(朝向和离开捕捉设备)来回移动。用户在从位置704到位置706的移动过程中将右手伸出到他的身体的前面,但在从位置706返回到704的过程中趋向于将手向身体缩回。系统可分析用右手的移动的Z值,并确定当从704移动到706时手伸向捕捉设备,但在返回运动期间手从捕捉设备收回。姿势过滤器可把手离开身体的最小伸展定义为用于通过设置离开用户的身体的最小距离来定义用右手的扫视姿势的要求的位置参数。在所述的圆圈内,将手从位置706返回到704的移动可被忽略,因为不满足手离开身体的伸展的要求的Z值。以此方式,系统将不会把返回移动解释为向右的水平扫视姿势。
图13是描述根据一个实施例姿势识别引擎将用右手的扫视姿势过滤器应用于目标的移动的流程图。在步骤752,姿势识别引擎过滤用右手的移动。在该具体示例中,用右手的扫视姿势被定义为用特定手的,使得左手移动被忽略,但是将理解诸如检查Z轴移动之类的其他技术可被用于将该姿势与其返回移动相区分。在步骤754,引擎过滤沿X轴的水平移动,丢弃或忽略与沿Y轴的垂直移动或沿Z轴的深度移动有关的数据。在步骤756,引擎将右手的起始位置与起始位置参数相比较。步骤756可包括确定右手的起始位置是否在相对于用户的身体定义的指定起始位置的阈值距离内。步骤756可包括确定实际起始位置和起始位置参数之间的差异,该差异将被用于确定移动是用右手的扫视姿势的置信水平。
在步骤758,引擎将右手在水平方向行进的距离与距离参数进行比较。步骤758可包括确定行进的实际距离是否处于或超过阈值距离,或可包括确定实际距离不同于距离参数的量。在一个实施例中,步骤758可包括确定用右手的移动的方向。在另一实施例中,可作出对方向性移动的单独比较。在步骤760,引擎将右手沿X轴行进的速度与速度参数进行比较。步骤760可包括确定右手速度是否处于或高于阈值水平,或确定实际速度和指定的速度参数之间的差。
在步骤762,引擎计算用右手的移动是用右手的扫视姿势的置信水平。步骤762基于步骤756-758的比较。在一个实施例中,步骤762聚集计算出的差异来估计用户意图将其移动作为用右手的扫视姿势的总似然性。在步骤764,引擎将置信水平返回给计算系统12上执行的操作系统或应用。系统将使用该置信水平来确定是否要将对应于该姿势的预定动作应用于系统用户界面。
在图13中,引擎返回执行了该姿势的置信水平,但是将理解,引擎另选地可报告关于该姿势是否被执行的简单的通过或失败。还可考虑额外的参数。例如,在替换实施例中可考虑垂直移动以区分其他用户移动或姿势。例如,可应用最大垂直距离参数,使得超出该参数距离的垂直移动将指示出水平扫视姿势未被执行。此外,可检查Z轴方向的移动,以便将右手扫视姿势的返回移动与用左手的扫视姿势的返回移动相区分。
图14A和14B描绘了用户18与跟踪系统10交互以执行垂直扫视姿势。如图14A所描绘的,用户18以他的右手臂在他的右侧并朝捕捉设备向外伸出开始。用户的手臂在位置802开始。视听设备16上显示了具有垂直对齐的菜单项的列表805的用户界面19。
在图14B中,用户已将其右手臂和右手从起始位置802移动到结束位置804。右手从用户的腰下的位置垂直地提起到在垂直的Y轴方向中接近与用户的右肩对齐的位置。用户已经将其右手沿Z轴从他身体附近的点伸出到他的身体前方之外的位置。
姿势识别引擎利用姿势过滤器来估计该移动是否满足定义垂直扫视姿势过滤器的参数。在一个实施例中,垂直扫视姿势是用特定手的,意味着基于对正在移动的手的标识将用右手的垂直扫视姿势与用左手的垂直扫视姿势相区分。在另一示例中,垂直扫视姿势不是特定手的,意味着满足指定参数的任何手的移动将被解释为垂直扫视姿势。
垂直扫视姿势的姿势过滤器可指定起始手位置在目标的腰下。在另一示例中,起始位置可被定义为在用户的肩下。过滤器可进一步定义起始位置为相对于用户的身体位置在垂直方向具有最大位置。也就是说,手必须以不大于诸如用户的脚之类的用户的身体上的某一点上方指定距离开始。最大起始位置也可相对于肩或任何其他身体部位来定义。例如,过滤器可指定在垂直方向中用户的手必须离用户的肩最小距离。该过滤器可进一步指定手在垂直方向中必须行进的最小距离以便满足该过滤器。类似于水平扫视姿势,过滤器可指定手必须达到的最小速度和/或加速度。过滤器可进一步指定沿X轴的水平移动被忽略。然而在另一实施例中,过滤器可将水平移动约束到某一最大可允许移动,以便区别于其他可行的姿势。目标的手的速度和/或加速度可进一步被考虑,使得手必须满足最小速度和/或加速度以被视为垂直扫视姿势。
图14B描绘了响应于检测到垂直扫视姿势而执行的用户界面动作。菜单项的用户界面19列表805已被向上滚动,使得项目807不再被显示,而项目811已在显示画面的下部被添加到显示画面。
图15A-15B描绘了用户18与跟踪系统10交互以执行按压姿势。按压姿势可由用户使用来选择显示画面上的项目。传统上可使用鼠标或方向键来将光标或其他选择器定位在项目上,然后诸如通过点击按钮等提供输入以指示出项目被选择来执行该动作。半空中按压姿势可如图15A和15B所示范的那样通过用户指向屏幕上某一项目来执行。在图15A中,用户以他的手在垂直的Y轴方向中在大约肩部水平高度处且在深度Z轴方向中朝捕捉设备向用户的前面伸出某一距离为开始。在水平的X轴方向中,用户的手实质上与肩对齐。在一个实施例中,水平方向起始位置可不在过滤器内被指定为要求的参数,使得水平移动可被忽略。在另一实施例中,水平位置和移动可被考虑以区分其他可行姿势。看图15B,用户将他的手臂从起始位置820伸到结束位置822。用户的手沿Z轴移离身体并移向捕捉设备。在该示例中,用户的手沿垂直的Y轴几乎没有或没有移动,且水平地沿X轴没有移动。系统将从位置820至822的移动解释为构成按压姿势。在一个实施例中,计算环境12中的捕捉设备使用用户的手822在XY空间中的起始位置以确定所显示的用户界面上的已被选择的项目。在另一实施例中,捕捉设备确定用户的手的最终位置以确定所选择的项目。两个位置也可被一起使用以确定所选择的项目。在该情况下,用户已指向项目824,从而将其突出显示,如图15B所示。
用于按压姿势的过滤器可定义手的垂直起始位置。例如,参数可指定在垂直方向用户的手必须在用户的肩的阈值距离内。然而,其他按压姿势过滤器可不包括垂直起始位置,使得用户可在相对于其肩的任何点处用他的手臂或手按压。按压姿势过滤器可进一步指定手在水平的X轴方向和/或朝向捕捉设备的Z轴方向的起始位置。例如,过滤器可指定手在X轴方向离开相应的肩膀的最大距离,以及沿Z轴方向离开身体的最大距离。过滤器可进一步指定手从起始位置820到结束位置822必须行进的最小阈值距离。此外,系统可指定手在作出该移动时必须达到的最小速度和/或手在作出该移动时必须经历的最小加速度。
在一个示例中,按压姿势不是用特定手的,使得系统将使用单个姿势过滤器来标识右手或左手进行的按压姿势。过滤器可仅指定手必须执行移动而不指定它是特定的手。在另一示例中,按压姿势可以是用特定手的,使得第一过滤器将寻找右手的按压移动,而第二过滤器将寻找左手的按压移动。姿势过滤器可进一步指定在作出从820到822的移动时的最大垂直位移量,使得如果手沿Y轴行进了太多,则该移动可被忽略,因为满足垂直扫视姿势准则。
尽管未描绘,但是在一个实施例中,图15A和15B所描绘的按压姿势的反姿势可被定义为回退姿势。过滤器可实质上描述图15A和15B中所描述的按压姿势的反向移动。用户可以他的手在身体前面之外为开始,并将他的手向他的身体移动,这将被跟踪系统解释为回退姿势。在一个实施例中,UI可解释该移动并在当前用户界面中反向移动。在另一实施例中,这一移动可使得当前菜单显示被缩小或抽出(abstraction)。
图16A和16B描绘了用户18与跟踪系统10交互以执行双手按压姿势。在具体描述的示例中,双手按压姿势被用于在用户界面中反向移动。也就是说,用户界面按分层方式组织,使得通过利用双手按压姿势,用户从某一菜单沿分层树向上移动到更高级的菜单。在另一示例中(未描绘),双手按压姿势可被用于缩小当前用户界面。通过用双手向屏幕按压,用户界面将例如从第一级别缩放到更高级别,如下文中将在图17A和17B中描述的那样。
在图16A中,用户以他的双手在身体前面大约肩膀高度且在水平方向实际上与肩膀对齐为开始。肩膀和肘之间的用户的手臂以某一角度向下伸而从肘到手的用户的手臂向上伸,形成了V形。用户界面呈现具有若干菜单选项的菜单826,菜单选项以开始游戏、选择轨道、选项和退出作为示例示出。回看图15A和15B,图16A中描绘的菜单项可对应于用户已选择了菜单之后图15A和15B的项目824的菜单选择,例如作为对这里执行的按压姿势的响应。
在图16B中,用户已从双手的起始位置830、832到结束位置831、833沿Z轴向捕捉设备伸出双手。在该示例中,双手沿Y轴没有垂直移动或沿X轴没有水平移动。图16B中的用户界面恢复到图15B中所示的位置。用户已从与项目824相关联的更详细的菜单选项移回图15B中所示的菜单选择屏幕。这对应于在用户界面的分层顺序中向上移动。
双手按压姿势的姿势过滤器可定义双手的起始位置。在该示例中,按压姿势不是用特定手的,因为它要求双手的组合,于是系统将过滤右手和左手一起的手移动。过滤器可指定双手的垂直起始位置。例如,它可定义双手必须在用户的腰和头之间。过滤器可进一步指定水平起始位置,使得右手必须实质上与右肩水平对齐,而左手必须实质上与左肩水平对齐。过滤器还可指定双手可能要开始运动的沿Z轴离开用户的身体的最大距离,和/或用户的前臂相对于用户的二头肌的角度位移。最后,过滤器可定义双手必须在姿势开始时相对于彼此垂直对齐。
过滤器可定义每只手沿Z轴朝向捕捉设备离开用户的身体而必须行进的最小距离参数。在一个示例中,参数提出了每个手在作出该移动时必须满足的最小速度和/或加速度。双手按压姿势的姿势过滤器还可定义右手和左手必须从它们的开始位置一致地移动到它们的结束位置。例如,过滤器可指定右手和左手之间沿Z轴的最大位移量,以便确保双手姿势移动正被执行。最后,双手按压姿势可定义每个手的结束位置。例如,距离参数可定义每个手应当在移动结束时离用户的身体的最小距离。
尽管未描绘,但是在一个实施例中,双手按压姿势具有对应的双手回退姿势。用于该移动的过滤器可实质上描述图16A和16B中描绘的移动的反过程。通过以用户的双手在他的身体的前面之外并向他的肩膀收回双手,用户可使得用户界面在当前用户界面中反向移动或放大。
图17A和17B描绘了在一个实施例中用户18与跟踪系统10交互以执行双手压缩姿势。图17A描绘了用户18的右手和左手在他的身体的前面的位置840和842处,类似于图16A中的起始位置。然而,在该示例中,用户的手掌彼此面对而不是面向捕捉设备。双手垂直地且水平地与肩对齐,且沿Z轴伸出在用户的身体之外某一距离。看图17B,用户已将他的双手合在一起到结束位置841和843,使得手掌接触。用户将右手移向左手且将左手移向右手,使得它们在它们之间的某一点相会。双手在沿Y轴的垂直方向或沿Z轴的深度方向实质上并不移动。
响应于检测到双手压缩姿势,计算系统12压缩或缩小当前用户界面显示,以在列表上显示更多个元素或菜单项。在另一示例中,双手压缩姿势可通过在用户界面中从菜单层次结构中的较低层反向移动到菜单层次结构中的较高层来导致如图16A和16B所示的用户界面动作。
在一个实施例中,双手压缩姿势过滤器可定义右手和左手两者的起始位置。在一个示例中,起始位置可被定义为水平地与用户的肩对齐,垂直地与用户的肩对齐,且在Z轴方向中不超出离用户的身体的阈值距离。在另一示例中,起始位置可不包括垂直位置要求,使得用户可在任何垂直位置将他的双手合在一起以完成姿势。类似地,在一个示例中,可不使用水平位置要求,使得用户可进行压缩姿势而不管双手是否关于用户的身体水平。从而,一个示例完全不包括定义用户的双手的起始位置。在另一示例中,用户的双手由过滤器定义为要求手掌彼此面对。这可包括检查来自扫描的其他身体部位,如手指,以确定手掌是否互相面对。例如,系统可确定拇指是否朝用户的身体定位,这指示出手掌正彼此面对。过滤器可进一步指定双手的结束位置,如水平地位于用户的双肩之间。在另一示例中,结束位置可被定义为右手和左手相会,而不管它们相对于用户的身体的水平位置。在另一示例中,过滤器可定义每只手在水平方向必须行进的最小距离量。而且,过滤器可指定双手可垂直地和/或在Z方向行进的最大距离。
尽管未示出,但是一个实施例的相应的双手压缩姿势包括双手反压缩姿势,双手反压缩姿势以双手在图17B的位置开始,且以双手在图17A的位置结束。过滤器可实质上定义图17A和17B中描绘的移动的反过程。在该示例中,通过将用户的双手分开,用户可在当前显示画面上放大,例如使得UI从图17B中所描绘的改变到图17A。
本技术的实施例可进一步使用屏幕上控制柄来控制用户和屏幕上对象之间的交互。在各实施例中,控制柄是用于与人机接口交互、关于人机接口进行导航以及控制人机接口的UI对象。在各实施例中,控制柄提供与诸如UI上的对象之类的动作区域的显式接合点,并提供关于用户可如何与该对象交互的启示。一旦用户接合了控制柄,用户可例如通过移动该控制柄或执行与该控制柄相关联的一个或多个姿势来操纵该控制柄。在一个实施例中,仅在用户接合控制柄之后识别姿势。
如图18所示,在一示例实施例中,计算环境12上执行的应用可向用户18呈现UI 19。该UI可以是游戏应用或平台的一部分,且在各实施例中可以是用于访问游戏应用或平台的所选区域的导航菜单。计算环境12在UI 19上生成一个或多个控制柄21,每个控制柄栓系于或以其他方式关联于UI 19上的动作区域23。每个控制柄通常是显示在屏幕上的用于控制相对于其相关联的动作区域的操作的图形对象,如下文中更为详细地解释的。
在各实施例中,控制柄21可在显示画面上形成为圆形或三维球体,但是本领域的技术人员将理解在另选的实施例中控制柄可以是各种其他形状中的任何一种。如下文解释的那样,控制柄21的存在和外观可改变,这取决于用户是否存在以及取决于用户是否正与控制柄接合。在各实施例中,控制柄的形状在所有动作区域23中可以是相同的,但是在其他实施例中,考虑了不同动作区域具有不同形状的控制柄。尽管图20示出了单个控制柄21,但是UI 19可包括多个控制柄21,每个控制柄与不同的动作区域23相关联。
如此处使用的,“动作区域”是UI 19上的可具有与之相关联的控制柄,且能够在对其控制柄被操纵时执行动作,或能够在其控制柄被操纵时使其动作在其上执行的任何区域。在各实施例中,动作区域23可以是被显示为导航菜单的一部分的文本或图形对象。然而,在各实施例中,动作区域23无需是导航菜单的一部分,且无需是专门显示的图形对象。动作区域23可另选地是UI的某一区域,当通过其控制柄被访问时,该区域使得某一动作或者是在该区域处或者是总体上在UI上被执行。
在动作区域是显示画面上的专门图形对象时,与该图形对象相关联的控制柄21可被显示在图形对象上,或在图形对象周围的任何位置处显示在图形对象附近。在进一步的实施例中,控制柄21可不被映射到专门的对象。在该实施例中,控制区域23可以是UI 19上的包括若干图形对象的区域。当与该动作区域相关联的控制柄21被操纵时,可对该控制区域23中的所有对象执行动作。在进一步的实施例中,控制柄21可被集成到图形对象中。在这一实施例中,没有与对象分开的控制柄21的视觉显示。相反,当对象被抓住或以其他方式被选择时,对象充当控制柄21,且执行与控制柄相关联的动作。这些动作将在以下更详细地描述。
接口19可进一步包括经用户移动控制的光标25。具体来说,捕捉设备20捕捉用户指向的位置,如下所解释的,且计算环境解释该图像数据以在视听设备16上的确定的点处显示光标25。光标可向用户提供关于用户正明确地指向视听设备上的何处的闭环反馈。这方便了对视听设备16上的控制柄的选择,如下文所解释的。类似地,每个控制柄可具有类似于磁场的引力,用于在光标足够接近控制柄时将光标拉到控制柄。该特征也在下文中更详细地解释。光标25可总是可见的,仅在用户存在于视野中时可见,或仅在用户正在跟踪显示设备上的具体对象时可见。
控制柄的一个目的是提供显式接合点,从该点用户能够与动作区域23交互以提供姿势。在操作中,用户将引导光标25到控制柄21上,并执行姿势以依附于该控制柄。用户在其中移动的三维实空间可被定义为参考框架,其中z轴是从捕捉设备20笔直水平延伸出的轴,x轴是垂直于z轴的水平轴,y轴是垂直于z轴的垂直轴。给定该参考框架,用户可通过在x-y平面中移动他或她的手以将光标定位在控制柄上,然后沿z轴向捕捉设备移动手来依附于控制柄。在光标被定位在控制柄上的情况下,计算环境12将用户的手的向内(inward)移动(即沿z轴更靠近屏幕上控制柄21)解释为用户试图依附于控制柄,且计算环境执行该动作。在各实施例中,屏幕上x-y移动是在曲面坐标空间中完成的。也就是说,用户的移动主要在x方向和y方向是静止的,但对于人类手臂遵循的弯曲路径,考虑了z方向的某一扭曲量的因素。
存在具有变化的接合方法的不同类型的控制柄。第一种控制柄可以是单手控制柄。这些类型的控制柄可由用户的右手或左手但非双手来接合。第二种类型的控制柄可以是双手控制柄。这些类型的控制柄能够由用户的右手或左手接合。可对右手和左手版本创建双手控制柄的单独的实例,并定位到动作区域的左侧或右侧,使得控制柄可被定位用于用户的3D空间中的更自然的接合。第三种类型的控制柄是双手成对控制柄。这些控制柄要求用户的双手来完成交互。这些交互利用视觉启示以及在各实施例中利用听觉启示,来告知用户如何完成更复杂的交互,如下所解释的。
图18包括单手控制柄21的示例。图19是包括控制柄的额外示例的显示画面的视图。图2中朝向UI 19顶部的控制柄21是与动作区域23相关联的单手控制柄21,在该示例中动作区域是文本导航菜单。朝向UI 19的底部的两个控制柄21是与动作区域23相关联的双手控制柄的示例。在图2的示例中,动作区域23是一个或多个图形导航对象(也称为“槽”),示出通过用户选择某一槽下面的两个角处的两个控制柄21可对其执行某一动作的具体软件标题。
不同的控制柄21也可能够在用户接合时进行不同的移动。例如,某些控制柄被约束到在单个方向移动(例如沿屏幕的x轴或y轴)。提供其他控制柄用于沿x轴和y轴的二轴移动。还有控制柄被提供用于绕x-y平面的多向移动。又有一些控制柄可专门地或作为多向运动的一部分沿x轴移动。每个控制柄可包括用于清楚地指示用户可如何操纵控制柄的启示。例如,当用户接近控制柄21时,这里被称为“导轨”(rail)的图形指示可出现在显示画面上控制柄附近。导轨示出控制柄21可移动以在相关联的动作区域23上完成某一动作的方向。图18示出了导轨27,导轨27指示出可沿x轴(图18中向左)移动控制柄21。如所指示的,导轨仅在用户接近控制柄21或接合控制柄21时出现。否则,它们在屏幕上是不可见的,以便不使显示画面零乱。然而,在另选的实施例中,与控制柄相关联的任何导轨可在其控制柄可见时总是可见的。
在进一步的实施例中,光标25也可提供关于可能的控制柄操纵的反馈和提示。也就是说,除了控制柄本身之外,光标的位置可使得导轨被显露,或提供操纵反馈。
图20示出了图19的屏幕视图,但是是在用户已经在屏幕上方附近依附于控制柄21之后的某一时间。如此,导轨27a和27b被显示给用户。导轨27a示出用户可向上或向下移动控制柄。与对控制柄21的这种操纵相关联的动作将会是在动作区域23中向上或向下滚动文本菜单。在一个实施例中,在接合了控制柄之后,用户可执行垂直扫视姿势,以向上或向下滚动文本。导轨27b示出用户可将控制柄向右移动(从图20的观点来看)。与对控制柄21的这一操纵相关联的动作将会是将动作区域23滚动到控制柄然后将位于的菜单项的子标题处。一旦滚动到子标题,可出现新的水平导轨,以向用户示出他或她可将控制柄向左移动(从图20的观点来看)以返回到下一更高级别的菜单。
图21示出了图19的屏幕视图,但是是在用户已经在屏幕底部附近依附于控制柄21a、21b之后的某一时间。如此,导轨27c和27d被显示给用户。控制柄21a、21b以及导轨27c、27d被一起显示在某一槽的角落处,示出用户能够用双手选择该槽(一个手在任一个控制柄上)。图21还示出控制柄21c和21d朝向UI 19的任一侧。接合并将控制柄21c向左移动(从图21的观点来看)完成了将槽29向左滚动的动作。接合并将控制柄21d向右移动(从图21的观点来看)完成了将槽29向右滚动的动作。在一个实施例中,在接合了控制柄之后,用户可执行水平扫视姿势,以向左或向右滚动槽。图21中所描绘的双手选择姿势可遵循先前在图17A-17B中描绘的反向压缩模式。
关于识别器引擎190的更多信息可在2009年4月13日提交的美国专利申请12/422,661 Gesture Recognizer System Architecture(姿势识别器系统架构)”中找到,该申请通过整体引用合并于此。关于识别姿势的更多信息可在2009年2月23日提交的美国专利申请12/391,150 Standard Gestures(标准姿势)”;以及2009年5月29日提交的美国专利申请12/474,655 Gesture Tool(姿势工具)”中找到。这两个申请都通过整体引用合并于此。关于控制柄的更多的信息可在题为“Handles Interactions for Human-Computer Interface”(用于人机接口的控制柄交互)的美国专利申请12/703,115中找到。
尽管用专门描述结构特征和/或方法动作的语言描述了主题,但是应当理解,在所附权利要求书中限定的主题并不一定局限于上述特定的特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。本发明的范围旨在由所附权利要求书来定义。

Claims (15)

1.一种使用人类目标的半空中运动来操作用户界面的方法,包括:
从捕捉设备接收多个图像,所述多个图像包括所述人类目标(302);
使用所述人类目标的骨架映射从所述多个图像跟踪所述人类目标的移动(312);
从所述骨架映射确定所述人类目标的移动是否满足用于第一半空中姿势的一个或多个过滤器,所述一个或多个过滤器指定了所述第一半空中姿势应由某一只手或由双手来执行(320);以及
如果所述人类目标的移动满足所述一个或多个过滤器,则执行对应于所述半空中姿势的至少一个用户界面动作(322)。
2.如权利要求1所述的方法,其特征在于,还包括:
提供对应于多个半空中姿势中的每一个半空中姿势的至少一个姿势过滤器,包括提供用于所述第一半空中姿势的所述一个或多个过滤器;
确定所述用户界面的上下文;
确定对应于所述用户界面的上下文的一组可行的半空中姿势,该组包括所述第一半空中姿势和比所述多个半空中姿势中的全部半空中姿势少的半空中姿势;以及
响应于确定所述用户界面的上下文,仅从所述骨架模型确定所述人类目标的移动是否满足对应于所述组中的每一个可行的半空中姿势的至少一个姿势过滤器。
3.如权利要求1所述的方法,其特征在于:
所述第一半空中姿势是水平扫视姿势;
确定所述人类目标的移动是否满足用于水平扫视姿势的一个或多个过滤器包括:
确定所述人类目标的手的位置是否满足起始位置参数,
确定所述手从所述起始位置移动的方向是否满足方向参数,
确定所述手在所述移动期间行进的距离是否满足距离参数,
确定满足所述距离参数的所述手的移动是否在时间参数内发生。
4.如权利要求3所述的方法,其特征在于,对应于水平扫视姿势的至少一个用户界面动作包括对所述用户界面的菜单项的水平滚动动作,所述方法还包括:
当所述手行进的距离是第一距离时,将所述用户界面的菜单项水平滚动第一量;以及
当所述手行进的距离是第二距离时,将所述用户界面的菜单项水平滚动第二量,所述第一量小于所述第二量,所述第一距离小于所述第二距离。
5.如权利要求3所述的方法,其特征在于,对应于水平扫视姿势的至少一个用户界面动作包括对所述用户界面的菜单项的水平滚动动作,所述方法还包括:
确定在所述手的移动期间所述手的速度;
当所述速度是第一速度时,将所述用户界面的菜单项水平滚动第一量;以及
当所述速度是第二速度时,将所述用户界面的菜单项水平滚动第二量,所述第一量小于所述第二量,所述第一速度小于所述第二速度。
6.如权利要求3所述的方法,其特征在于,所述水平扫视姿势是用右手的水平扫视姿势,所述手是所述人类目标的右手,所述方法还包括:
当确定所述人类目标的移动满足所述用右手的水平扫视姿势的一个或多个过滤器时,过滤以去除所述人类目标的左手的骨架映射信息。
7.如权利要求1所述的方法,其特征在于,所述第一半空中姿势是垂直扫视姿势,对应于所述垂直扫视姿势的至少一个用户界面动作包括对所述用户界面的菜单项的垂直滚动动作,所述方法还包括:
确定所述人类目标的手在执行所述垂直扫视姿势时的速度;
当所述手的速度是第一速度时,将所述用户界面的菜单项垂直滚动第一量;以及
当所述手的速度是第二速度时,将所述用户界面的菜单项垂直滚动第二量,所述第一量小于所述第二量,所述第一速度小于所述第二速度。
8.如权利要求1所述的方法,其特征在于:
所述第一半空中姿势是按压姿势;
对应于所述按压姿势的至少一个用户界面动作包括对所述用户界面的菜单项的选择;
确定所述人类目标的移动是否满足用于所述按压姿势的一个或多个过滤器包括:
确定所述人类目标的手的位置是否满足起始位置参数,
确定所述手从所述起始位置移动的方向是否满足方向参数,所述方向参数对应于所述人类目标的手离开所述人类目标的身体且朝向所述捕捉设备的移动,
确定所述人类目标的手的结束位置,
确定所述手在所述移动期间行进的距离是否满足距离参数,
确定满足所述距离参数的所述手的移动是否满足时间参数;以及
执行对菜单项目的选择包括选择对应于所述人类目标的手的结束位置的第一菜单项。
9.如权利要求1所述的方法,其特征在于:
所述第一半空中姿势是回退姿势;
对应于所述回退姿势的至少一个用户界面动作包括在用户界面内回退导航;
确定所述人类目标的移动是否满足用于所述回退姿势的一个或多个过滤器包括:
确定所述人类目标的手的位置是否满足起始位置参数,
确定所述手从所述起始位置移动的方向是否满足方向参数,所述方向参数对应于所述人类目标的手离开所述捕捉设备且朝向所述人类目标的身体的移动。
10.如权利要求1所述的方法,其特征在于:
所述半空中姿势是双手按压姿势;
对应于所述双手按压姿势的至少一个用户界面动作包括在用户界面内回退导航;
确定所述人类目标的移动是否满足用于所述双手按压姿势的一个或多个过滤器包括:
确定所述人类目标的右手的位置是否满足第一起始位置参数,
确定所述人类目标的左手的位置是否满足第二起始位置参数,
确定所述右手从其起始位置移动的方向是否满足第一方向参数,所述第一方向参数对应于所述右手离开所述人类目标的身体且朝向所述捕捉设备的移动,
确定所述左手从其起始位置移动的方向是否满足第二方向参数,所述第二方向参数对应于所述左手离开所述人类目标的身体且朝向所述捕捉设备的移动,
确定所述左手的移动和所述右手的移动是否满足协调参数。
11.如权利要求1所述的方法,其特征在于:
所述半空中姿势是双手压缩姿势;
对应于所述双手压缩姿势的至少一个用户界面动作包括在用户界面内回退导航;
确定所述人类目标的移动是否满足用于所述双手压缩姿势的一个或多个过滤器包括:
确定所述人类目标的右手的位置是否满足第一起始位置参数,
确定所述人类目标的左手的位置是否满足第二起始位置参数,
确定所述右手从其起始位置移动的方向是否满足第一方向参数,所述第一方向参数对应于所述右手朝所述人类目标的身体的左侧的移动,
确定所述左手从其起始位置移动的方向是否满足第二方向参数,所述第二方向参数对应于所述左手朝所述人类目标的身体的右侧的移动,
确定所述左手的移动和所述右手的移动是否满足协调参数。
12.如权利要求1所述的方法,其特征在于,所述多个图像是多个深度图像。
13.一种用于跟踪用户移动以控制用户界面的系统,包括:
提供所述用户界面(23)的操作系统(196);
与图像捕捉设备(20)通信的跟踪系统(10),用以接收包括人类目标的捕捉区域的深度信息,以及创建映射人类目标的随着时间的移动的骨架模型;
存储多个姿势过滤器(450a、450b)的姿势库(192),每个姿势过滤器包含用于至少一个姿势的信息,所述多个姿势过滤器中的一个或多个姿势过滤器指定对应的姿势应由某一只手或由双手来执行;以及
与所述姿势库(192)通信的姿势识别引擎(190),用于接收所述骨架模型以及确定所述人类目标的移动是否满足所述多个姿势过滤器中的一个或多个,当所述人类目标的移动满足所述多个姿势过滤器中的一个或多个时,所述姿势识别引擎向所述操作系统提供指示。
14.如权利要求13所述的系统,其特征在于:
所述姿势识别引擎确定所述用户界面的上下文,且作为响应,访问所述多个姿势过滤器中的对应于所确定的上下文的子集,所述子集包括比所述多个姿势过滤器中的全部姿势过滤器少的姿势过滤器,所述姿势识别引擎仅确定所述人类目标的移动是否满足所述多个姿势过滤器的所述子集中的一个或多个姿势过滤器。
15.如权利要求13所述的系统,还包括:
执行所述操作系统、姿势库和姿势识别引擎的至少一个第一处理器;
所述图像捕捉设备;
从所述图像捕捉设备接收所述深度信息并执行所述跟踪系统的至少一个第二处理器,所述深度信息包括多个深度图像。
CN2011101381789A 2010-05-18 2011-05-17 用于操纵用户界面的姿势和姿势识别 Pending CN102262438A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/782,377 2010-05-18
US12/782,377 US20110289455A1 (en) 2010-05-18 2010-05-18 Gestures And Gesture Recognition For Manipulating A User-Interface

Publications (1)

Publication Number Publication Date
CN102262438A true CN102262438A (zh) 2011-11-30

Family

ID=44973518

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011101381789A Pending CN102262438A (zh) 2010-05-18 2011-05-17 用于操纵用户界面的姿势和姿势识别

Country Status (2)

Country Link
US (1) US20110289455A1 (zh)
CN (1) CN102262438A (zh)

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681655A (zh) * 2011-02-11 2012-09-19 黄得锋 一种放大系统及其运用
CN103020648A (zh) * 2013-01-09 2013-04-03 北京东方艾迪普科技发展有限公司 一种动作类型识别方法、节目播出方法及装置
CN103135758A (zh) * 2011-12-02 2013-06-05 深圳泰山在线科技有限公司 实现快捷功能的方法及系统
CN103218035A (zh) * 2012-01-19 2013-07-24 联想(北京)有限公司 一种手势输入方法及电子设备
CN103869959A (zh) * 2012-12-18 2014-06-18 原相科技股份有限公司 电子装置控制方法以及电子装置
CN104737102A (zh) * 2012-02-24 2015-06-24 亚马逊技术公司 用于多维输入的导航方法
CN104969145A (zh) * 2012-12-14 2015-10-07 微软技术许可有限责任公司 靶向和按压自然用户输入
CN105027031A (zh) * 2013-12-19 2015-11-04 谷歌公司 使用在无触摸手势界面中的物体之间的距离
CN105308536A (zh) * 2013-01-15 2016-02-03 厉动公司 用于显示器控制和定制姿势解释的动态用户交互
CN105867636A (zh) * 2016-04-29 2016-08-17 四川数字工匠科技有限公司 多媒体播放器体感控制系统
CN106502556A (zh) * 2015-09-08 2017-03-15 苹果公司 用于使用触敏远程控件移动当前焦点的设备和方法
CN107092345A (zh) * 2016-02-17 2017-08-25 大众汽车有限公司 对用户手势进行分类的用户接口、运动工具和方法
CN107111746A (zh) * 2014-10-30 2017-08-29 微软技术许可有限责任公司 根据原始飞行时间图像的模型拟合
CN107111382A (zh) * 2014-08-26 2017-08-29 黑魔法设计私人有限公司 用于在三维空间中定位及控制声像的系统和方法
CN107924392A (zh) * 2015-08-26 2018-04-17 微软技术许可有限责任公司 基于姿势的注释
CN108369451A (zh) * 2015-12-18 2018-08-03 索尼公司 信息处理装置、信息处理方法及程序
US10042510B2 (en) 2013-01-15 2018-08-07 Leap Motion, Inc. Dynamic user interactions for display control and measuring degree of completeness of user gestures
CN108958689A (zh) * 2018-07-27 2018-12-07 广州视源电子科技股份有限公司 显示屏状态控制系统、状态控制方法、装置和存储介质
CN110275664A (zh) * 2015-09-08 2019-09-24 苹果公司 用于提供视听反馈的设备、方法和图形用户界面
CN110415387A (zh) * 2018-04-27 2019-11-05 开利公司 包括设置在由用户携带的容纳件中的移动设备的姿势进入控制系统
US10545635B2 (en) 2015-06-18 2020-01-28 Apple Inc. Device, method, and graphical user interface for navigating media content
CN110800024A (zh) * 2018-05-31 2020-02-14 谷歌有限责任公司 基于明确表达的距离场的手跟踪
CN110940359A (zh) * 2018-09-25 2020-03-31 发那科株式会社 编码器和控制系统
CN111310812A (zh) * 2020-02-06 2020-06-19 佛山科学技术学院 一种基于数据驱动的层次化人体活动识别方法及系统
CN111353347A (zh) * 2018-12-21 2020-06-30 上海形趣信息科技有限公司 动作识别纠错方法、电子设备、存储介质
CN111859597A (zh) * 2019-04-18 2020-10-30 北京京东尚科信息技术有限公司 一种自动驾驶算法的评估方法和系统
CN112639689A (zh) * 2020-04-30 2021-04-09 华为技术有限公司 基于隔空手势的控制方法、装置及系统
US11030773B2 (en) 2017-05-31 2021-06-08 Google Llc Hand tracking based on articulated distance field
CN113068051A (zh) * 2021-03-08 2021-07-02 北京达佳互联信息技术有限公司 直播互动方法及装置
CN113778217A (zh) * 2021-09-13 2021-12-10 海信视像科技股份有限公司 显示设备及显示设备控制方法
CN114020157A (zh) * 2021-11-15 2022-02-08 广州小鹏汽车科技有限公司 验车的方法、装置、车辆及存储介质
WO2022095915A1 (zh) * 2020-11-04 2022-05-12 索尼半导体解决方案公司 电子设备、方法和存储介质
US11347317B2 (en) 2013-04-05 2022-05-31 Ultrahaptics IP Two Limited Customized gesture interpretation
US11875012B2 (en) 2018-05-25 2024-01-16 Ultrahaptics IP Two Limited Throwable interface for augmented reality and virtual reality environments
US11922006B2 (en) 2018-06-03 2024-03-05 Apple Inc. Media control for screensavers on an electronic device
CN111859597B (zh) * 2019-04-18 2024-04-05 北京京东乾石科技有限公司 一种自动驾驶算法的评估方法和系统

Families Citing this family (111)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9639744B2 (en) * 2009-01-30 2017-05-02 Thomson Licensing Method for controlling and requesting information from displaying multimedia
WO2010103482A2 (en) 2009-03-13 2010-09-16 Primesense Ltd. Enhanced 3d interfacing for remote devices
WO2011004135A1 (en) * 2009-07-07 2011-01-13 Elliptic Laboratories As Control using movements
US9098114B2 (en) * 2009-09-03 2015-08-04 Human Touch, Llc Comprehensive user control system for therapeutic wellness devices
US20110310010A1 (en) 2010-06-17 2011-12-22 Primesense Ltd. Gesture based user interface
KR101708696B1 (ko) * 2010-09-15 2017-02-21 엘지전자 주식회사 휴대 단말기 및 그 동작 제어방법
US9477302B2 (en) * 2012-08-10 2016-10-25 Google Inc. System and method for programing devices within world space volumes
KR101727040B1 (ko) * 2010-10-14 2017-04-14 엘지전자 주식회사 전자 장치 및 메뉴 제공 방법
TWI439947B (zh) * 2010-11-11 2014-06-01 Ind Tech Res Inst 辨識人體移動行為之方法及系統
EP2455841A3 (en) * 2010-11-22 2015-07-15 Samsung Electronics Co., Ltd. Apparatus and method for selecting item using movement of object
US9857868B2 (en) 2011-03-19 2018-01-02 The Board Of Trustees Of The Leland Stanford Junior University Method and system for ergonomic touch-free interface
US8840466B2 (en) 2011-04-25 2014-09-23 Aquifi, Inc. Method and system to create three-dimensional mapping in a two-dimensional game
RU2455676C2 (ru) 2011-07-04 2012-07-10 Общество с ограниченной ответственностью "ТРИДИВИ" Способ управления устройством с помощью жестов и 3d-сенсор для его осуществления
US9218063B2 (en) * 2011-08-24 2015-12-22 Apple Inc. Sessionless pointing user interface
US8953889B1 (en) * 2011-09-14 2015-02-10 Rawles Llc Object datastore in an augmented reality environment
US9628843B2 (en) * 2011-11-21 2017-04-18 Microsoft Technology Licensing, Llc Methods for controlling electronic devices using gestures
CN103135745B (zh) * 2011-11-25 2018-01-02 夏普株式会社 基于深度图像的非接触控制方法、信息设备和系统
US9171380B2 (en) * 2011-12-06 2015-10-27 Microsoft Technology Licensing, Llc Controlling power consumption in object tracking pipeline
US9678574B2 (en) 2011-12-23 2017-06-13 Intel Corporation Computing system utilizing three-dimensional manipulation command gestures
WO2013095678A1 (en) 2011-12-23 2013-06-27 Intel Corporation Mechanism to provide feedback regarding computing system command gestures
WO2013095679A1 (en) * 2011-12-23 2013-06-27 Intel Corporation Computing system utilizing coordinated two-hand command gestures
US8782565B2 (en) * 2012-01-12 2014-07-15 Cisco Technology, Inc. System for selecting objects on display
US11493998B2 (en) 2012-01-17 2022-11-08 Ultrahaptics IP Two Limited Systems and methods for machine control
US8693731B2 (en) 2012-01-17 2014-04-08 Leap Motion, Inc. Enhanced contrast for object detection and characterization by optical imaging
US10691219B2 (en) 2012-01-17 2020-06-23 Ultrahaptics IP Two Limited Systems and methods for machine control
US9679215B2 (en) 2012-01-17 2017-06-13 Leap Motion, Inc. Systems and methods for machine control
US9501152B2 (en) 2013-01-15 2016-11-22 Leap Motion, Inc. Free-space user interface and control using virtual constructs
US8638989B2 (en) 2012-01-17 2014-01-28 Leap Motion, Inc. Systems and methods for capturing motion in three-dimensional space
US9070019B2 (en) 2012-01-17 2015-06-30 Leap Motion, Inc. Systems and methods for capturing motion in three-dimensional space
US9052819B2 (en) * 2012-01-25 2015-06-09 Honeywell International Inc. Intelligent gesture-based user's instantaneous interaction and task requirements recognition system and method
US20130194180A1 (en) * 2012-01-27 2013-08-01 Lg Electronics Inc. Device and method of controlling the same
JP5509227B2 (ja) * 2012-01-31 2014-06-04 株式会社コナミデジタルエンタテインメント 移動制御装置、移動制御装置の制御方法、及びプログラム
US8854433B1 (en) 2012-02-03 2014-10-07 Aquifi, Inc. Method and system enabling natural user interface gestures with an electronic system
CN102662576B (zh) * 2012-03-29 2015-04-29 华为终端有限公司 基于触摸的信息发送方法及装置
US10448161B2 (en) * 2012-04-02 2019-10-15 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for gestural manipulation of a sound field
TWI476706B (zh) * 2012-04-30 2015-03-11 Pixart Imaging Inc 偵測物件移動輸出命令的方法及其系統
US9747306B2 (en) * 2012-05-25 2017-08-29 Atheer, Inc. Method and apparatus for identifying input features for later recognition
US9111135B2 (en) 2012-06-25 2015-08-18 Aquifi, Inc. Systems and methods for tracking human hands using parts based template matching using corresponding pixels in bounded regions of a sequence of frames that are a specified distance interval from a reference camera
US8934675B2 (en) 2012-06-25 2015-01-13 Aquifi, Inc. Systems and methods for tracking human hands by performing parts based template matching using images from multiple viewpoints
JP5665140B2 (ja) 2012-08-17 2015-02-04 Necソリューションイノベータ株式会社 入力装置、入力方法、及びプログラム
US8836768B1 (en) 2012-09-04 2014-09-16 Aquifi, Inc. Method and system enabling natural user interface gestures with user wearable glasses
TWI496090B (zh) 2012-09-05 2015-08-11 Ind Tech Res Inst 使用深度影像的物件定位方法與裝置
US9285893B2 (en) 2012-11-08 2016-03-15 Leap Motion, Inc. Object detection and tracking with variable-field illumination devices
US20140152540A1 (en) * 2012-12-04 2014-06-05 Franck Franck Gesture-based computer control
US20140340498A1 (en) * 2012-12-20 2014-11-20 Google Inc. Using distance between objects in touchless gestural interfaces
US10609285B2 (en) 2013-01-07 2020-03-31 Ultrahaptics IP Two Limited Power consumption in motion-capture systems
US9626015B2 (en) 2013-01-08 2017-04-18 Leap Motion, Inc. Power consumption in motion-capture systems with audio and optical signals
US9459697B2 (en) 2013-01-15 2016-10-04 Leap Motion, Inc. Dynamic, free-space user interactions for machine control
US9129155B2 (en) 2013-01-30 2015-09-08 Aquifi, Inc. Systems and methods for initializing motion tracking of human hands using template matching within bounded regions determined using a depth map
US9092665B2 (en) 2013-01-30 2015-07-28 Aquifi, Inc Systems and methods for initializing motion tracking of human hands
CN103150018B (zh) * 2013-03-07 2016-09-21 深圳泰山体育科技股份有限公司 手势识别方法及装置
US20140279508A1 (en) * 2013-03-14 2014-09-18 TollShare, Inc. Selective operation of executable procedures based on detected gesture and context
US9702977B2 (en) 2013-03-15 2017-07-11 Leap Motion, Inc. Determining positional information of an object in space
US20140282275A1 (en) * 2013-03-15 2014-09-18 Qualcomm Incorporated Detection of a zooming gesture
US9298266B2 (en) 2013-04-02 2016-03-29 Aquifi, Inc. Systems and methods for implementing three-dimensional (3D) gesture based graphical user interfaces (GUI) that incorporate gesture reactive interface objects
US9916009B2 (en) 2013-04-26 2018-03-13 Leap Motion, Inc. Non-tactile interface systems and methods
US9747696B2 (en) 2013-05-17 2017-08-29 Leap Motion, Inc. Systems and methods for providing normalized parameters of motions of objects in three-dimensional space
RU2015148842A (ru) 2013-06-14 2017-07-19 Интерконтинентал Грейт Брендс Ллк Интерактивные видеоигры
US9798388B1 (en) 2013-07-31 2017-10-24 Aquifi, Inc. Vibrotactile system to augment 3D input systems
US10281987B1 (en) 2013-08-09 2019-05-07 Leap Motion, Inc. Systems and methods of free-space gestural interaction
US9423946B2 (en) 2013-08-12 2016-08-23 Apple Inc. Context sensitive actions in response to touch input
US10846942B1 (en) 2013-08-29 2020-11-24 Ultrahaptics IP Two Limited Predictive information for free space gesture control and communication
US9766855B2 (en) * 2013-09-10 2017-09-19 Avigilon Corporation Method and apparatus for controlling surveillance system with gesture and/or audio commands
US9632572B2 (en) 2013-10-03 2017-04-25 Leap Motion, Inc. Enhanced field of view to augment three-dimensional (3D) sensory space for free-space gesture interpretation
US10220304B2 (en) * 2013-10-14 2019-03-05 Microsoft Technology Licensing, Llc Boolean/float controller and gesture recognition system
KR20150043818A (ko) 2013-10-15 2015-04-23 삼성전자주식회사 영상처리장치 및 그 제어방법
US9996638B1 (en) 2013-10-31 2018-06-12 Leap Motion, Inc. Predictive information for free space gesture control and communication
US9304674B1 (en) * 2013-12-18 2016-04-05 Amazon Technologies, Inc. Depth-based display navigation
US20150185858A1 (en) * 2013-12-26 2015-07-02 Wes A. Nagara System and method of plane field activation for a gesture-based control system
US9390726B1 (en) 2013-12-30 2016-07-12 Google Inc. Supplementing speech commands with gestures
US9213413B2 (en) 2013-12-31 2015-12-15 Google Inc. Device interaction with spatially aware gestures
US9507417B2 (en) 2014-01-07 2016-11-29 Aquifi, Inc. Systems and methods for implementing head tracking based graphical user interfaces (GUI) that incorporate gesture reactive interface objects
US9613262B2 (en) 2014-01-15 2017-04-04 Leap Motion, Inc. Object detection and tracking for providing a virtual device experience
US20150201124A1 (en) * 2014-01-15 2015-07-16 Samsung Electronics Co., Ltd. Camera system and method for remotely controlling compositions of self-portrait pictures using hand gestures
US9619105B1 (en) 2014-01-30 2017-04-11 Aquifi, Inc. Systems and methods for gesture based interaction with viewpoint dependent user interfaces
KR20150131607A (ko) * 2014-05-15 2015-11-25 한국전자통신연구원 사용자 인터페이스 제어 장치 및 그것의 사용자 인터페이스 제어 방법
US9958946B2 (en) 2014-06-06 2018-05-01 Microsoft Technology Licensing, Llc Switching input rails without a release command in a natural user interface
FR3024262B1 (fr) * 2014-07-24 2017-11-17 Snecma Dispositif d'aide a la maintenance d'un moteur d'aeronef par reconnaissance de mouvement a distance.
DE202014103729U1 (de) 2014-08-08 2014-09-09 Leap Motion, Inc. Augmented-Reality mit Bewegungserfassung
US20160062473A1 (en) * 2014-08-29 2016-03-03 Hand Held Products, Inc. Gesture-controlled computer system
US20160078287A1 (en) * 2014-08-29 2016-03-17 Konica Minola Laboratory U.S.A., Inc. Method and system of temporal segmentation for gesture analysis
US9315197B1 (en) * 2014-09-30 2016-04-19 Continental Automotive Systems, Inc. Hands accelerating control system
KR101636460B1 (ko) * 2014-11-05 2016-07-05 삼성전자주식회사 전자 장치 및 그 제어 방법
CN104391573B (zh) * 2014-11-10 2017-05-03 北京华如科技股份有限公司 一种基于单姿态传感器识别投掷动作的方法及装置
WO2016118111A1 (en) * 2015-01-20 2016-07-28 General Electric Company System and method for associating device input to users via skeletal tracking
US9860145B2 (en) 2015-07-02 2018-01-02 Microsoft Technology Licensing, Llc Recording of inter-application data flow
US9785484B2 (en) 2015-07-02 2017-10-10 Microsoft Technology Licensing, Llc Distributed application interfacing across different hardware
US10198252B2 (en) 2015-07-02 2019-02-05 Microsoft Technology Licensing, Llc Transformation chain application splitting
US10261985B2 (en) 2015-07-02 2019-04-16 Microsoft Technology Licensing, Llc Output rendering in dynamic redefining application
US9658836B2 (en) 2015-07-02 2017-05-23 Microsoft Technology Licensing, Llc Automated generation of transformation chain compatible class
US9733915B2 (en) 2015-07-02 2017-08-15 Microsoft Technology Licensing, Llc Building of compound application chain applications
US9733993B2 (en) 2015-07-02 2017-08-15 Microsoft Technology Licensing, Llc Application sharing using endpoint interface entities
US9712472B2 (en) 2015-07-02 2017-07-18 Microsoft Technology Licensing, Llc Application spawning responsive to communication
US10031724B2 (en) 2015-07-08 2018-07-24 Microsoft Technology Licensing, Llc Application operation responsive to object spatial status
US10198405B2 (en) 2015-07-08 2019-02-05 Microsoft Technology Licensing, Llc Rule-based layout of changing information
US10277582B2 (en) 2015-08-27 2019-04-30 Microsoft Technology Licensing, Llc Application service architecture
US10140776B2 (en) 2016-06-13 2018-11-27 Microsoft Technology Licensing, Llc Altering properties of rendered objects via control points
JP6724582B2 (ja) * 2016-06-15 2020-07-15 富士通株式会社 画像生成装置、画像生成プログラム及び画像生成方法
CN107015637B (zh) * 2016-10-27 2020-05-05 阿里巴巴集团控股有限公司 虚拟现实场景下的输入方法和装置
CN108259496B (zh) * 2018-01-19 2021-06-04 北京市商汤科技开发有限公司 特效程序文件包的生成及特效生成方法与装置、电子设备
CN112860168B (zh) * 2018-02-08 2022-08-02 北京市商汤科技开发有限公司 特效程序文件包的生成及特效生成方法与装置、电子设备
JP2019148949A (ja) * 2018-02-27 2019-09-05 株式会社 イマテック 支援システム及び支援方法
CN110415389B (zh) 2018-04-27 2024-02-23 开利公司 姿势进入控制系统和预测移动设备相对于用户所在部位的方法
US20200012350A1 (en) * 2018-07-08 2020-01-09 Youspace, Inc. Systems and methods for refined gesture recognition
US20200142495A1 (en) * 2018-11-05 2020-05-07 Eyesight Mobile Technologies Ltd. Gesture recognition control device
CN111429148A (zh) * 2019-01-09 2020-07-17 北京京东尚科信息技术有限公司 评价界面进入方法及装置
WO2020153232A1 (ja) * 2019-01-24 2020-07-30 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理装置の制御方法、及びプログラム
WO2021051200A1 (en) * 2019-09-17 2021-03-25 Huawei Technologies Co., Ltd. User interface control based on elbow-anchored arm gestures
US20210279893A1 (en) * 2020-03-09 2021-09-09 Disney Enterprises, Inc. Interactive entertainment system
CN112270302A (zh) * 2020-11-17 2021-01-26 支付宝(杭州)信息技术有限公司 肢体控制方法、装置和电子设备
CN117111751B (zh) * 2023-10-25 2024-04-02 北京大学 基于脉冲阵列的姿态变化检测方法、装置、设备和介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001069365A1 (en) * 2000-03-13 2001-09-20 Ab In Credoble Gesture recognition system
CN101073089A (zh) * 2004-04-15 2007-11-14 格斯图尔泰克股份有限公司 跟踪双手运动
US20090027337A1 (en) * 2007-07-27 2009-01-29 Gesturetek, Inc. Enhanced camera-based input
US20090077504A1 (en) * 2007-09-14 2009-03-19 Matthew Bell Processing of Gesture-Based User Interactions
US20090183193A1 (en) * 2008-01-11 2009-07-16 Sony Computer Entertainment America Inc. Gesture cataloging and recognition

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2399243A4 (en) * 2009-02-17 2013-07-24 Omek Interactive Ltd METHOD AND SYSTEM FOR RECOGNIZING GESTURE
US20100295782A1 (en) * 2009-05-21 2010-11-25 Yehuda Binder System and method for control based on face ore hand gesture detection

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001069365A1 (en) * 2000-03-13 2001-09-20 Ab In Credoble Gesture recognition system
CN101073089A (zh) * 2004-04-15 2007-11-14 格斯图尔泰克股份有限公司 跟踪双手运动
US20090027337A1 (en) * 2007-07-27 2009-01-29 Gesturetek, Inc. Enhanced camera-based input
US20090077504A1 (en) * 2007-09-14 2009-03-19 Matthew Bell Processing of Gesture-Based User Interactions
US20090183193A1 (en) * 2008-01-11 2009-07-16 Sony Computer Entertainment America Inc. Gesture cataloging and recognition

Cited By (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681655A (zh) * 2011-02-11 2012-09-19 黄得锋 一种放大系统及其运用
CN102681655B (zh) * 2011-02-11 2017-07-07 黄得锋 一种放大系统及其运用
CN103135758A (zh) * 2011-12-02 2013-06-05 深圳泰山在线科技有限公司 实现快捷功能的方法及系统
CN103135758B (zh) * 2011-12-02 2016-09-21 深圳泰山体育科技股份有限公司 实现快捷功能的方法及系统
CN103218035B (zh) * 2012-01-19 2016-10-05 联想(北京)有限公司 一种手势输入方法及电子设备
CN103218035A (zh) * 2012-01-19 2013-07-24 联想(北京)有限公司 一种手势输入方法及电子设备
CN104737102A (zh) * 2012-02-24 2015-06-24 亚马逊技术公司 用于多维输入的导航方法
CN104737102B (zh) * 2012-02-24 2019-03-12 亚马逊技术公司 用于多维输入的导航方法
CN104969145A (zh) * 2012-12-14 2015-10-07 微软技术许可有限责任公司 靶向和按压自然用户输入
CN103869959A (zh) * 2012-12-18 2014-06-18 原相科技股份有限公司 电子装置控制方法以及电子装置
CN103020648A (zh) * 2013-01-09 2013-04-03 北京东方艾迪普科技发展有限公司 一种动作类型识别方法、节目播出方法及装置
CN103020648B (zh) * 2013-01-09 2016-04-13 艾迪普(北京)文化科技股份有限公司 一种动作类型识别方法、节目播出方法及装置
US10817130B2 (en) 2013-01-15 2020-10-27 Ultrahaptics IP Two Limited Dynamic user interactions for display control and measuring degree of completeness of user gestures
CN105308536A (zh) * 2013-01-15 2016-02-03 厉动公司 用于显示器控制和定制姿势解释的动态用户交互
US10782847B2 (en) 2013-01-15 2020-09-22 Ultrahaptics IP Two Limited Dynamic user interactions for display control and scaling responsiveness of display objects
US11269481B2 (en) 2013-01-15 2022-03-08 Ultrahaptics IP Two Limited Dynamic user interactions for display control and measuring degree of completeness of user gestures
US10241639B2 (en) 2013-01-15 2019-03-26 Leap Motion, Inc. Dynamic user interactions for display control and manipulation of display objects
US10042510B2 (en) 2013-01-15 2018-08-07 Leap Motion, Inc. Dynamic user interactions for display control and measuring degree of completeness of user gestures
CN113568506A (zh) * 2013-01-15 2021-10-29 超级触觉资讯处理有限公司 用于显示器控制和定制姿势解释的动态用户交互
US11347317B2 (en) 2013-04-05 2022-05-31 Ultrahaptics IP Two Limited Customized gesture interpretation
CN105027031A (zh) * 2013-12-19 2015-11-04 谷歌公司 使用在无触摸手势界面中的物体之间的距离
CN107111382A (zh) * 2014-08-26 2017-08-29 黑魔法设计私人有限公司 用于在三维空间中定位及控制声像的系统和方法
CN107111746A (zh) * 2014-10-30 2017-08-29 微软技术许可有限责任公司 根据原始飞行时间图像的模型拟合
CN107111746B (zh) * 2014-10-30 2020-10-23 微软技术许可有限责任公司 根据原始飞行时间图像的模型拟合
US10572109B2 (en) 2015-06-18 2020-02-25 Apple Inc. Device, method, and graphical user interface for navigating media content
US11816303B2 (en) 2015-06-18 2023-11-14 Apple Inc. Device, method, and graphical user interface for navigating media content
US10545635B2 (en) 2015-06-18 2020-01-28 Apple Inc. Device, method, and graphical user interface for navigating media content
CN107924392A (zh) * 2015-08-26 2018-04-17 微软技术许可有限责任公司 基于姿势的注释
US10599394B2 (en) 2015-09-08 2020-03-24 Apple Inc. Device, method, and graphical user interface for providing audiovisual feedback
US11635876B2 (en) 2015-09-08 2023-04-25 Apple Inc. Devices, methods, and graphical user interfaces for moving a current focus using a touch-sensitive remote control
US10474333B2 (en) 2015-09-08 2019-11-12 Apple Inc. Devices, methods, and graphical user interfaces for moving a current focus using a touch-sensitive remote control
US11262890B2 (en) 2015-09-08 2022-03-01 Apple Inc. Devices, methods, and graphical user interfaces for moving a current focus using a touch-sensitive remote control
CN106502556A (zh) * 2015-09-08 2017-03-15 苹果公司 用于使用触敏远程控件移动当前焦点的设备和方法
CN110275664A (zh) * 2015-09-08 2019-09-24 苹果公司 用于提供视听反馈的设备、方法和图形用户界面
US10963130B2 (en) 2015-09-08 2021-03-30 Apple Inc. Devices, methods, and graphical user interfaces for moving a current focus using a touch-sensitive remote control
CN108369451B (zh) * 2015-12-18 2021-10-29 索尼公司 信息处理装置、信息处理方法及计算机可读存储介质
CN108369451A (zh) * 2015-12-18 2018-08-03 索尼公司 信息处理装置、信息处理方法及程序
CN107092345A (zh) * 2016-02-17 2017-08-25 大众汽车有限公司 对用户手势进行分类的用户接口、运动工具和方法
CN105867636A (zh) * 2016-04-29 2016-08-17 四川数字工匠科技有限公司 多媒体播放器体感控制系统
US11030773B2 (en) 2017-05-31 2021-06-08 Google Llc Hand tracking based on articulated distance field
CN110415387A (zh) * 2018-04-27 2019-11-05 开利公司 包括设置在由用户携带的容纳件中的移动设备的姿势进入控制系统
US11875012B2 (en) 2018-05-25 2024-01-16 Ultrahaptics IP Two Limited Throwable interface for augmented reality and virtual reality environments
CN110800024A (zh) * 2018-05-31 2020-02-14 谷歌有限责任公司 基于明确表达的距离场的手跟踪
CN110800024B (zh) * 2018-05-31 2021-08-10 谷歌有限责任公司 用于估计手的当前姿势的方法和电子装置
US11922006B2 (en) 2018-06-03 2024-03-05 Apple Inc. Media control for screensavers on an electronic device
CN108958689A (zh) * 2018-07-27 2018-12-07 广州视源电子科技股份有限公司 显示屏状态控制系统、状态控制方法、装置和存储介质
CN110940359A (zh) * 2018-09-25 2020-03-31 发那科株式会社 编码器和控制系统
CN110940359B (zh) * 2018-09-25 2023-04-07 发那科株式会社 编码器和控制系统
CN111353347A (zh) * 2018-12-21 2020-06-30 上海形趣信息科技有限公司 动作识别纠错方法、电子设备、存储介质
CN111859597B (zh) * 2019-04-18 2024-04-05 北京京东乾石科技有限公司 一种自动驾驶算法的评估方法和系统
CN111859597A (zh) * 2019-04-18 2020-10-30 北京京东尚科信息技术有限公司 一种自动驾驶算法的评估方法和系统
CN111310812A (zh) * 2020-02-06 2020-06-19 佛山科学技术学院 一种基于数据驱动的层次化人体活动识别方法及系统
CN111310812B (zh) * 2020-02-06 2023-04-28 佛山科学技术学院 一种基于数据驱动的层次化人体活动识别方法及系统
WO2021217570A1 (zh) * 2020-04-30 2021-11-04 华为技术有限公司 基于隔空手势的控制方法、装置及系统
CN112639689A (zh) * 2020-04-30 2021-04-09 华为技术有限公司 基于隔空手势的控制方法、装置及系统
WO2022095915A1 (zh) * 2020-11-04 2022-05-12 索尼半导体解决方案公司 电子设备、方法和存储介质
CN113068051A (zh) * 2021-03-08 2021-07-02 北京达佳互联信息技术有限公司 直播互动方法及装置
CN113068051B (zh) * 2021-03-08 2023-02-17 北京达佳互联信息技术有限公司 直播互动方法及装置
CN113778217A (zh) * 2021-09-13 2021-12-10 海信视像科技股份有限公司 显示设备及显示设备控制方法
CN114020157A (zh) * 2021-11-15 2022-02-08 广州小鹏汽车科技有限公司 验车的方法、装置、车辆及存储介质

Also Published As

Publication number Publication date
US20110289455A1 (en) 2011-11-24

Similar Documents

Publication Publication Date Title
CN102184020B (zh) 用于操纵用户界面的姿势和姿势修改
CN102262438A (zh) 用于操纵用户界面的姿势和姿势识别
CN102301311B (zh) 标准姿势
KR101956325B1 (ko) 손가락 인식 및 트래킹 시스템
TWI531396B (zh) 用於推動互動故事的自然使用者輸入
US9098873B2 (en) Motion-based interactive shopping environment
CN102129551B (zh) 基于关节跳过的姿势检测
CN102448566B (zh) 骨架以外的姿势
CN102413886B (zh) 示出身体位置
CN102449576B (zh) 姿势快捷方式
CN102448561B (zh) 姿势教练
CN102129152B (zh) 具有集成vcsel阵列的深度投影仪系统
US9245177B2 (en) Limiting avatar gesture display
CN102301315B (zh) 姿势识别器系统架构
TWI545464B (zh) 人體追蹤系統
US9069381B2 (en) Interacting with a computer based application
US8660303B2 (en) Detection of body and props
US8866898B2 (en) Living room movie creation
US9075434B2 (en) Translating user motion into multiple object responses
CN102222431A (zh) 基于机器的手语翻译器
CN102356373A (zh) 虚拟对象操纵
US20110151974A1 (en) Gesture style recognition and reward
WO2010126841A2 (en) Altering a view perspective within a display environment
CN102591456B (zh) 对身体和道具的检测
CN112837339A (zh) 基于运动捕捉技术的轨迹绘制方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150727

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150727

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C05 Deemed withdrawal (patent law before 1993)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20111130