一种面向多设备的手势交互方法

文档序号:8298798阅读:387来源:国知局
一种面向多设备的手势交互方法
【专利说明】
所属技术领域
[0001]本发明涉及一种手势交互方法,尤其是一种基于通用手势集的多设备手势交互方法。
【背景技术】
[0002]在以人为中心的交互理念指导下,人机交互的研宄试图突破鼠标键盘的限制,实现更加自由、和谐的交互前景。手势是自然交互最主要的通道之一,也是一个研宄热点,现在市场上已经有很多支持手势交互的设备。
[0003]根据用户操作方法的不同,可以将支持手势交互的设备分为四类。根据用户操作时是否与显示屏幕接触,将设备分为触摸交互设备和非触摸交互设备。根据用户操作时是否借助于辅助设备,将设备分为裸手交互设备和辅助交互设备。常见的裸手触摸交互设备有iPhone,基于FTIR、DI技术的多点触摸平台等;常见的辅助触摸交互设备有支持多点触摸的Nokia手机、带有交互笔的平板电脑、电子白板等,辅助触摸工具主要是智能笔,如红外笔、激光笔等;常见的辅助非触摸设备有任天堂的Wii Remote、数据手套等;常见的裸手非触摸设备有微软的Kinect以及基于普通摄像头的手势交互系统。本发明所涉及的手势交互设备仅能支持四类手势交互中的一种。
[0004]手势交互设备的普及和价格降低使得在会议室、教室、指挥所等环境中可能存在多种手势交互设备,从而实现多样的手势交互,包括大屏幕手势交互、小屏幕手势交互、裸手交互、笔式交互、触摸交互、隔空交互等。
[0005]专利[201110233828.8]公开了一种交互式电子沙盘手势识别方法,结合实体沙盘模型,综合运用图像处理和光点运动轨迹跟踪与识别算法,设计并实现了电子沙盘中手势的自动识别。专利[201210405956.0]公开了一种基于Kinect的智能终端无接触隔空交互方法,包括以下步骤:将Kinect模块集成到智能终端内;通过Kinect模块采集并识别用户的手势控制命令;智能终端根据控制命令执行相应操作。专利[201210331153.5]公开了一种基于摄像头的手势交互方法,摄像头拍摄手势图像视频流,转化为图像帧,提取手势形状和特征,以及位置信息,建立分类准则对手势进行识别。以上三种方法实现了基于单一交互设备的手势交互,但是并不能支持其他类型的设备。专利[201110233828.8]公开的方法不能实现基于Kinect的手势交互,专利[201210405956.0]也不能实现基于摄像头的手势交互。现有技术中没有发现面向多种设备的手势交互方法。
[0006]如果在多设备的手势交互环境中,每种设备独立运行自己的手势交互方法,那么多设备不能很好的协同,会出现手势识别的冲突:针对同一隔空手势,基于Kinect的交互和基于摄像头的交互方法识别出的结果可能不同,甚至出现某一方法不能识别的情况。
[0007]本发明将基于单一设备的手势交互方法中输出手势参数之前的步骤统称为设备驱动程序。

【发明内容】

[0008]本发明要解决的技术问题是:提供一种同一空间中能够同时面向多种设备实现无冲突的手势交互的方法。
[0009]本发明解决上述技术问题所采用的技术方案包括以下步骤:
[0010]第一步,生成通用手势集G,G = GttjuehU G ail.,其中Gttjueh指触換手势集,G ail.指隔空手势集:
[0011]1.1生成触摸手势集Gt_h,方法是:
[0012]1.1.1用由Pid, State,Coordinate,Time组成的四元组来定义触摸点Point,Point = (Pid,State,Coordinate,Time),其中Pid取值为自然数,指检测到的多个触摸点中该触摸点的序号;State指触摸点的状态,取值为集合STATE中的元素,集合STATE ={Appear,Move,Leave},Appear、Move、Leave分别表示触摸交互设备检测到触摸点出现、在移动和离开!Coordinate为二元实数组,指触摸点坐标;Time指触摸点对应的系统时间;
[0013]1.1.2设定距离阈值Ltl与时间阈值T ^,只有距离小于Ltl且触摸时间间隔小于Ttl的两个点才属于同一手势,属于同一手势的点组成触摸点集;一个触摸点集生成一个触摸手势,用五元组定义触摸手势 TouchGesture = (Tid, TouchState, Sum, TouchPara,Value),其中Tid为触摸手势的编号,具有唯一性JouchState指触摸点集中最后出现的点的State值;Sum指同一时间在距离阈值内的触摸点个数,取值为不大于10的自然数、2+、3+,4+或5+,其中2+、3+、4+、5+分别表示不少于2个、不少于3个、不少于4个或不少于5个。;TouchPara指触摸点集的参数之一,Value指参数TouchPara的值JouchPara取值为有序集合TPARA中的元素,列举触摸点集的参数得到有序集合TPARA = {Trend, Trace,ClickCount,Distance,Angle},其中 ClickCount 取值为 1、2 或 3,指同一位置在时间阈值内的触摸点个数;当Sum = 2且TouchState = Appear时,Distance表示两点之间的距离,取值为区间[0,L0]之间的正整数,Angle指两点连成的直线与水平线的夹角,取值为区间[0,180]之间的正整数;Trend表示触摸点的移动趋势,当Trend赋值时,TouchState必须取值Move,Trend取值为可拆解为三部分的数组“Num+Direct1n+Mot1n”,其中“ + ”是连接符,表示Num个触摸点沿着Direct1n方向做Mot1n类型的运动,Num取值为Sum的值,Direct1n 取值 Right、Left、Up、Down、LeftDown, LeftUp,RightDown,RightUp,分别表示右、左、上、下、左下、左上、右下、右上八个方位,Mot1n取值Move、Apart、Close、ClockRotate、AntiClockRotate,分别表示移动、分离、靠近、顺时针旋转、逆时针旋转;Num部分也可以取值Time或Second ;取值Time时,Mot1n取值Move,表示单点按下一小段时间后再沿着Direct1n方向移动;取值Second时,表示一点按下后不动,第二点接着按下并沿着Direct1n方向做Mot1n类型的运动;Trace是对一系列触摸点的处理结果,指手势的移动轨迹,当Trace赋值时,TouchState必须取值Leave,Trace的取值为任意的平面几何形状,例如圆形、正方形、“V”形、“Z”形、“? ”形、“ X ”形、左半圆、右半圆、上半圆或下半圆;触摸点集的参数值根据点集内所有点的参数结合几何学常识获得;
[0014]1.1.3对触摸手势TouchGesture赋值得到触摸手势,对Tid进行唯一性赋值,对TouchState、Sum、TouchPara、Value在各自取值范围内的一组赋值生成一个手势,在各自取值范围的所有赋值组合构成触摸手势集Gt_h;
[0015]1.2生成隔空手势集6&,方法是:
[0016]1.2.1列举手势可以模拟的几何形状,得到集合SHAPE,SHAPE = {Shape_Point,Shape_Line,Shape_Surface},表示集合可以分为三个子集,包括点形状、线形状和面形状,其中 Shape_Point = {point,muitipoint},表示点形状包括单点、散点;Shape_Line ={StraightLine, Polyline,Curve,LineString},表示线形状包括直线、折线、曲线、线串;Shape_Surface = {Polygon,Circle,Ellipse},表示面形状包括多边形、圆形、椭圆形;
[0017]1.2.2根据几何学常识,为每种几何形状生成几何学参数有序集合APARAshape,其中下标shape分别对应九种形状,每个集合的元素个数记为Pnumshape;—个隔空手势对应一个几何形状,用五元组定义隔空手势AirGesture = (Aid,Shape,AirPara,AirValue,AirTrend, AirTrace),其中Aid是隔空手势的编号,具有唯一性;Shape是手势对应的几何形状,取值为SHAPE中的元素,AirPara是几何形状Shape的参数之一,取值为几何形状Shape对应的参数集合中的元素;AirValue为几何形状Shape的参数AirPara的赋值,取值范围根据人体工学的常识确定,取离散的有限值;AirTrend为几何形状Shape的参数AirPara发生变化时的变化趋势,取值为increase或decrease,表示在变大或变小;AirTrace仅在Shape赋值point或muitipoint有意义,指隔空点手势运动的轨迹,取值为任意的平面几何形状;
[0018]1.2.3 隔空手势 AirGesture 赋值,其中参数 AirValue、AirTrencU AirTrace 一次只对一个赋值,对AirValue赋值得到静态手势,对AirTrend或AirTrace赋值得到动态手势,对参数Shape、参数AirPara和AirValue、AirTrencU AirTrace三个参数之一在取值范围内的一组赋值生成一个手势,在取值范围的所有赋值组合构成隔空手势集G&;
[0019]1.3将Gtoueh和G也取并集得到通用手势集G ;
[0020]1.4分解通用手势集G,得到点手势集Gptjint、线手势集Glim、面手势集Gsurt■、轨迹手势集Gtrac;e;,方法是:
[0021]1.4.1Gpoint=G;
[0022]1.4.2Gtoueh中的每一个手势执行以下操作:若手势的TouchPara参数赋值为Distance、Angle、Trend、Trace,则手势加入 Gline,若 TouchPara 参数赋值为 Trace,则手势加入G
trace?
[0023]1.4.3G&中的每一个手势执行以下操作:若手势的Shape参数赋值来自Shape_Surface子集,则手势加入Gsmfaee^P G line,若手势的Shape参数赋值来自Shape_Line子集,则手势加入匕^;若手势的AirTrace参数不为空,则加入G trace;
[0024]第二步,多设备进行手势集指定,方法是:
[0025]2.1交互设备表示SEi,其中i = 1,2,...,!!!,…,η ;n为交互设备的数量,m为支持隔空手势的设备数量,E1,…,EmS支持隔空手势交互的设备,E m+1,…,En为支持触摸交互的设备;为每种设备指定手势集Gi,初始化为空集;每个设备并行执行2.2和2.3 ;
[0026]2.2根据
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1