APP下载

基于LeapMotion手势识别的认知训练系统的设计和实现

2016-09-08李杨韬禹东川靳来鹏宋文凯刘金双

电子设计工程 2016年9期
关键词:训练任务手势正确率

李杨韬,禹东川,靳来鹏,宋文凯,刘金双

(东南大学 儿童发展与学习科学教育部重点实验室,江苏 南京 210096)

基于LeapMotion手势识别的认知训练系统的设计和实现

李杨韬,禹东川,靳来鹏,宋文凯,刘金双

(东南大学 儿童发展与学习科学教育部重点实验室,江苏 南京210096)

针对当前儿童认知训练系统缺乏自然的人机交互手段的缺陷,设计实现了一种高精度自然人机交互的认知训练系统。详细介绍了系统的实现,设计了模仿类等认知训练任务,使用LeapMotion设备获得手部实时数据,并对其进行计算处理后获得手部动作,利用Unity3D开发3D任务场景客户端,增加用户临场感。系统实现了训练场景自然的人机交互,展示了自然人机交互在儿童发展,虚拟现实,医疗,健康等领域的美好应用前景。

人机交互;LeapMotion;认知训练;手势识别

在儿童发展中,认知训练已被证明是一种重要的提升儿童认知能力的训练方式[1]。进行认知训练的方式有很多,近年来,认知训练交互方式出现了诸如基于平板,电子卡片,姿态控制等新兴交互方式[2]。自然、高效的人机交互以辅助儿童认知发展已经成为一个热门的研究方向[3]。目前,国内外已有姿态交互方式进行认知训练的尝试,如基于kinect动作识别的认知训练系统已取得了一定进展[4],但其识别精度为4 cm[5],无法实现对精细动作的识别。鉴于此,本文借助新兴的LeapMotion高精度体感识别传感器 (识别精度达0.01 mm[6]),研制了一套面向儿童的认知训练系统,并采用了3D虚拟场景设计技术[7],增加用户的临场感,以达到良好的认知训练效果。

1 系统分析与设计

1.1系统需求分析

基于LeapMotion手势识别的认知训练系统需完成用户各手势的准确识别,并在此基础上完成认知训练任务场景交互等功能。同时,为了达到良好的自然人机交互效果,需要设计并实现生动逼真的3D训练场景,并在此基础上完成用户管理,数据分析与管理等网络化服务,以帮助用户进行训练成效的评估。系统需求如图1所示。

图1 系统需求

1.1.1手势识别

使用LeapMotion辅助设备进行手势识别。需要识别儿童民间游戏中使用到的常用手势,做到交互自然。利用分类算法进行手势分类。

1.1.2认知训练任务

认知训练常见的训练任务有模仿类训练任务,抑制类训练任务,粗大动作类训练任务,精细动作类训练任务等[8,9]。需要实现以上几类训练任务的训练场景。

1.1.33D交互场景

使用3D引擎完成角色动作,需要实现角色移动,旋转,跳跃等。以及完成场景搭建与切换。

1.1.4网络数据分析与管理

此模块主要运行在服务端,用于统计用户训练数据,展示效果。并管理各用户训练数据,提供分析的接口。

1.1.5用户管理

为保证数据的安全性和用户的数据独立性,需要采用先注册再登录的模式,才能进入系统进行训练。

1.2系统架构

认知训练系统使用手势识别设备作为交互的底层支持,用户通过自然的手势交互完成与认知训练任务场景的互动,通过模仿,抑制训练等方式提高用户认知能力,同时记录用户数据,放于云端,以便用户查询。本系统客户端使用Unity3D开发3D任务场景,使用户更好地融入场景中。系统使用C/S模式,服务端使用Node.js与MongoDB开发。系统的架构如图2所示。

图2 系统架构

2 系统实现

2.1客户端

本系统前端为桌面客户端程序,桌面客户端主要运行有手势识别模块,训练任务场景模块以及历史结果查询模块。

2.1.1手势识别模块

LeapMotion提供手部各个关节的单位方向向量[10-11],以手掌中心为坐标原点建立坐标系,将各方向向量进行坐标变换统一到此坐标系下的向量后,进行夹角计算。蜷缩度是以单根手指各骨关节之间的夹角组成的向量来表达,除大拇指外其余4根手指有3个关节,大拇指有2个关节,通过计算骨于骨之间的夹角得到弯曲程度,一只手的蜷缩度是由14个值组成的向量。通过收集20位被试的手势蜷缩度信息,使用线性判别分析(Linear Discriminant Analysis LDA)[12]线性分类器进行数据分类,从而完成手势识别工作。

其中w为计算得到的LDA投影向量[13],xi为训练样本,计算得到该类样本的分类情况cith对所有分类值进行算术平均,再以平均值间的一半距离作为分类阈值,最终得到手势分类阈值如下所示:

其中,cjth为第j类手势下的样本分类平均值,Cjth为同一分类的分类阈值。通过计算,以“剪刀石头布”民间儿童游戏常用手势为例,得到表1所示的分类效果。

表1 民间儿童游戏手势阈值

在实际应用时,将获得的实时数据与投影向量相乘,将得到的值与表1的阈值进行比较。由于分类器已经得到,所以手势数据的计算不需要经过复杂的运算,直接通过编写好的分类器进行输入,手势识别的实时性良好。

2.1.2训练任务场景设计及实现

认知训练任务是整个系统的核心。总体来说,训练任务场景设计一要符合认知任务的需要,二要具有一定的趣味性,三要交互的无障碍性,要将儿童精力更多的集中到场景中,而不是无关的操作过程[14-15]。文中以模仿类任务来具体阐述认知训练任务的设计思路。模仿作为儿童认知发展的重要手段,通过模仿,儿童不仅可以学会各种技能,更好地了解他周围的世界,获得许多认知经验,还可以在模仿的过程中得到许多愉悦的情绪感受[16]。任务场景交互手势选用具有娱乐性的民间儿童游戏[17]中的常用手势。以民间儿童游戏“剪刀石头布”为例,将其用到的三种手势作为模仿的基本手势,并进行多个数量的组合,从而得到多个场景交互手段,再通过3D虚拟场景,增强儿童的场景沉浸感。模仿类任务第一关要求儿童按照提示出示单个相关手势,第二关要求儿童按顺序出示2次相关手势,第三关依此类推。初始游戏场景内会有一个虚拟交互角色,游戏开始后在屏幕左上角会出现游戏提示手势,以示意儿童模仿该手势,完成“剪刀石头布”游戏。在此期间系统会不断捕捉用户手势,记录捕捉到的手势,当捕捉到正确的手势后,系统播放提示音,同时虚拟交互角色给出相应语音和动作反馈,当儿童完成一关任务后,系统将本关手势识别正确率提交到后端,以记录该次任务成绩。客户端主要使用Unity3D进行场景及程序设计,利用Unity3D引擎完成一些常见的物体运动。进入场景,在无任何用户输入的情况下,虚拟角色进行随机循环走动,通过对移动向量的计算,再对角色转角进行插值,使角色转动过程平滑,可以逐步移动到指定位置。以一场景中虚拟海豚为例,在Unity3D引擎中设计好8个布置于海洋场景内部固定的不可见的游动点,海豚初始于其中随机一点,下一个移动点为除上一点外的7个点中的随机一个点,如此循环,海豚在海洋内进行随机巡游。海豚表演采用类似手法,在场景中布置好表演的点位,当手势识别结果正确后,海豚会移动到此点位,并根据表演性质不断改变海豚坐标,以完成一次海豚表演。

2.2服务端

由于服务端都是提供网络服务,又由于Node.js采用事件驱动、异步编程,为网络服务而设计[18],Node.js轻量高效,开发便捷。所以服务端主要是使用Node.js编写,使用express框架,并编写URL路由处理模块。数据库使用Mongodb,运行于Linux系统。服务端主要实现2个模块,用户验证,数据管理。都以JSON接口方式提供服务,对于所设计的接口,在实现时需要注意水平权限问题。

2.2.1Web层

由于Node.js是以异步方式编程,为了达到类似同步编程效果,引入Async库进行异步流程控制。Web层主要提供如表2所示的主要Web接口。

表2 主要Web接口

2.2.2业务逻辑层

业务逻辑层作为系统中间层,利用数据接入层提供的数据,计算用户使用系统的频率,并进行用户历史数据分析等,以供上层各请求调用。

2.2.3数据接入层

由于MongoDB属于非关系型数据库,且提供了面向文档的存储,所以其操作起来比较简单和容易。利用npm引入Mongoose,MongoDB Node.js Driver,对 mongodb中的 User,Score等集合编写增删改查等数据访问层接口以供上层访问,分别提供用户信息,积分信息的数据接入服务。

3 系统运行

文中主要研究了LeapMotion手势识别在认知训练系统上的应用,为了验证系统的可行性和运行效果,先进行LeapMotion手势识别正确率测试。由30位被试进行手势正确率测试,每位被试按照系统提示出示表1中各手势,每类手势共随机出现5次,最终统计手势识别正确率如表3所示。

表3 手势识别正确率

由此可见,系统手势识别正确率较高,可用于自然人机交互的需要。系统在实际应用中,采用Unity3D作为3D呈现引擎,场景画面运行流畅,手势响应及时准确,采用Node.js后端,系统数据传输稳定,效果十分优异。图3所示为某用户按照场景画面左上角提示于LeapMotion设备上方做出 “剪刀”手势,图4所示为某用户模仿类任务的训练情况。

图3 手势训练任务

图4 训练结果呈现

4 结束语

文中介绍了基于 LeapMotion手势识别的认知训练系统,利用3D游戏形式增加了任务临场感,并将云服务与认知训练有效结合,提供了更便捷、更有效的训练手段,为认知训练系统设计提供了思路。认知训练作为一种重要的提升儿童认知能力的训练方式,会对儿童智力、学习、推理、创造力等高级认知活动的发展产生影响,通过相应的认知训练任务,儿童在智力水平等方面可以得到有效的提高,特别是对患有孤独症谱系障碍的儿童的认知训练具有借鉴价值和实用价值。

[1]Belleville S.Cognitive training for persons with mild cognitive impairment[J].International Psychogeriatrics,2008,20(1):57-66.

[2]Abikoff H.Cognitive training in ADHD children:Less to it than meets the eye[J].Journal of learning Disabilities,1991,24(4):205-209.

[3]D'Amico G,Del Bimbo A,Dini F,et al.Natural Human-Computer Interaction[M].Multimedia Interaction and Intelligent User Interfaces.Springer London,2010:85-106.

[4]张毅,张烁,罗元,等.基于Kinect深度图像信息的手势轨迹识别及应用[J].计算机应用研究,2012,29(9):3547-3550.

[5]黄健.基于Kinect系统运动采集的康复训练平台的研究与设计[D].成都:电子科技大学,2013.

[6]Guna J,Jakus G,Pogaanik M,et al.An analysis of the precision and reliability of the leap motion sensor and its suitability for static and dynamic tracking[J].Sensors,2014,14(2):3702-3720.

[7]Wang S,Mao Z,Zeng C,et al.A new method of virtual reality based on Unity3D[C].Geoinformatics,2010 18th International Conference on.IEEE,2010:1-5.

[8]王君,陈天勇.抑制控制与高级认知功能的关系[J].心理科学进展,2012,20(11):1768-1778.

[9]Ulrich D A.Test of gross motor development-2[J].Austin:Prod-Ed,2000.

[10]Hodson H.Leap motion hacks show potential of new gesture tech[J].New Scientist,2013,218(29):21.

[11]Khademi M,MousaviHondori H,McKenzie A,et al.Freehand interaction with leap motion controller for stroke rehabilitation[C].CHI'14 Extended Abstracts on Human Factors in Computing Systems.ACM,2014:1663-1668.

[12]Ye J,Janardan R,Li Q.Two-dimensional linear discriminant analysis[C].Advances in neural information processing systems,2004:1569-1576.

[13]Scholkopft B,Mullert K R.Fisher discriminant analysis with kernels[J].Neural networks for signal processing IX,1999,(1):1.

[14]Sharma R,Pavlovic V,Huang T S.Toward multimodal humancomputer interface[J].Proceedings of the IEEE,1998,86(5):853-869.

[15]RautaraySS,AgrawalA.Visionbasedhandgesture recognition for human computer interaction:a survey[J]. Artificial Intelligence Review,2015,43(1):1-54.

[16]贾湘柳.模仿的认知基础及其对外语教学的启示[J].衡阳师范学院学报,2006,27(4):158-161.

[17]邱学青.论民间儿童游戏的教育价值[J].教育导刊,1997:2.

[18]Kovatsch M,Lanter M,Duquennoy S.Actinium:A restful runtime container for scriptable internet of things applications[C]//Internet of Things(IOT),2012 3rd International Conference on theIEEE,2012:135-142.

The design and implement of cognitive training system based on leapMotion gesture recognition

LI Yang-tao,YU Dong-chuan,JIN Lai-peng,SONG Wen-kai,LIU Jin-shuang
(China Key Laboratory of Ministry of Education,Child Development Learning Science,Southeast University,Nanjing 210096,China)

Aiming at the defects of natural Human-Computer interaction in the current children's cognitive training system,a kind of cognitive training system with high accuracy and natural Human-Computer interaction is designed and realized.This paper introduces the implementation of the training system,designs cognitive training tasks such as mitation taskand so on. Using the LeapMotion device to obtain the real-time data,the system can get the hand action after the calculation.Meanwhile,the 3D client is developed by Unity3D whick aims at enhancing user's presence.The system has realized the natural Human-Computer interaction in the training scene,and has demonstrated the good application prospect in the field of virtual reality,medical treatment,health and other fields.

human-computer interaction;leapMotion;cognitive training;gesture recognition

TN02

A

1674-6236(2016)09-0012-03

2015-12-16稿件编号:201512182

国家自然科学基金项目(61273224)

李杨韬(1990—),男,贵州凯里人,硕士研究生。研究方向:人机交互、手势识别。

猜你喜欢

训练任务手势正确率
门诊分诊服务态度与正确率对护患关系的影响
青少年皮划艇运动员各年龄阶段的训练任务分析
挑战!神秘手势
分析青少年皮划艇运动员各年龄阶段的训练任务
V字手势的由来
海军航母编队启航执行机动训练任务
辽宁舰开放,看什么
胜利的手势
生意
品管圈活动在提高介入手术安全核查正确率中的应用