多传感器姿势识别的利记博彩app

文档序号:6378926阅读:369来源:国知局
专利名称:多传感器姿势识别的利记博彩app
技术领域
本申请涉及多传感器姿势识别。
背景技术
在典型的计算环境中,诸如多媒体应用或计算机游戏等计算应用的用户使用输入设备来控制计算应用的各方面。用于控制计算应用的常见输入设备包括控制器、键盘、操纵杆、遥控器以及鼠标。近来,计算应用已开始采用相机和姿势识别软件来提供自然用户界面。使用自然用户界面,用户的身体部位和移动可被检测、解释、以及用于控制计算应用的游戏角色或其他方面。

发明内容
描述了用于使用自适应多传感器姿势识别来识别姿势的技术。在某些实施例中,姿势识别系统从多个传感器设备接收多个传感器输入,以及与所述多个传感器输入相关联的多个置信度阈值。置信度阈值指定认为某一姿势已经发生的最小置信度值。一旦检测到补偿事件,诸如涉及所述多个传感器设备之一的过度运动,姿势识别系统可基于该补偿事件来修改所述多个置信度阈值。接着,姿势识别系统基于所述多个置信度阈值中的至少某一子集是否已被满足来生成并输出多传感器置信度值。姿势识别系统还可基于传感器输入被插入姿势识别系统或从姿势识别系统拔出来修改所述多个置信度阈值。—个实施例包括接收多个传感器输入,以及获取与某一姿势相关联的一个或多个多传感器姿势过滤器。该一个或多个多传感器姿势过滤器包括某一过滤器。所述方法还包括检测新的传感器输入可用于识别所述姿势,将该新的传感器输入添加到所述多个传感器输入,响应于该新的传感器输入更新所述一个或多个多传感器姿势过滤器,基于所述多个传感器输入生成多个单传感器姿势识别结果,基于所述多个单传感器姿势识别结果确定所述过滤器是否已被满足,以及响应于确定所述过滤器已被满足执行新的计算应用或命令。—个实施例包括接收多个传感器输入,以及获取与某一姿势相关联的一个或多个多传感器姿势过滤器。所述一个或多个多传感器姿势过滤器中的某一过滤器包括用于确定所述姿势何时已被识别的一个或多个参数。所述方法还包括检测新的传感器输入可用于识别所述姿势,将该新的传感器输入添加到所述多个传感器输入,响应于该新的传感器输入更新所述一个或多个多传感器姿势过滤器,生成多个单传感器姿势识别结果,基于所述一个或多个参数以及所述多个单传感器姿势识别结果确定所述过滤器是否已被满足,以及响应于确定所述过滤器已被满足执行新的计算应用或命令。—个实施例包括接收多个传感器输入,以及获取与所述姿势相关联的一个或多个多传感器姿势过滤器,所述多个传感器输入包括第一输入和第二输入。所述一个或多个多传感器姿势过滤器中的某一过滤器包括第一置信度阈值和第二置信度阈值。所述方法还包括检测新的传感器输入可用于识别所述姿势,将该新的传感器输入添加到所述多个传感器输入,响应于该新的传感器输入更新所述一个或多个多传感器姿势过滤器,确定基于所述第一输入所述姿势已经发生的第一置信度值,确定基于所述第二输入所述姿势已经发生的第二置信度值,基于所述第一置信度值是否等于或大于所述第一置信度阈值以及所述第二置信度值是否等于或大于所述第二置信度阈值来生成多传感器置信度值,以及输出所述多传感器置信度值。—个实施例包括接收多个传感器输入,以及获取与某一姿势相关联的一个或多个多传感器姿势过滤器,所述多个传感器输入包括第一输入和第二输入。所述一个或多个多传感器姿势过滤器中的某一过滤器包括第一置信度阈值和第二置信度阈值。所述方法还包括检测补偿事件,基于所述补偿事件更新第一置信度阈值,确定基于所述第一输入所述姿势已经发生的第一置信度值,确定基于所述第二输入所述姿势已经发生的第二置信度值,基于所述第一置信度值是否等于或大于第一置信度阈值以及所述第二置信度值是否等于或大于所述第二置信度阈值来生成多传感器置信度值,以及输出所述多传感器置信度值。一个实施例包括第一传感器、第二传感器、存储器和一个或多个处理器。所述第一传感器生成第一输入。所述第二传感器生成第二输入。所述存储器存储一个或多个多传感器姿势过滤器。该一个或多个多传感器姿势过滤器包括某一过滤器。所述过滤器包括第一置信度阈值和第二置信度阈值。所述一个或多个处理器检测补偿事件,基于所述补偿事件更新第一置信度阈值,确定基于所述第一输入所述姿势已经发生的第一置信度值,确定基于所述第二输入所述姿势已经发生的第二置信度值,以及基于所述第一置信度值是否满足第一置信度阈值以及所述第二置信度值是否满足所述第二置信度阈值来生成多传感器置信度值。一个实施例包括接收包括第一输入和第二输入的多个传感器输入,同步所述第一输入和第二输入,以及获取与某一姿势相关联的一个或多个多传感器姿势过滤器。所述一个或多个多传感器姿势过滤器中的某一过滤器包括第一置信度阈值和第二置信度阈值。所述方法还包括检测补偿事件,基于所述补偿事件增加第一置信度阈值,确定基于所述第一输入所述姿势已经发生的第一置信度值,确定基于所述第二输入所述姿势已经发生的第二置信度值,基于所述第一置信度值是否满足第一置信度阈值以及所述第二置信度值是否满足所述第二置信度阈值来生成多传感器置信度值,确定与所述多个传感器置信度值相关联的第一时间段,以及输出所述多传感器置信度值和所述第一时间段。提供本概述以便以简化形式介绍将在以下具体实施方式
中进一步描述的一些概念。本发明内容并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。


图1是可在其中实施所公开的技术的联网计算环境的一个实施例的框图。图2描绘了利用自然用户界面的计算系统的一个实施例。图3描绘了移动设备的终端用户所感知到的包括虚拟计算设备的混合现实环境的一个实施例。图4A描绘了 HMD的一部分的一个实施例。图4B示出了包括捕捉设备和计算环境的计算系统的一个实施例。图5A是描述用于执行多传感器姿势识别的过程的一个实施例的流程图,该过程包括基于传感器输入的可用性来更新一个或多个多传感器姿势过滤器。图5B是描述用于执行多传感器姿势识别的过程的替代实施例的流程图。图5C是描述用于执行自适应多传感器姿势识别的过程的一个实施例的流程图。图是描述用于确定某一多传感器姿势过滤器是否被满足的过程的一个实施例的流程图。图6A描绘了多传感器姿势识别系统的一个实施例。图6B描绘了示出用于识别“虚拟对象选择”姿势的单传感器姿势置信度值以及相应的姿势识别要求的表格的一个示例。图6C描绘了示出用于识别“虚拟对象选择”姿势的多传感器姿势置信度值以及相应的多传感器姿势过滤器要求的表格的一个示例。图6D描绘了示出在施加了补偿之后,用于识别“虚拟对象选择”姿势的多传感器姿势置信度值以及相应的多传感器姿势过滤器要求的表格的一个示例。图7A是描述用于基于补偿事件来更新多传感器姿势过滤器的过程的一个实施例的流程图。图7B是描述用于同步多个传感器输入的过程的一个实施例的流程图。图8是游戏和媒体系统的实施例的框图。图9是移动设备的一个实施例的框图。图10是计算系统环境的实施例的框图。
具体实施例方式描述了用于使用自适应多传感器姿势识别来识别姿势的技术。在某些实施例中,姿势识别系统从多个传感器设备接收多个传感器输入,以及与所述多个传感器输入相关联的多个置信度阈值。置信度阈值指定认为某一姿势已经发生的最小置信度值。一旦检测到补偿事件,诸如涉及所述多个传感器设备之一的过度运动,姿势识别系统可基于该补偿事件来修改所述多个置信度阈值。接着,姿势识别系统基于所述多个置信度阈值中的至少某一子集是否已被满足来生成并输出多传感器置信度值。姿势识别系统还可基于传感器输入被插入姿势识别系统或从姿势识别系统拔出来修改所述多个置信度阈值。随着不断启用的和网络连接的计算设备(诸如头戴式显示设备(HMD))的出现和迅速扩大,在任何给定时间可用于这些计算设备的终端用户的信息量是极大的。在某些情况中,包括虚拟计算设备的混合现实环境可被投影给终端用户。对于终端用户来说,该虚拟计算设备可看上去像用于控制各种计算应用的投影出的用户界面。在一个示例中,该投影出的用户界面可看上去是对平板计算机的接口。终端用户可使用自然用户界面来控制虚拟计算设备,其中终端用户的身体部位和移动(如姿势)可被检测、解释、以及用于控制该虚拟计算设备。利用自然用户界面的计算设备可从一个或多个传感设备接收一个或多个传感器输入。所述一个或多个传感器输入可提供推断与计算设备交互的终端用户的意图(例如终端用户已执行了某一姿势以便控制计算设备)所需的传感信息。该一个或多个传感设备可包括例如一个或多个深度传感器、图像传感器、IR传感器、惯性测量单元aMU)、面向内的眼睛跟踪系统、话筒、触摸屏、键盘、鼠标、控制器、GPS设备、无线电信标、W1-Fi设备、或蜂窝设备。涉及从所述一个或多个传感设备接收的传感信息的一个问题是可用于计算设备的一个或多个传感器输入的数量可在传感设备被插入计算设备或从计算设备拔出时随时间变化。例如,由于计算设备的移动,新的传感设备可出现在计算设备的无线连接范围内。在另一示例中,由于丢失电池电量,到现有传感设备的连接可被丢失。涉及从一个或多个传感设备接收的传感信息的另一问题是传感信息的质量和/或可靠性可取决于在其中获得该传感信息的环境而极大地变化。例如,所接收的传感信息可受到以下的影响:涉及所述一个或多个传感设备之一的过度运动、与所述一个或多个传感设备之一相关联的温度条件、与所述一个或多个传感设备之一相关联的照明条件、随着时间的经过机械或电气的传感器劣化、以及与所述一个或多个传感设备之一相关联的低功率操作模式。从而,需要一种利用自然用户界面来检测和补偿从多个传感器设备接收的传感信息中的变化的计算设备。图1是可在其中实施所公开的技术的联网计算环境100的一个实施例的框图。联网计算环境100包括通过一个或多个网络180互连的多个计算设备。所述一个或多个网络180允许某一计算设备连接到另一计算设备以及与其通信。所描绘的计算设备包括移动设备11、计算环境12、移动设备19和应用服务器150。在一些实施例中,所述多个计算设备可以包括未示出的其他计算设备。在一些实施例中,所述多个计算设备可以包括比图1所示的计算设备的数目更多或更少的计算设备。所述一个或多个网络180可以包括诸如企业专用网络之类的安全网络、诸如无线开放式网络之类的不安全网络、局域网(LAN)、广域网(WAN)、以及因特网。所述一个或多个网络180中的每个网络可以包括集线器、网桥、路由器、交换机、以及有线传输介质,比如有线网络或直接线连接。诸如应用服务器150之类的服务器可以允许客户机从该服务器下载信息(例如,文本、音频、图像和视频文件)或者执行与存储在该服务器上的特定信息相关的搜索查询。一般而言,“服务器”可以包括在客户端-服务器关系中充当主机的硬件设备、或者与一个或多个客户机共享资源或为所述一个或多个客户机执行工作的软件过程。客户机-服务器关系下的计算设备之间的通信可以由客户机通过向服务器发送要求访问特定资源或执行特定工作的请求来发起。服务器随后可以执行所请求的动作并且将响应发送回客户机。移动设备19的一个实施例包括网络接口 145、处理器146、存储器147、相机148、传感器149、以及显示器150,所有这些都彼此通信。网络接口 145允许移动设备19连接到一个或多个网络180。网络接口 145可以包括无线网络接口、调制解调器、和/或有线网络接口。处理器146允许移动设备19执行存储在存储器147中的计算机可读指令以执行在此讨论的过程。相机148可以捕捉色彩图像或深度图像。传感器149可生成与移动设备19相关联的运动和/或定向信息。传感器149可包括惯性测量单元(MU)。显示器150可显示数字图像和/或视频。显示器150可包括透视显示器。联网计算环境100可以为一个或多个计算设备提供云计算环境。云计算指的是基于因特网的计算,其中共享的资源、软件和/或信息通过因特网(或其他全局网络)被按需提供给一个或多个计算设备。基于在计算机网络图示中使用云绘图来将因特网描绘成对其所表示的底层基础结构的抽象,术语“云”被用作对因特网的比喻。在一个示例中,移动设备19包括HMD,HMD为HMD的终端用户提供混合现实环境。HMD可包括视频透视和/或光学透视系统。终端用户佩戴的光学透视HMD可允许(例如经由透明透镜)对真实世界环境的实际直接查看,并且同时可将虚拟对象的图像投影到终端用户的视野中,由此用虚拟对象来增强终端用户所感知的真实世界环境。通过利用HMD,佩戴HMD的终端用户可在真实世界环境(例如,起居室)中四处移动,并感知覆盖有虚拟对象的图像的真实世界的视图。虚拟对象可以看起来保持与真实世界环境的相干空间关系(即,当终端用户在真实世界环境中转动他们的头或移动时,显示给该终端用户的图像将改变,使得虚拟对象看起来像被终端用户感知的那样存在于该真实世界环境内)。虚拟对象还可相对于终端用户的视野看起来是固定的(例如,无论终端用户在真实世界环境中如何转动他们的头或移动,总是出现在终端用户的视野的右上角的虚拟菜单)。在一个实施例中,真实世界环境的环境映射由应用服务器150 (即,在服务器侧)来执行,而相机本地化在移动设备19上(B卩,在客户机侧)执行。虚拟对象可包括与真实世界对象相关联的文本描述。虚拟对象还可包括虚拟计算设备,这将参考图3中的虚拟计算设备27进一步详细地被描述。在一些实施例中,诸如移动设备19之类的移动设备可与云中的服务器(诸如应用服务器150)通信,并可向服务器提供与移动设备相关联的位置信息(例如,经由GPS坐标的移动设备的位置)和/或图像信息(例如,与在移动设备的视野内检测到的对象有关的信息)。作为响应,服务器可基于提供给该服务器的位置信息和/或图像信息向移动设备传送一个或多个虚拟对象。图2描绘了利用自然用户界面的计算系统10的一个实施例。计算系统10可包括计算环境12、捕捉设备20、以及显示器16,全部都彼此通信。计算环境12可包括一个或多个处理器。捕捉设备20可包括一个或多个色彩或深度传感相机,该相机可以用于在视觉上监视包括某一环境内的人以及一个或多个其他真实对象的一个或多个目标。捕捉设备20还可包括话筒。在一个示例中,捕捉设备20可包括深度传感相机和话筒,并且计算环境12可包括游戏控制台。如所描绘的,用户界面19被显示在显示器16上,使得计算系统10的终端用户可控制计算环境12上运行的计算应用。用户界面19包括表示用户可选图标的图像17。在一个实施例中,计算系统10检测终端用户18所执行的特定姿势,并响应于该特定姿势被检测到来执行新的计算应用。该特定姿势可包括对用户可选图标之一的选择。在某些实施例中,计算系统10使用从捕捉设备20接收的多个传感器输入来执行姿势识别。计算系统10可使用本文所讨论的过程在执行姿势识别的同时来检测和补偿感测从捕捉设备20接收到的信息时的变化。例如,基于特定时间点哪些传感器输入可用于计算系统10 (例如由于随着时间的经过,传感器输入被插入计算系统和/或从计算系统拔出),计算系统10可动态地修改特定姿势如何被识别。图3描绘了移动设备19的终端用户29所感知到的包括虚拟计算设备27的混合现实环境的一个实施例。移动设备19可包括HMD。虚拟计算设备27包括对应于用户可选图标的图像26以及对应于和虚拟计算设备27相关联的信号强度、事件、和电池寿命的图像25。对于终端用户29,虚拟计算设备27可看上去像固定在真实世界空间中或相对于终端用户29的视野被固定。与虚拟计算设备27相关联的图像的呈现可由移动设备19或由计算系统10来执行。关于在混合现实环境中呈现图像的更多信息可在题为“DistributedAsynchronous Localization and Mapping for Augmented Reality (增强现实的分布式异步本地化和映射)”的美国专利申请13/152,220中找到,其通过引用全部结合于此。如所描绘的,移动设备19的终端用户29可通过执行一个或多个姿势来控制虚拟计算设备27。对该一个或多个姿势的姿势识别可由移动设备19来执行。对该一个或多个姿势的姿势识别也可由计算系统10来执行。在某些实施例中,移动设备19使用从各种传感器设备接收到的多个传感器输入来执行姿势识别。例如,移动设备19可从嵌入在移动设备19中的话筒接收音频信息,以及从计算系统10接收深度信息。在一个实施例中,移动设备19可检测终端用户29所执行的特定姿势,并响应于该特定姿势被检测到来执行新的计算应用。该特定姿势可包括对与虚拟计算设备27相关联的用户可选图标之一的选择。移动设备19可使用本文所讨论的过程在执行姿势识别的同时来检测和补偿感测所接收到的信息时的变化。例如,移动设备19可基于与移动设备相关联的速度或加速度来动态地修改特定姿势如何被识别。图4A描绘了 HMD (诸如图1的移动设备19)的一部分的一个实施例。仅仅描绘了头戴式设备的右侧。HMD 200包括右镜腿202、鼻梁204、镜片216、以及眼镜框214。在鼻梁204中置入的是话筒210以用于记录声音以及将音频记录传送给处理单元236。面向前方的相机213被嵌入在右镜腿202内用于记录数字图像和/或视频以及将视觉记录传送给处理单元236。面向前方的相机213可捕捉色彩信息、IR信息、和/或深度信息。话筒210和面向前方的相机213与处理单元236通信。同样嵌入在右镜腿202内的是耳机230、运动和定向传感器238、GPS接收器232、电源239、以及无线接口 237,全部都与处理单元236通信。运动和定向传感器238可以包括三轴磁力计、三轴陀螺仪、和/或三轴加速度计。在一个实施例中,运动和定向传感器238可包括惯性测量单元(MU)。GPS接收器可确定与HMD 200相关联的GPS位置。处理单元236可以包括一个或多个处理器和用于存储将要在所述一个或多个处理器上执行的计算机可读指令。存储器还可存储要在一个或多个处理器上执行的其它类型的数据。在一个实施例中,镜片216可包括透视显示器,处理单元236生成的图像由此可被投影和/或显示在透视显示器上。该面向前方的相机213可被校准使得该面向前方的相机213所捕捉的视野对应于HMD 200的用户所看到的视野。耳机230可被用于输出与虚拟对象的图像相关联的虚拟声音。在一些实施例中,HMD 200可包括两个或更多个面向前方的相机(例如,每个镜腿上一个相机),以便从与面向前方的相机所捕捉的视野相关联的立体信息中获得深度。两个或更多个面向前方的相机还可包括3-D、IR、和/或RGB相机。也可从利用来自运动技术的深度的单个相机中获取深度信息。例如,可从单个相机获取两个图像,这两个图像与不同时间点处的空间中两个不同的点相关联。然后,给定与空间中两个不同点有关的位置信息,可执行视差计算。图4B示出了包括捕捉设备20和计算环境12的计算系统10的一个实施例。在一些实施例中,捕捉设备20和计算环境12可以集成在单个计算设备中。该单个计算设备可以是移动设备,如图1中的移动设备19。在一个实施例中,捕捉设备20可以包括用于捕捉图像和视频的一个或多个图像传感器。图像传感器可以包括CCD图像传感器或CMOS图像传感器。在一些实施例中,捕捉设备20可包括IR CMOS图像传感器。捕捉设备20还可以包括深度相机(或深度传感相机),该相机被配置成经由包括例如飞行时间、结构化光、立体图像等在内的任何合适的技术来捕捉包括深度图像的带有深度信息的视频,该深度图像可包括深度值。捕捉设备20可包括图像相机组件32。在一个实施例中,图像相机组件32可以包括可捕捉场景的深度图像的深度相机。深度图像可包括所捕捉的场景的二维(2-D)像素区域,其中2-D像素区域中的每个像素都可以表示深度值,比如所捕捉的场景中的物体与图像相机组件32相距的例如以厘米、毫米等为单位的距离。图像相机组件32可包括可用来捕捉捕捉区域的深度图像的IR光组件34、三维(3-D)相机36、以及RGB相机38。例如,在飞行时间分析中,捕捉设备20的IR光组件34可以将红外光发射到捕捉区域上,然后可以使用传感器,用例如3-D相机36和/或RGB相机38来检测从捕捉区域中的一个或多个物体的表面反向散射的光。在某些实施例中,可以使用脉冲式红外光从而可以测量出射光脉冲和相应的入射光脉冲之间的时间并将其用于确定从捕捉设备20到捕捉区域中的一个或多个物体上的特定位置的物理距离。此外,可将出射光波的相位与入射光波的相位进行比较来确定相移。然后可以使用该相移来确定从捕捉设备到与一个或多个物体相关联的特定位置的物理距离。在另一示例中,捕捉设备20可使用结构化光来捕捉深度信息。在该分析中,图案化光(即,被显示为诸如网格图案或条纹图案等已知图案的光)可经由例如IR光组件34被投影到捕捉区域上。在撞击到捕捉区域中的一个或多个物体(或目标)的表面时,作为响应,图案可变形。图案的这种变形可由例如3-D相机36和/或RGB相机38来捕捉并被分析以确定从捕捉设备到一个或多个物体上的特定位置的物理距离。捕捉设备20可包括用于产生准直光的光学器件。在一些实施例中,可使用激光投影仪来创建结构化光图案。激光投影仪可包括激光器、激光二极管和/或LED。在某些实施例中,可将两个或更多个不同的相机整合到一个集成捕捉设备中。例如,深度相机和视频相机(例如RGB视频相机)可以被合并到共同的捕捉设备中。在一些实施例中,可协同使用相同或不同类型的两个或更多分开的捕捉设备。例如,可以使用深度相机和分开的视频相机,可以使用两个视频相机,可以使用两个深度相机,可以使用两个RGB相机,或者可以使用任何组合和数目的相机。在一个实施例中,捕捉设备20可包括可以从不同的角度观察捕捉区域的两个或更多个在物理上分开的相机,以获取可以被解析以生成深度信息的视觉立体数据。还可通过使用多个检测器(可以是单色、红外、RGB或任意其它类型的检测器)捕捉图像以及执行视差计算,来确定深度。也可使用其他类型的深度图像传感器来创建深度图像。如图4B所示,捕捉设备20可以包括一个或多个话筒40。该一个或多个话筒40中的每一个都可以包括可以接收声音并将其转换成电信号的换能器或传感器。该一个或多个话筒可包括话筒阵列,其中一个或多个话筒可以按预定布局排列。捕捉设备20可以包括可以与图像相机组件32可操作地通信的处理器42。处理器42可包括标准处理器、专用处理器、微处理器等。处理器42可以执行指令,所述指令可以包括用于存储过滤器或简档、接收和分析图像、确定是否已经发生特定情况的指令或任何其他合适的指令。应当理解,至少一些图像分析和/或目标分析和跟踪操作可以由诸如捕捉设备20之类的一个或多个捕捉设备内所包含的处理器来执行。捕捉设备20可包括存储器44,该存储器可存储可由处理器42执行的指令、由3_D相机或RGB相机捕捉的图像或图像帧、过滤器或简档、或任何其他合适的信息、图像等等。在一个示例中,存储器44可包括随机存取存储器(RAM)、只读存储器(ROM)、高速缓存、闪存、硬盘或任何其他合适的存储组件。如所描绘的,存储器44可以是与图像捕捉组件32和处理器42进行通信的分开的组件。在另一实施例中,存储器44可被集成到处理器42和/或图像捕捉组件32中。在其他实施例中,图4B所示的捕捉设备20的组件32、34、36、38、40,42和44中的部分或全部被容纳在单个壳体中。捕捉设备20可以经由通信链路46与计算环境12进行通信。通信链路46可以是包括例如USB连接、火线连接、以太网电缆连接等有线连接和/或诸如无线802.1lb,802.llg、802.1la或802.1ln连接等无线连接。计算环境12可以向捕捉设备20提供时钟,可以使用该时钟来通过通信链路46确定何时捕捉例如场景。在一个实施例中,捕捉设备20可将由例如3D相机36和/或RGB相机38捕捉的图像经由通信链路46提供给计算环境12。如图4B所示,计算环境12包括与应用196通信的图像和音频处理引擎194。应用196可包括操作系统应用或其他计算应用。图像和音频处理引擎194包括虚拟数据引擎197、物体和姿势识别引擎190、结构数据198、处理单元191和存储器单元192,所有都彼此通信。图像和音频处理引擎194处理从捕捉设备20接收的视频、图像和音频数据。为了辅助物体的检测和/或跟踪,图像和音频处理引擎194可以利用结构数据198以及物体和姿势识别引擎190。虚拟数据引擎197处理虚拟对象,并记录与在存储器单元192中存储的真实世界环境的各种映射有关的虚拟对象的位置和定向。处理单元191可以包括用于执行物体、面部和语音识别算法的一个或多个处理器。在一个实施例中,图像和音频处理引擎194可以将物体识别和面部识别技术应用于图像或视频数据。例如,物体识别可以用于检测特定物体(例如足球、汽车或陆标),并且面部识别可以用于检测特定人的面部。图像和音频处理引擎194可以将音频和语音识别技术应用于音频数据。例如,音频识别可以用于检测特定声音。要检测的特定面部、语音、声音和物体可以存储在存储器单元192中所包含的一个或多个存储器中。处理单元191可执行存储在存储器单元192中的计算机可读指令以执行此处讨论的过程。图像和音频处理引擎194可以在执行物体识别时利用结构数据198。结构数据198可以包括关于要跟踪的目标和/或物体的结构信息。例如,可以存储人类的骨架模型以帮助识别身体部位。在另一示例中,结构数据198可以包括关于一个或多个无生命物体的结构信息以便帮助识别所述一个或多个无生命物体。图像和音频处理引擎194还可以在执行姿势识别时利用物体和姿势识别引擎190。在一个示例中,物体和姿势识别引擎190可以包括姿势过滤器的集合,每个姿势过滤器都包括关于骨架模型可执行的姿势的信息。物体和姿势识别引擎190可将由捕捉设备20所捕捉的数据(其形式为骨架模型以及与其相关联的移动)与姿势库中的姿势过滤器进行比较来标识用户(其由骨架模型来表示)何时执行了一个或多个姿势。在一个示例中,图像和音频处理引擎194可以使用物体和姿势识别引擎190来帮助解释骨架模型的移动以及检测特定姿势的执行。在一些实施例中,可以用诸如IR回射标记之类的一个或多个标记来扩充所跟踪的一个或多个物体,以便改进物体检测和/或跟踪。也可以使用平面基准图像、已编码AR标记、QR码和/或条形码来改进物体检测和/或跟踪。一旦检测到一个或多个物体和/或姿势,图像和音频处理引擎194可以向应用196报告所检测的每个物体或姿势的标识以及相应的位置和/或定向(如果适用)。关于检测物体和执行姿势识别的更多信息可在2009年12月18日提交的美国专利申请 12/641,788、“Motion Detection Using Depth Images (使用深度图像的运动检测)”,以及美国专利申请 12/475,308、“Device for Identifying and Tracking MultipleHumans over Time (用于随时间标识和跟踪多个人类的设备)”中找到,这两个申请的全部内容通过引用被结合于此。关于物体和姿势识别引擎190的更多信息可在2009年4月13日提交的美国专利申请 12/422,661、“Gesture Recognition System Architecture (姿势识别系统架构)”中找到,该申请通过整体引用合并于此。关于识别姿势的更多信息可在2009年2月23日提交的美国专利申请12/391,150、“Standard Gestures (标准姿势)”,以及2009年5月29日提交的美国专利申请12/474,655、“Gesture Tool (姿势工具)”中找至IJ,这两个申请的全部内容都通过引用而结合于此。图5A是描述用于执行多传感器姿势识别的过程的一个实施例的流程图,该过程包括基于传感器输入的可用性来更新一个或多个多传感器姿势过滤器。图5A的过程可被连续地以及由一个或多个计算设备执行。图5A的过程中每一步骤都可由与在其他步骤中所使用的那些计算设备相同或不同的计算设备来执行,且每一步骤不必由单个计算设备来执行。在一个实施例中,图5A的过程由诸如图1中的移动设备19之类的移动设备来执行。在步骤502,确定要被识别的一个或多个多传感器姿势。对要被识别的一个或多个多传感器姿势的确定可由诸如图1中的移动设备19之类的移动设备上运行的计算应用来执行。在一个示例中,计算应用可生成虚拟计算设备,如图3中的虚拟计算设备27。基于该虚拟计算设备的要求,计算应用可确定控制该虚拟计算设备所需的一个或多个多传感器姿势。例如,该一个或多个多传感器姿势可包括选择某一用户可选图标的第一姿势,以及呈现新的一组用户可选图标的第二姿势。在一个实施例中,对该一个或多个多传感器姿势的确定可取决于对控制计算设备的终端用户的标识。该计算设备可包括诸如图1中的移动设备19之类的移动设备,或诸如图2中的计算系统10之类的计算系统。在一个实施例中,可使用面部和语音识别技术来标识终端用户。终端用户可被标识为特定人或属于特定一组人。在步骤504,标识多个传感器输入。可基于一个或多个传感器输入在特定时间段期间向计算设备提供传感信息的能力来标识该多个传感器输入。例如,某一传感器输入的可用性可在该传感器输入源自的特定传感器设备被插入计算设备或从计算设备拔出时而随时间改变。在一个示例中,可用于计算设备的一个或多个传感器输入的数量可由于新的传感设备位于计算设备的无线连接范围内而增加。在另一示例中,可用于计算设备的一个或多个传感器输入的数量可由于因不足电池电量或物理断开连接而造成的丢失与现有传感设备的连接而减少。在步骤506,同步所述多个传感器输入。在一个示例中,该多个传感器输入中的每一个可在时间上相对于该多个传感器输入中的某一传感器输入对准或偏移。可在计算设备的操作之前使用静态校准过程,或使用动态校准过程来确定时移量,动态校准过程根据该多个传感器输入中检测到的模式来随时间调整时移量。在步骤508,对步骤502中确定的所述一个或多个多传感器姿势中的每一个确定一个或多个多传感器姿势过滤器。要被识别的所述一个或多个多传感器姿势中的每一个可与不同的一组多传感器姿势过滤器相关联。在一个示例中,步骤502中确定的所述一个或多个多传感器姿势可包括选择某一用户可选图标的第一姿势。与该第一姿势相关联的一个或多个多传感器姿势过滤器可包括第一过滤器和第二过滤器。第一过滤器可与比第二过滤器更高的多传感器姿势置信度值相关联。例如,第一过滤器可要求在识别第一姿势之前第一姿势应在所述多个传感器输入中的每一个内被检测到,而第二过滤器可要求在识别第一姿势之前第一姿势应在所述多个传感器输入中的至少某一子集中被检测到。在步骤510,确定是否应向所述多个传感器输入添加传感器输入或从所述多个传感器输入移除传感器输入。如果确定应添加或移除传感器输入,则执行步骤504。否则,如果确定不需要添加或移除传感器输入,则执行步骤512。在一个实施例中,对是否应该添加或移除传感器输入的确定是基于与该传感器输入所源自的传感设备的连接的存在的。 在步骤512,执行自适应多传感器姿势识别。该自适应多传感器姿势识别的一个或多个输出可包括所述一个或多个多传感器姿势中的某一姿势已被计算设备的终端用户执行的置信度值,以及该姿势被识别为被执行的时间。在一个实施例中,自适应多传感器姿势识别基于步骤504中标识的所述多个传感器输入以及与要被识别的所述一个或多个多传感器姿势中的每一个相关联的所述一个或多个多传感器姿势过滤器。在执行了步骤512之后,执行步骤510。从而,如所描绘的,执行图5A中的多传感器姿势识别的过程基于传感器输入的可用性而随时间连续地更新一个或多个多传感器姿势过滤器。图5B是描述用于执行多传感器姿势识别的过程的一个实施例的流程图。图5B的过程可被连续地以及由一个或多个计算设备执行。图5B的过程中每一步骤都可由与在其他步骤中所使用的那些计算设备相同或不同的计算设备来执行,且每一步骤不必由单个计算设备来执行。在一个实施例中,图5B的过程由诸如图1中的移动设备19之类的移动设备来执行。如图5B中所描绘的,执行多传感器姿势识别的过程包括作出请求的应用(如计算设备上运行的游戏应用或工作生产力应用)与执行自适应多传感器姿势识别的多传感器姿势识别引擎之间的交互。在步骤532,从作出请求的应用接收对多个传感器输入的标识的请求。该作出请求的应用可包括游戏应用、工作生产力应用、或社交联网应用。在一个示例中,该作出请求的应用可包括提供诸如图3的虚拟计算设备27之类的虚拟计算设备的不能容忍等待时间的混合现实应用。基于与该作出请求的应用相关联的运行时条件,该作出请求的应用可请求对可用于多传感器姿势识别引擎的多个传感器输入的标识。在一个示例中,可用于终端用户控制该作出请求的应用的选项可随时间改变,促使要由该作出请求的应用识别新的一组多传感器姿势。在步骤534,标识所述多个传感器输入。可基于一个或多个传感器输入在特定时间段期间向计算设备提供传感信息的能力来标识该多个传感器输入。例如,某一传感器输入的可用性可在该传感器输入源自的特定传感器设备被插入计算设备或从计算设备拔出时而随时间改变。在一个示例中,可用于计算设备的一个或多个传感器输入的数量可由于新的传感设备位于计算设备的无线连接范围内而增加。在另一示例中,可用于计算设备的一个或多个传感器输入的数量可由于因不足电池电量或物理断开连接而造成的丢失与现有传感设备的连接而减少。在步骤536,对所述多个传感器输入的标识被输出给该作出请求的应用。在步骤538,基于步骤534中标识的所述一个或多个传感器输入从作出请求的应用接收一个或多个多传感器姿势过滤器。在步骤540,确定是否应向所述多个传感器输入添加传感器输入或从所述多个传感器输入移除传感器输入。如果确定应添加或移除传感器输入,则执行步骤534。否则,如果确定不需要添加或移除传感器输入,则执行步骤542。在一个实施例中,对是否应该添加或移除传感器输入的确定是基于与该传感器输入所源自的传感设备的连接的存在的。在步骤542,执行自适应多传感器姿势识别。该自适应多传感器姿势识别的一个或多个输出可包括某一姿势已被计算设备的终端用户执行的置信度值,以及该姿势被识别为被执行的时间。所述一个或多个输出可被输出给该作出请求的应用。在一个实施例中,自适应多传感器姿势识别基于步骤534中标识的所述多个传感器输入以及步骤538中接收的所述一个或多个多传感器姿势过滤器。在执行了步骤542之后,执行步骤540。从而,如所描绘的,执行图5B中的多传感器姿势识别的过程基于传感器输入的可用性而随时间连续地更新一个或多个多传感器姿势过滤器。图5C是描述用于执行自适应多传感器姿势识别的过程的一个实施例的流程图。图5C中描述的过程是用于实现图5A中的步骤512或用于实现图5B中的步骤542的过程的一个示例。图5C的过程可被连续地以及由一个或多个计算设备执行。图5C的过程中的每个步骤都可由与在其他步骤中所使用的那些计算设备相同或不同的计算设备来执行,且每个步骤不必由单个计算设备来执行。在一个实施例中,图5C的过程由诸如图1中的移动设备19之类的移动设备来执行。在步骤560,接收多个传感器输入。在一个实施例中,该多个传感器输入中的每个传感器输入是从多个传感设备中的不同传感设备接收的。该多个传感设备可包括一个或多个深度传感器、图像传感器、IR传感器、惯性测量单元(MU)、面向内的眼睛系统跟踪、以及话筒。在步骤562中,获得一个或多个多传感器姿势过滤器。该一个或多个多传感器姿势过滤器可从执行自适应多传感器姿势识别的计算设备上运行的作出请求的应用获得。在步骤552,确定是否已经检测到补偿事件。如果已经检测到补偿事件,则执行步骤554。否则,如果还未检测到补偿事件,则执行步骤556。在一个实施例中,如果检测到影响包括在所述多个传感器输入内的传感信息的质量和/或可靠性的环境条件,则可检测到补偿事件。在一个示例中,如果与所述多个传感设备之一相关联的运动超出某一运动阈值达超过某一时间段,则可检测到补偿事件。如果与所述多个传感设备之一相关联的照明条件低于某一照明阈值达超过某一时间段,则也可检测到补偿事件。在另一示例中,如果与所述多个传感设备之一相关联的温度高于或低于某一温度阈值,则可检测到补偿事件。如果检测到与所述多个传感设备之一相关联的低功率操作模式,则也可检测到补偿事件。低功率操作模式可降低从某一传感设备提供的传感信息的质量,或可降低从该传感设备提供传感信息的速率。在另一示例中,如果与所述多个传感设备之一相关联的传感信息中的数据差错高于某一差错阈值,则可检测到补偿事件。对于数据差错的检测可通过利用差错检测和/或校正码来执行。在步骤554,基于步骤552中检测到的补偿事件更新所述一个或多个多传感器姿势过滤器。在一个实施例中,多传感器姿势过滤器可包括用于确定多传感器姿势置信度的一个或多个参数。例如,多传感器姿势过滤器可包括诸如第一置信度阈值和第二置信度阈值之类的一个或多个参数。可通过基于补偿事件增加或减少第一置信度阈值和/或第二置信度阈值来更新该多传感器姿势过滤器。在一个示例中,如果补偿事件包括检测到与某一传感设备相关联的、超出某一阈值达某一时间段的运动,则按缩放量来增加第一置信度阈值。该一个或多个参数还可包括用于基于所述多个传感器输入来组合单传感器姿势识别结果的加权值。在步骤556确定所述一个或多个多传感器姿势过滤器中的某一过滤器是否被满足。在一个实施例中,如果关于某一姿势已经基于第一传感器输入发生了的第一置信度值满足第一置信度阈值且关于该姿势已经基于第二传感器输入已经发生了的第二置信度值满足第二置信度阈值,则该过滤器被满足。在某些实施例中,对该过滤器是否被满足的确定可基于多个单传感器姿势识别结果。例如,如果在所述多个传感器输入中的任何两个或更多个传感器输入内检测到某一姿势,则该过滤器可被满足。在一个实施例中,该过滤器可包括用于确定该特定姿势是否已被识别的一个或多个参数。该一个或多个参数可包括一个或多个置信度阈值。置信度阈值可表示单传感器姿势识别引擎必须满足的阈值以便使得该姿势被视为已由该单传感器姿势识别引擎检测出。该过滤器可基于应用于一个或多个单传感器姿势识别结果的所述一个或多个参数来被满足。在某些实施例中,所述一个或多个多传感器姿势过滤器中的每一个以特定顺序被应用。该特定顺序可取决于与某一过滤器相关联的姿势置信度值。在一个示例中,该特定顺序可开始于具有最高多传感器姿势置信度的某一过滤器,并以单调递减的方式来考虑具有较低多传感器姿势置信度的其他过滤器。在某些情况中,一旦某一过滤器已被满足,则还未被应用的且与较低多传感器姿势置信度值相关联的其他过滤器可能不需要被考虑,且该过程可简单地返回与该过滤器相关联的信息。在一个实施例中,所述一个或多个多传感器姿势过滤器被应用的特定顺序取决于所述一个或多个多传感器姿势过滤器的分支结构(如表示为有向非循环图),其中对第一置信度阈值的满足将确定其他一个或多个多传感器姿势过滤器中哪些被应用。在步骤558,输出与该过滤器相关联的信息。所输出的信息可包括与该特定姿势被执行的似然性相关联的多传感器姿势置信度值、与该特定姿势被识别相关联的时间、与该特定姿势相关联的速度或速率、和/或与该特定姿势相关联的特定位置。图是描述用于确定某一多传感器姿势过滤器是否被满足的过程的一个实施例的流程图。图中描述的过程是用于实现图5C中步骤556的过程的一个示例。图的过程可被连续地以及由一个或多个计算设备执行。图的过程中的每个步骤都可由与在其他步骤中所使用的那些计算设备相同或不同的计算设备来执行,且每个步骤不必由单个计算设备来执行。在一个实施例中,图的过程由诸如图1中的移动设备19之类的移动设备来执行。在步骤580,接收某一多传感器姿势过滤器。该多传感器姿势过滤器可与某一姿势相关联。该多传感器姿势过滤器可从一作出请求的应用接收。在步骤582,接收多个传感器输入。该多个传感器输入可包括第一输入和第二输入。该多个传感器输入可源自多个传感器设备。在步骤586,通过将第一平滑过滤器应用于第一输入来生成第一平滑输入。在步骤587,通过将第二平滑过滤器应用于第二输入来生成第二平滑输入。平滑过滤器降低了与某一传感器输入相关联的噪声,且可包括例如低通过滤器、移动平均过滤器、和/或卡尔曼过滤器。也可应用其它类型的平滑过滤器。在步骤588,通过将第一匹配过滤器应用于第一平滑输入来生成第一姿势置信度。在步骤589,通过将第二匹配过滤器应用于第二平滑输入来生成第二姿势置信度。诸如第一匹配过滤器和第二匹配过滤器之类的匹配过滤器可包括在所述多个传感器输入之一上操作的诸如姿势识别引擎之类的单传感器姿势识别器、运动识别引擎、或语音识别引擎。匹配过滤器可识别与该多传感器姿势过滤器相关联的该特定姿势,以及输出单传感器姿势置信度值。所识别的该特定姿势可以是某一时间段上发生的即时姿势或瞬时姿势。在步骤590,通过将该多传感器姿势过滤器应用于步骤588中生成的第一姿势置信度和步骤589中生成的第二姿势置信度,生成多传感器姿势置信度。在一个实施例中,该多传感器姿势过滤器包括将加权组合应用于步骤588和589中生成的单传感器姿势置信度值。在步骤592,确定该多传感器姿势置信度是否大于阈值。在步骤593,确定与该多传感器姿势置信度相关联的第一时间段。该第一时间段可对应于该多传感器姿势过滤器被满足的时间点或时间范围。在步骤594,输出步骤590中生成的该多传感器姿势置信度和步骤593中确定的该第一时间段。该多传感器姿势置信度和该第一时间段可被输出到作出请求的应用来由该作出请求的应用进一步处理。图6A描绘了多传感器姿势识别系统600的一个实施例。该多传感器姿势识别系统600包括与补偿事件检测器620、姿势识别引擎608、运动识别引擎610、以及语音识别引擎612通信的多传感器姿势过滤器614。该多传感器姿势识别系统600还包括与姿势识别引擎608通信的平滑过滤器602、与运动识别引擎610通信的平滑过滤器604、与语音识别引擎612通信的平滑过滤器606。在被单传感器识别引擎用作传感器输入之前,通过向所述传感器输入中的每一个应用平滑过滤器,所述传感器输入“输入A”、“输入B”和“输入C”中的每一个被平滑。如所描绘的,传感器输入“输入A”被输入到平滑过滤器602以降低与“输入A”相关联的噪声,传感器输入“输入B”被输入到平滑过滤器604以降低与“输入B”相关联的噪声,而传感器输入“输入C”被输入到平滑过滤器606以降低与“输入C”相关联的噪声。平滑程度对于所述传感器输入中的每一个来说可以不同,并且可以随传感器输入的类型和/或正被识别的该特定姿势而变化。在一个示例中,“输入A”可源自深度传感器,“输入B”可源自IMU、而“输入C”可源自话筒。为了生成输出“输出X”,多传感器姿势过滤器614可根据一个或多个参数将来自姿势识别引擎608、运动识别引擎610、以及语音识别引擎612的姿势识别结果相组合。该一个或多个参数可包括要被给予各个姿势识别结果的变化的权重。在一个实施例中,如果姿势识别引擎608以至少90%的置信度确定该特定姿势已被识别且运动识别引擎610或语音识别引擎612以至少50%的置信度确定该特定姿势已被识别,则多传感器姿势过滤器614可输出该特定姿势已被识别。在某些实施例中,多传感器姿势过滤器614可基于所述一个或多个参数的加权组合来输出多传感器姿势置信度值。
在某些实施例中,多传感器姿势过滤器614可包括用于存储所述一个或多个参数的参数表,从中生成“输出X”。接着,补偿事件检测器620可检测补偿事件,如与“输入A”所源自的传感器设备相关联的过度运动。作为响应,多传感器姿势过滤器614可基于该补偿事件来更新所述一个或多个参数中的至少一子集。在某些实施例中,多传感器姿势过滤器614可利用附加的过滤机制来执行多传感器姿势识别。例如,这些过滤机制可利用与预定义的记录的地面实测姿势相结合的机器学习分类技术,如支持向量机。某些过滤机制可使用隐形马尔科夫模型来正确地过滤传感器值的罕见组合。关于过滤机制的更多信息可在美国临时专利申请61/493,857、“System ForRecognizing An Open Or Closed Hand”(用于识别张开的或闭合的手的系统)中找到,其通过引用而完全结合于此。图6B描绘了示出用于识别“虚拟对象选择”姿势的单传感器姿势置信度值以及相应的姿势识别要求的表格的一个示例。姿势识别要求被应用的顺序可取决于姿势置信度值。例如,与最高单传感器姿势置信度相关联的姿势识别要求可先于考虑与较低单传感器姿势置信度值相关联的其他姿势识别要求之前被考虑。如所描绘的,如果三个条件被满足,将从诸如图6A的姿势识别引擎608之类的姿势识别引擎输出单传感器姿势置信度值95 % (图6B中列出的最高单传感器姿势置信度值)。这三个条件包括检测到某个人以+/-3度的指向角误差指向某一虚拟对象、检测到指向该虚拟对象的该个人正面向该虚拟对象、以及检测到指向姿势是在该个人的躯干前的空间体内执行的。如果满足两个条件,则将从该姿势识别引擎输出单传感器姿势置信度值80%。这两个条件包括检测到某个人以+/- ο度的指向角误差指向某一虚拟对象,以及检测到指向该虚拟对象的该个人正面向该虚拟对象。如果仅满足一个条件,则将从该姿势识别引擎输出单传感器姿势置信度值60%。该单个条件包括检测到某个人以+/-15度的指向角误差指向某一虚拟对象。在某些实施例中,该单传感器姿势置信度值可被表示为二元值(如表示为是或否识别值)。图6C描绘了示出用于识别“虚拟对象选择”姿势的多传感器姿势置信度值以及相应的多传感器姿势过滤器要求的表格的一个示例。某一多传感器姿势过滤器被应用的顺序可取决于相应的多传感器姿势置信度值。在一个示例中,具有最高多传感器姿势置信度值的多传感器姿势过滤器将先于考虑具有较低多传感器姿势置信度值的其他多传感器姿势过滤器被考虑(即以单调递减的方式考虑多传感器姿势过滤器)。
如所描绘的,如果在某一时间段内满足三个条件,将从诸如图6A的多传感器姿势识别系统600之类的多传感器姿势识别引擎输出多传感器姿势置信度值95% (图6C中列出的最高多传感器姿势置信度值)。这三个条件包括姿势识别引擎以95%的置信度确定某一虚拟对象正被指向、运动识别引擎以75 %的置信度确定作出指向的该个人正在点头、以及语音识别引擎以95%的置信度确定正在点头的该个人说出了单词“选择”。如果满足三个条件,则将从该多传感器姿势识别引擎输出多传感器姿势置信度值75%。这三个条件包括姿势识别引擎以75%的置信度确定某一虚拟对象正被指向、运动识别引擎以75%的置信度确定作出指向的该个人正在点头、以及语音识别引擎以75%的置信度确定正在点头的该个人说出了单词“选择”。在某些实施例中,该多传感器姿势置信度值可被表示为二元值(如表示为是或否识别值)。
图6D描绘了示出在施加了补偿之后,用于识别“虚拟对象选择”姿势的多传感器姿势置信度值以及相应的多传感器姿势过滤器要求的表格的一个示例。在该情况中,已经检测到与该姿势识别引擎所依赖于的传感器输入相关联的补偿事件(例如由于与深度传感器相关联的过度运动)。如所描绘的,仅与所述姿势识别引擎相关联的置信度阈值已被修改。与95%的多传感器姿势置信度值相关联的多传感器姿势过滤器要求类似于图6C中发现的那些,不同在于该姿势识别引擎现在必须以99%的置信度(而不是95%)确定某一虚拟对象正被指向。与75%的多传感器姿势置信度值相关联的多传感器姿势过滤器要求类似于图6C中发现的那些,不同在于该姿势识别引擎现在必须以90%的置信度(而不是75%)确定某一虚拟对象正被指向。在未被描绘的一个实施例中,多传感器姿势识别系统可改变与某一多传感器姿势过滤器相关联的多传感器姿势置信度值,以便对补偿事件进行补偿。例如,所有多传感器姿势置信度值都可按缩放因子减少,以便对补偿事件进行补偿。图7A是描述用于基于补偿事件来更新多传感器姿势过滤器的过程的一个实施例的流程图。图7A中描述的过程是用于实现图5C中步骤554的过程的一个示例。图7A的过程可被连续地以及由一个或多个计算设备执行。图7A的过程中每一步骤都可由与在其他步骤中所使用的那些计算设备相同或不同的计算设备来执行,且每一步骤不必由单个计算设备来执行。在一个实施例中,图7A的过程由诸如图1中的移动设备19之类的移动设备来执行。在步骤702,检测到与补偿事件相关联的第一条件。可通过将图像和/或音频处理技术应用到多个传感器输入来检测该第一条件。该第一条件可包括与色彩或深度传感器相关联的超出某一阈值的移动(如由于过度头部移动)、与色彩传感器相关联的低于某一阈值的环境照明(如佩戴HMD的个人进入昏暗的隧道)、或与话筒相关联的超出某一阈值的环境噪声(如佩戴HMD的个人进入嘈杂的环境)。在步骤704,基于该第一条件确定参数缩放值。可通过利用与在运动、旋转、照明和/或温度变化下多个传感器输入的属性或特性有关的预定信息来确定参数缩放值。在步骤706,接收与多传感器姿势过滤器相关联的第一组参数。在708,基于步骤704中确定的参数缩放值来缩放该第一组参数。在步骤710,通过根据参数缩放值修改该第一组参数来更新该多传感器姿势过滤器。图7B是描述用于同步多个传感器输入的过程的一个实施例的流程图。图7B中描述的过程是用于实现图5A中步骤504的过程的一个示例。图7B的过程可被连续地以及由一个或多个计算设备执行。图7B的过程中每一步骤都可由与在其他步骤中所使用的那些计算设备相同或不同的计算设备来执行,且每一步骤不必由单个计算设备来执行。在一个实施例中,图7B的过程由诸如图1中的移动设备19之类的移动设备来执行。在步骤720,接收多个传感器输入。在步骤722,确定所述多个传感器输入中的每一个相对于所述多个传感器输入中的某一传感器输入的时间偏差。在一个实施例中,可在计算设备的操作之前使用静态校准过程,或使用动态校准过程来确定时间偏差,动态校准过程根据该多个传感器输入中检测到的模式来随时间调整时移量。在某些实施例中,某一传感器输入可与该传感器输入所源自的传感器设备生成的时间戳相关联。在步骤724,根据步骤722中确定的相应时间偏差,所述多个传感器输入中的每一个被时移。所公开的技术可以与各种计算系统一起使用。图8-10提供了可用于实现所公开的技术的实施例的各种计算系统的示例。图8是游戏和媒体系统7201的实施例的框图,它是图3中计算环境12的一个示例。控制台7203具有中央处理单元(CPU) 7200以及便于处理器访问各种类型的存储器的存储器控制器7202,各种类型的存储器包括闪存只读存储器(ROM) 7204、随机存取存储器(RAM)7206、硬盘驱动器7208,以及便携式媒体驱动器7107。在一种实现中,CPU 7200包括I级高速缓存7210和2级高速缓存7212,这些高速缓存用于临时存储数据并因此减少对硬盘驱动器7208进行的存储器访问周期的数量,从而提高了处理速度和吞吐量。CPU 7200、存储器控制器7202、以及各种存储器设备经由一个或多个总线(未示出)互连。所述一个或多个总线可以包括下列各项中一个或多个:串行和并行总线、存储器总线、外围总线、使用各种总线架构中的任何一种的处理器或局部总线。作为示例,这样的架构可以包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA (EISA)总线、视频电子标准协会(VESA)局部总线、以及外围部件互连(PCI)总线。在一个实现中,CPU 7200、存储器控制器7202、R0M 7204、以及RAM 7206被集成到公用模块7214上。在此实现中,ROM 7204被配置为通过PCI总线和ROM总线(两者都没有示出)连接到存储器控制器7202的闪存ROM。RAM7206被配置为多个双倍数据速率同步动态RAM (DDR SDRAM)模块,它们被存储器控制器7202通过分开的总线(未示出)独立地进行控制。硬盘驱动器7208和便携式媒体驱动器7107被示为通过PCI总线和AT附加(ATA)总线7216连接到存储器控制器7202。然而,在其他实施方式中,也可以在替代方案中应用不同类型的专用数据总线结构。三维图形处理单元7220和视频编码器7222构成了视频处理流水线,用于进行高速度和高分辨率(例如,高清晰度)图形处理。数据通过数字视频总线(未示出)从图形处理单元7220传输到视频编码器7222。音频处理单元7224和音频编解码器(编码器/解码器)7226构成了对应的音频处理流水线,用于对各种数字音频格式进行多通道音频处理。通过通信链路(未示出)在音频处理单元7224和音频编解码器7226之间传送音频数据。视频和音频处理流水线向A/V (音频/视频)端口 7228输出数据,以便传输到电视机或其他显示器。在所示出的实现中,视频和音频处理组件7220-7228安装在模块7214上。图8示出了包括USB主控制器7230和网络接口 7232的模块7214。USB主控制器7230通过总线(未示出)与CPU 7200和存储器控制器7202通信,并用作外围控制器7205(1)-7205(4)的主机。网络接口 7232提供对网络(例如,因特网、家庭网络等等)的访问,并可以是各种有线或无线接口组件中的任何一种,包括以太网网卡、调制解调器、无线接入卡、蓝牙模块、电缆调制解调器等等。在图8中描绘的实现中,控制台7203包括用于支持四个控制器7205(1)-7205(4)的控制器支持子部件7240。控制器支持子部件7240包括支持与诸如,例如,媒体和游戏控制器之类的外部控制设备的有线和无线操作所需的任何硬件和软件组件。前面板I/O子部件7242支持电源按钮7213、弹出按钮7215,以及任何LED (发光二极管)或暴露在控制台7203的外表面上的其他指示器等多个功能。子部件7240和7242通过一个或多个电缆部件7244与模块7214进行通信。在其他实现中,控制台7203可以包括另外的控制器子部件。所示出的实现还示出了被配置为发送和接收可传递给模块7214的信号(例如来自遥控器7290)的光学I/O接口 7235。
MU 7241(1)和7241⑵被示为可以分别连接到MU端口 “A”7231 (l)和“B,,7231⑵。附加的MU (例如,MU 7241 (3)-7241 (6))被示为可连接到控制器7205 (I)和7205 (3),即每一个控制器两个MU。控制器7205 (2)和7205 (4)也可以被配置成接纳MU(未示出)。每一个MU 7241都提供附加存储,在其上面可以存储游戏、游戏参数、及其他数据。诸如便携式USB设备之类的附加存储器设备可用来代替MU。在一些实现中,其他数据可以包括数字游戏组件、可执行的游戏应用,用于扩展游戏应用的指令集、以及媒体文件中的任何一种。当被插入到控制台7203或控制器中时,MU 7241可以被存储器控制器7202访问。系统供电模块7250向游戏系统7201的组件供电。风扇7252冷却控制台7203内的电路。包括机器指令的应用7260被存储在硬盘驱动器7208上。当控制台7203被上电时,应用7260的各个部分被加载到RAM 7206和/或高速缓存7210和7212中以供在CPU7200上执行。其他应用也可以存储在硬盘驱动器7208上以供在CPU 7200上执行。可以通过简单地将系统连接到监视器、电视机、视频投影仪、或其他显示设备来将游戏和媒体系统7201用作独立系统。在此独立模式下,游戏和媒体系统7201使得一个或多个玩家能够玩游戏或欣赏数字媒体(例如观看电影或听音乐)。然而,随着宽带连接的集成通过网络接口 7232而成为可能,游戏和媒体系统7201还可以作为更大的网络游戏社区的参与者来操作。图9是移动设备8300 (诸如图1中的移动设备19)的一个实施例的框图。移动设备可以包括膝上型计算机、袖珍计算机、移动电话、个人数字助理、以及已经整合了无线接收机/发射机技术的手持式媒体设备。移动设备8300包括一个或多个处理器8312以及存储器8310。存储器8310包括应用8330和非易失性存储8340。存储器8310可以是任何种类的存储器存储介质类型,包括非易失性和易失性存储器。移动设备操作系统处理移动设备8300的不同操作,并可包含用于操作的用户界面,如拨打和接听电话呼叫、文本消息收发、检查语音邮件等。应用8330可以是任何种类的程序,如用于照片和/或视频的相机应用、地址簿、日历应用、媒体播放器、因特网浏览器、游戏、闹钟应用、以及其他应用。存储器8310中的非易失性存储组件8340可以包含诸如音乐、照片、联系人数据、日程安排数据、以及其他文件之类的数据。所述一个或多个处理器8312还与下列各项通信:RF发射机/接收机8306,其又耦合到天线8302 ;红外发射机/接收机8308 ;全球定位服务(GPS)接收器8365 ;以及移动/定向传感器8314,其可以包括加速度计和/或磁力计。RF发射机/接收机8308可以通过诸如蓝牙⑧或IEEE 802.11标准之类的各种无线技术标准来实现无线通信。加速度计可能已经结合在移动设备中以实现诸如下列等应用:智能用户界面应用,其让用户通过姿势输入命令;以及定向应用,其可以在移动设备被旋转时自动地从竖向改变成横向。可以,例如,通过微机电系统(MEMS)来提供加速度计,该微机电系统是构建在半导体芯片上的微小机械器件(微米尺寸)。可以感测加速度方向、以及定向、振动和震动。所述一个或多个处理器8312还与响铃器/振动器8316、用户界面小键盘/屏幕8318、扬声器8320、话筒8322、相机8324、光传感器8326和温度传感器8328进行通信。用户界面小键盘/屏幕可以包括触敏屏幕显示器。所述一个或多个处理器8312控制无线信号的发射和接收。在发射模式期间,所述一个或多个处理器8312向RF发射机/接收机8306提供来自话筒8322的语音信号,或其它数据信号。发射机/接收机8306通过天线8302来传送信号。响铃器/振动器8316被用于向用户发传入呼叫、文本消息、日历提醒、闹钟提醒或其他通知等信号。在接收模式期间,RF发射机/接收机8306通过天线8302接收来自远程站的语音信号或数据信号。所接收到的语音信号被提供给扬声器8320,而接收到的其它数据信号被适当地处理。另外,可以使用物理连接器8388来将移动设备8300连接到诸如AC适配器或加电对接底座之类的外部电源,以便对电池8304进行再充电。物理连接器8388还可被用作到外部计算设备的数据连接。该数据连接允许诸如将移动设备数据与另一设备上的计算数据进行同步等操作。图10是计算系统环境2200 (如图3中的计算系统10)的实施例的框图。计算系统环境2200包括计算机2210形式的通用计算设备。计算机2210的组件可以包括、但不限于处理单元2220、系统存储器2230、以及将包括系统存储器2230在内的各种系统组件耦合到处理单元2220的系统总线2221。系统总线2221可以是若干类型的总线结构中的任一种,包括使用各种总线体系结构中的任一种的存储器总线、外围总线、以及局部总线。作为示例,而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA (EISA)总线、视频电子技术标准协会(VESA)局部总线和外围部件互连(PCI)总线。计算机2210通常包括各种计算机可读介质。计算机可读介质可以是能被计算机2210访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。作为示例而非局限,计算机可读介质可以包括计算机存储介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPR0M、闪存或其他存储器技术,CD-ROM、数字多功能盘(DVD)或其他光盘存储设备,磁带盒、磁带、磁盘存储设备或其他磁存储设备,或者能用于存储所需信息且可以由计算机2210访问的任何其他介质。上述中任一组合也应包括在计算机可读介质的范围之内。系统存储器2230包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM) 2231和随机存取存储器(RAM) 2232。包含诸如在启动期间帮助在计算机2210内的元件之间传输信息的基本例程的基本输入/输出系统2233 (BIOS)通常储存储在ROM 2231中。RAM 2232通常包含处理单元2220可立即访问和/或当前正在操作的数据和/或程序模块。作为示例而非限制,图10示出了操作系统2234、应用程序2235、其它程序模块2236和程序数据2237。计算机2210也可以包括其他可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图10示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器2241,从可移动、非易失性磁盘2252中读取或向其写入的磁盘驱动器2251,以及从诸如CD ROM或其它光学介质等可移动、非易失性光盘2256中读取或向其写入的光盘驱动器2255。可在示例性操作环境中使用的其他可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器2241通常由例如接口 2240等不可移动存储器接口连接至系统总线2221,而磁盘驱动器2251和光盘驱动器2255通常由例如接口 2250等可移动存储器接口连接至系统总线2221。
上文讨论并在图10中示出的驱动器及其相关联的计算机存储介质为计算机2210提供了对计算机可读指令、数据结构、程序模块和其他数据的存储。例如,在图10中,硬盘驱动器2241被示为存储操作系统2244、应用程序2245、其它程序模块2246和程序数据2247。注意,这些组件可与操作系统2234、应用程序2235、其他程序模块2236和程序数据2237相同,也可与它们不同。在此操作系统2244、应用程序2245、其他程序模块2246以及程序数据2247被给予了不同的编号,以说明至少它们是不同的副本。用户可以通过输入设备如键盘2262和定点设备2261 (通常指鼠标、跟踪球或触摸垫)向计算机2210输入命令和信息。其他输入设备(未示出)可包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些以及其他输入设备通常通过耦合到系统总线的用户输入接口 2260连接到处理单元2220,但也可通过诸如并行端口、游戏端口或通用串行总线(USB)之类的其他接口和总线结构来连接。监视器2291或其他类型的显示设备也通过诸如视频接口 2290之类的接口连接至系统总线2221。除了监视器以外,计算机还可包括诸如扬声器2297和打印机2296之类的其他外围输出设备,它们可通过输出外围接口 2295来连接。计算机2210可使用到一个或多个远程计算机(诸如,远程计算机2280)的逻辑连接而在联网环境中操作。远程计算机2280可以是个人计算机、服务器、路由器、网络PC、对等设备或其它常见网络节点,且通常包括上文相对于计算机2210描述的许多或所有元件,但在图10中只示出存储器存储设备2281。图10中所示的逻辑连接包括局域网(LAN)2271和广域网(WAN)2273,但也可以包括其它网络。此类联网环境在办公室、企业范围的计算机网络、内联网和因特网中是常见的。当在LAN联网环境中使用时,计算机2210通过网络接口或适配器2270连接到LAN2271。当在WAN联网环境中使用时,计算机2210通常包括调制解调器2272或用于通过诸如因特网等WAN 2273建立通信的其他手段。调制解调器2272可以是内置的或外置的,可经由用户输入接口 2260或其他适当的机制连接到系统总线2221。在联网环境中,相对于计算机2210所示的程序模块或其部分可被存储在远程存储器存储设备中。作为示例而非限制,图10示出了远程应用程序2285驻留在存储器设备2281上。应当理解,所示的网络连接是示例性的,并且可使用在计算机之间建立通信链路的其他手段。所公开的技术可用各种其它通用或专用计算系统环境或配置来操作。适合在该技术中使用的公知的计算系统、环境和/或配置的示例包括,但不限于,个人计算机、服务器计算机、手持或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子产品、网络PC、小型机、大型机、包含上述系统或设备中的任一个的分布式计算机环境等。所公开的技术可在诸如程序模块等由计算机执行的计算机可执行指令的一般上下文中描述。一般而言,如此处所述的软件和程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构和其他类型的结构。硬件或硬件和软件的组合可代替如此处所述的软件模块。所公开的技术也可以在任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和远程计算机存储介质中。出于本文的目的,说明书中引述的“ 一实施例”、“ 一个实施例”、“某些实施例”或“另一实施例”用于描述不同的实施例并且不必然指的是同一实施例。
出于本文的目的,连接可以是直接连接或间接连接(例如,经由另一方)。出于本文的目的,术语对象的“集合”指的是一个或多个对象的“集合”。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。
权利要求
1.一种用于识别一姿势的方法,包括: 接收多个传感器输入; 获取与所述姿势相关联的一个或多个多传感器姿势过滤器,所述一个或多个多传感器姿势过滤器包括一过滤器; 检测新的传感器输入可用于识别所述姿势; 将该新的传感器输入添加到所述多个传感器输入; 响应于该新的传感器输入更新所述一个或多个多传感器姿势过滤器; 基于所述多个传感器输入生成多个单传感器姿势识别结果,所述生成多个单传感器姿势识别结果是在将所述新的传感器输入添加到所述多个传感器输入之后执行的; 基于所述多个单传感器姿势识别结果确定所述过滤器是否被满足;以及 响应于确定所述过滤器被满足在计算系统上执行命令。
2.如权利要求1所述的方法,其特征在于,还包括: 检测补偿事件;以及 响应于检测到补偿事件更新所述过滤器,所述过滤器包括第一置信度阈值和第二置信度阈值,所述更新所述过滤器包括基于所述补偿事件更新所述第一置信度阈值,所述更新所述过滤器是在确定所述过滤器被满足之前执行的。
3.如权利要求2所述的方法,其特征在于: 所述更新所述第一置信度阈值包`括基于所述补偿事件增加所述第一置信度阈值。
4.如权利要求2-3中的任一项所述的方法,其特征在于: 所述多个传感器输入包括源自深度传感器的第一输入;以及 所述补偿事件包括检测到与所述深度传感器相关联的运动超出一阈值达超过一时间段。
5.如权利要求2-3中的任一项所述的方法,其特征在于: 所述多个传感器输入包括源自图像传感器的第一输入;以及 所述补偿事件包括检测到与所述图像传感器相关联的照明条件低于一阈值达超过一时间段。
6.一种用于识别一姿势的电子设备,包括: 第一传感器,所述第一传感器生成第一输入; 第二传感器,所述第二传感器生成第二输入; 存储器,所述存储器存储一个或多个多传感器姿势过滤器,所述一个或多个多传感器姿势过滤器中的一过滤器包括第一置信度阈值和第二置信度阈值;以及 一个或多个处理器,所述一个或多个处理器检测补偿事件,所述一个或多个处理器基于所述补偿事件更新所述第一置信度阈值,所述一个或多个处理器确定基于所述第一输入所述姿势已经发生的第一置信度值,所述一个或多个处理器确定基于所述第二输入所述姿势已经发生的第二置信度值,所述一个或多个处理器基于所述第一置信度值是否满足第一置信度阈值以及所述第二置信度值是否满足所述第二置信度阈值来生成多传感器置信度值。
7.如权利要求6所述的电子设备,其特征在于: 所述一个或多个处理器通过基于所述补偿事件增加所述第一置信度阈值来更新所述第一置信度阈值。
8.如权利要求6-7中的任一项所述的电子设备,其特征在于: 所述第一传感器包括深度传感器;以及 所述补偿事件包括检测到与所述深度传感器相关联的运动超出一阈值达超过一时间段。
9.如权利要求6-7中的任一项所述的电子设备,其特征在于: 所述补偿事件包括检测到温度超出一阈值达超过一时间段。
10.如权利要求6-9中的任一项所述的电子设备,其特征在于: 所述一个或多 个处理器同步所述多个传感器输入。
全文摘要
本发明涉及多传感器姿势识别。描述了用于使用自适应多传感器姿势识别来识别姿势的系统。在某些实施例中,姿势识别系统从多个传感器设备接收多个传感器输入,以及与所述多个传感器输入相关联的多个置信度阈值。置信度阈值指定认为某一姿势已经发生的最小置信度值。一旦检测到补偿事件,诸如涉及所述多个传感器设备之一的过度运动,姿势识别系统可基于该补偿事件来修改所述多个置信度阈值。接着,姿势识别系统基于所述多个置信度阈值中的至少某一子集是否已被满足来生成并输出多传感器置信度值。姿势识别系统还可基于传感器输入被插入姿势识别系统或从姿势识别系统拔出来修改所述多个置信度阈值。
文档编号G06K9/00GK103105926SQ20121039363
公开日2013年5月15日 申请日期2012年10月16日 优先权日2011年10月17日
发明者S·G·拉塔, B·J·芒特, A·G·普洛斯, J·A·科勒, A·C·汤姆林, J·T·斯蒂德 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1