CN113557069A - 用于手势分类和施加的力估计的无监督机器学习的方法和装置 - Google Patents

用于手势分类和施加的力估计的无监督机器学习的方法和装置 Download PDF

Info

Publication number
CN113557069A
CN113557069A CN201980093147.0A CN201980093147A CN113557069A CN 113557069 A CN113557069 A CN 113557069A CN 201980093147 A CN201980093147 A CN 201980093147A CN 113557069 A CN113557069 A CN 113557069A
Authority
CN
China
Prior art keywords
gesture
user
processor
neuromuscular
force
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201980093147.0A
Other languages
English (en)
Inventor
亚历山大·巴拉尚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Meta Platforms Technologies LLC
Original Assignee
Facebook Technologies LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Facebook Technologies LLC filed Critical Facebook Technologies LLC
Publication of CN113557069A publication Critical patent/CN113557069A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2135Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/015Input arrangements based on nervous system activity detection, e.g. brain waves [EEG] detection, electromyograms [EMG] detection, electrodermal response detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • G06V40/113Recognition of static hand signs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Evolutionary Biology (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Dermatology (AREA)
  • General Health & Medical Sciences (AREA)
  • Neurology (AREA)
  • Neurosurgery (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)

Abstract

用于训练分类模型并使用经训练的分类模型来识别用户执行的手势的方法和装置。一种装置包括处理器,该处理器被编程为:当用户执行手势的第一单个动作时,经由多个神经肌肉传感器从用户接收第一多个神经肌肉信号;基于第一多个神经肌肉信号训练分类模型,训练包括:从第一多个神经肌肉信号导出值,这些值指示手势的区别特征,该区别特征包括随着在手势的执行期间施加的力而线性变化的至少一个特征;以及基于该值在分类模型中生成手势的第一分类表示;以及基于经训练的分类模型和第二多个神经肌肉信号,确定用户执行了手势的第二单个动作。

Description

用于手势分类和施加的力估计的无监督机器学习的方法和 装置
背景
利用机器学习技术来识别和建模用户执行的手势(gesture)的系统通常需要大型标记数据组或训练样本组,这些数据或样本由人类标记,并且容易受到人类偏见或标记错误的影响。例如,在图像识别上下文中,训练监督的学习模型以基于标记的数据来识别手势,该标记的数据例如为捕捉特定手势的不同角度的多个图像,其中图像由人类标记以指示手势的角度、类型和其他方面。
概述
在识别和建模人类手势的系统中,发明人已经意识到,期望系统从很少的训练样本中快速学习手势。还可能希望系统以无监督的方式,例如,使用未标记的训练数据,从手势中捕获和解释有意义的特征。这种有意义的特征可以包括指示在手势执行期间施加的力或力的大小的特征,这可以传达不同的含义。例如,施加到同一手势的不同力的大小可以允许系统生成不同的命令信号,用于控制虚拟或增强现实环境中的对象、控制用户环境中的设备或其他合适的系统和/或设备。
一些实施例涉及一种装置,该装置包括处理器、耦合到处理器的多个神经肌肉传感器和存储指令的存储器。当由处理器执行时,指令使得处理器:当用户执行手势的第一单个动作时,经由多个神经肌肉传感器从用户接收第一多个神经肌肉信号,并基于第一多个神经肌肉信号训练分类模型。训练分类模型包括:从第一多个神经肌肉信号中导出一个或更多个值,该一个或更多个值指示手势的区别特征,这些区别特征包括随着手势执行期间施加的力线性变化的至少一个特征;以及基于从第一多个神经肌肉信号导出的一个或更多个值,在分类模型中生成手势的第一分类表示。当由处理器执行时,指令使得处理器:当用户执行手势的第二单个动作时,通过多个神经肌肉传感器从用户接收第二多个神经肌肉信号;以及基于分类模型和第二多个神经肌肉信号确定用户执行了手势的第二单个动作。
其他实施例涉及一种装置,该装置包括处理器、耦合到处理器的多个神经肌肉传感器和存储指令的存储器。当由处理器执行时,指令使得处理器:基于第一多个神经肌肉信号和第二多个神经肌肉信号训练分类模型,第一多个神经肌肉信号和第二多个神经肌肉信号经由多个神经肌肉传感器接收。该训练包括基于聚类技术导出指示第一手势的区别特征的第一组值和指示第二手势的区别特征的第二组值,第一手势的区别特征包括随着在执行第一手势期间施加的力线性变化的至少一个特征,第二手势的区别特征包括随着在执行第二手势期间施加的力线性变化的至少一个特征;以及在分类模型中生成第一手势的分类表示和第二手势的分类表示。当由处理器执行时,指令使得处理器至少部分地基于第三多个神经肌肉信号和分类模型来确定用户是执行了第一手势的后续动作还是第二手势的后续动作。
其他实施例针对一种方法,该方法包括在可穿戴设备的处理器处接收来自包括在可穿戴设备中的多个神经肌肉传感器的多个神经肌肉信号,该多个神经肌肉信号对应于当用户执行手势的单个动作时从用户采样的神经肌肉信号;经由无监督机器学习技术,基于手势的单个动作训练分类模型,该分类模型包括手势的分类表示;基于手势的分类表示,确定用户是否已经执行了手势的后续单个动作;确定至少一个力值,该力值对应于在手势的后续单个动作的执行期间由用户施加的力;以及响应于确定用户已经执行了手势的后续单个动作,生成要传送给设备的命令信号,其中该命令信号指示手势和在手势执行期间施加的至少一个力值。
另外其他实施例涉及一种用于基于第一手势的单个动作来训练分类模型的计算机化系统。该系统包括多个神经肌肉传感器,其被配置为当用户执行第一手势的单个动作时,记录来自用户的多个神经肌肉信号;以及至少一个计算机处理器,其被编程为:使用无监督机器学习技术训练分类模型,以基于多个神经肌肉信号中的至少一些信号在分类模型中创建手势的唯一表示。
在一个方面,至少一个计算机处理器还被编程为识别记录的多个神经肌肉信号中的至少一个活动期,其中用于训练分类模型的多个神经肌肉信号中的至少一些是在至少一个活动期期间记录的神经肌肉信号。
在另一方面,用于训练分类模型的多个神经肌肉信号中的至少一些不包括指示静止或中立(neutral)位置的神经肌肉信号。
在另一方面,识别至少一个活动期包括将活动期识别为与多个神经肌肉信号中的每一个相关联的功率值高于阈值的时间段。
在另一方面,在分类模型中创建第一手势的唯一表示包括处理多个神经肌肉信号中的至少一些,以在成分特征空间中生成多个点;以及聚类至少一些生成的点以创建第一手势的唯一表示。
在另一方面,处理多个神经肌肉信号中的至少一些以生成成分特征空间中的多个点包括对多个神经肌肉信号中的至少一些执行主成分分析。
在另一方面,对至少一些生成的点进行聚类包括应用K-均值聚类分析来生成成分特征空间中的一个或更多个点聚类;以及基于相似性度量将一个或更多个点聚类包括在第一手势的唯一表示中。
在另一方面,相似性度量包括余弦距离。
在另一方面,创建第一手势的唯一表示包括基于生成的点在成分特征空间中生成向量。
在另一方面,沿着向量的点表示使用不同大小的力执行第一手势。
在另一方面,至少一个计算机处理器还被编程为将第一控制信号与第一手势的唯一表示相关联。
在另一方面,至少一个计算机处理器还被编程为将第一控制信号和第二控制信号与第一手势的唯一表示相关联,其中系统被配置为当在施加低于阈值的力的同时执行第一手势时生成第一控制信号,并且当在施加等于或高于阈值的力的同时执行第一手势时生成第二控制信号。
在另一方面,多个神经肌肉传感器还被配置成当用户执行第二手势的单个动作时记录第二多个神经肌肉信号;并且至少一个计算机处理器被编程为:使用无监督机器学习技术训练分类模型,以基于第二多个神经肌肉信号中的至少一些来创建分类模型中的第二手势的唯一表示。
在另一方面,在分类模型中创建第二手势的唯一表示包括:处理第二多个神经肌肉信号中的至少一些,以在成分特征空间中生成多个第二点;以及使多个第二点中的至少一些聚类,以创建第二手势的唯一表示。
在另一方面,在分类模型中创建第一手势的唯一表示包括:处理多个神经肌肉信号中的至少一些,以在成分特征空间中生成第一多个点;以及基于所生成的第一多个点在成分特征空间中生成第一向量,其中创建第二手势的唯一表示包括基于第二多个点在成分特征空间中生成第二向量,并且其中与第二手势相关联的第二向量不同于与第一手势相关联的第一向量。
在另一方面,多个神经肌肉传感器布置在一个或更多个可穿戴设备上。
其他实施例涉及一种用于对用户执行的手势进行分类的计算机化系统。该系统包括被配置为当用户执行第一手势时记录来自用户的多个神经肌肉信号的多个神经肌肉传感器和至少一个计算机处理器。该至少一个计算机处理器被编程为:在分类模型的成分特征空间中创建第一手势的表示,其中分类模型被训练为在成分特征空间中包括多个手势的每一个手势的唯一表示;确定第一手势的表示是否对应于包括在分类模型中的多个手势的任何唯一表示;并且当确定第一手势的表示对应于唯一表示之一时,生成与该唯一表示相关联的控制信号。
在一个方面,创建第一手势的表示包括处理多个神经肌肉信号中的至少一些以在成分特征空间中生成多个点;以及对多个点中的至少一些进行聚类以创建第一手势的表示。
在另一方面,处理多个神经肌肉信号中的至少一些以在成分特征空间中生成多个点包括对多个神经肌肉信号中的至少一些执行主成分分析。
在另一方面,对多个点中的至少一些进行聚类包括:应用k-均值聚类分析来在成分特征空间中生成一个或更多个点聚类;以及基于相似性度量将一个或更多个点聚类包括在第一手势的表示中。
在另一方面,相似性度量包括余弦距离。
在另一方面,创建第一手势的表示包括基于多个点在成分特征空间中生成第一向量。
在另一方面,确定第一手势的表示是否对应于唯一表示之一包括基于相似性度量来确定与第一手势相关联的第一向量是否对应于与多个手势相关联的多个向量之一。
在另一方面,相似性度量是第一向量和成分特征空间中的多个向量中的每个向量之间的余弦距离。
在另一方面,多个神经肌肉传感器布置在一个或更多个可穿戴设备上。
应当认识到,前面的概念和下面更详细讨论的另外的概念的所有组合(假设这样的概念不是相互不一致的)被设想为本文公开的创造性主题的一部分。特别是,出现在本公开的结尾处的所主张的主题的所有组合被设想为本文公开的创造性主题的一部分。
附图简述
将参考下面的附图来描述技术的各种非限制性实施例。应当认识到,附图不一定按比例绘制。
图1是根据本文描述的技术的一些实施例的用于处理神经肌肉传感器数据的基于计算机的系统的示意图;
图2A示出了根据本文所描述技术的一些实施例的可穿戴系统,该可穿戴系统具有围绕弹性带周向布置的16个EMG传感器,该弹性带被配置成围绕用户的下臂或手腕穿戴;
图2B是图2A中所示的16个EMG传感器之一的截面图;
图3A和图3B示意性地示出了在其上实现一些实施例的基于计算机的系统的部件。图3A示出了基于计算机的系统的可穿戴部分,图3B示出了连接到计算机的加密狗部分,其中加密狗部分被配置为与可穿戴部分通信;
图4是根据本文描述的技术的一些实施例,基于从传感器记录的神经肌肉信号生成分类模型的过程的流程图;
图5示出了根据本文描述的技术的一些实施例的用户定义手势的示例;
图6A示出了根据本文描述的技术的一些实施例的与第一用户相关联的第一组手势;
图6B示出了根据本文描述的技术的一些实施例的与第二用户相关联的第二组手势;
图7是根据本文描述的技术的一些实施例的基于训练的分类模型来识别手势的过程的流程图;
图8示出了根据本文描述的技术的一些实施例,通过布置在图2A的可穿戴系统上的十六个传感器捕获的表示三种不同手势的信号;
图9示出了根据本文描述的技术的一些实施例,从与不同手势相关联的神经肌肉信号计算的协方差矩阵的示例;
图10示出了根据本文描述的技术的一些实施例的曲线图,该曲线图示出了与对应于静止和活动位置的数据点相关联的功率值;
图11示出了根据本文描述的技术的一些实施例,从训练数据集计算的正切空间和主成分分析(PCA)空间;
图12示出了根据本文描述的技术的一些实施例的学习手势向量的示例;
图13示出了根据本文描述的技术的一些实施例的曲线图,其示出了作为训练阶段期间执行的每个手势的最大自主收缩的函数计算的力;
图14示出了根据本文描述的技术的一些实施例,基于三个不同手势的计算余弦距离来识别该三个不同手势;
图15示出了根据本文描述的技术的一些实施例,为在分类阶段期间识别的每个手势推断的力;
图16示出了根据本文描述的技术的一些实施例的映射到主成分分析(PCA)空间的三个未看到的向量。
详细描述
一些现有的用于识别和建模人类手势的技术使用易于出现人类错误的标记训练数据。训练数据标记错误导致监督学习模型训练不准确,进而导致手势识别错误。此外,这种技术通常需要大量标记的训练数据,这对于获取和产生来说是困难和耗时的。此外,处理如此大量的标记数据会消耗大量的计算和存储器资源。
一些用于识别和建模人类手势的现有技术也未能捕捉与人类手势相关联的有意义的特征,例如在手势执行期间施加的力或力的大小。例如,在图像识别上下文中,监督学习模型可以被训练成基于标记的图像数据来识别手势。这些标记图像反映了在手势执行期间人的手的定位,但是标记图像不反映与用户在执行手势时施加的力相关联的信息。
发明人已经认识到,通过利用无监督的机器学习或训练方法来训练分类模型以识别和建模一个或更多个用户定义的手势以及用户在执行这些手势时施加的力,可以改进用于识别和建模人类手势的现有技术。可以用从布置在可穿戴设备上的神经肌肉传感器获得的未标记数据来训练分类模型。未标记的数据可以包括从神经肌肉传感器记录的神经肌肉信号。
发明人已经认识到,通过利用无监督训练方法(其示例将在下面详细描述),可以基于当用户执行手势的单个动作时记录的神经肌肉信号来训练分类模型(也称为“单次(one-shot)”训练或学习)。分类模型被训练成通过在模型中生成手势的分类表示来识别手势。手势的分类表示可以基于从记录的神经肌肉信号导出的一个或更多个特征和/或与手势执行期间施加的力相关联的一个或更多个力值来生成。分类表示可以包括这样的表示,通过该表示可以推断用户执行的手势的类型和用户在手势执行期间施加的力的大小。使用训练的分类模型,可以基于其在分类模型中的分类表示来识别用户的同一手势的后续执行。
根据一些实施例,可以训练分类模型来识别由一个用户或多个用户执行的多个手势。例如,可以基于当用户执行每个手势的单个动作时记录的神经肌肉信号来训练分类模型。可以利用聚类技术将记录的传感器数据划分成多个聚类,每个聚类与特定手势相关联。可以基于相关联的聚类来确定每个手势的分类表示。例如,分类表示可以包括识别手势的类型、方向和与手势相关联的力标度(例如,力值/力大小的范围)的信息。在训练分类模型之后,系统可以确定用户执行的手势是否映射到与分类模型中表示的不同手势相关联的任何分类表示。
图1示出了根据一些实施例的系统100。该系统包括多个传感器102,其被配置成记录由人体骨骼肌中的神经肌肉活动产生的信号。本文使用的术语“神经肌肉活动”是指对支配肌肉的脊髓运动神经元的神经激活、肌肉激活、肌肉收缩或者神经激活、肌肉激活和肌肉收缩的任意组合。神经肌肉传感器可以包括一个或更多个肌电图(EMG)传感器、一个或更多个肌械图(MMG)传感器、一个或更多个声肌图(SMG)传感器、两种或多种类型的EMG传感器、MMG传感器和SMG传感器的组合、和/或被配置成检测神经肌肉信号的任何合适类型的一个或更多个传感器。在一些实施例中,多个神经肌肉传感器可以用于感测与由肌肉控制的身体部位的运动相关的肌肉活动,神经肌肉传感器被布置成从肌肉感测肌肉活动。当用户随着时间移动或执行一个或更多个手势时,可以基于所感测的神经肌肉信号来预测描述移动的空间信息(例如,位置和/或定向信息)和力信息。
传感器102可以包括一个或更多个惯性测量单元(IMU),该一个或更多个惯性测量单元(IMU)使用例如加速度计、陀螺仪、磁力计或一个或更多个加速度计、陀螺仪和磁力计的任意组合来测量运动的物理方面的组合。在一些实施例中,IMU可以用于感测关于附接有IMU的身体部位的移动的信息,并且当用户随时间的推移而移动时,从感测到的数据导出的信息(例如,位置和/或定向信息)可以被跟踪。例如,当用户随着时间移动或执行一个或更多个手势时,一个或更多个IMU可以用于跟踪用户身体的用户躯干近端的部分(例如,手臂、腿)相对于传感器的移动。
在包括至少一个IMU和多个神经肌肉传感器的实施例中,IMU和神经肌肉传感器可以被布置成检测人体不同部位的运动。例如,IMU可以被布置成检测躯干近端的一个或更多个体段(body segment)(例如,上臂)的移动,而神经肌肉传感器可以被布置成检测躯干远端的一个或更多个体段(例如,前臂或手腕)的移动。然而,应当理解,自主式传感器可以以任何合适的方式被布置,并且本文所描述技术的实施例不限于基于特定的传感器布置。例如,在一些实施例中,至少一个IMU和多个神经肌肉传感器可以共同位于一个体段上,以使用不同类型的测量来跟踪体段的移动。在下面更详细描述的一个实现中,IMU传感器和多个EMG传感器被布置在可穿戴设备上,该可穿戴设备被配置成围绕用户的下臂或手腕穿戴。在这样的布置中,IMU传感器可以被配置成跟踪与一个或更多个手臂节段相关联的运动信息(例如,随着时间的推移的定位和/或定向),以确定例如用户是已经举起还是放下了他们的手臂,而EMG传感器可以被配置成确定与手腕或手部节段相关联的运动信息,以确定例如用户是具有张开还是闭合的手配置。
每个传感器102包括被配置成感测关于用户的信息的一个或更多个感测部件。在IMU的情况下,感测部件可以包括一个或更多个加速度计、陀螺仪、磁力计或其任意组合,以测量身体运动的特性,该特性的示例包括但不限于加速度、角速度和身体周围感测到的磁场。在神经肌肉传感器的情况下,感测部件可以包括但不限于被配置为检测身体表面上的电位的电极(例如,对于EMG传感器)、被配置为测量皮肤表面振动的振动传感器(例如,对于MMG传感器)、以及被配置为测量由肌肉活动产生的超声信号的声学感测部件(例如,对于SMG传感器)。
在一些实施例中,多个传感器102中的至少一些被布置为可穿戴设备的一部分,该可穿戴设备被配置成穿戴在用户身体部位之上或围绕用户身体部位穿戴。例如,在一个非限制性示例中,IMU传感器和多个神经肌肉传感器围绕可调整的和/或弹性的带(例如被配置成围绕用户的手腕或手臂穿戴的腕带或臂带)周向地布置。替代地,至少一些自主式传感器可以布置在可穿戴贴片上,该可穿戴贴片被配置成附着到用户身体一部分。在一些实施例中,可以使用多个可穿戴设备来预测涉及多个身体部位的运动的肌肉骨骼位置信息,每个可穿戴设备上包括一个或更多个IMU和/或神经肌肉传感器。
在一些实施例中,传感器102仅包括多个神经肌肉传感器(例如,EMG传感器)。在其他实施例中,传感器102包括多个神经肌肉传感器和被配置成连续记录多个辅助信号的至少一个“辅助”传感器。辅助传感器的示例包括但不限于其他自主式传感器(例如IMU传感器)和非自主式传感器(例如成像设备(例如,照相机))、与辐射生成设备(例如,激光扫描设备)一起使用的基于辐射的传感器、或者其他类型的传感器(例如心率监视器)。
在一些实施例中,可以使用硬件信号处理电路来处理一个或更多个感测部件的输出(例如,执行放大、滤波和/或整流)。在其他实施例中,可以在软件中执行对感测部件的输出的至少部分的信号处理。因此,对由传感器记录的信号的信号处理可以在硬件、软件中执行,或由硬件和软件的任何合适组合执行,因为本文描述的技术的方面在这一点上不受限制。
在一些实施例中,如下面更详细描述的,记录的传感器数据可以被处理以计算附加的导出的测量结果或特征,然后将导出的测量结果或特征作为输入提供给分类模型。例如,来自IMU传感器的记录的信号可以被处理,以导出指定刚体节段随时间的定向的定向信号。传感器102可以使用与感测部件集成的部件来实现信号处理,或者信号处理的至少一部分可以由与传感器的感测部件通信但不直接集成的一个或更多个部件来执行。
系统100还包括被编程为与传感器102通信的一个或更多个计算机处理器104。例如,由一个或更多个传感器记录的信号可以被提供给处理器,该处理器可以被编程为处理由传感器102输出的信号以训练一个或更多个分类模型106,并且训练的(或重新训练的)分类模型106可以被存储以供以后用于识别/分类手势和生成控制/命令信号,如下面更详细描述的。在一些实施例中,处理器104可以被编程为导出与用户执行的一个或更多个手势相关联的一个或更多个特征,并且导出的特征可以用于训练一个或更多个分类模型106。处理器104可以被编程为基于训练的一个或更多个分类模型106来识别随后执行的手势。在一些实现中,处理器104可以被编程为至少部分地利用分类模型来将识别的手势映射到一个或更多个控制/命令信号。
图2A示出了具有十六个神经肌肉传感器210(例如,EMG传感器)的可穿戴系统,这些传感器围绕弹性带220周向布置,该弹性带220被配置为穿戴在用户的下臂或手腕周围。如所示的,EMG传感器210围绕弹性带220周向地布置。应当理解,可以使用任何合适数量的神经肌肉传感器。神经肌肉传感器的数量和布置可以取决于可穿戴设备所用于的特定应用。例如,可穿戴的臂带或腕带可用于生成控制信息,用于控制增强现实系统、虚拟现实系统、机器人、控制交通工具、滚动文本、控制虚拟化身或任何其他合适的控制任务。如所示的,传感器210可以使用结合到可穿戴设备中的柔性电子器件230来耦合在一起。图2B示出了图2A所示的可穿戴设备的传感器210之一的截面图。
在一些实施例中,可选地,可以使用硬件信号处理电路来处理(例如,执行放大、滤波和/或整流)一个或更多个传感器的输出。在其他实施例中,传感器输出的至少一些信号处理可以在软件中执行。因此,对由传感器采样的信号的处理可以在硬件、软件中执行,或由硬件和软件的任何适当组合执行,因为本文描述的技术的方面在这一点上不受限制。将在下面结合图3A和图3B更详细地讨论用于处理来自传感器210的所记录的数据的信号处理链的非限制性示例。
图3A和图3B示出了根据本文描述的技术的一些实施例的示意图,示出了具有十六个EMG传感器的可穿戴系统的一些内部部件。如所示的,可穿戴系统包括可穿戴部分310(图3A)和(例如,经由蓝牙或另一种合适的短程无线通信技术)与可穿戴部分310通信的加密狗部分320(图3B)。如图3A所示,可穿戴部分310包括传感器210,其示例结合图2A和图2B进行了描述。传感器210的输出被提供给模拟前端330,模拟前端被配置成对所记录的信号执行模拟处理(例如,降噪、滤波等)。经处理的模拟信号然后被提供给模数转换器332,模数转换器将模拟信号转换成可以由一个或更多个计算机处理器(例如处理器104)处理的数字信号。可以根据一些实施例使用的计算机处理器的一个示例是图3A所示的微控制器(MCU)334。如所示的,MCU 334也可以包括来自其他传感器(例如,IMU传感器340)以及电源和电池模块342的输入。由MCU执行的处理的输出可以被提供给天线350,用于传输到图3B所示的加密狗部分320。
加密狗部分320包括天线352,天线被配置成与作为可穿戴部分310的一部分被包括的天线350通信。可以使用任何合适的无线技术和协议(其非限制性示例包括射频信令和蓝牙)进行天线350和352之间的通信。如所示的,由加密狗部分320的天线352接收的信号可以被提供给主计算机,用于进一步处理、显示和/或实现对特定物理或虚拟对象或多个对象的控制。
图4描述了使用从包括例如传感器210的传感器102记录的信号来生成(本文也称为“训练”)分类模型106的过程400。图4表示用于训练分类模型的“训练阶段”。过程400可以由任何合适的计算设备执行,因为本文描述的技术的各方面在此方面不受限制。例如,过程400可以由参考图1、图3A和图3B描述的一个或更多个计算机处理器执行。作为另一个示例,可以使用一个或更多个服务器(例如,作为云计算环境的一部分包括的服务器)来执行过程400的一个或更多个动作。例如,与分类模型的训练相关的动作408的至少一部分可以使用云计算环境来执行。在一些实施方式中,可以近实时地训练分类模型。如本文使用的术语“近实时”指的是用户的瞬时感知,例如毫秒量级。
过程400开始于动作402,其中对于执行一个或更多个手势(例如图5中描绘的手势)的一个或更多个用户获得多个传感器信号。在一些实施例中,作为过程200的一部分,多个传感器信号可以被记录。在其他实施例中,多个传感器信号可能已经在执行过程400之前被记录,并且在动作402被访问(而不是记录)。
如本文所用,术语“手势”指一个或更多个身体部位的静态或动态配置和与该配置相关联的力,该配置包括一个或更多个身体部位的位置。例如,手势包括离散手势(例如将手掌向下压在实体表面上或抓住球)、连续手势(例如来回挥动手指或投掷球)、或离散手势和连续手势的组合(例如抓住并投掷球)。手势可以由用户任意定义。在某些情况下,根据文化标准,手部手势和手臂手势可能是象征性的,用于交流。
在一些实施例中,手势可以包括由用户定义的非限制性或定制的手势(本文也称为“用户定义的”手势),其可以代表用户自己的和独特的手势集合。这些手势可以不在系统中预先定义或预先建模,并且分类模型可以被训练成在施加任何大小的力时识别任何类型的手势。将理解,本公开不限于利用或识别图5中描绘的手势,并且可以利用任何类型的用户定义的手势。
在一些实施例中,多个传感器信号可以包括为执行单个手势或多个手势的单个用户记录的传感器信号,并且分类模型可以被训练来识别用户执行的手势。当用户执行手势时,可以记录传感器信号。传感器信号可以由位于任何合适定位的任何合适数量的传感器记录,以检测指示手势的用户移动。例如,当用户使用他/她的右手的手指来执行手势时,传感器信号可以由围绕用户的右下臂周向(或以其他方式)布置的多个神经肌肉传感器记录,以检测右下臂中引起用户右手移动的肌肉活动。一个或更多个IMU传感器可以被布置成预测用户手臂相对于用户躯干的关节角度。作为另一个示例,当用户使用他的腿来执行手势时,传感器信号可以由围绕用户腿周向(或以其他方式)布置的多个神经肌肉传感器记录,以检测引起脚运动的腿中的肌肉活动,并且一个或更多个IMU传感器可以被布置成预测用户腿相对于用户躯干的关节角度。
在一些实施例中,多个传感器信号可以包括为执行各种手势的多个用户记录的传感器信号,并且分类模型可以被训练成识别由多个用户执行的手势。例如,可以训练分类模型来识别与系统的第一用户相关联的第一组手势(如图6A所示)和与系统的第二用户相关联的第二组手势(如图6B所示)。在一些情况下,第一组手势可以不同于第二组手势。在一些其他实例中,第一组手势和第二组手势可以是相同的。在另外其他实例中,第一组和第二组中的一些手势可以重叠(例如,这些组可以具有一个或更多个共同的手势)。
在一些实施例中,在动作402中获得的传感器信号对应于来自一种类型的传感器(例如,一个或更多个IMU传感器或一个或更多个神经肌肉传感器)的信号,并且可以基于使用特定类型的传感器记录的传感器信号来训练分类模型,从而导致特定于传感器类型的经训练的分类模型。例如,所获得的传感器信号可以包括围绕用户的下臂或手腕布置的多个EMG传感器信号,并且可以训练分类模型来识别用户执行的手势。
在基于多种类型的传感器(例如,IMU传感器、EMG传感器、MMG传感器、SMG传感器)识别手势的实施例中,可以为每种类型的传感器训练单独的分类模型,并且可以组合特定于传感器类型的模型的输出来识别用户执行的手势。在其他实施例中,在动作402中从两种或更多种不同类型的传感器获得的传感器信号可以被提供给单个分类模型,该单个分类模型基于从不同类型的传感器记录的信号而被训练。在一个说明性实现中,如下文更详细讨论的,IMU传感器和多个EMG传感器被布置在被配置为围绕用户的前臂穿戴的可穿戴设备上,并且由IMU传感器和EMG传感器记录的信号作为输入被共同地提供给分类模型。
在一些实施例中,当用户执行一个或多个手势时,在多个时间点记录在动作402中获得的传感器信号。结果,每个传感器的记录的信号可以包括在多个时间点中的每个时间点获得的数据。假设n个传感器被布置成在执行手势期间同时测量用户的移动信息,则针对用户记录的传感器信号可以包括在移动执行期间的时间点t1、t2,...,tK处的K个n维向量{xk|1≤k≤K}的时间序列。
接下来,过程400进行到动作404,其中可选地处理在动作202中获得的传感器信号。例如,可以使用放大、滤波、整流或其他类型的信号处理来处理传感器信号。在一些实施例中,可以使用带通或高通滤波器对在动作402中获得的传感器信号进行滤波。
接下来,过程400进行到动作406,其中为了训练分类模型的目的,生成训练数据集。训练数据集可以基于在动作402中获得的传感器信号或来自动作404的经处理的传感器信号来生成。在一些实施例中,生成训练数据集可以包括从训练数据集中移除对应于静止或中立位置的某些样本,如下面更详细描述的。
接下来,过程400进行到动作408,其中基于训练数据集训练分类模型。在一些实施例中,训练分类模型可以包括基于从训练数据集中的传感器信号(例如,在多个时间点获得的数据)采样或以其他方式导出的值来确定与手势相关联的一个或更多个区别特征。一个或更多个区别特征可以包括在手势执行期间随着用户施加的力或与手势相关联的其他属性(例如,手势类型、方向、力标度等)线性变化的特征。根据一些方面,训练分类模型可以包括在分类模型中生成用户执行的每个手势的分类表示。分类表示可以基于从传感器信号导出的指示一个或更多个区别特征的值来生成。
在一些实施方式中,训练分类模型可以通过向模型提供数据集序列作为输入来进行,该序列中的每个数据集包括传感器数据的n维向量。分类模型可以提供分类模型基于输入信号识别的特定手势对应于用户执行的手势的可能性作为输出。例如,分类模型可以将使用在时间点t1、t2、...、tK处获得的测量值生成的向量序列{xk|1≤k≤K}作为输入,其中向量xj的第i个分量是由第i个传感器在时间tj测量的值和/或是从由第i个传感器在时间tj测量的值导出的值。在另一个非限制性示例中,作为输入提供给分类模型的导出值可以包括或以其他方式指示在时间tj和/或时间tj之前从来自所有传感器或传感器子集的数据中提取的特征(例如,协方差矩阵、余谱矩阵(cospectral matrix)、功率谱、其组合或任何其他合适的导出表示)。基于这样的输入,分类模型可以被训练来识别由用户或多个用户执行的手势。
在包括被配置为在任务执行期间同时记录不同类型运动信息的不同类型传感器(例如,IMU传感器和神经肌肉传感器)的实施例中,可以使用相同或不同的采样速率来记录不同类型传感器的传感器数据。当传感器数据以不同的采样速率被记录时,至少一些传感器数据可以被重新采样(例如,上采样或下采样),使得作为输入被提供给分类模型的所有传感器数据对应于相同时间分辨率的时间序列数据。可以以任何合适的方式对至少一些传感器数据重新采样,这些方式包括但不限于使用插值进行上采样和使用抽取(decimation)进行下采样。
除了在以不同采样速率记录时对至少一些传感器数据进行重新采样以外,或者作为对在以不同采样速率记录时对至少一些传感器数据进行重新采样的替代,一些实施例采用被配置为异步接受多个输入的分类模型。例如,分类模型可以被配置为对具有较低采样率的输入数据中的“缺失”值的分布进行建模。替代地,随着来自多个传感器数据测量结果的输入作为训练数据变得可用,分类模型的训练定时异步发生。
接下来,过程400继续进行到动作410,在动作410中存储经训练的分类模型(例如,存储在未示出的数据储存器中)。可以使用任何合适的格式来存储经训练的统计模型,因为本文所描述技术的各方面在该方面不受限制。因此,在过程400的执行期间生成的分类模型可以在稍后的时间使用,例如,基于给定的一组输入传感器数据来识别由用户或多个用户执行的手势,如下所述。
图7示出了根据一些实施例的基于记录的传感器数据识别用户定义的手势的过程700。图7表示“手势识别阶段”,其中经训练的分类模型用于识别用户执行的手势并生成相应的命令/控制信号。在动作702中,由一个或更多个传感器记录的传感器数据被提供作为一个或更多个经训练的分类模型的输入,该分类模型包括用户或多个用户先前执行的每个手势的一个或更多个分类表示,如上面简要描述的。
过程700然后前进到动作704,其中基于经训练的分类模型来识别或标识用户执行的手势。在一些实施例中,可以确定用户执行的手势是否映射到经训练的分类模型中先前学习的手势。在一些实施例中,神经肌肉信号在用户运动期间(包括在手势执行期间)被连续记录,并且被连续提供作为经训练的分类模型的输入,导致基于经训练的分类模型对用户执行的手势的接近实时的预测/识别。
过程700然后前进到动作706,其中可以基于所识别的手势生成一个或更多个命令/控制信号。一个或更多个控制信号可以包括激活/去激活计算设备、控制虚拟环境中的对象、控制增强现实环境中的对象、控制IoT(物联网)设备和/或其他合适的系统和/或设备的信号。在一些实施例中,单个手势可以被配置成基于用户在手势执行期间施加的力来生成不同的信号。在一些实施例中,例如,在动作704中,可以确定用户在手势执行期间施加的力的水平或大小。测量的力可以作为连续变量、有序变量、区间变量、描述性统计度量或其他合适的形式来计算。
训练分类模型的示例技术-训练阶段
在一些实施方式中,穿戴可穿戴系统(例如,在图2A、图3A中描绘的系统)的用户可以连续执行一组手势(例如,G1、G2和G3)或任何其他数量的手势,包括仅一个手势。用户可以只执行每个手势一次(即,执行每个手势的单个动作)。当用户执行手势时,系统可以记录和存储神经肌肉信号(例如,EMG信号)。该组手势中的手势可以包括,例如,G1=拳头手势,G2=张开的手手势,以及G3=食指捏手势。如上所述,用户可以替代地执行不同于G1、G2和G3的其他类型的手势。换句话说,用户不限于执行一组预定义的手势。更确切地说,根据一些实施例使用的无监督机器学习技术可以被配置为识别任何类型的手势(例如,手臂或手的手势),而不管它们的形式如何。
如图8所示,当用户执行手势G1、G2和G3时,系统可以捕获并记录从用户采样的一组神经肌肉信号。该组神经肌肉信号可以用作分类模型的训练数据集。在一些实施例中,该组神经肌肉信号可以包括为可穿戴系统的十六个神经肌肉传感器中的每一个记录的信号。该组中的每个信号可以使用例如带通、高通或其他滤波技术进行滤波。
在一些实施例中,可以从该组神经肌肉信号中导出指示每个手势的区别特征的一个或更多个值。区别特征可以包括随着用户在手势执行期间施加的力而线性变化的至少一个特征。区别特征的示例包括但不限于从神经肌肉信号采样的值计算的协方差矩阵、从这些值计算的余谱矩阵、对应于不同频率的一组滤波器组协方差矩阵以及每个传感器的功率谱(例如,由传感器检测的log-PSD(功率谱密度))。
在一些实施方式中,计算来自EMG传感器(对应于16个EMG通道)的滤波信号之间的协方差,例如,在步长为25ms的200ms的窗口上计算。给定在时间t的N个通道的信号x(t),可以定义矩阵X=[x(t),.,x(t+T)],(例如,aN_通道x T_时间_样本矩阵)。给定中心信号x(t)(例如,在应用带通滤波器之后具有零均值),协方差矩阵可以表示为:
C=XXT
图9示出了为不同手势计算的协方差矩阵的示例。对应于诸如拳头的相同手势的协方差矩阵也可以提供力特征,因此系统能够区分松拳头手势(例如,用较小大小的力执行的拳头手势)和紧拳头手势(例如,用较大大小的力执行的拳头手势)。
在一些实施例中,从训练集中移除指示静止或中立位置的样本,因为这样的信号不太可能包括可用于预测或识别手势的特征。例如,指示静止或中立位置的EMG样本可以通过计算阈值(例如,基于EMG对数功率(log power))来识别,该阈值将静止或中立位置与手势位置(在本文也称为活动位置)区分开来。因此,具有低于计算阈值的EMG对数功率的样本可以从训练集中排除。从训练数据集中排除样本(例如,基于它们的EMG对数功率)提高了系统预测精度,并且在某些情况下,可以防止系统产生误报(false-positive)。例如,在一些情况下,以可忽略的大小的力(例如,低于计算的阈值)执行的手势可以被认为是由用户无意地或偶然地执行的,因此不应该被系统识别为有意的手势。图10示出了描绘对应于静止和活动位置的数据点的EMG对数功率的曲线图。
在一个实施例中,可以例如通过以下方式来计算阈值:(a)计算数据的第10百分位,并且使用所计算的值作为阈值来捕获包含活动位置(大约第90百分位)和包含静止位置(大约第10百分位)的数据,(b)将样本(例如,EMG样本)重新缩放到[0,1]之间,然后将阈值设置为0.1,或者(c)确定手势的开始(例如,通过查看功率的时间差),然后将阈值设置为开始之前的前一点的值。同样,在一些实现中,阈值可以通过谱聚类技术或其他合适的聚类技术来计算。
根据一些方面,可以处理神经肌肉信号以在特征空间中生成多个数据点。在一些实施例中,向量化协方差可以被投影到或映射到流形的正切空间。例如,给定协方差矩阵Ci,向量化协方差可以通过以下方式计算:
Si=log(P-(1/2)CiP-(1/2))
其中P是参考点,并且可以对应于例如从用户静止或中立位置期间获取的样本计算的单位矩阵或平均协方差矩阵。对称方阵Si的大小与协方差矩阵大小相同。向量化的协方差可以基于对称矩阵Si的上对角线部分来计算,例如,通过保持对称矩阵Si的上三角形部分,并通过计算对角线元素的单位权重和非对角线元素的平方根权重来对其进行向量化。
发明人已经认识到,协方差和正切空间映射提供了比例如在时间窗口上计算的第i个EMG通道的平均绝对值(MAV)等其他特征更丰富和更敏感的特征集,因为MAV没有考虑不同EMG通道之间的相关性。
在一些实施例中,训练数据集中静止或中立位置数据的平均协方差可以用作参考点,例如正切空间的零点。在一些情况下,可以对神经肌肉信号执行降维技术(例如,主成分分析(PCA)),以生成特征空间中的多个数据点。可以执行PCA技术来压缩训练数据集,同时保留对区分两个或更多手势有用的数据属性,并生成一组有效的手势特征。
在一些实施例中,在PCA分析中使用的主成分(例如,线性不相关变量)的数量可以被任意设置为系统要识别的手势的数量。训练数据集S的这种降维可以表示为S=(x1,..,xm),特征映射
Figure BDA0003231897310000191
和定义为(Φ(x1),...,Φ(xm))的数据矩阵
Figure BDA0003231897310000192
其中第i个数据点可以由xi=Φ(x1)或X的第i列表示,其是一个N维向量。可以执行诸如PCA的降维技术,例如,针对k<<N找到与X的原始表示相关的数据的k维表示
Figure BDA0003231897310000193
可以通过固定k∈[1,N]并让X为以平均值为中心的数据矩阵(也就是说
Figure BDA0003231897310000194
),将Pk定义为一组N维秩为k的正交投影矩阵,来计算PCA。此后,可以将N维输入数据投影到最小化重建误差(例如原始数据和投影数据之间的平方L2距离之和)的k维线性子空间上。因此,PCA可以被定义为误差值的最小化的正交投影矩阵解P*,该误差值被计算为Frobenius范数F的函数,由下式给出:
Figure BDA0003231897310000195
图11示出了预处理训练数据集的计算正切空间(在图的顶部)和计算PCA特征空间(在图的底部)。在正切空间中,正值表示相对于静止/中立位置信号能量的增加,负值表示相对于静止/中立位置信号能量的减少。PCA技术的应用产生了数据集的低维表示,如图的底部所示(符号在PCA空间中是任意的)。PCA空间显示了具有最大方差且相互不相关的变量的线性组合序列。
根据一些方面,在特征空间(例如,PCA特征空间)中生成的多个数据点可以通过聚类技术被聚类,以创建每个执行的手势G1、G2和G3的分类表示。在一些实现中,可以使用K均值聚类技术来基于相似性度量将数据点划分成K个聚类。应当理解,在分类模型被训练以识别单个手势的实施例中,数据点的聚类可以不被执行,因为可以假设所有数据点对应于与单个手势相关联的单个聚类。
在一些实施例中,数据点之间的相似性可以通过识别不同数据点之间的相互关系是相互关连的、数据点如何彼此相似或不相似、以及确定比较数据点之间的相似性或规律性的度量(本文也称为相似性度量)来计算。K-均值根据质心来定义原型,质心是连续n维空间中一组点的平均值。K均值聚类技术的伪代码表示如下提供:
1.选择K个点作为初始质心。
2.重复
3.通过将所有点分配到最近的质心来形成k个聚类。
4.重新计算每个聚类的质心。
5.直到质心不变
该技术通过选择K个初始质心来启动,其中K是所需聚类的数量。每个数据点被分配到最近的质心,分配到质心的每组数据点被视为一个聚类。基于分配给聚类的数据点,聚类的质心可以被更新几次。重复步骤3(分配)和步骤4(更新),直到没有数据点改变聚类,也就是说,直到质心保持不变。
在一些实施例中,用于划分EMG样本(数据点)的相似性度量基于数据点之间的余弦距离。余弦距离是区分属于同一手势的EMG样本的合适度量的示例,因为每个手势可以由唯一的方向来表征。因此,属于同一手势的EMG样本或数据点与属于不同手势的数据点相比,彼此之间显示出相似的余弦距离。
使用余弦距离作为相似性度量,在预处理的训练数据集上执行K均值聚类技术,排除对应于静止或中立位置/手势的数据点。在执行K均值聚类技术之后,存储或记录每个聚类的质心,以确定对应于每个手势的特征空间的方向。
在特征空间中共享相同方向的聚类可以被有效地识别,部分是因为它们被表示为单个聚类。此后,可以确定K个方向或向量vk(例如,如图12所示,每个手势一个向量vk)。
vk,其中k∈[1,K]
其中K是在训练阶段识别的不同手势的数量。
因此,对于类y的给定向量u,类
Figure BDA0003231897310000214
可以由下式确定:
Figure BDA0003231897310000211
力f的
Figure BDA0003231897310000212
(即用户在执行给定手势期间施加的力)由下式给出:
Figure BDA0003231897310000213
图12示出了在将K均值聚类技术应用于与手势G1、G2和G3相关联的三个PCA主成分上的训练数据集之后的结果曲线的示例。如图所示,可以识别与三个聚类中的每一个相关联的不同的非重叠方向。每个手势跨越特征空间中唯一的方向。如果一个手势涉及一组肌肉,在保持手势同时均匀地增加或减少所施加的力会增加或减少涉及的一组肌肉中每块肌肉的收缩。因此,每个箭头表示传达所识别的手势的属性的手势向量,包括方向和力标度(例如,用户在重复手势或随后在分类阶段执行手势时可以应用的力值的范围)。在执行特定手势时施加的力水平可以由手势向量在所确定的方向上的幅度来定义。在一些实施例中,与手势相关联的手势向量表示分类模型中手势的分类表示。
图13示出了与用户在训练阶段执行的每个手势相关联的计算的力。在一些实施例中,对于三个不同手势中的每一个,计算的力可以表示为最大自主收缩(MVC)的函数。
基于经训练的分类模型识别手势的示例技术-手势识别阶段
如上所述,在计算了与用户在训练阶段期间执行的每个手势相对应的方向和平均幅度之后,可以有效地为未看到的手势向量确定手势分类。未看到的手势向量是从未分类的用户定义手势导出的向量。如下所述,当未看到的手势与在训练阶段期间学习的手势相关时,可以对它们进行分类,并且可以推断出这种未看到的手势向量的属性,包括用户在执行未看到的手势时施加的力。在一些实施例中,可以以类似于训练阶段期间手势向量的生成的方式来生成未看到手势的手势向量。
给定未看到的手势向量,可以基于未看到的手势向量和在系统的训练阶段期间产生的一组手势向量之间的相似性度量(例如,角度的余弦)来推断或分类手势。手势向量集合中的每个手势向量对应于模型在训练阶段学习的手势。例如,未看到的手势向量和学习到的手势向量之间的匹配可以通过从学习到的手势向量集合中选择相对于未看到的手势向量具有最小余弦距离的学习到的手势向量来推断。未看到的手势向量的力可以通过计算投影到所选的学习到的手势向量(例如,示出相对于未看到的手势向量的最小余弦距离的学习到的手势向量)的未看到的手势向量的相对幅度来推断。因此,未看到的手势向量的相对幅度对应于未看到的手势向量和由所选的学习到的手势向量的幅度归一化的所选的学习到手势向量之间的标量积的值。
因此,在一些情况下,可以基于它们的余弦距离对从后续用户执行的手势(在训练阶段之后)计算的未看到的手势向量进行分类。图14示出了学习到的手势向量和未看到的手势向量之间的余弦距离。当未看到的手势向量与学习到的手势向量相关时,未看到的手势向量和学习到的手势向量之间的余弦距离更接近零,而当未看到的手势向量与学习到的手势向量不相关时,余弦距离偏离零。例如,图14示出了三个不同的未看到的手势向量的余弦距离。在这种情况下,三个未看到的手势向量中的每一个匹配不同的学习到的手势G1、G2和G3。
在一些其他情况下,未看到的手势向量可以与静止或中立位置相关联,因此可以被分类为静止或中立手势。通过确定未看到的手势向量是否与用户在训练阶段处于静止或中立位置时获取的EMG信号相关,未看到的手势向量可以被分类为静止或中立手势。例如,如果未看到的手势向量和学习到的手势向量之间的距离都不低于预定阈值(例如,0.25弧度),则可以推断未看到的手势向量对应于静止或中立位置。否则,未看到的手势向量可以被分类为相对于未看到的手势向量呈现最小余弦距离的学习到的手势向量。
如上所述,可以通过计算未看到的手势向量相对于被预测为与未看到的手势向量相关联的学习到的手势向量的相对幅度来推断与未看到的手势向量相关联的力。图15示出了为三个识别的手势向量中的每一个推断的力。
图16示出了未看到的手势向量在PCA空间上的数据映射。应当理解,图12中示出的学习到的手势向量的方向保持强预测特征,即使这些特征是在训练阶段从手势的单个动作中提取的。
可穿戴系统的示例用例
用户可以穿戴具有16个神经肌肉传感器的可穿戴系统(例如,图2A所示的可穿戴设备)。用户可以执行K个手势,其中K可以等于一个或任何其他数量的手势。用户可以在某个时间段内执行手势,改变在执行每个手势时施加的力。可以通过无监督的机器学习方法训练分类模型,以识别所执行的手势并生成每个所识别的手势的分类表示。分类表示可以捕捉与所识别的手势相关联的属性(例如,手势类型、在手势执行期间施加的力的大小等)。所学习的手势和/或力可以被映射到命令/控制信号,使得每次用户执行所学习的手势时,系统可以生成控制/命令信号。应当理解,训练和使用不限于包括臂带的可穿戴系统,并且本文描述的技术可以用EMG传感器和/或不同于臂带的其他传感器布置来实现。
在一些实施例中,可穿戴系统可以被配置成当用户执行用户定义的手势时生成一个或更多个控制信号。这种控制信号可以激活/去激活计算设备、控制虚拟环境中的对象、控制增强现实环境中的对象、控制IoT设备以及其他合适的系统和/或设备。在一些情况下,单个手势可以被配置成基于用户在手势执行期间施加的力来生成不同的信号。例如,由用户使用低于对应于用户最大自主收缩(MVC)的一半的阈值的力执行的拳头手势可以导致系统产生信号以激活连接到窗帘或百叶窗系统的电动机,从而导致电动机关闭窗帘或百叶窗。类似地,如果用户执行施加高于或等于前述阈值的力的拳头手势,则系统可以生成被配置为关闭用户所在房间的灯的第二信号。作为另一个示例,手势可以被配置为控制信号,使得在手势执行期间施加的力与信号(例如,在增强或虚拟现实环境中生成的电压或其他信号)的属性成比例。作为又一示例,手势可以被配置为控制调光器或电位计来调节房间中的光强度,使其与用户在手势执行期间施加的力成比例。
可以以多种方式中的任一种来实现上述实施例。例如,可以使用硬件、软件或其组合来实现实施例。当以软件实现时,软件代码可以在任何合适的处理器或处理器集群(无论是在单个计算机中提供的,还是分布在多个计算机之间的)上执行。应当认识到,执行上述功能的任何组件或组件集群可以一般地被考虑为控制上面讨论的功能的一个或更多个控制器。可以以多种方式例如利用专用硬件或者利用使用微码或软件被编程为执行上面列举的功能的一个或更多个处理器来实现一个或更多个控制器。
在这方面,应当理解,本发明实施例的一个实现包括编码有计算机程序(即,多个指令)的至少一个非暂时性计算机可读存储介质(例如,计算机存储器、便携式存储器、光盘等),该计算机程序当在处理器上执行时,执行本发明实施例的以上所讨论的功能。计算机可读存储介质可以是可传输的,使得存储在其上的程序可以被加载到任何计算机资源上,以实现本文所讨论的本发明的各方面。此外,应当认识到,对当被执行时执行上面讨论的功能的计算机程序的提及不限于在主计算机上运行的应用程序。相反,术语“计算机程序”在本文中以一般意义使用,以指代任何类型的计算机代码(例如,软件或微代码),其可以用于对处理器进行编程以实现本发明的以上所讨论的各方面。
本发明的各个方面可以单独使用、组合使用或者以在前面描述的实施例中没有具体讨论的各种布置使用,因此它们的应用不限于在前面描述中阐述的或者在附图中示出的部件的细节和布置。例如,在一个实施例中描述的方面可以以任何方式与在其他实施例中描述的方面组合。
此外,本发明的实施例可以被实现为一种或更多种方法,已经提供了其示例。作为方法的一部分被执行的动作可以以任何合适的方式被排序。相应地,可以构造实施例,其中动作以与所示出的不同的顺序被执行,这可以包括同时执行一些动作,即使在说明性实施例中被示为顺序动作。
在权利要求中使用序数术语例如“第一”、“第二”、“第三”等来修改权利要求元素并不单独地暗示一个权利要求元素相对于另一个权利要求元素的任何优先级、优先权、或顺序或者方法的动作被执行的时间顺序。这样的术语仅用作标签以将具有特定名称的一个权利要求元素与具有相同名称的另一个元素区分开(但对于序数术语的使用)。
本文所使用的措辞和术语是为了描述的目的,且不应被视为限制性的。“包括(including)”、“包括(comprising)”、“具有(having)”、“包含(containing)”、“涉及(involving)”及其变体的使用意味着涵盖其后列出的项目和附加项目。
已经详细描述了本发明的几个实施例,本领域技术人员将容易想到各种修改和改进。这样的修改和改进意图在本发明的精神和范围内。因此,前面的描述仅仅是作为示例,且并不旨在为限制性的。本发明仅由所附权利要求及其等同物限定。

Claims (30)

1.一种装置,包括:
处理器;
多个神经肌肉传感器,其耦合到所述处理器;和
存储指令的存储器,当由所述处理器执行时,所述指令使得所述处理器:
当用户执行手势的第一单个动作时,经由所述多个神经肌肉传感器从用户接收第一多个神经肌肉信号;
基于所述第一多个神经肌肉信号训练分类模型,其中训练所述分类模型包括:
从所述第一多个神经肌肉信号导出一个或更多个值,所述一个或更多个值指示所述手势的区别特征,所述区别特征包括随着在所述手势的执行期间施加的力而线性变化的至少一个特征;和
基于从所述第一多个神经肌肉信号导出的所述一个或更多个值,在所述分类模型中生成所述手势的第一分类表示;
当用户执行所述手势的第二单个动作时,经由所述多个神经肌肉传感器从用户接收第二多个神经肌肉信号;和
基于所述分类模型和所述第二多个神经肌肉信号,确定用户执行了所述手势的所述第二单个动作。
2.根据权利要求1所述的装置,其中,使用无监督机器学习技术来生成所述分类模型中的所述手势的分类表示。
3.根据权利要求1所述的装置,其中,所述手势的分类表示包括指示在所述手势的执行期间施加的力值的力标度。
4.根据权利要求1所述的装置,其中,所述分类模型是近实时训练的。
5.根据权利要求1所述的装置,其中,所述多个神经肌肉传感器被布置在可穿戴设备上。
6.根据权利要求1所述的装置,其中,当由所述处理器执行时,所述指令还使得所述处理器:
确定指示在所述手势的第二单个动作的执行期间由用户施加的力的至少一个值。
7.根据权利要求1所述的装置,其中,确定用户执行了所述手势的第二单个动作包括:
从所述第二多个神经肌肉信号中导出一个或更多个第二值;
基于导出的一个或更多个第二值生成所述手势的第二分类表示;和
基于在所述手势的第一分类表示和所述手势的第二分类表示之间计算的相似性度量,确定用户执行了所述手势的第二单个动作。
8.根据权利要求1所述的装置,其中,当由所述处理器执行时,所述指令还使得所述处理器:
基于所述手势的分类表示,确定在所述手势的第二单个动作的执行期间由用户施加的力的估计。
9.根据权利要求1所述的装置,其中,当由所述处理器执行时,所述指令还使得所述处理器:
响应于确定指示在所述手势的第二单个动作的执行期间由用户施加的力的至少一个值超过预定力阈值,生成要传送到远离所述装置的设备的第一命令信号;和
响应于确定指示在所述手势的第二单个动作的执行期间由用户施加的力的至少一个值没有超过所述预定力阈值,生成要传送到所述设备的第二命令信号,其中所述第一命令信号不同于所述第二命令信号。
10.根据权利要求1所述的装置,其中,当由所述处理器执行时,所述指令还使得所述处理器:
响应于确定指示在所述手势的第二单个动作的执行期间由用户施加的力的至少一个值超过预定力阈值,生成要传送到远离所述装置的第一设备的命令信号;和
响应于确定指示在所述手势的第二单个动作的执行期间由用户施加的力的至少一个值没有超过所述预定力阈值,生成要传送到远离所述装置的第二设备的命令信号,其中所述第一设备不同于所述第二设备。
11.根据权利要求1所述的装置,其中,当由所述处理器执行时,所述指令还使得所述处理器:
基于所述手势的分类表示,计算值序列,来自所述值序列的每个值指示在所述手势的第二单个动作的执行期间用户施加的力,所述值序列指示在所述手势的第二单个动作的执行期间用户施加的力的变化;和
生成要传送给设备的至少一个命令信号,其中所述至少一个命令信号指示力的变化。
12.根据权利要求1所述的装置,其中,当由所述处理器执行时,所述指令还使得所述处理器:
响应于确定用户执行了所述手势的第二单个动作,生成要传送到远离所述装置的设备的命令信号,所述命令信号被配置为改变由所述设备显示的图形对象的外观。
13.根据权利要求1所述的装置,其中,当由所述处理器执行时,所述指令还使得所述处理器:
响应于确定用户执行了所述手势的第二单个动作,生成要传送到远离所述装置的设备的命令信号,所述命令信号被配置为改变由所述设备显示的图形对象的位置。
14.根据权利要求1所述的装置,其中,当由所述处理器执行时,所述指令还使得所述处理器:
生成要传送到远离所述装置的设备的命令信号,其中所述命令信号指示用户已经执行所述手势的次数。
15.一种装置,包括:
处理器;
多个神经肌肉传感器,其耦合到所述处理器;和
存储指令的存储器,当由所述处理器执行时,所述指令使得所述处理器:
基于第一多个神经肌肉信号和第二多个神经肌肉信号训练分类模型,所述第一多个神经肌肉信号和所述第二多个神经肌肉信号经由所述多个神经肌肉传感器接收,其中所述训练包括:
基于聚类技术,导出指示第一手势的区别特征的第一组值和指示第二手势的区别特征的第二组值,所述第一手势的所述区别特征包括随着在执行所述第一手势期间施加的力线性变化的至少一个特征,所述第二手势的所述区别特征包括随着在执行所述第二手势期间施加的力线性变化的至少一个特征;和
在所述分类模型中生成所述第一手势的分类表示和所述第二手势的分类表示;和
至少部分基于第三多个神经肌肉信号和所述分类模型,确定用户是执行了所述第一手势还是所述第二手势的后续动作。
16.根据权利要求15所述的装置,其中,使用无监督机器学习技术来产生所述第一手势的分类表示和所述第二手势的分类表示。
17.根据权利要求15所述的装置,其中,所述分类模型是近实时训练的。
18.根据权利要求15所述的装置,其中,所述多个神经肌肉传感器被布置在可穿戴设备中。
19.根据权利要求15所述的装置,其中,所述第一手势的分类表示包括指示在所述第一手势的执行期间施加的力值的力标度,并且所述第二手势的分类表示包括指示在所述第二手势的执行期间施加的力值的力标度。
20.根据权利要求15所述的装置,其中,当由所述处理器执行时,所述指令还使得所述处理器:
当用户执行所述第一手势的第一单个动作时,经由所述多个神经肌肉传感器从用户接收所述第一多个神经肌肉信号;和
当用户执行所述第二手势的第一单个动作时,经由所述多个神经肌肉传感器从用户接收所述第二多个神经肌肉信号。
21.根据权利要求15所述的装置,其中,当由所述处理器执行时,所述指令还使得所述处理器:
确定指示用户在执行所述第一手势的后续动作期间施加的力的值或指示用户在执行所述第二手势的后续动作期间施加的力的值。
22.根据权利要求15所述的装置,其中,当由所述处理器执行时,所述指令还使得所述处理器:
响应于确定用户执行了所述第一手势的后续动作,生成要传送到远离所述装置的设备的第一命令信号,其中所述第一命令信号包括指示在执行所述第一手势的后续动作期间施加的力的第一力值;和
响应于确定用户执行了所述第二手势的后续动作,生成要传送给所述设备的第二命令信号,其中所述第二命令信号包括指示在执行所述第二手势的后续动作期间施加的力的第二力值,其中所述第一命令信号使得设备执行与所述第二命令信号不同的操作。
23.根据权利要求15所述的装置,其中,当由所述处理器执行时,所述指令还使得所述处理器:
响应于确定用户执行了所述第一手势,生成要传送给远离所述装置的第一设备的命令信号;和
响应于确定用户执行了第二手势,生成要传送到远离所述装置的第二设备的命令信号,其中所述第一设备不同于所述第二设备。
24.根据权利要求15所述的装置,其中,当由所述处理器执行时,所述指令还使得所述处理器:
生成将被传送到远离所述装置的设备的多个信号,所述多个信号中的每个信号指示所述第一手势的后续动作,并且所述多个信号中的每个信号指示基于所述第一手势的后续动作计算的不同力值。
25.根据权利要求15所述的装置,其中,当由所述处理器执行时,所述指令还使得所述处理器:
生成将被传送到远离所述装置的设备的多个信号,所述多个信号中的每个信号指示所述第二手势的后续动作,并且所述多个信号中的每个信号指示基于所述第二手势的后续动作计算的不同力值。
26.根据权利要求15所述的装置,其中,确定用户是执行了所述第一手势还是所述第二手势的后续动作包括:
从所述第三多个神经肌肉信号中导出第三组值;
基于在所述第三组值和所述第一手势的分类表示之间计算的第一相似性度量值,确定用户执行了所述第一手势的后续动作;和
基于在所述第三组值和所述第二手势的分类表示之间计算的第二相似性度量值,确定用户执行了所述第二手势的后续动作。
27.一种方法,包括:
在可穿戴设备的处理器处,从包括在所述可穿戴设备中的多个神经肌肉传感器接收多个神经肌肉信号,所述多个神经肌肉信号对应于当用户执行手势的单个动作时从用户采样的神经肌肉信号;
经由无监督机器学习技术,基于所述手势的单个动作训练分类模型,所述分类模型包括所述手势的分类表示;
基于所述手势的分类表示,确定用户是否已经执行了所述手势的后续单个动作;
确定对应于在所述手势的后续单个动作的执行期间由用户施加的力的至少一个力值;和
响应于确定用户已经执行了所述手势的后续单个动作,生成要传送给设备的命令信号,其中所述命令信号指示所述手势和在所述手势执行期间施加的所述至少一个力值。
28.根据权利要求27所述的方法,其中,所述分类模型是近实时训练的,并且经由所述无监督机器学习技术训练所述分类模型包括:
至少基于所述多个神经肌肉信号在所述分类模型中生成所述手势的分类表示,其中所述分类表示包括建模的力标度,以确定在所述手势的单个动作的执行期间施加的一个或更多个力值。
29.根据权利要求27所述的方法,其中,所述多个神经肌肉信号包括第一多个神经肌肉信号,所述手势包括第一手势,并且所述方法还包括:
经由所述无监督机器学习技术重新训练所述分类模型,以确定用户是否执行第二手势的单个动作,其中所述第一手势不同于所述第二手势,并且所述重新训练包括:
至少基于第二多个神经肌肉信号在所述分类模型中生成所述第二手势的分类表示,所述第二手势的分类表示包括建模的力标度,以确定在所述第二手势的单个动作的执行期间施加的一个或更多个力值;和
基于所述分类模型,确定第三多个神经肌肉信号是对应于所述第一手势的单个动作还是对应于所述第二手势的单个动作。
30.根据权利要求27所述的方法,其中,所述命令信号使得所述设备使用所述至少一个力值作为操作的参数来执行所述操作。
CN201980093147.0A 2019-02-28 2019-02-28 用于手势分类和施加的力估计的无监督机器学习的方法和装置 Pending CN113557069A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2019/020065 WO2020176106A1 (en) 2019-02-28 2019-02-28 Methods and apparatus for unsupervised machine learning for classification of gestures and estimation of applied forces

Publications (1)

Publication Number Publication Date
CN113557069A true CN113557069A (zh) 2021-10-26

Family

ID=72238637

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980093147.0A Pending CN113557069A (zh) 2019-02-28 2019-02-28 用于手势分类和施加的力估计的无监督机器学习的方法和装置

Country Status (4)

Country Link
EP (1) EP3897890A4 (zh)
JP (1) JP7312838B2 (zh)
CN (1) CN113557069A (zh)
WO (1) WO2020176106A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT202100002627A1 (it) * 2021-02-05 2022-08-05 Virtual Factory S R L Apparato comprendente un guanto dotato di sensori elettromiografici per il controllo di impianti da remoto in realtà virtuale

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090327171A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Recognizing gestures from forearm emg signals
CN105022471A (zh) * 2014-04-23 2015-11-04 王建勤 基于压力传感器阵列进行手势识别的装置与方法
US20150323998A1 (en) * 2014-05-06 2015-11-12 Qualcomm Incorporated Enhanced user interface for a wearable electronic device
CN105190578A (zh) * 2013-02-22 2015-12-23 赛尔米克实验室公司 用于基于手势控制的组合肌肉活动传感器信号和惯性传感器信号的方法和设备
US20170061817A1 (en) * 2015-08-28 2017-03-02 Icuemotion, Llc System for movement skill analysis and skill augmentation and cueing
CN106512391A (zh) * 2016-11-09 2017-03-22 华南理工大学广州学院 一种双手手势识别方法及基于其的模拟驾驶系统、方法
CN106575150A (zh) * 2014-08-16 2017-04-19 谷歌公司 使用运动数据识别手势
US20170259167A1 (en) * 2016-03-14 2017-09-14 Nathan Sterling Cook Brainwave virtual reality apparatus and method
CN107735776A (zh) * 2015-06-30 2018-02-23 索尼公司 信息处理设备、信息处理方法和程序
CN108037821A (zh) * 2017-10-30 2018-05-15 上海念通智能科技有限公司 一种用于手势识别的可穿戴掌带

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07248873A (ja) * 1994-03-08 1995-09-26 Sharp Corp 筋電信号を用いた制御装置
FR2950713A1 (fr) * 2009-09-29 2011-04-01 Movea Sa Systeme et procede de reconnaissance de gestes

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090327171A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Recognizing gestures from forearm emg signals
CN105190578A (zh) * 2013-02-22 2015-12-23 赛尔米克实验室公司 用于基于手势控制的组合肌肉活动传感器信号和惯性传感器信号的方法和设备
CN105022471A (zh) * 2014-04-23 2015-11-04 王建勤 基于压力传感器阵列进行手势识别的装置与方法
US20150323998A1 (en) * 2014-05-06 2015-11-12 Qualcomm Incorporated Enhanced user interface for a wearable electronic device
CN106575150A (zh) * 2014-08-16 2017-04-19 谷歌公司 使用运动数据识别手势
CN107735776A (zh) * 2015-06-30 2018-02-23 索尼公司 信息处理设备、信息处理方法和程序
US20170061817A1 (en) * 2015-08-28 2017-03-02 Icuemotion, Llc System for movement skill analysis and skill augmentation and cueing
US20170259167A1 (en) * 2016-03-14 2017-09-14 Nathan Sterling Cook Brainwave virtual reality apparatus and method
CN109313486A (zh) * 2016-03-14 2019-02-05 内森·斯特林·库克 脑波虚拟现实设备和方法
CN106512391A (zh) * 2016-11-09 2017-03-22 华南理工大学广州学院 一种双手手势识别方法及基于其的模拟驾驶系统、方法
CN108037821A (zh) * 2017-10-30 2018-05-15 上海念通智能科技有限公司 一种用于手势识别的可穿戴掌带

Also Published As

Publication number Publication date
JP2022522402A (ja) 2022-04-19
JP7312838B2 (ja) 2023-07-21
EP3897890A4 (en) 2022-01-12
WO2020176106A1 (en) 2020-09-03
EP3897890A1 (en) 2021-10-27

Similar Documents

Publication Publication Date Title
US10905383B2 (en) Methods and apparatus for unsupervised one-shot machine learning for classification of human gestures and estimation of applied forces
US11587242B1 (en) Real-time processing of handstate representation model estimates
EP3843617B1 (en) Camera-guided interpretation of neuromuscular signals
US10817795B2 (en) Handstate reconstruction based on multiple inputs
US11361522B2 (en) User-controlled tuning of handstate representation model parameters
US11069148B2 (en) Visualization of reconstructed handstate information
CN112789577B (zh) 增强现实系统中的神经肌肉文本输入、书写和绘图
CN105411593B (zh) 用于识别步态任务的方法和设备
US11179066B2 (en) Real-time spike detection and identification
Zhang et al. Recognizing hand gestures with pressure-sensor-based motion sensing
JP7312838B2 (ja) ジェスチャの分類および加えられた力の推定のための教師なし機械学習のための方法および装置
WO2022011344A1 (en) System including a device for personalized hand gesture monitoring
Nelson ACCESS: An Adaptive Contactless Capacitive Electrostatic Sensing System

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: California, USA

Applicant after: Yuan Platform Technology Co.,Ltd.

Address before: California, USA

Applicant before: Facebook Technologies, LLC

CB02 Change of applicant information