神经肌肉信号的相机引导的解释的制作方法

文档序号:25540536发布日期:2021-06-18 20:36阅读:79来源:国知局
神经肌肉信号的相机引导的解释的制作方法

相关申请的交叉引用

本申请根据35u.s.c.§119(e)要求2018年8月31日提交的标题为“camera-guidedinterpretationofneuromuscularsignals”的美国临时专利申请序列号62/726,159的权益,其全部内容通过引用结合于此。

发明领域

本技术涉及检测和解释神经肌肉信号的系统和方法,用于在增强现实环境或虚拟现实环境中执行功能,并校准用于解释神经肌肉信号的模型。

背景

在生成人体的肌肉骨骼表示(musculoskeletalrepresentation)的一些计算机应用中,希望应用知道用户身体的空间定位、定向(orientation)和移动,以提供身体移动的现实表示。例如,在增强现实(ar)环境或虚拟现实(vr)环境中,跟踪用户的手部的空间定位使得应用能够在ar或vr环境中表示手部的运动,这允许用户与ar或vr环境中的虚拟对象进行交互(例如,通过抓握或操纵)。已经开发了使用附着于用户身体不同部分的可穿戴传感器(诸如惯性测量单元(imu))来跟踪用户身体的移动的技术,以获得关于用户身体不同部分的定位信息和/或方位信息。

概述

根据本文所述技术的各方面,提供了一种使用相机信息来校准用于生成肌肉骨骼表示的一个或更多个推理模型的计算机化系统。该系统可以包括被配置成捕获至少一个图像的至少一个相机;多个神经肌肉传感器,其被配置为感测和记录来自用户的多个神经肌肉信号,其中多个神经肌肉传感器被布置在被构造为由用户穿戴的一个或更多个可穿戴设备上以获得多个神经肌肉信号;和至少一个计算机处理器。至少一个处理器可以被编程为通过至少部分地基于多个神经肌肉信号和至少一个图像更新与一个或更多个推理模型相关联的至少一个参数来校准一个或更多个推理模型。

在一个方面,至少一个参数的更新可以包括以下各项中的任意一项或任意组合:更新用于预处理多个神经肌肉信号以校准一个或更多个推理模型的例程;在对应于至少一个图像的图像信号用于校准一个或更多个推理模型之前,更新用于预处理图像信号的例程;一个或更多个推理模型的一个或更多个架构的更新;更新用于后处理一个或更多个推理模型的输出的例程;更新用于从多个推理模型中选择一个或更多个推理模型的选择例程;以及更新用于一个或更多个推理模型中的至少一个推理模型的权重。

在另一方面,一个或更多个推理模型可用于生成手部状态、静止姿势和动态手势中的任意一个或任意组合的表示。

在一个方面,至少一个相机可以包括相对于用户设置在固定位置的相机。

在一个方面,至少一个相机可以包括被配置为安装在用户上的相机。

在一个方面,至少一个图像可以包括以下各项中的任意一项或任意组合:由可见光产生的图像、由红外光产生的图像、由预定波长范围的光产生的图像、以及由两个或更多个不同预定波长范围的光产生的图像。

在一个方面,更新与一个或更多个推理模型相关联的至少一个参数可以包括训练一个或更多个推理模型以产生输出,当多个神经肌肉信号或从多个神经肌肉信号导出的信息,或者多个神经肌肉信号和从多个神经肌肉信号导出的信息被提供作为一个或更多个推理模型的输入时,该输出至少部分地基于至少一个图像来确定。

在一个方面,计算机化系统可以进一步包括扩展现实(xr)系统,其生成xr环境并显示视觉表示。至少一个计算机处理器还可以被编程为:至少部分基于至少一个图像,检测用户执行的手势是否匹配特定手势;并且,如果检测到用户执行的手势与特定手势匹配,则更新一个或更多个推理模型以纳入对应于用户执行的手势的神经肌肉数据。

在该方面的变型中,至少一个相机可以包括附接到xr系统的头戴式显示器的相机。

在该方面的另一个变型中,至少一个计算机处理器可以进一步被编程为指示xr系统为用户提供执行特定手势的视觉提示。

在该方面的另一个变型中,至少一个计算机处理器可以进一步被编程为指示xr系统为用户提供执行特定手势的听觉提示。

在该方面的另一个变型中,手势可以由用户根据来自外部源的指令来执行。

在该方面的另一个变型中,当用户执行的手势和特定手势之间的相似性高于预定阈值时,可以检测到用户执行的手势匹配特定手势。

在该方面的另一个变型中,视觉表示可以显示在用户可见的显示屏上,并且可以包括手部的视觉表示。

在该方面的另一个变型中,视觉表示可以显示在用户可见的显示屏上,并且可以包括对用户的指令。

在该方面的另一个变型中,对用户执行特定手势的提示可以是在用户可见的显示屏上提供的特定手势的视觉表示。

在这方面的各种变化中,视觉表示可以在xr环境中。

在该方面的变型中,特定手势可以是以下之一:运动或动态手势,以及姿势或静态手势。

在该方面的变型中,至少一个图像可以在用户执行手势期间由至少一个相机捕获,并且至少一个计算机处理器可以进一步被编程为至少部分基于在用户执行手势期间捕获的至少一个图像向用户提供反馈。在一个示例中,要提供给用户的反馈可以指示要执行的特定手势所必需的用户身体部位是否完全包括在用户执行手势期间捕获的至少一个图像中。在另一个示例中,要提供给用户的反馈可以指示要执行的特定手势所必需的用户身体部位在用户执行手势期间捕获的至少一个图像中是否被完全或部分遮挡。在另一个示例中,至少一个计算机处理器可以指示xr系统在xr环境中提供反馈。在另一个示例中,反馈可以包括以下各项中的一个或更多个:听觉反馈、视觉反馈、触觉反馈和电刺激反馈。例如,视觉反馈可以是显示执行特定手势的方式的移动图像或静止图像。

在一个方面,至少一个计算机处理器可以被进一步编程以确定至少一个图像是否包括肌肉骨骼表示的至少两个节段的定位信息。与一个或更多个推理模型相关联的至少一个参数的更新可以包括当确定至少一个图像包括肌肉骨骼表示的至少两个节段的定位信息时,更新一个或更多个推理模型以纳入对应于多个神经肌肉信号的神经肌肉数据。

在一个方面,至少一个计算机处理器可以进一步被编程为:至少部分地基于至少一个图像,检测为了在由xr系统生成的扩展现实(xr)环境中执行任务而由用户执行的手势是否匹配用于执行任务的存储的手势;并且,如果由用户执行的手势与用于执行任务的存储的手势匹配,则更新一个或更多个推理模型以纳入对应于由用户执行的手势的神经肌肉数据。

在该方面的变型中,当用户执行的手势和存储的手势之间的相似性高于预定阈值时,可以检测到用户执行的手势匹配存储的手势。

在该方面的另一个变型中,一个或更多个推理模型可用于生成手部状态、静止姿势和动态手势中的任意一项或任意组合的表示。

在一个方面,至少一个计算机处理器可以进一步被编程为基于至少一个图像来确定对应于用户的用户特定骨骼几何形状。与一个或更多个推理模型相关联的至少一个参数的更新可以包括基于所确定的用户特定骨骼几何形状来更新一个或更多个推理模型的至少一个参数。

在该方面的变型中,用户特定骨骼几何形状可以包括用户的至少一个手指的长度。

在一个方面,至少一个相机可以被配置成在时间序列中捕获多个图像。一个或更多个推理模型的至少一个参数的更新可以进一步至少部分地基于在时间序列中捕获的多个图像。

根据本文描述的技术的方面,提供了一种计算机化系统的方法,用于使用相机信息来校准用于生成肌肉骨骼表示的一个或更多个推理模型。该方法可以包括:由至少一个计算机处理器接收以下之一或两者:由至少一个相机捕获的至少一个图像和从该至少一个图像导出的信息;由至少一个计算机处理器接收来自用户的多个神经肌肉信号和从多个神经肌肉信号导出的信息之一或两者,多个神经肌肉信号由布置在用户穿戴的一个或更多个可穿戴设备上的多个神经肌肉传感器感测和记录;以及由至少一个处理器通过至少部分地基于多个神经肌肉信号和至少一个图像更新与一个或更多个推理模型相关联的至少一个参数来校准一个或更多个推理模型。

在一个方面,至少一个参数的更新可以包括以下各项中的任意一项或任意组合:更新用于预处理多个神经肌肉信号以校准一个或更多个推理模型的例程;在对应于至少一个图像的图像信号用于校准一个或更多个推理模型之前,更新用于预处理图像信号的例程;一个或更多个推理模型的一个或更多个架构的更新;更新用于后处理一个或更多个推理模型的输出的例程;更新用于从多个推理模型中选择一个或更多个推理模型的选择例程;以及更新用于一个或更多个推理模型中的至少一个推理模型的权重。

在一个方面,一个或更多个推理模型可用于生成手部状态、静止姿势和动态手势中的任意一项或任意组合的表示。

在一个方面,至少一个相机可以包括相对于用户设置在固定位置的相机。

在一个方面,至少一个相机可以包括被配置为安装在用户上的相机。

在一个方面,至少一个图像可以包括以下各项中的任意一项或任意组合:由可见光产生的图像、由红外光产生的图像、由预定波长范围的光产生的图像、以及由两个或更多个不同预定波长范围的光产生的图像。

在一个方面,更新与一个或更多个推理模型相关联的至少一个参数可以包括当多个神经肌肉信号或从多个神经肌肉信号导出的信息,或者多个神经肌肉信号和从多个神经肌肉信号导出的信息被提供作为一个或更多个推理模型的输入时,训练一个或更多个推理模型以产生输出,该输出至少部分地基于至少一个图像来确定。

在一个方面,该方法可以进一步包括:由至少一个处理器至少部分基于至少一个图像来检测用户执行的手势是否匹配特定手势;并且,如果检测到用户执行的手势与特定手势匹配,则更新一个或更多个推理模型以纳入对应于用户执行的手势的神经肌肉数据。该至少一个处理器可以与生成扩展现实(xr)环境并显示视觉表示的xr系统通信。

在该方面的变型中,至少一个相机可以包括附接到xr系统的头戴式显示器的相机。

在该方面的另一个变型中,该方法可以进一步包括由至少一个处理器指示xr系统为用户提供执行特定手势的视觉提示。

在该方面的另一个变型中,该方法可以进一步包括由至少一个处理器指示xr系统为用户提供执行特定手势的听觉提示。

在一些方面的变型中,手势可以由用户根据来自外部源的指令来执行。

在一些方面的变型中,当用户执行的手势和特定手势之间的相似性高于预定阈值时,可以检测到用户执行的手势匹配特定手势。

在一些方面的变型中,视觉表示可以显示在用户可见的显示屏上,并且可以包括手部的视觉表示。

在一些方面的变型中,视觉表示可以显示在用户可见的显示屏上,并且可以包括对用户的指令。

在一些方面的变型中,对用户执行特定手势的提示可以是在用户可见的显示屏上提供的特定手势的视觉表示。

在一些方面的变型中,视觉表示可以在xr环境中。

在一些方面的变型中,特定手势可以是以下之一:运动或动态手势,以及姿势或静态手势。

在一些方面的变型中,至少一个图像可以在用户执行手势期间由至少一个相机捕获。该方法可以进一步包括至少部分基于在用户执行手势期间捕获的至少一个图像,该至少一个处理器使得反馈被提供给用户。

在一些方面的变型中,要提供给用户的反馈可以指示要执行的特定手势所必需的用户身体部位是否完全包括在用户执行手势期间捕获的至少一个图像中。

在一些方面的变型中,要提供给用户的反馈可以指示要执行的特定手势所必需的用户身体部位在用户执行手势期间捕获的至少一个图像中是否被完全或部分遮挡。

在一些方面的变型中,至少一个计算机处理器可以使xr系统在xr环境中提供反馈。

在一些方面的变型中,反馈可以包括以下各项中的一个或更多个:听觉反馈、视觉反馈、触觉反馈和电刺激反馈。在进一步的变型中,视觉反馈可以是显示执行特定手势的方式的移动图像或静止图像。

在一个方面,该方法可以进一步包括由至少一个计算机处理器确定至少一个图像是否包括肌肉骨骼表示的至少两个节段的定位信息。与一个或更多个推理模型相关联的至少一个参数的更新可以包括当确定至少一个图像包括肌肉骨骼表示的至少两个节段的定位信息时,更新一个或更多个推理模型以纳入对应于多个神经肌肉信号的神经肌肉数据。

在一个方面,该方法可以进一步包括:由至少一个处理器至少部分地基于该至少一个图像来检测为了在由xr系统生成的扩展现实(xr)环境中执行任务而由用户执行的手势是否匹配用于执行该任务的存储的手势;并且,如果用户执行的手势与用于执行任务的存储的手势匹配,则由至少一个处理器更新一个或更多个推理模型,以纳入对应于用户执行的手势的神经肌肉数据。

在该方面的变型中,当用户执行的手势和存储的手势之间的相似性高于预定阈值时,可以检测到用户执行的手势匹配存储的手势。

在该方面的另一个变型中,一个或更多个推理模型可用于生成手部状态、静止姿势和动态手势中的任意一项或任意组合的表示。

在一个方面,该方法可以进一步包括:由至少一个计算机处理器基于至少一个图像确定对应于用户的用户特定骨骼几何形状。与一个或更多个推理模型相关联的至少一个参数的更新可以包括基于所确定的用户特定骨骼几何形状来更新一个或更多个推理模型的至少一个参数。

在该方面的变型中,用户特定骨骼几何形状可以包括用户的至少一个手指的长度。

在一个方面,至少一个相机可以被配置成捕获时间序列中的多个图像。一个或更多个推理模型的至少一个参数的更新可以进一步至少部分地基于在时间序列中捕获的多个图像。

根据本文所述技术的各方面,提供了一种存储代码的非暂时性计算机可读存储介质,当由至少一个计算机执行时,该代码使得该至少一个计算机执行使用相机信息来校准用于生成肌肉骨骼表示的一个或更多个推理模型的方法。该方法可以包括:接收由至少一个相机捕获的至少一个图像和从该至少一个图像导出的信息之一或两者;接收来自用户的多个神经肌肉信号和从多个神经肌肉信号导出的信息之一或两者,多个神经肌肉信号由布置在用户穿戴的一个或更多个可穿戴设备上的多个神经肌肉传感器感测和记录;以及通过至少部分地基于多个神经肌肉信号和至少一个图像更新与一个或更多个推理模型相关联的至少一个参数来校准一个或更多个推理模型。

在一个方面,至少一个参数的更新包括以下各项中的任意一项或任意组合:更新用于预处理多个神经肌肉信号以校准一个或更多个推理模型的例程,更新用于在图像信号用于校准一个或更多个推理模型之前预处理对应于至少一个图像的图像信号的例程,更新一个或更多个推理模型的一个或更多个架构,更新用于后处理一个或更多个推理模型的输出的例程,更新用于从多个推理模型中选择一个或更多个推理模型的选择例程,以及更新用于一个或更多个推理模型中的至少一个推理模型的权重。

在一个方面,一个或更多个推理模型可用于生成手部状态、静止姿势和动态手势中的任意一项或任意组合的表示。

在一个方面,至少一个相机可以包括相对于用户设置在固定位置的相机。

在一个方面,至少一个相机可以包括被配置为安装在用户上的相机。

在一个方面,至少一个图像可以包括以下的任意一项或任意组合:由可见光产生的图像、由红外光产生的图像、由预定波长范围的光产生的图像、以及由两个或更多个不同预定波长范围的光产生的图像。

在一个方面,更新与一个或更多个推理模型相关联的至少一个参数可以包括当多个神经肌肉信号或从多个神经肌肉信号导出的信息,或者多个神经肌肉信号和从多个神经肌肉信号导出的信息被提供作为一个或更多个推理模型的输入时,训练一个或更多个推理模型以产生输出,该输出至少部分地基于至少一个图像来确定。

在一个方面,至少一个计算机可以与生成xr环境并显示视觉表示的扩展现实(xr)系统通信。该方法可以进一步包括:至少部分基于该至少一个图像,检测用户执行的手势是否匹配特定手势;并且,如果检测到用户执行的手势与特定手势匹配,则更新一个或更多个推理模型以纳入对应于用户执行的手势的神经肌肉数据。

在该方面的变型中,至少一个相机可以包括附接到xr系统的头戴式显示器的相机。

在该方面的另一个变型中,该方法可以进一步包括指示xr系统为用户提供执行特定手势的视觉提示。

在该方面的另一个变型中,该方法可以进一步包括指示xr系统为用户提供执行特定手势的听觉提示。

在该方面的另一个变型中,手势可以由用户根据来自外部源的指令来执行。

在该方面的另一个变型中,当用户执行的手势和特定手势之间的相似性高于预定阈值时,可以检测到用户执行的手势匹配特定手势。

在该方面的另一个变型中,视觉表示可以显示在用户可见的显示屏上,并且可以包括手部的视觉表示。

在该方面的另一个变型中,视觉表示可以显示在用户可见的显示屏上,并且可以包括对用户的指令。

在该方面的另一个变型中,对用户执行特定手势的提示可以是在用户可见的显示屏上提供的特定手势的视觉表示。

在一些方面的变型中,视觉表示可以在xr环境中。

在一些方面的变型中,特定手势可以是以下之一:运动或动态手势,以及姿势或静态手势。

在一些方面的变型中,至少一个图像可以在用户执行手势期间由至少一个相机捕获。该方法可以进一步包括至少部分地基于在用户执行手势期间捕获的至少一个图像,使得反馈被提供给用户。

在一些方面的变型中,要提供给用户的反馈可以指示要执行的特定手势所必需的用户身体部位是否完全包括在用户执行手势期间捕获的至少一个图像中。

在一些方面的变型中,要提供给用户的反馈可以指示要执行的特定手势所必需的用户身体部位在用户执行手势期间捕获的至少一个图像中是否被完全或部分遮挡。

在一些方面的变型中,反馈可以在xr环境中提供。

在一些方面的变型中,反馈可以包括以下各项中的一个或更多个:听觉反馈、视觉反馈、触觉反馈和电刺激反馈。在进一步的变型中,视觉反馈可以是显示执行特定手势的方式的移动图像或静止图像。

在一个方面,该方法可以进一步包括确定至少一个图像是否包括肌肉骨骼表示的至少两个节段的定位信息。与一个或更多个推理模型相关联的至少一个参数的更新可以包括当确定至少一个图像包括肌肉骨骼表示的至少两个节段的定位信息时,更新一个或更多个推理模型以纳入对应于多个神经肌肉信号的神经肌肉数据。

在一个方面,该方法可以进一步包括:至少部分基于至少一个图像,检测为了在由xr系统生成的扩展现实(xr)环境中执行任务而由用户执行的手势是否匹配用于执行任务的存储的手势;并且,如果用户执行的手势与用于执行任务的存储的手势匹配,则由至少一个处理器更新一个或更多个推理模型,以纳入对应于用户执行的手势的神经肌肉数据。

在该方面的变型中,当用户执行的手势和存储的手势之间的相似性高于预定阈值时,可以检测到用户执行的手势匹配存储的手势。

在一些方面的变型中,一个或更多个推理模型可用于生成手部状态、静止姿势和动态手势中的任意一项或任意组合的表示。

在一个方面,该方法可以进一步包括基于至少一个图像确定对应于用户的用户特定骨骼几何形状。与一个或更多个推理模型相关联的至少一个参数的更新可以包括基于所确定的用户特定骨骼几何形状来更新一个或更多个推理模型的至少一个参数。

在该方面的变型中,用户特定骨骼几何形状可以包括用户的至少一个手指的长度。

在一个方面,至少一个相机可以被配置成捕获时间序列中的多个图像。一个或更多个推理模型的至少一个参数的更新可以进一步至少部分地基于在时间序列中捕获的多个图像。

根据本文所述技术的方面,提供了一种用于提供动态更新的肌肉骨骼信息的计算机化系统。该系统可以包括:至少一个相机,其被配置为捕获至少一个图像;多个神经肌肉传感器,其被配置为感测和记录来自用户的多个神经肌肉信号,其中多个神经肌肉传感器被布置在被构造为由用户穿戴的一个或更多个可穿戴设备上以获得多个神经肌肉信号;和至少一个计算机处理器。至少一个处理器可以被编程为:将基于多个神经肌肉信号的信息和基于至少一个图像的信息作为输入提供给经训练的推理模型;基于经训练的推理模型的输出,确定描述用户的两个或更多连接的肌肉骨骼节段之间的空间关系的定位信息、或描述由用户的至少一个肌肉骨骼节段施加的力的力信息、或定位信息和力信息两者;并且输出定位信息或力信息、或者定位信息和力信息两者。

在一个方面,定位信息可以是肌肉骨骼定位信息,其可以包括手部状态、手部状态的可能性(likelihood)、静止姿势、静止姿势的可能性、动态手势和动态手势的可能性中的任意一项或任意组合。

在一个方面,至少一个计算机处理器可以进一步被编程为:确定多个神经肌肉信号的第一质量,或者至少一个图像的第二质量,或者第一质量和第二质量两者,并且基于第一质量和第二质量中的一个或两者对多个神经肌肉信号或至少一个图像、或多个神经肌肉信号和至少一个图像二者进行加权,以基于多个神经肌肉信号和至少一个图像来确定该信息。

在该方面的变型中,多个神经肌肉信号的第一质量可以通过确定多个神经肌肉信号中的至少一个是否包括至少一个信号伪像(signalartifact)来确定。

在该方面的另一个变型中,至少一个图像的第二质量可以通过确定用户的手部是否完全包括在至少一个相机的视场中、或者手部是否在至少一个相机的视场中被完全遮挡、或者用户的手部的至少一部分是否在至少一个相机的视场中被遮挡来确定。

在该方面的另一个变型中,至少一个计算机处理器可以进一步被编程为响应于第二质量大于阈值的确定来确定第一质量。

在一个方面,两个或更多个连接的肌肉骨骼节段可以包括前臂刚性节段(rigidsegment),该前臂刚性节段通过腕关节连接到手部的多个刚性节段。多个神经肌肉传感器可以包括多个肌电图(emg)传感器。该至少一个计算机处理器还可以被编程为:至少部分地基于从多个emg传感器输出的多个神经肌肉信号来确定手部中多个刚性节段的定位信息;并且至少部分地基于由至少一个相机捕获的至少一个图像来确定前臂刚性节段的定位信息。

在一个方面,用户的手腕、连接到手腕的手部以及手部的手指可以由至少一个图像捕获。两个或更多个连接的肌肉骨骼节段可以包括用户的手腕、手部和手指。至少一个计算机处理器可以被编程为至少部分地基于多个神经肌肉信号和由至少一个相机捕获的至少一个图像来确定手部中的多个刚性节段的定位信息和力信息中的至少一个。

在该方面的变型中,当感测和记录多个神经肌肉信号时,至少一个相机可以捕获至少一个图像。当感测和记录多个神经肌肉信号时,一个或更多个可穿戴设备可以穿戴在用户的手腕上或用户的前臂上。至少一个计算机处理器可以被编程为至少部分地基于多个神经肌肉信号和由至少一个相机捕获的至少一个图像来确定用户的手部状态、动态手势和静止姿势中的任意一个或任意组合。

在一些方面的变型中,计算机化系统可以进一步包括至少一个惯性测量单元(imu)传感器。至少一个计算机处理器还可以被编程为至少部分地基于从至少一个imu传感器输出的imu信号来确定前臂刚性节段的定位信息。在进一步的变化中,至少一个计算机处理器可以被编程为:至少部分地基于从至少一个imu传感器输出的imu信号来确定前臂刚性节段的初始定位;并且至少部分地基于由至少一个相机捕获的至少一个图像来调整前臂刚性节段的初始定位信息。

在一个方面,一个或更多个可穿戴设备可以包括至少一个定位标记,至少一个定位标记被包括在一个或更多个可穿戴设备上。定位信息可以至少部分地基于在至少一个图像中捕获的至少一个定位标记来确定。

在一个方面,经训练的推理模型可以被训练以:至少部分地基于至少一个图像来确定定位信息;并且基于多个神经肌肉信号来确定力信息。

在该方面的变型中,经训练的推理模型可以被训练成仅基于至少一个图像来确定定位信息。

在该方面的另一个变型中,经训练的推理模型可以通过基于至少一个图像确定用户的连接的肌肉骨骼节段中的至少两个肌肉骨骼节段正在触摸来确定定位信息。经训练的推理模型可以通过基于多个神经肌肉信号确定施加在用户的连接的肌肉骨骼节段中的正在触摸的至少两个肌肉骨骼节段之间的力来确定力信息。

在各种进一步的变化中,用户的连接的肌肉骨骼节段中的至少两个肌肉骨骼节段可以包括用户的拇指和用户的至少一个其他手指。经训练的推理模型可以基于至少一个图像来确定用户的拇指和用户的至少一个其他手指正在触摸。经训练的推理模型可以确定在用户的拇指和用户的至少一个其他手指之间施加的力。经训练的推理模型还可以基于至少一个图像来确定用户的拇指和用户的至少一个其他手指的指尖正在触摸。

在一个方面,至少一个计算机处理器可以进一步被编程为:基于至少一个图像,确定用户的手部相对于物理对象或虚拟对象的定位;并且至少部分地基于用户的手部相对于物理对象或虚拟对象的定位来确定定位信息或力信息,或者定位信息和力信息两者。

在该方面的变型中,至少一个计算机处理器可以被编程为:从至少一个图像确定用户正在抓住物理对象或虚拟对象;并且仅基于多个神经肌肉信号来确定力信息。

在该方面的另一个变型中,物理对象可以具有柔韧表面。至少一个计算机处理器可以被编程为:基于在至少一个图像中捕获的柔韧表面的变形来确定用户正在抓握物理对象;并且基于多个神经肌肉信号和在至少一个图像中捕获的柔韧表面的变形之一或两者来确定力信息。

在一些方面的变型中,至少一个图像可以包括以下各项中的任意一项或任意组合:由可见光产生的图像、由红外光产生的图像、由预定波长范围的光产生的图像、以及由两个或更多个不同预定波长范围的光产生的图像。

在一些方面的变型中,基于多个神经肌肉信号的信息可以包括以下之一或两者:多个神经肌肉信号和从多个神经肌肉信号导出的信息。

在一些方面的变型中,基于至少一个图像的信息可以包括以下之一或两者:至少一个图像的图像信号和从至少一个图像的图像信号导出的信息。

在一些方面的变型中,物理对象可以是表面。该至少一个计算机处理器还可以被编程为至少部分地基于手部的至少一部分相对于表面的定位来确定力信息。

在一些方面的变型中,其中虚拟对象可以是在由xr系统生成的扩展现实(xr)环境中显示的虚拟对象。该至少一个计算机处理器还可以被编程为基于用户的手部是否正在触摸xr环境中的虚拟对象来确定定位信息。

根据本文所述技术的方面,提供了一种用于提供动态更新的肌肉骨骼信息的计算机化系统的方法。该方法可以包括:由至少一个处理器接收由至少一个相机捕获的至少一个图像;由至少一个处理器接收由被配置为感测和记录来自用户的多个神经肌肉信号的多个神经肌肉传感器感测和记录的多个神经肌肉信号,其中多个神经肌肉传感器被布置在被构造为由用户穿戴的一个或更多个可穿戴设备上以获得多个神经肌肉信号;由至少一个处理器将基于多个神经肌肉信号的信息和基于至少一个图像的信息作为输入提供给经训练的推理模型;由至少一个处理器基于经训练的推理模型的输出来确定描述用户的两个或更多个连接的肌肉骨骼节段之间的空间关系的定位信息、或者描述由用户的至少一个肌肉骨骼节段施加的力的力信息、或者定位信息和力信息两者;以及由至少一个处理器输出定位信息或力信息、或者定位信息和力信息两者。

在一个方面,定位信息可以是肌肉骨骼定位信息,其包括手部状态、手部状态的可能性、静止姿势、静止姿势的可能性、动态手势和动态手势的可能性中的任意一项或任意组合。

在一个方面,该方法可以进一步包括:由至少一个处理器确定多个神经肌肉信号的第一质量,或者至少一个图像的第二质量,或者第一质量和第二质量两者;以及由至少一个处理器基于第一质量和第二质量之一或两者对多个神经肌肉信号或至少一个图像、或多个神经肌肉信号和至少一个图像二者进行加权,以基于多个神经肌肉信号和至少一个图像来确定该信息。

在该方面的变型中,多个神经肌肉信号的第一质量可以通过确定多个神经肌肉信号中的至少一个是否包括至少一个信号伪像来确定。

在该方面的另一个变型中,至少一个图像的第二质量可以通过确定用户的手部是否完全包括在至少一个相机的视场中、或者手部是否在至少一个相机的视场中被完全遮挡、或者用户的手部的至少一部分是否在至少一个相机的视场中被遮挡来确定。

在该方面的另一个变型中,该方法可以进一步包括由至少一个处理器响应于第二质量大于阈值的确定来确定第一质量。

在一个方面,两个或更多个连接的肌肉骨骼节段可以包括前臂刚性节段,该前臂刚性节段通过腕关节连接到手部的多个刚性节段。多个神经肌肉传感器可以包括多个肌电图(emg)传感器。该方法可以进一步包括:由至少一个处理器至少部分地基于从多个emg传感器输出的多个神经肌肉信号来确定手部的多个刚性节段的定位信息;以及至少部分地基于由至少一个相机捕获的至少一个图像来确定前臂刚性节段的定位信息。

在一个方面,用户的手腕、连接到手腕的手部以及手部的手指可以由至少一个图像捕获。两个或更多个连接的肌肉骨骼节段可以包括用户的手腕、手部和手指。该方法可以进一步包括由至少一个处理器至少部分地基于多个神经肌肉信号和由至少一个相机捕获的至少一个图像来确定手部中的多个刚性节段的定位信息和力信息中的至少一个。

在该方面的变型中,当感测和记录多个神经肌肉信号时,至少一个相机可以捕获至少一个图像。当感测和记录多个神经肌肉信号时,一个或更多个可穿戴设备可以穿戴在用户的手腕上或用户的前臂上。该方法可以进一步包括由至少一个处理器至少部分地基于多个神经肌肉信号和由至少一个相机捕获的至少一个图像来确定用户的手部状态、动态手势和静止姿势中的任意一项或任意组合。

在一些方面的变型中,该方法可以进一步包括:由至少一个处理器接收由至少一个惯性测量单元(imu)传感器感测和记录的imu信号;以及由至少一个处理器进一步至少部分地基于imu信号来确定前臂刚性节段的定位信息。在进一步的变型中,该方法可以包括:由至少一个处理器至少部分地基于imu信号来确定前臂刚性节段的初始定位;以及至少部分地基于由至少一个相机捕获的至少一个图像来调整前臂刚性节段的初始定位信息。

在一个方面,一个或更多个可穿戴设备可以包括至少一个定位标记,至少一个定位标记被包括在一个或更多个可穿戴设备上。定位信息可以至少部分地基于在至少一个图像中捕获的至少一个定位标记来确定。

在一个方面,经训练的推理模型可以被训练以:至少部分地基于至少一个图像来确定定位信息;并且基于多个神经肌肉信号来确定力信息。

在该方面的变型中,经训练的推理模型可以被训练成仅基于至少一个图像来确定定位信息。

在该方面的另一个变型中,经训练的推理模型可以通过基于至少一个图像确定用户的连接的肌肉骨骼节段中的至少两个肌肉骨骼节段正在触摸来确定定位信息。经训练的推理模型可以通过基于多个神经肌肉信号确定施加在用户的连接的肌肉骨骼节段中的正在触摸的至少两个肌肉骨骼节段之间的力来确定力信息。

在一些方面的变型中,用户的连接的肌肉骨骼节段中的至少两个肌肉骨骼节段可以包括用户的拇指和用户的至少一个其他手指。经训练的推理模型可以基于至少一个图像来确定用户的拇指和用户的至少一个其他手指正在触摸。经训练的推理模型可以确定在用户的拇指和用户的至少一个其他手指之间施加的力。在进一步的变型中,经训练的推理模型可以基于至少一个图像来确定用户的拇指和用户的至少一个其他手指的指尖正在触摸。

在一个方面,该方法可以进一步包括:由至少一个处理器基于至少一个图像来确定用户的手部相对于物理对象或虚拟对象的定位;以及由至少一个处理器至少部分地基于用户的手部相对于物理对象或虚拟对象的定位来确定定位信息或力信息,或者定位信息和力信息两者。

在该方面的变型中,该方法可以进一步包括:由至少一个处理器基于至少一个图像来确定用户正在抓握物理对象或虚拟对象;以及由至少一个处理器仅基于多个神经肌肉信号来确定力信息。

在该方面的另一个变型中,物理对象可以具有柔韧表面。该方法可以进一步包括:由至少一个处理器基于在至少一个图像中捕获的柔韧表面的变形来确定用户是否正在抓握物理对象;以及由至少一个处理器基于多个神经肌肉信号和在至少一个图像中捕获的柔韧表面的变形之一或两者来确定力信息。

在一个方面,至少一个图像可以包括以下各项中的任意一项或任意组合:由可见光产生的图像、由红外光产生的图像、由预定波长范围的光产生的图像、以及由两个或更多个不同预定波长范围的光产生的图像。

在一个方面,基于多个神经肌肉信号的信息可以包括以下之一或两者:多个神经肌肉信号和从多个神经肌肉信号导出的信息。

在一个方面,基于至少一个图像的信息可以包括以下之一或两者:至少一个图像的图像信号和从至少一个图像的图像信号导出的信息。

在一些方面的变型中,物理对象可以是表面。该方法可以进一步包括:由至少一个处理器至少部分地基于手部的至少一部分相对于表面的定位来确定力信息。

在一些方面的变型中,虚拟对象可以是在由扩展现实(xr)系统生成的xr环境中显示的虚拟对象。该方法还可以包括由至少一个处理器基于用户的手部是否正在触摸xr环境中的虚拟对象来确定定位信息。

根据本文所述技术的各方面,提供了一种存储代码的非暂时性计算机可读存储介质,当由至少一个计算机执行时,该代码使得该至少一个计算机执行用于提供动态更新的肌肉骨骼信息的方法。该方法可以包括:接收由至少一个相机捕获的至少一个图像;接收由被配置为感测和记录来自用户的多个神经肌肉信号的多个神经肌肉传感器感测和记录的多个神经肌肉信号,其中多个神经肌肉传感器被布置在被构造为由用户穿戴的一个或更多个可穿戴设备上以获得多个神经肌肉信号;将基于多个神经肌肉信号的信息和基于至少一个图像的信息作为输入提供给经训练的推理模型;基于经训练的推理模型的输出,确定描述用户的两个或更多连接的肌肉骨骼节段之间的空间关系的定位信息、或描述由用户的至少一个肌肉骨骼节段施加的力的力信息、或定位信息和力信息两者;以及输出定位信息或力信息、或者定位信息和力信息两者。

在一个方面,定位信息可以是肌肉骨骼定位信息,其可以包括手部状态、手部状态的可能性、静止姿势、静止姿势的可能性、动态手势和动态手势的可能性中的任意一项或任意组合。

在一个方面,该方法可以进一步包括:确定多个神经肌肉信号的第一质量,或者至少一个图像的第二质量,或者第一质量和第二质量两者;以及基于第一质量和第二质量之一或两者对多个神经肌肉信号或至少一个图像、或多个神经肌肉信号和至少一个图像进行加权,以基于多个神经肌肉信号和至少一个图像来确定信息。

在该方面的变型中,多个神经肌肉信号的第一质量可以通过确定多个神经肌肉信号中的至少一个是否包括至少一个信号伪像来确定。

在该方面的另一个变型中,至少一个图像的第二质量可以通过确定用户的手部是否完全包括在至少一个相机的视场中、或者手部是否在至少一个相机的视场中被完全遮挡、或者用户的手部的至少一部分是否在至少一个相机的视场中被遮挡来确定。

在该方面的另一个变型中,该方法可以进一步包括响应于第二质量大于阈值的确定来确定第一质量。

在一个方面,两个或更多个连接的肌肉骨骼节段可以包括前臂刚性节段,该前臂刚性节段通过腕关节连接到手部的多个刚性节段。多个神经肌肉传感器可以包括多个肌电图(emg)传感器。该方法可以进一步包括:至少部分地基于从多个emg传感器输出的多个神经肌肉信号来确定手部中多个刚性节段的定位信息;以及至少部分地基于由至少一个相机捕获的至少一个图像来确定前臂刚性节段的定位信息。

在一个方面,用户的手腕、连接到手腕的手部以及手部的手指可以由至少一个图像捕获。两个或更多个连接的肌肉骨骼节段可以包括用户的手腕、手部和手指。该方法可以进一步包括至少部分地基于多个神经肌肉信号和由至少一个相机捕获的至少一个图像来确定手部中的多个刚性节段的定位信息和力信息中的至少一个。

在该方面的变型中,当感测和记录多个神经肌肉信号时,至少一个相机可以捕获至少一个图像。当感测和记录多个神经肌肉信号时,一个或更多个可穿戴设备可以穿戴在用户的手腕上或用户的前臂上。该方法可以进一步包括至少部分地基于多个神经肌肉信号和由至少一个相机捕获的至少一个图像来确定用户的手部状态、动态手势和静止姿势中的任意一项或任意组合。

在一些方面的变型中,该方法可以进一步包括:接收由至少一个惯性测量单元(imu)传感器感测和记录的imu信号;以及进一步至少部分地基于imu信号来确定前臂刚性节段的定位信息。在进一步的变化中,该方法可以包括:至少部分地基于imu信号来确定前臂刚性节段的初始定位;以及至少部分地基于由至少一个相机捕获的至少一个图像来调整前臂刚性节段的初始定位信息。

在一个方面,一个或更多个可穿戴设备可以包括其上包括的至少一个定位标记。定位信息可以至少部分地基于在至少一个图像中捕获的至少一个定位标记来确定。

在一个方面,经训练的推理模型可以被训练以:至少部分地基于至少一个图像来确定定位信息;并且基于多个神经肌肉信号来确定力信息。

在该方面的变型中,经训练的推理模型可以被训练成仅基于至少一个图像来确定定位信息。

在该方面的另一个变型中,经训练的推理模型可以通过基于至少一个图像确定用户的连接的肌肉骨骼节段中的至少两个肌肉骨骼节段正在触摸来确定定位信息。经训练的推理模型可以通过基于多个神经肌肉信号确定施加在用户的连接的肌肉骨骼节段中的正在触摸的至少两个肌肉骨骼节段之间的力来确定力信息。

在一些方面的变型中,用户的连接的肌肉骨骼节段中的至少两个肌肉骨骼节段可以包括用户的拇指和用户的至少一个其他手指。经训练的推理模型可以基于至少一个图像来确定用户的拇指和用户的至少一个其他手指正在触摸。经训练的推理模型可以确定在用户的拇指和用户的至少一个其他手指之间施加的力。在进一步的变型中,经训练的推理模型可以基于至少一个图像来确定用户的拇指和用户的至少一个其他手指的指尖正在触摸。

在一个方面,该方法可以进一步包括:基于至少一个图像,确定用户的手部相对于物理对象或虚拟对象的定位;以及至少部分地基于用户的手部相对于物理对象或虚拟对象的定位来确定定位信息或力信息,或者定位信息和力信息两者。

在该方面的变型中,该方法可以进一步包括:基于至少一个图像,确定用户正在抓握物理对象或虚拟对象;以及仅基于多个神经肌肉信号来确定力信息。

在该方面的另一个变型中,物理对象可以具有柔韧表面。该方法可以进一步包括:基于在至少一个图像中捕获的柔韧表面的变形来确定用户是否正在抓握物理对象;以及基于多个神经肌肉信号和在至少一个图像中捕获的柔韧表面的变形之一或两者来确定力信息。

在一个方面,至少一个图像可以包括以下的任意一项或任意组合:由可见光产生的图像、由红外光产生的图像、由预定波长范围的光产生的图像、以及由两个或更多个不同预定波长范围的光产生的图像。

在一个方面,基于多个神经肌肉信号的信息可以包括以下之一或两者:多个神经肌肉信号和从多个神经肌肉信号导出的信息。

在一个方面,基于至少一个图像的信息可以包括以下之一或两者:至少一个图像的图像信号和从至少一个图像的图像信号导出的信息。

在一些方面的变型中,物理对象可以是表面。该方法可以进一步包括至少部分基于手部的至少一部分相对于表面的定位来确定力信息。

在一些方面的变型中,虚拟对象可以是在由xr系统生成的扩展现实(xr)环境中显示的虚拟对象。该方法还可以包括基于用户的手部是否正在触摸xr环境中的虚拟对象来确定定位信息。

根据本文所述技术的各方面,提供了一种用于训练用于生成肌肉骨骼表示的推理模型的计算机化系统。该系统可以包括多个神经肌肉传感器,其被配置为感测和记录来自用户的多个神经肌肉信号,其中该多个神经肌肉传感器被布置在被构造为由用户穿戴的一个或更多个可穿戴设备上以获得多个神经肌肉信号;至少一个相机,其被配置为在多个神经肌肉信号被感测和记录的同时捕获至少一个图像;和至少一个计算机处理器。至少一个计算机处理器可以被编程为:基于从至少一个图像获得的信息,确定描述用户的两个或更多个连接的肌肉骨骼节段之间的空间关系的定位信息;基于多个神经肌肉信号确定力信息;将定位信息与力信息相关联;当提供给推理模型的神经肌肉输入信号具有至少一个预定特征时,训练推理模型以输出与定位信息、或力信息、或定位信息和力信息一致的肌肉骨骼表示,以产生更新的推理模型;并且使得更新的推理模型被存储在存储器中。

在一个方面,至少一个计算机处理器可以基于从至少一个图像获得的信息和从多个神经肌肉信号获得的信息来确定定位信息。

在一个方面,至少一个图像可以包括形成视频的一系列时序图像。

在一个方面,肌肉骨骼表示可以对应于以下各项中的任意一项或任意组合:用户的手部状态、用户的静止姿势和用户的动态手势。

在一个方面,至少一个图像可以包括以下各项中的任意一项或任意组合:由可见光产生的图像、由红外光产生的图像、由预定波长范围的光产生的图像、以及由两个或更多个不同预定波长范围的光产生的图像。

在一个方面,至少一个计算机处理器可以被编程为:确定多个神经肌肉信号的第一质量,或者至少一个图像的第二质量,或者第一质量和第二质量两者;以及基于第一质量和第二质量之一或两者对多个神经肌肉信号或至少一个图像、或多个神经肌肉信号和至少一个图像二者进行加权,以训练推理模型。

在该方面的变型中,多个神经肌肉信号的第一质量可以通过确定多个神经肌肉信号中的至少一个是否包括至少一个信号伪像来确定。

在该方面的另一个变型中,至少一个图像的第二质量可以通过确定用户的手部是否完全包括在至少一个相机的视场中、或者手部是否在至少一个相机的视场中被完全遮挡、或者用户的手部的至少一部分是否在至少一个相机的视场中被遮挡来确定。

在该方面的另一个变型中,至少一个计算机处理器可以进一步被编程为响应于第二质量大于阈值的确定来确定第一质量。

在一个方面,至少一个预定特征可以包括以下各项中的任意一项或任意组合:神经肌肉输入信号的伪像的存在、神经肌肉输入信号的多个伪像的存在、神经肌肉输入信号的多个伪像的相对定位、神经肌肉输入信号的幅度范围和神经肌肉输入信号的伪像的周期频率。

在一个方面,计算机化系统可以进一步包括至少一个惯性测量单元(imu)传感器。至少一个计算机处理器还可以被编程为至少部分地基于从至少一个imu传感器输出的imu信号来确定定位信息。

在一个方面,一个或更多个可穿戴设备可以包括被包括在其上的至少一个定位标记。定位信息可以至少部分地基于在至少一个图像中捕获的至少一个定位标记来确定。

根据本文所述技术的方面,提供了一种用于训练用于生成肌肉骨骼表示的推理模型的计算机化系统的方法。该方法可以包括:由至少一个处理器接收用户的多个神经肌肉信号,该多个神经肌肉信号由布置在用户穿戴的一个或更多个可穿戴设备上的多个神经肌肉传感器感测和记录;在多个神经肌肉信号被感测并记录的同时,由至少一个处理器接收由至少一个相机捕获的至少一个图像;由至少一个处理器基于从至少一个图像获得的信息来确定定位信息,定位信息描述用户的两个或更多个连接的肌肉骨骼节段之间的空间关系;由至少一个处理器基于多个神经肌肉信号确定力信息;由至少一个处理器将定位信息与力信息相关联;当提供给推理模型的神经肌肉输入信号具有至少一个预定特征时,由至少一个处理器训练推理模型以输出与定位信息、或力信息、或定位信息和力信息一致的肌肉骨骼表示,以产生更新的推理模型;以及由至少一个处理器使更新的推理模型存储在存储器中。

在一个方面,该方法可以进一步包括由至少一个处理器基于从至少一个图像获得的信息和从多个神经肌肉信号获得的信息来确定定位信息。

在一个方面,至少一个图像可以包括形成视频的一系列时序图像。

在一个方面,肌肉骨骼表示可以对应于以下各项中的任意一项或任意组合:用户的手部状态、用户的静止姿势和用户的动态手势。

在一个方面,至少一个图像可以包括以下各项中的任意一项或任意组合:由可见光产生的图像、由红外光产生的图像、由预定波长范围的光产生的图像、以及由两个或更多个不同预定波长范围的光产生的图像。

在一个方面,该方法可以进一步包括:由至少一个处理器确定多个神经肌肉信号的第一质量,或者至少一个图像的第二质量,或者第一质量和第二质量两者;以及由至少一个处理器基于第一质量和第二质量之一或两者对多个神经肌肉信号或至少一个图像、或多个神经肌肉信号和至少一个图像二者进行加权,以训练推理模型。

在该方面的变型中,多个神经肌肉信号的第一质量可以通过确定多个神经肌肉信号中的至少一个是否包括至少一个信号伪像来确定。

在该方面的另一个变型中,至少一个图像的第二质量可以通过确定用户的手部是否完全包括在至少一个相机的视场中、或者手部是否在至少一个相机的视场中被完全遮挡、或者用户的手部的至少一部分是否在至少一个相机的视场中被遮挡来确定。

在该方面的另一个变型中,该方法可以进一步包括由至少一个处理器响应于第二质量大于阈值的确定来确定第一质量。

在一个方面,至少一个预定特征可以包括以下各项中的任意一项或任意组合:神经肌肉输入信号的伪像的存在、神经肌肉输入信号的多个伪像的存在、神经肌肉输入信号的多个伪像的相对定位、神经肌肉输入信号的幅度范围和神经肌肉输入信号的伪像的周期频率。

在一个方面,该方法可以进一步包括:由至少一个处理器接收从至少一个惯性测量单元(imu)传感器输出的imu信号;以及由至少一个处理器至少部分地基于从至少一个imu传感器输出的imu信号来确定定位信息。

在一个方面,一个或更多个可穿戴设备可以包括被包括在其上的至少一个定位标记。定位信息可以至少部分地基于在至少一个图像中捕获的至少一个定位标记来确定。

根据本文所述技术的各方面,提供了一种存储代码的非暂时性计算机可读存储介质,当由至少一个计算机执行时,代码使得至少一个计算机执行用于训练用于生成肌肉骨骼表示的推理模型的方法。该方法可以包括:接收用户的多个神经肌肉信号,该多个神经肌肉信号由布置在用户穿戴的一个或更多个可穿戴设备上的多个神经肌肉传感器感测和记录;在感测和记录多个神经肌肉信号的同时,接收由至少一个相机捕获的至少一个图像;基于从至少一个图像获得的信息,确定描述用户的两个或更多个连接的肌肉骨骼节段之间的空间关系的定位信息;基于多个神经肌肉信号确定力信息;将定位信息与力信息相关联;当提供给推理模型的神经肌肉输入信号具有至少一个预定特征时,训练推理模型以输出与定位信息、或力信息、或定位信息和力信息一致的肌肉骨骼表示,以产生更新的推理模型;并且使得更新的推理模型被存储在存储器中。

在一个方面,该方法可以进一步包括基于从至少一个图像获得的信息和从多个神经肌肉信号获得的信息来确定定位信息。

在一个方面,至少一个图像可以包括形成视频的一系列时序图像。

在一个方面,肌肉骨骼表示可以对应于以下各项中的任意一项或任意组合:用户的手部状态、用户的静止姿势和用户的动态手势。

在一个方面,至少一个图像可以包括以下各项中的任意一项或任意组合:由可见光产生的图像、由红外光产生的图像、由预定波长范围的光产生的图像、以及由两个或更多个不同预定波长范围的光产生的图像。

在一个方面,该方法可以进一步包括:确定多个神经肌肉信号的第一质量,或者至少一个图像的第二质量,或者第一质量和第二质量两者;以及基于第一质量和第二质量之一或两者对多个神经肌肉信号或至少一个图像、或多个神经肌肉信号和至少一个图像二者进行加权,以训练推理模型。

在该方面的变型中,多个神经肌肉信号的第一质量可以通过确定多个神经肌肉信号中的至少一个是否包括至少一个信号伪像来确定。

在该方面的另一个变型中,至少一个图像的第二质量可以通过确定用户的手部是否完全包括在至少一个相机的视场中、或者手部是否在至少一个相机的视场中被完全遮挡、或者用户的手部的至少一部分是否在至少一个相机的视场中被遮挡来确定。

在该方面的另一个变型中,该方法可以进一步包括响应于第二质量大于阈值的确定来确定第一质量。

在一个方面,至少一个预定特征可以包括以下各项中的任意一项或任何组合:神经肌肉输入信号的伪像的存在、神经肌肉输入信号的多个伪像的存在、神经肌肉输入信号的多个伪像的相对定位、神经肌肉输入信号的幅度范围和神经肌肉输入信号的伪像的周期频率。

在一个方面,该方法可以进一步包括:接收从至少一个惯性测量单元(imu)传感器输出的imu信号;以及至少部分地基于从至少一个imu传感器输出的imu信号来确定定位信息。

在一个方面,一个或更多个可穿戴设备可以包括其上包括的至少一个定位标记。定位信息可以至少部分地基于在至少一个图像中捕获的至少一个定位标记来确定。

应当认识到,前面的概念和下面更详细讨论的另外的概念的所有组合(假设这样的概念不是相互不一致的)被设想为本文公开的创造性主题的一部分。特别是,出现在本公开的结尾处的所主张的主题的所有组合被设想为本文公开的创造性主题的一部分。

附图简述

将参考下面的附图来描述技术的各种非限制性实施例。应当认识到,附图不一定按比例绘制。

图1是根据本文所述技术的一些实施例的用于处理传感器数据(例如从神经肌肉传感器获得的信号)的基于计算机的系统的示意图;

图2是根据本文描述的技术的一些实施例的基于分布式计算机的系统的示意图,该系统将增强现实(ar)系统与神经肌肉活动系统集成在一起;

图3是根据本文描述的技术的一些实施例的用于处理神经肌肉信号和相机数据的过程的流程图;

图4是根据本文描述的技术的一些实施例的用于在xr系统中处理手势信息的过程的流程图;

图5是根据本文描述的技术的一些实施例的用于整合神经肌肉信号和相机数据并向用户提供反馈的过程的流程图;

图6是根据本文描述的技术的一些实施例的基于相机数据更新推理模型的过程的流程图;

图7是根据本文描述的技术的一些实施例的基于相机数据更新推理模型的过程的流程图;

图8是根据本文描述的技术的一些实施例的用于确定定位信息和力信息的过程的流程图;

图9是根据本文描述的技术的一些实施例的用于确定输入信号的质量并基于这些质量执行模型功能的过程的流程图;

图10是示出根据本文描述的技术的一些实施例的使用emg传感器和相机的示例实施方式的图;

图11是示出根据本文描述的技术的一些实施例的具有代表性输入和输出的训练推理模型的图;

图12示出了根据本文所述技术的一些实施例的腕带,该腕带具有周向布置在其上的emg传感器;

图13a示出了根据本文所描述技术的一些实施例的可穿戴系统,该可穿戴系统具有围绕带周向布置的16个emg传感器,该弹性带被配置成围绕用户的下臂或手腕穿戴;

图13b是图13a中所示的16个emg传感器之一的截面图;

图14a和14b示意性地示出了基于计算机的系统的组件,其中实现了本文描述的技术的一些实施例。图14a示出了基于计算机的系统的可穿戴部分,图14b示出了连接到计算机的加密狗部分,其中加密狗部分被配置为与可穿戴部分通信。

详细描述

一些实施例涉及将经由神经肌肉传感器感测神经肌肉信号的系统与执行扩展现实(xr)功能的系统相耦合。应当理解,xr功能可以包括增强现实(ar)功能、虚拟现实(vr)功能、混合现实(mr)功能等。具体而言,为了确定身体部位(例如,手部、手臂等)的定位而感测神经肌肉信号的系统可以与xr系统结合使用,以为用户提供改进的xr体验。例如,在两个系统中获得的信息可以用来改善整个xr体验。在基于传感器数据生成与身体部位相关联的肌肉骨骼表示的实施例中,xr系统中的相机可以捕获用于提高肌肉骨骼表示的模型的准确性和/或可以用于校准模型的数据。此外,在另一实施方式中,传感器数据可以提供肌肉激活信息,该信息可以在xr环境中可视化并显示给用户。在又一实施方式中,xr环境中的显示信息可以用作对用户的反馈,以允许用户更准确地控制他/她的肌肉骨骼对系统的输入(例如,移动输入)。此外,可以提供允许神经肌肉信号控制xr系统元件(包括xr系统本身的操作)的控制特征。

发明人认识到,相机和神经肌肉传感器本身都不是理想的输入系统。当关节节段清晰可见时,诸如由xr系统提供的相机可以提供良好的定位信息(相对于其他骨骼节段和外部对象),但是可能受到视场限制和遮挡的限制,并且可能不适合测量力。同时,由神经肌肉传感器进行的信号测量(例如,肌电图(emg)信号或本文所述的神经肌肉信号的另一种形式)本身可能不足以区分用户对他/她自己施加的力和他/她对外部对象施加的力,并且这种信号可能不能提供关于骨骼几何形状(例如手指长度)的足够准确的信息。根据一些实施例,应当理解,增加xr系统和基于神经肌肉传感器的系统的准确性以提供更准确和更真实的用户体验将是有益的。

可以理解,推理模型可以涉及一类用户(例如,典型的成年男性、典型的儿童、典型的成年女性)的一般化骨骼几何形状,或者可以涉及特定用户(例如,janemiller、henrysmith)的用户特定骨骼几何形状。

根据一些实施例,系统被配置成使用相机信息来改善对神经肌肉信号的解析以及它们与移动和力生成的关系。例如,与xr系统相关联的由内而外的相机和/或其他相机系统可以与神经肌肉信号结合使用,以更准确地表示用户身体的节段的定位、用户身体的运动和/或由用户身体的节段施加的力的表示。例如,相机信息(诸如图像、视频、图像的时间序列等)可以用于通过为来自神经肌肉信号的数据提供基本的(ground)真实标签来校准神经肌肉系统。在一个实施方式中,系统可以使用通过xr显示器或其他屏幕(其可以包括智能手机、智能手表、平板电脑、膝上型电脑、台式电脑、ar显示器、vr显示器等)向用户提供的提示(例如,手势、视觉上或听觉上提供的口头信息(例如,单词(例如,“拳头”)或短语(例如,“做出竖起拇指的手势”)))来执行校准操作,其中要求用户将他/她的手部的姿势与xr显示器上投射的手部的姿势相匹配,相机可选地帮助检测匹配何时发生。此外,其他类型的相机数据可以用于校准神经肌肉系统,诸如使用相机数据校准骨骼几何形状的几何模型。例如,可以使用相机数据来验证和/或校正几何模型的手指长度。在另一个示例中,相机信息可以用于确定用户身体的两个或更多个部位正在触摸(例如,拇指和食指的指尖以“捏”的姿势触摸)。在这种情况下,可以处理图像以自动识别用户身体的一个或更多个部位(即手部、手指和/或手腕),并确定用户身体各部位的相对定位。例如,经处理的相机信息可被转换成四元数或另一数学框架,用于表示用户身体部位的节段和关节。

在一些实施例中,可以使用神经肌肉信号、相机数据或两者来提供肌肉骨骼表示或手势的实时确定。例如,由于神经肌肉(例如,emg)和imu信息可用于确定更准确的肌肉骨骼表示,诸如相机数据的其他数据可用于创建更准确和一致的表示。此外,应当理解,可以使用多个信号(包括但不限于来自一个或更多个相机的信号、来自一个或更多个设备的神经肌肉信号以及其他类型的传感器数据)来确定实时肌肉骨骼表示。其他数据(诸如imu数据和/或相机数据)可以用于训练和改进肌肉骨骼表示的推理模型,以及改进骨骼定位的实时表示。可以理解,推理模型可以是利用基于概率分布的统计推理来推导结果的模型;在这方面,推理模型可以包括统计模型。

如本文所用,术语“手势”指一个或更多个身体部位的静态或动态配置和与该配置相关联的力,该配置包括一个或更多个身体部位的定位。例如,手势包括离散的手势(诸如将手掌向下放置或按压在固体表面上或抓住球)、连续的手势(诸如来回挥动手指、抓住并投掷球)或离散和连续手势的组合。手势可以包括其他人察觉不到的隐蔽手势,诸如通过共同收缩相对的肌肉或使用肌肉下激活(sub-muscularactivations)来稍微拉紧关节。手势可以由被配置为提示用户执行手势的应用来定义,或者,可选地,手势可以由用户任意定义。用户执行的手势可以包括符号手势(例如,基于指定映射的手势词汇表,映射到其他手势、交互或命令的手势)。在某些情况下,根据文化标准,手部手势和手臂手势可能是象征性的,用于交流。

在一些实施例中,系统可以组合神经肌肉信号和相机数据(例如,来自相机的相机信号或图像信号)来推断或重建用户身体的节段(即,骨骼节段)的定位。系统可以适于基于每种信号的质量来调整给予该信号的影响水平。在相机信号(例如,来自相机的图像信号)的情况下,可能存在导致信号不可靠或不准确的视场或遮挡限制。在神经肌肉信号(诸如来自emg传感器的信号)的情况下,可能会产生导致emg信号不可靠的emg伪像(或者如下所述,从神经肌肉信号的替代模态导出的神经肌肉信号中存在的其他伪像)。在这种情况下,系统可以被配置成评估每个信号的质量水平,以确定是否应该使用其中之一或两者(例如,确定手部状态或手势)。该系统还可以使用加权或另一种组合方法来调整信号在不同类型的信号源(例如,不同传感器类型)之间使用的程度。此外,当对特定信号源的置信度较高时,来自该源的信号可用于训练和/或校正另一个源或模型。例如,在手部处于相机的清晰视野中的情况下,可以评估神经肌肉信号的质量,并且可以执行手部状态模型的再训练。

在一些实施例中,系统可以包括用于基于神经肌肉信号生成肌肉骨骼表示的第一推理模型和用于基于相机输入(即,从相机获得的输入)生成肌肉骨骼表示的第二模型。系统可以被配置成至少部分地基于与相机输入相关联的信息(诸如用户的手部是全部地还是部分地在相机的视场内)在使用第一推理模型和使用第二推理模型之间转换,以用于表示用户的手部状态。例如,当用户的手部(或用户身体的另一部分)在相机的视场内时,第二推理模型可用于确定用户手部的节段的定位,而当用户的手部完全或部分在相机的视场外时(包括用户身体完全或部分被遮挡的情况),第一推理模型可用于确定代表手部状态的用户手部的节段的定位。作为替代实施方式,可以使用接收神经肌肉信号和相机输入两者的单个推理模型,并且可以如上所述对输入的贡献进行加权。在用户的手部在相机的视场之外的情况下,相机输入权重可以被设置为零或某个其他较小的值,以反映当用户的手部在相机的视场之外时相机输入对于估计定位信息的不可靠性。

在一些实施例中,来自一个或更多个相机的数据可用于确定手臂、手部、前臂或用户身体的另一部位的定位。此外,在基于imu的前臂定位估计中,相机数据可以用于对抗漂移,其中imu信息用于测量前臂定向,而神经肌肉信号用于确定手部和手腕配置和力。在该实施例中,可以使用神经肌肉传感器的带(例如,emg传感器的带)上的位置跟踪参考标记,尤其是当相机用于改进基于imu的系统以跟踪关节式刚体的一个或更多个定位时。可以理解,可以使用来自单个相机的数据,或者可以使用来自两个或更多个相机的数据。

根据一些实施例,相机数据可用于确定对象(例如,手部、手指或另一物理对象)是否受到力。例如,相机数据可用于区分某人是否自由移动或按压对象和/或表面(其可包括用户身体的另一部位),确定哪个对象和/或表面被交互或正在被交互,表面和/或对象上的哪个定位正被触摸,并可帮助估计骨骼配置、定位和/或力。应当理解,尽管相机数据可以用于确定是否正在施加力,但是相机数据并不特别适合于确定所施加的力的大小。为此,其他输入信号(例如,神经肌肉信号)可以用于确定所施加的力的大小,并且也有助于确定骨骼配置和/或定位。

当xr用户对用户自己的身体施加自力时(例如,用户捏他或她自己的手臂),相机可以帮助确定骨骼配置和/或定位(例如,哪些关节节段涉及触摸手臂),并且神经肌肉传感器可以用于确定力的强度。这样,可以构建手臂定位和/或手部定位和力的更准确的表示。此外,更普遍理解的是,由相机确定的物理环境可以通知用于从神经肌肉信号估计肌肉骨骼表示的先决条件,例如,如果用户更可能在特定环境中执行某些移动的话。

一些实施例涉及预测关于用户手臂和/或手部的部分的定位和移动的信息,用户手臂和/或手部的部分可被表示为多节段铰接刚体系统(multi-segmentarticulatedrigidbodysystem),其具有连接刚体系统的多个节段的关节(joints)。例如,在手部移动的情况下,由放置在用户身体上的位置(例如,用户的手臂和/或手腕)的可穿戴神经肌肉传感器感测和记录的信号可以被提供作为推理模型的输入,该推理模型被训练为当用户执行一个或更多个手部移动时预测与和手部相关联的基于计算机的肌肉骨骼表示中的多个刚性节段相关联的定位(例如,绝对定位、相对定位、定向)和力的估计。与和手部相关联的肌肉骨骼表示的节段相关联的定位信息和力信息的组合在本文中被通俗地称为肌肉骨骼表示的“手部状态(handstate)”。当用户执行不同的移动时,经训练的推理模型将由可穿戴的神经肌肉传感器记录的神经肌肉信号解析为位置和力估计(手部状态信息),这些估计用于更新肌肉骨骼表示。因为神经肌肉信号被连续感测和记录,所以肌肉骨骼表示被实时更新,并且手部的视觉表示(例如,在扩展的现实环境中)可以基于当前手部状态估计来渲染。可以理解,用户手部状态的估计可以用于确定用户正在执行的手势和/或预测用户将执行的手势。

根据一些实施例,肌肉骨骼表示(例如,手部渲染)可以包括仿生(现实)手部、合成(像机器人的)手部的实际视觉表示,以及用作手势控制(例如,到其他应用、系统等)的输入的抽象“内部表示”。也就是说,手部的定位和/或力可以被提供给下游算法(例如,xr系统中的控制算法),但是不能被直接渲染。在一些实施例中,相机数据可用于帮助创建实际的视觉表示(例如,基于相机数据改进用户手部的xr版本)。

根据一些实施例,在emg环境中接收的信息(例如,力)可用于控制计算机系统(例如,xr系统)的模式。例如,力的检测(例如,(诸如由手指或手施加的力)超过阈值量)可用于控制xr系统,例如打开帮助对话框界面、打开全局系统属性菜单或执行模式切换功能。这种双模式输入还可以包括例如向xr系统或具有高计算成本(例如,高电力使用)的其他类型的系统提交“唤醒”信号,因为系统唤醒或响应于用户利用定位、力或手势相关事件来使用系统(例如,用户握紧他或她的拳头导致唤醒信号被发送到xr系统)。在另一种实施方式中,可以结合相机数据使用任意数量的神经肌肉信号组合来控制计算机系统。例如,在用户在xr环境中选择对象的情况下,相机数据可用于确定用户的姿势,并且emg信号可用于通知xr系统该对象已被选择用于动作(例如借助通过emg信号检测施加的力)。应当理解,可以执行使用不同类型的输入数据的控制模式的任何组合。

一些实施例涉及将感测神经肌肉信号的系统与执行xr功能(例如,ar功能、vr功能等)的系统耦合。具体而言,为了确定身体部位(例如,手部、手臂等)的定位而感测神经肌肉信号的系统)可以与xr系统结合使用,以为用户提供改进的xr体验。例如,在两个系统中获得的信息可以用来改善整个xr体验。在一个示例中,ar系统中的相机可以捕获用于提高肌肉骨骼表示的模型的准确性、用于校准模型和/或使用相机和神经肌肉信号的任意组合来控制系统的数据。此外,在另一实施方式中,肌肉激活数据可以在xr环境中可视化并显示给用户。在又一个示例中,xr环境中的显示信息可以用作对用户的反馈,以允许用户更准确地控制他们对系统的肌肉骨骼输入。此外,可以提供允许神经肌肉信号控制xr系统元件的控制特征。

如上所述,根据本技术的一些实施例,系统被配置成使用相机信息来改善神经肌肉信号的解释以及它们与运动、定位和力生成的关系。可以理解,相机信息可以是例如对应于由相机捕获的至少一个图像的图像信号;因此,如这里所使用的,来自相机的图像可以被理解为指来自相机的图像信号。相机可以是能够捕获或记录用户图像的静态相机、摄像机、红外相机等。可以在相机上使用一个或更多个滤光器,使得相机可以仅在特定的光波长范围内捕获图像。可以理解,图像可以是静止图像、静止图像序列(或图像序列)、移动图像(或视频序列)等,它们可以被捕获并记录为信号。术语“相机信息”、“相机数据”和“相机信号”在这里可以用来表示相机可以捕获的关于用户的信息。应当理解,尽管各种实施例可以提到“一个”相机或“该”相机,但是这些实施例可以利用两个或更多个相机来代替一个相机。此外,相机信息可以涉及以下各项中的任意一项或任意组合:由可见光产生的图像、由不可见(例如,红外)光产生的图像、由预定波长范围的光产生的图像、以及由两个或更多个不同预定波长范围的光产生的图像。例如,不可见光可用于捕获显示用户体内热分布的图像,这可提供用户体内血流的指示,这进而可用于推断用户的状况(例如,用户手指施加的力可具有与没有施加力的手指不同的血流模式)。

相机可以安装在用户上(例如,安装在用户穿戴的头戴式显示器上,或者安装在用户手上穿戴的手套上),或者可以安装在用户外部以捕获用户和/或用户的环境。当相机安装在用户上时,相机可用于捕获用户的环境和/或用户身体的部分(例如,手部佩戴的相机可用于捕获用户另一只手部的图像)。

由放置在用户身体上的位置处的可穿戴传感器感测和记录的信号可以作为输入提供给推理模型,该推理模型被训练以生成人体的多节段铰接刚体模型的刚性节段的空间信息。空间信息可以包括例如一个或更多个节段的定位信息、一个或更多个节段的定向信息、节段之间的关节角度等。作为训练的结果,推理模型可以隐含地表示在定义的移动约束下铰接刚体的推断运动。经训练的推理模型可以输出可用于应用的数据,该应用诸如是在虚拟环境中呈现用户身体的表示,在该虚拟环境中,用户与物理或虚拟对象进行交互,并且在用户执行物理活动时监视用户的运动,以评估例如用户是否以期望的方式执行物理活动。可以理解,来自经训练的推理模型的输出数据可以用于除了这里具体标识的那些之外的应用。

例如,由定位在用户身上(例如,在用户的手腕或手臂上)的单个移动传感器获得的移动数据可以作为输入数据提供给经训练的推理模型。由经训练的推理模型生成的相应输出数据可用于为用户确定多节段铰接刚体模型的一个或更多个节段的空间信息。例如,输出数据可用于确定多节段铰接刚体模型中一个或更多个节段的定位和/或定向。在另一个示例中,输出数据可用于确定多节段铰接刚体模型中连接的节段之间的角度。

不同类型的传感器可用于向经训练的推理模型提供输入数据,如下所述。

如本文所述,在一些实施例中,可以从记录的传感器数据中直接识别各种肌肉激活状态。在其他实施例中,可以至少部分地基于经训练的推理模型的输出来识别手部状态、手势、姿势等(统称为肌肉激活状态)。在一些实施例中,经训练的推理模型可以输出计算机生成的肌肉骨骼模型的节段的运动单元或肌肉激活和/或定位、定向和/或力估计。在一个示例中,人类肌肉骨骼系统的全部或部分可以被建模为多节段铰接刚体系统,其中关节形成不同节段之间的接合部(interface),并且关节角度定义了模型中连接节段之间的空间关系。

关节处移动的限制由连接节段的关节类型和可限制关节处移动范围的生物结构(例如,肌肉、肌腱、韧带)决定。例如,将上臂连接到受试人身体躯干的肩关节和将大腿连接到躯干的髋关节是允许伸展和弯曲移动以及旋转移动的球窝关节。相比之下,连接上臂和下臂(或前臂)的肘关节,以及连接大腿和小腿或受试人的膝关节,允许更有限的运动范围。在该示例中,多节段铰接刚体系统可用于对人体肌肉骨骼系统的部分进行建模。然而,应当理解,尽管人体肌肉骨骼系统的一些节段(例如,前臂)可以近似为铰接刚体系统中的刚体,但是这些节段可以各自包括多个刚性结构(例如,前臂可以包括尺骨和桡骨),这使得能够在该节段内进行刚体模型没有明确考虑的更复杂的运动。因此,与本文所描述技术的一些实施例一起使用的铰接刚体系统的模型可以包括表示不是严格刚体的身体部位的组合的节段。应当理解,在不脱离本公开的范围的情况下,可以使用除多节段铰接刚体系统之外的物理模型来对人体肌肉骨骼系统的部分进行建模。

继续上面的示例,在运动学中,刚体是表现出各种运动属性(例如,定位、定向、角速度、加速度)的对象。知道刚体一个节段的运动属性,使得刚体其他节段的运动属性能够基于节段如何连接的约束来被确定。例如,手可以被建模为多节段铰接体,每个手指和手腕中的关节形成模型中多个节段之间的接合部。在一些实施例中,如下面更详细描述的,刚体模型中节段的移动可以被模拟为铰接刚体系统,其中节段相对于模型中其他节段的定位(例如,实际定位、相对定位或定向)信息使用经训练的推理模型来被预测。

如本文作为一个非限制性示例所述,由肌肉骨骼表示近似的人体的部分是手部或手部与一个或更多个手臂节段的组合。在肌肉骨骼表示中,用于描述节段之间的定位关系、各个节段或节段组合的力关系、以及节段之间的肌肉和运动单元激活关系的当前状态的信息在此被称为肌肉骨骼表示的手部状态。然而,应当理解,本文描述的技术也适用于除了手部之外的身体部位的肌肉骨骼表示,这些身体部位包括但不限于手臂、腿、脚、躯干、颈部或前述的任何组合。

除了空间(例如,定位和/或定向)信息,一些实施例能够预测与肌肉骨骼表示的一个或更多个节段相关联的力信息。例如,可以估计由一个或更多个节段施加的线性力或旋转(扭矩)力。线性力的示例包括但不限于手指或手部按压在诸如桌子的实体对象上的力,以及当两个节段(例如,两个手指)被挤压在一起时施加的力。旋转力的示例包括但不限于当节段(诸如手腕或手指)相对于另一个节段扭曲或弯曲时产生的旋转力。在一些实施例中,被确定为当前手部状态估计的一部分的力信息包括下列各项中的一项或更多项:挤压力信息、抓握力信息和关于由肌肉骨骼表示所表示的肌肉之间的共收缩力的信息。

现在转向附图,图1示意性地示出了根据本文描述的技术的一些实施例的系统100,例如神经肌肉活动系统。系统100包括多个传感器110(例如,神经肌肉传感器),其被配置为感测和记录由人体骨骼肌中的神经肌肉活动产生的信号。本文使用的术语“神经肌肉活动”是指对支配肌肉的脊髓运动神经元的神经激活、肌肉激活、肌肉收缩或者神经激活、肌肉激活和肌肉收缩的任意组合。神经肌肉传感器可以包括一个或更多个肌电图(emg)传感器、一个或更多个肌动图(mmg)传感器、一个或更多个声肌图(smg)传感器、emg传感器,mmg传感器和smg传感器中两种或更多种类型的组合、和/或能够检测神经肌肉信号的任何合适类型的一个或更多个传感器。在一些实施例中,多个神经肌肉传感器可以相对于人体布置,并用于感测与由肌肉控制的身体部位的移动相关的肌肉活动,从该肌肉移动中,肌肉活动由神经肌肉传感器感测。描述移动的空间信息(例如,定位和/或定向信息)和力信息可以在用户随着时间的推移而移动时基于所感测的神经肌肉信号来被预测。

在执行运动任务期间,随着肌肉张力的增加,活跃神经元的放电率(firingrate)增加,并且额外的神经元可能变得活跃,这是被称为运动单元募集(recruitment)的过程。神经元变得活跃并增加其放电率的模式是定型的,使得预期的运动单元募集模式可以定义了与标准或正常移动相关联的活动流形(manifold)。一些实施例可以记录单个运动单元或一组运动单元的激活,这些运动单元是“脱离流形的(off-manifold)”,因为运动单元激活的模式不同于预期的或典型的运动单元募集模式。这种脱离流形激活在本文中可被称为“肌肉下激活”或“肌肉下结构的激活”,其中肌肉下结构是指与脱离流形激活相关联的单个运动单元或一组运动单元。脱离流形运动单元募集模式的示例包括但不限于选择性地激活较高阈值的运动单元而不激活较低阈值的运动单元,该较低阈值的运动单元通常在募集顺序中较早地被激活,并且在相当大的范围内调节运动单元的放电速率而不调节通常在典型的运动单元募集模式中共同调节的其他神经元的活动。在一些实施例中,多个神经肌肉传感器可以相对于人体布置,并用于在没有可观察到的移动(即,没有可容易观察到的人体的相应运动)的情况下感测肌肉下激活。根据本文描述的技术的一些实施例,可以至少部分地使用肌肉下激活来控制增强现实系统。

传感器110可以包括一个或更多个惯性测量单元(imu),该一个或更多个imu使用例如加速度计、陀螺仪、磁力计、或者一个或更多个加速度计、陀螺仪和磁力计的任意组合来测量运动的物理方面的组合。在一些实施例中,imu可以用于感测关于附接有imu的身体部位的移动的信息,并且当用户随时间移动时,从感测到的数据导出的信息(例如,定位和/或定向信息)可以被跟踪。例如,当用户随时间的推移而移动时,一个或更多个imu可用于跟踪用户身体靠近用户躯干的部分(例如,手臂、腿)相对于imu的移动。

在包括至少一个imu和多个神经肌肉传感器的实施例中,imu和神经肌肉传感器可以被布置成检测人体不同部位的移动。例如,imu可以被设置成检测躯干附近的一个或更多个身体节段的运动(例如上臂的运动),而神经肌肉传感器可以被布置成检测躯干远端的一个或更多个身体节段的运动(例如下臂(前臂)或手腕的运动)。(术语“下臂”和“前臂”在这里可以互换使用)。然而,应当理解,传感器(即,imu和神经肌肉传感器)可以以任何合适的方式布置,并且本文描述的技术的实施例不限于基于特定的传感器布置。例如,在一些实施例中,至少一个imu和多个神经肌肉传感器可以共同位于一个体段上,以使用不同类型的测量来跟踪体段的移动。在下面更详细描述的一个实施方式中,imu和多个emg传感器被布置在被构造成围绕用户的下臂或手腕佩戴的可穿戴设备上。在这样的布置中,imu可以被配置为随着时间的推移而跟踪与一个或更多个手臂节段相关联的移动信息(例如,定位和/或定向),以确定例如用户是否已经举起或放下了他/她的手臂,而emg传感器可以被配置为确定与手腕和/或手部节段相关联的移动信息,以确定例如用户具有张开的手部还是闭合的手部配置,或者确定与手腕和/或手部的肌肉中的肌肉下结构的激活相关联的肌肉下信息。

一些或所有传感器110可以包括被配置成感测关于用户的信息的一个或更多个感测组件。在imu的情况下,imu的感测组件可以包括一个或更多个:加速度计、陀螺仪、磁力计或其任意组合,以测量或感测身体运动的特征和/或与身体运动相关的特征,其示例包括但不限于加速度、角速度和身体运动期间身体周围的磁场。在神经肌肉传感器的情况下,感测组件可以包括但不限于一个或更多个:检测身体表面上的电势的电极(例如,对于emg传感器)、测量皮肤表面振动的振动传感器(例如,对于mmg传感器)、测量由肌肉活动产生的超声波信号的声学感测组件(例如,对于smg传感器)。

在一些实施例中,多个传感器110中的至少一些可以被布置为被构造成穿戴在用户身体的一部分上或周围的可穿戴设备的一部分。例如,在一个非限制性示例中,imu和多个神经肌肉传感器可以周向布置在可调节的和/或弹性的带(诸如配置成穿戴在用户手腕或手臂上的腕带或臂带)上。可替代地,至少一些传感器110可以被布置在可穿戴贴片上,该可穿戴贴片被构造成附着到用户身体的一部分。在一些实施例中,多个可穿戴设备(每个设备上包括一个或更多个imu和/或神经肌肉传感器)可用于基于来自肌肉下结构的激活和/或基于涉及身体多个部位的移动来生成控制信息。

在一个实施方式中,传感器110可以包括围绕带(例如,弹性带)周向布置的十六个神经肌肉传感器,该带被构造成围绕用户的下臂穿戴(例如,围绕用户的前臂)。例如,图12示出了可穿戴系统的实施例,其中神经肌肉传感器1204(例如,emg传感器)围绕弹性带1202周向布置。应当理解,可以使用任何合适数量的神经肌肉传感器,并且所使用的神经肌肉传感器的数量和布置可以取决于可穿戴系统所用于的特定应用。例如,可穿戴臂带或腕带可以用于生成控制信息,以控制增强现实系统、控制机器人、控制车辆、滚动浏览文本、控制虚拟化身或用于任何其他合适的控制任务。在一些实施例中,弹性带1202还可以包括一个或更多个imu(未示出),其被配置为感测和记录移动信息,如上所述。

图13a-图13b和图14a-图14b示出了本技术的可穿戴系统的其他实施例。具体而言,图13a示出了具有多个传感器1310的可穿戴系统,传感器1310围绕弹性带1320周向布置,弹性带1320被构造成穿戴在用户的下臂或手腕周围。传感器1310可以是神经肌肉传感器(例如,emg传感器)。如图所示,可以有十六个传感器1310以规则的间距围绕弹性带1320周向布置。应当理解,可以使用任何合适数量的传感器1310,并且间距不必是规则的。传感器1310的数量和布置可以取决于可穿戴系统所用于的特定应用。例如,当可穿戴系统穿戴在手腕上时,传感器1310的数量和布置可以与大腿相比不同。可穿戴系统(如臂带、腕带、大腿带等)可用于生成控制信息,用于控制增强现实系统、控制机器人、控制车辆、滚动浏览文本、控制虚拟化身和/或执行任何其他合适的控制任务。

在一些实施例中,传感器1310可以仅包括一组神经肌肉传感器(例如,emg传感器)。在其他实施例中,传感器1310可以包括一组神经肌肉传感器和至少一个辅助设备。辅助设备可以被配置为连续感测和记录一个或多个辅助信号。辅助设备的示例包括但不限于imu、麦克风、成像设备(例如,相机)、与辐射生成设备(例如,激光扫描设备)一起使用的基于辐射的传感器、心率监视器以及可以捕获用户状况或用户的其他特征的其他类型的设备。如图13a所示,传感器1310可以使用结合到可穿戴系统中的柔性电子器件1330耦合在一起。图13b示出了通过图13a所示的可穿戴系统的传感器1310之一的剖视图。

在一些实施例中,传感器1310的一个或更多个感测组件的输出可以可选地使用硬件信号处理电路来处理(例如,执行放大、滤波和/或整流)。在其他实施例中,可以使用软件来执行感测组件的输出的至少一些信号处理。因此,由传感器1310采样的信号的信号处理可以通过硬件或软件或者通过硬件和软件的任何合适的组合来执行,因为本文描述的技术的方面不限于此方面。下面结合图14a和图14b更详细地讨论用于处理来自传感器1310的记录数据的信号处理过程的非限制性示例。

图14a和图14b示出了根据本文描述的技术的一些实施例的具有十六个传感器(例如,emg传感器)的可穿戴系统的内部组件的示意图。如图所示,可穿戴系统包括可穿戴部分1410(图14a)和加密狗部分1420(图14b)。虽然未示出,但是加密狗部分1420与可穿戴部分1410通信(例如,通过蓝牙或另一种合适的短程无线通信技术)。如图14a所示,可穿戴部分1410包括传感器1310,其示例在上文结合图13a和图13b进行了描述。传感器1310向模拟前端1430提供输出(例如,记录的信号),模拟前端1430对记录的信号执行模拟处理(例如,降噪、滤波等)。由模拟前端1430产生的经处理的模拟信号然后被提供给模数转换器1432,模数转换器1432将经处理的模拟信号转换成可由一个或更多个计算机处理器处理的数字信号。根据一些实施例可以使用的计算机处理器的示例是微控制器(mcu)1434。如图14a所示,mcu1434还可以接收来自其他传感器(例如,imu1440)和来自电源和电池模块1442的输入。可以理解,mcu1434可以从未具体示出的其他设备接收数据。mcu1434的处理输出可以被提供给天线1450,用于传输到加密狗部分1420,如图14b所示。

加密狗部分1420包括与可穿戴部分1410的天线1450通信的天线1452。天线1450和1452之间的通信可以使用任何合适的无线技术和协议进行,其非限制性示例包括射频信令和蓝牙。如图所示,由加密狗部分1420的天线1452接收的信号可以被提供给主计算机用于进一步处理、用于显示和/或用于实现特定物理或虚拟对象的控制(例如,在ar或vr环境中执行控制操作)。

虽然参考图13a、图13b、图14a和图14b提供的示例是在与emg传感器的接口的环境中讨论的,但是应当理解,本文描述的可穿戴系统也可以用其他类型的传感器(包括但不限于肌动图(mmg)传感器、声肌图(smg)传感器和电阻抗断层成像(eit)传感器)来实现。

回到图1,在一些实施例中,由传感器110记录的传感器数据可以可选地被处理以计算额外的导出测量值,其然后可以被提供作为推理模型的输入,如下面更详细描述的。例如,来自imu的记录信号可以被处理以导出定向信号,该定向信号指定刚体的节段随时间的定向。传感器110可以使用与传感器110的感测组件集成的组件来实现信号处理,或者信号处理的至少一部分可以由与传感器110的感测组件通信但不直接集成的一个或更多个组件来执行。

系统100还包括被编程为与传感器110通信的一个或更多个计算机处理器112。例如,由一个或更多个传感器110记录的信号可以从传感器110输出并提供给处理器112,处理器112可以被编程为执行一个或更多个机器学习算法来处理由传感器110输出的信号。算法可以处理信号以训练(或再训练)一个或更多个推理模型114,并且得到的训练(或再训练)的推理模型114可以被存储以供以后用于生成控制信号和控制xr系统,如下面更详细描述的。

在一些实施例中,推理模型114可以包括神经网络,并且例如可以是循环神经网络。在一些实施例中,循环神经网络可以是长短期记忆(lstm)神经网络。然而,应当理解,循环神经网络不限于lstm神经网络,并且可以具有任何其他合适的架构。例如,在一些实施例中,循环神经网络可以是以下中的任一个或任意组合:完全循环神经网络(fullyrecurrentneuralnetwork)、门控循环神经网络(gatedrecurrentneuralnetwork)、递归神经网络(recursiveneuralnetwork)、hopfield神经网络、联想记忆神经网络(associativememoryneuralnetwork)、elman神经网络、jordan神经网络、回声状态神经网络(echostateneuralnetwork)、二阶循环神经网络(secondorderrecurrentneuralnetwork)和/或任何其他合适类型的循环神经网络。在其他实施例中,可以使用不是循环神经网络的神经网络。例如,可以使用深度神经网络、卷积神经网络和/或前馈神经网络。

在一些实施例中,推理模型114可以产生离散输出。例如,当期望的输出是要知道用户当前是否正在执行特定的激活模式(包括各个神经尖峰事件)时,可以使用离散输出(例如,离散分类)。例如,可以训练推理模型114来估计用户是否正在激活特定的运动单元、正在以特定的定时激活特定的运动单元、正在以特定的放电模式激活特定的运动单元、或者正在激活运动单元的特定组合。在较短的时间尺度上,在一些实施例中可使用离散分类来估计特定的运动单元是否在给定的时间量内放电了动作电位。在这种场景下,这些估计然后可被累加,以获得该运动单元的估计的放电率。

在推理模型被实现为被配置为输出离散输出的神经网络的实施例中,神经网络可以包括作为柔性最大值传输函数层的输出层,使得推理模型的输出加起来为1,并且可以被解释为概率。例如,柔性最大值传输函数层的输出可以是对应于相应的控制信号集的值的集合,其中每个值指示用户想要执行特定控制动作的概率。作为一个非限制性示例,柔性最大值传输函数层的输出可以是三个概率(例如,0.92、0.05和0.03)的集合,这三个概率指示检测到的活动模式是三个已知模式之一的相应概率。

应当理解,当推理模型是被配置为输出离散输出(例如,离散信号)的神经网络时,不要求神经网络产生加起来为1的输出。例如,对于一些实施例,代替柔性最大值传输函数层,神经网络的输出层可以是sigmoid层,其不将输出限制为加起来等于1的概率。在这样的实施例中,可以用sigmoid交叉熵代价来训练神经网络。在多个不同的控制动作可能在阈值时间量内发生并且区分这些控制动作发生的顺序并不重要(例如,用户可以在阈值时间量内激活两种神经活动模式)的情况下,这种实施方式可能是有利的。在一些实施例中,可以使用任何其他合适的非概率多级别分类器,因为本文所描述技术的各方面不限于该方面。

在一些实施例中,推理模型114的输出可以是连续信号,而不是离散信号。例如,该模型114可以输出每个运动单元的放电率的估计,或者该模型114可以输出对应于每个运动单元或肌肉下结构的时间序列电信号。

应当理解,本文所描述技术的各方面不限于使用神经网络,因为在一些实施例中可以采用其他类型的推理模型。例如,在一些实施例中,推理模型114可以包括隐马尔可夫模型(hmm)、切换hmm,其中切换允许在不同的动态系统、动态贝叶斯网络和/或具有时间成分的任何其他合适的图形模型之间切换。可以使用记录的传感器信号来训练任何这样的推理模型。

作为另一个示例,在一些实施例中,推理模型114可以是分类器,其将从记录的传感器信号中导出的特征作为输入。在这样的实施例中,可以使用从传感器信号提取的特征来训练分类器。分类器可以是例如支持向量机(supportvectormachine)、高斯混合模型、基于回归的分类器、决策树分类器、贝叶斯分类器和/或任何其他合适的分类器,因为本文所描述技术的各方面不限于该方面。要提供给分类器的输入特征可以以任何合适的方式从传感器信号导出。例如,可以使用小波(wavelet)分析技术(例如,连续小波变换、离散时间小波变换等)、傅立叶分析技术(例如,短时傅立叶变换、傅立叶变换等)和/或任何其他合适类型的时间频率分析技术将传感器信号分析为时间序列数据。作为一个非限制性示例,可以使用小波变换来对传感器信号进行变换,并且可以将得到的小波系数作为输入提供给分类器。

在一些实施例中,可以根据训练数据来估计推理模型114的参数的值。例如,当推理模型114是神经网络时,可以根据训练数据来估计神经网络的参数(例如,权重)。在一些实施例中,可以使用梯度下降、随机梯度下降和/或任何其他合适的迭代优化技术来估计推理模型114的参数。在推理模型114是循环神经网络(例如,lstm)的实施例中,可以使用随机梯度下降和时间反向传播来训练推理模型114。训练可以采用平方误差或交叉熵损失函数和/或任何其他合适的损失函数,因为本文描述的技术的方面不限于此方面。

系统100还可以可选地包括一个或更多个控制器116。例如,控制器116可以包括被配置为显示视觉表示(例如,手部的表示)的显示控制器。如下面更详细讨论的,一个或更多个计算机处理器112可以实现一个或更多个经训练的推理模型,该推理模型接收由传感器110感测和记录的信号作为输入,并且提供可以用于生成控制信号和控制增强现实系统的信息(例如,预测的手部状态信息)作为输出。

系统100还可以可选地包括用户接口118。基于由传感器110记录并由处理器112处理的信号确定的反馈可以经由用户接口118提供,以帮助用户理解系统100如何解释用户的预期激活。用户接口118可以以任何合适的方式实现,包括但不限于音频接口、视频接口、触觉接口和电刺激接口,或者前述的任意组合。

在一些实施例中,模拟虚拟现实(vr)或增强现实(ar)环境的计算机应用可以被指示通过显示诸如化身的视觉角色(例如,经由控制器116)来提供视觉表示。可以基于经训练的推理模型114的输出来显示虚拟现实环境内由视觉角色的部分所施加的定位、移动和/或力。当连续信号被传感器110感测和记录并被经训练的推理模型114处理时,视觉表示可以被动态更新,以提供实时更新的角色运动的计算机生成的视觉表示。

在任一系统中生成的信息(ar相机输入、传感器输入)可用于改善用户体验、准确性、反馈、推理模型、校准功能和整个系统的其他方面。为此,例如,在ar环境中,系统100可以包括ar系统,该ar系统包括一个或更多个处理器、相机和在用户视野(view)内提供ar信息的显示器(例如,用户接口118,或经由ar眼镜或其他观看设备的其他接口)。系统100还可以包括将ar系统与基于计算机的系统耦合的系统元件,该基于计算机的系统基于传感器数据生成肌肉骨骼表示。例如,系统可以通过专用或其他类型的计算机系统耦合,该计算机系统从ar和生成基于计算机的肌肉骨骼表示的系统接收输入。这种系统可以包括游戏系统、机器人控制系统、个人计算机或能够解释ar和肌肉骨骼信息的其他系统。ar系统和生成基于计算机的肌肉骨骼表示的系统也可以被编程为直接通信。这种信息可以使用任何数量的接口、协议或介质来传送。

如上所述,一些实施例涉及使用推理模型,用于基于由可穿戴传感器感测和记录的信号来预测肌肉骨骼信息。如上文在人体肌肉骨骼系统的部分可被建模为多节段铰接刚体系统的示例中简要讨论的,多节段铰接刚体模型中的节段之间的关节类型可用作约束刚体移动的约束。另外,不同的人类个体在执行任务时可能会以特有的方式移动,这些方式可以在通常适用于个体用户行为的统计模式中捕获。根据一些实施例,这些对人体运动的约束中的至少一些可以明确地结合到用于预测用户移动的推理模型中。附加地或替代地,约束可以通过推理模型通过基于记录的传感器数据的训练来学习,如上面简要讨论的。

如上所述,一些实施例涉及使用用于预测手部状态信息的推理模型来实现基于计算机的肌肉骨骼表示的生成和/或基于计算机的肌肉骨骼表示的实时更新。推理模型可以用于基于imu信号、神经肌肉信号(例如,emg、mmg和/或smg信号)、外部设备信号(例如,相机或激光扫描信号)、或者imu信号、神经肌肉信号和当用户执行一个或更多个移动时检测到的外部设备信号的组合来预测手部状态信息。例如,如上所述,与ar系统相关联的相机可用于捕获基于计算机的肌肉骨骼表示的人类对象的实际定位的数据,并且这种实际定位信息可用于提高表示的准确性。此外,推理模型的输出可用于生成xr环境中基于计算机的肌肉骨骼表示的视觉表示。例如,可以在xr系统的视觉显示器中呈现肌肉群放电、施加力、通过运动输入文本或由基于计算机的肌肉骨骼表示产生的其他信息的视觉表示。在一些实施例中,其他输入/输出设备(例如,听觉输入/输出、触觉设备等)可用于进一步提高整个系统的准确性和/或改善用户体验。

本文描述的技术的一些实施例涉及使用推理模型,至少部分地将肌肉激活状态信息映射到控制信号,所述肌肉激活状态信息是从由神经肌肉传感器感测和记录的神经肌肉信号中识别的信息。推理模型可以接收当用户执行一个或更多个肌肉下激活、一个或更多个移动和/或一个或更多个手势时检测到的imu信号、神经肌肉信号(例如,emg、mmg和/或smg信号)、外部设备信号(例如,相机或激光扫描信号)、或者imu信号、神经肌肉信号和外部设备信号的组合作为输入。推理模型可用于预测控制信息,而无需用户必须进行可感知的移动。

图2示出了基于ar的系统200的示意图,该系统可以是将增强现实(ar)系统201与神经肌肉活动系统202集成在一起的基于分布式计算机的系统。神经肌肉活动系统202类似于上面参照图1描述的系统100。

一般来说,增强现实(诸如ar系统201)可以采取一副护目镜或眼镜、或者护眼装置、或者向用户显示可以叠加在用户的“现实”上的显示元素的其他类型的显示设备的形式。在某些情况下,该现实可以是用户对环境的观察(例如,通过用户的眼睛观看),或者是用户对环境的观察的捕获版本(例如,通过相机)。在一些实施例中,ar系统201可以包括一个或更多个相机(例如,相机204),其可以安装在用户穿戴的设备内,捕获用户在用户环境中经历的一个或更多个观察。系统201可以具有一个或更多个处理器205,处理器205在用户穿戴的设备内和/或外围设备或计算机系统内操作,并且这样的处理器205可以能够发送和接收视频信息和其他类型的数据(例如,传感器数据)。

ar系统201还可以包括一个或更多个传感器207,诸如麦克风、gps元件、加速度计、红外探测器、触觉反馈元件或任何其他类型的传感器,或其任意组合。在一些实施例中,ar系统201可以是基于音频的或听觉的ar系统,并且一个或更多个传感器207还可以包括一个或更多个耳机或扬声器。此外,ar系统201还可以具有一个或更多个显示器208,除了向用户提供由ar系统201呈现的用户环境的视图之外,显示器208还允许ar系统201覆盖和/或向用户显示信息。ar系统201还可以包括一个或更多个通信接口206,其使得信息能够被传送到一个或更多个计算机系统(例如,游戏系统或能够渲染或接收ar数据的其他系统)。ar系统可以采取多种形式,可以从许多不同的制造商那里获得。例如,各种实施例可以与一种或更多种类型的ar系统相关联地实现,诸如可从微软公司(美国华盛顿州雷德蒙)获得的hololens全息现实眼镜、可从magicleap(美国佛罗里达州plantation)获得的lightwearar头戴装置、可从alphabet(美国加利福尼亚州山景城)获得的googleglassar眼镜、可从osterhoutdesigngroup(也称为odg;美国加利福尼亚州旧金山)获得的r-7smartglassessystem或任何其他类型的ar和/或vr设备。尽管通过示例的方式进行了讨论,但是应当理解,一个或更多个实施例可以在vr系统中实现。

ar系统201可以通过一种或更多种通信方案或方法可操作地耦合到神经肌肉活动系统202,通信方案或方法包括但不限于蓝牙协议、wi-fi、类似以太网的协议或任何数量的无线和/或有线连接类型。应当理解,例如,系统201和202可以直接连接或通过一个或更多个中间计算机系统或网络元件耦合。图2中的双箭头表示系统201和202之间的通信耦合。

如前所述,神经肌肉活动系统202可以在结构和功能上类似于上面参照图1描述的系统100。具体而言,系统202可以包括一个或更多个神经肌肉传感器209、一个或更多个推理模型210,并且可以创建、维护和存储肌肉骨骼表示211。在一个示例性实施例中,类似于上面讨论的实施例,系统202可以包括或者可以实现为可穿戴设备,诸如可以由用户穿戴的带子,以便收集和分析来自用户的神经肌肉信号。此外,系统202可以包括一个或更多个通信接口212,其允许系统202诸如通过蓝牙、wi-fi或其他通信方法与ar系统201通信。值得注意的是,ar系统201和神经肌肉活动系统202可以传送可用于增强用户体验和/或允许ar系统201更准确和有效地运行的信息。

虽然图2示出了将ar系统201与神经肌肉活动系统202集成在一起的基于分布式计算机的系统200,但是应当理解,这些系统201和201的集成本质上可以是非分布式的。在一些实施例中,神经肌肉活动系统202可以集成到ar系统201中,使得神经肌肉活动系统202的各种组件可以被认为是ar系统201的一部分。例如,来自神经肌肉传感器209的输入可以被视为到ar系统201的另一个输入(例如,来自相机204、来自传感器207)。另外,从神经肌肉传感器209获得的输入(例如,传感器信号)的处理可以集成到ar系统201中。

图3示出了根据本文描述的技术的一些实施例的用于处理神经肌肉信号和相机或信号输入的过程300的流程图。过程300可以在系统上实现,例如基于ar的系统200、ar系统201、神经肌肉活动系统202和/或系统201、202向其提供信号输入的单独的计算机系统。在一个实施方式中,过程300可以由神经肌肉活动系统202执行。在动作310中,传感器信号可以由神经肌肉活动系统202的一个或更多个传感器感测和记录(在此也称为“原始传感器信号”)。在一些实施例中,传感器可包括布置在用户穿戴的可穿戴设备上的多个神经肌肉传感器209(例如,emg传感器)。例如,传感器209可以是布置在被配置为穿戴在用户的手腕或前臂周围的弹性带上的emg传感器,以在用户执行各种移动或手势时记录来自用户的神经肌肉信号。在一些实施例中,emg传感器可以是布置在带1202上的传感器1204,如图12所示;在一些实施例中,emg传感器可以是布置在弹性带1320上的传感器1310,如图13a所示。用户执行的手势可以包括静态手势,诸如将用户的手掌放在桌子上;动态手势,诸如来回挥动手指;以及其他人察觉不到的隐蔽手势,诸如通过共同收缩相对的肌肉来稍微拉紧关节,按压对象或表面,或者使用肌肉下激活。用户执行的手势可以包括符号手势(例如,基于指定映射的手势词汇表,映射到其他手势、交互或命令的手势)。

除了多个神经肌肉传感器之外,本文描述的技术的一些实施例可以包括一个或更多个辅助传感器,其被配置为记录辅助信号,该辅助信号也可以作为输入提供给一个或更多个经训练的推理模型,如上所述。辅助传感器的示例包括imu、成像设备、辐射检测设备(例如,激光扫描设备)、心率监视器或被配置为在一个或更多个运动或手势的执行期间感测和记录来自用户的生物物理信息的任何其他类型的生物传感器。根据一个实施例,如图3的过程300在动作320所示,系统接收并处理一个或更多个相机输入。这种输入可以包括一个或更多个原始信号,诸如图像、视频、流等信号、或一种或更多种预处理形式的信号,诸如检测对象、3d模型等的表示的信号,和/或其他信息,诸如反映相机输入状态的信息。此外,应当理解,一些实施例可以使用执行骨骼跟踪的基于相机的系统来实现,例如,可从微软公司(美国华盛顿州雷蒙德市)获得的kinect系统和可从leapmotion公司(美国加利福尼亚州旧金山市)获得的leapmotion系统。应当理解,可以使用硬件和/或软件的任何组合来实现本文描述的各种实施例。

动作310和320还可以包括处理动作本身(其中可以包括由一个或更多个传感器(例如,emg传感器、imu)感测和记录的信号和/或来自一个或更多个相机的相机输入信号的原始传感器信号)被可选地处理。在一些实施例中,可以使用硬件信号处理电路来处理原始传感器信号(例如,执行放大、滤波和/或整流)。在其他实施例中,原始传感器信号的至少一些信号处理可以使用软件来执行。因此,由一个或更多个传感器感测和记录的和/或从一个或更多个相机获得的原始传感器信号的信号处理可以使用硬件或软件或硬件和软件的任何合适的组合来执行。在一些实施方式中,原始传感器信号可以被处理以导出其他信号数据。例如,由一个或更多个imu记录的加速度计数据可以被积分和/或滤波,以确定在肌肉激活或手势执行期间与一个或更多个肌肉相关联的导出信号数据。

过程300然后前进到动作330,其中原始传感器信号(例如,神经肌肉信号和相机输入信号)或原始传感器信号的处理版本可选地被提供作为经训练的推理模型的输入,该推理模型被配置为产生用户运动信息,例如手部状态信息,如上所述。

过程300然后前进到动作340,在动作340,提供经训练的推理模型的输出。例如,在一些实施例中,系统的控制输出基于原始传感器信号、经处理的传感器信号和/或经训练的推理模型的输出(例如,手部状态信息和/或经训练的推理模型的其他渲染输出)等来提供。例如,在一些实施例中,ar系统201可以接收ar系统210(或其他系统显示器)可以显示为渲染手势的渲染输出。

根据一些实施例,一个或更多个计算机处理器(例如,系统100的处理器112,或基于ar的系统200的处理器205)可以被编程为根据原始传感器信号(例如,由上述传感器感测和记录的信号和/或相机输入信号)和/或基于这些信号的信息来识别用户的一个或更多个肌肉激活状态。基于原始传感器信号的信息可以包括与经处理的传感器信号(例如,经处理的emg信号)相关联的信息和/或与经训练的推理模型的输出相关联的信息(例如,手部状态信息)。用户的一个或更多个肌肉激活状态可以包括用户执行的静态手势、用户执行的动态手势、用户的肌肉下激活状态和/或用户执行的肌肉拉伸。用户的一个或更多个肌肉激活状态可以由在原始传感器信号和/或基于原始传感器信号的信息中检测到的与用户执行的各种移动或手势相关联的肌肉活动和/或一个或更多个运动单元激活的一个或更多个模式来定义。

图4是根据本文描述的技术的一些实施例的用于在基于ar的系统中处理手势信息的过程400的流程图。具体而言,可以有许多不同的使用场景,其中ar系统可以与神经肌肉活动系统结合使用,以提供用户体验。如图4所示,根据过程400,在动作410,基于ar的系统可以被配置为在基于ar的系统的显示器内向用户显示模型手势。例如,基于ar的系统可以适于显示投掷动作或用户想要模仿或学习的其他手势类型。为此,基于ar的系统可以向用户显示手势的示例,同时用户试图模仿该特定手势。在动作420,神经肌肉活动系统在模拟该手势的同时处理由用户产生的神经肌肉信号。在动作430,神经肌肉活动系统确定模拟的手势是否匹配该手势的模型。这种确定可以例如使用一个或更多个3d参考模型并将测量或比较用户的模拟的手势的推理模型与手势的参考模型的输出来进行比较做出。可接受的匹配可能出现在两个或更多个参考模型之间的某些预定义范围或误差水平内。应当理解,也可以(单独或与神经肌肉信号结合)使用相机数据(例如,来自相机的输入信号)来确定是否发生匹配。例如,在神经肌肉信号(例如,emg信号)不可用的情况下,可以专门使用相机数据来检测匹配。

此外,推理模型也可以被训练来提供模型之间匹配的指示。在动作440,可以向用户提供反馈(下面结合图5更详细地讨论),诸如ar显示器内的显示指示(例如,标识手势匹配或不匹配的灯或其他指示器);音频输出(例如,口语单词(诸如“干得好”、“匹配”等)的音频信号);触觉反馈;电刺激;和/或用户可感知的其他输出。应当理解,这种比较的一个方面可以包括关于手势是否将被正确(或不正确)完成的预测。例如,基于ar的系统中的硬件和/或软件可以执行能够确定用户是否可能成功完成手势的预测测量的例程。在一个示例实施方式中,当预测测量指示用户将不成功时,可以向用户呈现音频输出。

可以理解,给用户的反馈可以涉及用户相对于相机的定位。例如,如果用户完全或部分被遮挡在相机的视场之外,则当用户身体的相关部位在视场中时,反馈可以通知用户。

应当理解,在一些实施例中,基于手势的预测,一些输出可以在手势完成之前被传递给用户(例如,用户可以接收指示用户在完成手势之前执行手势的尝试将不成功的电刺激)。此外,应当理解,尽管可以出于训练推理模型、基于ar的系统的校准和/或在ar环境中训练用户的目的来执行匹配操作,但是成对的数据(例如,emg信号和关节角度)可以用于实时训练和/或校正肌肉骨骼推理模型,以创建更准确的关节角度预测。然而,对于手势分类器,可能希望具体确定用户是否正在执行给定的手势。在这种情况下,一个或更多个相机(例如,相机204)可用于通过检测匹配或针对回归模型所针对的关节角度来获得可用于提供训练和/或分类数据的信息,诸如手势标签。

图5是根据本文描述的技术的一些实施例,用于整合神经肌肉信号和相机输入信号,并向用户提供反馈的过程500的流程图。过程500可以由图2的基于ar的系统200来执行。在动作510,神经肌肉活动系统202以类似于上面参考图3讨论的方式接收和处理信号。此外,在动作520,系统200以类似于上面参考图3讨论的方式(例如,在动作320)接收和处理相机输入。在动作530,系统200向用户显示反馈(例如,在基于ar的系统200的一个或更多个显示器208内)。可替代地,系统200可以以任何数量的不同方式(诸如音频反馈、触觉反馈或用户可感知的其他输出)提供反馈。为此,神经肌肉活动系统202能够向基于ar的系统200的其他部分提供输出,以便显示或产生反馈输出。在一些实施方式中,基于ar的系统200可以具有一个或更多个音频输出、显示器、指示器和/或能够向用户提供或渲染反馈的其他类型的输出设备。可替代地,系统200可以被配置为向一个或更多个第三方系统(例如,管理系统、监控系统、监管系统或其他类型的第三方系统)提供或呈现输出信号(例如,控制信号)。

图6是根据本文描述的技术的一些实施例的基于相机数据更新推理模型的过程600的流程图。过程600可以由图2的基于ar的系统200来执行。在动作610,系统200接收并处理相机输入(例如,捕获图像的输入信号)。在一个实施例中,在动作620,系统200从捕获的图像或从其他输入(例如,神经肌肉数据)确定定位信息。在动作630,系统200可以基于所确定的定位信息来更新推理模型的参数。例如,在神经肌肉活动系统202确定手部定位和/或手臂定位的情况下,相机输入数据(例如,手部和/或手臂的图像)可用于在校准动作中校正特定推理模型的定位信息,即校准推理模型。在存在两个或更多个数据源(例如,相机数据和emg数据)的情况下,推理模型可能要求同时获取来自这些源的数据。例如,在对应于基于emg的定位信息的信号中可能存在误差或漂移,并且根据相机输入信号确定的基本的真实定位可用于调整基于emg的推理模型的参数。这样,通过使用emg和相机输入信号来校准基于emg的推理模型,可以提高基于emg的推理模型的准确性。这样的过程可以被用作校准操作的一部分,其中用户执行离散手势和/或在“正常”操作中实时地执行手势,并且手势的推理模型需要基于由除了为模型提供神经肌肉信号的源之外的信号源生成的基本的真实数据来调整;另一个信号源可以是例如相机。在一些实施例中,相机数据可用于估计连续关节角度(例如,对于回归模型)或识别离散手势(例如,对于分类器)。

图7是根据本文描述的技术的一些实施例的用于基于相机数据更新推理模型的过程700的流程图。过程700可以由图2的基于ar的系统200来执行。类似于图6的动作610,在动作710,系统200接收并处理相机输入(例如,捕获图像的输入信号)。在动作720,系统200从捕获的图像确定几何形状信息。例如,当捕获手部的图像时,可以捕获手部的几何形状信息,诸如节段长度、关节定位和其他几何关系。在动作730,这种几何形状信息可用于更新推理模型的一个或更多个参数。在一个示例实施方式中,系统200可以校正手部的emg模型所使用的几何形状。可以理解,例如,与使用基于emg的信号生成的图像相比,由相机捕获的图像可以更准确地描绘用户的手部的几何形状。例如,由相机捕获的手指的节段长度的图像可以用于更新手部几何形状的基于emg的推理模型。当基于emg的推理模型被校正或更新以供该特定用户使用时,这可能尤其相关。

图8是根据本文描述的技术的一些实施例的用于确定定位信息和力信息的过程的流程图800。具体而言,如上所述,使用神经肌肉信号和相机输入信号来更准确地确定ar环境中的定位和力信息可能是有益的。过程800可以由图2的基于ar的系统200来执行。在动作810,神经肌肉活动系统202接收并处理神经肌肉输入信号。此外,在动作820,ar系统201接收并处理至少一个相机输入信号。在动作830,神经肌肉输入信号和相机输入信号被提供给推理模型。基于这两个输入,系统200可以确定定位信息(例如,在动作840),并且可以确定力信息(例如,在动作860)。定位信息和力信息可以用于例如在ar显示器中呈现用户的手部的表示。例如,该表示可以指示用户的手部和手指附属物的更准确的定位,以及可以施加到手部和/或手指附属物中的任何一个的任何力。在一个特定示例中,系统200可以更准确地呈现用户的手部的定位,其中用户的拇指正在按压同一只手部的食指。相机输入可能特别有用,因为它可以提供食指和拇指接触的视觉指示,而神经肌肉信号可以指示食指和拇指正在以某个相对水平施加力(例如,食指和拇指以少量的力被压在一起)。这样,系统200可以更准确地表示用户手部的手部状态信息。可选地,系统200可以分别在动作850和870提供定位信息和力信息作为输出。这样的输出可以被一个或更多个其他系统用来提供指示、渲染输出或其他表示、和/或控制其他系统。

在一些实施方式中,可以处理相机输入信号以确定一个或更多个手指是否与用户的拇指接触,如果是,则确定哪些手指与拇指接触。在一个实施例中,如果存在接触,则拇指和接触的手指之间的力的大小可以作为仿射变换来估计,该仿射变换是从提供神经肌肉输入信号(例如,emg信号功率)的神经肌肉传感器记录的信号功率的对数的函数,或者利用用于推断力的大小的另一种信号处理技术来估计。仿射变换函数的系数可以通过校准阶段来确定,在校准阶段中,用户首先轻轻触摸手指,然后随后产生对应于手指之间的挤压力的最大自主收缩。在该实施方式中,推理模型可以输出以最大自主收缩的分数为单位的力。在一些实施方式中,仿射变换函数的系数可以特定于接触拇指的那组手指。类似地,对于用户对对象或表面施加力的情况,可以校准emg信号功率的仿射变换函数。

图9是根据本文描述的技术的一些实施例,用于确定输入信号的质量并基于这些质量执行模型功能的过程900的流程图。过程900可以由图2的基于ar的系统200来执行。例如,可以理解,在某些情况下,某些输入信号可能比其他输入信号更可靠。例如,当要建模的对象从视图中被遮挡或者根本不在相机的视图内时,相机输入信号对于信息可能不太可靠。类似地,神经肌肉信号可能包括由变化的物理条件、噪声或其他干扰生成的误差。因此,对于系统来说,自适应地确定特定输入信号的质量以便模型可以被适当地更新可能是有益的。

在动作910,系统200接收并处理神经肌肉信号(例如,由神经肌肉活动系统202接收的信号)。在动作920,ar系统201接收并处理一个或更多个相机输入信号。在动作930,系统200确定神经肌肉信号的质量。例如,神经肌肉活动系统202或另一个合适的系统可以确定是否应该使用神经肌肉信号,以及如果应该使用,则使用到什么水平。例如,神经肌肉信号的某些部分可能是准确的(例如,力测量),但是神经肌肉信号的其他部分可能不是(例如,绝对前臂定位)。神经肌肉信号的某些部分在特定的时间范围内和不同的条件下可能是可靠的。例如,在低(例如,小于20hz)或高(例如,大于500hz)频率下具有相当大功率(例如,高于预定阈值的功率)的emg信号可以指示emg信号的低质量。

在动作940,系统200可以确定相机输入信号的质量。如上所述,当某些对象在视场内时,相机信号可被确定为具有特定的质量水平,而当对象被遮挡或不在视场内时,相机信号可被确定为具有较低的质量水平。在动作950,系统200可以基于所确定的相机输入信号和神经肌肉信号的质量向推理模型提供信号。例如,一个或更多个相机输入信号或神经肌肉信号可以在输入到推理模型之前被过滤或废弃。在另一个实施方式中,推理模型可以在变化的条件下被训练,并且可以被训练为响应不同质量的信号。在另一实施方式中,可以从两种类型的输入中的每一种中确定单独的贝叶斯预测和置信度,并且可以使用贝叶斯方法来组合这两种预测(例如,通过取加权平均值)。在动作960,系统200提供推理模型的输出。

图10是示出根据本文描述的技术的一些实施例的利用一个或更多个emg传感器1040和相机1060的系统1000的示例实施方式的图。例如,图10示出了用户的手臂和附着的手部(“手臂/手部”)1010,其由一个或更多个关节和节段组成,并且可以被描绘为肌肉骨骼表示。更具体地,用户的手部节段1020通过关节连接。手臂和手部的定位以及手臂和手部的节段长度可以由系统1000确定,并且定位在模型肌肉骨骼表示的三维空间内。此外,用户的手部还可以包括插值前臂节段1030。如上所述,神经肌肉活动系统可用于确定用户手部/手臂定位的一个或更多个表示。为此,用户可以穿戴包括一个或更多个emg传感器1040的带,其感测和记录用于确定肌肉骨骼骨骼表示的神经肌肉信号。在emg传感器1040感测和记录神经肌肉信号的同时,相机1060可用于捕获相机视场1050内的对象。例如,在图10中,相机的视场1050包括用户的手臂/手部1010。除了由emg传感器1040确定的神经肌肉活动信号之外,相机数据还可以用于重建定位、几何形状和由用户的手臂/手部1010施加的力。此外,可以提供来自系统1000的输出,其允许系统1000诸如在ar显示器或其他类型的系统中渲染用户的手臂/手部1010的表示。

图11是示出根据本文描述的技术的一些实施例处理训练推理模型的输入的过程1100的图。例如,可以理解,可以通过使用imu输入(1101)、emg输入(1102)和相机输入(1103)来获得肌肉骨骼表示的更准确的表示。这些输入1101、1102、1103中的每一个可以被提供给经训练的推理模型1110。推理模型1110可以被构造成提供一个或更多个输出,诸如定位、力和/或肌肉骨骼状态的表示。这样的输出可以被提供给一个或更多个系统,诸如如上所述的用于指示或显示的ar系统,或者用于向用户提供反馈。应当理解,输入1101、1102、1103中的任何一个可以与任何其他输入结合使用,以从经训练的推理模型中导出输出。例如,前臂定位信息可以基于imu输入1101和相机输入1103的组合来导出。在一个实施方式中,可以基于imu输入1101生成前臂定位的估计,并基于从相机输入1103获得的基本的真实数据进行调整。此外,前臂定位和/或前臂定向可以仅使用相机输入1103而不使用imu输入1101来导出。在另一种情况下,emg输入1102(例如,emg信号)可用于导出纯力信息,以增强由相机模型系统提供的纯姿势信息。输入的其他组合可以用于获得期望的输出,并且在本文描述的各种实施例的范围内。

还应该理解,这种输出可以在生成或不生成任何肌肉骨骼表示的情况下导出。还应当理解,一个或更多个输出可以用作任何其他系统的控制输入,诸如基于emg的控制信号的输出,其用作提供给ar系统的控制输入信号。

应当理解,本文描述的任何实施例可以单独使用或者与本文描述的任何其他实施例结合使用。此外,本文描述的实施例的部分可以与本文描述的一个或更多个其他实施例的部分组合。此外,本文所述的实施例可以全部或部分与以下申请中所述的实施例一起使用:2019年1月25日提交的题为“calibrationtechniquesforhandstaterepresentationmodelingusingneuromuscularsignals”的美国专利申请第16/257,979号,其通过引用结合于此;2017年7月25日提交的题为“systemandmethodformeasuringthemovementsofarticulatedrigidbodies”的美国专利申请第15/659,504号,其通过引用结合于此。

可以以多种方式中的任一种来实现上述实施例。例如,可以使用硬件、软件或其组合来实现实施例。当使用软件实现时,构成软件的代码可以在任何合适的处理器或处理器集合上执行,无论是在单个计算机中提供还是分布在多个计算机中。应当认识到,执行上述功能的任何组件或组件集群可以一般地被考虑为控制上面讨论的功能的一个或更多个控制器。可以以多种方式例如利用专用硬件或者利用使用微码或软件被编程为执行上面列举的功能的一个或更多个处理器来实现一个或更多个控制器。

在这方面,应当理解,本发明实施例的一种实施方式包括用计算机程序(即多个指令)编码的至少一种非暂时性计算机可读存储介质(例如,计算机存储器、便携式存储器、光盘等),当在处理器上执行时,该程序执行本文描述的技术的实施例的上述功能。计算机可读存储介质可以是可传输的,使得存储在其上的程序可以被加载到任何计算机资源上,以实现本文所讨论的本发明的各方面。此外,应当认识到,对当被执行时执行上面讨论的功能的计算机程序的提及不限于在主机计算机上运行的应用程序。相反,术语“计算机程序”在本文中以一般意义使用,以指代任何类型的计算机代码(例如,软件或微代码),其可以用于对处理器进行编程以实现本发明的以上所讨论的各方面。

这里提出的技术的各个方面可以单独使用、组合使用,或者在上述实施例中没有具体讨论的各种布置中使用,因此它们的应用不限于前述描述和/或附图中阐述的组件的细节和布置。

此外,上述一些实施例可以被实现为一个或更多个方法,已经提供了其一些示例。作为方法的一部分被执行的动作可以以任何合适的方式被排序。因此,可以构建这样的实施例,其中以不同于这里所示或所述的顺序来执行动作,这可以包括同时执行一些动作,即使在说明性实施例中被示为顺序动作。本文所使用的措辞和术语是为了描述的目的,且不应被视为限制性的。“包括(including)”、“包括(comprising)”、“具有(having)”、“包含(containing)”、“涉及(involving)”、及它们的变形的使用意指包括在其后列出的项和另外的项。

已经详细描述了本发明的几个实施例,本领域技术人员将容易想到各种修改和改进。这些修改和改进旨在落入本发明的精神和范围内。因此,前面的描述仅仅是作为示例,且并不旨在为限制性的。本发明仅由所附权利要求及其等同物限定。

在这里讨论的任何实施例中,可以单独地或者以任何组合的方式一起使用前述特征。

此外,尽管可以指出本发明的技术的优点,但是应该理解,不是本发明的每个实施例都包括每个描述的优点。一些实施例可能不实现本文描述为有利的任何特征。因此,前面的描述和附图仅作为示例。

公开的实施例的变化是可能的。例如,本技术的各个方面可以单独使用、组合使用,或者在前面描述的实施例中没有具体讨论的各种布置中使用,因此它们在应用中不限于前面描述中阐述的或附图中示出的组件的细节和布置。在一个实施例中描述的方面可以以任何方式与在其他实施例中描述的方面组合。

在权利要求中使用顺序术语例如“第一”、“第二”、“第三”等来修改权利要求元素并不单独地暗示一个权利要求元素相对于另一个权利要求元素的任何优先级、优先权、或顺序或者方法的动作被执行的时间顺序,这样的术语仅用作标签以将具有特定名称的一个权利要求元素与具有相同名称的另一个元素区分开(但对于序数术语的使用)。

在说明书和权利要求书中使用的不定冠词“一”和“一个”,除非有相反的明确指示,否则应理解为表示“至少一个”。

关于一个或更多个元素的列表,短语“至少一个”的任何使用应理解为表示从元素列表中的任何一个或更多个元素中选择的至少一个元素,但不一定包括元素列表中具体列出的每个元素中的至少一个,并且不排除元素列表中元素的任何组合。该定义还允许除了在短语“至少一个”所指的元素的列表内特别标识的元素以外的元素可以可选地存在,而不管与被特别标识的那些元素相关或不相关。

短语“相等”或“相同”在涉及两个值(例如,距离、宽度等)时的任何使用意味着两个值在制造公差范围内是相同的。因此,两个值相等或相同,可能意味着两个值彼此相差±5%。

如在本文在说明书中和在权利要求中使用的短语“和/或”应当被理解为意指这样连接的元素中的“任一者或二者”,即,在一些情况下连接着地存在并且在其他的情况下分离地存在的元素。用“和/或”列出的多个元素应该以相同的方式被解释,即这样连接的元素中的“一个或更多个”。除了被“和/或”子句特别识别的元素之外,其他元素可以可选地存在,而不管是否与特别标识的元素相关或不相关。因此,作为一个非限制性示例,对“a和/或b”的提及当与开放的语言例如“包括”结合来使用时可以在一个实施例中指仅仅a(可选地包括除了b以外的元素);在另一个实施例中指仅仅b(可选地包括除了a以外的元素);在又一个实施例中指a和b二者(可选地包括其他元素);等等。

如在说明书和权利要求书中所使用的,“或”应该理解为具有与上面定义的“和/或”相同的含义。例如,当分离列表中的项目时,“或”或“和/或”应被解释为包含性的,即包括若干元素或元素列表中的至少一个,但也包括一个以上的元素,以及可选地,附加的未列出的项目。只有明确表示相反的术语,例如“仅一个”或“恰好一个”,或者当在权利要求中使用时,“由……组成”将指的是包含多个或一系列元件中的恰好一个元件。一般而言,当前面有排他性的术语时,例如“任一”、“其中之一”、“仅其中之一”或“恰好其中之一”,本文使用的术语“或”仅应被解释为表示排他性的替代物(即,“一个或另一个,但不是两者”)。当在权利要求中使用时,“基本上由……组成”应具有其在专利法领域中使用的普通含义。

此外,这里使用的措辞和术语是为了描述的目的,不应被视为限制。术语例如“包括(including)”、“包含(comprising)”、“包含(comprisedof)”、“具有(having)”、“包含(containing)”和“涉及(involving)”以及它们的变体的使用,在此意味着包含其后列出的项目及其等同物以及附加项目。

如果在此使用,术语“近似”和“大约”可以被解释为在一些实施例中表示目标值的20%以内,在一些实施例中表示目标值的10%以内,在一些实施例中表示目标值的5%以内,在一些实施例中表示目标值的2%以内。术语“近似”和“大约”可以等于目标值。

如果在此使用,术语“基本上”可以被解释为在一些实施例中表示目标值的95%以内,在一些实施例中表示目标值的98%以内,在一些实施例中表示目标值的99%以内,在一些实施例中表示目标值的99.5%以内。在一些实施例中,术语“基本上”可以等于目标值的100%。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1