一种基于笔划的多指触控手势识别方法

文档序号:6357133阅读:165来源:国知局
专利名称:一种基于笔划的多指触控手势识别方法
技术领域
本发明属于人机交互领域,具体涉及一种基于笔划的多指触控手势识别方法。
背景技术
目前,iPhone, il^d、桌面设备等多触控设备变得越来越流行。这些触控设备在 我们的日常生活中发挥着重要的作用。手指或手触控是这些设备的主要输入通道。这种 交互方式被广泛应用于一些平台上,如iPhone OS、Windows Phone 7、Android、Wacom、 GestureWorks、Microsoft Surface等。然而,这些系统只支持少量预定义的多指触控手势。 用户需要严格的使用这些手势,否则手势不能被正确识别。例如,放缩一个对象常常使用基 于两个手指的Pinch手势。当多于两个手指被不经意地放到触控平面上时,系统可能不能 正确识别触控手势,因而不能完成放缩任务。类似地,当用户通过拖拽移动对象的时候,手 指需要与触控面一直接触直到对象到达目标位置。偶然抬起手指将被认为是移动操作的结 束。因此,对象被放置在错误的位置。这种对用户触控行为的约束限制了多指触控交互的 适应性。用户需要严格遵循系统定义的多触控手势,对扩展多指触控手势的范围也提出了 挑战。用户更喜欢自己定义的手势,这些用户定义的手势比已有的手势更加灵活(参考文 献:ffobbrock, J. 0. , Morris, Μ. R. and Wilson, A. D. User-defined gestures for surface computing. InProc. CHI 2009,1083-1092.)。当用户自定义手势时,用户并不关心手势输入 时所采用的手指的个数。尽管开发者可以使用GestureWorks等手势库建立新的手势,已有 的手势识别方法大部分为特定手势设计,如pinch和flick。由于新手势需要新的模块来识 别新手势,这些库难于识别用户定义的手势。因此,目前已有的多触控手势识别方法要求用户按照给定的方式输入手势,并不 支持用户自定义的手势的识别。触控手势识别面临如下挑战(如图2所示)a)冗余输入,由用户不经意的触摸、 用户同步的多个手指输入引起;b)间断的输入,由用户无意识的抬起引起;c)手指输入的 变形;d)笔划顺序的不一致性。图2中每行中的三幅图分别反映触控手势的接触面积、位 置信息,按照手指ID区分的笔划信息,以及按照时间顺序连接得到的笔划。

发明内容
针对现有技术中存在的技术问题,本发明的目的在于提供一种基于笔划的多指触 控手势识别方法,从而提高多触控手势的鲁棒性并扩展多触控手势的集合。基于笔划的多 指触控手势的定义不依赖于手指的个数、接触区域的形状或面积,将触控手势抽象为一个 或多个笔划。其识别过程采用笔划匹配的方法识别多指触控手势。本发明的技术方案为一种基于笔划的多指触控手势识别方法,其步骤为1)提取用户在触控设备上所输入触控手势的触控点信息;其中,所述触控点信息包括当前触控手指的标识ID、当前触控点的位置(X,y)、触控点的时间time ;2)根据所提取触控手势的触控点信息,将具有相同ID的触控点构建为触控笔划;3)对构建的触控笔划进行去冗余处理,即对于同一时间段的任意两个触控笔划 A和B,如果A和B中具有相同时刻的触控点之间距离的最大值、最小值之差与平均值的比 值介于设定阈值Li、L2之间,则删除其中一触控笔划;4)检查幻处理后的触控笔划,当一触控笔划的末点触控点时间和坐标与另一触 控笔划的起点触控点时间和坐标对应差值分别小于设定阈值,则连接这两个触控笔划;5)将4)处理后的触控笔划构成的手势与手势库中的手势进行匹配,得到输入触 控手势的类型。进一步的,所述步骤3)中,如果A和B中具有相同时刻的触控点之间距离的最大 值、最小值之差与平均值的比值介于设定阈值L1、L2之间,且A和B的大小相似度介于设定 阈值Si、S2之间,且A和B的方向相似度介于设定阈值D1、D2之间,则删除其中一触控笔 划。进一步的,如果步骤4)处理后的触控笔划多于2个,则根据触控笔划末点触控点 时间与起点触控点时间计算触控笔划的时间长度,保留时间长度最长的两个触控笔划。进一步的,对步骤4)处理后的触控笔划进行归一化,其方法为1)对触控笔划进行平滑处理;2)对触控笔划进行排序如果两触控笔划的大小不相似,则将较小的笔划位于笔 划序列的第一个;若笔划大小相似,则将左边的笔划为笔划序列中的第一个笔划;3)对排序后的触控笔划重采样,使触控笔划内触控点的间隔大小相同;旋转触控 笔划,使第一个笔划包围框的中心点到第二个笔划包围框中心点的连线旋转到水平方向; 放缩触控笔划,使触控笔划所构成手势的大小放缩到设定大小;平移触控笔划,使触控笔划 所构成手势所包围框左上角坐标为(0,0)。进一步的,计算两触控笔划A和B的大小相似度的方法为根据触控笔划中触控点 的坐标,计算触控笔划包围框的宽度和高度;然后根据width/widtl·^ heightA/heightB得 到笔划A和B的大小相似度;其中,widthA、heightA分别是笔划A的包围框的宽度和高度, widths heightB分别是笔划B的包围框的宽度和高度。进一步的,根据(end)(A-start)(A) / (end)(B-start)(B)、(endYA_startYA) / (endYB-startYB)计算触控笔划A和B的方向相似度;其中,(startXA, startYA)为笔划A起 始点的坐标,(endXA, endYA)为笔划A终点的坐标,(startXB, startYB)为笔划B起始点的坐 标,(encD(B,endYB)为笔划B终点的坐标。进一步的,所述阈值Ll = 1/4,所述阈值L2 = 4。进一步的,所述阈值Li、阈值Si、阈值Dl均相等;所述阈值L2、阈值S2、阈值D2均相等。进一步的,对于基于视觉的触控设备,采用图像检测算法检测所输入触控手势的 触控信息。具体来说,本发明的技术方案如

图1,具体如下1、用手指在触控设备上输入触控手势,采用手指检测算法提取触控信息。
触控设备既可以是iPhone等移动设备,也可以是Surface等触控交互桌面。触控 手势可以是单手手势,也可以是双手手势;可以是单笔划手势,也可以是多笔划手势。对于基于视觉的触控设备,可采用计算机图形学中的图像检测算法检测手指的 输入(参考文献:Han, J. Y. Low-cost multi-touch sensing through frustrated total internal reflection. In Proc. UIST 2005,115-118.);对于基于电容的触控设备,通 过检测由手指带来的电容场的变化来检测手指输入(参考文献Dietz,P. and Leigh, D. DiamondTouch :a multi-user touch technology.InProc. UIST 2001,219-226.) TouchLib和reacTIVision为开发者提供了基于红外光的手指和手检测的功能。触控点的信息可表示为(ID, X,y,width, height, area, time)。其中,ID是当前 触控手指的标识,(x,y)为当前触控点的位置,width、height和area分别表示当前触控点 的手指与触控平面的接触区域的宽度、高度和面积,time为触控点的时间。在同一时刻,不 同的触控手指会对应不同的ID ;当某一手指触摸交互桌面并且没有抬起时,在不同时刻该 手指的ID不变;当手指抬起后,再次触摸时,手指触摸会对应新的ID。2、提取触控输入中的有效笔划。每个触控笔划由具有相同ID的触控点组成。触控笔划中的触控点可以用ID(x,y, time)表示。笔划是由一系列的笔划点组成,每个笔划点具有(X,y,time)属性。提取有效 笔划主要由两部分组成1)去除冗余的笔划。冗余笔划往往在时间上与有效笔划重叠;冗余笔划在形状上 与同时间段内的有效笔划类似,冗余点与有效点间的距离较为稳定;冗余笔划与有效笔划 的方向一致。因此,利用如下特征判断是否去除某一笔划。假设A和B是在同一时间段的笔划,B的开始时间小于或等于A,判断B是否是冗 余笔划的方法如图5所示。widthA、heightA分别是笔划A的包围框的宽度和高度,widths heightB分别是笔划B的包围框的宽度和高度,widthA/widthB和height/heigh、描述了 笔划A和笔划B大小的相似度。maxDiSt、minDiSt、aveDiSt为两个笔划中相同时刻的对应 点之间的最大距离、最小距离和平均距离,(maxDist-minDist)/aveDist描述了两个笔划中 相同时刻的对应点之间的距离关系。(start、,startYA)为笔划A起始点的坐标,(encD(A, endYA)为笔划A终点的坐标,(startXB, startYB)为笔划B起始点的坐标,(endXB, endYB)为 笔划 B 终点的坐标,(endXA-star+tXA) / (endXB-startXB),(endYA-startYA) / (endYB-startYB) 描述了 A和B方向的一致性。当 wi dthA/w i dthB> he i ghtA/he i ghtB> (maxD i st_mi nD i st)/aveD i s t、 (endXA-startXA) / (endXB-startXB) > (endYA-startYA) / (endYB-startYB)的值均介于 thresl 和thres2之间时,B为冗余笔划,被从触控笔划中去除。thresl和thres2是两个阈值,可 以经验性的设置为1/4和4。2)连接断掉的笔划。无意识的抬起操作可能引起原本连续的笔划被检测为多个分开的笔划。断开的笔 划时间上不重叠,但从时间和空间上邻近。当一个笔划的末点与另一个笔划的起点在时间 和空间上邻近时,两个笔划被连接。如果步骤连接处理后的触控笔划多于2个,则根据触控笔划末点触控点时间与起 点触控点时间计算触控笔划的时间长度,保留时间长度最长的两个触控笔划。
3、对触控笔划进行归一化,减少输入同一手势的差异性对识别结果带来的影响。归一化主要由3部分组成1)对笔划进行平滑,去除由于手指输入的不规范性带来的问题。某一点的坐标和 时间为该点前一个点、该点、该点后一个点的坐标和时间的均值。2)对笔划排序。若去除冗余后的笔划个数为1,则不需要排序。否则,若笔划的大 小不相似,重新排序笔划使得较小的笔划位于笔划序列的第一个;若笔划大小相似,排序使 得左边的笔划为笔划序列中的第一个笔划。3)重采样,旋转,放缩和平移笔划。重采样笔划使笔划内笔划点的间隔大小相同, 支持识别方法与触控输入速度的无关性。若笔划数为2,旋转使第一个笔划包围框的中心点 到第二个笔划包围框中心点的连线旋转到水平方向,支持识别方法的旋转无关性。放缩使 手势的大小放缩到固定大小,支持识别方法的大小无关性。平移笔划使手势的包围框左上 角坐标标(0,0),使得识别方法具有位置无关性。4、识别触控手势,得到触控手势的类型。计算触控手势与手势库中手势的距离,手势库中距离最近的手势的类型为该触控 手势的类型。给定笔划Sl和笔划S2,两笔划间的距离d(Sl,S2)可以用如下公式计算得到。N 是笔划中的点的个数,(Sli.x, Sliy)是Sl中第i个点的位置坐标,(S2i.x, S2i. y)是S2 中第i个点的位置坐标。

权利要求
1.一种基于笔划的多指触控手势识别方法,其步骤为1)提取用户在触控设备上所输入触控手势的触控点信息;其中,所述触控点信息包 括当前触控手指的标识ID、当前触控点的位置(X,y)、触控点的时间time ;2)根据所提取触控手势的触控点信息,将具有相同ID的触控点构建为触控笔划;3)对构建的触控笔划进行去冗余处理,即对于同一时间段的任意两个触控笔划A和 B,如果A和B中具有相同时刻的触控点之间距离的最大值、最小值之差与平均值的比值介 于设定阈值Li、L2之间,则删除其中一触控笔划;4)检查幻处理后的触控笔划,当一触控笔划的末点触控点时间和坐标与另一触控笔 划的起点触控点时间和坐标对应差值分别小于设定阈值,则连接这两个触控笔划;5)将4)处理后的触控笔划构成的手势与手势库中的手势进行匹配,得到输入触控手 势的类型。
2.如权利要求1所述的方法,其特征在于所述步骤3)中,如果A和B中具有相同时刻 的触控点之间距离的最大值、最小值之差与平均值的比值介于设定阈值L1、L2之间,且A和 B的大小相似度介于设定阈值Si、S2之间,且A和B的方向相似度介于设定阈值Dl、D2之 间,则删除其中一触控笔划。
3.如权利要求1或2所述的方法,其特征在于如果步骤4)处理后的触控笔划多于2个, 则根据触控笔划末点触控点时间与起点触控点时间计算触控笔划的时间长度,保留时间长 度最长的两个触控笔划。
4.如权利要求3所述的方法,其特征在于对步骤4)处理后的触控笔划进行归一化,其 方法为1)对触控笔划进行平滑处理;2)对触控笔划进行排序如果两触控笔划的大小不相似,则将较小的笔划位于笔划序 列的第一个;若笔划大小相似,则将左边的笔划为笔划序列中的第一个笔划;3)对排序后的触控笔划重采样,使触控笔划内触控点的间隔大小相同;旋转触控笔 划,使第一个笔划包围框的中心点到第二个笔划包围框中心点的连线旋转到水平方向;放 缩触控笔划,使触控笔划所构成手势的大小放缩到设定大小;平移触控笔划,使触控笔划所 构成手势所包围框左上角坐标为(0,0)。
5.如权利要求4所述的方法,其特征在于计算两触控笔划A和B的大小相似度的方法 为根据触控笔划中触控点的坐标,计算触控笔划包围框的宽度和高度;然后根据widthA/ widthsheightA/heightB得到笔划A和B的大小相似度;其中,widthA、heightA分别是笔划 A的包围框的宽度和高度,widths heightB分别是笔划B的包围框的宽度和高度。
6.如权利要求4所述的方法,其特征在于根据(endXA-StartXA)/(endXB-StartXB)、 (endYA-startYA)/(endYB-startYB)计算触控笔划A和B的方向相似度;其中,(startXA, startYA)为笔划A起始点的坐标,(endXA, endYA)为笔划A终点的坐标,(startXB, startYB) 为笔划B起始点的坐标,(endXB, endYB)为笔划B终点的坐标。
7.如权利要求2所述的方法,其特征在于所述阈值Ll= 1/4,所述阈值L2 = 4。
8.如权利要求7所述的方法,其特征在于所述阈值Li、阈值Si、阈值Dl均相等;所述 阈值L2、阈值S2、阈值D2均相等。
9.如权利要求1所述的方法,其特征在于对于基于视觉的触控设备,采用图像检测算法检测所输入触控手势的触控信息。
全文摘要
本发明公开了一种基于笔划的多指触控手势识别方法,属于人机交互领域。本方法为1)提取用户在触控设备上所输入触控手势的触控点信息;2)将具有相同ID的触控点构建为触控笔划;3)对构建的触控笔划进行去冗余处理;4)检查3)处理后的触控笔划,当一触控笔划的末点触控点时间和坐标与另一触控笔划的起点触控点时间和坐标对应差值分别小于设定阈值,则连接这两个触控笔划;5)将4)处理后的触控笔划构成的手势与手势库中的手势进行匹配,得到输入触控手势的类型。本发明支持更加自由的触控手势输入,鲁棒性强;可以支持更多的触控手势的识别,为触控设备提供了更大的触控手势集合。
文档编号G06F3/048GK102147707SQ20111007914
公开日2011年8月10日 申请日期2011年3月30日 优先权日2011年3月30日
发明者刘佳升, 姜映映, 张凤军, 王宏安, 田丰 申请人:中国科学院软件研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1