CN109416570B - 使用有限状态机和姿态语言离散值的手部姿态api - Google Patents
使用有限状态机和姿态语言离散值的手部姿态api Download PDFInfo
- Publication number
- CN109416570B CN109416570B CN201680077689.5A CN201680077689A CN109416570B CN 109416570 B CN109416570 B CN 109416570B CN 201680077689 A CN201680077689 A CN 201680077689A CN 109416570 B CN109416570 B CN 109416570B
- Authority
- CN
- China
- Prior art keywords
- hand
- motion
- gesture
- feature
- values
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/772—Determining representative reference patterns, e.g. averaging or distorting patterns; Generating dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/28—Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
-
- 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/0304—Detection arrangements using opto-electronic means
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/28—Recognition of hand or arm movements, e.g. recognition of deaf sign language
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
一种用于将计算机化的手部姿态模型与应用功能相关联的系统,包括:(a)存储多个手部姿势特征记录和手部运动特征记录的存储装置。每个手部姿势特征记录和手部运动特征记录分别由一组离散姿势值和离散运动值定义。(b)接收程序员指令的接口。(c)存储代码的存储器。(d)耦合到接口、存储装置和存储器用于执行代码的一个或多个处理器,这些代码包括:1)用于通过构建手部姿势特征记录和手部运动特征记录的独特逻辑序列来定义手部姿态的代码指令。2)用于按照代码指令将独特逻辑序列与应用功能相关联的代码指令,以用于在应用运行时期间、响应于从描绘用户的(多个)手部的移动的图像的分析检测到独特逻辑序列来发起功能的执行。
Description
背景技术
我们这个时代在计算机化环境方面的主要技术进步已经显著增加了人机交互。通常采用输入/输出设备(诸如键盘、指示设备和/或触摸界面)的传统的人机界面(HMI)可能满足了先前的需求,但随着HMI变得高度强烈,需要更自然的界面。这样的自然界面可以采用一种或多种不同的技术来向用户提供简单、直接、友好的界面,同时避免使用中介硬件元素。此外,可以将两种或更多种自然人机用户界面(NUI)方法组合在一起,以提供允许用户简单和/或直接地与计算机化设备(例如,计算机、移动设备、计算机化机器和/或计算机化家电)交互的综合解决方案。NUI的当前实现(诸如基于姿态的HMI)可能不成熟,因此对于想要将姿态HMI集成到应用中的开发者提出了重大挫折,诸如姿态识别中的不准确性和构造姿态中的复杂性。另外,当前实现通常涉及机器学习和大量的计算机视觉处理,其需要大量的处理资源,这又可以导致应用的高成本和复杂性,从而阻止了解决方案被采用和变得广泛传播。
发明内容
根据本公开的一些实施例,提供了用于通过生成离散值的姿态数据集来定义用于控制一个或多个应用的一个或多个功能的一个或多个手部姿态的系统和方法。在整个本公开中在下文中提及的手部姿态、手部姿势和/或手部运动的定义、创建、构造和/或生成分别是指模拟(多个)手部的相应手部姿态、姿势和动作的手部姿态、手部姿势和手部运动的表示的定义、创建、构造和/或生成。姿态数据集记录一个或多个手部姿势和/或手部运动,其中一个或多个手部姿势和/或手部运动中的每个由一个或多个手部特征(特性)(诸如各种手指和/或手部状态和/或运动)的离散值的特征记录定义。一个或多个手部特征的连续值可以通过量化连续值来由离散值来表示以支持用于生成手部姿态数据集的离散架构。
姿态数据集可选地定义记录(多个)手部姿势和/或(多个)手部运动之间的转换的一个或多个序列和/或有限状态机(FSM)。姿态数据集可以使用应用编程接口(API)、文本表示(诸如例如XML和/或XAML)、对描绘手部姿态的图像序列的分析、由程序员提供的代码和/或允许用户通过使用例如(多个)图像传感器、(多个)移动传感器、图形用户界面(GUI)和/或代码或人类语言来将手部姿态与应用的一个或多个应用功能相关联的任何其他人机界面来定义。一旦与手部姿态相关联,一个或多个应用功能可以由用户在运行时通过(多个)手部姿态来发起,(多个)手部姿态由成像设备捕获,被处理以标识每个手部姿态,并且启动与所标识的(多个)手部姿态相关联的一个或多个应用功能。
(多个)手部姿态可以是面向操作的用于简化标识,并且是从用作姿态语言的构建块的基本离散姿势值和/或离散运动值而构造的。通过使用离散的姿势和运动值,使姿态构造和/或姿态分类和/或识别变得简单,使程序员应用免于机器学习、复杂的数学计算、试探法、连续值阈值计算和/或计算机视觉处理。程序员可以使用先前定义的手部姿态和/或构造用于触发一个或多个应用功能的自定义手部姿态。可选地,姿态API与HMI和/或NMI的其他手段组合以支持利用两个或更多个HMI和/或NMI接口来为用户提供综合环境的多模式人机交互。
除非另外定义,否则本文中使用的所有技术和/或科学术语具有与本领域普通技术人员通常理解的相同的含义。尽管在本公开的实施例的实践或测试中可以使用与本文中描述的方法和材料类似或等同的方法和材料,但是下面描述示例性的方法和/或材料。如果发生冲突,包括定义在内的专利说明书将控制。另外,这些材料、方法和示例仅是说明性的,并非意在限制。
附图说明
本文中仅通过举例的方式参考附图来描述本公开的一些实施例。现在具体参考附图详细说明,强调的是,所示出的细节是作为示例并且出于对本公开的实施例的说明性讨论的目的。就此而言,结合附图的描述使本领域技术人员清楚如何实践本公开的实施例。
在附图中:
图1是根据本公开的一些实施例的示例性手部姿势构造的示意图;
图2是根据本公开的一些实施例的示例性捏合(pinch)手部姿势构造的示意图;
图3是根据本公开的一些实施例的示例性手部运动构造的示意图;
图4是根据本公开的一些实施例的示例性半圆手部运动构造的示意图;
图5是根据本公开的一些实施例的示例性手部姿态的构建块的框图;
图6是根据本公开的一些实施例的示例性弹弓(slingshot)手部姿态的构建块的框图;
图7是根据本公开的一些实施例的通过一系列手部运动和手部姿势来定义手部姿态的示例性有限状态机的示意图;
图8是根据本公开的一些实施例的使用FSM的示例性停靠(dock)手部姿态的示例性实现的示意图;
图9是根据本公开的一些实施例的用于定义手部姿态API以将(多个)手部姿态与应用功能相关联的示例性系统的示意图;
图10是根据本公开的一些实施例的用于定义手部姿态API以将(多个)手部姿态映射到应用功能的示例性过程的流程图;
图11是根据本公开的一些实施例的用于将应用功能与小姿态(gestlet)插件相关联的示例性系统的示意图;
图12是根据本公开的一些实施例的点赞应用功能与示例性点赞手部姿态的示例性姿态关联的示意图;
图13是根据本公开的一些实施例的公共共享应用功能与示例性共享手部姿态的示例性关联的示意图;以及
图14是根据本公开的一些实施例的私人共享应用功能与示例性共享手部姿态的示例性关联的示意图。
具体实施方式
根据本公开的一些实施例,提供了用于创建和提供手部(多个手部)姿态API以允许程序员将(多个)手部姿态映射到软件应用功能的系统和方法。(多个)手部姿态是使用姿态数据集来构造的,姿态数据集定义了每个分别表示(多个)手部姿势和/或动作的特定特征(特性)的多个离散手部姿势值和离散运动值。手部姿势和/或手部运动中的每个由特征记录表示,例如特征矢量、特征矩阵和/或特征表。手部姿势特征可以包括例如手部选择(左、右、两者和/或任何)、手掌旋转、手掌方向、手指方向(每个手指)、手指弯曲(每个手指)、手指接触(每两个或更多手个指)和/或手指相对位置(每两个或更多个手指)。
手部运动特征可以包括例如运动属性,诸如例如大小、速度、范围和/或空间中的位置和/或定义运动形状的(多个)运动脚本。运动脚本可以被定义为例如可缩放矢量图形(SVG)格式的曲线和/或由定义三个二维(2D)平面中的每个2D平面中的微移动的一个或多个预定义的离散微移动而构造的串。一个或多个手部姿势特征和/或手部运动特征的连续值可以分别通过量化连续值而由离散姿势值和离散运动值来表示以支持用于生成手部姿态数据集的离散架构。一个或多个手部姿态中的每个可以由手部姿势和/或手部运动中的一个或多个的独特逻辑序列表示,例如由独特的FSM表示。手部姿态可以是面向操作的以简化其构造、分类和/或标识。通过关注面向操作的手部姿态可以减少对过度手部建模、姿态标识和/或姿态分类的需要,因为建模、标识和/或分类可以关注面向操作的手部姿态并且避免其他手部移动和/或姿态。
预先定义可以允许用户使用姿态NMI的快速学习曲线的可选直观手部姿态,并且将其输入到姿态API、姿态库和/或代码指令中以允许程序员将多个直观手部姿态转换成用于在运行时发起应用的一个或多个应用功能的新的手部姿态。手部姿态的直观本质还可以以与手部姿态的面向操作的本质相同的方式用于手部姿态的简单识别和/或分类。这样的姿态API可以通过软件接口暴露包括多个手部姿态的姿态组(例如,姿态库)以允许程序员将一个或多个应用功能与一个或多个手部姿态相关联。
程序员的应用可以在配备有和/或附接到监测用户的(多个)手部移动的成像设备的一个或多个计算机化设备(例如,计算机、移动设备、计算机化机器和/或计算机化家电)上执行。处理捕获的用户的(多个)手部移动以标识一个或多个手部姿态。一旦标识了一个或多个手部姿态,就发起触发器以启动一个或多个相关联的应用功能。程序员可以使用姿态组中可用的一个或多个先前定义的手部姿态。手部姿态可以指代由单手和/或双手(右和左)执行的一个或多个手部姿势和/或手部动作。每只手被指派了姿势和/或运动特征的数据集的专用实例,使得每只手的一个或多个手部姿态可以被分开构造、分类和/或标识。然而为了简洁起见,下文中引用手部姿态来解决一只手和/或两只手的手部姿态。可选地,API允许程序员构造一个或多个自定义手部姿态以在他的应用中使用。一个或多个自定义手部姿态使用多个离散姿势值和/或离散运动值中的一个或多个来创建。
在处理用户的手部移动时的运行时,通过采用一个或多个图像分析过程标识和/或分类每个由独特逻辑序列(例如,FSM)定义的手部姿态来分类和/或标识一个或多个手部姿态。一个或多个图像分析可以包括例如区分性蕨集成(discriminative fern ensemble,DFE)和/或区分性树集成(discriminative tree ensemble,DTE)。在标识和/或分类一个或多个手部姿态时,触发器被设置到关联的一个或多个应用功能。
可选地,手部姿态序列(诸如FSM)中的每个转换触发可以由例如系统和/或操作系统(OS)使用的事件。如本申请的一些实施例中所描述的手部姿态构造、识别、标识和/或分类使得程序员能够在保持简单性的同时以高表现力定义NMI。手部姿态构造、识别、标识和/或分类不需要(多个)处理器密集型平台,从而显著降低了计算成本。程序员的应用在将手部姿态与应用功能相关联的过程中可以不采用计算机学习和/或计算机视觉处理,因为这些动作由手部姿态库、姿态模块和/或姿态API进行。此外,这种方法允许程序员在设计应用时具有很大的灵活性,并且允许在应用中使用(多个)手部姿态。而且,由于每个应用可以由有限数目的手部姿态构成,每个手部姿态使用独特的FSM表示,例如10、50、100和/或任何中等数目的手部姿态,因此手部姿态的统计标识可以被限制为较少数目的可能性,因此降低了手部姿态的运行时识别、标识和/或分类中涉及的计算机视觉处理和/或计算机学习的计算复杂度。
在详细解释示例性实施例中的至少一个实施例之前,应当理解,本公开在本申请中不一定限于在以下描述中给出和/或在附图和/或示例中说明的组件和/或方法的构造和布置的细节。本公开能够具有其他实施例或者以各种方式实践或执行。
现在参考附图,图1是根据本公开的一些实施例的示例性手部姿势构造的示意图。图示100将示例性手部姿势150表示构造描绘为包括一个或多个手部姿势特征110、120、130和140的手部姿势特征记录101。每个手部姿势特征可以被指派标识手部姿势150中的相关联的手部姿势的相应手部姿势特征110、120、130和/或140的状态(值)的一个或多个离散姿势值111、121、131和/或141。
由手部姿势特征记录101定义的相应手部姿势特征110、120、130和140的一个或多个离散姿势值111、121、131和/或141的组合标识随后可以通过监测用户的手部的移动来标识、识别和/或分类的手部姿势150中的特定姿势。一个或多个手部姿势特征110、120、130和/或140的连续值可以通过量化连续值由离散姿势值111、121、131和/或141来表示。手部姿势特征记录101可以被表示为例如特征矢量、特征矩阵和/或特征表。手部姿势特征记录101可以包括以下手部姿势特征中的一个或多个的值:
·手掌姿势特征——一个或多个手掌姿势特征110包括例如手部选择、手掌方向、手掌旋转和/或手部位置。手部选择可以标识哪只手是活动的,并且可以包括离散姿势值111,诸如例如右、左、两者和/或任何。手掌方向可以定义活动手部的手掌面对的方向,并且可以包括离散姿势值111,诸如例如左、右、上、下、向前和/或向后。手掌旋转可以定义活动手部的手掌的旋转状态,并且可以包括离散姿势值111,诸如例如左、右、上、下、向前和/或向后。手部位置可以标识活动手部在空间中的空间位置,并且可以包括离散姿势值111,诸如视场(FOV)的中心、FOV的右侧、FOV的左侧、FOV的顶部、FOV的底部、FOV的前方和/或FOV的后方。例如,其中FOV是监测用户的手部的移动的成像设备的可见空间。可选地,针对存在于FOV中的固定对象(例如,键盘和/或指示设备)来标识手部位置,使得手部位置可以由离散姿势值111定义,诸如例如键盘上方、键盘下方、键盘右侧和/或者键盘左侧。
·手指弯曲特征——针对每个手指而定义的一个或多个手指弯曲特征120。例如,手指弯曲特征120可以是可以包括离散姿势值121的弯曲和/或曲线状态,诸如例如由0、1和2表示的拉伸、折叠和/或打开。每个手指(拇指、食指、中指、无名指和/或小指)被指派一个或多个特定手指特征,例如{折叠}状态的{拇指,中指,无名指,小指}和{拉伸}状态的{食指}。
·手指接触条件特征——针对每个手指而定义一个或多个手指接触特征130。接触特征可以定义任何两个或更多个手指和/或触摸类型的触摸条件,并且可以包括离散姿势值131,诸如例如非触摸、指尖和/或全触摸。
·手指相对位置条件特征——针对每个手指而定义一个或多个手指相对位置特征140。每个手指相对位置条件特征140可以定义一个手指相对于另一手指的相对位置。手指相对位置特征140可以包括离散姿势值141,诸如例如一个或多个手指相对于另外的一个或多个手指位于左侧、右侧、上方、下方、向内、向外、前方和/或后方。
手部姿势150中的每个由可以是一个或多个离散姿势值111、121、131和/或141的组合和/或序列的手部姿势特征记录101中的独特的一个来定义,每个离散姿势值提供对应的手部姿势特征110、120、130和/或140的值。手部姿势特征记录101可以仅包括离散姿势值111、121、131和/或141中的一些(而不是全部),而没有包括的其他离散姿势值111、121、131和/或141是空闲的。例如,手部姿势特征记录101可以在手掌的方向未指定(例如,离散姿势值111)的同时定义手指的特定状态(例如,离散姿势值121、131和/或141)。在这种情况下,手部姿势150在手部朝向任何方向时检测到如由手部姿势特征记录101定义的手指状态时在运行时被标识、识别和/或分类。使用离散姿势值111、121、131和/或141允许简单地创建手部姿势150,因为存在可以用于创建手部姿势150的有限数目的离散姿势值111、121、131和/或141。例如,被包括在手部姿势特征110中的手掌旋转特征可以包括多达六个离散姿势值111——左、右、上、下、向前、向后。一个或多个手部姿势150的识别、标识和/或分类也被简化,因为离散姿势值111、121、131和/或141容易标识,因为不需要手部骨架建模,因此降低了计算机视觉处理的水平。
此外,程序员的应用可以完全避免使用计算机学习,因为在运行时使用可以预先训练的姿态库和/或姿态AP来标识、识别和/或分类一个或多个手部姿势150。姿态库和/或姿态API的训练可以被极大地简化,由此减少了由于手部姿势150的离散构造而导致的处理负荷,这允许每个手部姿势特征110、120、130和/或140的有限的受限数目的可能状态。手部姿势特征110、120、130和/或140的离散表示可以不仅限于离散值。一个或多个手部特征110、120、130和/或140的连
续值可以通过量化连续值分别由离散姿势值111、121、131和/或141表示。例如,手掌旋转手掌姿势特征可以使用8个离散姿势值111——0°、45°、90°、135°、180°、225°、270°和315°来定义,以量化0°到360°的整个旋转范围。
现在参考图2,图2是根据本公开的一些实施例的示例性捏合手部姿势构造的示意图。图示200描绘了包括离散姿势值(诸如离散姿势值111、121、131和/或141)的捏合姿势特征记录101A的示例性捏合手部姿势150A构造,每个离散姿势值指示对应手部姿势特征(诸如手部姿势特征110、120、130和/或140)的值。通过图像捕获201可视化的捏合手部姿势150A使用如下的多个离散姿势值111、121、131和141中的一些来创建:
·手部选择特征110A被指派离散姿势值111A以指示左手是活动的。
·手掌方向特征110B被指派离散姿势值111B以指示活动手部的手掌朝前。
·手指弯曲特征120A被指派离散姿势值121A和离散弯曲值121B以指示拇指和食指被折叠。
·手指弯曲特征120B被指派离散姿势值321C和离散姿势值121D以指示中指、无名指和小指打开。
·手指接触条件特征130A被指派离散姿势值331A以指示拇指和食指在它们的指尖处接触。
·手指相对位置特征140A被指派离散姿势值141A、离散姿势值141B和离散姿势值141C以指示食指位于拇指上方。
如上所示,捏合手部姿势150A由包括分别与手部姿势特征110A、110B、120A、120B、130A和140A相对应的离散姿势值111A、111B、121A、121B、121C、121D、131A、131B、141A、141B和141C的捏合姿势特征记录101A独特地定义。类似地,可以使用API创建附加的手部姿势并且将其与程序员指示的一个或多个应用功能相关联。
现在参考图3,图3是根据本公开的一些实施例的示例性手部运动构造的示意图。图示300将示例性手部运动350表示构造描绘为包括一个或多个手部运动特征310和320的手部运动特征记录301。每个手部运动特征310和320可以被指派标识手部运动350中的相关联的手部运动的相应手部运动特征310和/或320的状态(值)的一个或多个离散运动值311和/或321。手部运动特征记录301标识稍后可以通过监测用户的手部移动来标识、识别和/或分类的手部和/或(多个)手指的特定运动。一个或多个手部运动特征310和/或320的连续值可以通过量化连续值由离散运动值311和/或321来表示。手部运动特征记录301可以被表示为例如特征矢量、特征矩阵和/或特征表。手部运动特征记录301可以包括以下手部运动特征中的一个或多个:
·运动属性特征——一个或多个运动属性特征310可以包括例如运动大小、运动速度和/或运动位置。运动大小可以标识运动的大小(范围),并且可以包括离散运动值311,诸如例如小、正常和/或大。运动速度可以定义运动的速度,并且可以包括离散运动值311,诸如例如慢、正常、快速和/或突然。运动位置可以标识执行运动的空间位置,并且可以包括离散运动值311,诸如例如FOV的中心、FOV的右侧、FOV的左侧、FOV的顶部、FOV的底部、FOV的前部和/或FOV的后部。可选地,手部位置相对于存在于FOV中的固定对象来标识,例如键盘和/或指示设备,使得手部位置可以包括离散运动值311,诸如例如键盘上方、键盘下方、键盘的右侧和/或键盘的左侧。
·运动脚本特征——一个或多个运动脚本特征320可以定义所执行的实际运动。运动脚本值320可以包括例如运动方向、运动开始点、运动结束点和/或预定义的曲线形状。运动方向特征320可以包括离散运动值321,诸如例如向上、向下、左到右、右到左、对角线向左向上、对角线向右向上、对角线向左向下、对角线向右向下、顺时针弧线向右向上、顺时针弧线向右向下、顺时针弧线向左向上、顺时针弧线向左向下、逆时针弧线向右向上、逆时针弧线向右向下、逆时针弧线向左向上和/或逆时针弧线向左向下。运动曲线形状可以包括例如at符号(@)、无穷符号(∞)、数字符号、字母符号等。可选地,可以创建附加的一个或多个曲线形状作为预定义的曲线,例如复选标记、帐单请求等,因为期望为应用功能指派直观且公开已知的手部姿态,例如用于撰写和/或发送电子邮件的at符号、用于复选操作的复选标记和/或用于请求帐单的涂鸦。一个或多个曲线形状可以可选地使用例如SVG格式的徒手画工具来创建。每个运动脚本特征320被定义用于2D平面,然而每个运动脚本特征320可以被转置以描绘另一2D平面,例如X-Y、X-Z和/或Y-Z。可选地,运动脚本特征320使用3D图像数据表示格式来定义三维(3D)运动和/或曲线。
手部运动350中的每个由可以是一个或多个离散运动值311和/或321的组合和/或序列的手部运动特征记录301中的独特的一个来定义,每个离散运动值311和/或321提供对应的手部运动特征310和/或320的值。使用离散运动值321和/或321允许简单地创建手部运动350,因为存在可以用于创建手部运动350的有限数目的离散运动值311和/或321。例如,被包括在手部运动属性特征310中的运动速度特征可以包括多达四个离散运动值311——慢、正常、快速和突然。
一个或多个手部运动350的识别、标识和/或分类也被简化,因为离散运动值311和/或321容易标识,因为不需要手部骨架建模,因此降低了计算机视觉处理的水平。手部运动特征310和/或320的离散表示可以不仅限于离散值,一个或多个手部运动特征310和/或320的连续值可以通过量化连续值分别由离散运动值311和/或321表示。例如,运动速度运动属性特征可以使用6个离散运动值311——5m/s(米/秒)、10m/s、15m/s、20m/s、25m/s和30m/s来定义,以量化0m/s至30m/s的正常人类手部的运动速度。此外,完全避免了计算机学习,因为一个或多个手部运动150不是预先学习的,而是由于它们的离散构造而能够实时地标识。
现在参考图4,图4是根据本公开的一些实施例的示例性半圆手部运动构造的示意图。图示400描绘了包括离散运动值(诸如离散运动值311和/或321)的左到右上部半圆手部运动特征记录301A的示例性左到右上部半圆手部运动350A构造,每个离散运动值311和/或321指示对应手部运动特征(诸如手部运动特征310和/或320)。通过图像捕获401A、401B和401C可视化的左到右上部半圆手部运动350A使用如下的多个离散运动值311和321中的一些来创建:
·运动大小特征310A被指派离散运动值311A以指示运动大小正常。
·运动速度特征310B被指派离散运动值311B以指示运动速度正常。
·运动位置特征310C被指派离散运动值311C以指示运动在键盘上方执行。
·第一运动脚本特征320A被指派离散运动值321A以指示由图像捕获401B呈现的顺时针弧线向左向上的运动形状。
·第二运动脚本特征320B被指派离散运动值321B以指示由图像捕获401C呈现的顺时针弧线向左向下的运动形状。
如上所示,左到右上部半圆手部运动350A由包括分别与手部运动特征310A、310B、310C、320A和320B相对应的离散运动值311A、311B、311C、321A和321B的左到右上部半圆手部运动特征记录301A独特地定义。类似地,可以使用API创建附加的手部和/或(多个)手指运动并且将其与程序员指示的一个或多个应用功能相关联。
现在参考图5,图5是根据本公开的一些实施例的示例性手部姿态的构建块的框图。图示500描绘了示例性手部姿态(表示)550的若干构造方案。手部姿态550可以通过一个或多个可能的构造来创建,例如:
(a)手部姿态550可以包括手部姿势,诸如手部姿势150。
(b)手部姿态550可以是两个手部姿势150的组合和/或序列。
(c)手部姿态550可以是手部姿势150和手部运动(诸如手部运动350)的组合和/或序列。
(d)(第一)手部姿态550可以是第二手部姿态550和手部姿势150之一的组合和/或序列。第二手部姿态550可以是与第一手部姿态550相同的手部姿态,或者是不同于手部姿态550的手部姿态。
(e)(第一)手部姿态550可以是第二手部姿态550和手部运动350之一的组合和/或序列。第二手部姿态550可以是与第一手部姿态550相同的手部姿态,或者是不同于手部姿态550的手部姿态。
手部姿态550可以通过上面的构造(d)和/或(e)的多次迭代来创建。每个手部姿态550被构造为由手部姿态序列501表示的独特的组合和/或序列,手部姿态序列501包括手部姿势150、手部运动350和/或手部姿态550中的一个或多个。每个手部姿态550以空闲状态510开始和结束,空闲状态510是标识手部姿态550的独特手部姿态序列501的开始和/或结束的虚拟状态。
现在参考图6,图6是根据本公开的一些实施例的示例性弹弓手部姿态的构建块的框图。图示600描绘了来自诸如手部姿势150等多个手部姿势和诸如手部运动350等手部运动的示例性弹弓手部姿态550A构造。通过图像捕获601A、601B、601C和601D被可视化的弹弓手部姿态550A由诸如虚拟空闲状态510等空闲状态、无捏合手部姿势150B、诸如捏合手部姿势150A等捏合手部姿势、缩回手部运动350B和诸如虚拟空闲状态等另一空闲状态的组合和/或序列构造。弹弓手部姿态550A的序列如下:
·虚拟空闲状态510定义弹弓手部姿态550A的序列的开始状态和/或点。
·由手部姿势特征记录101B定义的无捏合手部姿势150B表示如图像捕获601A中描绘的无捏合动作。
·由手部姿势特征记录101A定义的捏合手部姿势150A,其中捏合动作被标识,如图像捕获601B中所描绘的。
·由手部运动特征记录301B定义的回缩手部运动350A,其中手部向后移动,如图像捕获601C中所描绘的。
·由手部姿势特征记录101B定义的无捏合手部姿势150B表示捏合姿势被释放并且被标识为无捏合动作,如图像捕获601D中所描绘的。
·虚拟空闲状态510定义弹弓手部姿态550A的序列的结束状态和/或点。
如上所述的弹弓手部姿态550A的序列通过与弹弓手部姿态相关联的独特的弹弓手部姿态序列501A来表示。对于手部姿势150和/或手部运动350中的任何一个,只有相关的离散姿势和/或运动值可以被定义,如明显的,例如,无捏合手部姿势特征记录101B,其中针对空闲姿势150B定义了手部选择离散姿势值111(左)、手指弯曲离散姿势值121(拉伸)和手指接触离散姿势值131(未触摸)。与无捏合手部姿势150B与捏合手部姿势150A之间的区分无关的其他离散姿势值是空闲的并且未被指定。仅指定相关的离散姿势和/或运动值允许由不同的一个或多个用户在运行时执行的手部姿势150和/或手部运动350的关节的几个自由度。这表示一个或多个用户中的每个可以稍微不同地执行手部姿势150和/或手部运动350,然而它们仍然被识别、标识和/或分类为相同。
程序员可以通过预定义的手部姿态API使用姿态库将一个或多个应用功能与诸如手部姿态550等一个或多个手部姿态相关联。手部姿态550可以是预定义的并且在姿态库中和/或单独的库中可用。可选地,程序员可以使用在构造图550中描述的离散姿势值和/或离散运动值中的一个或多个来创建自定义手部姿态550。此外,程序员可以创建一个或多个自定义手部姿势(诸如手部姿势150)和/或手部运动(诸如手部运动350)。
每个手部姿态550的独特组合和/或序列可以由独特的FSM表示,即,FSM包括手部姿势150和/或手部运动350中的一个或多个以表示手部姿态550。可选地,FSM中的任何转换可以触发可以被记录并且用于多个用途中的一个或多个的事件,例如,相应的应用(包括相关联的一个或多个应用功能的应用)的使用、其他一个或多个应用的使用和/或控制执行环境的OS的使用。
现在参考图7,图7是根据本公开的一些实施例的通过一系列手部运动和手部姿势来定义手部姿态的有限状态机(FSM)的示意图。图示700描绘了可以表示诸如手部姿态序列501等手部姿态序列的FSM 701。FSM 701以开始点710开始,开始点710可以是指示FSM701的空闲状态的虚拟状态,并且可以包括一个或多个状态702A、702B、702C至702N。第一状态702A是作为表示诸如手部姿态550等手部姿态的序列的开始的手部姿态。后续状态702B、702C至702N中的每个可以是诸如手部姿势150等手部姿势或者诸如手部运动350等手部运动。FSM 701以诸如结束点510等FSM结束点结束。当将一个或多个手部姿态550与一个或多个应用功能相关联时,相关联的应用功能可以在检测到对应的FSM 701时(如结束点720处标识的,以指示多个手部姿态550中的手部姿态550D)触发和/或被启动(执行)。开始点710和/或结束点720可以由诸如空闲状态510等虚拟空闲状态来定义。可选地,可以在检测到FSM 701的子集时(诸如例如在点730处,点730指示作为手部姿态550C的部分序列的另一手部姿态550D)触发一个或多个动作和/或应用功能。
可选地,在运行时期间监测用户的手部移动的同时,可以由程序员定义沿着FSM701的序列的一个或多个点,例如中间点720A,用于记录用户交互以用于一个或多个用途,例如将来的使用、相应应用(包括相关联的一个或多个应用功能的应用)的使用、其他一个或多个应用的使用和/或控制执行环境的操作系统的使用。可选地,FSM701可以通过以下方式被构造为表示诸如手部姿态550等复杂手部姿态701:包括状态702A至702N中的一个或多个的重复,分成若干并行和/或顺序路径,和/或组合两个或更多个FSM 701和/或其部分。针对手部姿态序列501实现FSM 701允许程序员在将一个或多个应用功能与一个或多个手部姿态550相关联时具有高灵活性和易用性。FSM 701可以表示手部姿态550中的特定手部姿态,FSM 701的一个或多个子集可以表示不同的一个或多个手部姿态550,和/或一个或多个FSM 701状态的组合可以表示另外的一个或多个手部姿态550。
如程序员所期望的,子集、组合和或替代FSM 701序列可以与不同的一个或多个应用功能(和/或动作)相关联和/或与相同的一个或多个应用功能相关联。可选地,一个或多个替代FSM 701可以与应用功能和/或动作中的一个相关联。可选地,FSM 701中的每个转变触发可以由系统和/或OS用于多个用途中的一个或多个用途的事件,例如记录用户移动、与其他应用共享手部姿态信息、发起一个或多个动作、系统调用和/或(多个)应用功能。
使用FSM 701来表示每个与手部姿态550中的一个相关的多个手部姿态序列501中的每个显著地简化了用于在应用的运行时执行期间识别、标识和/或分类一个或多个手部姿态550以便触发与一个或多个手部姿态550相关联的一个或多个应用功能的分析过程。识别、标识和/或分类被简化,因为FSM 701包括有限数目的状态,每个状态由可以容易地被标识的手部姿势特征记录和/或手部运动特征记录(分别为诸如手部姿势特征记录101和手部运动特征记录301)构造,因为不需要密集的手部骨架建模,因此降低了计算机视觉处理的水平。此外,程序员的应用完全避免了使用计算机学习和/或手部骨架建模(使用3D矢量处理),因为其通过可以提供姿态标识、识别和/或分类服务以向应用提供最终产品(即,手部姿态550)的姿态库和/或姿态API来实现。
现在参考图8,图8是根据本公开的一些实施例的使用FSM的示例性停靠手部姿态的示例性实现的示意图。图示800描绘了3个停靠手部姿态关联场景,其中诸如FSM 701等FSM表示与一个或多个应用功能和/或动作相关联的一个或多个手部姿态,诸如手部姿态550。如在801所示,抓取手部姿态550C由FSM 701A表示,FSM 701A是两个手部姿势的序列——扩展手部姿势150C和第一手部姿势150D。抓取手部姿态550C以诸如空闲状态510等虚拟空闲状态开始和结束,并且可以与应用功能和/或动作相关联。如在802所示,多个停靠手部姿态——向上停靠手部姿势550D、向下停靠姿势550E、向右停靠手部姿势550F和向左停靠手部姿势550G每个由相应的FSM 701B、701C、701D和701E表示。每个停靠手部姿态以诸如空闲状态510等虚拟空闲状态开始和结束。向上停靠手部姿态550D包括抓取手部姿态550C,其之后是向上移动手部运动350C并且以扩展手部姿势150C结束。
向下停靠手部姿态550E包括抓取手部姿态550C,其之后是向下移动手部运动350D并且以扩展手部姿势150C结束。向右停靠手部姿态550F包括抓取手部姿态550C,其之后是右侧移动手部运动350E并且以扩展手部姿势150C结束。向左停靠手部姿态550G包括抓取手部姿态550C,其之后是左侧移动手部运动350F并且以扩展手部姿势150C结束。在802中呈现的关联场景描述了若干不同的姿态结束点,诸如用于每个停靠手部姿态、向上停靠手部姿势550D、向下停靠手部姿势550E、向右停靠手部姿势550F和向左停靠手部姿势550G。每个停靠手部姿态550D至550G可以与不同的应用功能和/或动作相关联。
在运行时执行期间,在监测用户的(多个)手部的移动的同时,例如通过FSM 701B的分类的向上停靠姿态550D的检测可以触发在相关联的FSM 710B的结束点510处的应用功能的执行。类似地,其他停靠手部姿态550E、550F和550G中的每个的检测可以分别在标识的FSM 710C、701D和701E的结束点510处触发相关联的应用功能。然而,如关联场景803所示,所有停靠手部姿态550D至550G可以在单个FSM结束点510处完成,以便与单个应用功能和/或动作相关联。在运行时期间,表示停靠手部姿态550H的FSM 701F的特定序列忽略抓取手部姿态550C之后的手部运动类型,只要检测到向上移动手部运动350C、向下移动手部运动350D、向右移动手部运动350E和/或向左移动手部运动350F。可选地,程序员例如可以使用向上移动350C、向下移动350D、向右移动350E和/或向左移动350F手部运动数据来记录用户的交互,记录运动数据以用于将来使用,与其他一个或多个应用共享运动数据,和/或触发与表示停靠手部姿态550H的FSM 701F的部分子集(序列)相关联的其他应用功能(和/或动作)。
从示例性关联场景801、802和/或803中很清楚,程序员被允许在将一个或多个应用功能和/或动作与任何手部姿态550相关联时具有高度的灵活性,并且可以根据他的期望选择一个或多个关联方法,例如,手部姿态550中的单个手部姿态、两个或更多个手部姿态550的组合、一个或更多个手部姿态550的一部分集合、和/或一个或多个手部姿态550的替代序列。
现在参考图9,图9是根据本公开的一些实施例的用于定义手部姿态API以将手部姿态映射到应用功能的示例性系统的示意图。示例性系统900包括用于与程序员950交互的接口单元910、用于基于由程序员950提供的代码指令将诸如手部姿态550等一个或多个手部姿态与一个或多个应用功能相关联的一个或多个硬件处理器920、以及用于存储代码指令和具有定义离散姿势和离散运动值940和/或手部姿态550的记录的数据集的存储介质930。
可选地,接口单元910可以是例如集成开发环境(IDE)工具、图形用户界面(GUI)、捕获程序员950的视觉指示的成像设备、和/或允许程序员950表达一个或多个手部姿势(诸如手部姿势150)、手部运动(诸如手部运动350)和/或手部姿态550的人的手部的机械模型。
程序员950创建包括一个或多个应用功能并且定义与一个或多个应用功能相关联的一个或多个手部姿态550的软件应用。手部姿态550可以由诸如FSM 701等FSM表示,FSM701由手部姿势150和/或手部运动350中的一个或多个构造。一个或多个手部运动550可以是预定义的并且可用于程序员以与一个或多个应用功能相关联,和/或一个或多个手部姿态550可以由程序员950创建。处理器920处理通过接口单元910从程序员950接收的输入并且执行一个或多个应用功能与手部姿态550之间的实际关联。一个或多个应用功能与手部姿态550之间的关联通过例如手部姿态API、GUI、web服务等来实现。例如,一组预定义的手部姿态550可以通过采用手部姿态API的姿态库可用于IDE工具,使得IDE工具可以允许程序员950添加API调用,API调用在目标计算机化设备上的执行之前在链接时间链接到姿态库。目标计算机化设备可以是例如基于处理器的设备(诸如膝上型计算机、台式计算机、服务器)、移动设备(诸如平板计算机、智能电话或可穿戴设备(包括智能手表或智能眼镜))、计算机化机器和/或任何计算机化电器(例如,家用电器)。
可选地,姿态库和姿态API可用于运行时链接作为插件模块,插件模块可以在目标计算机化设备上的执行时实时地在运行时期间动态地链接到软件应用。此外,可选地,运行时姿态插件允许使用手部姿态550来发起软件应用的动作和/或应用功能而不改变和/或修改软件应用。插件可以标识手部姿态550中的一个或多个,并且取决于系统的上下文,例如,活动应用、活动网站和/或活动工具栏,系统可以发起与标识的手部姿态550相关联的一个或多个应用功能。
可选地,程序员950创建手部姿态550中的一个或多个自定义手部姿态以与一个或多个应用功能相关联。一个或多个自定义手部姿态可以使用IDE工具、自定义姿态构建器、基于web的服务等来创建。
现在参考图10,图10示出了根据本公开的一些实施例的用于定义手部姿态API以将(多个)手部姿态与应用功能相关联的示例性过程的流程图。
示例性过程1000在诸如示例性系统900等系统中执行。如1020所示,示例性过程1000开始于使用例如IDE工具和/或用于与姿态库的姿态API交互的GUI从程序员(诸如程序员950)接收一个或多个用户指令。一个或多个指令指示要与一个或多个手部姿态(诸如手部姿态550)相关联的一个或多个应用功能。如1020所示,通过创建包含一个或多个手部姿势(诸如手部姿势150)和/或手部运动(诸如手部运动350)的独特逻辑序列(诸如手部姿态序列501)来构造一个或多个手部姿态550。每个手部姿势150由诸如手部姿势特征记录101等手部姿势特征记录来定义,并且每个手部运动350由诸如手部运动特征记录301等手部运动特征记录来定义。每个手部姿势特征记录101包括一个或多个离散姿势值,诸如离散姿势值111、121、131和/或141,每个离散姿势值指示诸如手部姿势特征110、120、130和/或140等对应手部姿势特征的值。每个手部运动特征记录301包括一个或多个离散运动值,诸如离散运动值311和321,每个离散运动值指示诸如手部运动特征310和/或320等对应手部运动特征的值。一个或多个离散姿势值111、121、131和/或141和/或离散运动值311和/或321从诸如数据集940等数据集中可获取。一个或多个手部姿态550可以根据程序员950的指令创建,和/或可以预定义并且可用于程序员950作为包括在例如数据集940中和/或在位于本地和/或一个或多个远程位置处的一个或多个存储介质设备中可用的其他数据库和/或库中的预定义的手部姿态550。如1030所示,在创建所需要的一个或多个手部姿态550之后,将它们与程序员950指示的一个或多个应用功能相关联。一个或多个手部姿态550的构造和/或关联使用采用姿态API的姿态库来实现。
根据本公开的一些实施例,提供了用于通过运行时插件来提供到手部姿态功能的连接的系统和方法。运行时插件允许现有的应用实时连接到手部姿态数据集,即,通过姿态API而无需预先与姿态库的链接。诸如程序员950等程序员可以通过动态地链接到计算机化设备上的执行环境中可用的运行时插件来在运行时期间将软件应用链接到诸如手部姿态550等一个或多个手部姿态。运行时插件(例如,动态链接库(DLL))支持代码和/或数据在应用之间的实时共享,从而允许程序员950使用姿态API将一个或多个应用功能与在DLL中可用的一个或多个手部姿态550相关联作为一个或多个小姿态。
小姿态是与应用功能相关联的手部姿态,其中每个小姿态可以由三个参数定义——应用上下文、多个手部姿态550中的关联手部姿态、以及在应用的运行时执行期间在检测到由用户执行的关联姿态时要被触发的动作。上下文定义在姿态550被标识时哪个应用是活动的。关联姿态定义选择哪个姿态550与一个或多个应用功能和/或动作中的每个相关联。应用功能和/或动作定义在检测到关联手部姿态时需要执行的操作。将上下文包括在小姿态中允许两个或更多个不同的应用使用一个或多个公共和/或不同的小姿态。当特定应用是活动应用时,与特定应用的应用功能之一相关联的小姿态可以触发特定应用的关联应用功能。
在相同的小姿态与两个或更多个不同应用的应用功能相关联的情况下,小姿态触发当前是活动应用的应用的应用功能,而其他不活动应用不受影响。可选地,在应用中不需要代码改变和/或修改,以便运行时插件在检测到一个或多个手部姿态550时发起一个或多个应用功能。运行时插件可以使用应用中已经可用的一个或多个接口来发起一个或多个应用功能。
应用基本上不知道在标识一个或多个手部姿态550之后通过应用已经可用的接口之一接收的用户输入源自运行时插件。例如,在特定应用中,特定应用功能是由诸如例如CTRL+L等热键发起的。可以在特定应用功能与手部姿态550中的特定手部姿态之间进行关联。在运行时期间,假定上下文将应用标识为活动应用并且特定手部姿态550被标识,则发起特定应用功能,就好像CTRL+L热键被按下一样。这提供了一个主要优点,因为程序员的应用中没有用于使用一个或多个手部姿态550发起一个或多个应用功能的代码改变。
现在参考图11,图11是根据本公开的一些实施例的用于将应用功能与小姿态插件相关联的示例性系统的示意图。系统1100包括包含诸如处理器920等一个或多个处理器的计算机化设备,例如计算机、移动设备、计算机化机器和/或计算机化家电。处理器920配备有和/或附接到监测用户1150的(多个)手部移动的成像单元1110,例如一个或多个相机、红外相机、深度相机和/或立体相机。(多个)手部移动由处理器920分析以识别、标识和/或分类一个或多个手部姿态,诸如手部姿态550。处理器920的运行时执行环境(例如,操作系统)托管一个或多个软件应用1130:APP_1 1130A、APP_2 1130B至APP_N 1130N。小姿态插件1120也可以在运行时执行环境中可用。应用1130A至1130N中的一个或多个可以使用姿态API 1121动态地连接到小姿态插件1120,以便将小姿态插件1120中可用的一个或多个小姿态与应用1130A至1130N中的每个应用的一个或多个应用功能相关联。
在给定时间的一个或多个应用1130中的活动应用可以提供其中小姿态插件1120起作用的上下文。用户1150的手部移动由成像单元1110持续监测,并且在检测到与来自应用1130A至1130N的活动应用的一个或多个应用功能相关联的一个或多个手部姿态550的情况下,活动应用被通知并且活动应用的关联的一个或多个应用功能被触发和启动。替代地,手部姿态550中的一个或多个手部姿态与可以在标识出相关联的一个或多个手部姿态550时触发的一个或多个动作相关联。
可选地,小姿态插件1120使用应用中已经可用的一个或多个接口独立地发起一个或多个应用功能,而不对应用进行(多个)代码改变。在检测到与活动应用的一个或多个应用功能相关联的一个或多个手部姿态550时,小姿态插件1120通过一个或多个可用应用接口(例如键盘输入、指示设备输入和/或触摸屏输入)发起一个或多个关联应用功能。
小姿态插件可以显著地减少工作量和编码或者不需要代码改变以用于使用一个或多个手部姿态550来触发一个或多个应用功能。另外,小姿态库可以允许一个或多个现有应用将一个或多个应用功能连接到关联的一个或多个手部姿态,从而避免了需要重新设计应用。
通过示例提供本公开的一些实施例。
第一示例可以将可以通过一个或多个手部姿态550和/或通过诸如小姿态插件1120等小姿态运行时插件实现的点赞手部姿态(拇指向上)与用于应用和/或网页的点赞应用功能相关联。关联基于上下文,即,当是活动应用和/或web浏览器是活动应用并且网页是活动页面时,触发点赞应用功能发生。一旦被触发,点赞应用功能将向上的当前是活动发布的发布授予点赞。
现在参考图12,图12是根据本公开的一些实施例的点赞应用功能与示例性点赞手部姿态的示例性姿态关联的示意图。图示1200呈现了显示器的屏幕快照1201,例如膝上型计算机屏幕、台式计算机显示器、连接到台式计算机的投影仪、平板计算机屏幕和/或移动设备屏幕。快照1201示出了桌面,桌面示出了在操作系统执行环境中执行的web浏览器,在操作系统执行环境中执行诸如小姿态插件1120等小姿态插件。在web浏览器中打开的网页之一是页面1210,其当前是web浏览器中的活动页面。
诸如成像设备1110等成像设备持续地监测用户(诸如用户1150)的(多个)手部的移动,并且监测的移动由诸如处理器920等一个或多个处理器来处理。诸如程序员950等程序员可以表达例如如截图1230所描绘的点赞手部姿态。表达的点赞手部姿态由成像1110捕获,成像1110将表达的点赞手部姿态1230的一个或多个捕获的图像传送到诸如处理器920等一个或多个处理器用于处理。姿态插件1120将表达的点赞手部姿态1230分类为点赞手部姿态550I。程序员950将点赞手部姿态550I与在活动网页上的活动发布授予“点赞”相关联。在运行时执行期间,应用上下文1240A可用于来自操作系统环境的小姿态插件1120,指示当前活动应用是以页面1210作为活动页面的web浏览器。应用上下文1240A还可以指示发布1220当前是网页1210上的活动发布。
如果在示例性点赞手部姿态550I与用于网页1210的web浏览器的点赞应用功能1320A之间设置关联,则点赞应用功能1320A将被触发并且“点赞”将被授予活动发布1220。小姿态插件1120利用使用web浏览器访问的网页1210可用的应用接口,以使用“L”热键向活动发布授予“点赞”。姿态插件1120使用与键盘热键“L”相同的应用接口来在检测到点赞手部姿态550I时授予“点赞”。如图所示,点赞手部姿态550I由FSM701G表示,FSM 701G由点赞手部姿势150E构造并且以FSM结束点510I结束。点赞手部姿势150E由一个或多个离散姿势值构造,诸如离散姿势值111、121、131和/或141,每个离散姿势值指示诸如姿势特征110、120、130和/或140等相应手部姿势特征的值。
第二示例可以将可以通过一个或多个手部姿态550和/或通过诸如小姿态插件1120等小姿态运行时插件实现的共享手部姿态与用于应用和/或网页的共享应用功能相关联。关联基于上下文,即,当是活动应用和/或web浏览器是活动应用并且网页是活动页面时,触发共享应用功能发生。一旦被触发,共享应用功能将共享上的当前是活动发布的发布。
现在参考图13,图13是根据本公开的一些实施例的公共共享应用功能与示例性共享手部姿态的示例性关联的示意图。图示1300呈现了显示器的屏幕快照1301,例如膝上型计算机屏幕、台式计算机显示器、连接到台式计算机的投影仪、平板计算机屏幕和/或移动设备屏幕。快照1301示出了桌面,桌面示出了在操作系统执行环境中执行的web浏览器,在操作系统执行环境中执行诸如小姿态插件1120等小姿态插件。在web浏览器中打开的网页之一是页面,诸如页面1210,其当前是web浏览器中的活动页面。
诸如成像设备1110等成像设备持续地监测用户(诸如用户1150)的(多个)手部的移动,并且监测的移动由诸如处理器920等一个或多个处理器来处理。诸如程序员950等程序员可以表达例如如截图1330和1331所描绘的向右推挤手部姿态。表达的向右推挤手部姿态由成像1110捕获,成像1110将表达的向左推挤手部姿态的一个或多个捕获的图像(如由截图1330和1331表达的)传送到诸如处理器920等一个或多个处理器用于处理。姿态插件1120可以按照程序员950的指令将表达的向左推挤手部姿态分类为公共共享手部姿态550J。在运行时执行期间,应用上下文1240B从操作系统环境可获取,指示当前活动应用是以页面1210作为活动页面的web浏览器。
应用上下文1240B还可以指示发布1220当前是网页1210上的活动发布。如果在示例性向右推挤手部姿态550J与用于网页1210的web浏览器的公共共享应用功能1320B之间设置关联,则公共共享应用功能1320B在标识出用户1150完成的向右推挤手部姿态550I时由标识插件1120触发,并且请求消息1350被发出以请求批准在Facebook页面1210时间线上共享发布1220。如图所示,向右推挤手部姿态550J由FSM 701H表示,FSM 701H由以下项构造:抓取手部姿态550C,其之后是向右推挤手部运动350G并且以FSM结束点510J结束。
现在参考图14,图14是根据本公开的一些实施例的私人共享应用功能与示例性共享手部姿态的示例性关联的示意图。图示1400呈现了显示器的屏幕快照1401,例如膝上型计算机屏幕、台式计算机显示器、连接到台式计算机的投影仪、平板计算机屏幕和/或移动设备屏幕。快照1341示出了桌面,桌面示出了在操作系统执行环境中执行的web浏览器,在操作系统执行环境中执行诸如小姿态插件1120等小姿态插件。在web浏览器中打开的网页之一是页面,诸如页面1210,其当前是web浏览器中的活动页面。
诸如成像设备1110等成像设备持续地监测用户(诸如用户1150)的(多个)手部的移动,并且监测的移动由诸如处理器920的一个或多个处理器来处理。诸如程序员950等程序员可以表达例如如截图1330和1431所描绘的向左推挤手部姿态。表达向左推挤手部姿态由成像1110捕获,成像1110将表达的私人共享手部姿态的一个或多个捕获的图像(如由截图1330和1431表达)传送到诸如处理器920等一个或多个处理器用于处理。姿态插件1120可以按照程序员950的指令将表达的向左推挤手部姿态分类为私人共享手部姿态550H。在运行时执行期间,应用上下文1240C从操作系统环境可获取,指示当前活动应用是以页面1210作为活动页面的web浏览器。
应用上下文1240C还可以指示发布1220当前是在网页1210上的活动发布。如果在示例性向左推挤手部姿态550H与用于网页1210的web浏览器的私人共享应用功能1320C之间设置关联,则私人共享应用功能1320C在标识出用户1150完成的向右推挤手部姿态550I时由小姿态插件1120触发,并且请求消息1450被发出以请求批准向Facebook联系人发送发布1220。如图所示,点赞手部姿态550J由FSM 701J表示,FSM 701J由以下项构造:抓取手部姿态550C,其之后是向右推挤手部运动350H并且以FSM结束点510K结束。
预计在始自于本申请的专利的有效期期间,将开发很多相关的HMI和/或NMI,并且术语HMI和/或NMI的范围旨在预先包括所有这些新技术。
术语“包括(comprises)”、“包括(comprising)”、“包括(includes)”、“包括(including)”、“具有(having)”及其共源词表示“包括但不限于”。
术语“由......组成”表示“包括并限于”。
术语“基本上由...组成”是指组合物、方法或结构可以包括附加成分、步骤和/或部分,但是只有当附加成分、步骤和/或部分不会实质上改变所要求保护的组合物、方法或结构的基本和新颖特征时。
如本文中使用的,除非上下文另有明确规定,否则单数形式“一个(a)”、“一个(an)”和“该(the)”包括复数指代。例如,术语“手部姿态”或“至少手部姿态”可以包括单个手部姿态和/或两个手部姿态。
如本文中使用的,术语“方法”是指用于完成给定任务的方式、手段、技术和程序,包括但不限于已知的或者由化学、药理学、生物学、生物化学和医学领域的从业人员容易从已知的方式、手段、技术和程序发展的那些方式、手段、技术和程序。
根据本公开的一些实施例,提供了用于在计算机化的手部姿态模型与一个或多个应用功能之间进行关联的系统。该系统包括存储多个手部姿势特征记录和多个手部运动特征记录的存储装置、用于接收来自程序员的指令的接口、存储代码的存储器、以及耦合到接口、存储装置和存储器用于执行存储的代码的一个或多个处理器。该代码包括:用于通过构造手部姿势特征记录和多个手部运动特征记录中的一个或多个的独特逻辑序列来定义一个或多个手部姿态的代码指令、以及用于按照代码指令将独特逻辑序列与应用的一个或多个功能相关联的代码指令,以用于在应用的运行时期间并且响应于从图像序列的分析检测到独特逻辑序列来发起一个或多个功能的执行,图像序列描绘在运行时期间的应用的用户的手部的移动。
多个手部姿势特征记录中的每个由独特的一组离散姿势值定义,并且多个手部运动特征记录中的每个由独特的一组离散运动值定义。每个离散姿势值指示多个手部姿势特征中的对应的手部姿势特征,并且每个离散运动值指示多个手部运动特征中的对应的手部运动特征。
手部姿势特征是选自包括以下项的群组的成员:活动手部、手掌方向、手掌旋转、至少一个手指的弯曲、一个或多个手指的方向、两个或更多个手指之间的相对位置和/或两个或更多个手指之间的接触。
手部运动特征是选自包括以下项的群组的成员:运动属性和/或运动脚本。运动脚本定义以下中的至少一项:手部运动和/或一个或多个手指的运动。
表示一个或多个手部姿态的独特序列由独特的有限状态机(FSM)模型定义。
可选地,程序员定义多个手部姿势特征和/或多个手部运动特征中的一个或多个。多个手部姿势特征中的每个与一个或多个离散姿势值相关联。多个手部运动特征中的每个与一个或多个离散运动值相关联。
可选地,程序员创建多个手部姿势特征记录和/或多个手部运动特征记录中的一个或多个。
可选地,一个或多个手部姿态是面向操作的姿态。
根据本公开的一些实施例,提供了一种用于在计算机化的手部姿态模型与应用功能之间进行关联的计算机实现的方法。该方法采用在一个或多个处理器上执行的应用代码来访问存储多个手部姿势特征记录和多个手部运动特征记录的存储器,呈现用户界面用于接收来自程序员的指令,通过构造多个手部姿势特征记录和/或手部运动特征记录中的一个或多个的独特逻辑顺序来定义一个或多个手部姿态,并且按照指令将独特逻辑序列与应用的一个或多个功能相关联,以用于在应用的运行时期间并且响应于从图像序列的分析检测到独特逻辑序列来发起一个或多个功能的执行,图像序列描绘在运行时期间的应用的用户的手部的移动。
根据本公开的一些实施例,提供了一种软件程序产品,用于在计算机化的手部姿态模型与存储在非暂态计算机可读存储介质中的一个或多个应用功能之间进行关联。该软件程序产品包括访问存储多个手部姿势特征记录和多个手部运动特征记录的存储器的第一程序指令,呈现用户界面用于接收来自程序员的指令的第二程序指令,通过构造多个手部姿势特征记录和/或手部运动特征记录中的一个或多个的独特逻辑顺序来定义一个或多个手部姿态的第三程序指令,以及按照指令将独特逻辑序列与应用的一个或多个功能相关联的第四程序指令,以用于在应用的运行时期间并且响应于从图像序列的分析检测到独特逻辑序列来发起一个或多个功能的执行,图像序列描绘在运行时期间的应用的用户的手部的移动。第一、第二、第三和第四程序指令由一个或多个计算机化处理器从非暂态计算机可读存储介质来执行。
多个手部姿势特征记录中的每个由独特的一组离散姿势值定义,并且多个手部运动特征记录中的每个由独特的一组离散运动值来定义。每个离散姿势值指示多个手部姿势特征中的对应的手部姿势特征,并且每个离散运动值指示多个手部运动特征中的对应的手部运动特征。
可选地,软件程序产品包括用于使得程序员能够定义多个手部姿势特征和/或多个手部运动特征中的一个或多个的第五程序指令。多个手部姿势特征中的每个与一个或多个离散姿势值相关联。多个手部运动特征中的每个与一个或多个离散运动值相关联。第五程序指令由至少一个计算机化处理器从非暂态计算机可读存储介质来执行。
可选地,软件程序产品包括允许程序员创建多个手部姿势特征记录和/或多个手部运动特征记录中的一个或多个的第五程序指令。
为了清楚起见,在单独的实施例的上下文中描述的本文中描述的示例的某些特征也可以在单个实施例中组合提供。相反地,为了简洁起见,在单个实施例的上下文中描述的本文中描述的示例的各种特征也可以单独地或以任何合适的子组合提供,或者在本公开的任何其他描述的实施例中合适地提供。在各种实施例的上下文中描述的某些特征不被认为是那些实施例的必要特征,除非这个实施例在没有那些元素的情况下不起作用。
Claims (20)
1.一种用于在计算机化的手部姿态模型与应用功能之间进行关联的系统,包括:
存储装置,存储多个手部姿势特征记录和多个手部运动特征记录,所述多个手部姿势特征记录中的每个手部姿势特征记录包括以下中的一项或多项的姿势值:手掌姿势特征、手指弯曲特征、手指接触特征和手指相对位置特征,并且所述多个手部运动特征记录中的每个手部运动特征记录包括一个或多个与运动属性相关的运动属性特征的运动值;
接口,用于接收来自程序员的指令;
存储器,存储代码;
至少一个处理器,被耦合到所述接口、所述存储装置和所述存储器以用于执行存储的所述代码,所述代码包括:
用于基于所述手部姿势特征和所述手部运动特征的值、通过构造所述多个手部姿势特征记录和所述多个手部运动特征记录中的至少一者的独特逻辑序列来定义至少一个手部姿态的代码指令;以及
用于按照所述指令将所述独特逻辑序列与应用的至少一个功能相关联的代码指令,以用于在所述应用的运行时期间并且响应于从图像序列的分析检测到所述独特逻辑序列来发起所述至少一个功能的执行,所述图像序列描绘在所述运行时期间的所述应用的用户的手部的移动。
2.根据权利要求1所述的系统,其中所述姿势值中的每个姿势值指示多个手部姿势特征中的对应的手部姿势特征,并且所述运动值中的每个运动值指示多个手部运动特征中的对应的手部运动特征。
3.根据权利要求1所述的系统,还包括所述程序员定义以下中的至少一项:多个手部姿势特征和多个手部运动特征,所述多个手部姿势特征中的每个手部姿势特征与所述姿势值中的至少一个姿势值相关联,并且所述多个手部运动特征中的每个手部运动特征与所述运动值中的至少一个运动值相关联。
4.根据权利要求1所述的系统,其中,所述多个手部运动特征记录中的每手部运动特征记录还包括定义实际运动的运动脚本特征的一个或多个值。
5.根据权利要求1所述的系统,其中所述手部姿势特征是选自包括以下项的群组的成员:活动手部、手掌方向、手掌旋转、至少一个手指的弯曲、至少一个手指的方向、至少两个手指之间的相对位置和至少两个手指之间的接触。
6.根据权利要求1所述的系统,其中所述手部运动特征是选自包括以下项的群组的成员:运动属性和运动脚本,所述运动脚本定义以下中的至少一项:手部运动和至少一个手指的运动。
7.根据权利要求1所述的系统,其中手部的每个手指被指派所述独特的一组运动值中的一个运动值。
8.根据权利要求1所述的系统,其中表示所述至少一个手部姿态的所述独特序列由独特的有限状态机(FSM)模型定义。
9.一种用于在计算机化的手部姿态模型与应用功能之间进行关联的计算机实现的方法,包括:
使用在至少一个处理器上执行的应用代码以用于:
访问存储多个手部姿势特征记录和多个手部运动特征记录的存储器,所述多个手部姿势特征记录中的每个手部姿势特征记录包括以下中的一项或多项的姿势值:手掌姿势特征、手指弯曲特征、手指接触特征和手指相对位置特征,并且所述多个手部运动特征记录中的每个手部运动特征记录包括一个或多个与运动属性相关的运动属性特征的运动值;
呈现用户界面以用于接收来自程序员的指令;
基于所述手部姿势特征和所述手部运动特征的值、通过构造所述多个手部姿势特征记录和所述多个手部运动特征记录中的至少一者的独特逻辑序列来定义至少一个手部姿态;以及
按照所述指令将所述独特逻辑序列与应用的至少一个功能相关联,以用于在所述应用的运行时期间并且响应于从图像序列的分析检测到所述独特逻辑序列来发起所述至少一个功能的执行,所述图像序列描绘在所述运行时期间的所述应用的用户的手部的移动。
10.根据权利要求9所述的计算机实现的方法,其中所述姿势值中的每个姿势值指示多个手部姿势特征中的对应的手部姿势特征,并且所述运动值中的每个运动值指示多个手部运动特征中的对应的手部运动特征。
11.根据权利要求9所述的计算机实现的方法,还包括所述程序员定义以下中的至少一项:多个手部姿势特征和多个手部运动特征,所述多个手部姿势特征中的每个手部姿势特征与所述姿势值中的至少一个姿势值相关联,并且所述多个手部运动特征中的每个手部运动特征与所述运动值中的至少一个运动值相关联。
12.根据权利要求9所述的计算机实现的方法,其中所述手部姿势特征是选自包括以下各项的群组的成员:活动手部、手掌方向、手掌旋转、至少一个手指的弯曲、至少一个手指的方向、至少两个手指之间的相对位置和至少两个手指之间的接触。
13.根据权利要求9所述的计算机实现的方法,其中所述手部运动特征是选自包括以下各项的群组的成员:运动属性和运动脚本,所述运动脚本定义以下中的至少一项:手部运动和至少一个手指的运动。
14.根据权利要求9所述的计算机实现的方法,其中表示所述至少一个手部姿态的所述独特序列由独特的有限状态机FSM模型定义。
15.一种非暂态计算机可读存储介质,包括:
第一程序指令,用于访问存储器,所述存储器存储多个手部姿势特征记录和多个手部运动特征记录,所述多个手部姿势特征记录中的每个手部姿势特征记录包括以下中的一项或多项的姿势值:手掌姿势特征、手指弯曲特征、手指接触特征和手指相对位置特征,并且所述多个手部运动特征记录中的每个手部运动特征记录包括一个或多个与运动属性相关的运动属性特征的运动值;
第二程序指令,用于呈现用户接口以用于接收来自程序员的指令;
第三程序指令,用于基于所述手部姿势特征和所述手部运动特征的值、通过构造所述多个手部姿势特征记录和所述多个手部运动特征记录中的至少一者的独特逻辑序列来定义至少一个手部姿态;以及
第四程序指令,用于按照所述指令将所述独特逻辑序列与应用的至少一个功能相关联,以用于在所述应用的运行时期间并且响应于从图像序列的分析检测到所述独特逻辑序列来发起所述至少一个功能的执行,所述图像序列描绘在所述运行时期间的所述应用的用户的手部的移动;
其中所述第一程序指令、所述第二程序指令、所述第三程序指令和所述第四程序指令由至少一个计算机化的处理器从所述非暂态计算机可读存储介质执行。
16.根据权利要求15所述的非暂态计算机可读存储介质,其中所述姿势值中的每个姿势值指示多个手部姿势特征中的对应的手部姿势特征,并且所述运动值中的每个运动值指示多个手部运动特征中的对应的手部运动特征。
17.根据权利要求15所述的非暂态计算机可读存储介质,还包括第五程序指令,用于使得所述程序员能够定义以下中的至少一项:多个手部姿势特征和多个手部运动特征,所述多个手部姿势特征中的每个手部姿势特征与所述姿势值中的至少一个姿势值相关联,并且所述多个手部运动特征中的每个手部运动特征与所述运动值中的至少一个运动值相关联,其中所述第五程序指令由所述至少一个计算机化的处理器从所述非暂态计算机可读存储介质执行。
18.根据权利要求15所述的非暂态计算机可读存储介质,其中所述手部姿势特征是选自包括以下项的群组的成员:活动手部、手掌方向、手掌旋转、至少一个手指的弯曲、至少一个手指的方向、至少两个手指之间的相对位置和至少两个手指之间的接触。
19.根据权利要求15所述的非暂态计算机可读存储介质,其中所述手部运动特征是选自包括以下项的群组的成员:运动属性和运动脚本,所述运动脚本定义以下中的至少一项:手部运动和至少一个手指的运动。
20.根据权利要求15所述的非暂态计算机可读存储介质,其中表示所述至少一个手部姿态的所述独特序列由独特的有限状态机(FSM)模型定义。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/985,691 | 2015-12-31 | ||
US14/985,691 US10599324B2 (en) | 2015-12-31 | 2015-12-31 | Hand gesture API using finite state machine and gesture language discrete values |
PCT/US2016/067892 WO2017116877A1 (en) | 2015-12-31 | 2016-12-21 | Hand gesture api using finite state machine and gesture language discrete values |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109416570A CN109416570A (zh) | 2019-03-01 |
CN109416570B true CN109416570B (zh) | 2022-04-05 |
Family
ID=57777729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680077689.5A Active CN109416570B (zh) | 2015-12-31 | 2016-12-21 | 使用有限状态机和姿态语言离散值的手部姿态api |
Country Status (4)
Country | Link |
---|---|
US (1) | US10599324B2 (zh) |
EP (1) | EP3398031B8 (zh) |
CN (1) | CN109416570B (zh) |
WO (1) | WO2017116877A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10345914B2 (en) | 2016-01-26 | 2019-07-09 | Infinity Augmented Reality Israel Ltd. | Method and system for generating a synthetic database of postures and gestures |
IT201700088977A1 (it) * | 2017-08-02 | 2019-02-02 | St Microelectronics Srl | Procedimento per il riconoscimento di gesti, circuito, dispositivo e prodotto informatico corrispondenti |
CN108307050A (zh) * | 2018-01-18 | 2018-07-20 | 大连理工大学 | 一种基于智能手机传感器的建筑工人动作识别集成方法 |
US11093041B2 (en) * | 2018-11-30 | 2021-08-17 | International Business Machines Corporation | Computer system gesture-based graphical user interface control |
CN112034975B (zh) * | 2019-06-03 | 2024-04-02 | 博世汽车部件(苏州)有限公司 | 手势过滤方法、系统、装置及可读存储介质 |
US11157086B2 (en) * | 2020-01-28 | 2021-10-26 | Pison Technology, Inc. | Determining a geographical location based on human gestures |
US11199908B2 (en) * | 2020-01-28 | 2021-12-14 | Pison Technology, Inc. | Wrist-worn device-based inputs for an operating system |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101577062A (zh) * | 2008-12-30 | 2009-11-11 | 浙江工业大学 | 一种基于空间编码的手语运动信息与文本信息相互转换的实现方法 |
WO2011057287A1 (en) * | 2009-11-09 | 2011-05-12 | Invensense, Inc. | Handheld computer systems and techniques for character and command recognition related to human movements |
CN102184008A (zh) * | 2011-05-03 | 2011-09-14 | 北京天盛世纪科技发展有限公司 | 互动投影系统及方法 |
CN102236412A (zh) * | 2010-04-30 | 2011-11-09 | 宏碁股份有限公司 | 三维手势识别系统以及基于视觉的手势识别方法 |
CN102426480A (zh) * | 2011-11-03 | 2012-04-25 | 康佳集团股份有限公司 | 一种人机交互系统及其实时手势跟踪处理方法 |
CN103167230A (zh) * | 2011-12-17 | 2013-06-19 | 富泰华工业(深圳)有限公司 | 电子设备及其根据手势控制拍照的方法 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6252598B1 (en) | 1997-07-03 | 2001-06-26 | Lucent Technologies Inc. | Video hand image computer interface |
US20020089541A1 (en) | 2000-02-14 | 2002-07-11 | Julian Orbanes | System for graphically interconnecting operators |
EP1851750A4 (en) | 2005-02-08 | 2010-08-25 | Oblong Ind Inc | SYSTEM AND METHOD FOR CONTROL SYSTEM BASED ON GESTURES |
US9910497B2 (en) * | 2006-02-08 | 2018-03-06 | Oblong Industries, Inc. | Gestural control of autonomous and semi-autonomous systems |
US20090278915A1 (en) * | 2006-02-08 | 2009-11-12 | Oblong Industries, Inc. | Gesture-Based Control System For Vehicle Interfaces |
US8157515B2 (en) * | 2008-08-01 | 2012-04-17 | General Electric Company | Split doublet power nozzle and related method |
DE102008052928A1 (de) * | 2008-10-23 | 2010-05-06 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung, Verfahren und Computerprogramm zur Erkennung einer Geste in einem Bild, sowie Vorrichtung, Verfahren und Computerprogramm zur Steuerung eines Geräts |
US8487938B2 (en) | 2009-01-30 | 2013-07-16 | Microsoft Corporation | Standard Gestures |
AU2010221722A1 (en) * | 2009-02-06 | 2011-08-18 | Oculis Labs, Inc. | Video-based privacy supporting system |
US20100281435A1 (en) | 2009-04-30 | 2010-11-04 | At&T Intellectual Property I, L.P. | System and method for multimodal interaction using robust gesture processing |
US8631355B2 (en) | 2010-01-08 | 2014-01-14 | Microsoft Corporation | Assigning gesture dictionaries |
DE102010036906A1 (de) | 2010-08-06 | 2012-02-09 | Tavendo Gmbh | Konfigurierbares Pie-Menü |
US9201666B2 (en) | 2011-06-16 | 2015-12-01 | Microsoft Technology Licensing, Llc | System and method for using gestures to generate code to manipulate text flow |
US9582187B2 (en) | 2011-07-14 | 2017-02-28 | Microsoft Technology Licensing, Llc | Dynamic context based menus |
US9086794B2 (en) | 2011-07-14 | 2015-07-21 | Microsoft Technology Licensing, Llc | Determining gestures on context based menus |
US9600169B2 (en) | 2012-02-27 | 2017-03-21 | Yahoo! Inc. | Customizable gestures for mobile devices |
US9536135B2 (en) * | 2012-06-18 | 2017-01-03 | Microsoft Technology Licensing, Llc | Dynamic hand gesture recognition using depth data |
US9501140B2 (en) | 2012-11-05 | 2016-11-22 | Onysus Software Ltd | Method and apparatus for developing and playing natural user interface applications |
WO2014157885A1 (en) | 2013-03-27 | 2014-10-02 | Samsung Electronics Co., Ltd. | Method and device for providing menu interface |
US20150140934A1 (en) | 2013-09-10 | 2015-05-21 | Playtabase, LLC | Wireless motion activated user device with bi-modality communication |
US20150084859A1 (en) * | 2013-09-23 | 2015-03-26 | Yair ITZHAIK | System and Method for Recognition and Response to Gesture Based Input |
US9785247B1 (en) * | 2014-05-14 | 2017-10-10 | Leap Motion, Inc. | Systems and methods of tracking moving hands and recognizing gestural interactions |
CN110794960B (zh) | 2014-12-08 | 2024-02-06 | 罗希特·塞思 | 可穿戴无线hmi装置 |
US10055019B2 (en) * | 2015-05-20 | 2018-08-21 | Sony Interactive Entertainment Inc. | Electromagnet-laden glove for haptic pressure feedback |
US20160357519A1 (en) | 2015-06-05 | 2016-12-08 | Microsoft Technology Licensing, Llc | Natural Language Engine for Coding and Debugging |
US20170003746A1 (en) | 2015-06-30 | 2017-01-05 | International Business Machines Corporation | Hand-gesture input |
US10318008B2 (en) * | 2015-12-15 | 2019-06-11 | Purdue Research Foundation | Method and system for hand pose detection |
-
2015
- 2015-12-31 US US14/985,691 patent/US10599324B2/en active Active
-
2016
- 2016-12-21 CN CN201680077689.5A patent/CN109416570B/zh active Active
- 2016-12-21 EP EP16825649.3A patent/EP3398031B8/en active Active
- 2016-12-21 WO PCT/US2016/067892 patent/WO2017116877A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101577062A (zh) * | 2008-12-30 | 2009-11-11 | 浙江工业大学 | 一种基于空间编码的手语运动信息与文本信息相互转换的实现方法 |
WO2011057287A1 (en) * | 2009-11-09 | 2011-05-12 | Invensense, Inc. | Handheld computer systems and techniques for character and command recognition related to human movements |
CN102236412A (zh) * | 2010-04-30 | 2011-11-09 | 宏碁股份有限公司 | 三维手势识别系统以及基于视觉的手势识别方法 |
CN102184008A (zh) * | 2011-05-03 | 2011-09-14 | 北京天盛世纪科技发展有限公司 | 互动投影系统及方法 |
CN102426480A (zh) * | 2011-11-03 | 2012-04-25 | 康佳集团股份有限公司 | 一种人机交互系统及其实时手势跟踪处理方法 |
CN103167230A (zh) * | 2011-12-17 | 2013-06-19 | 富泰华工业(深圳)有限公司 | 电子设备及其根据手势控制拍照的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109416570A (zh) | 2019-03-01 |
WO2017116877A1 (en) | 2017-07-06 |
US10599324B2 (en) | 2020-03-24 |
EP3398031B8 (en) | 2020-11-25 |
EP3398031B1 (en) | 2020-10-21 |
US20170192665A1 (en) | 2017-07-06 |
EP3398031A1 (en) | 2018-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109416570B (zh) | 使用有限状态机和姿态语言离散值的手部姿态api | |
US11181985B2 (en) | Dynamic user interactions for display control | |
US8866781B2 (en) | Contactless gesture-based control method and apparatus | |
US20220343689A1 (en) | Detection of hand gestures using gesture language discrete values | |
JP5599400B2 (ja) | 画像センサベースのヒューマンマシンインタフェースを提供する方法システムおよびソフトウェア | |
JP6631541B2 (ja) | タッチ入力のための方法及びシステム | |
US20170193289A1 (en) | Transform lightweight skeleton and using inverse kinematics to produce articulate skeleton | |
US10866882B2 (en) | Debugging tool | |
Yin et al. | A high-performance training-free approach for hand gesture recognition with accelerometer | |
WO2022267760A1 (zh) | 按键功能执行方法、装置、设备及存储介质 | |
Baig et al. | Qualitative analysis of a multimodal interface system using speech/gesture | |
US9870063B2 (en) | Multimodal interaction using a state machine and hand gestures discrete values | |
US9898256B2 (en) | Translation of gesture to gesture code description using depth camera | |
JP2021517302A (ja) | ネットワーク化された共同ワークスペースにおけるウェブ・ソケット接続を介したファイルの送信のための方法、装置、及びコンピュータ可読媒体 | |
KR101503373B1 (ko) | 제스처 기반 인터랙션의 적응형 변환을 위한 프레임워크 시스템 | |
Nguyen et al. | Hand interaction designs in mixed and augmented reality head mounted display: a scoping review and classification | |
Nazeer et al. | Gesture Controlled Virtual Mouse and Keyboard Using OpenCV | |
Tas et al. | TeamCAD--A Multimodal Interface for Remote Computer Aided Design | |
Montejo | Image navigation and manipulation in the operating room using hand gesture recognition | |
en Computación | LaGeR Workbench: A Language and Framework for the Representation | |
Babaei et al. | The optimization of interface interactivity using gesture prediction engine | |
Mata-Montero et al. | LaGeR workbench: A language and framework for the representation and implementation of device-agnostic gestural interactions in 2D and 3D |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |