基于Leap Motion的三维手势交互系统研究
2019-08-08刘瑜兴王淑侠徐光耀兰望桂何卫平
刘瑜兴,王淑侠,徐光耀,兰望桂,何卫平
基于Leap Motion的三维手势交互系统研究
刘瑜兴,王淑侠,徐光耀,兰望桂,何卫平
(西北工业大学机电学院,陕西 西安 710072)
手势识别的快速发展及体感设备的不断更新为三维手势交互提供了灵感,基于Leap Motion手势识别和最邻近算法,建立了一种三维手势交互系统。首先对手势设计理论和交互手势设计原则进行研究,基于此设计手势功能和建立手势库,并将手势库分为8种手势;其次进行手势特征提取,建立手指关键点模型,获取手势特征的角度特征;然后计算KNN算法和SVM算法的手势识别效率,KNN改进算法取得较好的识别效率;最后,设计三维交互系统,手势分类为4个模块,每个模块有2个手势任务;20名测试者中提取1 600组手势数据,并进行总采集样本关节点均值的数据分析;设计三维交互系统模块,在Unity3D中创建的三维交互系统中导入1 600组手势数据,根据自定义的8种手势驱动虚拟手完成交互设计过程,完成用户体验分析和手势识别效率统计。通过研究发现,基于Leap Motion手势识别具有较高的识别效率,三维手势交互系统富有创新性。
手势识别;最邻近算法识别;手势交互设计;Leap Motion
随着互联网时代的到来,人机交互也应运而生。交互是指借助一定的载体进行信息交流,人机交互技术(human computer interaction,HCI)[1]指的是人通过一定的设备和计算机进行信息交流,人可以使用输入设备给计算机输入文字、语音等来发起请求,而计算机使用输出设备给用户显示出信息来响应请求。目前,应用最为广泛、技术最为成熟的人机交互方式依然是键盘与鼠标,其单一性使得人们对更高层次、更友好的人机交互方式提出需求。现阶段人机交互新技术的研究内容主要集中在手势识别、语音识别、人脑控制等方面。以人的手势为研究对象,研究手势交互方式。
手势识别[2-14]是通过算法来识别人类手势。手势建模[15]对手势识别也是很关键的,基于3D模型和基于表观是常用的手势建模方法。前者通过建立当前图像的3D模型辅以相关参数来计算出手势的状态信息。
人手的动作分为有意识的和无意识的动作。手势还可以分为操作型和通讯型手势。手势的分类早在40年代,心理学家QUEK[16]、PAVLOVIC等[17]从人机接口角度对手势进行研究。在自然人机交互的领域里,KARAM和SCHRAEFEL[18]提出了手势划分可分为5类,即指示性手势、示意性手势、操作性手势、信号性手势和手语性手势。
Leap Motion Controller定位手(hand)、手指(finger)和类似手指的工具(pointable),精确度达到0.01 mm。通过红外LED对图像进行光补偿,双高清摄像头从不同位置拍摄得到高分辨率的立体红外图像,模拟人类的双目立体视觉[19]进行手势位置判Leap Motion Controller定位手(hand)、手指(finger)和类似手指的工具(pointable),使用的测量方法称作三角测量法[20]。Leap Motion拆开内部构件如图1,图2为Leap Motion的工作范围,呈倒金字塔状,图3为Leap Motion坐标系。
图2 Leap Motion工作范围
图3 Leap Motion坐标系
1 手势设计与定义
手势设计需遵循手语识别设计理论和手势设计原则。手语识别主要由数据获取、特征表示和分类识别构成整体流程。常见的特征提取分为轨迹特征和手形特征,轨迹特征主要用来采集手的角度、加速度、位置等信息,进行手势特征提取,然后进行手势识别。手势设计原则主要包括用户方面、交互过程和交互系统。通过对手势理论的研究,结合手势设计原则,从而进行手势定义。
1.1 手势设计
(1) 手势设计原则[21]。主要体现在用户方面、交互过程和交互系统(表1)。①用户方面,手势设计的最终目的是为了用户操作方便,所以,设计符合用户使用的手势;以用户的同理心和用户行为研究角度出发,符合用户认知行为,避免过多的学习,应增加对用户的指导,避免用户操作失误;对于用户来说,操作简单方便、直观自然,符合用户常用习惯;并在手势操作中体验快乐。②交互过程,保证手势设计的交互流畅和降低疲劳。③交互系统,简化手势设计和手势设计的系统性,保证手势设计风格的统一性和功能交叉少。④及时反馈,在用户操作的过程中,计算机系统应对用户的行为及时进行多种反馈提示,这样方便用户进行操作。
表1 手势设计原则
(2) 根据手势设计原则,进行裸手手势设计。手势识别分为静态和动态2类,手势识别主要基于三维人机交互的情况下进行手势识别。本文主要构建了8种手势(表2):复制、选中、移动、贴图、放大、旋转、删除和完成。
表2 手势设计类别