自适应手势识别方法

文档序号:6626752阅读:301来源:国知局
自适应手势识别方法
【专利摘要】本发明揭示了一种自适应手势识别方法,所述方法包括:步骤S1、基于向量对手势进行采样;步骤S2、将基于向量采样的手势进行动态时间归整DTW匹配识别;步骤S3、将步骤S2返回的结果与设定阈值进行比较,做初步筛选;若没有匹配到手势,则转至步骤S4;若匹配到若干相似结果,则转至步骤S5;若成功匹配到唯一的手势,则直接返回结果;步骤S4、通过模板匹配识别方式进行识别,返回结果;步骤S5、利用向量的距离进行筛选,或者通过模板匹配识别方式方式进行识别,返回结果。
【专利说明】自适应手势识别方法

【技术领域】
[0001]本发明属于手势识别【技术领域】,涉及一种手势识别方法,尤其涉及一种自适应手势识别方法。

【背景技术】
[0002]近年来,随着世界移动通信产业的高速发展,智能手持设备逐渐的融入了大众的日常生活,销量持续上升。目前,智能手持设备已经迈入了全触屏时代。对于全触屏的智能手持设备,触屏手势操作的支持是必不可少的,这给用户带来了全新的人机交互体验,以其方便快捷的特性,得到了用户的认可并取代了传统的按键操作。
[0003]然而,现有的手势识别方法存在精确度不高、识别效率低等问题。有鉴于此,如今迫切需要设计一种新的手势识别方法,以便克服现有识别方法的上述缺陷。


【发明内容】

[0004]本发明所要解决的技术问题是:提供一种自适应手势识别方法,可提高手势识别的精确度及效率。
[0005]为解决上述技术问题,本发明采用如下技术方案:
[0006]一种自适应手势识别方法,所述方法包括:
[0007]步骤S1、基于向量对手势进行采样;
[0008]将手势通过有方向和大小的向量来构造;输入的手势的每一个点代表触屏设备识别到的触屏点,并根据录入的顺序依次储存在点数组里;随后对手势点数组进行遍历,求出相邻点的方向,方向由前面的点指向后面的点,再将方向值转换为与设定的方向值组中最相近的方向值,并存为方向数组;对方向数组中连续的相同方向上点进行合并,计算连续方向点的距离同时将距离过短的向量作为噪点去除;再合并连续的相同方向点,这时提取出来的向量首尾相接能够大致描绘出手势的骨架,骨架保留了手势的主要特征,具有良好的区分度;最后对向量的距离进行标准化,保存为采样的数组;
[0009]步骤S2、将基于向量采样的手势进行动态时间归整DTW匹配识别;
[0010]动态时间归整DTW匹配识别步骤包括:提供一种在时间轴上富有更大弹性的相似度对比方法,使做匹配的数据能透过在时间轴上的扭曲,即伸展或压缩,找到最小误差的非线性对应;由于手势输入在时间轴上的连续性,使得基于向量的数据很适合用DTW匹配识别步骤;运用动态规划的思想,利用局部最佳化的处理来寻找一条路径使得两个特征矢量之间的累积失真量最小;X轴和Y轴分别为模板数据和待匹配的数据;X轴和Y轴的交点值代表所对应两个数组数据r[i]和t[j]的距离值,用D(r[i],t[j])表示,距离值的计算方法用欧式距离算法实现;随后选择路径起点,利用局部路径约束使其朝规定方向动态规划,累加计算距离;
[0011]步骤S3、将步骤S2返回的结果与设定阈值进行比较,做初步筛选;若没有匹配到手势,则转至步骤S4 ;若匹配到若干相似结果,则转至步骤S5 ;若成功匹配到唯一的手势,则直接返回结果;
[0012]步骤S4、通过模板匹配识别方式进行识别,返回结果;模板匹配识别步骤包括:
[0013]通过手势点类来记录手指在触屏上滑动产生的点(X,y),点数据类型为浮点型;一段连续的手势点构造成手势笔画类,通过该类不仅储存连续的点信息,还提供计算手势点包围盒的方法,用于后期进行点的位移缩放;最后由一系列手势笔画构成最终的手势类;
[0014]对获取的手势进行预处理;预处理采用两种取样方法:时间采样temporal Samp Iing 和空间抽样 spatialSampling ;
[0015]时间采样temporalSampling规定了采样点的个数N,计算所有手势点的总长度L,将N个点根据L/N得到的距离,平均分布到手势线路上;最后分配好的N个点的坐标作为取样点;
[0016]空间抽样spatialSampling是将手势渲染成N*N大小的2D位图,其先对手势大小缩放到统一大小,然后根据坐标点的小数部分判断点的比重,来填充N*N大小位图的数组,最后返回该数组作为取样结果;
[0017]经过变换取样标准化后会得到统一长度的样本数组,Android平台采用两种相似度算法分别为欧几里得距离和余弦距离;
[0018]欧几里得距离假设在d维空间有两点a= [ai,a2,"%ad],b= [b1; b2, -, bd]则其欧几里得距离表示为:dist(a,b、=?;
[0019]余弦距离表示为:=;



I “ Il 61
[0020]根据计算得到相似度最高的手势即为最匹配手势;
[0021]步骤S5、利用向量的距离进行筛选,或者通过模板匹配识别方式进行识别,返回结果;模板匹配识别步骤包括:
[0022]通过手势点类来记录手指在触屏上滑动产生的点(X,y),点数据类型为浮点型;一段连续的手势点构造成手势笔画类,通过该类不仅储存连续的点信息,还提供计算手势点包围盒的方法,用于后期进行点的位移缩放;最后由一系列手势笔画构成最终的手势类;
[0023]对获取的手势进行预处理;预处理采用两种取样方法:时间采样temporalSampling 和空间抽样 spatialSampling ;
[0024]时间采样temporalSampI ing规定了采样点的个数N,计算所有手势点的总长度L,将N个点根据L/N得到的距离,平均分布到手势线路上;最后分配好的N个点的坐标作为取样点;
[0025]空间抽样spatialSampling是将手势渲染成N*N大小的2D位图,其先对手势大小缩放到统一大小,然后根据坐标点的小数部分判断点的比重,来填充N*N大小位图的数组,最后返回该数组作为取样结果;
[0026]经过变换取样标准化后会得到统一长度的样本数组,Android平台采用两种相似度算法分别为欧几里得距离和余弦距离;
[0027]欧几里得距离假设在d维空间有两点a = [&1,&2,...,^]^= Lb^b2,-,bd]则其欧几里得距尚表不为:d1.st(u,b) = (α; — ht)~ ;
[0028]余弦距离表示为:slm(“別=Γ~νγ-,;



I Il 61
[0029]根据计算得到相似度最高的手势即为最匹配手势。
[0030]一种自适应手势识别方法,所述方法包括:
[0031]步骤S1、基于向量对手势进行采样;
[0032]步骤S2、将基于向量采样的手势进行动态时间归整DTW匹配识别;
[0033]步骤S3、将步骤S2返回的结果与设定阈值进行比较,做初步筛选;若没有匹配到手势,则转至步骤S4 ;若匹配到若干相似结果,则转至步骤S5 ;若成功匹配到唯一的手势,则直接返回结果;
[0034]步骤S4、通过模板匹配识别方式进行识别,返回结果;
[0035]步骤S5、利用向量的距离进行筛选,或者通过模板匹配识别方式进行识别,返回结果O
[0036]作为本发明的一种优选方案,所述步骤S4、步骤S5中的模板匹配识别步骤包括:
[0037]通过手势点类来记录手指在触屏上滑动产生的点(X,y),点数据类型为浮点型;一段连续的手势点构造成手势笔画类,通过该类不仅储存连续的点信息,还提供计算手势点包围盒的方法,用于后期进行点的位移缩放;最后由一系列手势笔画构成最终的手势类;
[0038]对获取的手势进行预处理;预处理采用两种取样方法:时间采样temporalSampling 和空间抽样 spatialSampling ;
[0039]时间采样temporalSampling规定了采样点的个数N,计算所有手势点的总长度L,将N个点根据L/N得到的距离,平均分布到手势线路上;最后分配好的N个点的坐标作为取样点;
[0040]空间抽样spatialSampling是将手势渲染成N*N大小的2D位图,其先对手势大小缩放到统一大小,然后根据坐标点的小数部分判断点的比重,来填充N*N大小位图的数组,最后返回该数组作为取样结果;
[0041]经过变换取样标准化后会得到统一长度的样本数组,Android平台采用两种相似度算法分别为欧几里得距离和余弦距离;
[0042]欧几里得距离假设在d维空间有两点a = [ai,a2,"%ad],b= [b1; b2, - , bd]则其欧几里得距离表示为:dist(a,h)=拉(Ci1-bf ;
[0043]余弦距离表示为:—(a,b) = ;




I a Il 6 I
[0044]根据计算得到相似度最高的手势即为最匹配手势。
[0045]作为本发明的一种优选方案,所述步骤SI具体包括:将手势通过有方向和大小的向量来构造;输入的手势的每一个点代表触屏设备识别到的触屏点,并根据录入的顺序依次储存在点数组里;随后对手势点数组进行遍历,求出相邻点的方向,方向由前面的点指向后面的点,再将方向值转换为与设定的方向值组中最相近的方向值,并存为方向数组;对方向数组中连续的相同方向上点进行合并,计算连续方向点的距离同时将距离过短的向量作为噪点去除;再合并连续的相同方向点,这时提取出来的向量首尾相接能够大致描绘出手势的骨架,骨架保留了手势的主要特征,具有良好的区分度;最后对向量的距离进行标准化,保存为采样的数组。
[0046]作为本发明的一种优选方案,所述步骤S2中,动态时间归整DTW匹配识别步骤包括:提供一种在时间轴上富有更大弹性的相似度对比方法,使做匹配的数据能透过在时间轴上的扭曲,即伸展或压缩,找到最小误差的非线性对应;由于手势输入在时间轴上的连续性,使得基于向量的数据很适合用DTW匹配识别步骤;运用动态规划的思想,利用局部最佳化的处理来寻找一条路径使得两个特征矢量之间的累积失真量最小;X轴和Y轴分别为模板数据和待匹配的数据;X轴和Y轴的交点值代表所对应两个数组数据r[i]和t[j]的距离值,用D(r[i],t[j])表示,距离值的计算方法用欧式距离算法实现;随后选择路径起点,利用局部路径约束使其朝规定方向动态规划,累加计算距离。
[0047]本发明的有益效果在于:本发明提出的自适应手势识别方法,可提高手势识别的精确度及效率。
[0048]传统的Android自定义手势识别采样,虽然会保证手势的完整性,但是产生了大量的数据冗余,并且伴随着大量的计算,导致效率不高。本文提出的提出基于向量的手势识别方法,利用该识别方式能够针对移动设备快速高效筛选简单的操作手势同时与android原有的基于距离(欧氏距离、余弦距离)的识别方法相结合,形成自适应的识别方法。较原有的识别方式在速度和精确度上都有一定的提高,在手持智能移动设备上有广泛的应用前旦
-5^ O

【专利附图】

【附图说明】
[0049]图1为本发明方法的流程图。
[0050]图2为Android手势存储结构示意图。
[0051]图3为向量方向示意图。

【具体实施方式】
[0052]下面结合附图详细说明本发明的优选实施例。
[0053]实施例一
[0054]请参阅图1,本发明揭示了一种自适应手势识别方法,所述方法包括如下步骤:
[0055]【步骤SI】基于向量对手势进行采样;
[0056]将手势通过有方向和大小的向量来构造;输入的手势的每一个点代表触屏设备识别到的触屏点,并根据录入的顺序依次储存在点数组里;随后对手势点数组进行遍历,求出相邻点的方向,方向由前面的点指向后面的点,再将方向值转换为与设定的方向值组中最相近的方向值,并存为方向数组;对方向数组中连续的相同方向上点进行合并,计算连续方向点的距离同时将距离过短的向量作为噪点去除;再合并连续的相同方向点,这时提取出来的向量首尾相接能够大致描绘出手势的骨架,骨架保留了手势的主要特征,具有良好的区分度;最后对向量的距离进行标准化,保存为采样的数组;
[0057]【步骤S2】将基于向量采样的手势进行动态时间归整DTW匹配识别;
[0058]动态时间归整DTW匹配识别步骤包括:提供一种在时间轴上富有更大弹性的相似度对比方法,使做匹配的数据能透过在时间轴上的扭曲,即伸展或压缩,找到最小误差的非线性对应;由于手势输入在时间轴上的连续性,使得基于向量的数据很适合用DTW匹配识别步骤;运用动态规划的思想,利用局部最佳化的处理来寻找一条路径使得两个特征矢量之间的累积失真量最小;X轴和Y轴分别为模板数据和待匹配的数据;X轴和Y轴的交点值代表所对应两个数组数据r[i]和t[j]的距离值,用D(r[i],t[j])表示,距离值的计算方法用欧式距离算法实现;随后选择路径起点,利用局部路径约束使其朝规定方向动态规划,累加计算距离;
[0059]【步骤S3】将步骤S2返回的结果与设定阈值进行比较,做初步筛选;若没有匹配到手势,则转至步骤S4 ;若匹配到若干相似结果,则转至步骤S5 ;若成功匹配到唯一的手势,则直接返回结果;
[0060]【步骤S4】通过模板匹配识别方式进行识别,返回结果;模板匹配识别步骤包括:
[0061]通过手势点类来记录手指在触屏上滑动产生的点(X,y),点数据类型为浮点型;一段连续的手势点构造成手势笔画类,通过该类不仅储存连续的点信息,还提供计算手势点包围盒的方法,用于后期进行点的位移缩放;最后由一系列手势笔画构成最终的手势类;
[0062]对获取的手势进行预处理;预处理采用两种取样方法:时间采样temporal Samp Iing 和空间抽样 spatialSampling ;
[0063]时间采样temporalSampling规定了采样点的个数N,计算所有手势点的总长度L,将N个点根据L/N得到的距离,平均分布到手势线路上;最后分配好的N个点的坐标作为取样点;
[0064]空间抽样spatialSampling是将手势渲染成N*N大小的2D位图,其先对手势大小缩放到统一大小,然后根据坐标点的小数部分判断点的比重,来填充N*N大小位图的数组,最后返回该数组作为取样结果;
[0065]经过变换取样标准化后会得到统一长度的样本数组,Android平台采用两种相似度算法分别为欧几里得距离和余弦距离;
[0066]欧几里得距离假设在d维空间有两点a = [ai,a2,"%ad],b= [b1; b2, - , bd]则其欧几里得距离表示为:=拉(a,' -bf ;
[0067]余弦距离表示为:b) =;




I a Il Z? I
[0068]根据计算得到相似度最高的手势即为最匹配手势;
[0069]【步骤S5】利用向量的距离进行筛选,或者通过模板匹配识别方式进行识别,返回结果;模板匹配识别步骤包括:
[0070]通过手势点类来记录手指在触屏上滑动产生的点(X,y),点数据类型为浮点型;一段连续的手势点构造成手势笔画类,通过该类不仅储存连续的点信息,还提供计算手势点包围盒的方法,用于后期进行点的位移缩放;最后由一系列手势笔画构成最终的手势类;
[0071]对获取的手势进行预处理;预处理采用两种取样方法:时间采样temporalSampling 和空间抽样 spatialSampling ;
[0072]时间采样temporalSampling规定了采样点的个数N,计算所有手势点的总长度L,将N个点根据L/N得到的距离,平均分布到手势线路上;最后分配好的N个点的坐标作为取样点;
[0073]空间抽样spatialSampling是将手势渲染成N*N大小的2D位图,其先对手势大小缩放到统一大小,然后根据坐标点的小数部分判断点的比重,来填充N*N大小位图的数组,最后返回该数组作为取样结果;
[0074]经过变换取样标准化后会得到统一长度的样本数组,Android平台采用两种相似度算法分别为欧几里得距离和余弦距离;
[0075]欧几里得距离假设在d维空间有两点a = [a1; a2,…,ad],b = Lb1, b2,..., bd]则其欧几里得距离表示为:distkb) =—/'.)2 ;
[0076]余弦距离表示为:b) =;




I a Il Z? I
[0077]根据计算得到相似度最高的手势即为最匹配手势。
[0078]实施例二
[0079]本发明揭示一种自适应手势识别方法,所述方法包括:
[0080]步骤S1、基于向量对手势进行采样;
[0081]步骤S2、将基于向量采样的手势进行动态时间归整DTW匹配识别;
[0082]步骤S3、将步骤S2返回的结果与设定阈值进行比较,做初步筛选;若没有匹配到手势,则转至步骤S4 ;若匹配到若干相似结果,则转至步骤S5 ;若成功匹配到唯一的手势,则直接返回结果;
[0083]步骤S4、通过模板匹配识别方式进行识别,返回结果;
[0084]步骤S5、利用向量的距离进行筛选,或者通过模板匹配识别方式进行识别,返回结果O
[0085]实施例三
[0086]Android平台手势识别原理:Android手势识别采用的是模板匹配技术。Android通过GesturePoint类(手势点类)来记录手指在触屏上滑动产生的点(x,y),点数据类型为浮点型。一段连续的手势点构造成GestureStroke类(手势笔画类),通过该类不仅储存连续的点信息,还提供计算手势点包围盒的方法,用于后期进行点的位移缩放。最后由一系列手势笔画构成最终的Gesture (手势类),见图2。一般情况下,构成手势的笔画不宜太多,复杂的手势无论在操作上和识别上的效率都过于低下。
[0087]Android对获取的手势进行预处理。预处理采用两种取样方法:temporal Samp Iing和 spatialSampling。
[0088]temporalSampling规定了采样点的个数N (Android采用的相似度算法需要保证所有手势点序列具有相同的维度,所以N在每次采样时都是一个固定常数),计算所有手势点的总长度L,将N个点根据L/N得到的距离,平均分布到手势线路上。最后分配好的N个点的坐标作为取样点。
[0089]spatialSampling是将手势渲染成N*N大小的2D位图,其先对手势大小缩放到统一大小,然后根据坐标点的小数部分判断点的比重,来填充N*N大小位图的数组,最后返回该数组作为取样结果。
[0090]经过变换取样标准化后会得到统一长度的样本数组,Android平台采用两种相似度算法分别为欧几里得距离和余弦距离。
[0091]欧几里得距离假设在d维空间有两点a= [ai,a2,"%ad],b= [b1; b2, -, bd]则其欧几里得距离表示为:disiC' Th —bf ;余弦距离表示为:sim(a,b) = ^^.,最
V II ? Il 办 I
后根据计算得到相似度最高的手势即为最匹配手势。
[0092]但是由于以下两点:(I)平均化的采样算法会改变原有的手势结构,时而会出现本身差异性比较大的手势经过平均化后会趋于相似的情况,从而导致识别错误;(2)对手势的标准化处理也会对手势的特征产生影响,从而产生误差。导致temporalSampling采样得到的结果错误率比较高。
[0093]而且spatialSampling采样虽然会保证手势的完整性,但是产生了大量的数据冗余,并且伴随着大量的计算,导致效率不高。
[0094]本发明通过分析Android平台上手势的输入和存储方式,提出基于向量的采样方式,并根据采样序列在时间上连续的良好特性应用动态时间规整相似度算法进行手势识别。
[0095]基于向量的采样:简单的手势能够通过有方向和大小向量来构造。其输入的手势的每一个点代表触屏设备识别到的触屏点,并根据录入的顺序依次储存在点数组里。随后对手势点数组进行遍历,求出相邻点的方向,方向由前面的点指向后面的点,再将方向值转换为与图3最相近的方向值,并存为方向数组。对方向数组中连续的相同方向上点进行合并,计算连续方向点的距离同时将距离过短的向量作为噪点去除。再合并连续的相同方向点,这时提取出来的向量首尾相接能够大致描绘出手势的骨架,骨架保留了手势的主要特征,具有良好的区分度。最后对向量的距离进行标准化,保存为采样的数组。
[0096]相似度算法=Android系统采用的相似度算法是需要保证通过采样获得的数据具有相同的维度,然而采用temporalSampling和spatialSampling采样算法会引起过多细节的丢失或数据的冗余等问题。采用基于向量的采样方法是对这两种采样方式的折中,但是得到的是长度不定的数组。根据数据长度不固定但是数组数据在时间上的连续特性,本文采用动态时间规整算法(Dynamic Time Warping,简称DTW)作为相似度算法。DTW算法是语音讯号处理上经常被使用的一种相似度估量方式,其主要的思想便是希望提供一种在时间轴上富有更大弹性的相似度对比方法。使做匹配的数据能透过在时间轴上的扭曲(即伸展或压缩),找到最小误差的非线性对应。因为手势输入在时间轴上的连续性,使得基于向量的数据很适合用该算法。DTW算法的实质就是运用动态规划的思想,利用局部最佳化的处理来寻找一条路径使得两个特征矢量之间的累积失真量最小。
[0097]自适应手势识别算法:
[0098]对于过于简单的手势,当匹配相似度没有一个手势达到阈值时,可以重新采用Android原有的匹配方式进行匹配,欧几里得距离对这种简单的手势识别率较高。对于相同方向序列的手势,,但从方向的角度考虑这两种手势是基本相同的,因此在相似度上都会大于阈值。因此利用向量的方向来进行匹配的方法只做了初步的筛选,当存在多个相似度大于阈值的手势时,需要进行第二轮筛选,此时利用向量的距离进行筛选可以较好地区分手势或者也可以利用Android原有的识别方式进行识别,算法流程如图1所示。
[0099]综上所述,本发明提出的自适应手势识别方法,可提高手势识别的精确度及效率。传统的Android自定义手势识别采样,虽然会保证手势的完整性,但是产生了大量的数据冗余,并且伴随着大量的计算,导致效率不高。本文提出的提出基于向量的手势识别方法,利用该识别方式能够针对移动设备快速高效筛选简单的操作手势同时与android原有的基于距离(欧氏距离、余弦距离)的识别方法相结合,形成自适应的识别方法。较原有的识别方式在速度和精确度上都有一定的提高,在手持智能移动设备上有广泛的应用前景。
[0100]这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例中。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其它形式、结构、布置、比例,以及用其它组件、材料和部件来实现。在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进行其它变形和改变。
【权利要求】
1.一种自适应手势识别方法,其特征在于,所述方法包括: 步骤S1、基于向量对手势进行采样; 将手势通过有方向和大小的向量来构造;输入的手势的每一个点代表触屏设备识别到的触屏点,并根据录入的顺序依次储存在点数组里;随后对手势点数组进行遍历,求出相邻点的方向,方向由前面的点指向后面的点,再将方向值转换为与设定的方向值组中最相近的方向值,并存为方向数组;对方向数组中连续的相同方向上点进行合并,计算连续方向点的距离同时将距离过短的向量作为噪点去除;再合并连续的相同方向点,这时提取出来的向量首尾相接能够大致描绘出手势的骨架,骨架保留了手势的主要特征,具有良好的区分度;最后对向量的距离进行标准化,保存为采样的数组; 步骤S2、将基于向量采样的手势进行动态时间归整DTW匹配识别; 动态时间归整DTW匹配识别步骤包括:提供一种在时间轴上富有更大弹性的相似度对比方法,使做匹配的数据能透过在时间轴上的扭曲,即伸展或压缩,找到最小误差的非线性对应;由于手势输入在时间轴上的连续性,使得基于向量的数据很适合用DTW匹配识别步骤;运用动态规划的思想,利用局部最佳化的处理来寻找一条路径使得两个特征矢量之间的累积失真量最小;X轴和Y轴分别为模板数据和待匹配的数据;X轴和Y轴的交点值代表所对应两个数组数据r[i]和t[j]的距离值,用D(r[i],t[j])表示,距离值的计算方法用欧式距离算法实现;随后选择路径起点,利用局部路径约束使其朝规定方向动态规划,累加计算距离; 步骤S3、将步骤S2返回的结果与设定阈值进行比较,做初步筛选;若没有匹配到手势,则转至步骤S4 ;若匹配到若干相似结果,则转至步骤S5 ;若成功匹配到唯一的手势,则直接返回结果; 步骤S4、通过模板匹配识别方式进行识别,返回结果;模板匹配识别步骤包括: 通过手势点类来记录手指在触屏上滑动产生的点(X,y),点数据类型为浮点型;一段连续的手势点构造成手势笔画类,通过该类不仅储存连续的点信息,还提供计算手势点包围盒的方法,用于后期进行点的位移缩放;最后由一系列手势笔画构成最终的手势类; 对获取的手势进行预处理;预处理采用两种取样方法:时间采样temporal Samp ling和空间抽样 spatialSampling ; 时间采样temporal Samp ling规定了采样点的个数N,计算所有手势点的总长度L,将N个点根据L/N得到的距离,平均分布到手势线路上;最后分配好的N个点的坐标作为取样占.空间抽样spatialSampling是将手势渲染成N*N大小的2D位图,其先对手势大小缩放到统一大小,然后根据坐标点的小数部分判断点的比重,来填充N*N大小位图的数组,最后返回该数组作为取样结果; 经过变换取样标准化后会得到统一长度的样本数组,Android平台采用两种相似度算法分别为欧几里得距离和余弦距离; 欧几里得距离假设在d维空间有两点a = [ai,a2,"%ad],b=则其欧几里得距离表示为:dist(a;b)=拉(α, -?'?-; 余弦距离表示为:= ; 根据计算得到相似度最高的手势即为最匹配手势; 步骤S5、利用向量的距离进行筛选,或者通过模板匹配识别方式进行识别,返回结果;模板匹配识别步骤包括: 通过手势点类来记录手指在触屏上滑动产生的点(X,y),点数据类型为浮点型;一段连续的手势点构造成手势笔画类,通过该类不仅储存连续的点信息,还提供计算手势点包围盒的方法,用于后期进行点的位移缩放;最后由一系列手势笔画构成最终的手势类; 对获取的手势进行预处理;预处理采用两种取样方法:时间采样temporal Samp ling和空间抽样 spatialSampling ; 时间采样temporal Samp ling规定了采样点的个数N,计算所有手势点的总长度L,将N个点根据L/N得到的距离,平均分布到手势线路上;最后分配好的N个点的坐标作为取样占.空间抽样spatialSampling是将手势渲染成N*N大小的2D位图,其先对手势大小缩放到统一大小,然后根据坐标点的小数部分判断点的比重,来填充N*N大小位图的数组,最后返回该数组作为取样结果; 经过变换取样标准化后会得到统一长度的样本数组,Android平台采用两种相似度算法分别为欧几里得距离和余弦距离; 欧几里得距离假设在d维空间有两点a = [ai,a2,"%ad],b=则其欧几里得距离表示为:dist(ajf) =~biY '' 余弦距离表示为:= P7T;;

|α||6| 根据计算得到相似度最高的手势即为最匹配手势。
2.一种自适应手势识别方法,其特征在于,所述方法包括: 步骤S1、基于向量对手势进行采样; 步骤S2、将基于向量采样的手势进行动态时间归整DTW匹配识别; 步骤S3、将步骤S2返回的结果与设定阈值进行比较,做初步筛选;若没有匹配到手势,则转至步骤S4 ;若匹配到若干相似结果,则转至步骤S5 ;若成功匹配到唯一的手势,则直接返回结果; 步骤S4、通过模板匹配识别方式进行识别,返回结果; 步骤S5、利用向量的距离进行筛选,或者通过模板匹配识别方式进行识别,返回结果。
3.根据权利要求2所述的自适应手势识别方法,其特征在于: 所述步骤S4、步骤S5中的模板匹配识别步骤包括: 通过手势点类来记录手指在触屏上滑动产生的点(X,y),点数据类型为浮点型;一段连续的手势点构造成手势笔画类,通过该类不仅储存连续的点信息,还提供计算手势点包围盒的方法,用于后期进行点的位移缩放;最后由一系列手势笔画构成最终的手势类; 对获取的手势进行预处理;预处理采用两种取样方法:时间采样temporal Samp ling和空间抽样 spatialSampling ; 时间采样temporal Samp ling规定了采样点的个数N,计算所有手势点的总长度L,将N个点根据L/N得到的距离,平均分布到手势线路上;最后分配好的N个点的坐标作为取样占.空间抽样spatialSampling是将手势渲染成N*N大小的2D位图,其先对手势大小缩放到统一大小,然后根据坐标点的小数部分判断点的比重,来填充N*N大小位图的数组,最后返回该数组作为取样结果; 经过变换取样标准化后会得到统一长度的样本数组,Android平台采用两种相似度算法分别为欧几里得距离和余弦距离; 欧几里得距离假设在d维空间有两点a = [ai,a2,"%ad],b=则其欧几里得距离表示为:—tia’b) = Jp'a,.-/),.)2 ; 余弦距离表示为:—(a加=ρττ?: 根据计算得到相似度最高的手势即为最匹配手势。
4.根据权利要求2所述的自适应手势识别方法,其特征在于: 所述步骤S1具体包括:将手势通过有方向和大小的向量来构造;输入的手势的每一个点代表触屏设备识别到的触屏点,并根据录入的顺序依次储存在点数组里;随后对手势点数组进行遍历,求出相邻点的方向,方向由前面的点指向后面的点,再将方向值转换为与设定的方向值组中最相近的方向值,并存为方向数组;对方向数组中连续的相同方向上点进行合并,计算连续方向点的距离同时将距离过短的向量作为噪点去除;再合并连续的相同方向点,这时提取出来的向量首尾相接能够大致描绘出手势的骨架,骨架保留了手势的主要特征,具有良好的区分度;最后对向量的距离进行标准化,保存为采样的数组。
5.根据权利要求2所述的自适应手势识别方法,其特征在于: 所述步骤S2中,动态时间归整DTW匹配识别步骤包括:提供一种在时间轴上富有更大弹性的相似度对比方法,使做匹配的数据能透过在时间轴上的扭曲,即伸展或压缩,找到最小误差的非线性对应;由于手势输入在时间轴上的连续性,使得基于向量的数据很适合用DTW匹配识别步骤;运用动态规划的思想,利用局部最佳化的处理来寻找一条路径使得两个特征矢量之间的累积失真量最小;Χ轴和Υ轴分别为模板数据和待匹配的数据;Χ轴和Υ轴的交点值代表所对应两个数组数据r[i]和t[j]的距离值,用D(r[i],t[j])表示,距离值的计算方法用欧式距离算法实现;随后选择路径起点,利用局部路径约束使其朝规定方向动态规划,累加计算距离。
【文档编号】G06F3/0488GK104267835SQ201410464452
【公开日】2015年1月7日 申请日期:2014年9月12日 优先权日:2014年9月12日
【发明者】李保印 申请人:西安闻泰电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1