Page 84 - 《软件学报》2021年第10期
P. 84
3056 Journal of Software 软件学报 Vol.32, No.10, October 2021
在被调研的文献中,指示型与信号型的手势最为常见.信号型手势是指将特定手势作为信号,触发一系列事
先设定好的复杂抽象功能的手势,其所表达的意义与这些手势通常的意义往往大不一样,这一点与动作直观、
意思直接的操纵型手势显著不同.互动型手势是指与界面上的虚拟元素,如按钮等,进行互动的手势,与虚拟元
素互动时,并不会对元素本身进行改变与编辑,这一点与用来直接编辑元素,如翻译、调整大小、旋转等的操纵
型手势不同.
1.4.2 指示型手势及其组合
指示型手势用于点选,其与不同的手势组合承担不同的功能:与互动型手势组合,可以做到对元素的先点
选、再编辑;与信号型手势组合,可用于元素的点选与操作;与互动型、操纵型手势组合,可以对元素完成点选、
切换、互动的一系列动作,这种手势组合的典型例子就是操纵游戏人物;有时候,指示型手势与互动型、操纵型、
信号型、自由型手势联用,可以用于 3D 建模.
1.4.3 自由型手势及其组合
通常用于 3D 建模与非接触控制,在这种情境下,自由型手势用来移动虚拟物体或是控制机械手.而对于一
些意义较为复杂的间接功能,则往往与信号型手势进行联用.
1.4.4 操纵型手势及其组合
操纵型手势用以对对象进行直接编辑,比如翻译、旋转、调整大小等.
1.4.5 信号型手势及其组合
信号型手势用来触发预设的通常较为抽象的功能,其核心在于需要预先规定手势与所触发的功能的联系.
特别地,有些手势本身带有一些意义,则需要辨析其语义归属.如果这些手势用来执行其通常的含义,则是操纵
型;如果是用来作为一个信号,触发预设的一系列操作的,则是信号型.
1.5 手势识别引擎
手势识别引擎是指将手势识别的核心技术整理成软件开发包的形式,供各种应用程序调用手势识别核心
技术,开发手势交互相关的各种应用软件.手势识别引擎核心技术模块主要是由以下几部分组成:(1) 手势定义,
该定义用于匹配输入设备的行为,以便进行手势分析;(2) 手势分析,运用手势分割和手势识别等技术实时分析
从输入设备获取的数据;(3) 后期处理,对手势分析返回的结果进行后期处理,使其更容易被其他模块使用;
(4) 结果反馈,将处理后的结果映射到已经定义好的手势,并将其实时返回给引擎的调用者.
2 动态手势识别与手势检测进展
由于深度摄像机与动作捕获设备的普及,使用基于视觉的手势交互技术已成为主流.本节主要介绍基于视
觉的动态手势识别以及检测代表性工作和进展.动态手势识别的流程通常可以分为手势分割(或检测)模块和手
势识别模块(如图 2 所示):手势分割模块基于传感器原始数据进行候选手势提取,包含手势的起始和终结时刻检
测;手势识别模块主要对分割好的候选手势片段进行分类,最后给出每个候选手势片段的动作类别,通过后处理
给出动态手势的定位和类别信息.
传感器 特征提取 手势起始和 手势分类器
原始数据 终结点探测 输出手势类型
特征提取 手势识别模块
Fig.2 Flow chart of dynamic hand gesture recognition
图 2 动态手势识别流程图