![]() Computer Science and Application 计算机科学与应用, 2013, 3, 117-121 http://dx.doi.org/10.12677/csa.2013.32020 Published Online April 2013 (http://www.hanspub.org/journal/csa.html) A Multi-Touch GIS Interaction Gesture Recognition Method* Bo Wan, Dongxue Zhao, Gengd ai Liu, Xiu Wen School of Computer Science and Technology, Xidian University, Xi’an Email: wanbo@xidian.edu.cn Received: Feb. 6th, 2013; revised: Feb. 25th, 2013; accepted: Mar. 11th, 2013 Copyright © 2013 Bo Wan et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unre- stricted use, distribution, and reproduction in any medium, provided the original work is properly cited. Abstract: This paper describes a GIS (Geography Information System) system based on multi-touch technology. The system uses the Rear-DI technology to build touch platform, and transfers touch point data by TUIO (Table-Top User Interfaces Objects) protocol between the tracking module and GIS module. Some multi-touch gestures corresponding to common GIS operation and its state transition model are defined in the system. According to these definitions, a track- based gesture recognition method is given. This method can recognize the trajectory into correct interaction gestures and operate the GIS through MapX. Keywords: Multi-Touch Technology; GIS; TUIO; Gesture Recognition 一种多点触摸 GIS 交互手势识别方法* 万 波,赵冬雪,刘更代,闻 琇 西安电子科技大学计算机学院,西安 Email: wanbo@xidian.edu.cn 收稿日期:2013 年2月6日;修回日期:2013年2月25 日;录用日期:2013年3月11日 摘 要:本文描述了一个基于多点触摸技术的GIS (Geography Information System)。该系统利用 Rear-DI 技术搭 建触摸操作平台,通过 TUIO (Table-Top User Interfaces Objects)协议在触点追踪模块和GIS 模块之间传递触点信 息。系统定义了几种常用 GIS 操作对应的多点触摸手势及其状态转移模型。在此基础上给出了一种基于触点轨 迹的手势识别方法。该方法能够将触点轨迹识别成有效的交互手势并通过 MapX 操作GI S。 关键词:多点触摸技术;GIS;TUIO;手势识别 1. 引言 在多点触摸技术中,基于计算机视觉和光学的多 点触摸技术在反应速度和触摸精确度方面比基于电 容、电阻、表面声波等技术具有一定优势。NUIGroup 给出了五项可以搭建稳定的基于计算机视觉和光学 的多点触摸平台的技术[1]:FTIR、Front and Rear-DI、 LLP、LED-LP、DSI。微软的“Microsoft Surface”采 用的是 Rear-DI,用了若干个投影仪、数码照相机及 红外线感应器实现。Jefferson Y. Han[2]推出的多点触摸 感应器,使用了 FTIR 技术,适用于大型的互动显示 设备,如:互动墙、互动桌面;Yue Shi[3]等人开发的 uTable平台也是采用红外光、照相机和投影仪搭建, 在此基础上他们同时开发了JuTable,应用于多人文件 共享系统上。廖虎雄[4]等人开发的触摸式指挥研讨系 统,也是采用红外光和照相机完成平台搭建,应用于 军事地理信息系统。 *基金项目:陕西省自然科学基金项目(2011JQ8015),西安市科技攻 关项目(CXY1118(2)),西安电子科技大学高校基本科研业务费 (72114346)。 目前,基于计算机视觉和光学的多点触摸技术已 Copyright © 2013 Hanspub 117 ![]() 一种多点触摸 GIS 交互手势识别方法 经在多种触摸识别系统中得到了应用,但是将多点触 摸技术与 GIS 结合使用的应用很少,除了使用电阻或 电容式触摸屏的小型移动设备外,绝大多数桌面GIS 仍然使用鼠标和键盘进行操作。例如,徐承志[5]等人 在ArcGIS 平台上设计的基于 GIS 系统的空间查询语 言,曲艳红[6]等人使用MapGIS 技术开发的国土资源 电子政务系统,王德文[7]等人使用 MapX[8,9]控件开发 的地理信息系统,宋雪源[8]等人开发的基于 MapX的 GPS 位置信息实时标注系统等。 本文给出的多点触摸 GIS 采用了 Rear-DI 技术, 系统由计算机、红外摄像头和投影仪构成,可通过手 指直接操作 GIS,使用户体验更加直观。系统定义了 GIS 操作对应的多点触摸手势及其状态转移模型,通 过一种基于触点轨迹的手势识别方法将触点轨迹识 别成有效的交互手势,并通过 MapX完成对 GIS 的操 作。论文的贡献包括: 1) 开发了一个可通过手直接操作的GIS,该系统 相对于传统的 GIS 系统具有更好人机交互特性和用户 体验。 2) 定义了 GIS 操作对应的多点触摸手势及其状 态转移模型,在此基础上给出了一种基于触点轨迹的 手势识别方法,该方法能快速准确的识别多点触摸操 作手势。 2. 基于红外多点触摸技术的 GIS 平台概述 2.1. 基于红外多点触摸技术的 GIS 平台 该平台包括硬件和软件两个部分。硬件部分主要 包括:850 nm红外光发射管阵列、触摸屏(亚克力材 质)、摄像头、计算机和投影仪。红外光发射管阵列提 供红外光源,触摸屏用来显示GIS地图和接受用户触 摸操作,摄像头用来捕获手指反射的红外光图像,计 算机完成触点跟踪,手势识别以及手势操作对应GIS 的地图点击、放大、缩小等功能,投影仪则用于显示 最终处理结果。软件部分总要包括GIS 模块和触点追 踪模块。图1给出了基于多点触摸技术的GIS 平台架 构。 2.2. 基于红外多点触摸技术的 GIS 工作流程 红外光源从触摸屏下方照亮触摸平面,投影仪将 GIS 地图投影在触摸屏幕上,当有手指触摸到地图表 Figure 1. Architecture of multi-touch GIS 图1. 基于红外多点触摸技术的 GIS 平台 面时,在触摸点处反射的光线多于背景反射的光线, 这样便会产生阴影,阴影被摄像头捕捉并被触点追踪 模块识别为触点,触点追踪模块把这些触点数据进行 归一化处理转换成触点的坐标信息。触点坐标信息以 可触摸的用户界面协议(Table-Top User Interfaces Ob- jects,简称 TUIO)[9,10]格式通过 Socket 通信方式传给 GIS 模块,GIS模块负责接收数据包,按照 TUIO协 议格式分析数据包相应字节信息,以得到触点的 id、 x坐标、y坐标、x方向上的速度、y方向上的速度和 触点的加速度。 GIS 模块中使用两个列表分别存储触摸平面上的 当前所有触点信息和离开触摸平面的触点信息,同时 依据触点的加速度变化情况,可得出触点的状态信 息,包括出现、消失、停止、加速、减速等。若触点 的状态是出现,则记录新触点信息;若是停止,则为 静止触摸操作;若是消失,则销毁触点信息;如果是 其他状态则需要更新触点信息,存储触点的新坐标。 GIS 模块根据触点的状态和坐标集合分析触点运行轨 迹形状,识别出触点手势,然后匹配手势对应的GIS 操作,通过 MapX 完成相应的 GIS 操作,最后通过投 影仪在触摸屏幕上显示手势对 GIS 地图的最终处理结 果。 3. 多点触摸手势定义和状态转移模型 多点触摸交互手势按照手指在触摸屏上的运动 状态可以分为静态手势和动态手势,静态手势指单个 手型,而动态手势指手指动作,对应空间里的一条轨 迹。按照触点个数的多少可以分为单点手势和多点手 势,单点手势指一个触点,多点手势指有多个触点。 定义多点触摸操作手势[11,12]可以依据这两个特性进 Copyright © 2013 Hanspub 118 ![]() 一种多点触摸 GIS 交互手势识别方法 行,根据手指的具体动作可定义为单点和多点手势、 触摸和移动手势,同时需要将手势映射到GIS 系统中 的具体功能上,表 1给出了系统中定义的手势和对应 的GIS 操作。 根据表 1可以建立如图2所示的状态转移模型。 当系统从外界接受事件后,可以从一个状态转移到另 一个状态。初始状态为空状态,即状态 0,当有一手 指接触屏幕时,可进入单指触摸状态 1,认为是模拟 鼠标的单击操作;按照接触屏幕的手指移动的形状, 可以分别进入状态2、3,静止重新返回状态1;在 状 态1的情况下,当有另一只手接触屏幕时,系统可进 入两指触摸状态 4,从状态 4根据两指相对移动的变 换方向分别进入状态5、6,两指静止重新返回状态。 当有手指离开屏幕时,系统将根据剩余的手指的状态 进行转移,当所有手指离开屏幕时,回归状态0。 Table 1. Multi-touch operation gesture 表1. 多点触摸操作手势 状态 手势名称 手指动作 地图操作 0 空状态 无 无触摸状态 1 单指触摸 静态单指触摸 对象选取,如显示 图例、帮助等 2 单指平移 手指水平、竖直或 倾斜沿直线运动 向不同方向移动地图 3 单指折线 移动 手指沿着折线运动 计算地图上多个点之间 的距离 4 两指触摸 静态二指触摸 计算地图上两点之间距离 5 两指分离 两指同时背离运动 地图按比例放大 6 两指靠拢 两指同时相向运动 地图按比例缩小 Figure 2. The state transition model of gesture 图2. 触摸操作手势状态转移图 4. 基于触点轨迹的手势识别方法 在根据触摸手势的触点个数,运动状态进行分类 的基础上,给出了一种基于触点运行轨迹的手势识别 方法。该方法实时采集和处理触点位置坐标,手势操 作完成后(所有触点均离开触摸屏)输出触摸手势结 果,响应时间比较短,无论是静态手势还是动态手势, 都能保证较高的正确识别率。手势识别方法的流程如 图3所示。 在识别该算法中,依据触点在触摸屏上停留的时 间是否在有效时间范围内判断是否为有效触点(有效 停留时间为800~1200 ms[11])。对于有效触点,依据触 点移动距离是否在阈值 s1 范围内判断为动态手势和 静态手势。即,若触点移动距离小于 s1,为静态手势; 否则为动态手势。 对于静态手势,依据静止触点的个数判断手势。 若是 1,则为单指触摸手势;若是 2,则为两指触摸 手势;若多于2,则为无效触点。 对于动态手势,依据触点间相对运动距离是否大 于阈值 s2 来判断是否有相对移动。若相对运动距离大 于阈值 s2,则为有相对运动;否则为无相对运动。 若有相对运动,依据触点间相对移动距离的变换 情况,判断为分离手势和靠拢手势。若相对距离变大 则为分离手势;否则为靠拢手势。 若无相对运动,先将多个移动触点的运动轨迹模 糊化处理为一个移动触点的运动轨迹。然后依据该有 Figure 3. The flowchart of gesture recognition method 图3. 手势识别方法流程图 Copyright © 2013 Hanspub 119 ![]() 一种多点触摸 GIS 交互手势识别方法 Copyright © 2013 Hanspub 120 Table 2. The results of recognition experimental 表2. 实验结果 手 势 正 确 率 斜率 阈值 单指触摸 单指平移 单指折线移动 两指触摸 两指分离 两指靠拢 Kx = 0.01, Ky = 1 s1 = 1, s2 = 2 52% 35% 25% 50% 48% 46% Kx = 0.10, Ky = 4 s1 = 2, s2 = 4 90% 86% 82% 90% 90% 92% Kx = 0.15, Ky = 6 s1 = 5, s2 = 10 99% 96% 95% 97% 98% 98% Kx = 0.2, Ky = 10 s1 = 8, s2 = 15 99% 90% 94% 96% 97% 96% Kx = 0.3, Ky = 15 s1 = 15, s2 = 20 99% 80% 95% 96% 82% 80% 效运动轨迹的形状判断手势。若轨迹是折线形状,则 为单指折线移动手势;若轨迹是一条直线,则为单指 平移手势,可根据直线斜率范围(x 轴的斜率范围是 −Kx 到Kx;y轴的斜率范围是Ky 到+∞,和−Ky 到−∞) 和触点移动方向判断为单指平移手势中的水平向右 手势、水平向左手势、垂直向下手势、垂直向上手势、 右下方手势、右上方手势、左下方手势和左上方手势。 若移动触点的运行轨迹为其他形状,则为无效操作。 在手势识别过程中,还需要记录相应触点坐标, 用来为点击操作、计算两点间距离提供准确位置数 据。若为单指折线移动手势,还需要记录运行轨迹中 折点的坐标,其余手势不需要记录。 5. 系统测试 在基于红外多点触摸技术平台的GIS 中,对表 1 定义的单指触摸、单指平移、单指折线移动、两指触 摸、两指分离、两指靠拢手势进行500 次识别实验, 结果如表2所示。 由表 2中的数据可得出,手势识别的正确率与手 势识别算法中的阈值大小(s) 和斜率大小(k)的设置有 很大关系,用户可根据客户端应用的精确度要求调整 阈值大小和斜率范围,使正确率达到最高。本文中使 用Kx = 0.15、Ky = 6、s1 = 5、s2 = 10 达到了比较高 的识别正确率。 6. 结论 本文给出了一个基于红外多点触摸技术的GIS。 该系统利用 Rear DI 技术搭建触摸操作平台,通过 TUIO 协议在触点追踪模块和 GIS 模块之间传递触点 轨迹。在定义GIS 操作对应的多点触摸手势及其状态 转移模型基础上,提出了一种基于触点轨迹的手势识 别方法。实验表明该方法在设定恰当的时间和距离阈 值条件下能够将触点轨迹识别成有效的交互手势,并 通过 MapX 完成对GIS 的操作。此外,由于采用了多 点触摸人机交互技术,该系统相对于传统的GIS 系统 具有更好人机交互特性和用户体验。 7. 致谢 本论文由陕西省自然科学基金项目(批准号: 2011JQ8015) ,西安市科技攻关项目(批准号: CXY1118(2)) 和西安电子科技大学高校基本科研业务 费(批准号:72114346)联合支持。 参考文献 (References) [1] A. Teiche, A. K. Rai, C. Yanc et al., 著, 张海云, 刘得志, 张振 邦, 译注. 多点触摸技术手册中文版[M], 2009. www.mt21.com [2] J. Y. Han. Low-cost multi-touch sensing through frustrated total internal reflection. Proceedings of the 18th Annual ACM Sym- posium on User Interface Software and Technology, Seattle, 2005: 115-118. [3] Y. Shi, C. Yu and Y. C. Shi. Finger Gesture Interaction on Large Tabletop for Sharing Digital Documents among Multiple Users. The 2008 First IEEE International Conference on Ubi-Media Computing, Lanzhou, 31 July-1 August 2008: 8-13. [4] 廖虎雄, 老松杨, 邵宏韬, 刘刚. 基于触摸屏的双手交互指挥 技术应用研究[J]. 国防科技大学学报, 2011, 33(4): 117-122. [5] 徐承志, 许承瑜, 钱铁云. 基于GIS 系统的空间查询语言[J]. 计算机科学, 2010, 37(6): 206-210. [6] 曲艳红, 孙秀平, 勾鉴. 基于MapGIS开发的国土资源电子政 ![]() 一种多点触摸 GIS 交互手势识别方法 务系统[J]. 测绘与空间地理信息, 2012, 35(3): 156-158. [7] 王德文, 赵文清. 基于 MapX 的地理信息系统的设计与实现 [J]. 微机发展, 2003, 13(5): 59-61. [8] 宋雪源, 李建文, 马国元, 孙助龙, 李军正. 基于 MapX 的 GPS 位置信息实时标注系统[J]. 海洋测绘, 2011, 31(1): 58-60. [9] TUIO 1.1 Protocol Specification [URL]. http://tuio.org/ [10] M. Kaltenbrunner, T. Bovermann, R. Bencina and E. Costanza. TUIO: A protocol for table-top tangible user interfaces. Pro- ceedings of the 6th International Workshop on Gesture in Hu- man-Computer Interaction and Simulation (GW 2005), Vannes, 2005. [11] 凌云翔, 张国华, 李锐, 叶挺. 基于多点触摸的自然手势识别 方法研究[J]. 国防科技大学学报, 2010, 32(1): 127-132. [12] 王鹏, 黄广连, 老松杨, 凌云翔. 一种红外多点触摸式双手交 互技术[J]. 小型微型计算机系统, 2009, 30(7): 1467-1472. Copyright © 2013 Hanspub 121 |