CN115509344A - 具有添加用户定制手势的框架的基于机器学习的手势识别 - Google Patents
具有添加用户定制手势的框架的基于机器学习的手势识别 Download PDFInfo
- Publication number
- CN115509344A CN115509344A CN202210623775.9A CN202210623775A CN115509344A CN 115509344 A CN115509344 A CN 115509344A CN 202210623775 A CN202210623775 A CN 202210623775A CN 115509344 A CN115509344 A CN 115509344A
- Authority
- CN
- China
- Prior art keywords
- gesture
- user
- machine learning
- gestures
- neural network
- 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
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 44
- 238000000034 method Methods 0.000 claims abstract description 49
- 238000011524 similarity measure Methods 0.000 claims abstract description 21
- 230000009471 action Effects 0.000 claims abstract description 14
- 238000012549 training Methods 0.000 claims description 36
- 230000006870 function Effects 0.000 claims description 35
- 230000033001 locomotion Effects 0.000 claims description 25
- 238000013528 artificial neural network Methods 0.000 claims description 23
- 239000013598 vector Substances 0.000 claims description 21
- 238000013186 photoplethysmography Methods 0.000 claims description 17
- 230000004913 activation Effects 0.000 claims description 12
- 210000003414 extremity Anatomy 0.000 claims description 11
- 210000000707 wrist Anatomy 0.000 claims description 11
- 230000001133 acceleration Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 description 25
- 238000012545 processing Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 11
- 210000003811 finger Anatomy 0.000 description 9
- 238000010079 rubber tapping Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 6
- 238000000605 extraction Methods 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 4
- 238000013434 data augmentation Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 238000003786 synthesis reaction Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 210000003813 thumb Anatomy 0.000 description 3
- 230000003416 augmentation Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008602 contraction Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 210000005224 forefinger Anatomy 0.000 description 2
- 210000003205 muscle Anatomy 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002265 prevention Effects 0.000 description 2
- 231100000430 skin reaction Toxicity 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 210000001519 tissue Anatomy 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 1
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003042 antagnostic effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 210000004247 hand Anatomy 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000004118 muscle contraction Effects 0.000 description 1
- 230000003094 perturbing effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/014—Hand-worn input/output arrangements, e.g. data gloves
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/02—Detecting, measuring or recording pulse, heart rate, blood pressure or blood flow; Combined pulse/heart-rate/blood pressure determination; Evaluating a cardiovascular condition not otherwise provided for, e.g. using combinations of techniques provided for in this group with electrocardiography or electroauscultation; Heart catheters for measuring blood pressure
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/02—Detecting, measuring or recording pulse, heart rate, blood pressure or blood flow; Combined pulse/heart-rate/blood pressure determination; Evaluating a cardiovascular condition not otherwise provided for, e.g. using combinations of techniques provided for in this group with electrocardiography or electroauscultation; Heart catheters for measuring blood pressure
- A61B5/0205—Simultaneously evaluating both cardiovascular conditions and different types of body conditions, e.g. heart and respiratory condition
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/103—Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
- A61B5/11—Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
- A61B5/1123—Discriminating type of movement, e.g. walking or running
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/103—Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
- A61B5/11—Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
- A61B5/1126—Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb using a particular sensing technique
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/68—Arrangements of detecting, measuring or recording means, e.g. sensors, in relation to patient
- A61B5/6801—Arrangements of detecting, measuring or recording means, e.g. sensors, in relation to patient specially adapted to be attached to or worn on the body surface
- A61B5/6802—Sensor mounted on worn items
- A61B5/681—Wristwatch-type devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/163—Wearable computers, e.g. on a belt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/1633—Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
- G06F1/1684—Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/1633—Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
- G06F1/1684—Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
- G06F1/1694—Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/015—Input arrangements based on nervous system activity detection, e.g. brain waves [EEG] detection, electromyograms [EMG] detection, electrodermal response detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/02—Detecting, measuring or recording pulse, heart rate, blood pressure or blood flow; Combined pulse/heart-rate/blood pressure determination; Evaluating a cardiovascular condition not otherwise provided for, e.g. using combinations of techniques provided for in this group with electrocardiography or electroauscultation; Heart catheters for measuring blood pressure
- A61B5/024—Detecting, measuring or recording pulse rate or heart rate
- A61B5/02416—Detecting, measuring or recording pulse rate or heart rate using photoplethysmograph signals, e.g. generated by infrared radiation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/01—Indexing scheme relating to G06F3/01
- G06F2203/011—Emotion or mood input determined on the basis of sensed human body parameters such as pulse, heart rate or beat, temperature of skin, facial expressions, iris, voice pitch, brain activity patterns
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computer Hardware Design (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Heart & Thoracic Surgery (AREA)
- Medical Informatics (AREA)
- Surgery (AREA)
- Animal Behavior & Ethology (AREA)
- Pathology (AREA)
- Public Health (AREA)
- Veterinary Medicine (AREA)
- Physiology (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Neurology (AREA)
- Dermatology (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Neurosurgery (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Cardiology (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Dentistry (AREA)
- Pulmonology (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开涉及具有添加用户定制手势的框架的基于机器学习的手势识别。本发明公开了具有用于添加用户自定义手势的框架的机器学习(ML)手势识别的实施方案。在实施方案中,方法包括:接收指示由用户做出的手势的传感器数据,该传感器数据是从穿戴在该用户的肢体上的可穿戴设备的至少一个传感器获得的;使用机器学习模型来生成从该传感器数据提取的特征的当前编码,该机器学习模型以该特征作为输入;生成该当前编码与针对手势的一组先前生成的编码中的每个编码之间的相似度量度;基于该相似度量度生成相似度得分;基于该相似度得分预测由该用户做出的该手势;以及基于所预测的手势在该可穿戴设备或其它设备上执行动作。
Description
相关专利申请
本申请要求于2021年6月4日提交的美国临时专利申请63/197307和2021年9月1日提交的63/239905的优先权的权益,所述申请通过引用整体并入本文。
技术领域
本公开总体上涉及用于在可穿戴设备上导航用户界面和执行其它动作的手势识别。
背景技术
可穿戴计算机(诸如腕戴式智能手表)越来越受欢迎并且用于多种目的,诸如健康监测和健身应用。用户通常通过触摸显示器和/或冠部使用手/手指手势(诸如轻击、轻扫或夹紧)来与他们的智能手表交互。然而,这些手势需要用户的可用于执行手势的手是自由的。然而,存在许多场景,其中手是不自由的,诸如当用户抱着婴儿或杂货时或者在用户身体残疾的情况下。
发明内容
公开了具有用于添加用户自定义手势的框架的基于机器学习(ML)的手势识别的实施方案。
在实施方案中,一种方法包括:接收指示由用户做出的手势的传感器数据,该传感器数据是从穿戴在用户的肢体上的可穿戴设备的至少一个传感器获得的;使用机器学习模型来生成从传感器数据提取的特征的当前编码,该机器学习模型以该特征作为输入;生成当前编码与针对手势的一组先前生成的编码中的每个编码之间的相似度量度;基于相似度量度生成相似度得分;基于相似度得分预测由用户做出的手势;以及基于所预测的手势在可穿戴设备或其它设备上执行动作。
在一个实施方案中,该肢体是用户的手腕,并且传感器数据是从生物信号和至少一个运动信号的组合获得的。
在一个实施方案中,生物信号是光电容积描记(PPG)信号,并且至少一个运动信号是加速度。
在一个实施方案中,相似度量度是距离量度。
在一个实施方案中,机器学习算法是神经网络。
在一个实施方案中,相似度得分由神经网络预测。
在一个实施方案中,用于预测相似度得分的神经网络是包括sigmoid激活函数的深度神经网络。
在一个实施方案中,动作对应于导航可穿戴设备或其它设备上的用户界面。
在一个实施方案中,机器学习模型是使用针对从一组已知手势获得的手势对的样本数据训练的神经网络,其中用指示该手势来自相同类或不同类的标签来注释该对中的每个手势,并且该对中的每个手势的特征向量被单独地提取然后使用第一机器学习模型编码。
在一个实施方案中,机器学习模型在训练期间针对每个对中的每个手势使用不同的损失函数。
其他实施方案可以包括装置、计算设备和非暂态计算机可读存储介质。
本文所描述的特定实施方案提供了下列优点中的一个或多个优点。用户使用由可穿戴设备(例如,智能手表)的传感器收集的一个或多个数据样本来自由地创建用于与可穿戴设备的用户界面(UI)交互的自定义输入手势,而不用更新设备上的软件。为了添加自定义手势,用户执行自定义手势,并且由手势产生的传感器数据由可穿戴设备的运动传感器(例如,加速度计、角速率传感器)和生物信号传感器(诸如光电容积描记(PPG))捕获。自定义手势可由用户添加,从而避免在装运可穿戴设备之前进行大规模数据收集来添加自定义手势。
捕获的传感器数据被输入到编码器网络中,该编码器网络被配置为生成自定义手势的特征的第一编码(例如,特征向量)。从可穿戴设备的存储器获得至少一个其它手势的一组(例如,一个或多个)先前生成的编码。对于第一编码与该一组编码的所有成对组合计算相似度量度(例如,距离量度),并且使用经训练以预测输入手势对之间的相似度得分的ML模型来计算成对相似度得分。基于其相似度得分在所有手势对之间最相似的一对手势被选择为用户预期的手势。根据所选手势在可穿戴设备或另一设备上启动或执行与所选手势相关联的至少一个动作(例如,预定义动作)。
在以下附图和描述中阐述了该主题的一个或多个具体实施的细节。根据说明书、附图及权利要求,本主题的其他特征、方面和优点将变得显而易见。
附图说明
图1示出了根据实施方案的用于在可穿戴设备上导航UI或执行其它动作的多种类型的手势。
图2A是根据实施方案的用于预测手势的基于ML的网络的框图。
图2B是根据实施方案的用于预测手势的基于ML的网络的更详细框图。
图3是示出根据实施方案的用于添加自定义手势的训练框架的框图。
图4是示出根据实施方案的用于添加自定义手势的推断框架的框图。
图5是根据实施方案的预测自定义手势的过程的流程图。
图6是用于实现参考图1至图5所述的特征和过程的系统架构的框图。
图7A-7C是根据实施方案的用于训练手势自定义预测头的数据处理流水线的框图。
具体实施方式
图1示出了根据实施方案的用于在可穿戴设备101上导航UI或执行其它动作的多种类型的示例性手势。可穿戴设备101被示出为智能手表。其它可穿戴设备也适用于所公开的实施方案,包括在其它用户肢体上或用户的面部、头部或其中肌肉收缩和/或身体部位的移动可以由生物信号传感器和/或运动传感器捕获的任何其它身体部位上穿戴的设备。
图1中所示的示例包括但不限于将拇指和食指夹紧在一起、将手攥紧成拳头、一个或多个手指轻击在表面上以及拳头敲击在表面上。这些手势产生可由图1所示的可穿戴设备101(例如,智能手表)的生物信号传感器和/或运动传感器捕获的运动和/或力。参考图6描述示例性可穿戴设备系统架构。尽管可穿戴设备101被示出为附接到用户的手腕的智能手表,但是在其它应用中,可穿戴设备可以附接到其它肢体或肢体的部分(例如,附接到用户的臂或腿部),或者可以将多个可穿戴设备附接到多个肢体。
在一些实施方案中,生物信号传感器是PPG传感器,该PPG传感器被配置为检测用户组织的微血管床的血容量变化(例如,其中用户将设备穿戴在他/她的身上,诸如他/她的手腕上)。该PPG传感器可包括一个或多个发光二极管(LED)和光电二极管/光电探测器(PD),该一个或多个LED发射光,并且该PD检测反射光(例如,从手腕组织反射的光)。生物信号传感器不限于PPG传感器,并且可附加地或另选地对应于以下的一者或多者:脑电图(EEG)传感器、心电图(ECG)传感器、肌电图(EMG)传感器、用于测量肌肉活动/收缩的肌动图(MMG)传感器(例如,压阻式传感器)、眼动电图(EOG)传感器、皮电反应(GSR)传感器、脑磁图(MEG)传感器和/或其他被配置为测量生物信号的合适传感器。
在一些实施方案中,可穿戴设备101包括非生物信号传感器,该非生物信号传感器包括用于检测设备运动的一个或多个运动传感器。例如,该运动包括但不限于分别用于检测设备加速度和角速率的加速度计和角速率传感器(例如,陀螺仪)。如下面关于图2至图6所进一步讨论的,可穿戴设备101可以被配置为基于由生物信号传感器和/或运动传感器提供的传感器数据来预测手指手势/手势。
在如下的公开内容中,公开了基于ML的训练和推断框架,该训练和推断框架允许用户将一个或多个自定义手势添加到一组先前学习的手势,诸如例如,添加摇动手势,在该摇动手势中,用户顺时针和逆时针转动他们的手,如图1所示。
图2是根据实施方案的用于预测手势的ML模型200的框图。ML模型200被配置为从PPG 201、加速度计202和陀螺仪203接收传感器数据。其它实施方案可以包括更多或更少的传感器数据输入。在一个或多个是具体实施方式中,传感器数据输出中的一个或多个传感器数据输出可对应于其中传感器数据由相应传感器收集的时间窗口(例如,0.5秒、0.1秒或任何时间窗口)。此外,在作为输入被提供给ML模型200之前,传感器输出可被过滤和/或预处理(例如,归一化)。
传感器数据被输入到编码器网络204中,该编码器网络包括针对每个传感器模态的单独处理路径。在一个实施方案中,PPG数据路径包括PPG数据特征提取器205、自注意网络208和自注意网络211。加速度计数据路径包括加速度数据特征提取器206、自注意网络209和自注意网络212。陀螺仪数据路径包括陀螺仪数据特征提取器207、自注意网络210和自注意网络213。这些数据处理路径中的每个数据处理路径的输出在特征选择器214中组合,该特征选择器从特定传感器模态处理路径选择特定特征作为到卷积层215中的输入。
特征提取器205、206、207可以使用合适的特征提取技术来实现,包括但不限于使用卷积神经网络(CNN)用于特征提取。自注意网络208、213包括一连串卷积层和归一化层(例如,批量归一化),该一连串卷积层和归一化层被训练以学习基于上下文哪个传感器数据是最重要的(例如,自注意网络208、213在预测之前增强或减弱输入特征)。在一个实施方案中,重复自注意网络208、213两次以增加编码器网络204的深度以及编码器网络204提取更多相关特征用于手势预测头216的能力。编码器网络204的输出是被输入到手势预测头216中的特征编码(例如,特征向量),该手势预测头包括用于预测手势的完全连接层。
在一些实施方案中,手势预测头216包括完全连接层(例如,CNN层或致密层)以预测由用户执行的手势。手势可对应于由联接到可穿戴设备101的同一只手执行的单手手势,如图1所示。手势可对应于静态手势(例如,保持预定义时间段的特定类型的手/手指定位)和/或动态手势(例如,在预定义时间段内执行的基于运动的手势)。此外,手势可对应于基于手指的手势(例如,其中手指以特定方式移动和/或定位)、基于手腕的手势(例如,其中手腕以特定方式移动和/或定位)和/或基于手指的手势与基于手腕的手势的组合。在一些实施方案中,手势可对应于在水平表面和/或竖直表面诸如桌面、墙面、地面和/或另一只手上执行的手势。
在一些实施方案中,ML模型200在被部署在可穿戴设备101上之前基于传感器输出数据来在不同设备(例如,除电子设备之外的一个或多个智能手表)上进行训练。用于训练的传感器输出数据可对应于来自一个或多个生物信号传感器和/或来自一个或多个非生物信号传感器(例如,运动传感器)的输出。在一些实施方案中,ML模型200跨多个用户进行训练,该多个用户例如在穿戴设备(例如,具有生物信号和/或非生物信号传感器的另一个智能手表)时提供不同类型的手势并且确认这些手势(例如,经由训练用户界面)作为训练过程的一部分。在一些实施方案中,用户做出手势的视频用于手动或自动注释训练数据以用于预测手势。以这种方式,ML模型200被训练以跨一般用户群而非一个特定用户来预测手势。在一些实施方案中,训练数据经扩充或者领域自适应以改善训练数据的多样化,使得可以在多种环境条件下进行预测。
如前所述,期望允许用户将自定义手势添加到已有的一组学习的手势。例如,可穿戴设备101可能被部署到用户,其中对编码器网络204进行了夹紧、攥紧、轻击和敲击手势训练但没有进行摇动手势训练。一种解决方案是用针对摇动手势的训练数据来训练编码器网络204,如上所述,然后将更新后的编码器网络204部署到已安装的客户群。然而,该解决方案可能需要许多个月,并且添加新手势的决策可能基于需求最大的手势,这可能不是所有用户期望的。因此,公开了在下文参考图3至图6描述的允许用户添加自定义手势的替代解决方案。
图2B是根据实施方案的用于预测手势的另选的基于ML的网络220的框图。网络220集成了转移学习、类增量学习和少样本学习。上部区域示出了预先训练的手势识别模型的两个部分:特征嵌入提取A和推断B。下部区域示出了可以使用附加训练技术根据新手势的新输入进行训练的附加手势预测头C,如参考图7所描述。预先训练的模型和附加预测头C模型都共享相同的特征嵌入层。
网络220的原始输入是以100Hz采样的n秒(例如,1秒)6自由度(DOF)IMU信号221(用于加速度计的三个轴和用于陀螺仪的三个轴)。在一个实施方案中,输入信号221由相应的巴特沃斯(Butterworth)滤波器222(例如,0.22Hz-8Hz、8Hz-32Hz、32Hz)使用级联的二阶节预处理,从而实现针对一个通道的100×4输入223。
采用EfficientNet的概念来平衡可训练参数的数量和模型性能,如Mingxing Tan和Quoc Le.2019.EfficientNet:Rethinking Model Scaling for Convolutional NeuralNetworks.In International Conference on Machine Learning.PMLR,6105–6114中所描述的。具体地,对于每个输入通道,采用两个反向残差块(例如,图2B中的MBConv 224a、224b)来处理信号。级联225六个通道的输出,并且不止一个分离卷积层226用于捕获具有低计算代价的级联信息,然后捕获最大池化层227和展平层228。这些层被标记为预先训练的模型部分1的特征嵌入提取部分(图2B),该特征嵌入提取部分的输出是长度为120的一维向量。
后一半的预先训练的模型由五个完全连接层229的叠堆组成,五个完全连接层的大小为80、40、20、10和5。在一个实施方案中,在每两个完全连接层之间插入批量归一化层和防止过拟合层(p=0.5),以改善模型普遍性。最终层的输出对应于五个类的置信度。整个模型具有106k个参数。在一个实施方案中,交叉熵用作损失函数,并且在训练期间使用Adam优化器。
在一个实施方案中,附加手势预测头C采用两层完全连接网络。第一层230是特征处理层,并且第二层231是输出层。在一个实施方案中,第一层230包括带泄露修正线性单元(leaky ReLU)(α=0.3)作为激活函数并且具有L2内核正则化器(λ=5e-5)和防止过拟合层(p=0.5)以减少过度拟合。第二层231使用对应于最终类的预测置信度的Softmax激活。类的数量等于自定义手势的数量加上负情况的再多一个类。
因此,当用户创建他们的第一自定义手势时,附加预测头C被训练为二元分类器。当添加第二手势时,从零开始训练新的三类预测头。由于附加预测头C是轻度加权的,因此训练过程是快速的。实时地,附加预测头C与网络220一起工作以识别独特的手势,并且都对负数据是稳健的。在一个实施方案中,如果两者预测手势,则具有最高置信度的一者是最终预测。框架利用预先训练的模型的第一半部作为特征提取器并将提取的特征转移到新的手势识别任务。通过训练用于增量类的附加预测头C,现有(默认)手势的性能不受影响,从而解决遗忘原有手势的问题。然后,执行利用一系列数据处理技术的少样本质询。
在一个实施方案中,如果新的自定义手势与现有的手势相似或者由用户不一致地执行或者接近用户的日常活动,则可以向用户提供反馈(例如,通过智能手表上的文本显示或音频),请求定义另一手势。此外,如果新/自定义手势是新的并且被一致地执行,但模型被训练为具有相当程度的性能,则可以提议用户选择完成或收集再多几个样本。这种反馈可以帮助用户更好地理解过程和设计手势。
在一个实施方案中,手势自定义过程流程描述如下。用户创建自定义手势,并且智能手表或其它可穿戴设备捕获由用户执行的自定义手势的重复的多个样本(例如,3个样本)。对少量样本进行分割并预先分析以确定手势是否:(1)类似于现有的手势,(2)在样本之间不一致,(3)是日常活动执行的容易混淆的手势,或者(4)是一致的新手势。如果是(1)到(3),则要求用户定义新手势。如果是(4),则训练过程将进行计算训练的置信度得分。如果置信度得分指示结果较差,则要求用户定义新手势。如果置信度得分指示良好的置信度,则记录完成,并且新手势被添加到现有的手势。如果置信度得分指示相当程度的置信度,则告知用户该相当程度的置信度,并且询问他们是否需要执行更多样本。如果用户不执行更多样本,则记录手势终止,并且新的手势被添加到现有的手势。如果用户执行更多样本,则训练继续,计算训练的置信度得分,并且记录更多的样本或记录终止等。
在一个实施方案中,分割的数据被馈送到预先训练的模型(图2B)和附加手势预测头C(如果存在的话)中。如果任一模型预测片段的大部分是现有手势之一,则该模型指示新手势接近先前的手势。
在分割期间,检查潜在手势重复的距离矩阵,并且过滤远离重复的其余部分的那些手势。在过滤之后,如果剩余的重复数量小于预期数量(例如,3,当框架需要3个样本记录时),则用户没有一致地执行手势。
为了查明新的手势是否接近常见日常行为,利用所收集的负数据。预先训练的模型(图2B)用于提取测试组中的负数据的嵌入(以1秒的片切片),并且应用基于分层密度的噪声应用空间聚类(HDBSCAN)或其它合适的聚类算法,以自动聚类数据。HDBSCAN是DB-SCAN的变型,其可以基于簇密度来调整不同距离阈值,从而避免了设置此超参数的必要性。在一个实施方案中,将欧几里得距离用作量度,并且最小簇大小可以设置为3。HDBSCAN识别多个簇。这些簇的中心被确定并保存以用作常见日常活动的表示。在新手势数据被分割之后,在手势数据与这些簇中心之间计算距离矩阵,并且确定每个手势样本的最近中心。如果大部分手势数据接近这些中心中的至少一个中心(例如,凭经验设置为0.4的阈值),则新手势接近常见日常活动。
图3是示出根据实施方案的用于添加自定义手势的训练框架300的框图。通常,训练框架300从一组已知手势(例如,夹紧、攥紧、轻击、敲击)创建手势对(X1、X2),一组已知手势在一些实施方案中可以是存储在可穿戴设备101的存储器中的样本。针对每个手势对生成相似度标签。例如,如果X1、X2来自相同类,则标签=1,或者如果X1、X2来自不同类,则标签=0。在其它实施方案中,不同的损失函数可用于训练网络,诸如例如三重损失函数或四重损失函数。
如图3所示,框架300接收用于手势对X1、X2的输入传感器数据。传感器数据被输入到单独的编码器网络303、304中,该单独的编码器网络被训练成针对对中的每个手势生成单独的编码(例如,特征向量)。在一些实施方案中,编码器网络303、304被配置为如同图2所示的编码器网络204。在一些实施方案中,编码器网络303、304是Siamese网络。编码器网络303、304输出编码305、306,该编码在该示例中是嵌入手势X1、X2的多种特征的特征向量h(X1)、h(X2)。编码305、306被输入到相似度量度生成器307中,该相似度量度生成器生成编码305、306的相似度量度,即手势对的相似度量度。在一些实施方案中,相似度量度是测量特征向量h(X1)、h(X2)之间的距离的距离量度。在一些实施方案中,距离量度是逐元素减法。在一些实施方案中,距离量度是欧几里得距离量度。也可以使用其它距离量度,诸如Manhattan、Minkowski或Chebychev距离量度。例如,可以在设备的显示器上呈现合适的用户界面,以指示用户如何注册自定义手势。在一些实施方案中,用户可在注册步骤期间在由操作系统和/或实用性应用程序实现的设备上注册自定义手势。在注册期间,在用户做出手势的同时收集传感器数据,并且更新编码器网络以基于收集的传感器数据识别新的自定义手势。
然后将相似度量度输入到ML模型308中,该ML模型被训练成基于对的相似度量度来预测两个输入手势之间的相似度得分309。在一个实施方案中,ML模型308是具有耦合到输出相似度得分(例如,概率)的激活函数的一个或多个致密层的深度神经网络。在一些实施方案中,激活函数可以是任何合适的线性或非线性激活函数。在一些实施方案中,激活函数是逻辑激活函数,诸如sigmoid函数或softmax函数。在一些实施方案中,ML模型308从量度生成器307取走距离量度(例如,特征差异的向量)并将距离量度馈送到一个或多个完全连接的层中。ML模型308的输出是一个示出两个输入手势之间的相似度的值。如果值为1,则输入手势是相似的;如果值为零,则输入手势是不相似的。
图4是示出根据实施方案的用于添加自定义手势的推断框架400的使用的框图。在训练之后,编码303、305可存储在可穿戴设备101的存储器中。对于当用户执行当前手势(例如,摇动手势)时捕获的任何新的传感器数据样本,由编码器网络402(例如,与编码器网络204、303、304相同的编码器网络)生成当前编码404(例如,当前特征向量)。计算当前编码与存储在例如可穿戴设备101的存储器中的手势的先前生成的编码403中的每个编码之间的相似度量度405(例如,距离量度)。将针对每个手势对计算的相似度量度404输入到ML模型406中,该ML模型使用例如耦合到sigmoid或softmax激活函数的深度神经网络来预测相似度得分407。基于手势对的相似度得分与当前编码具有最高相似度(例如,最高概率)的先前存储的编码/手势确定预测的用户手势。在该示例中,摇动手势将是预测的用户手势。
图5是根据实施方案的基于传感器数据和图4所示的编码器网络402推断手势的过程500的流程图。过程500可使用参考图6所述的系统架构来实现。
过程500通过接收指示由用户做出的手势的传感器数据(501)来开始。传感器数据是从穿戴在用于做出手势的用户的肢体(例如,手腕)上的可穿戴设备(例如,加速度计、陀螺仪、PPG)的至少一个传感器获得的。例如,手势可以是由用户在穿戴她手腕上的可穿戴设备时做出的自定义手势。手势可以是例如图1所示的摇动手势。
过程500通过使用ML模型生成从传感器数据提取的特征的当前编码(502)来继续,机器学习模型以该特征作为输入。例如,神经网络可以用作ML模型。在一个实施方案中,神经网络包括一个或多个自注意网络,如参考图2描述的。
过程500通过生成当前编码与针对手势的一组先前生成的编码中的每个编码之间的相似度量度(503)来继续。例如,距离量度可以是用于测量不同手势对在n维空间中的特征向量之间的距离(例如,欧几里得距离)的相似度量度。可以针对以下特征向量对来计算相似度量度:(摇动、夹紧)、(摇动、攥紧)、(摇动、轻击)和(摇动、敲击)、(摇动、摇动)。
过程500通过基于相似度量度生成相似度得分(504)来继续。例如,深度神经网络可以用于基于相似度量度来预测相似度得分。在一个实施方案中,深度神经网络可以耦合到输出匹配概率的sigmoid激活函数。
过程500通过基于相似度得分确定由用户做出的手势(505)来继续。例如,可以选择具有最高相似度得分(例如,最高匹配概率)的手势对作为用户的手势。使用上述手势示例,手势对(摇动、摇动)将具有最高相似度得分。在一个实施方案中,如果手势对中没有一对充分接近(例如,所有相似度得分下降到最小阈值概率以下),则不发生动作,因为系统假设检测生物信号和/或运动信号不是手势。
过程500通过基于所确定的手势在可穿戴设备或另一设备上执行动作(506)来继续。例如,所确定的手势可用于导航呈现在可穿戴设备的显示器上的图形用户界面(GUI)或以其它方式与用户界面交互、执行期望的功能诸如调用或关闭应用程序或者启动和结束通信模态。
图6是用于实现参考图1至图5和图7所描述的特征和过程的系统的框图。架构600可包括存储器接口602、一个或多个硬件数据处理器、图像处理器和/或处理器604、以及外围设备接口606。存储器接口602、一个或多个处理器604和/或外围设备接口606可为独立部件,或者可集成到一个或多个集成电路中。系统架构600可被包括在任何合适的电子设备中,包括但不限于:智能手表、智能手机、健身手环和可以由用户附接、穿戴或保持的任何其它设备。
可将传感器、设备和子系统耦合到外围设备接口606以提供多个功能。例如,一个或多个运动传感器610、光传感器612和接近传感器614可联接到外围设备接口606,以促进可穿戴设备的运动感测(例如,加速度、旋转速率)、照明和接近功能。可将位置处理器615连接到外围设备接口606以提供地理定位。在一些具体实施中,位置处理器615可以是GNSS接收器,诸如全球定位系统(GPS)接收器。也可将电子磁力仪616(例如,集成电路芯片)连接到外围设备接口606以提供可用于确定磁北方向的数据。电子磁力计616可向电子罗盘应用程序提供数据。运动传感器610可包括一个或多个加速度计和/或陀螺仪,该一个或多个加速度计和/或陀螺仪被配置为确定移动的速度和方向的改变。气压计617可被配置为测量大气压力。生物信号传感器620可以是以下的一者或多者:PPG传感器、脑电图(EEG)传感器、心电图(ECG)传感器、肌电图(EMG)传感器、用于测量肌肉活动/收缩的肌动图(MMG)传感器(例如,压阻式传感器)、眼动电图(EOG)传感器、皮电反应(GSR)传感器、脑磁图(MEG)传感器和/或其他被配置为测量生物信号的合适传感器。
可通过无线通信子系统624来促进通信功能,这些无线通信子系统可包括射频(RF)接收器和发射器(或收发器)和/或光学(例如,红外)接收器和发射器。通信子系统624的具体设计与实现可取决于移动设备预期操作于的一个或多个通信网络。例如,架构600可包括设计用于通过GSM网络、GPRS网络、EDGE网络、Wi-FiTM网络以及BluetoothTM网络操作的通信子系统624。具体地讲,无线通信子系统624可包括主机协议使得移动设备可被配置为其他无线设备的基站。
可将音频子系统626耦合到扬声器628和麦克风630以方便启用语音的功能,例如语音识别、语音复制、数字记录和电话功能。音频子系统626可被配置为从用户接收语音命令。
I/O子系统640可包括触摸表面控制器642和/或其他输入控制器644。可以将触摸表面控制器642联接到触摸表面646。触摸表面646和触摸表面控制器642例如能够利用多种触敏技术中的任一个检测接触和运动或其中断,触敏技术包括但不限于电容性、电阻性、红外和表面声波技术,以及用于确定与接触表面646接触的一个或多个点的其他接近传感器阵列或其他元件。触摸表面646可包括例如触摸屏或智能手表的数字表冠。I/O子系统640可以包括触觉引擎或设备,用于响应于来自处理器604的命令提供触觉反馈(例如,振动)。在一个实施方案中,触摸表面646可以是压敏表面。
可将其他输入控制器644联接到其他输入/控制设备648,诸如一个或多个按钮、摇臂开关、拇指滚轮、红外端口和USB端口。一个或多个按钮(未示出)可包括用于扬声器628和/或麦克风630的音量控制的向上/向下按钮。触摸表面646或其他控制器644(例如,按钮)可包括或联接到指纹标识电路,以与指纹认证应用程序一起使用,从而基于用户的一个或多个指纹来认证用户。
在一个具体实施中,将按钮按下第一持续时间可解除触摸表面646的锁定;并且将按钮按下持续比第一持续时间长的第二持续时间可打开或关闭移动设备的电源。用户能够对一个或多个按钮的功能进行自定义。例如,还可以使用触摸表面646实现虚拟或软按钮。
在一些具体实施中,计算设备可呈现记录的音频文件和/或视频文件,诸如MP3、AAC和MPEG文件。在一些具体实施中,移动设备可包括MP3播放器的功能。也可使用其他输入/输出以及控制设备。
存储器接口602可联接到存储器650。存储器650可包括高速随机存取存储器和/或非易失性存储器,诸如一个或多个磁盘存储设备、一个或多个光学存储设备和/或闪存存储器(例如,NAND、NOR)。存储器650可以存储操作系统652,诸如由加利福尼亚州库比蒂诺的Apple公司开发的iOS操作系统。操作系统652可包括用于处理基础系统服务以及用于执行硬件相关任务的指令。在一些具体实施中,操作系统652可包括内核(例如,UNIX内核)。
存储器650还可存储通信指令654,该通信指令促进与一个或多个附加设备、一个或多个计算机和/或一个或多个服务器的通信,诸如例如用于实现与其他设备的有线或无线通信的软件栈的指令。存储器650可以包括:图形用户界面指令656,以方便图形用户界面处理;促进与传感器相关的处理和功能的传感器处理指令658;促进与电话相关的过程和功能的电话指令660;促进与电子消息处理相关的过程和功能的电子消息处理指令662;促进与网页浏览相关的过程和功能的网页浏览指令664;促进与媒体处理相关的过程和功能的媒体处理指令666;促进一般性与GNSS和位置相关的过程和指令的GNSS/位置指令668;以及手势识别指令670,该手势识别指令实现参考图2至图5描述的手势识别过程。存储器650进一步包括其它应用程序指令672,该其它应用程序指令包含但不限于用于对手指手势/手势响应的应用程序的指令。
上面所识别的指令和应用程序中的每一者可对应于用于执行上述一个或多个功能的指令集。这些指令不需要作为独立软件程序、进程或模块来实现。存储器650可包括附加指令或更少的指令。此外,可在硬件和/或软件中,包括在一个或多个信号处理和/或专用集成电路中,执行移动设备的各种功能。
用于自定义手势预测头的示例架构
图7是根据实施方案的训练手势自定义预测头(例如,手势预测头216)的训练数据处理流水线700的框图。因为训练具有小于例如10个样本的模型具有挑战性,所以模型可能容易地落入过度拟合问题中。也难以防止正误识,因为模型不具有足够的“正”样本(例如,手势样本)以从其学习。为了解决这个问题,采用训练数据处理流水线700来增加用户提供的以上训练数据的量。流水线700从用户记录的短数据序列(例如,3个样本)开始,并且在训练之前通过数据分割701、数据扩充702和数据合成703进行步骤。在一个实施方案中,训练过程通过对抗正则化704来增强。在下文依次讨论每个步骤。
数据分割
在实际数据处理之前,值得注意的是没有容易获得的样本。当用户记录其新自定义手势的数据时,他们可以连续相继做手势,或者遵循一些指示一次做一个手势并重复几次,这取决于交互设计。以任一方式,要求用户提供手势的确切开始和结束时间戳可能是不可取的。因此,将信号序列分割以获得数据样本。
在一个实施方案中,传感器信号(例如,加速度计、陀螺仪、PPG信号)被输入到相应的中间带通滤波器中。将峰检测算法应用于中间带通滤波器(例如,8Hz-32Hz)的输出信号,以识别执行手势的潜在时刻。在一个实施方案中,计算过滤后的加速度计和陀螺仪信号的量值的总和,并且应用绝对移动平均窗口(例如,1秒)来平滑数据。在一个实施方案中,使用峰检测方法通过比较相邻值(例如,其中距离阈值为1秒)来找到局部最大值,其中如果峰低于信号量值的总平均值,则忽略该峰。如果任何时间参考可用(例如,倒计时机制),则可以根据该参考进一步过滤峰。n秒窗口(例如,1秒)以这些潜在峰为中心,并且被输入到预先训练的模型的特征提取部分中。在一个实施方案中,计算归一化嵌入向量的距离矩阵(例如,欧几里得距离矩阵),并且基于经凭验设置的阈值(例如,0.8),移除下述峰,该峰的嵌入远离其它嵌入。以这种方式,从传感器信号分割对应于目标手势的明显的重复性的手移动时段。
一旦确定了峰,则n秒窗口(例如1.5秒)以每个最终峰为中心,以确保手势被该窗口完全覆盖。然后将数据扩充技术应用于这些窗口。
数据扩充
在数据分割之后,使用若干数据扩充技术来生成更大数量的样本。在一个实施方案中,使用三个时间系列数据扩充技术及其全部组合(例如,总共七个组合(23-1))来生成正样本:1)放大,用以模拟不同的手势速度,是从×0.9至×1随机选择的;2)缩放,用以模拟不同的手势强度,具有缩放因子~N(1,0.22),∈[0,2];以及3)时间扭曲,用以模拟手势时间变化,具有2个插值结点和扭曲随机性~N(1,0.052),∈[0,2]。
在一个实施方案中,采用三个扩充技术来生成负数据:1)通过将信号的随机部分(例如,0.5秒)遮挡零来切割;2)反向信号;以及3)通过将信号切片成片(例如,0.1秒的片)来改组并产生随机排列。这些扩充通常用于其它机器学习任务以扩充正数据;然而,在该实施方案中,该技术用于扩充负数据以确保模型仅识别有效的手势。上文描述的正增强技术也可应用于负数据以产生更多负样本。
数据合成
尽管数据扩充可以从由用户记录的数据产生具有较大方差的信号,但是这些扩充的数据可能不接近由自然人类行为引入的实际手势方差。因此,可以从原始信号和模拟自然运动方差的扩充的信号两者合成更多数据。在一个实施方案中,训练Δ-编码器,该编码器是自监督编码器-解码器模型,该自监督编码器-解码器模型可捕获属于同一手势的两个样本之间的差异(即,Δ),并且使用该差异来合成更新的手势样本。
在一个实施方案中,如下训练Δ-编码器。Δ-编码器从相同类中取走两个样本(样本输入和样本参考)作为输入,将样本输入通过几个神经网络层馈送到称为Δ-向量的非常小的嵌入(类似于典型的自动编码器),然后使用Δ-向量和样本参考来重建样本输入。直觉来自Δ-向量的大小如此小使得其聚焦在捕获样本输入与样本参考之间的差异上,然后该差异用于将样本输入与样本参考重建为参考。在Δ-编码器受过训练之后,它可以将来自新类的另一个样本作为新样本参考,并且生成相同类的具有Δ-向量的新样本。该Δ-向量可以通过经由编码器从其它类中馈送任何现有样本来获得或随机生成。
在一个实施方案中,上文先前描述的现有的四个手势(将拇指和食指夹紧在一起、将手攥紧成拳头、一个或多个手指轻击在表面上以及拳头敲击在表面上)的数据用于训练Δ-编码器。在训练期间,从相同手势和相同用户中随机抽取两个样本以确保模型捕获用户内方差而不是用户之间方差。(例如,长度为120的)特征嵌入用作Δ-编码器的输入和输出以节省计算代价。在一个实施方案中,编码器和解码器都具有大小为4096的隐藏层,并使用leaky ReLU(α=0.3)作为激活函数。在一个实施方案中,Δ-向量的大小设置为5。
使用来自上述四个手势的训练集,该模型用例如200个时期进行训练并且具有例如每30个时期学习速率上的0.5指数衰减。保存在验证集上具有最佳结果的时期。来自四个手势的测试集的Δ-向量也被计算并被保存以用于生成新样本。实时地,当自定义手势数据通过扩充阶段时,Δ-编码器用于生成包含更多自然手势方差的自定义手势(正数据和负数据两者)的额外样本。
对抗培训正则化
在数据扩充和数据合成之后,获得具有适当方差的大量数据以训练手势预测头。为了进一步改善模型的稳健性,在一些实施方案中,当学习模型时采用对抗训练正则化。对抗正则化用于训练除了原始训练数据之外的具有对抗干扰数据的模型(朝着决策边界或逆梯度下降干扰,使得训练过程变得更难)。它可以防止模型过度拟合并且更稳健地对接近边界的数据点进行分类。在一个实施方案中,来自相同用户的自定义手势数据倾向于与边界附近的现有四个手势混合。对抗正则化可以帮助增强分类性能,尤其是对于减少正误识的目的。在一个实施方案中,对抗正则化损失权重,并且反向梯度步长大小被设置为0.2。
因此,通过一连串数据分割、数据扩充、数据合成和对抗训练,可以针对可以以低正误识率准确地识别他们的自定义手势的每个新用户学习稳健的预测头。
虽然本说明书包含许多具体实施细节,但是这些具体实施细节不应被理解为是对任何发明或可能要求保护的内容的范围的限制,而应被理解为对特定于特定发明的特定实施方案的特征的描述。本说明书中在不同实施方案的上下文中描述的某些特征也可以在单个实施方案中组合地实现。相反,在单个实施方案的上下文中描述的各种特征也可单独地或者以任何合适的子组合的形式在多个实施方案中实现。此外,虽然某些特征可能在上面被描述为以某些组合来起作用并且甚至最初也这样地来要求保护,但是要求保护的组合的一个或多个特征在某些情况下可从该组合去除,并且要求保护的组合可涉及子组合或子组合的变型。
类似地,虽然操作在附图中以特定次序示出,但不应将此理解为要求以相继次序或所示的特定次序来执行此类操作,或者要求执行所有所示的操作以实现期望的结果。在某些情况中,多任务和并行处理可能是有利的。此外,上述实施方案中各个系统部件的划分不应被理解为在所有实施方式中都要求此类划分,并且应当理解,所述程序部件和系统可一般性地一起整合在单个软件产品中或者封装到多个软件产品中。
如上所述,本说明书的主题的一些方面包括来自各种来源的数据的采集和使用以改善移动设备可向用户提供的服务。本公开预期,在一些情况下,该采集到的数据可基于设备使用情况来识别特定位置或地址。此类个人信息数据可包括基于位置的数据、地址、订阅者账户标识符或其他标识信息。
本公开还设想负责此类个人信息数据的收集、分析、公开、传输、存储或其他用途的实体将遵守已确立的隐私政策和/或隐私做法。具体地,此类实体应当实行并坚持使用被公认为满足或超出对维护个人信息数据的隐私性和安全性的行业或政府要求的隐私政策和实践。例如,来自用户的个人信息应当被收集用于实体的合法且合理的用途,并且不在这些合法用途之外共享或出售。另外,此类收集应当仅在用户知情同意之后进行。另外,此类实体应采取任何所需的步骤,以保障和保护对此类个人信息数据的访问,并且确保能够访问个人信息数据的其他人遵守他们的隐私政策和程序。另外,这种实体可使其本身经受第三方评估以证明其遵守广泛接受的隐私政策和实践。
就广告递送服务而言,本公开还预期用户选择性地阻止使用或访问个人信息数据的实施方案。即本公开预期可提供硬件元件和/或软件元件,以防止或阻止对此类个人信息数据的访问。例如,就广告递送服务而言,本发明的技术可被配置为在注册服务期间允许用户选择“加入”或“退出”参与对个人信息数据的收集。
因此,虽然本公开广泛地覆盖了使用个人信息数据来实现一个或多个各种所公开的实施方案,但本公开还预期各种实施方案也可在无需访问此类个人信息数据的情况下被实现。即,本发明技术的各种实施方案不会由于缺少此类个人信息数据的全部或一部分而无法正常进行。例如,可通过基于非个人信息数据或绝对最低数量的个人信息诸如与用户相关联的设备所请求的内容、对内容递送服务可用的其他非个人信息或公开可用的信息来推断偏好,从而选择内容并将该内容递送至用户。
Claims (20)
1.一种方法,包括:
利用至少一个处理器接收指示由用户做出的手势的传感器数据,所述传感器数据是从穿戴在所述用户的肢体上的可穿戴设备的至少一个传感器获得的;
利用至少一个处理器使用机器学习模型来生成从所述传感器数据提取的特征的当前编码,所述机器学习模型以所述特征作为输入;
利用至少一个处理器生成所述当前编码与针对手势的一组先前生成的编码中的每个编码之间的相似度量度;
利用至少一个处理器基于所述相似度量度来生成相似度得分;
基于所述相似度得分预测由所述用户做出的所述手势;以及
利用至少一个处理器基于所预测的手势在所述可穿戴设备或其它设备上执行动作。
2.根据权利要求1所述的方法,其中所述肢体是所述用户的手腕,并且所述传感器数据是从生物信号和至少一个运动信号的组合获得的。
3.根据权利要求2所述的方法,其中所述生物信号是光电容积描记(PPG)信号,并且所述至少一个运动信号是加速度或角速率。
4.根据权利要求1所述的方法,其中所述相似度量度是距离量度。
5.根据权利要求1所述的方法,其中所述机器学习模型是神经网络。
6.根据权利要求1所述的方法,其中所述相似度得分是由神经网络生成的。
7.根据权利要求6所述的方法,其中所述神经网络是包括sigmoid激活函数的深度神经网络。
8.根据权利要求1所述的方法,其中所述动作对应于导航所述可穿戴设备或其他设备上的用户界面。
9.根据权利要求1所述的方法,其中所述机器学习模型是使用从一组已知手势获得的手势对的样本数据训练的神经网络,其中用指示所述手势来自相同类还是不同类的标签来注释所述对中的每个手势,并且使用所述机器学习模型来单独地编码所述对中的每个手势的特征向量。
10.根据权利要求9所述的方法,其中所述机器学习模型在训练期间针对每个对中的每个手势使用不同的损失函数。
11.一种系统,包括:
至少一个处理器;
存储器,所述存储器存储指令,所述指令当由所述至少一个处理器执行时,使得所述至少一个处理器执行包括以下的操作:
接收指示由用户做出的手势的传感器数据,所述传感器数据是从穿戴在所述用户的肢体上的可穿戴设备的至少一个传感器获得的;
使用机器学习模型来生成从所述传感器数据提取的特征的当前编码,所述机器学习模型以所述特征作为输入;
生成所述当前编码与针对手势的一组先前生成的编码中的每个编码之间的相似度量度;
基于所述相似度量度生成相似度得分;
基于所述相似度得分预测由所述用户做出的所述手势;以及
基于所预测的手势在所述可穿戴设备或其它设备上执行动作。
12.根据权利要求11所述的系统,其中所述肢体是所述用户的手腕,并且所述传感器数据是从生物信号和至少一个运动信号的组合获得的。
13.根据权利要求12所述的系统,其中所述生物信号是光电容积描记(PPG)信号,并且所述运动信号是加速度或角速率中的至少一者。
14.根据权利要求11所述的系统,其中所述相似度量度是距离量度。
15.根据权利要求11所述的系统,其中所述机器学习模型是神经网络。
16.根据权利要求11所述的系统,其中所述相似度得分是由神经网络生成的。
17.根据权利要求16所述的系统,其中所述神经网络是包括sigmoid激活函数的深度神经网络。
18.根据权利要求17所述的系统,其中所述预定动作对应于导航所述可穿戴设备或其他设备上的用户界面。
19.根据权利要求11所述的系统,其中所述机器学习模型是使用从一组已知手势获得的手势对的样本数据训练的神经网络,其中用指示所述手势来自相同类还是不同类的标签来注释所述对中的每个手势,并且使用所述机器学习模型来单独地编码所述对中的每个手势的特征向量。
20.根据权利要求19所述的系统,其中所述机器学习模型在训练期间针对每个对中的每个手势使用不同的损失函数。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163197307P | 2021-06-04 | 2021-06-04 | |
US63/197,307 | 2021-06-04 | ||
US202163239905P | 2021-09-01 | 2021-09-01 | |
US63/239,905 | 2021-09-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115509344A true CN115509344A (zh) | 2022-12-23 |
Family
ID=81940569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210623775.9A Pending CN115509344A (zh) | 2021-06-04 | 2022-06-02 | 具有添加用户定制手势的框架的基于机器学习的手势识别 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220391697A1 (zh) |
EP (1) | EP4098182A1 (zh) |
CN (1) | CN115509344A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116089798A (zh) * | 2023-02-07 | 2023-05-09 | 华东理工大学 | 手指运动的解码方法以及装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230305632A1 (en) * | 2021-12-02 | 2023-09-28 | SoftEye, Inc. | Systems, apparatus, and methods for gesture-based augmented reality, extended reality |
CN117572963B (zh) * | 2023-11-06 | 2024-08-02 | 深圳市腾进达信息技术有限公司 | 一种基于动作捕捉技术控制操作智能穿戴设备的方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3742961A4 (en) * | 2018-01-25 | 2021-03-31 | Facebook Technologies, Inc. | CALIBRATION TECHNIQUES FOR MODELING A HAND CONDITION USING NEUROMUSCULAR SIGNALS |
US10905383B2 (en) * | 2019-02-28 | 2021-02-02 | Facebook Technologies, Llc | Methods and apparatus for unsupervised one-shot machine learning for classification of human gestures and estimation of applied forces |
US11442550B2 (en) * | 2019-05-06 | 2022-09-13 | Samsung Electronics Co., Ltd. | Methods for gesture recognition and control |
EP4038477A1 (en) * | 2019-11-08 | 2022-08-10 | Apple Inc. | Machine-learning based gesture recognition using multiple sensors |
-
2022
- 2022-05-09 US US17/740,291 patent/US20220391697A1/en active Pending
- 2022-06-02 CN CN202210623775.9A patent/CN115509344A/zh active Pending
- 2022-06-03 EP EP22177137.1A patent/EP4098182A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116089798A (zh) * | 2023-02-07 | 2023-05-09 | 华东理工大学 | 手指运动的解码方法以及装置 |
Also Published As
Publication number | Publication date |
---|---|
EP4098182A1 (en) | 2022-12-07 |
US20220391697A1 (en) | 2022-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Qian et al. | Artificial intelligence internet of things for the elderly: From assisted living to health-care monitoring | |
US9720515B2 (en) | Method and apparatus for a gesture controlled interface for wearable devices | |
Song et al. | Design of a flexible wearable smart sEMG recorder integrated gradient boosting decision tree based hand gesture recognition | |
Wu et al. | Orientation independent activity/gesture recognition using wearable motion sensors | |
CN115509344A (zh) | 具有添加用户定制手势的框架的基于机器学习的手势识别 | |
Zhao et al. | Towards low-cost sign language gesture recognition leveraging wearables | |
Jeyakumar et al. | SenseHAR: a robust virtual activity sensor for smartphones and wearables | |
US11449802B2 (en) | Machine-learning based gesture recognition using multiple sensors | |
CN111149104B (zh) | 用于生物特征识别的装置、方法和计算机可读存储介质 | |
Carfi et al. | Online human gesture recognition using recurrent neural networks and wearable sensors | |
RU2601152C2 (ru) | Устройство, способ и компьютерная программа для обеспечения предоставления информации пользователю | |
CN104503593A (zh) | 控制信息确定方法和装置 | |
US20220291753A1 (en) | Spatial Gesture Recognition using Inputs from Different Devices to Control a Computing Device | |
US12118443B2 (en) | Machine-learning based gesture recognition using multiple sensors | |
US11747902B2 (en) | Machine learning configurations modeled using contextual categorical labels for biosignals | |
JP6468823B2 (ja) | 生体識別システムおよび電子機器 | |
WO2011092549A1 (en) | Method and apparatus for assigning a feature class value | |
WO2017058927A1 (en) | Gait pathology detection and monitoring system, and method | |
CN106716440A (zh) | 利用头戴式装置进行的基于超声波的面部和模式触摸感测 | |
Banjar et al. | Fall event detection using the mean absolute deviated local ternary patterns and BiLSTM | |
KR20230154380A (ko) | 행동 및 발화 패턴 기반 감성 인식 결과에 의해 사용자의 감성 상태에 적합한 헬스케어 서비스를 제공하는 시스템 및 방법 | |
KR102337217B1 (ko) | 전자 장치 및 그 동작 방법 | |
Kaghyan et al. | Human movement activity classification approaches that use wearable sensors and mobile devices | |
US20240103633A1 (en) | Hold gesture recognition using machine learning | |
Lyu et al. | Earda: Towards accurate and data-efficient earable activity sensing |
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 |