一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于手势检测和分类的方法和装置与流程

2021-11-15 16:07:00 来源:中国专利 TAG:

用于手势检测和分类的方法和装置
1.相关申请的交叉引用
2.本技术要求2019年3月29日提交的第62/826,478号美国申请和2020年3月27日提交的第16/833,307号美国申请的优先权。出于所有目的,第62/826,478号美国申请和第16/833,307号美国申请的内容通过引用以其整体并入本文。
3.附图简述
4.附图示出了许多示例性实施例,并且是说明书的一部分。与以下描述一起,这些附图展示并解释了本公开的各种原理。
5.图1示出了从pca的应用中提取的第一成分的示例。
6.图2示出了从检测到的事件产生的示例簇(cluster)。
7.图3示出了来自在检测到的离散事件上执行的pca的第一成分的示例图。
8.图4a

4b图示了对应于离散事件的epoch,示出了同步质量方面。
9.图5a

5b示出了对应于检测到的离散事件的对齐的(aligned)epoch。
10.图6a

6b示出了对应于在两个不同手势的平均值上执行的pca分析的模板。
11.图7示出了在第一pca成分上的示例检测到的事件以及从两秒数据生成的相应标记。
12.图8示出了使用测试集检测离散事件的示例。
13.图9示出了在测试数据集中检测到的离散事件的示例。
14.图10a

10b示出了食指轻敲事件模型和中指轻敲事件模型的示例。
15.图11a

11f示出了两类事件的特定于用户的事件模型的示例。
16.图12示出了由各种单用户事件分类模型实现的示例准确度水平。
17.图13a示出了由两个单用户事件分类模型实现的示例准确度水平。
18.图13b示出了两个单用户事件分类模型(单戳记(stamp)和累积窗口大小)的示例准确度水平与时间的关系。
19.图14示出了为确定时间样本的独立性而执行的跨时间泛化(generalization across time)。
20.图15示出了泛化交叉用户分类模型(generalized cross

user classification model)的示例准确度水平。
21.图16示出了基于线性回归的特定于用户的分类器的可迁移性(transferability)的示例。
22.图17a

17q示出了两类手势的示例分布。
23.图18a

18b示出了使用umap和pca分离的簇的示例。
24.图19示出了使用自监督(self

supervised)模型实现的准确度水平的示例。
25.图20示出了使用有监督(supervised)的特定于用户的模型和自监督的特定于用户的模型实现的准确度水平与训练事件数量的关系的示例。
26.图21示出了针对特定于用户的模型和自监督模型的窗口大小确定的示例。
27.图22a

22d示出了与第一用户相关联的每个事件类别的示例模型。
28.图23a

23b示出了与第一用户和第二用户相关联的每个事件类别的对齐模型的示例。
29.图24a

24b分别示出了变换前和变换后的示例数据。
30.图25a示出了来自一组用户中的所有用户的跨用户的示例迁移(transfer)矩阵。
31.图25b示出了基于迁移函数确定监督域自适应的数据大小。
32.图26a示出了根据一些实施例的可佩戴系统,该可佩戴系统具有围绕弹性带周向地布置的emg传感器,该弹性带被配置为围绕用户的下臂或手腕佩戴。
33.图26b是穿过图2a中所示的emg传感器中的一个emg传感器的横截面视图。
34.图27a和图27b示意性地示出了在其上实现一些实施例的基于计算机的系统的部件。图27a示出了基于计算机的系统的控制设备的示意图,并且图27b示出了可以连接到计算机的示例加密狗(dongle)部分,其中加密狗部分被配置为与控制设备通信(并且类似的配置可以在与控制设备通信的头戴式设备内使用)。
35.图28示出了示例实现,其中可佩戴设备与头戴式可佩戴显示器接合(interface)。
36.图29和图30示出了示例方法。
37.图31是可结合本公开的实施例使用的示例性增强现实眼镜的图示。
38.图32是可结合本公开的实施例使用的示例性虚拟现实头戴装置(headset)的图示。
39.在全部附图中,相同的参考符号和描述指示相似的但不一定相同的元素。虽然本文描述的示例性实施例易于进行各种修改和替代形式,但是特定实施例已经通过附图中的示例示出,并且在本文被详细描述。然而,本文描述的示例性实施例不旨在限于所公开的特定形式。更确切地,本公开覆盖了落入所附权利要求的范围内的所有修改、等同物和替代物。
40.示例性实施例的详细描述
41.本公开的示例针对对来自用户的信号的检测以及基于检测到的信号对人工现实设备的控制。如下文更详细解释的,本公开的实施例可以包括具有头戴式设备和控制设备的系统,该头戴式设备被配置为向用户呈现人工现实视图,该控制设备包括多个肌电图(emg)传感器。可以位于任何系统部件中的一个或更多个处理器可以被编程为检测对应于与从传感器接收的emg数据相关联的用户手势的emg信号,并且对emg信号进行分类以识别手势类型。控制信号可以触发头戴式设备以(例如基于手势类型)修改人工现实视图。
42.对人工现实环境内的(真实或虚拟)对象的准确控制对于保持沉浸式体验可能是有用的。手势可能是控制对象的有用方式,并且不需要与任何真实的物理对象进行交互。例如,诸如按压键盘的按键、转动拨号盘、按压按钮、从菜单中选择项目(以及许多其他动作)的动作可以通过用户手势来模拟。轻敲手势可以模拟按键按压。此外,识别哪个身体部位(例如,哪根手指)已经被用于执行手势允许对人工现实环境进行进一步控制。
43.根据本文描述的一般原理,本文描述的任何实施例的特征可以彼此结合使用。当结合附图和权利要求阅读下面的详细描述时,这些和其他实施例、特征和优点将被更充分地理解。
44.参考图1

30,以下提供了手势识别模型(包括无监督(unsupervised)模型和自监督模型)的详细描述。图1

13b示出了事件检测和分类,其中术语“事件”可以包括诸如手指
轻敲的手势。图14

25b进一步示出了各种模型的时间依赖性、聚类(clustering)、训练和准确度。图26a

26b示出了示例控制设备。图27a

27b示出了控制设备的示意图。图28示出了包括头戴式设备的示例系统。图29

30示出了示例计算机化方法,并且图31和图32示出了示例ar/vr应用。
45.本公开针对可用于检测用户手势的事件检测器模型。这种检测器模型可能涉及在一个或更多个用户执行不同手势时记录一系列emg信号(数据集)。在一些示例中,示例手势可以包括手指轻敲(例如,模拟的按键按压),但是其他类型的手势可以类似地用于实现示例事件检测器模型。
46.手势可以包括跨越有限时间段的离散事件,并且在一些实施例中可以由表示肌肉激活的一个或更多个肌电图信号(包括肌电图小波(wavelet))来表征。将系统配置为使用机器学习技术检测和分类这样的手势可能涉及大量标记的训练样本。因此,可以从很少的样本中快速学习手势并以无监督或自监督的方式从人类手势中捕获和解释有意义的特征的系统是非常期望的。本文描述的示例提供了这种无监督模型和/或自监督模型。
47.图1示出了可以从主成分分析(principal component analysis)的应用中提取的第一成分(pca,垂直线)和检测到的峰(点)。示出了多个事件,其被划分成由休息时段分隔的两组。图示的事件可以使用峰检测过程来检测,峰检测过程还可以检测在休息时段期间记录的峰,该峰对应于休息期间的局部极大值。
48.数据集可以包括对应于食指轻敲和中指轻敲的emg信号。数据集可以分为训练集和测试集,训练集包括以大约2hz记录的每根手指的50次连续手指轻敲,测试集包括以大约2hz记录的每根手指的20次连续手指轻敲。上述数据集可能表示少于2分钟的记录数据。任何其他合适的数据集也可以用作训练集。
49.映射到切线空间的协方差可以被选择作为特征。短时间窗口(30ms)和5个样本的步长(stride)(对应于400hz的数据速率)可以用于特征提取。通过对5个成分应用主成分分析(pca),可以降低特征空间的维数以找到数据集中的事件。此后,数据可以被中心化(centered)(例如,通过去除中值),并且最后,可以在第一成分上识别局部极大值(峰)。
50.图2示出了可以从检测到的事件(包括在休息时段期间记录的检测到的事件)产生的簇。示出了三个簇,分别用于每种类型的手指轻敲(数据组100和102,其对应于食指轻敲和中指轻敲)。对于在休息时段期间记录的那些事件(其可能不被认为是有用的事件),可能会出现额外的簇。这个额外的簇104可以位于左下角,其指示具有低能量样本的簇。可以通过丢弃低于例如预定能量水平阈值的所有相应的事件来去除该簇。
51.围绕每个事件的数据可以在epoch中被切片,为聚类分析做准备。在一个示例中,150ms的窗口可以以每个事件为中心来对数据进行切片,并且可以以类似的方式使用任何其他合适的窗口大小。此后,可以对每个epoch进行矢量化,并且进行k

means聚类过程,以提取三个簇。出于可视化目的,基于均匀流形逼近和投影(umap)的降维过程可以被应用以绘制图2所示的簇(包括每类事件的大约五十个事件)。
52.图3示出了来自主成分分析(pca)的第一成分的图,该主成分分析(pca)可以在检测到的离散事件上执行。可以关于由主成分分析产生的第一成分绘制数据。在本示例中,食指事件被首先示出(在左边),随后是休息时段,然后是在右边的中指事件。
53.在一些示例中,可以对记录的事件执行时序调整。每个事件的时序可以与使用pca
分析的执行而识别的第一成分上的局部极大值相关联。然后,可以从所获取的样本中生成基本事实(ground truth),以训练事件检测模型。
54.图4a和图4b图示了对应于离散事件的epoch,示出了同步质量方面。不同的epoch中可能存在一些抖动和未对齐。
55.在一些示例中,通过分析epoch和所有事件的平均值之间的自相关性,为每个epoch找到最佳偏移,可以减少或消除抖动和未对齐。因此,可以测试不同的偏移(

10到10个样本),然后可以选择最大化相关性的时序。测试过程可以迭代执行,直到所有epoch都正确对齐。
56.图5a和图5b示出了对应于检测到的离散事件的对齐的epoch。
57.图6a和图6b示出了对应于pca分析的两个模板的图,该pca分析可以在两个不同手势的平均值上执行。图6a对应于食指轻敲数据,而图6b对应于中指轻敲数据。模板可以基于同步后获得的每个事件的epoch的平均能量。(pca的五个成分中的)第一pca成分在两个手指(食指与中指)轻敲之间在幅度上可能有显著差异,而其他成分可能具有不同的信号形式。
58.当检测到事件(事件发生)时,二进制时间序列可以用值1来标记,并且当没有检测到事件(例如,事件可能尚未发生)时,二进制时间序列可以用值0来标记。可以基于标记的样本来训练用于预测这种时间序列的模型。然后可以将模型的输出与预定能量阈值进行比较,并且去抖动(debounce)以配置事件检测器。
59.可以为模型的基本事实配置示例性参数。在重新同步之后,事件可以以第一pca成分的峰为中心。模型可以依赖于完整的事件时间过程,并且一旦用户完成其执行,该模型可以预测该事件。因此,标记可以基于事件时序被移位或偏离。这个参数可以称为“偏移”。
60.在一些示例中,模型可能不能完美地预测对应于事件的正确的单一时间样本。因此,该模型可以被配置为在围绕事件中心的几个连续时间样本上预测值(例如1)。这个参数可以称为“脉冲宽度”。
61.在一些示例中,偏移可以被设置在事件峰之后的75ms(事件的峰之后大约30个样本)处,并且脉冲宽度可以被设置为25ms。这些示例和其他示例是非限制性的,并且根据在事件检测器模型的训练期间使用的信号的特殊性,可以使用其他参数值。
62.图7示出了可以使用第一pca成分检测的具有相应的标记的事件,可以针对2秒的数据生成这些标记。事件检测器模型可以实现为多层感知器(mlp)模型或其他合适的机器学习模型。可以从pca特征上的150ms(大约60个样本)滑动窗口收集特征(例如,对于每个时间样本,可以生成具有五个pca成分的前60个时间样本(即,300个维度)的矢量化的矢量)。
63.该模型可以被训练来预测所使用的标记。该模型可以应用于测试集,并且可以将推断的输出与预定阈值进行比较并且去抖动以引出离散事件的识别。
64.图8示出了对测试集上的离散事件的检测,包括来自模型的两个输出(实线)以及可以从测试集产生的离散事件(短划线)。
65.图9示出了可以在测试数据集中检测的离散事件,包括例如使用在测试集上进行的pca分析产生的五个成分以及可以在同一集合中检测到的事件。模型可以检测所有可能的事件,并且在两种类型的离散事件之间可能有明确的歧义消除。
66.在一些示例中,可以根据从emg信号拍摄的快照对事件进行分类。事件检测器可以
检测或记录在时间事件周围拍摄的快照。事件分类器模型可以被训练来区分不同类型或类别的事件。这种分类是可能的,部分是因为每个事件与事件的类别或类型相关联,该事件的类别或类型对应于关联于与事件发生同步的特定肌肉激活的特征(characteristic)或常规(stereotypical)信号。可以使用18个数据集,并且每个数据集可以从不同的用户收集。这些数据集包括从按键按下(key down)、按键松开(key up)和轻敲事件中捕获的emg信号的记录。每个用户使用的事件总数可以为大约160(针对每根食指和中指各为80)。
67.可以使用40ms的时间窗口和2.5ms的步长(这是由400hz的特征采样频率产生的)来估计协方差。然后,协方差可以被投射在切线空间中,并且可以通过选择对角线和两个相邻通道(在矩阵中由位于对角线上方和下方的值表示)来降低维数。通过应用上述操作产生维数大小为48的特征空间。
68.可以提取(例如,切片和缓冲)围绕每个按键按压事件的范围从

100ms到 125ms的信号窗口。这样的窗口可以包括大约90个emg样本值。在前述操作结束时,可以为每个用户获得大小为160
×
90
×
48(n_事件
×
n_时间_样本
×
n_特征)的数据集。
69.图10a和图10b分别示出了食指轻敲事件模型和中指轻敲事件模型的示例。可以通过对所有发生的这些事件的每个事件类别(例如,食指轻敲和中指轻敲)的emg值取平均值来产生每个事件的模型。轻敲事件的示例在图10a和图10b中示出。
70.在图10a和图10b所示的事件模型中,可以识别两个信号,一个信号对应于按键按压,并且一个信号对应于按键释放。相同的特征可能看起来在食指按键按压类别和中指按键按压类别中都是活跃的,但是它们各自的幅度明显不同,并且为辨别提供了良好的基础。
71.图11a

11f示出了针对两类事件的特定于用户的事件模型的示例。图11a、图11c和图11e对应于食指按键按压,而图11b、图11d和图11f对应于中指按键按压。每个用户可以针对每个事件类别显示不同的模式。虽然时序通常是相同的,但是可以在信号之间观察到巨大的幅度差异。
72.几个分类模型可以用于实现单用户事件分类模型。在一些示例中,每个试验(trial)可以被矢量化成大矢量(其维数对应于时间点
×
特征的数量)。一旦生成了这样的大矢量,就可以基于逻辑回归、随机森林或多层感知器来产生分类器,并且可以在手势分类模型中实现该分类器。
73.在一些示例中,可以通过应用空间滤波器、然后将结果矢量化和使用分类器来降低数据的维数(在特征维度上)。空间滤波器的示例可以基于例如公共空间模式(csp)的提取,或者与线性判别分析(lda)集成的诱发电位的xdawn增强。通过csp的应用,可以确定使源的方差差异最大化的子空间。在xdawn方法中,空间滤波器可以根据类别平均值而不是原始数据来估计(这可以提高信噪比(snr))。
74.在一些示例中,可以通过包括以下方式中的一种或更多种方式的方法来开发模型:将每个类别的事件模型(例如,中指按键按压和食指按键按压)连接(concatenate)到每个试验;估计协方差矩阵;进行切线空间映射,并应用lda。这样的方式可以产生信号的紧凑表示,并且在低snr的情况下可能有效。
75.具有90%的训练和10%的测试的分层随机分割(stratified random split)可以部分地用于保持类别平衡。也可以使用随机分割。使用线性回归分类器可以达到用户平均99%的准确度,其中对于最差的用户,可以达到95%的准确度。
76.图12示出了用于单用户事件分类的每个测试模型所达到的准确度水平。图中的每个点表示单个用户。分类器通常可以以与图12所示的准确度水平类似的准确度水平执行。
77.可以修改训练集大小。训练集的大小可以在分割中从5%改变到90%。测试数据量可以保持固定在10%。可以使用两个分类器(lr和xdcov lda)。具有10%测试和可变训练大小的10个分层随机分割可以用于交叉验证。
78.在大约80个事件时,准确度可能达到稳定水平。在基于逻辑回归的分类器的情况下,可以使用20个事件来达到95%的准确度。基于xdcov lda的分类器可能需要更多的事件才能收敛。
79.图13a示出了作为训练事件的数量的函数的示例准确度水平,可以通过单用户事件分类模型的两种不同实现达到该示例准确度水平。示出了lr(实线)和xdcov lda(短划线)方法的结果。剩余的短划线和点划线给出了lr结果(上面的点划线和大致中下部的短划线)和xdcov lda结果(剩余的短划线和下面的点划线)的可能的不确定性的定性指示。
80.还可以调整窗口大小。用于对事件进行分类的窗口的大小可能会影响事件检测的延迟。因此,模型的性能可能根据窗口大小参数而变化,窗口大小参数可以相应地调整。
81.在一些实现中,分类的单时间点可用于揭示哪个时间点包含信息。可替代地,可以使用例如在按键按压事件之后从

100ms到 125ms的增大的窗口大小(包含所有过去的时间点)。对于每个时间点或窗口大小,可以训练特定于用户的模型,然后可以评估得到的分类器或模型的性能。如上面所讨论的,逻辑回归模型或其他合适的模型可以用实现分类器。交叉验证可以使用10个分层随机分割(其中10%保留用于测试目的,并且90%用于训练目的)来实现。这些数值以及本文讨论的其他值是示例性的,而不是限制性的。
82.图13b示出了可以通过单时间戳和累积窗口大小实现的示例准确度水平。结果表明:窗口中的大多数时间点可以包含允许模型将它们分类到高于机会水平(具有例如大约50%的准确度)的信息。对于按键按压,最大准确度可在

25ms处被达到,而对于按键释放,最大准确度可在 70ms左右被达到。使用包括所有过去时间样本的累积窗口,可以在窗口的结束处达到最大准确度水平。使用按键按压事件之前的所有时间戳可以达到95%的平均准确度水平。等待释放波可以通过提供补充信息来提高准确度。剩余的短划线和点划线表示可能的不确定性的定性指示。
83.可以使用跨时间泛化来确定时间样本的独立程度。作为跨时间泛化的一部分,可以在单时间点训练分类器,然后可以在另一个时间点测试该分类器。这种方法可以确定事件中涉及的不同过程是否是平稳的。如果源的同一组合在两个不同的时间点上类似地活跃,则可以意味着单用户模型可以被迁移或被使用以对其他用户产生的事件进行分类。
84.可以对于每个用户和每个时间点训练基于逻辑回归的分类器。然后可以每隔一个时间点(对于同一用户)评估每个分类器的准确度。然后可以对跨所有用户的准确度以及准确度矩阵的结构进行平均。
85.图14示出了可以被执行来确定时间样本的独立性的跨时间泛化。可以在准确度矩阵中观察到两个簇,一个簇对应于按键按压,另一个簇对应于按键释放。从每个簇内观察到的传递来看,这可以意味着,每个时间样本没有携带很多补充信息,以及使用仔细选择的样本子集可能足以实现最佳准确度(或者可替代地,用奇异值分解svd压缩特征空间可能是有用的)。
86.在一些示例中,可以使用泛化交叉用户分类模型。可以用从几个用户收集的数据来训练分类器,并且可以测试所获得的经训练的分类器,以获得它在测试用户上的性能。如上面所讨论的,可以实现几种类型的分类器来确定最佳类型的分类器。出于交叉验证的目的,从一个用户提取的数据可能会被留出来。平均而言,在所实现的模型上达到的准确度可能在82%左右。还可以观察到用户之间的巨大差异。
87.图15示出了泛化交叉用户分类模型的准确度水平,并且示出了一些分类器可以达到100%的准确度,而其他分类器可能仅达到低于60%的准确度。图16还表明:可以使用基于线性回归的分类器来实现合理的准确度水平。
88.在一些示例中,可以使用跨用户对的模型迁移。可以基于从一个用户提取的数据来训练分类器模型,然后,然后可以关于每个其他用户的数据来评估模型的准确度。分类器模型可以基于逻辑回归。
89.图16示出了基于线性回归的特定于用户的分类器的可迁移性,表明可以观察到迁移准确度的巨大可变性。一些特定于用户的模型可以被充分地迁移到一些其他用户。一些特定于用户的模型看起来是良好的接收者(例如,图16中所示的针对“alex”的用户模型),其对于大多数其他用户具有良好的迁移性,而其他特定于用户的模型(例如,针对“rob”的用户模型)看起来与其他用户不具有良好的匹配。
90.在一些示例中,还可以使用用户自适应。基于对单用户事件分类模型的调查,甚至可以分离从单用户导出的类别,并且可以使用相对少量的标记的训练数据来获得合理准确的单用户事件分类模型。
91.从泛化交叉用户分类模型结果来看,可以推断一些特定于用户的分类模型充分地迁移到其他用户。根据这些初步结果,以下示例如下。在一些示例中,可以使用来自其他(不同)用户的模型来获得当前用户的标记的良好估计。此外,使用标记的这种估计,可以训练特定于用户的模型,以获得接近用标记的数据训练的单用户模型的性能的性能。
92.还可以使用用户嵌入。可以生成两个事件类别可以被聚类的嵌入空间。用户迁移矩阵表明,对于每个测试用户,通常有一些(例如,两个)单用户模型可以被充分地迁移。可以构建包括单用户模型集合的输出的用户嵌入空间。具体来说,可以构建关于协方差特征的简单最近质心分类器(xdcov mdm)。xdcov mdm方法相对于线性回归或其他替代概率模型的优势在于,即使模型可能校准不当,事件仍可能有助于簇可分离性。
93.xdcov mdm模型的输出可以是softmax的函数,该函数在到每个事件类别的质心的距离上应用。在一些示例(例如,二进制分类)中,一个维度可以用于每个特定于用户的模式。然而,维度的数量可以根据分类类型而扩展(例如可以从多于两个可能的类别的池中进行的分类,例如,大于二进制分类)。
94.可以用来源于一组用户中的所有用户(减去一个用户)的样本来训练与用户相关联的嵌入。此后,与嵌入的训练中未使用的用户相关联的样本可以被投射到经训练的嵌入中。因此,可以产生x

1维的空间,其中x是来自该一组用户的用户数量。
95.图17a

17q示出了每个维度的两个类别的手势(食指轻敲和中指轻敲)的示例分布。在一些模型中,可以区分这两个类别的分离,而其他模型显示大约相同的分布。在一些示例中,当模型没有被最佳校准时(即,类别之间的最佳分离可能不在0.5),模型仍然可以有效地分离这两个类别。
96.在如上面所讨论产生嵌入之后,可以执行聚类过程来分离对应于不同类型的事件类别(例如食指轻敲和中指轻敲或捏合或打响指(snap)或其他要分离的手势类型)的簇。例如,可以在使用嵌入产生的数据点集上运行k

means过程。
97.图18a和图18b示出了使用umap和pca分离的簇的示例,表明可以使用如图18a中的均匀流形逼近和投影(umap)或者如图18b所示的主成分分析(pca)来绘制这样的簇。可以看到多个簇(例如,两个簇),这些簇各自可以对应于不同的事件类别(例如手势类型)和不同的标记。由于嵌入空间传达了一种含义(其可以称为“proba”),所以每个簇可以与其对应的类别相关联。
98.还可以开发自监督的用户模型。在可以使用例如聚类技术产生一组标记之后,这些标记可以用于从原始数据集训练特定于用户的模型。例如,如果已知所选择的分类模型基本上不会过拟合模型,并且可能对标记的数据中包含的噪声不敏感,则可以实现xdcov和线性位移分析、或其他合适的分类模型。
99.图19示出了使用自监督模型实现的示例准确度水平,表明在训练自监督模型之后,可以实现标记或分类的估计的大约99%的准确度。在这个示例中,两次训练迭代可能就足够了。
100.可以使用完整的训练集来实现98%的准确度,该完整的训练集可以包括来自一组用户的所有用户的数据点。
101.图20示出了使用有监督的特定于用户的模型和自监督的特定于用户的模型实现的准确度水平,表明自监督模型比用标记的数据训练的特定于用户的模型表现得更好。剩余的短划线和点划线给出了可能的不确定性的定性指示。
102.可以调整窗口大小以提高自监督模型的性能。随着窗口大小的增大,观察自监督模型的准确度可以用于确定最佳窗口大小。为了模型的交叉验证,可以省略来自一个用户的数据。对于聚类和特定于用户的模型,可以使用具有10%的测试数据和90%的训练数据的10折随机分割(10fold random split)。在这种情况下,可以确定自监督模型在全窗口大小的情况下表现得更好。这可以通过观察到以下项来解释:在该实例中,小的窗口大小不会产生可分离的簇。因此,可以使用大的窗口大小来获得标记的数据,然后可以使用相对小的窗口大小(例如,使用标记)来训练特定于用户的模型。
103.图21示出了针对特定于用户的模型(实线)和自监督模型(下短划线)的窗口大小确定。剩余的短划线和点划线给出了可能的不确定性的定性指示。
104.可以使用类似的方法研究数据大小的影响。单用户模型的集成(ensemble)可以用于评估性能。交叉验证可以包括将一个用户留出来用于对齐,然后使用相同的10折随机分割(其具有10%的测试数据和从5%增大到90%的训练大小)。集成方法可能在30个事件之后达到96%的准确度,然后对于更大数量的事件,准确度可能在此之后趋于平稳。
105.有监督域自适应可以使用正则偏最小二乘(cpls)模型。在一些示例中,可以使用基于域自适应的方法来代替构建特定于用户的模型(例如,通过确定可以导致跨用户充分迁移的数据变换)。可以使用cpls模型来执行域自适应。可以确定变换函数来将一个用户的每个事件类别(例如,不同的手势类型,诸如食指轻敲、中指轻敲、食指到拇指的捏合、中指到拇指的捏合、打响指等)的模型与另一个用户的每个事件类别的模型对齐。
106.图22a

22b示出了与第一用户相关联的每个事件类别的模型。
107.图22c

22d示出了与第二用户相关联的每个事件类别的模型。
108.图23a

23b示出了与第一用户和第二用户相关联的事件类别的模型的对齐,表明一个用户的事件类别的模型可以与另一个用户的事件类别的对应模型对齐。垂直短划线对应于按键按压。对齐可能是有效的,部分是因为两个用户的每个事件类别的原始模型可能有很大的不同,但是在对齐之后它们可能变得几乎相同。
109.对齐后的数据分布可以通过考虑变换前和变换后的数据的umap嵌入来研究。
110.图24a

24b示出了变换前和变换后的示例数据。图24a示出了原始数据可以被明确地分离,并且在两个用户之间可以看到最大的变化。在变换之后,事件的两个事件类别可以以高程度的准确度匹配(例如,如图24b所示)。
111.可以研究针对一组用户中的每对用户的变换过程。在执行对齐之后,可以再现用户到用户的迁移矩阵。可以训练单用户模型,然后对于每个测试用户,可以对齐数据,并且可以对变换后的数据测试模型的准确度。对于测试用户,交叉验证可以包括对前40个事件(或其他数量的事件)估计事件类别模型,然后执行域自适应,并且最后对剩余事件(例如,120个事件)测试模型的准确度。这些(和其他)示例中使用的数值是示例性的而非限制性的。
112.图25a示出了来自一组用户中的所有用户的跨用户迁移,表明该过程可以增强单用户模型到任何其他用户的迁移。
113.可以确定达到最佳自适应所需的数据量。可以使用单用户模型的集成来进行性能评估,部分是因为在用户对之间适应数据是可能的。交叉验证可以包括将一个用户留出来以进行对齐,然后使用10折随机分割(其具有10%的测试数据,并且将训练大小从5%增大到90%)。数值是示例性的而非限制性的。
114.图25b示出了基于迁移函数确定监督域自适应的数据大小,表明准确度与训练事件的数量的关系。结果表明,集成可以在30个事件之后达到96%的准确度,并且此后可以趋于平稳。剩余的短划线和点划线给出了可能的不确定性的定性指示。
115.图26a

26b示出了示例设备,其可以包括以下项中的一项或更多项:人机界面、接口设备、控制设备和/或控制接口。在一些示例中,该设备可以包括控制设备2600,在该示例中(如图26a所示),控制设备2600可以包括多个(例如,16个)神经肌肉传感器2610(例如,emg传感器),这些神经肌肉传感器2610围绕弹性带2620周向布置,该弹性带2620被配置为围绕用户的下臂或手腕佩戴。在一些示例中,emg传感器2610可以围绕弹性带2620周向布置。该带可以包括柔性电子连接2640(在图26b中示出),该柔性电子连接2640可以互连分离的传感器和电子电路,在一些示例中,这些传感器和电子电路可以封装在一个或更多个传感器外壳2660中。每个传感器2610可以具有皮肤接触部分2650,该皮肤接触部分2650可以包括一个或更多个电极。可以使用任何合适数量的神经肌肉传感器2610。神经肌肉传感器的数量和布置可以取决于控制设备所用于的特定应用。例如,被配置为臂带、腕带或胸带的可佩戴控制设备可以用于生成控制信息,以控制增强现实系统、控制机器人、控制车辆、滚动浏览文本、控制虚拟化身或用于任何其他合适的控制任务。如所示的,传感器可以使用结合到无线设备中的柔性电子器件来耦合在一起。
116.图26b示出了穿过图26a所示的控制设备2600的传感器2610之一的横截面视图。传感器2610可以包括位于皮肤接触表面2650内的多个电极。弹性带2620可以包括外侧柔性层
2622和内侧柔性层2630,它们可以至少部分地围住柔性电连接器2640。
117.在一些实施例中,可以可选地使用基于硬件的信号处理电路来处理一个或更多个感测部件的输出(例如,以执行放大、滤波、整流和/或其它合适的信号处理功能)。在一些实施例中,可以在软件中执行对感测部件的输出的至少一些信号处理。因此,对由传感器采样的信号的信号处理可以在硬件、软件中执行,或由硬件和软件的任何合适组合执行,因为本文描述的技术的方面在这一点上不受限制。用于处理来自传感器2610的信号数据的模拟电路的非限制性示例在下面参考图27a和图27b进行更详细地讨论。
118.图27a和图27b示出了具有装置的内部部件的示意图,该装置可以包括一个或更多个emg传感器,例如16个emg传感器。该装置可以包括可佩戴设备(例如控制设备2710(在图27a中示意性地示出))以及可以与控制设备2710通信(例如,使用蓝牙或另一种合适的短距离无线通信技术)的加密狗部分2750(在图27b中示意性地示出)。在一些示例中,加密狗部分的功能(例如,与图27b所示的电路类似的电路)可以被包括在头戴式设备内,从而允许控制设备与头戴式设备进行通信。
119.图27a示出了控制设备2710可以包括一个或更多个传感器2712(例如上面结合图26a和图26b描述的传感器2610)。传感器各自可以包括一个或更多个电极。来自传感器2712的传感器信号可以被提供给模拟前端2714,该模拟前端2714可以被配置为执行传感器信号的模拟处理(例如,降噪、滤波等)。经处理的模拟信号然后可以被提供给模数转换器(adc)2716,该模数转换器(adc)2716可以将经处理的模拟信号转换为数字信号,该数字信号然后可以由一个或更多个计算机处理器进一步处理。根据一些实施例可以使用的示例计算机处理器可以包括微控制器(mcu)2722。mcu 2722还可以从其他传感器(例如,诸如惯性测量单元(imu)传感器2718的惯性传感器,或其他合适的传感器)接收信号。控制设备2710还可以包括电源2720或从电源2720接收电力,该电源2720可以包括电池模块或其他电源。由mcu 2722执行的处理的输出可以被提供给天线2730,以用于传输到图27b所示的加密狗部分2750。
120.图27b示出了加密狗部分2750可以包括天线2752,该天线2752可以被配置为与关联于控制设备2710的天线2730进行通信。可以使用任何合适的无线技术和协议(其非限制性示例包括射频信令和蓝牙)进行天线2730和2752之间的通信。如图所示,由加密狗部分2750的天线2752接收的信号可以通过蓝牙无线电(或其他接收器电路)接收,并通过输出2756(例如,usb输出)提供给主计算机,以用于进一步处理、显示和/或用于实现对一个或更多个特定物理或虚拟对象的控制。
121.在一些示例中,加密狗可以被插入单独的计算机设备中,该计算机设备可以位于与用户相同的环境内,但是不被用户携带。该单独的计算机可以从控制设备接收控制信号,并进一步处理这些信号,以向头戴式设备提供进一步的控制信号。控制信号可以触发头戴式设备来修改人工现实视图。在一些示例中,加密狗(或头戴式设备或其他设备中的等效电路)可以是网络使能的,允许通过网络与远程计算机进行通信,并且远程计算机可以向头戴式设备提供控制信号,以触发头戴式设备来修改人工现实视图。在一些示例中,加密狗可以被插入头戴式设备中以提供改进的通信功能,并且头戴式设备可以基于从控制设备2710接收的控制信号来执行进一步的处理(例如,修改ar图像)。
122.在一些示例中,加密狗部分的配置可以被包括在头戴式设备(例如人工现实头戴
装置)中。在一些示例中,上面在图27b中描述的电路可以由头戴式设备的部件提供(即,集成在头戴式设备的部件内)。在一些示例中,控制设备可以使用所描述的无线通信和/或类似的示意性电路或具有类似功能的电路来与头戴式设备进行通信。
123.头戴式设备可以包括类似于上面关于图27b描述的天线2752的天线。头戴式设备的天线可以被配置为与关联于控制设备的天线进行通信。控制设备和头戴式设备的天线之间的通信可以使用任何合适的无线技术和协议进行,无线技术和协议的非限制性示例包括射频信令和蓝牙。由头戴式设备的天线接收的信号(例如控制信号)可以通过蓝牙无线电(或其他接收器电路)接收,并被提供给头戴式设备内的处理器,该处理器可以被编程为响应于控制信号而为用户修改人工现实视图。例如,响应于检测到的手势类型,控制信号可以触发头戴式设备来修改呈现给用户的人工现实视图。
124.示例设备可以包括控制设备和与控制设备进行通信(例如,经由蓝牙或另一种合适的短距离无线通信技术)的一个或更多个设备(例如,一个或更多个加密狗部分、头戴装置、远程计算机设备等)。控制设备可以包括一个或更多个传感器,这些传感器可以包括电传感器(包括一个或更多个电极)。来自电极的电输出(其可以被称为传感器信号)可以被提供给模拟电路,该模拟电路被配置为执行传感器信号的模拟处理(例如,滤波等)。经处理的传感器信号然后可以被提供给模数转换器(adc),该模数转换器(adc)可以被配置为将模拟信号转换为可以由一个或更多个计算机处理器处理的数字信号。示例计算机处理器可以包括一个或更多个微控制器(mcu),例如nrf52840(由nordic semiconducotr制造)。mcu还可以接收来自一个或更多个其他传感器的输入。该设备可以包括一个或更多个其他传感器(例如取向传感器),其可以是绝对取向传感器并且可以包括惯性测量单元。示例取向传感器可以包括bno055惯性测量单元(由bosch sensortec制造)。该设备还可以包括专用供电电源(例如电源和电池模块)。由mcu执行的处理的输出可以被提供给天线,以用于传输到加密狗部分或另一个设备。其他传感器可以包括肌动图(mmg)传感器、声肌图(smg)传感器、电阻抗断层成像(eit)传感器和其他合适类型的传感器。
125.加密狗部分或诸如头戴式设备的其他设备可以包括被配置为与控制设备和/或其他设备进行通信的一个或更多个天线。系统部件之间的通信可以使用任何合适的无线协议(例如射频信令和蓝牙)。由加密狗部分(或其他设备)的天线接收的信号可以通过输出(例如usb输出)提供给计算机,以用于进一步处理、显示和/或实现对一个或更多个特定物理或虚拟对象的控制。
126.尽管参考图26a、26b和图27a、27b提供的示例是在具有emg传感器的接口的上下文中讨论的,但是示例还可以在控制设备(例如与其他类型的传感器一起使用的可佩戴接口,这些其它类型的传感器包括但不限于肌动图(mmg)传感器、声肌图(smg)传感器和电阻抗断层成像(eit)传感器)中实现。本文描述的方法还可以在可佩戴接口中实现,该可佩戴接口通过电线和电缆(例如,usb电缆、光纤电缆)与计算机主机进行通信。
127.图28示出了示例系统2800,其可以包括头戴装置2810和控制设备2820(其可以表示可佩戴的控制设备)。在一些示例中,系统2800可以包括磁跟踪器。在这些示例中,用于磁跟踪器的发射器可以安装在控制设备2820上,并且用于磁跟踪器的接收器可以安装在头戴装置2810上。在其他示例中,用于磁跟踪器的发射器可以安装在头戴装置上或者以其他方式位于环境内。在一些实施例中,系统2800还可以包括一个或更多个可选的控制手套2830。
在一些示例中,控制手套的许多或所有功能可以由控制设备2820提供。在一些示例中,系统可以是增强现实和/或虚拟现实系统。在一些示例中,控制手套2830可以包括多个磁跟踪器接收器,可以使用这些接收器来确定用户的手的各个部位的取向和/或位置。在一些示例中,控制设备2820可以类似于图26a和图26b所示的控制设备。在一些示例中,控制设备可以包括类似于图27a(和/或图27b)所示的电子电路的电子电路。
128.在一些示例中,控制手套2830(其可以被更简单地称为手套)可以包括一个或更多个磁跟踪器接收器。例如,手套的手指可以包括至少一个接收器线圈,并且来自至少一个接收器线圈的由磁跟踪器发射器感应的跟踪器信号的检测可以用于确定手指的至少一部分的位置和/或取向。一个或更多个接收器线圈可以与手的每个部分(例如手指(例如拇指)、手掌等)相关联。手套还可以包括提供指示手的位置和/或配置的传感器信号的其他传感器(例如电活性传感器)。传感器信号(例如磁跟踪器接收器信号)可以被传输到控制设备(例如可佩戴的控制设备)。在一些示例中,控制设备(例如腕戴式控制设备)可以与控制手套进行通信,并且使用有线和/或无线通信从控制手套接收传感器数据。例如,柔性电连接器可以在控制设备(例如,腕戴式控制设备)和手套之间延伸。在一些示例中,控制装置可以包括手套,和/或可以包括腕带。
129.在一些示例中,控制设备2820可以包括emg控制接口,该emg控制接口类似于图26a和图26b所示的设备。由于感应电流和/或电压,将磁跟踪器发射器定位在控制设备2820上或附近可能导致将噪声引入由控制设备2820记录的信号中。在一些实施例中,通过将发射器定位在离控制设备2820更远的距离处,可以减少由磁跟踪器发射器引起的电磁干扰。例如,发射器可以安装在头戴装置2810上,而磁跟踪器接收器可以安装在控制设备2820上。例如,当用户保持其手臂远离其头部时,这种配置效果很好,但如果用户将其手臂移动到靠近头戴装置的位置,则这种配置可能效果不佳。然而,许多应用不需要用户的头部和手之间的广泛接近。
130.控制设备(例如可佩戴控制设备2820)可以包括模拟电路和模数转换器,该模拟电路包括被配置为放大源自用户身体(例如,来自与皮肤接触的电极、和/或一个或更多个其他传感器)的模拟电信号的至少一个放大器,该模数转换器被配置为将放大后的模拟电信号转换为可以用于控制该系统(例如虚拟现实(vr)和/或增强现实(ar)系统)的数字信号。
131.在一些示例中,增强现实系统可以包括磁跟踪器。磁跟踪器可以包括位于头戴装置中或其他位置的发射器以及一个或更多个接收器,这些接收器可以与被跟踪的对象或用户的身体部位(例如用户的手、或其他肢体或其部分、或关节)相关联。
132.图29示出了对事件进行分类的示例方法(2900),该示例方法包括:从用户获得肌电图(emg)数据(2910),emg数据包括对应于事件的emg信号;检测对应于事件的emg信号(2920);将emg信号分类为来自事件类型(2930);以及基于事件类型生成控制信号(2940)。示例方法还可以包括基于控制信号来触发头戴式设备以修改人工现实视图,从而控制人工现实环境。
133.图30示出了对事件进行分类的示例方法(3000),该示例方法包括:检测对应于事件的emg信号(3010);使用训练的模型将emg信号分类为对应于事件类型(3020);以及基于事件类型生成用于人工现实环境的控制信号(3030)。控制信号可以触发头戴式设备来修改人工现实视图。
134.在一些示例中,图29和图30可以表示示例性计算机实现的方法的流程图,这些示例性计算机实现的方法用于检测至少一个手势,并使用至少一个检测到的手势类型来控制人工现实系统(例如增强现实系统或虚拟现实系统)。附图中所示的一个或更多个步骤可以由任何合适的计算机可执行代码和/或计算机设备(例如控制设备、头戴式设备、与控制设备通信的其他计算机设备、或者与提供传感器信号的设备通信的计算机设备)来执行。在一些示例中,图29和/或图30中所示的一个或更多个步骤可以表示使用方法(例如本文描述的那些方法)的算法,该算法的结构包括多个子步骤和/或由多个子步骤表示。在一些示例中,特定示例方法的步骤可以由系统的不同部件(包括例如控制设备和头戴式设备)执行。
135.在一些示例中,事件检测和分类可以通过无监督模型或自监督模型来执行,并且这些方法可以用于检测用户手势。可以为特定用户训练模型,或者在一些示例中,模型可以在不同的用户上进行训练,并且该不同的用户的训练数据适于与当前用户一起使用。在示例训练方法中,emg数据可以被检测,并且可选地被记录以用于分析。可以使用emg数据来训练模型,这些emg数据可以在一个或更多个用户执行一个或更多个手势时获得。示例手势包括手指轻敲(例如,模拟的按键按压)、其他手指移动(例如手指卷曲、滑动、指向(pointing)手势等)或者其他类型的手势,和/或传感器数据可以被类似地用于训练示例事件检测器模型。
136.在一些实施例中,通过构建包括单用户模型的嵌入空间,可以获得清晰可分离的事件簇。可以实现聚类技术来确定每个事件的标记,然后可以使用标记的数据来训练特定于用户的模型。通过使用这些技术中的至少一种技术,可以以完全无监督的方式达到非常高的准确率(例如,98%的准确率)。例如,使用相对少量的样本(例如,少于40个事件样本),可以实现相对高的准确度(例如,95%的准确度)。
137.此外,在一些实施例中,单用户事件模板可以适应于其他用户,从而进一步减少了与所适应的用户一起使用模型可能需要的附加数据量。例如,可以使用pls通过跨用户对对齐数据集来适应域。例如,pls可以被训练来跨用户对齐事件模板。对齐的用户模板的集成可以导致高准确度(例如,96%的准确度),从而需要收集非常少的事件数据(例如,少于10个事件)。
138.姿态(pose)可以定义为随着时间的推移而静止的身体位置,并且理论上可以无限期保持。相比之下,在一些示例中,手势可以被定义为包括动态的身体位置,其可以每次出现具有开始时间和结束时间。因此,手势可以被定义为特定手势类型的离散事件。手势类型的代表性示例包括打响指、手指轻敲、手指卷曲或弯曲、指向、滑动、转动、抓握或其他手指运动。在一些示例中,手势可以包括手臂、手腕或手的至少一部分的移动或者其他肌肉激活。在一些示例中,可能不需要用户的视觉上可感知的移动,并且手势可以由肌肉激活模式来定义(独立于用户身体的一部分的任何视觉上可感知的移动)。
139.当(例如在连续的肌电图(emg)数据流中)检测到手势事件时,通用事件检测器(generic event detector)可以生成输出信号。用于计算机设备(例如人工现实系统)的控制信号可以基于通用事件检测器的输出信号。通用事件检测器可以在用户每次执行手势时产生输出信号。在一些示例中,可以独立于所执行的手势的类型来产生输出信号。在一些示例中,当事件检测器检测到事件(例如手势)时,可以执行事件分类器。事件分类器可以确定与用户所执行的手势相关的信息(例如手势类型)。手势类型可以包括以下项中的一项或更
多项:执行的物理动作、用于执行物理动作的身体部位(例如手指或其他身体部位)、用户的预期动作、同一时间或近似同一时间执行的其他物理动作。控制信号还可以基于来自一种或更多种传感器类型的传感器数据的组合。相应的控制信号可以被发送到增强现实(ar)系统,并且控制信号可以至少部分地基于手势类型。控制信号可以通过以下项中的一项或更多项来修改人工现实显示:项目的选择、任务的执行、可以至少部分地由手势类型确定的将对象移动一定程度和/或方向、与对象(例如,真实或虚拟对象)的用户界面的交互、或其他动作。在一些实施例中,手势可以基于一个或更多个肌电图信号(例如肌电图小波)被分类为特定手势类型。
140.在一些示例中,检测事件(例如手势)的方法可以包括:获得包括对应于第一用户的手势的emg信号的第一组肌电图(emg)数据;通过对从获得的第一组emg信号确定的事件数据进行聚类来训练第一分类器;使用第一分类器标记获得的第二组emg数据;以及使用标记的第二组emg数据来训练事件检测器。
141.在一些示例中,用于对事件(例如手势)进行分类的方法可以包括以下步骤中的一个或更多个步骤:生成多个单用户事件分类器;使用多个单用户分类器生成多用户事件分类器;使用生成的多用户分类器标记肌电图(emg)数据;生成对应于多个用户的数据变换;生成与多个用户中的第一用户相关的单用户分类器;使用针对多个用户中的第二用户的数据变换和针对第一用户的单用户分类器来标记第二用户的接收到的emg数据;以及使用标记的emg数据来训练事件检测器。
142.在一些示例中,提供了一种用于训练事件检测器(例如手势检测器)的方法。该方法可以包括以下步骤中的一个或更多个步骤:获得包括对应于手势的emg信号的肌电图(emg)数据;从emg数据生成特征数据;检测特征数据中的事件;使用特征数据生成epoch,其中每个epoch可以以检测到的事件之一为中心;将epoch聚类成类型,其中至少一种类型可以对应于手势;按类型对齐epoch以生成对齐的epoch;使用对齐的epoch训练标记模型;使用标记模型标记特征数据以生成标记的特征数据;以及使用标记的特征数据来训练事件检测器。
143.在一些示例中,一种用于训练事件分类器的方法可以包括以下步骤中的一个或更多个步骤:获得包括对应于多个手势的emg信号的肌电图(emg)数据;从emg数据生成特征数据;使用事件检测器检测特征数据中的事件;使用特征数据生成epoch,每个epoch以检测到的事件之一为中心;使用epoch生成单用户事件分类模型;使用单用户事件分类模型标记emg数据;以及使用标记的emg数据来训练事件分类器。
144.在一些示例中,一种使用epoch生成单用户事件分类模型的方法可以包括以下步骤中的一个或更多个步骤:使用epoch生成矢量化的epoch;以及通过使用矢量化的epoch训练逻辑回归、随机森林或多层感知器分类器中的一个或更多个来生成单用户事件分类模型。在一些示例中,其中使用epoch生成单用户事件分类模型包括:使用epoch生成经空间滤波的降维的epoch;使用经空间滤波的降维的epoch生成矢量化的epoch;以及通过使用矢量化的epoch训练逻辑回归、随机森林或多层感知器分类器中的一个或更多个来生成单用户事件分类模型。在一些示例中,其中使用epoch生成单用户事件分类模型包括:使用epoch生成一个或更多个事件模型,每个事件模型对应于手势;通过将每个epoch与一个或更多个事件模型组合来生成组合的epoch;以及通过使用组合的epoch训练逻辑回归、随机森林或多
层感知器分类器中的一个或更多个来生成单用户事件分类模型。
145.在一些示例中,提供了一种用于训练事件分类器的方法。该方法可以包括以下步骤中的一个或更多个步骤:获得包括对应于多个用户的多个手势的emg信号的肌电图(emg)数据;从emg数据生成特征数据;使用事件检测器检测特征数据中的事件;使用特征数据生成epoch,每个epoch以检测到的事件之一为中心;使用epoch生成交叉用户事件分类模型;使用交叉用户事件分类模型标记emg数据;以及使用标记的emg数据来训练事件分类器。
146.在一些示例中,提供了一种用于训练事件分类器的方法。该方法可以包括以下步骤中的一个或更多个步骤:使用多个单用户事件分类模型生成嵌入模型;使用嵌入模型和包括对应于用户的多个手势的emg信号的肌电图(emg)数据生成嵌入事件;将嵌入事件聚类成对应于多个手势的簇;基于聚类的嵌入事件将标记与emg数据相关联;以及使用emg数据和相关联的标记为用户训练事件分类器。
147.在一些示例中,提供了一种用于训练事件分类器的方法。该方法可以包括以下步骤中的一个或更多个步骤:为多个用户中的每一个用户生成针对多个事件中的每一个事件的事件模板;跨多个用户确定针对多个事件中的每一个事件的事件模板之间的对齐变换;使用为第二用户确定的对齐变换中的对齐变换来对第一用户的emg数据进行变换;使用变换后的emg数据和第二用户的单用户事件分类模型将标记与emg数据相关联;以及使用emg数据和相关联的标记为用户训练事件分类器。
148.在一些示例中,提供了一种用于手势检测的系统。该系统可以包括至少一个处理器和至少一个非暂时性存储器,该至少一个非暂时性存储器包括指令,该指令在被至少一个处理器执行时使该用于手势检测的系统执行操作,这些操作包括:使用事件检测器将事件标记与肌电图数据的一部分相关联;响应于将事件标记与肌电图数据的该部分相关联,使用事件分类器将手势标记与肌电图数据的该部分相关联;以及输出事件标记或手势标记中的至少一个的指示。
149.本文描述的示例可以包括示例方面的各种合适的组合,前提是这些方面不是不兼容的。
150.示例系统和方法可以包括用于以准确和无监督的方式检测手势的基于用户的模型。提供了事件检测器模型——这些事件检测器模型可以在特定用户的有限的用户数据集上并且使用标记和聚类方法进行训练,可以在限制事件数据实例的数量的同时提高事件检测器的准确度。
151.通过构建包括单用户模型的嵌入空间,可以获得清晰可分离的事件簇。可以实现聚类技术来确定每个事件的标记,然后可以使用标记的数据来训练特定于用户的模型。在一些示例中,通过以完全无监督的方式应用该过程,可以达到98%的准确度。此外,可以使用有限数量(例如,40个)的事件样本来达到95%的准确度。
152.使用pls进行的域自适应可以包括以下项中的一项或更多项。可以通过训练pls以对齐事件模板,来对齐跨用户对的数据集。对齐的单用户的集成可以导致96%的准确度。对齐需要执行非常少的数据(例如少于10个事件)。
153.当在连续的肌电图(emg)数据流中检测到手势事件时,通用事件检测器可以发出输出信号。示例通用事件检测器可以在用户每次执行手势时产生输出信号,并且可以独立于所执行手势的类型来产生该输出信号。
154.当事件检测器识别手势事件时,可以执行事件分类器。事件分类器然后可以确定用户执行的手势类型。
155.在一些示例中,一种用于检测事件的方法可以包括以下项中的一项或更多项:获得包括对应于第一用户的手势的emg信号的第一组肌电图(emg)数据;通过对从获得的第一组emg信号确定的事件数据进行聚类来训练第一分类器;以及使用第一分类器标记获得的第二组emg数据;以及使用标记的第二组emg数据来训练事件检测器。示例方法可以包括提供通用事件检测器。
156.在一些示例中,一种用于对事件进行分类的方法可以包括以下项中的一项或更多项:生成多个单用户事件分类器;使用多个单用户分类器生成多用户事件分类器;使用生成的多用户分类器标记肌电图(emg)数据;生成对应于多个用户的数据变换;生成与多个用户中的第一用户相关的单用户分类器;使用针对多个用户中的第二用户的数据变换和针对第一用户的单用户分类器来标记第二用户的接收到的emg数据;以及使用标记的emg数据来训练事件检测器。示例方法可以包括提供通用事件分类器。
157.在一些示例中,一种用于训练事件检测器的方法可以包括以下项中的一项或更多项:获得包括对应于手势的emg信号的肌电图(emg)数据;从emg数据生成特征数据;检测特征数据中的事件;使用特征数据生成epoch,每个epoch以检测到的事件之一为中心;将epoch聚类成类型,至少一个类型对应于手势;按类型对齐epoch以生成对齐的epoch;使用对齐的epoch训练标记模型;使用标记模型标记特征数据,以生成标记的特征数据;以及使用标记的特征数据来训练事件检测器。示例方法可以包括生成分类器来标记未标记的数据,然后使用标记的数据来生成事件检测器。
158.在一些示例中,一种用于训练事件分类器的方法可以包括以下项中的一项或更多项:获得包括对应于多个手势的emg信号的肌电图(emg)数据;从emg数据生成特征数据;使用事件检测器检测特征数据中的事件;使用特征数据生成epoch,每个epoch以检测到的事件之一为中心;使用epoch生成单用户事件分类模型;使用单用户事件分类模型标记emg数据;以及使用标记的emg数据来训练事件分类器。示例方法可以包括生成单用户事件分类模型来标记未标记的数据,然后使用标记的数据来生成事件分类器。
159.在一些示例中,使用epoch生成单用户事件分类模型可以包括以下项中的一项或更多项:使用epoch生成矢量化的epoch;以及通过使用矢量化的epoch训练逻辑回归、随机森林或多层感知器分类器中的一个或更多个来生成单用户事件分类模型。示例方法可以包括从矢量化的试验中生成单用户事件分类模型。
160.在一些示例中,使用epoch生成单用户事件分类模型可以包括以下项中的一项或更多项:使用epoch生成经空间滤波的降维的epoch;使用经空间滤波的降维的epoch生成矢量化的epoch;以及通过使用矢量化的epoch训练逻辑回归、随机森林或多层感知器分类器中的一个或更多个来生成单用户事件分类模型。该方法可以用于根据通过对试验进行空间滤波而生成的降维数据,生成单用户事件分类模型。
161.在一些示例中,使用epoch生成单用户事件分类模型可以包括以下项中的一项或更多项:使用epoch生成一个或更多个事件模型,每个事件模型对应于手势;通过将每个epoch与一个或更多个事件模型组合来生成组合的epoch;以及通过使用组合的epoch训练逻辑回归、随机森林或多层感知器分类器中的一个或更多个来生成单用户事件分类模型。
示例方法可以包括通过生成事件模板并且将事件模板与试验连接来生成单用户事件分类模型。
162.在一些示例中,一种用于训练事件分类器的方法包括以下项中的一项或更多项:获得包括对应于多个用户的多个手势的emg信号的肌电图(emg)数据;从emg数据生成特征数据;使用事件检测器检测特征数据中的事件;使用特征数据生成epoch,每个epoch以检测到的事件之一为中心;使用epoch生成交叉用户事件分类模型;以及使用交叉用户事件分类模型来标记emg数据;以及使用标记的emg数据来训练事件分类器。示例方法可以包括生成交叉用户事件分类模型来标记未标记的数据,然后使用标记的数据来生成事件分类器。
163.在一些示例中,一种用于训练事件分类器的方法可以包括以下项中的一项或更多项:使用多个单用户事件分类模型生成嵌入模型;使用嵌入模型和包括对应于用户的多个手势的emg信号的肌电图(emg)数据来生成嵌入事件;将嵌入事件聚类成对应于多个手势的簇;基于聚类的嵌入事件将标记与emg数据相关联;以及使用emg数据和相关联的标记为用户训练事件分类器。示例方法可以包括生成独立于用户的事件分类模型,以根据单用户事件分类模型的集成来标记未标记的数据,然后使用标记的数据来生成事件分类器。
164.在一些示例中,一种用于训练事件分类器的方法可以包括以下项中的一项或更多项:为多个用户中的每一个用户生成多个事件中的每一个事件的事件模板;跨多个用户确定针对多个事件中的每一个事件的事件模板之间的对齐变换;使用为第二用户确定的对齐变换中的至少一个对齐变换来对第一用户的emg数据进行变换;使用变换后的emg数据和第二用户的单用户事件分类模型将标记与emg数据相关联;以及使用emg数据和相关联的标记为用户训练事件分类器。示例方法可以包括使用用户之间的对齐变换来对数据进行变换,以便通过特定于单用户的事件分类模型进行标记,然后使用标记的数据来生成事件分类器。
165.在一些示例中,一种用于手势检测的系统可以被配置为使用事件检测器来识别手势,并且使用事件分类器来对手势进行分类,其中事件检测器可以使用训练方法(例如本文描述的训练方法)来进行训练。在一些示例中,一种用于手势检测的系统可以包括:至少一个处理器;以及至少一个非暂时性存储器,其包括指令,该指令在由至少一个处理器执行时使该用于手势检测的系统执行操作,这些操作包括:使用事件检测器将事件标记与肌电图数据的一部分相关联;响应于将事件标记与肌电图数据的该部分相关联,使用事件分类器将手势标记与肌电图数据的该部分相关联;以及输出事件标记或手势标记中的至少一个的指示。
166.示例性计算机实现的方法可以由任何合适的计算机可执行代码和/或计算系统来执行,其中该方法的一个或更多个步骤可以表示算法,该算法的结构可以包括多个子步骤和/或可以由多个子步骤表示。
167.在一些示例中,一种系统包括至少一个物理处理器和包括计算机可执行指令的物理存储器,这些计算机可执行指令在由物理处理器执行时使物理处理器执行如本文所述的一个或更多个方法或方法步骤。在一些示例中,一种计算机实现的方法可以包括对手势的检测和分类,以及使用检测到的手势类型对人工现实系统的控制。
168.在一些示例中,一种非暂时性计算机可读介质包括一个或更多个计算机可执行指令,这些计算机可执行指令在由计算设备的至少一个处理器执行时使计算设备执行如本文
所述的一个或更多个方法步骤。在一些示例中,一种计算机实现的方法可以包括对手势的检测和分类,以及使用检测到的手势类型对人工现实系统的控制。
169.示例包括一种控制设备,该控制设备包括多个肌电图(emg)传感器和/或其他传感器以及至少一个物理处理器,该物理处理器被编程为接收传感器数据、检测传感器数据内对应于用户手势的传感器信号、对传感器信号进行分类以识别手势类型、以及基于手势类型提供控制信号。控制信号可以触发头戴式设备来修改人工现实视图。
170.示例实施例
171.示例1。一种示例系统,包括:头戴式设备,该头戴式设备被配置为向用户呈现人工现实视图;控制设备,该控制设备包括多个肌电图(emg)传感器,该肌电图(emg)传感器包括当用户佩戴控制设备时接触用户的皮肤的电极;至少一个物理处理器;以及物理存储器,该物理存储器包括计算机可执行指令,这些计算机可执行指令在由物理处理器执行时使物理处理器:处理如由emg传感器检测到的一个或更多个emg信号;将经处理的一个或更多个emg信号分类为一种或更多种手势类型;基于手势类型提供控制信号,其中控制信号触发头戴式设备来修改人工现实视图的至少一个方面。
172.2。根据示例1所述的系统,其中,至少一个物理处理器位于控制设备内。
173.示例3。根据示例1

2中任一项所述的系统,其中,至少一个物理处理器位于头戴式设备内,或者位于与控制设备通信的外部计算机设备内。
174.示例4。根据示例1

3中任一项所述的系统,其中,当由物理处理器执行时,计算机可执行指令使物理处理器使用分类器模型将经处理的emg信号分类为一种或更多种手势类型。
175.示例5。根据示例1

4中任一项所述的系统,其中,使用包括针对手势类型的多个emg训练信号的训练数据来训练分类器模型。
176.示例6。根据示例1

5中任一项所述的系统,其中,训练数据是从多个用户获得的。
177.示例7。根据示例1

6中任一项所述的系统,其中,头戴式设备包括虚拟现实头戴装置或增强现实设备。
178.示例8。一种示例方法,包括:从用户获得一个或更多个肌电图(emg)信号;处理该一个或更多个emg信号以生成相关联的特征数据;使用分类器模型将相关联的特征数据分类为一种或更多种手势类型;以及基于该一种或更多种手势类型向人工现实(ar)设备提供控制信号,其中,使用包括针对该一种或更多种手势类型的多个emg训练信号的训练数据来训练分类器模型。
179.示例9。根据示例8所述的方法,其中,通过对从emg训练信号确定的特征数据进行聚类来训练分类器模型。
180.示例10。根据示例8

9中任一项所述的方法,其中,使用从多个用户获得的emg训练信号来训练分类器模型。
181.示例11。根据示例8

10中任一项所述的方法,其中,多个用户不包括该用户。
182.示例12。根据示例8

11中任一项所述的方法,还包括通过以下步骤训练分类器模型:获得对应于手势类型的emg训练信号;通过对从emg训练信号获得的emg训练数据进行聚类来训练分类器模型。
183.示例13。根据示例8

12中任一项所述的方法,其中,通过以下步骤进一步训练分类
器模型:确定emg训练信号相对于相应的emg训练信号最大值的时间的时间依赖性;通过向多个emg训练信号中的至少一个emg训练信号添加时间偏移来对齐多个emg训练信号的时间依赖性;从对齐的多个emg训练信号中获得信号特征;以及训练分类器模型以检测具有信号特征的emg信号。
184.示例14。根据示例8

13中任一项所述的方法,其中,通过以下步骤进一步训练分类器模型:获得包括对应于手势类型的emg训练信号的训练数据;以及将对应于该手势类型的每次出现的emg训练信号进行平均,以获得针对该手势类型的手势模型,其中,分类器模型使用手势模型对emg信号进行分类。
185.示例15。根据示例8

14中任一项所述的方法,其中,手势模型是针对手势类型的特定于用户的手势模型。
186.示例16。根据示例8

14中任一项所述的方法,其中,手势模型是基于从多个用户获得的emg训练数据的多用户手势模型,该多用户手势模型是多个特定于用户的手势模型的组合。
187.示例17。根据示例8

16中任一项所述的方法,其中,人工现实设备包括头戴式设备,该头戴式设备被配置为向用户呈现人工现实图像,该方法还包括基于控制信号来修改人工现实图像。
188.示例18。根据示例8

17中任一项所述的方法,其中,修改人工现实图像包括基于手势类型选择或控制人工现实图像中的对象。
189.示例19。一种非暂时性计算机可读介质,包括一个或更多个计算机可执行指令,当由计算设备的至少一个处理器执行时,这些计算机可执行指令使计算设备:接收如由emg传感器检测到的一个或更多个肌电图(emg)信号;处理该一个或更多个emg信号以识别对应于用户手势类型的一个或更多个特征;使用该一个或更多个特征来将该一个或更多个emg信号分类为手势类型;基于手势类型提供控制信号;以及将控制信号传输到头戴式设备,以响应于控制信号来触发人工现实视图的修改。
190.示例20。根据示例19所述的非暂时性计算机可读介质,其中,计算机设备被配置为对emg信号进行分类,以基于根据从多个用户获得的训练数据确定的手势模型来识别手势类型。
191.本公开的实施例可以包括各种类型的人工现实系统或结合各种类型的人工现实系统来实现。人工现实是一种在呈现给用户之前已经以某种方式调整过的现实形式,其可以包括例如虚拟现实、增强现实、混合现实、混杂现实或其某种组合和/或衍生物。人工现实内容可以包括完全地计算机生成的内容或者与捕获的(例如,真实世界)内容相结合的计算机生成的内容。人工现实内容可以包括视频、音频、触觉反馈或它们的某种组合,它们中的任何一个可以在单个通道或多个通道中呈现(例如向观看者产生三维(3d)效果的立体视频)。此外,在一些实施例中,人工现实还可以与应用、产品、附件、服务或其某种组合相关联,这些应用、产品、附件、服务或其某种组合被用于例如在人工现实中创建内容和/或以其他方式在人工现实中使用(例如,在人工现实中执行活动)。
192.人工现实系统可以以各种不同的形状因子和配置来实现。一些人工现实系统可能被设计成在没有近眼显示器(ned)的情况下工作。其他人工现实系统可以包括ned,其还提供对真实世界的可见性(例如,图31中的增强现实系统3100)或者使用户在视觉上沉浸在人
工现实中(例如,图32中的虚拟现实系统3200)。虽然一些人工现实设备可以是独立的系统,但是其他人工现实设备可以与外部设备通信和/或协作以向用户提供人工现实体验。这种外部设备的示例包括手持控制器、移动设备、台式计算机、由用户佩戴的设备、由一个或更多个其他用户佩戴的设备、和/或任何其他合适的外部系统。
193.转到图31,增强现实系统3100可以包括具有框架3110的眼镜设备3102,框架3110被配置为将左显示设备3115(a)和右显示设备3115(b)保持在用户的眼睛前方。显示设备3115(a)和3115(b)可以一起或独立地起作用来向用户呈现图像或一系列图像。虽然增强现实系统3100包括两个显示器,但是本公开的实施例可以在具有单个ned或多于两个ned的增强现实系统中实现。
194.在一些实施例中,增强现实系统3100可以包括一个或更多个传感器,例如传感器3140。传感器3140可以响应于增强现实系统3100的运动而产生测量信号,并且可以位于框架3110的基本上任何部分上。传感器3140可以表示位置传感器、惯性测量单元(imu)、深度相机组件、结构光发射器和/或检测器、或其任意组合。在一些实施例中,增强现实系统3100可以包括或可以不包括传感器3140,或者可以包括多于一个的传感器。在传感器3140包括imu的实施例中,imu可以基于来自传感器3140的测量信号来生成校准数据。传感器3140的示例可以包括但不限于加速度计、陀螺仪、磁力计、检测运动的其他合适类型的传感器、用于imu的误差校正的传感器、或其某种组合。
195.增强现实系统3100还可以包括具有多个声换能器3120(a)

1320(j)(统称为声换能器3120)的麦克风阵列。声换能器3120可以是检测由声波引起的气压变化的换能器。每个声换能器3120可以被配置成检测声音并将检测到的声音转换成电子格式(例如,模拟或数字格式)。图2中的麦克风阵列可以包括例如十个声换能器:3120(a)和3120(b),其可以被设计成放置在用户的相应耳朵内;声换能器3120(c)、3120(d)、3120(e)、3120(f)、3120(g)和3120(h),其可以位于框架3110上的各个位置;和/或声换能器3120(i)和3120(j),其可以位于相应的颈带3105上。
196.在一些实施例中,声换能器3120(a)

3120(f)中的一个或更多个可以用作输出换能器(例如,扬声器)。例如,声换能器3120(a)和/或3120(b)可以是耳塞或任何其他合适类型的耳机或扬声器。
197.麦克风阵列中的声换能器3120的配置可以变化。虽然增强现实系统3100在图31中显示为具有十个声换能器3120,但是声换能器3120的数量可以大于或小于十个。在一些实施例中,使用更多数量的声换能器3120可以增加所收集的音频信息量和/或音频信息的灵敏度和准确性。相反,使用较少数量的声换能器3120可以降低相关联的控制器3150处理所收集的音频信息所需的计算能力。此外,麦克风阵列中的每个声换能器3120的位置可以变化。例如,声换能器3120的位置可以包括用户上的定义位置、框架3110上的定义坐标、与每个声换能器3120相关联的取向或它们的某种组合。
198.声换能器3120(a)和3120(b)可以位于用户耳朵的不同部位,例如耳廓(pinna)后面、耳屏后面和/或耳廓(auricle)或窝(fossa)内。或者,除了耳道内的声换能器3120之外,在耳朵上或耳朵周围可以有附加的声换能器3120。将声换能器3120定位在用户的耳道附近可以使麦克风阵列能够收集关于声音如何到达耳道的信息。通过将至少两个声换能器3120定位在用户头部的两侧(例如,作为双耳麦克风),增强现实设备3100可以模拟双耳听觉并
捕获用户头部周围的3d立体声声场。在一些实施例中,声换能器3120(a)和3120(b)可以使用有线连接3130连接到增强现实系统3100,并且在其他实施例中,声换能器3120(a)和3120(b)可以使用无线连接(例如,蓝牙连接)连接到增强现实系统3100。在其他实施例中,声换能器3120(a)和3120(b)可以根本不与增强现实系统3100结合使用。
199.框架3110上的声换能器3120可以沿着镜腿的长度、跨过镜梁、在显示设备3115(a)和3115(b)的上方或下方、或者它们的某种组合来定位。声换能器3120可以被定向成使得麦克风阵列能够检测佩戴增强现实系统3100的用户周围的大范围方向上的声音。在一些实施例中,可以在增强现实系统3100的制造期间执行优化过程,以确定麦克风阵列中每个声换能器3120的相对定位。
200.在一些示例中,增强现实系统3100可以包括或连接到外部设备(例如,配对设备),例如颈带3105。颈带3105通常代表任何类型或形式的配对设备。因此,以下对颈带3105的讨论也可适用于各种其他配对设备,例如充电盒、智能手表、智能电话、腕带、其他可佩戴设备、手持控制器、平板计算机、膝上型计算机、其他外部计算设备等。
201.如图所示,颈带3105可以使用一个或更多个连接器耦合到眼镜设备3102。连接器可以是有线或无线的,并且可以包括电气和/或非电气(例如,结构)部件。在一些情况下,眼镜设备3102和颈带3105可以独立操作,而它们之间没有任何有线或无线连接。虽然图31示出了在眼镜设备3102和颈带3105上的示例位置中的眼镜设备3102和颈带3105的部件,但是这些部件可以位于眼镜设备3102和/或颈带3105的其他地方和/或在眼镜设备3102和/或颈带3105上不同地分布。在一些实施例中,眼镜设备3102和颈带3105的部件可以位于与眼镜设备3102、颈带3105或其某种组合配对的一个或更多个附加外围设备上。
202.将外部设备(如颈带3105)与增强现实眼镜设备配对,可使眼镜设备能够达到一副眼镜的形状因子,同时仍能提供足够的电池和计算能力以用于扩展的能力。增强现实系统3100的电池功率、计算资源和/或附加特征中的一些或全部可以由配对的设备提供,或者在配对的设备和眼镜设备之间共享,因此总体上减少了眼镜设备的重量、热分布和形状因子,同时仍然保持期望的功能。例如,颈带3105可以允许原本将被包括在眼镜设备上的部件被包括在颈带3105中,因为用户可以在他们的肩膀上容忍比在他们的头上将容忍的重量负荷更重的重量负荷。颈带3105也可以具有更大的表面积,以在该表面积上将热量扩散并分散到周围环境中。因此,颈带3105可以允许比以其他方式在独立眼镜设备上可能有的电池和计算容量更大的电池和计算容量。由于颈带3105中承载的重量比眼镜设备3102中承载的重量对用户的侵害更小,因此用户可以忍受佩戴较轻的眼镜设备,并且可以忍受比用户佩戴重的独立眼镜设备将忍受的时间更长的时间来携带或佩戴配对设备,从而使得用户能够将人工现实环境更充分地结合到他们的日常活动中。
203.颈带3105可以与眼镜设备3102和/或其他设备通信地耦合。这些其他设备可以向增强现实系统3100提供某些功能(例如,跟踪、定位、深度映射、处理、存储等)。在图31的实施例中,颈带3105可以包括两个声换能器(例如,3120(i)和3120(j)),它们是麦克风阵列的一部分(或者潜在地形成它们自己的麦克风子阵列)。颈带3105还可以包括控制器3125和电源3135。
204.颈带3105的声换能器3120(i)和3120(j)可以被配置成检测声音并将检测到的声音转换成电子格式(模拟或数字的)。在图31的实施例中,声换能器3120(i)和3120(j)可以
定位在颈带3105上,从而增加颈带声换能器3120(i)和3120(j)与定位在眼镜设备3102上的其他声换能器3120之间的距离。在一些情况下,增加麦克风阵列的声换能器3120之间的距离可以提高使用麦克风阵列执行的波束成形的准确度。例如,如果声换能器3120(c)和3120(d)检测到声音,并且声换能器3120(c)和3120(d)之间的距离大于例如声换能器3120(d)和3120(e)之间的距离,则检测到的声音的确定的源位置可能比声音被声换能器3120(d)和3120(e)检测到的情况更准确。
205.颈带3105的控制器3125可以处理由颈带3105和/或增强现实系统3100上的传感器产生的信息。例如,控制器3125可以处理来自麦克风阵列的描述由麦克风阵列检测到的声音的信息。对于每个检测到的声音,控制器3125可以执行到达方向(doa)估计,以估计检测到的声音到达麦克风阵列的方向。当麦克风阵列检测到声音时,控制器3125可以用该信息填充音频数据集。在增强现实系统3100包括惯性测量单元的实施例中,控制器3125可以从位于眼镜设备3102上的imu计算所有惯性和空间计算。连接器可以在增强现实系统3100和颈带3105之间以及在增强现实系统3100和控制器3125之间传递信息。信息可以是光数据、电数据、无线数据的形式或任何其他可传输数据形式。将对增强现实系统3100生成的信息的处理移动到颈带3105可以减少眼镜设备3102中的重量和热量,使其对用户更舒适。
206.颈带3105中的电源3135可以向眼镜设备3102和/或颈带3105提供电力。电源3135可以包括但不限于锂离子电池、锂聚合物电池、一次锂电池、碱性电池或任何其他形式的电力储存装置。在一些情况下,电源3135可以是有线电源。在颈带3105上而不是在眼镜设备3102上包括电源3135可以帮助更好地分配由电源3135产生的重量和热量。
207.如所提到的,一些人工现实系统可以用虚拟体验实质上代替用户对真实世界的一个或更多个感官感知,而不是将人工现实与实际现实混合。这种类型系统的一个示例是头戴式显示系统(例如图32中的虚拟现实系统3200),其主要或完全覆盖用户的视场。虚拟现实系统3200可以包括前刚性主体3202和形状适于围绕用户头部的带3204。虚拟现实系统3200还可以包括输出音频换能器3206(a)和3206(b)。此外,虽然在图32中未示出,但是前刚性主体3202可以包括一个或更多个电子元件,其包括一个或更多个电子显示器、一个或更多个惯性测量单元(imu)、一个或更多个跟踪发射器或检测器、和/或用于创建人工现实体验的任何其他合适的设备或系统。
208.人工现实系统可以包括各种类型的视觉反馈机构。例如,增强现实系统3100和/或虚拟现实系统3200中的显示设备可以包括一个或更多个液晶显示器(lcd)、发光二极管(led)显示器、有机led(oled)显示器、数字光投影(dlp)微显示器、硅上液晶(lcos)微显示器和/或任何其他合适类型的显示屏。人工现实系统可以包括用于双眼的单显示屏,或者可以为每只眼睛提供显示屏,这可以为变焦调节或为校正用户的屈光不正提供附加的灵活性。一些人工现实系统还可以包括具有一个或更多个透镜(例如,传统的凹透镜或凸透镜、菲涅耳(fresnel)透镜、可调液体透镜等)的光学子系统,用户可以通过这些透镜来观看显示屏。这些光学子系统可用于多种目的,包括准直(例如,使物体看起来处于比其物理距离更大的距离处)、放大(例如,使物体看起来比其实际尺寸更大)和/或传递光(例如,将光传递到观看者的眼睛)。这些光学子系统可以用于非光瞳形成架构(例如直接准直光但可以导致所谓枕形失真的单透镜配置)和/或光瞳形成架构(例如可以产生桶形失真以抵消枕形失真的多透镜配置)。
209.除了或代替使用显示屏,一些人工现实系统可以包括一个或更多个投影系统。例如,增强现实系统3100和/或虚拟现实系统3200中的显示设备可以包括将光(使用例如波导)投射到显示设备中的微led投影仪,例如允许环境光通过的透明组合透镜。显示设备可以朝向用户的瞳孔折射投射的光,并且可以使用户能够同时观看人工现实内容和真实世界。显示设备可以使用多种不同的光学部件中的任何一种来实现这一点,这些光学部件包括波导部件(例如,全息、平面、衍射、偏振和/或反射波导元件)、光操纵表面和元件(例如衍射、反射和折射元件和光栅)、耦合元件等。人工现实系统还可以配置有任何其他合适类型或形式的图像投影系统(例如在虚拟视网膜显示器中使用的视网膜投影仪)。
210.人工现实系统还可以包括各种类型的计算机视觉部件和子系统。例如,增强现实系统3100和/或虚拟现实系统3200可以包括一个或更多个光学传感器,例如二维(2d)或3d相机、结构光发射器和检测器、飞行时间深度传感器、单光束或扫描(sweeping)激光测距仪、3d lidar传感器和/或任何其他合适类型或形式的光学传感器。人工现实系统可以处理来自这些传感器中的一个或更多个的数据,以识别用户的位置、绘制真实世界的地图、向用户提供关于真实世界周围环境的上下文、和/或执行各种其他功能。
211.人工现实系统还可以包括一个或更多个输入和/或输出音频换能器。例如,元件3206(a)和3206(b)可以包括音圈扬声器、带状扬声器、静电扬声器、压电扬声器、骨传导换能器、软骨传导换能器、耳屏振动换能器和/或任何其他合适类型或形式的音频换能器。类似地,输入音频换能器可以包括电容式麦克风、电动式麦克风(dynamic microphone)、带式麦克风、和/或任何其他类型或形式的输入换能器。在一些实施例中,单个换能器可以用于音频输入和音频输出两者。
212.在一些示例中,人工现实系统可以包括触感(即触觉)反馈系统,该系统可以结合到头饰、手套、紧身衣裤、手持式控制器、环境设备(例如椅子、地板垫等)和/或任何其他类型的设备或系统中。触觉反馈系统可以提供各种类型的皮肤反馈,包括振动、力、牵引力、纹理和/或温度。触觉反馈系统还可以提供各种类型的动觉反馈,例如运动和顺应性。可以使用电机、压电致动器、射流系统和/或各种其他类型的反馈机构来实现触觉反馈。可以独立于其他人工现实设备、在其他人工现实设备内、和/或与其他人工现实设备结合来实现触觉反馈系统。
213.通过提供触觉感觉、听觉内容和/或视觉内容,人工现实系统可以在各种上下文和环境中创建完整的虚拟体验或增强用户的真实世界体验。例如,人工现实系统可以帮助或扩展用户在特定环境内的感知、记忆或认知。一些系统可以增强用户与在真实世界中的其他人的交互,或者可以实现用户与虚拟世界中的其他人的更沉浸式的交互。人工现实系统还可以用于教育目的(例如,用于在学校、医院、政府组织、军事组织、商业企业等中的教学或培训)、娱乐目的(例如,用于玩视频游戏、听音乐、观看视频内容等)和/或用于可及性目的(例如,作为助听器、助视器等)。本文公开的实施例可以在一个或更多个这些上下文和环境中和/或在其他上下文和环境中实现或增强用户的人工现实体验。
214.如上面所详述的,本文描述和/或示出的计算设备和系统广泛地表示能够执行计算机可读指令(例如在本文描述的模块内包含的那些指令)的任何类型或形式的计算设备或系统。在它们的最基本的配置中,这些计算设备可以各自包括至少一个存储器设备和至少一个物理处理器。
215.在一些示例中,术语“存储器设备”通常指能够存储数据和/或计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。在一个示例中,存储器设备可以存储、加载和/或维护本文描述的一个或更多个模块。存储器设备的示例包括但不限于随机存取存储器(ram)、只读存储器(rom)、闪存、硬盘驱动器(hdd)、固态驱动器(ssd)、光盘驱动器、高速缓存、这些部件中的一个或更多个的变形或组合、或者任何其他合适的储存存储器。
216.在一些示例中,术语“物理处理器”通常指能够解析和/或执行计算机可读指令的任何类型或形式的硬件实现的处理单元。在一个示例中,物理处理器可以访问和/或修改存储在上述存储器设备中的一个或更多个模块。物理处理器的示例包括但不限于微处理器、微控制器、中央处理单元(cpu)、实现软核处理器的现场可编程门阵列(fpga)、专用集成电路(asic)、这些部件中的一个或更多个的部分、这些部件中的一个或更多个的变形或组合、或任何其他合适的物理处理器。
217.尽管被示为单独的元件,但是本文描述和/或示出的模块可以表示单个模块或应用的部分。此外,在某些实施例中,这些模块中的一个或更多个可以表示一个或更多个软件应用或程序,其当由计算设备执行时可以使计算设备执行一个或更多个任务。例如,本文描述和/或示出的一个或更多个模块可以表示被存储和配置为在本文描述和/或示出的一个或更多个计算设备或系统上运行的模块。这些模块中的一个或更多个还可以表示被配置为执行一个或更多个任务的一个或更多个专用计算机的全部或部分。
218.此外,本文描述的一个或更多个模块可以将数据、物理设备和/或物理设备的表示从一种形式变换成另一种形式。例如,本文所述的一个或更多个模块可以接收待变换的数据(例如基于检测到的来自用户的信号的数据,例如emg数据),对数据进行变换,输出变换的结果以执行功能(例如,输出控制数据、控制ar系统或其他功能)或者以其它方式使用变换的结果以执行功能,并且存储变换的结果以执行功能。附加地或可替代地,本文所述的一个或更多个模块可以通过在计算设备上执行、在计算设备上存储数据、和/或以其他方式与计算设备交互来将处理器、易失性存储器、非易失性存储器和/或物理计算设备的任何其他部分从一种形式变换成另一种形式。
219.在一些实施例中,术语“计算机可读介质”通常指能够存储或携带计算机可读指令的任何形式的设备、载体或介质。计算机可读介质的示例包括但不限于传输型介质(诸如,载波)以及非暂时性类型介质,诸如,磁存储介质(例如,硬盘驱动器、磁带驱动器和软盘)、光存储介质(例如,光盘(cd)、数字视频盘(dvd)和blu

ray盘)、电子存储介质(例如,固态驱动器和闪存介质)以及其他分发系统。
220.在本文描述和/或示出的过程参数和步骤的顺序仅作为示例被给出,并且可以根据需要而变化。例如,虽然本文示出和/或描述的步骤可以以特定顺序被示出或讨论,但是这些步骤不一定需要以所示出或讨论的顺序来被执行。本文描述和/或示出的各种示例性方法也可以省略本文描述或示出的一个或更多个步骤,或者包括除了那些公开的步骤之外的附加步骤。
221.序数术语(例如“第一”、“第二”、“第三”)的使用本身并不暗示一个权利要求元素相对于另一个权利要求元素的任何优先级、优先权或顺序或者方法的动作被执行的时间顺序。这些术语可以仅用作标记,以将一个元素与具有其它相似名称的另一个元素区分开来。
222.已经提供了前面的描述,以使本领域的其他技术人员能够最好地利用本文公开的示例性实施例的各个方面。该示例性描述不旨在穷举或限制于所公开的任何精确形式。在不脱离本公开的精神和范围的情况下,许多修改和变化是可能的。本文公开的实施例应当在所有方面被认为是说明性的而不是限制性的。在确定本公开的范围时,应当参考所附权利要求及其等同物。
223.除非另有说明,否则如说明书和权利要求书中使用的术语“连接到”和“耦合到”(及其派生词)应被解释为允许直接和间接(即,使用其他元件或部件)连接。此外,说明书和权利要求书中使用的术语“一个(a)”或“一个(an)”应被解释为意指“...中的至少一个”。最后,为了便于使用,如说明书和权利要求书中使用的术语“包括(including)”和“具有”(及其派生词)可与词语“包括(including)”互换并且与词语“包括(including)”具有相同的含义。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献