html5 js 多触点,多触点交互桌面左右手区分方法

随着普适计算、人机交互、计算机辅助协同设计等技术的不断发展,产生了以传统围桌为隐喻的多触点数字化交互桌面.此类数字设备使人们摆脱了鼠标键盘的束缚,可使用类似于日常操作桌面物体的方式直观、自然地操作数字内容.交互桌面在教育、医疗、设计、军事、娱乐等领域均有广阔的应用前景.

交互桌面使用自然的多指手势作为其主要的交互方式.对现有交互桌面手势交互技术进行总结可发现[,目前,交互桌面上使用的多为单手多指手势如多指放大、缩小、拖动,或者双手对称手势如双手放缩、旋转等,双手非对称交互用得很少.然而,文献[研究表明,在日常生活中,单手行为和双手对称行为数量较少,双手非对称行为是人们使用最多,也是最自然的行为.在文献[中,双手非对称交互技术的使用也间接地说明了交互桌面上使用双手非对称交互的自然性和直观性.此外,文献[中还指出,双手非对称交互中,左右手之间的分工会对任务的完成产生很大的影响.对于交互桌面,使其支持双手非对称交互的一个关键点为区分用户的左右手,为触点提供左右手信息,在此基础上才可为左右手分配不同的任务.

然而,目前主流的交互桌面系统[只能提供手指触点的位置和形状信息,触点的左右手归属信息通常均需凭借额外的硬件设备[,或者会对用户的交互有所限制,如使用某只手交互之前必须同时使用5个手指进行手指注册[.本文从交互桌面的交互特征出发,以Nielsen的手势设计原则[为指导,提出了交互桌面手-臂系统三角形模型,并定义了交互桌面用户双手交互的手势空间,以此为基础,提出了多触点交互桌面同手触点聚类方法及左右手识别方法.该方法基于人机工效学原理,无需借助辅助的硬件设备,可在用户自然交互输入的起始时刻提取单个或者多个手指的左右手信息.

本文的主要贡献如下: 其一,提出了适用于交互桌面交互的手-臂系统三角形模型;其二,提出了一种交互桌面同手触点聚类方法;其三,提出了一种交互桌面左右手识别方法;其四,对多触点跟踪包MTDriver[进行扩展,实现了可发送触点左右手信息的EMTDriver;其五,设计了一系列基于左右手信息的交互桌面双手非对称交互技术.

1相关工作

基于计算机视觉方式的交互桌面,由于成本低廉、实现简单,已成为目前构建交互桌面的主流方式.其实现原理主要有FTIR技术[、DI技术[、LLP技术[等.此类系统能够捕获用户输入的触点斑点信息,并通过触点检测跟踪等处理,提供触点位置、触摸面积等信息,但通常不包括触点左右手归属信息.Diamondtouch[采用电容传感的方式检测用户输入,而且通过把人和座椅连接到传感回路中,可判断某一输入来源于哪位用户,但只提供用户身份信息并不包括具体的左右手信息.

获取交互桌面触点手的信息可进一步增强交互桌面系统的交互能力,这已经引起了研究人员的极大兴趣. Benko等人[使用肌肉传感器感知用户当前手指的运动,使用该方法可提取单个手的手指信息,如当前点为食指或者中指,但不能判断当前点的左右手归属.Marquardt等人[使用fiduciary-taggedglove可识别用户手各部分的信息,如指尖、手掌、手背、手的侧面,区别同一用户的不同手以及多个用户的手.Dohse等人[通过在交互桌面上方添加摄像头来跟踪用户的手,将触点检测和手跟踪的结果相结合来获取触点所属手信息.类似地, Wilson等人[在桌面顶部添加深度相机,利用深度相机获取手指触点所属用户、用户手臂及用户手的信息. Murugappan等人[也利用桌面顶部深度相机获取触点手归属、手的左右手手性以及手姿势等信息.这些方法虽然可以提供用户左右手信息,但需要额外的硬件设备,一方面增加了系统的成本,另一方面也增加了系统的复杂度.

提取手信息也有一些基于软件的方法.Dang等人[利用手指触点距离、方向和运动信息来区分当前输入触点是来自于同手还是不同手.本文利用的触点信息与该方法相类似,但本文在触点信息的基础上还添加了用户的行为习惯和人体工学约束信息,这使得本文算法不仅可以判断触点是否来自于同手,而且可以判断该手是左手还是右手.Franks等人[利用人手解剖学特征构建了人手的经验模型,并构造了决策树分类器来区分用户的左右手.Au等人[提出了一种交互桌面手指注册方法,用户将某只手的所有手指放置在交互桌面上任意位置即可完成手指注册,系统首先根据手指触点中心点与手心连线之间的夹角判断大拇指,在此基础上即可判断每一手指触点对应的手指名称,也可判断该手是左手还是右手.该方法要求用户在操作之前使用某只手的所有手指操作进行注册.本文方法没有这一约束,用户可与系统自然地进行交互.Micire等人[的方法在用户将手置于界面上时即可检测当前手是左手还是右手,但其方法也要求手的5个手指同时操作.

在文献[中,Wang等人提出可利用手指触点方向角信息推测触点手、用户身份等信息.受此文思想的启发,本文基于手的解剖结构特征对交互桌面上用户双手操作时左右手手指触点方向角具有的不同特点进行分析,并提出一种不需辅助硬件设备的触点左右手识别方法.

2手-臂系统三角形模型

现有基于软件的触点左右手识别方法其识别原理主要是利用了用户手大拇指的特殊性,根据大拇指的位置判断触点的手性.这类方法的不足之处在于要求用户手的5个手指同时输入,这在很大程度上限制了用户的交互.为了去除对用户的这一限制,本文提出手-臂系统三角形模型来判断手指触点的左右手手性.该方法对用户使用手指个数没有限制,可识别用户在自然舒适情况下操作的任意多个手指的左右手手性.

Nielsen指出,基于用户的手势设计应遵循4条核心的指导原则[:容易操作和记忆、直观性、与具体功能有相关性并应满足人体工学设计.由于人手解剖结构的约束,人的手腕及手指只能在一定范围内活动,如果手势设计得不合理,会使手负担过重而受到伤害.Nielsen给出手势设计中应考虑的6条人体工学原理:避免机体处于极限位置、尽可能地使肌肉处于放松状态、尽可能地使机体处于其极限状态的中间位置、避免机体动作的重复、避免保持某姿势不动、避免使关节受力.与交互桌面交互相关的手腕运动包括伸展或者屈曲、绕尺骨或者桡骨偏离,如图 1所示.

图 1

Fig. 14cf716a8dabe4e23998db821412722a0.pngFig. 1 Range ofwrist movements图 1 手腕活动范围

Wobbrock[针对交互桌面上的27个常用命令进行用户研究并统计得出执行这些命令用户习惯使用的手势,如右手食指Tap手势可用于选择单个对象.对Wobbrock定义的27种常用手势进行观察,可总结出用户在交互桌面上操作习惯使用的手指配置关系有:

1)大部分手势由1个、2个、3个或者5个手指完成;

2)1个手指的操作全部使用食指完成;

3)2个手指的操作由大拇指-食指或者食指-中指完成;

4)3个手指的操作由大拇指-食指-中指或者食指-中指-无名指完成;

5)4个手指的操作由大拇指-食指-中指-无名指或者食指-中指-无名指-小指完成.

在Vennelakanti对多指交互的用户行为习惯的研究中[也有类似的结论.考虑双手非对称交互的情况,双手十指可能的组合共有(1+2+2+2+1)x2+(1+2+2+2+1)2=80种.用户使用上述手指组合可以做静态手姿势、动态手姿势、带轨迹的静态或者动态手姿势[.

自然多指手势交互是交互桌面上最主要的输入方式,为了避免用户长时间操作造成的不适,在设计手势的时候,对于静态手姿势与动态手姿势,应尽可能地避免手腕绕桡骨和尺骨偏离使手腕处于中性位置;对于带轨迹的静态或者动态手姿势,应尽可能地在轨迹最初输入的时候使用户手腕处于自然伸直状态.从图 1可以看出,当用户手处于桡骨和尺骨的中性位置时:在用户四指(大拇指除外)并拢的情况下,四指的方向与手腕的方向保持一致;在四指自然张开的情况下,中指的方向与手腕的方向基本保持一致.当用户单个手指操作时,使用的通常为食指,手指方向与前臂方向几乎一致;当单手多手指同时操作时,四指方向角的均值与中指的方向角也非常接近,所以,用户四指的方向角可近似地使用前臂方向来表示.对于用户双手均可及的操作区域中的某一位置,用户既可以用左手操作,也可以用右手操作,但使用不同的手其前臂方向会有明显差异,这一差异不会因用户身体扭动或者手臂的伸长、缩短而改变.用户身体、前臂、手(不包括大拇指)三者可抽象为如图 2所示的三角形模型,通过该三角形模型,可明显看出左右手在操作时的差异.该三角形由用户手、前臂、前臂延长线、两肩连线的延长线组成,随着身体的扭动,该三角形也会随之旋转,如图 2中虚线三角形所示.图中长虚线为用户身体中心位置对应的屏幕位置与屏幕中被操作对象的连线.由图 2可知,对于屏幕中同一被操作对象,使用左手操作,其左前臂方向总是小于基准角度(长虚线与X轴的夹角),也即手指触点方向角小于基准角度;同理,使用右手操作,其产生的触点的方向角总是大于基准角度.由此,可根据触点角度判断触点左右手的归属.该三角形模型对于用户单个手指操作和单手多个手指操作均是适用的.在单手多个手指操作的情况下,可以求取多个手指触点方向角的均值,使用这个平均角度与长虚线的角度进行比较.为了明确手指方向角的含义,建立如图 3所示的坐标系,X轴与用户所在的那一边平行,手指方向角为手指触点拟合椭圆长轴延长线与X轴正向所成的夹角q,其取值范围为(0°~180°).对于每一个手指触点,均可使用四元组Finger={center,q,a,isLeft}描述,其中,center为触点拟合椭圆的中心点(x,y),q为手指方向角,a为触点所在位置的基准角度,isLeft为触点的左右手手性.接下来将具体论述左右手区分方法.

图 2

Fig. 2ad1810c75693f4923556d26eebe7fc98.pngFig. 2 Hand-Arm triangular model图 2 手-臂系统三角形模型

图 3

Fig. 3fbeb41d55418d2a8d02e62b142065e07.pngFig. 3 Finger contact coordinate system图 3 手指触点坐标系

3多触点交互桌面左右手区分方法

3.1多触点交互桌面左右手区分方法概述

多触点交互桌面左右手区分方法流程如图 4所示.

图 4

Fig. 4f34d6463d023bd24a0bddb6a5b469627.pngFig. 4 Left-Righthand recognizing flow chart图 4 左右手区分方法处理流程

区分过程主要包括3大步:原始图像预处理、触点聚类及左右手判定.预处理过程主要用于计算后续手指聚类所需的基本信息,包括对原始图像进行一系列图像处理,计算手指触点方向角以及辅助数据模型互斥矩阵、距离矩阵的初始化.触点聚类过程主要用于将属于不同手的触点分类,虽然双手交互过程中用户手指的使用具有很大灵活性,但由于人手解剖结构的约束,其可能性空间大为减少.本文按照触点两两之间的距离分情况讨论,针对每一距离阈值范围定义相应的判定条件,如同手手指两者之间的距离不可能大于某一阈值、同手相邻较近的两手指触点方向角角度差不可能大于某一阈值等,根据这些条件判定两触点属于同手还是不同手,以此为据更新互斥矩阵直至将所有触点均分类.最后,根据触点所在位置以及手-臂系统三角形模型判定触点左右手.下面将详细介绍上述3个步骤.

3.2预处理

触点左右手归属判定的一个重要依据是手指触点方向角,触点方向角获取的准确度会直接影响判定效果,预处理过程的关键在于计算正确的触点方向角.一般的计算方法是对图像进行二值化,在轮廓提取的基础上做椭圆拟合,但由于交互桌面上的红外光照射不均匀,手指个数较多时会出现相邻触点遮挡现象,此时,将二值化阈值设置过大会产生多个小碎片区域,也即1个手指触点被检测为多个手指;将二值化阈值设置过小会产生一个大的粘连区域及多个手指触点被检测为1个手指,故使用二值化方法检测触摸手指的准确度很低.本文基于文献[中检测极值点的思想对图像中的触点区域进行检测.方法流程如图 5所示.首先,对原始图像做背景去除、高通滤波、图像增强处理;然后遍历图像的前景像素,前景像素值大于八邻域的像素点即为一个极值点,然后以极值点为中心检测触摸区域;对检测的触摸区域逐一作椭圆拟合,考虑到交互桌面交互的实时性要求,此处椭圆拟合所用方法为计算待拟合轮廓的轮廓线上相邻最远的两点连线作为拟合椭圆的长轴,短轴长度为长轴长度的一半,拟合椭圆长轴与X轴正向的夹角即为相应手指触点的手指方向角.文献[中通过构建区域树使用基于跟踪的方法解决触摸碎片和触点粘连的问题,由于本文左右手区分方法旨在用户初始输入的时刻即可给出触点的左右手信息,故仅利用了检测到新增手指的帧图像,对连通且较小的区域直接融合,连通且较大的区域则作为两个手指触点区域,经过多次测试选取经验阈值150像素.图 6为部分区域检测结果,黑白图为图像增强后的效果,对应的灰度图为区域检测结果,图 6(a)为触点遮挡较严重情况下的区域检测效果,图 6(b)为手指触点断裂情况下的区域检测效果,图 6(c)为触点粘连情况下的区域检测结果.

图 5

Fig. 5dd9b130ffbf26430739c5fa4e08dc93a.pngFig. 5 Preprocessing图 5 预处理流程

图 6

Fig. 663924054835144aabe73b9d43aea132d.pngFig. 6 Touch regionsdetecting results图 6 触摸区域检测结果

在触点聚类过程中,会用到两个很重要的数据模型:互斥矩阵及距离矩阵.互斥矩阵是触点聚类的重要依据,互斥矩阵Rnumxnum=(rij)numxnum中保存图像中手指两两之间同手及异手的情况,其中,num表示当前手指触点的个数.在预处理过程中对R初始化,初始状态rij=2,表示手指Fi与Fj尚未分类.在聚类过程中,若确定Fi与Fj不属于同一只手,则置rij=0;若属于同一只手,则置rij=1,聚类的过程即为更新该互斥矩阵的过程.距离矩阵Dnumxnum=(dij)numxnum中保存图像中手指两两之间的距离,触点Fi与Fj之间距离

1752f214c57b82c416cf61b113edfc16.png为触点拟合椭圆中心点之间的距离,初始状态dij=0.此外,使用Handness数组保存触点分类结果,H[i]=1表示触点Fi属于1类,H[i]=2表示触点Fi属于2类,iÎ[1~num],初始H[i]=0.

3.3触点聚类

利用上述三角形模型,可准确地识别四指的左右手手性,但由于大拇指的特殊性,给左右手区分带来了很大难度.为此,当同时输入的触点个数大于1时,首先需要将属于同一只手的触点进行聚类,然后再利用三角形模型做左右手识别.触点聚类过程根据触点两两之间距离的不同,分3种情况依次进行处理.触点聚类使用的3个距离阈值分别为:同手相邻两指(不包括大拇指)最大距离Dadj,同手大拇指与食指最大距离Dthumb,同手手指最大距离Dmax.此处3个阈值的取值分别是:Dadj为30,Dthumb为60,Dmax为75,单位均为像素.聚类过程依次分dij>Dmax,dij< Dadj,Dadj

判定1:若两触点距离dij>Dmax,则Fi与Fj属于不同手.这一判定条件可以有效地判定两手相距较远的情况;对两手相距较近且手指个数较多的情况,可以确定部分触点之间的关系.在如图 7(a)、图 7(b)所示双手相距较远的情况下使用判定1可有效判定触点间同手或者不同手关系;在如图 7(c)、图 7(d)所示双手相距较近的情况下,通常可判定手指1与手指9、手指10不同手,手指6与手指4、手指5不同手.

图 7

Fig. 79d8bd8b25bfe16b26589c47c0c8dbd84.pngFig. 7 Handspositions图 7 双手位置

判定2:若两触点距离dij

图 8

Fig. 889a5bf9618c6d44ca56f47351ad90a53.pngFig. 8 Closercontacts orientation angles relationship图 8 相距较近触点角度关系

判定3:两触点距离dij处于阈值范围Dadj

图 9

Fig. 9de7a092c95f36e28b81faf202611f985.pngFig. 9 Possiblefingers positions图 9 手指可能位置

上述3步判定按顺序依次进行,每一步判定的结果均保存在互斥矩阵中.互斥矩阵初始化后只做一次赋值,也即以首次判定结果为准,每次判定结束后按照互斥矩阵对触点做一次分类,若不能将所有手指分类,则进入下一步判定,触点分类初始化后也只做一次赋值.

3.4左右手识别

触点聚类将属于同手的触点归为一类,左右手判定将识别某类是左手触点还是右手触点.判断当前分类的个数,若有两类,则选取触点个数较少的一类做判断,另一类的手性可随之确定,具体识别方法如下:

首先,根据该类触点重心所在交互桌面位置作初步判断.用户双手在大幅面交互桌面上的操作范围受限于手臂长度.中华人民共和国电力行业标准(DL/T 575.3-1999)对控制中心用户坐姿状态时人手可及范围与操作区域进行了详细划分,如图 10所示.这一划分对于交互桌面同样适用.用户在交互桌面上操作时,其左右手分别可及范围是有限的,桌面上的某些区域只有左手可及为左手操作区,某些区域只有右手可及为右手操作区,某些区域双手均可及为双手操作区.可首先根据触点位置判断触点左右手归属,若触点在左手操作区则属于左手,若触点在右手操作区则属于右手,若触点在双手操作区则需做进一步判断.若该类触点个数大于1,则可计算该类触点重心,根据重心所在区域判断该类触点手性,如果重心位于双手操作区则做下一步的判断.

图 10

Fig. 1027596bfbffdd8c5f345fe5eacdc9d822.pngFig. 10 Consoledesktop hands available areas图 10 控制台台面上双手可操作区域

其次,对处于双手交互区的触点类,根据该类触点的个数分情况做判断.触点个数若为1,则该触点为食指,根据三角形模型判断该点手性;若为2,则为食指与大拇指或者食指与中指,判断两触点中心点之间距离,若距离Dmin

图 11展示了输入为1~10个手指触点时分组及左右手识别的部分实验结果,每组结果的左边为原始图像,右边为识别结果.其中,分组结果用字母和数字表示,大写字母表示未分类,小写字母为一组,数字为一组;左右手识别结果用不同拟合形状表示,矩形表示左手触点、椭圆表示右手触点.1个手指输入时,如图 11(a)、图 11(b),触点无分组信息但仍可提供左右手识别信息;本文方法可识别1~10个任意个数的手指输入;可支持单手操作、双手对称及不对称操作;支持双手的自然交叉操作,如图 11(o)所示.

图 11

Fig. 1182ccf2f86478c0204d2844e58ce71f46.pngFig. 11 Clusteringand left-right hand recognizing results图 11触点分组及左右手识别结果

4 交互桌面左右手区分方法的应用

我们将本文左右手区分方法集成到MTDriver[工具包中.MTDriver是一个基于视觉原理的多触点交互桌面多点检测跟踪工具包,通过处理原始输入的视频流,向应用程序发送触点的添加、更新、移除等信息.扩展后的MTDriver可以向应用程序实时发送带有触点左右手信息的触点数据.利用该左右手信息可辅助多指手势识别,也可设计双手非对称交互技术.

4.1左右手区分方法与MTDriver的集成

将左右手区分方法集成到MTDriver工具包后,EMTDriver(extended MTDriver)的数据流程如图 12所示,橙色部分为新扩展部分.视频帧经背景去除、图像增强、高通滤波等一系列图像处理后,对输出图像做区域检测、触点跟踪.对一帧图像跟踪结束后,若此帧图像有新增手指触点,则调用左右手区分方法对本帧图像进一步处理以提取新增触点左右手信息,该左右手信息通过触点跟踪传递给下一帧更新的点.此处需要注意的是,虽然是对同一视频帧进行处理,但触点跟踪所得手指触点与左右手区分算法所得手指触点的触点中心并没有完全重合,有时会有微小的偏差,需要对两个处理结果做最近邻触点配对.发送的触摸事件中添加触点左右手信息,TUIO触点模型中也需要添加触点左右手信息.EMTDriver集成效果如图 13所示,其中,图 13(a)为EMTDriver跟踪识别效果,矩形表示左手,椭圆表示右手;图 13(b)为基于TUIO客户端开发的多点触摸应用程序,该程序可绘制当前输入触点的轨迹及左右手信息,其中,空心圆表示左手,实心圆表示右手,圆点表示手指当前位置,线段表示手指划过的轨迹.由于EMTDriver基于多触点信息发送通用协议TUIO,所以基于TUIO协议的多触点应用程序可以很方便地使用EMTDriver提供的左右手信息,而且EMTDriver的使用不会对现有多触点应用程序造成任何 影响.

图 12

Fig. 12961358eb5f17877d6a444a9371166480.pngFig. 12 EMTDriverdata flow图 12EMTDriver数据处理流程

图 13

Fig. 133de5f7deab0d03519346e82a8434d1fa.pngFig. 13 EMTDriverintegration effects demo图 13EMTDriver集成效果示意图

4.2EMTDriver的应用

Guiard在文献[中指出,双手非对称行为是人们日常生活中使用最多也是最自然的行为.本文方法获取的用户左右手信息相当于拓宽了多触点交互桌面的输入带宽,可以用来实现更为自然、直观的多触点交互桌面交互技术.下面将举例说明左右手信息在交互桌面中的应用.

例1:文本输入控制.通常在多触点交互过程中,当需要文本输入时,需要使用菜单显式地调用虚拟键盘,并且将虚拟键盘的输入方式通过按钮显式地转化为手写输入.从日常生活和工作中可以看到,人们在需要书写的时候,总是左手按纸右手执笔写字.以此为启示,在特定上下文中,可以将左手多指输入信息作为文本输入的起始条件,然后,系统切换到文本输入状态,然后,右手使用手指进行手写输入.

例2:三维交互控制.对三维空间中物体的控制需要6DOF,分别为绕空间坐标系3个坐标轴的旋转[y,q,φss]以及在3个坐标轴上的位移[dx,dy,dz].交互桌面多指(手指个数不小于2)输入为3DOF,即[dx,dy]及绕Z轴的旋转[φ].在区分左右手、使用双手多指输入(每只手使用的手指个数不小于2)的情况下,可以提供6DOF的输入,问题的关键在于:如何对左右手进行分工,才能使3D交互控制自然而直接.通常情况下,人们总是习惯左手把持、旋转物体,并使用右手指点物体;在左手把持物体时,右手旋转物体,如拧螺丝或者拧瓶盖,顺时针可使物体上移、逆时针可使物体下移.受此启发,可以使用左手控制3D物体的旋转操作,右手控制3D物体的平移操作.具体而言,可使用左手的上下操作控制角度y即绕X轴的旋转,使用左手的左右操作控制角度q即绕Y轴的旋转,使用左手的旋转操作控制角度f即绕Z轴的旋转,使用右手的左右操作控制dx即X轴的平移,使用右手的上下操作控制dy即Y轴的平移,使用右手的旋转操作控制dz即Z轴的平移.如图 14所示,图中箭头方向表示手指的移动方向.

图 14

Fig. 14d47fd4c34a2f6b76e88d32965c03eab6.pngFig. 14 Right-Lefthands used in 3D interaction图 14 左右手用于3D交互控制

例3:浮动工具条的控制.目前,交互桌面上的工具条存在以下一些问题:① 工具条的图形界面通常都要占用较大的屏幕空间,尤其是在交互桌面环境下,由于有“胖手指”的问题,通常将界面控件设计得比较大;② 基于视觉的交互桌面,由于硬件原理的限制,在桌面靠近边缘的位置进行输入的时候会出现输入不准确的情况.可以以画家的“调色板”为隐喻,将工具条设计为可浮动的,左手控制工具条的位置,右手选取当前上下文所需命令,如图 15所示.

图 15

Fig. 1537087fff0e7a08e6eca74afb1daee442.pngFig. 15 Free to stoptoolbox图 15随意停工具条

5 实验评估

实验评估内容包括:用户自然操作情况下手指触点聚类结果的正确率、聚类基础上左右手识别的正确率以及触点左右手识别的正确率.实验使用的多触点交互桌面基于LLP(laser light plane illumination)技术,其长、宽、高分别为140cm,104cm,90cm.软件平台的配置为MicrosoftWindows XP Professional版本2002 Service Pack 3.实验邀请了12名研究生(6男6女,均习惯用右手)参与,年龄为23岁~29岁.

用户任务为逐一完成本文第2节中定义的80个手势,用户手做好手势后,以自然舒适的方式将手置于交互桌面上,实验人员使用flycap软件以图像方式保存用户输入,同时使用相机拍摄用户双手实际操作情况,用于后期与识别结果做参照.拍照完成后,用户抬手,换做另一手势.每一手势重复3遍,其中有1遍实验人员会提醒用户双手相距近一点,其余2遍无特殊提示,用户根据直觉进行输入.在实验1中,本文选用图像方式保存用户输入,用户每次输入均需放手、抬手,通过用户手的多次放置,可模拟用户在实际交互操作中双手初始输入时的情况,实验结果可间接验证三角形模型的可靠性.

实验中,我们总计获取了12x80x3=2880张手指触点图片,其中有7张图片由于用户手指输入方向过于垂直,产生的触点接近于圆,故将其去除,还剩2 873张图片,共15505个触点,分类正确的点的个数总计14 759个,分类正确率为95.2%.在分类正确基础上,左右手识别正确的触点个数为14 165个,识别率为96%.本文方法左右手识别的平均识别率为91.4%,与文献[中给出的基于特征的区分方法的识别率80%相比有明显的提高.图 16了给出本文方法在触点个数为1~10时触点分类正确率、分类正确情况下的左右手识别率以及相应触点个数下的左右手识别率.本文方法在触点个数为1时,左右手识别率为97.2%,与文献[中给出的方法相比,不仅能够识别单个触点情况下的触点手性,而且具有较高的准确率,在触点个数为1情况下的正确率也反映了手-臂系统三角形模型的可靠性;当触点个数为2时,触点分类正确率最低,触点聚类正确率为90%、左右手识别率为86.4%;此后,随着触点个数的增加,触点聚类与左右手识别正确率均呈上升趋势,在触点个数为10的情况下,触点聚类正确率达98.9%,左右手区分正确率达98.3%.

图 16

Fig. 16c65e5dd58e4139b3fd251bf2a5e2f552.pngFig. 16 Accuracy of clustering andleft-right hand recognizing图 16 触点聚类及左右手区分正确率

当手指个数较少(1~4个)时,触点分类可利用的信息较少,判定结果主要受触点方向角准确度的影响.单个触点情况下,由于不存在触点遮挡、粘连等问题,手指方向角正确率较高,因此,1个手指输入时的识别率较高.2个触点情况下,实验中导致分类错的主要原因为有的用户在输入食指-中指组成的手势时,习惯于将两手指相距很近甚至并拢,导致出现触点粘连方向角计算错误;在方法设计过程中考虑到的将一手食指误识为另一手大拇指的错误情况在本实验中并没有出现,一个可能的原因是这种姿势并不自然,出现的概率很小.随着手指个数的增加,分类准确率也相应地增加.当手指个数较多时,由于手指相互之间相距较近,正确率主要受触点粘连的影响.在下一步工作中,我们将深入研究触点方向角精确提取方法.

图 17给出了不同手指个数下的识别时间.图 17表明,本文提出的方法在不同手指个数下的识别时间较为稳定,平均用时11.55ms(SD=2.3ms),最大值16ms,可满足交互桌面交互实时性要求(通常情况下,帧率在30Hz以上用户即可接受[,对应的每帧处理时间为33.3ms).

图 17

Fig. 1713bbb80e19eeb7309a102e25a4556e98.pngFig. 17 Execution times of left-right handrecognizing图 17手指左右手识别用时

6 结束语

触点所属手及左右手手性信息的提供,对于多指手势识别、丰富双手交互技术,尤其是非对称双手交互技术具有重要意义.本文针对目前主流交互桌面设备缺少触点左右手信息这一问题,提出一种便捷的多触点左右手归属方法,该方法无需添加辅助硬件设备,适用于能够提供具有手指触点形状输入的原始图片的交互桌面.

·本文从交互桌面的交互特征出发,以Nielsen的手势设计原则为指导,提出了交互桌面手-臂系统三角形模型,并定义了交互桌面用户双手交互的手势空间.

·以此为基础,提出了多触点交互桌面同手触点聚类方法及左右手识别方法.

·对MTDriver进行扩展,实现了可提供左右手信息的多触点跟踪工具EMTDriver.该工具的开发,为左右手信息的实际应用奠定了基础.

·基于交互桌面双手非对称交互技术的设计,为左右手信息在交互桌面上的应用提供了几种可能的 途径.

评估表明,该方法可有效地对同手触点进行聚类及左右手识别,而且具有较好的时间性能,满足交互桌面交互实时性要求.

在下一步工作中,本文方法将考虑在如下两个方面加以改进:

·其一,本文方法的正确率受触点方向角准确率的影响较大,为了提高文中方法的正确率,我们将深入研究基于视觉的交互桌面触点方向角获取方法;

·其二,该方法目前仅局限于固定位置的单用户使用,接下来,我们将探讨用户身份区分方法,并考察该方法在多用户情况下的应用情况.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值