首页> 中国专利> 一种支持用户自定义手势的多点触控应用程序开发方法

一种支持用户自定义手势的多点触控应用程序开发方法

摘要

本发明公开了一种支持用户自定义手势的多点触控应用程序开发方法,采用能够返回触点的二维坐标点数据的多点触控设备,设置一提供给开发者用于实现多点触控应用程序开发的工具箱,工具箱中包含手势标识注册模块、手势定义模块、手势导向模块以及手势描述和识别模块;开发者使用手势标识注册模块注册手势标识和配置手势状态;按照已配置的手势状态实现手势响应操作;使用手势定义模块为用户提供手势定义视图,由用户完成手势定义并将手势标识与已定义手势之间进行映射。本发明可以让开发者方便快捷的开发出多点触控应用程序,并能够让用户依据自己的习惯来定义手势;所提供的工具箱界面友好,交互性能强,体现了更加人性化、个性化的设计思想。

著录项

  • 公开/公告号CN102622225A

    专利类型发明专利

  • 公开/公告日2012-08-01

    原文格式PDF

  • 申请/专利权人 合肥工业大学;

    申请/专利号CN201210044289.8

  • 申请日2012-02-24

  • 分类号G06F9/44;G06F3/041;

  • 代理机构安徽省合肥新安专利代理有限责任公司;

  • 代理人何梅生

  • 地址 230009 安徽省合肥市屯溪路193号

  • 入库时间 2023-12-18 06:20:22

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-01-14

    授权

    授权

  • 2012-09-26

    实质审查的生效 IPC(主分类):G06F9/44 申请日:20120224

    实质审查的生效

  • 2012-08-01

    公开

    公开

说明书

技术领域

本发明涉及多点触控设备,尤其涉及一种支持用户自定义手势的多点触控应用程序开发 方法。

背景技术

在本领域中,多点触控设备是已知的。多点触控设备能够在同一时刻能够检测到多个触 点的设备,改变了单点触控环境下由手指点击的单一交互操作,使得用户可以同时用多个手 指画出轨迹并映射到操作指令完成手势交互或者是多个用户之间的协同手势交互;这种“以 用户为中心”自然高效的交互技术已经应用于众多领域,例如电子沙盘、电子指挥所、会议 协同讨论、电子游戏、辅助教育等。

目前基于多点触控的手势应用与研究,可以总结为三方面;其一,研究多点触控技术的 具体实现原理,不同物理设备平台上的触点检测与追踪、触点空间位置的定位以及触点状态 的检测,如按下、移动和释放状态;其二、与多点触控技术实现原理无关,而是借助于多点 触控设备进行手势相关研究,手势描述与手势识别的方法与框架;其三,从人类工效学角度 提出多点手势和协同手势的设计规则。基于计算机视觉和模式识别的姿态识别方法研究中, 将姿态分为静态姿势和动态姿势,姿态识别的对象可分为头部、脸部、眼睛、手部、身体等; 并讨论适合某种姿势的识别方法,静态姿势识别方法一般分为模板匹配、模式识别以及神经 网络的方法;动态姿势识别的方法一般分为基于压缩时间轴、基于动态时间规整、基于隐马 尔可夫模型以及延时神经网络方法。

以上所述方法中,多数应用于基于计算机视觉的手势识别中,且需要为手势的定义提供 大量样本用以训练分类器;一旦有新的手势加入时,需要提供大量的手势训练样本,此类方 法使得手势扩展增加负担;此外,基于这种方法所定义的手势不能够由终端用户来指定,终 端用户需要对手势操作进行学习和记忆,无法体现以用户为中心的人机交互理念。

发明内容

本发明是为避免上述现有技术所存在的不足之处,提供一种支持用户自定义手势的多点 触控应用程序开发方法,以使得开发者能够方便快捷地开发出多点触控应用程序;并能够让 用户依据自己的习惯来定义手势,所提供的工具箱界面友好,交互性能强,体现了更加人性 化、个性化的设计思想。

本发明为解决技术问题采用如下技术方案:

本发明支持用户自定义手势的多点触控应用程序开发方法,采用支持多点触控的设备, 所述多点触控设备能够返回触点的二维坐标点数据,其特征是:设置一提供给开发者用于实 现多点触控应用程序开发的工具箱,所述工具箱中包含手势标识注册模块、手势定义模块、 手势导向模块以及手势描述和识别模块;开发者按照以下步骤使用工具箱实现多点触控应用 程序实例开发:

a)开发者在多点触控应用程序实例中使用所述手势标识注册模块注册手势标识和配置 手势状态;按照已配置的手势状态实现手势响应操作;

b)开发者在多点触控应用程序实例中使用所述手势定义模块为用户提供手势定义视 图;由用户完成手势定义并将手势标识与已定义手势之间进行映射,可以将多个定义的手势 映射到同一个手势标识,但不可将一个定义的手势映射到多个手势标识;手势导向模块为用 户定义手势提供消解二义性手势界面,导向用户定义出无二义性的手势。

2、在所述手势描述和识别模块中,手势是由一个或一个以上元手势之间按照时序逻辑 和空间位置逻辑约束组合而成;手势描述是由手势轨迹的形状特征、方向特征、时序逻辑特 征和空间位置特征来表征;手势识别是由元手势个数相似度、形状相似度、方向相似度、时 序逻辑和空间位置相似度匹配测度来衡量。

3、所述元手势是不可再被分解的手势,按如下步骤获取元手势:

a)手势定义模块采集多点触控设备返回的触点空间位置二维坐标点数据,如果当前有 多条轨迹,则判断各轨迹间的彼此时间间隔是否小于设定阈值,若时间间隔小于设定阈值, 则视为有效数据;否则丢弃数据,并通知用户当前操作无效;

b)利用关键轨迹点选取算法对步骤a)获得的有效数据进行重新采样,获得采样数据;

c)对步骤b)得到的采样数据提取手势轨迹的形状特征和方向特征,从而获取元手势。

4、所述手势轨迹的形状特征、方向特征、时序逻辑特征和空间位置特征分别为:

a)形状特征:将元手势轨迹分为点、直线和曲线,计算点的尺寸大小、直线的斜率和 曲线的曲率参数,以及元手势轨迹的长度作为形状特征的特征值;

b)方向特征:方向特征集合形式化描述为其中, pi为元手势轨迹的相邻关键轨迹点;

c)时序逻辑特征:按照元手势之间的先后时序关系,限定为先后发生、同时发生或交 叠发生的时序逻辑特征,时序逻辑描述为:

元手势i先于元手势j发生,即:priority(Gi,Gj)=Ei≤Sj

元手势i和元手势j同时发生;即:chorus(Gi,Gj)=Si≡Sj

元手势i和元手势j交叠发生;即:overlaps(Gi,Gj)=Si<Sj<Ei

其中,Si和Ei分别为元手势i的起始和终止时间;Sj和Ej分别为元手势j的起始和终止 时间;

d)空间位置特征:是指时间序列相邻的元手势i和元手势j之间存在的空间位置关系; 所述空间位置关系限定为相对于手势中心点的上下左右四个位置;其手势中心点通过计算手 势所包含元手势坐标的中心的算术平均值而获得。

与已有技术相比,本发明有益效果体现在:

1、本发明减少了多点触控应用程序开发者的工作量,提高开发效率,开发者无需负担 手势定义与识别的工作,只需要为终端用户提供手势定义视图,同时为多点触控应用程序注 册手势标识,配置手势状态以及实现手势响应操作;

2、本发明降低用户的对大量手势的记忆难度,体现了以用户为中心的设计思想,为终 端用户提供个性化定制手势接口,引导用户完成个性的手势定义操作,从而使得用户不需要 对各种手势进行学习和记忆;

3、本发明所提供的工具箱界面友好,交互性能好,可操作性强,同时也为日后程序的 二次开发和手势扩展带来便捷,避免了在开发过程中需要大量手势训练样本用以识别各种手 势的繁琐步骤。

附图说明

图1是本发明工具箱框架图;

图2是旋转手势定义示例;

具体实施方式

采用支持多点触控的设备PQLabs,该设备能够返回触点的二维坐标点数据,屏幕尺寸 为42英寸,响应时间为7ms-12ms。

设置一提供给开发者用于实现多点触控应用程序开发的工具箱,工具箱框架如图1所 示,分为三层,即手势抽象层、应用程序层和用户交互层,分别对应手势描述和识别模块、 手势注册模块、手势定义模块及手势导向模块。手势抽象层主要提供手势描述与识别的方法; 应用程序层主要提供给开发者注册手势标识和配置手势状态;用户交互层提供给用户对手势 的定义并导向用户定义出无二义性的手势。

本实施例中:开发者按照以下步骤使用工具箱实现多点触控应用程序实例开发:

1、开发者使用手势标识注册模块注册手势标识和配置手势状态,按照已配置的手势状 态实现手势响应操作;

2、开发者使用手势定义模块为用户提供手势定义视图,由用户完成手势定义并将手势 标识与已定义手势之间进行映射,可以将多个定义的手势映射到同一个手势标识,但不可将 一个定义的手势映射到多个手势标识;手势导向模块为用户定义手势提供消解二义性手势界 面,导向用户定义出无二义性的手势。

具体实施中,相应的设置也包括:

在手势描述和识别模块中,手势是由一个或一个以上元手势之间按照时序逻辑和空间位 置逻辑约束组合而成;手势描述是由手势轨迹的形状特征、方向特征、时序逻辑特征和空间 位置特征来表征;手势识别是由元手势个数相似度、形状相似度、方向相似度、时序逻辑相 似度和空间位置相似度匹配测度来衡量;

关于相似度:

元手势个数相似度S(Mi,Mj)=1,m=n0,mn,其中m与n分别是手势Mi和手势Mj所包含的 元手势个数;

形状相似度由Hausdorff距离来度量;和 分别为元手势i和元手势j的曲率特征点集,则Hausdorff距 离表示为:H(Ci,Cj)=max(h(Ci,Cj),h(Cj,Ci));

其中h(Ci,Cj)=maxaCiminbCj||a-b||,h(Cj,Ci)=maxbCjminaCi||b-a||;||·||为曲率特征点集Ci和Cj的欧氏距离。

方向相似度由向量余弦定义;

时序逻辑相似度是由手势Mi和手势Mj所包含的元手势之间存在的时序关系是否一致 来判定;

空间位置相似度是由手势Mi和手势Mj所包含的元手势之间空间位置关系是否一致来 判定。

元手势是不可再被分解的手势,按如下步骤获取元手势:

步骤a、手势定义模块采集多点触控设备返回的触点空间位置二维坐标点数据,如果当 前有多条轨迹,则判断各个轨迹间的彼此时间间隔是否小于设定阈值,本实施例中阈值取值 为1.2s,若时间间隔小于该阈值,则视为有效数据;否则丢弃数据,并通知用户当前操作无 效;该时间阈值由经验值获得,也可由开发者根据需要自行设定。

步骤b、利用关键轨迹点选取算法对步骤a获得的有效数据进行重新采样,获得采样数 据;

关键轨迹点选取算法描述如下:

元手势轨迹点{p′i=(x′i,y′i)|i=0,1,2...n-1;x′i,y′i∈N},将p′0视为第一个关键轨迹点,令 i=0,j=i+2,在(p′i,p′j)中寻找一点pm,距离函数如果距离函数 d(i,j,m)>Const_Dist则视pm为关键轨迹点,否则继续寻找。

其中d(i,j,m)=|(yj-yi)xm-(xj-xi)ym+(yixj-xiyj)((xj-xi)2+(yj-yi)2)|;

(x′i,y′i)是轨迹点p′i的坐标值;Const_Dist是滤除冗余触摸点的距离阈值,与实际的硬 件平台屏幕分辨率有关,本实例中预设为12。该算法引自文献AMPEG-7 Visual Motion  Descriptors中提出的关键轨迹点选取思想,该文章于2001年被公开刊登于IEEE Trans Circuits  Syst Video Technol杂志第11卷第6期720-724页。

步骤c、对步骤b得到的采样数据提取元手势轨迹的形状特征和方向特征,从而获取元 手势。

手势轨迹的形状特征、方向特征、时序逻辑特征和空间位置特征分别为:

形状特征:将元手势轨迹分为点、直线和曲线,计算点的尺寸大小、直线的斜率和曲线 的曲率参数,以及元手势轨迹的长度作为形状特征的特征值;

点的判定规则:元手势关键轨迹点{pi=(xi,yi)|i=0,1,2...n-1;xi,yi∈N},判定pi是否在 以半径阈值为R的圆内,若在该圆内则判定其手势轨迹为点;半径阈值R与用户手指和触摸 设备接触面大小有关。

直线判定规则:计算如果0<=θ<=β,则将该轨迹判定 为直线,β值通过实验获得,取其中公式计算相邻离散点矢 量夹角最大值,斜率参数可通过直线斜率公式求解获得;

曲线曲率求解:离散点曲率求解公式由Eyal Carmel和Daniel Cohen-Or于1997年在 Warp-guided object-space morphing文章中提出,该文章发表于计算机视觉杂志。

已知元手势关键轨迹点pi-1(xi-1,yi-1),pi(xi,yi),pi+1(xi+1,yi+1),曲率求解公式为:

Ci=(Lf+Lb)2LfLb((xi+1-xi-1)2+(yi+1-yi-1))32111xi-1xixi+1yi-1yiyi+1,

Lf是坐标点pi+1与pi间的欧式距离;Lb是坐标点pi与pi-1间的欧式距离。

元手势轨迹长度:其中||·||表示欧氏距离。

方向特征:方向特征集合形式化描述为其中,pi为元手势轨迹的相邻关键轨迹点;

时序逻辑特征:按照元手势之间的先后时序关系;限制为先后发生、同时发生或交叠发 生的时序逻辑特征,时序逻辑描述为:

元手势i先于元手势j发生,即:priority(Gi,Gj)=Ei≤Sj

元手势i和元手势j同时发生;即:chorus(Gi,Gj)=Si≡Sj

元手势i和元手势j交叠发生;即:overlaps(Gi,Gj)=Si<Sj<Ei

Si和Ei分别为元手势i的起始和终止时间;Sj和Ej分别为元手势j的起始和终止时间;

空间位置特征:是指时间序列相邻的元手势i和元手势j之间存在的空间位置关系;所 述空间位置关系限定为相对于手势中心点的上下左右四个位置;其手势中心点通过计算手势 所包含元手势坐标的中心的算术平均值,具体求解如下:

如图2所示为旋转手势,由两个元手势组成;各自元手势分别由曲率特征和方向特征描 述,二者的约束关系由空间位置逻辑和时序逻辑组成;元手势i位于手势中心点c的左边, 元手势j位于手势中心点c的右边;元手势i与元手势j之间的时序关系为交叠关系。已知元 手势i的关键轨迹点{pi=(xi,yi)|i=0,1,2...n-1;xi,yi∈N},元手势j的关键轨迹点 {pi=(xj,yi)|j=0,1,2...,m-1;xj,yj∈N};计算元手势i的中心点元手势j的中 心点手势中心点c=(ci+cj)/2,通过计算坐标ci、cj与c的位置关系来判定 元手势i与元手势j之间的空间位置关系。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号