《电子技术应用》
您所在的位置:首页 > 通信与网络 > 设计应用 > 基于WiFi和体感交互的演示系统设计与实现
基于WiFi和体感交互的演示系统设计与实现
来源:电子技术应用2013年第4期
柳 杨
浙江科技学院 信息学院, 浙江 杭州310023
摘要: 基于智能手持终端系统内置的三轴陀螺仪捕获手势命令,利用自适应模板匹配方法进行手势识别,在不降低识别率的情况下,提高了识别效率。以WiFi网络作为信息传递载体,将手势命令传输到服务器,以控制演讲时幻灯片的放映。这种基于WiFi和体感交互的演示方式,能克服传统USB激光笔操作方式单一、接收距离有限等问题,提供更好的用户体验。
中图分类号: TP393.1
文献标识码: A
文章编号: 0258-7998(2013)04-0121-03
Research on demonstration system design based on WiFi and somatosensory interaction
Liu Yang
School of Information, Zhejiang University of Science and Technology, Hangzhou 310023, China
Abstract: This research captured gesture command based on three axis gyro which built intelligent portable terminal system, and the adaptive template matching method is used for gesture recognition. The identification efficiency is improved when keeping the recognition rate. Taking Wi-Fi network as the carrier of information transmission, the gesture command is transmitted to the server to control the presentation slide show. Based on WiFi and somatosensory interaction demonstration, it can overcome problems of traditional USB laser pen, such as operation mode single, receiving distance limited and so on, meanwhile it can provide a better user experience.
Key words : somatosensory interaction; WiFi; gesture recognition

    随着信息技术的不断发展,以用户为中心的设计理念已经成为人机交互的发展趋势,用户可以更方便、自然地使用计算机。3G时代的到来,智能手机、重力感应、无线WiFi(无线局域网通信方式)等一系列新技术的应用也已进入实用阶段[1-2]。这些技术不仅使得移动设备的功能更强大,也开创了新的人机交互接口,其中最具代表性的就是基于体感交互的人机接口。

    体感交互是通过人的肢体动作变化进行操作的一种人机交互方式。空间手势是一种自然、直观、易于学习的人机交互手段,是体感交互的重要组成部分之一。传统的手势识别是通过摄像头捕捉手势,并利用计算机视觉算法识别手势,这种方法计算量非常大,需要消耗大量的手持设备系统资源。目前更方便的方法是利用移动设备内置的传感器(如加速度传感器、陀螺仪、磁力仪等)来进行识别。利用内置传感器进行识别的优势是手势识别能在设备本身进行,并且识别精度不受灯光条件或者摄像头质量的影响[3],因此其成本和能耗最低。近年来,移动智能终端发展十分迅速,很多厂商都为自己的产品配备了三轴陀螺仪等体感设备,如最早采用该技术的苹果iPhone4,这使得利用移动设备内置传感器开发体感交互应用成为可能。
    目前的系统将智能终端作为外设[4],可直接通过WiFi进行通信。使用配备三轴加速计和陀螺仪的智能移动终端捕获手势命令,以WiFi网络作为信息传递载体,将手势命令传输到服务器,从而达到在演讲时控制幻灯片放映控制的目的。这种基于WiFi和体感交互的演示方式,能克服传统USB激光笔操作方式单一、接收距离有限等问题,并能提供更好的用户体验。
1 系统结构
    基于WiFi和体感交互的演示系统由客户端和服务端两部分组成,系统总体框架图如图1所示。服务端运行在装有Windows操作系统的计算机上,主要负责监听客户端消息以及控制幻灯片的放映;客户端运行在移动智能终端上,主要负责接收用户输入(包括手势输入),并且发送命令至服务端。客户端通过WiFi连接到服务端所在的局域网,从而实现双方的通信。在设计中,客户端可以是各个平台的移动终端,本研究是基于运行iOS操作系统的iPad2平板电脑和iPhone4手机。利用iPad2和iPhone4内置的三轴陀螺仪捕获数据,并通过识别算法解析为相应的手势。整个系统包含:体感模块、手势识别模块和基于WiFi的通信模块。体感层通过移动设备内置的三轴陀螺仪传感器获取信息,通过三轴陀螺仪,可以获得设备在每一时刻三个方向上的加速度值,并针对某一时间段内陀螺仪传回的加速度值进行分析,即可对手势动作进行识别。手势识别层基于体感层获取的信息,利用训练好的识别算法识别手势。通信层将识别结果传递给外部设备,以触发设备进行相应的操作。

2 系统设计
2.1体感层

    手势的选择和设计不仅影响到用户体验,还影响到识别准确率。PYLVANAINEN T认为大规模的手势集合是不切实际的,因为这么多手势需要使用者去逐一学习,影响使用效果[1]。LIU J[5]等研究中的识别结果表明,选择合适的手势集合对提高识别精度具有重要意义。越复杂的手势需要定义的特征就越多,虽然能获得较高的识别率,但是复杂的手势需要使用者去了解并且记住所对应的意义。
 在本文的研究中,主要利用移动设备内置的三轴陀螺仪来捕获数据,并通过旋转来设置手势。考虑到移动设备具有X、Y、Z三轴,本文可定义6个基本的旋转。
    三轴陀螺仪可以测定6个方向的角速度量,多用于航海、航天等导航、定位系统,能够精确地确定运动物体的方位,目前多用于智能手机。本研究基于Ipad2内置的三轴数字陀螺仪捕获手势数据,每隔0.05 s获取一次X、Y、Z轴方向的加速度。通过对获取的数据进行分析,即可对表1中定义的手势动作进行识别。图2、图3所示分别为通过三轴陀螺仪捕获到的向上翻转手势、向左翻转手势在X、Y、Z轴方向的加速度。

2.2 识别层
    在进行识别之前,首先要创建手势模板库。模板库的建立主要步骤如下:
 (1) 投影。由于用户操作的差异性,不同使用者做同一个动作的幅度和角速度有所差别,即使是同一个用户,不同时间重复同一个动作的幅度和角速度也有不同,这就需要针对基准平面对X、Y、Z三轴方向的加速度进行投影操作。
    (2) 滤波。过滤掉样本中可能存在的噪声信号,本研究中使用低通滤波。
    (3) 归一化。
  (4) 主元分析求取阈值。为了察觉到翻转的发生,识别层持续捕获三轴陀螺仪传感器传来的数据。传递到识别层的数据是一个三维数组,分别对应于陀螺仪X、Y、Z轴的加速度改变。如果数组中某一维的值超过了阈值,就能够识别出对应于这个轴的某一手势,即某一翻转动作。由图2、图3可以看出每一个翻转手势动作都会产生一个尖峰。如图2所示向上翻转时X轴方向的加速度是最大的,经过多次实验验证当X轴方向的加速度大于9 m/s2时,可以认为手势为向上翻转。
  (5) 建立手势模板库。考虑到手势设备的运算能力,为了提高效率,实际运行过程中基于自适应模板匹配的方法进行手势识别,主要流程如图4所示。

    实验证明,此种方法能在不影响手势识别率的情况下降低手势识别计算量,从而缩短手势识别时间,让系统更快地响应用户,提高用户体验。
2.3 通信层
    iOS设备通过WiFi接入计算机所在局域网,并通过Socket与计算机进行通信。
    系统使用UDP协议作为传输层协议进行Socket通信。
    本系统的应用层协议报文分为三部分,第一部分为应用标识符,第二部分为命令标示,之后为命令附加信息部分。每一部分信息用中括号“[]”包围,附加信息部分可根据命令分为多段信息。
3 系统实现
    本系统基于XCode开发平台,并采用Socket和Office对象模型综合设计与开发。考虑到演示系统的易学性、易用性,在客户端仅提供文件列表显示及简单控制。由于iPad相对于智能手机来说屏幕较大,所有功能都可在一个屏幕中显示,在客户端的界面设计上不需分屏设计,便于用户操作,具有良好的用户体验[6]。
    文件列表展示区占据界面的三分之二。界面下方三分之一为功能操作区,其中左侧为初始设置功能区,负责搜索主机、读取文件目录、手势开关以及倒计时设置。右侧为幻灯片放映控制区域,主要负责控制幻灯片的播放和翻页。
    为了免去客户端和服务端的IP地址输入步骤,设置局域网内主机搜索功能。客户端在局域网内发送广播报文,服务端监听到广播报文后发送响应报文,双方各自记录对方的IP地址,为后续通信做好准备。
    服务端设置幻灯片文件目录,当监听到客户端获取文件列表的请求时,将文件目录及文件列表信息发送至客户端。客户端接收后,以列表形式展现给用户,用户选择要进行播放的幻灯片文件,并且执行播放操作后,客户端发送对应的播放命令至服务端,命令中包含要播放的幻灯片文件名以及路径。服务端收到播放命令时,解析出文件路径,如果文件存在,则调用Microsoft Office PowerPoint接口启动幻灯片的播放。
    客户端主要负责接收用户输入、展示数据以及发送控制命令。程序启动后,首先自动搜索主机与局域网内的主机配对。客户端收到来自服务端的回应后,在界面上显示远程主机的IP,并激活“读取目录”功能选项。此时,用户可读取远程服务端设置的幻灯片文件目录中的文件列表,选择要放映的文件,并通过手势体感交互来控制幻灯片的播放。当某一方向上的角速度值超过设定的临界值时,便判定设备在该方向上发生了翻转。捕获到设备的翻转后,在主线程上发送响应命令至服务端,服务端查找当前正在播放的幻灯片,并进行相应操作。同时,也可以通过手势开关选择使用功能按键进行翻页操作。
    本文设计并实现了一个基于WiFi和体感交互的演示系统。基于智能手持终端系统内置的三轴陀螺仪捕获手势数据,通过对手势数据进行分析实现手势识别,并提出一种自适应模板匹配方法进行手势识别,在不降低识别率的情况下提高了识别效率。本文的研究也可以扩展移植应用到各个主流移动平台上。
参考文献
[1] PYLVANAINEN T. Accelerometer based gesture recognition  using continuous HMMs[C]. IbPRIA, 2005.
[2] NIEZEN G, HANCKE G P.Evaluating and optimising accelerometer-based gesture recognition techniques for mobile devices[C]. AFRICON, 2009.
[3] Wang Xian, TARRIO P, METOLA E, et al. Gesture recognition using mobile phone’s inertial sensors[C].Distributed Computing and Artificial Intelligence,2012.
[4] JANG I, PARK W. A gesture-based control for handheld devices using accelerometer[C].CIARP,2004.
[5] LIU J, WANG Z, ZHONG L,et al. uWave: accelerometer based personalized gesture recognition and its applications[J]. Pervasive and Mobile Computing,2009,5(6):657-675.
[6] 戴立慧.基于WiFi体感交互软件设计与开发[D].杭州:浙江科技学院,2012.