本发明涉及手势识别技术领域,尤其涉及一种基于手势的数字阅读方法及系统。
背景技术:
在数字阅读领域,常通过手势控制终端实现阅读行为,终端首先定义可操作的行为,如翻页、退出、进入等有限数量手势行为,然后从手势识别引擎获取结果,并将结果绑定到对应意图,最后执行手势对应的行为。
正常情况下,对于同一种手势,执行两次相同手势行为的间隔时间应大于1s,如用户当前的手势对应翻页并在1s内未变更手势,则执行第一次翻页行为后的1s内不再执行翻页行为,即相同手势保持的1s内的手势为无效手势。但现实是由于手势识别引擎识别到手势后在毫秒级时间内会持续抛出识别结果,在用户改变手势之前的1s内,终端无法判断无效手势,会连续执行翻页行为,造成阅读行为的误操作。此外,用户发建立手势、变更手势或收回手势时,分别会经历从无手势到目标手势、从第一种目标手势到第二种目标手势、从目标手势到无手势的过程,三种过程中均可能出现过渡手势,即用户不希望执行手势行为的手势,但现实是终端无法判断过渡手势,均执行了过渡手势对应的行为,同样造成阅读行为的误操作。
技术实现要素:
有鉴于此,一方面,本发明提出了一种基于手势的数字阅读方法,以解决传统基于手势的数字阅读方法执行无效手势和过渡手势造成阅读行为误操作的问题。
本发明的技术方案是这样实现的:一种基于手势的数字阅读方法,包括:
获取所有的自定义手势,将自定义手势中的其中一个作为起始手势,剩余手势中的每一个依次作为目标手势,依次进行起始手势转变为每一个目标手势的手势识别实验过程;
获取手势识别实验过程的手势识别实验结果,将手势识别实验结果中起始手势和目标手势以外的手势设为过渡手势,建立起始手势与所有过渡手势的映射关系;
进行数字阅读时,连续获取手势识别真实结果;
若当前手势识别真实结果与上一次手势识别真实结果相同或存在映射关系,则获取当前手势识别真实结果对应手势的持续时间;在当前手势识别真实结果对应手势的持续时间达到设定值之前,放弃执行当前手势识别真实结果对应的手势;在当前手势识别真实结果对应手势的持续时间达到设定值时,立即执行当前手势识别真实结果对应的手势并对持续时间清零;
若当前手势识别真实结果与上一次手势识别真实结果不同且不存在映射关系,则立即执行当前手势识别真实结果对应的手势。
可选的,设定值为1s。
可选的,获取手势识别实验结果或手势识别真实结果的步骤包括:
获取视频图像并从视频图像的背景中分割出手势图像;
将分割后的手势图像二值化,转化到规定大小的图像;
提取图像的hog特征和hu矩,将hog特征和hu矩合并为融合特征向量;
使用pca算法对融合特征向量进行降维处理;
使用训练好的svm分类器完成对降维处理后融合特征向量的分类,得到手势识别结果。
可选的,获取视频图像并从视频图像的背景中分割出手势图像的步骤包括:
获取视频图像并进行手势运动跟踪,获取运动的手部所在区域;
对手部所在区域进行肤色分割,通过对二值化的分割图像采用边界扫描以得到手势图像。
可选的,使用pca算法对融合特征向量进行降维处理的步骤包括:
对融合特征向量进行征归一化处理;
计算样本特征的协方差矩阵;
采用奇异值分解的算法计算协方差矩阵的特征值和特征向量,获得降维矩阵;
通过降维矩阵将样本映射到低维空间上。
可选的,获取手势识别实验结果或手势识别真实结果的步骤还包括:
若svm分类连续多帧手势图像的结果一致,则将结果一致的多帧已二值化的手势图像添加到一个已分类正确的图像队列中,当下一次获取已二值化的手势图像,将该手势图像与图像队列中每个手势图像相与,如果重复面积都占图像队列中所有手势图像和自身图像面积的95%以上,则不对该手势图像进行分类,使用图像队列的分类代表该手势图像的识别结果。
可选的,获取手势识别实验结果或手势识别真实结果的步骤还包括:
将未进行svm分类的手势图像添加到对应的图像队列中。
本发明的基于手势的数字阅读方法相对于现有技术具有以下有益效果:
(1)通过任意两个自定义手势构成的手势识别实验过程,最终可确定自定义手势中具有映射关系的手势和不存在映射关系的手势,即识别了过渡手势;
(2)当前手势识别真实结果为过渡手势或连续两次手势识别真实结果相同时,在对应手势的持续时间达到设定值之前,放弃执行当前手势识别真实结果对应的手势,虽然可能造成对客户需求的延误,但可避免短时间内连续执行相同的手势及避免执行无需执行的过渡手势,避免了阅读行为的误操作;
(3)当前手势识别真实结果为非过渡手势且连续两次手势识别真实结果不同时立即执行当前手势识别真实结果,可立即响应用户的阅读需求,避免时间的延误而影响用户体验;
(4)对于同一种手势,可通过手势图像对比的方式识别手势的种类,无需重复进行svm分类,降低了svm分类的工作量。
另一方面,本发明还提出了一种基于手势的数字阅读系统,以解决传统基于手势的数字阅读系统执行无效手势和过渡手势造成阅读行为误操作的问题。
本发明的技术方案是这样实现的:一种基于手势的数字阅读系统,包括:
手势识别实验模块,用于获取所有的自定义手势,将自定义手势中的其中一个作为起始手势,剩余手势中的每一个依次作为目标手势,依次进行起始手势转变为每一个目标手势的手势识别实验过程;
映射关系建立模块,用于获取手势识别实验过程的手势识别实验结果,将手势识别实验结果中起始手势和目标手势以外的手势设为过渡手势,建立起始手势与所有过渡手势的映射关系;
识别结果获取模块,用于进行数字阅读时,连续获取手势识别真实结果;
识别结果执行模块,用于若当前手势识别真实结果与上一次手势识别真实结果相同或存在映射关系,则获取当前手势识别真实结果对应手势的持续时间;在当前手势识别真实结果对应手势的持续时间达到设定值之前,放弃执行当前手势识别真实结果对应的手势;在当前手势识别真实结果对应手势的持续时间达到设定值时,立即执行当前手势识别真实结果对应的手势并对持续时间清零;
识别结果执行模块还用于若当前手势识别真实结果与上一次手势识别真实结果不同且不存在映射关系,则立即执行当前手势识别真实结果对应的手势。
所述基于手势的数字阅读系统与上述基于手势的数字阅读方法相对于现有技术所具有的优势相同,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的基于手势的数字阅读方法的流程图;
图2为本发明的基于手势的数字阅读系统的结构框图。
具体实施方式
下面将结合本发明实施方式,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
如图1所示,本实施例的基于手势的数字阅读方法包括:
第一步,获取所有的自定义手势,将自定义手势中的其中一个作为起始手势,剩余手势中的每一个依次作为目标手势,依次进行起始手势转变为每一个目标手势的手势识别实验过程;
第二步,获取手势识别实验过程的手势识别实验结果,将手势识别实验结果中起始手势和目标手势以外的手势设为过渡手势,建立起始手势与所有过渡手势的映射关系;
第三步,进行数字阅读时,连续获取手势识别真实结果;
第四步,若当前手势识别真实结果与上一次手势识别真实结果相同或存在映射关系,则获取当前手势识别真实结果对应手势的持续时间;在当前手势识别真实结果对应手势的持续时间达到设定值之前,放弃执行当前手势识别真实结果对应的手势;在当前手势识别真实结果对应手势的持续时间达到设定值时,立即执行当前手势识别真实结果对应的手势并对持续时间清零;
第五步,若当前手势识别真实结果与上一次手势识别真实结果不同且不存在映射关系,则立即执行当前手势识别真实结果对应的手势。
第一步中,自定义手势包括无手势和有效手势,有效手势如进入、翻页和退出等,用户手势不在有效手势范围内的手势为无手势。假设伸出一根手指的手势代表手势a、伸出两根手指的手势代表手势b、伸出三根手指的手势代表手势c、伸出四根手指的手势代表手势d、伸出五根手指的手势代表手势e,定义有效手势包括abcde。
第二步,若起始手势为无手势:目标手势为a,可以想到,无手势到a的手势识别实验过程的手势识别实验结果中可认为不存在过度手势;目标手势为b,可以想到,无手势到b的手势识别实验过程中,由于伸出两根手指的过程中可能经历先伸出一根手指的情形,即可能出现手势a,若手势识别实验结果中出现手势a则将a作为过渡手势,建立无手势与a的映射关系;目标手势为e,可以想到,无手势到e的手势识别实验过程中,由于伸出五根手指的过程中可能经历先伸出一根手指、两根手指、三根手指或四根手指的情形,即可能出现手势abcd中的任意一个,若手势识别实验结果中出现手势abcd,则将abcd作为过渡手势,建立无手势与abcd的映射关系。以此类推,起始手势为无手势时,最终可得到起始手势与所有过渡手势的映射关系包括无手势与a、无手势与b、无手势与c、无手势与d的映射关系。
若起始手势为a:目标手势为无手势,可以想到,a到无手势的手势识别实验过程的手势识别实验结果中可认为不存在过度手势;目标手势为b,可以想到,a到b的手势识别实验结果中同样可认为不存在过度手势;目标手势为e,可以想到,a到e的手势识别实验过程中,由于由一根手指到伸出五根手指的过程中可能经历先伸出两根手指、三根手指或四根手指的情形,即可能出现手势bcd中的任意一个,若手势识别实验结果中出现手势bcd,则将bcd作为过渡手势,建立a与bcd的映射关系。以此类推,起始手势为a时,最终可得到起始手势与所有过渡手势的映射关系包括a与b、a与c、a与d的映射关系。
最终,经过多次重复的手势识别实验过程,通过大数据统计可得到,对于无手势及abcde构成的自定义手势,仅有手势e不存在映射关系。
传统基于手势的数字阅读方法中,由于无法判断过渡手势,则无法放弃执行过渡手势。本实施例中,通过任意两个自定义手势构成的手势识别实验过程,最终可确定自定义手势中具有映射关系的手势和不存在映射关系的手势,即识别了过渡手势。
第三步中,手势识别真实结果为实际阅读过程中的手势识别结果,每一次手势识别真实结果均记录时刻,每一种手势的持续时间均可计算出来。
第四步与第五步为并行步骤。第五步中,若当前手势识别真实结果与上一次手势识别真实结果不同且不存在映射关系,以当前手势识别真实结果为e为例,由于手势e不存在映射关系,则手势e不可能是过渡手势,即手势e必定为用户需要被立即执行的手势,本实施例在此时立即执行当前手势识别真实结果对应的手势,可立即响应用户的阅读需求,避免时间的延误而影响用户体验。
第四步中,若当前手势识别真实结果与上一次手势识别真实结果相同,由于本实施例在当前手势识别真实结果对应手势的持续时间达到设定值时,立即执行当前手势识别真实结果并对持续时间清零,则在当前手势识别真实结果对应手势的持续时间达到设定值之前,当前手势识别真实结果在设定值(如1s)内未被二次执行过,这样在当前手势识别真实结果对应手势的持续时间达到设定值之前,放弃执行当前手势识别真实结果对应的手势,便可避免短时间内连续执行相同的手势。若当前手势识别真实结果与上一次手势识别真实结果存在映射关系,存在两种情形:一是当前手势识别真实结果为用户需要被立即执行的手势,二是当前手势识别真实结果为无需执行的过渡手势。由于无法确定此时处于哪种情形,为了避免无需执行的过渡手势的影响,需要确认无需执行的过渡手势。一般情况下,无需执行的过渡手势的持续时间均小于1s,如用户从手势a变更为手势c时,中间可能会出现无需执行的过渡手势b,这样可通过获取当前手势识别真实结果对应手势的持续时间,来识别无需执行的过渡手势。若当前手势识别真实结果对应手势的持续时间未达到设定值,则说明此时为第二种情形,当前手势识别真实结果为无需执行的过渡手势,这样放弃执行当前手势识别真实结果对应的手势便可避免执行无需执行的过渡手势,避免误操作;若当前手势识别真实结果对应手势的持续时间达到设定值,说明此时为第一种情形,当前手势识别真实结果为用户需要被立即执行的手势,由于计时开始时无法确定此时处于哪种情形,本实施例并未立即执行用户需求,而是在当前手势识别真实结果对应手势的持续时间达到设定值时立即执行用户需求,虽然造成了与设定值同等时长的延误,但却可避免执行无需执行的过渡手势。
由上可知,本实施例当前手势识别真实结果为非过渡手势且连续两次手势识别真实结果不同时立即执行当前手势识别真实结果,可立即响应用户的阅读需求,避免时间的延误而影响用户体验;当前手势识别真实结果为过渡手势或连续两次手势识别真实结果相同时,在对应手势的持续时间达到设定值之前,放弃执行当前手势识别真实结果对应的手势,虽然可能造成对客户需求的延误,但可避免短时间内连续执行相同的手势及避免执行无需执行的过渡手势,避免了阅读行为的误操作。
本实施例中,进行手势识别实验过程或正式阅读时均需进行手势识别,精确、高效的手势识别对阅读过程的顺利进行和阅读行为的快速跳转具有重要意义。本实施例优选获取手势识别实验结果或手势识别真实结果的步骤包括:
获取视频图像并从视频图像的背景中分割出手势图像;将分割后的手势图像二值化,转化到规定大小的图像;提取图像的hog特征和hu矩,将hog特征和hu矩合并为融合特征向量;使用pca算法对融合特征向量进行降维处理;使用训练好的svm分类器完成对降维处理后融合特征向量的分类,得到手势识别结果。
其中,获取视频图像并从视频图像的背景中分割出手势图像,具体包括:获取视频图像并进行手势运动跟踪,获取运动的手部所在区域;对该区域进行肤色分割,通过对二值化的分割图像采用边界扫描以得到手势图像。这样利用运动和肤色信息,能有效的将手势图像从背景中分割出来,且通过手势运动跟踪获得手部所在区域,仅对手部所在区域进行肤色分割,减少了程序计算的成本。将分割后的手势图像二值化,转化到规定大小的图像,其目的是使计算图像的特征维数保持一致。假设融合特征向量为m*n的高维特征向量,其中n为特征的维数,m为样本的总数,那么使用pca算法对融合特征向量进行降维处理,具体包括:对融合特征向量进行征归一化处理;计算样本特征的协方差矩阵;采用奇异值分解的算法计算协方差矩阵的特征值和特征向量,假设u为计算得到的协方差矩阵的所有特征向量,每一列都是一个特征向量,并且特征向量是根据对应特征值排序,u的维度为n*n,u也被称为降维矩阵,利用u可以将样本进行降维,默认u包含协方差矩阵的所有特征向量,如果想要将样本降维到k维,那么就可以选取u的前k列,uk则可以用来对样本降维到k维;获得降维矩阵后,通过降维矩阵将样本映射到低维空间上。这样使用pca算法能降低融合特征向量的维数,从而使得计算复杂度减少。
进一步的,本实施例优选获取手势识别实验结果或手势识别真实结果的步骤还包括:若svm分类连续多帧手势图像的结果一致,则将结果一致的多帧已二值化的手势图像添加到一个已分类正确的图像队列中,当下一次获取已二值化的手势图像,将该手势图像与图像队列中每个手势图像相与,如果重复面积都占图像队列中所有手势图像和自身图像面积的95%以上,则不对该手势图像进行分类,使用图像队列的分类代表该手势图像的识别结果,并将该手势图像添加到图像队列中。其中,已分类正确的图像队列中包含的手势图像均对应同一种手势,如手势a,下一次输入的手势图像若与图像队列中多幅图像和自身图像面积的95%以上,代表下一次输入的手势图像与图像队列中包含的手势图像均对应同一种手势。将该手势图像与图像队列中每个手势图像相与,实际上是同所有图像队列相与,如事先未知道该手势图像对应手势a,需将该手势图像与手势a对应的图像队列、手势b对应的图像队列、......、手势e对应的图像队列一一相与,直到出现结果。这样对于同一种手势,可通过手势图像对比的方式识别手势的种类,无需重复进行svm分类,降低了svm分类的工作量。另外,每增加一帧与图像队列对应的手势相同的手势图像,便将该手势图像添加到图像队列中,这样图像队列中的手势图像会越来越多,下一次获取的手势图像与图像队列中所有手势图像重复面积均占95%以上的可能性越难,通过手势图像对比的方式识别手势种类的出错率会越来越低。此外,本实施例还可以逐渐建立起abcde等手势对应的所有图像队列,在建立图像队列的过程中需要进行svm分类,当建立起所有手势对应的图像队列后,大部分情况下不再需要svm分类,通过手势图像对比的方式识别手势种类即可,最终大大降低svm分类的工作量。
本实施例还提供一种基于手势的数字阅读系统,包括:
手势识别实验模块,用于获取所有的自定义手势,将自定义手势中的其中一个作为起始手势,剩余手势中的每一个依次作为目标手势,依次进行起始手势转变为每一个目标手势的手势识别实验过程;
映射关系建立模块,用于获取手势识别实验过程的手势识别实验结果,将手势识别实验结果中起始手势和目标手势以外的手势设为过渡手势,建立起始手势与所有过渡手势的映射关系;
识别结果获取模块,用于进行数字阅读时,连续获取手势识别真实结果;
识别结果执行模块,用于若当前手势识别真实结果与上一次手势识别真实结果相同或存在映射关系,则获取当前手势识别真实结果对应手势的持续时间;在当前手势识别真实结果对应手势的持续时间达到设定值之前,放弃执行当前手势识别真实结果对应的手势;在当前手势识别真实结果对应手势的持续时间达到设定值时,立即执行当前手势识别真实结果对应的手势并对持续时间清零;
识别结果执行模块还用于若当前手势识别真实结果与上一次手势识别真实结果不同且不存在映射关系,则立即执行当前手势识别真实结果对应的手势。
本实施例的数字阅读系统通过任意两个自定义手势构成的手势识别实验过程,最终可确定自定义手势中具有映射关系的手势和不存在映射关系的手势,即识别了过渡手势;当前手势识别真实结果为过渡手势或连续两次手势识别真实结果相同时,在对应手势的持续时间达到设定值之前,放弃执行当前手势识别真实结果对应的手势,虽然可能造成对客户需求的延误,但可避免短时间内连续执行相同的手势及避免执行无需执行的过渡手势,避免了阅读行为的误操作;当前手势识别真实结果为非过渡手势且连续两次手势识别真实结果不同时立即执行当前手势识别真实结果,可立即响应用户的阅读需求,避免时间的延误而影响用户体验。
以上所述仅为本发明的较佳实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
1.一种基于手势的数字阅读方法,其特征在于,包括:
获取所有的自定义手势,将自定义手势中的其中一个作为起始手势,剩余手势中的每一个依次作为目标手势,依次进行起始手势转变为每一个目标手势的手势识别实验过程;
获取手势识别实验过程的手势识别实验结果,将手势识别实验结果中起始手势和目标手势以外的手势设为过渡手势,建立起始手势与所有过渡手势的映射关系;
进行数字阅读时,连续获取手势识别真实结果;
若当前手势识别真实结果与上一次手势识别真实结果相同或存在映射关系,则获取当前手势识别真实结果对应手势的持续时间;在当前手势识别真实结果对应手势的持续时间达到设定值之前,放弃执行当前手势识别真实结果对应的手势;在当前手势识别真实结果对应手势的持续时间达到设定值时,立即执行当前手势识别真实结果对应的手势并对持续时间清零;
若当前手势识别真实结果与上一次手势识别真实结果不同且不存在映射关系,则立即执行当前手势识别真实结果对应的手势。
2.如权利要求1所述的基于手势的数字阅读方法,其特征在于,设定值为1s。
3.如权利要求1所述的基于手势的数字阅读方法,其特征在于,获取手势识别实验结果或手势识别真实结果的步骤包括:
获取视频图像并从视频图像的背景中分割出手势图像;
将分割后的手势图像二值化,转化到规定大小的图像;
提取图像的hog特征和hu矩,将hog特征和hu矩合并为融合特征向量;
使用pca算法对融合特征向量进行降维处理;
使用训练好的svm分类器完成对降维处理后融合特征向量的分类,得到手势识别结果。
4.如权利要求3所述的基于手势的数字阅读方法,其特征在于,获取视频图像并从视频图像的背景中分割出手势图像的步骤包括:
获取视频图像并进行手势运动跟踪,获取运动的手部所在区域;
对手部所在区域进行肤色分割,通过对二值化的分割图像采用边界扫描以得到手势图像。
5.如权利要求3所述的基于手势的数字阅读方法,其特征在于,使用pca算法对融合特征向量进行降维处理的步骤包括:
对融合特征向量进行征归一化处理;
计算样本特征的协方差矩阵;
采用奇异值分解的算法计算协方差矩阵的特征值和特征向量,获得降维矩阵;
通过降维矩阵将样本映射到低维空间上。
6.如权利要求3所述的基于手势的数字阅读方法,其特征在于,获取手势识别实验结果或手势识别真实结果的步骤还包括:
若svm分类连续多帧手势图像的结果一致,则将结果一致的多帧已二值化的手势图像添加到一个已分类正确的图像队列中,当下一次获取已二值化的手势图像,将该手势图像与图像队列中每个手势图像相与,如果重复面积都占图像队列中所有手势图像和自身图像面积的95%以上,则不对该手势图像进行分类,使用图像队列的分类代表该手势图像的识别结果。
7.如权利要求6所述的基于手势的数字阅读方法,其特征在于,获取手势识别实验结果或手势识别真实结果的步骤还包括:
将未进行svm分类的手势图像添加到对应的图像队列中。
8.一种基于手势的数字阅读系统,其特征在于,包括:
手势识别实验模块,用于获取所有的自定义手势,将自定义手势中的其中一个作为起始手势,剩余手势中的每一个依次作为目标手势,依次进行起始手势转变为每一个目标手势的手势识别实验过程;
映射关系建立模块,用于获取手势识别实验过程的手势识别实验结果,将手势识别实验结果中起始手势和目标手势以外的手势设为过渡手势,建立起始手势与所有过渡手势的映射关系;
识别结果获取模块,用于进行数字阅读时,连续获取手势识别真实结果;
识别结果执行模块,用于若当前手势识别真实结果与上一次手势识别真实结果相同或存在映射关系,则获取当前手势识别真实结果对应手势的持续时间;在当前手势识别真实结果对应手势的持续时间达到设定值之前,放弃执行当前手势识别真实结果对应的手势;在当前手势识别真实结果对应手势的持续时间达到设定值时,立即执行当前手势识别真实结果对应的手势并对持续时间清零;
识别结果执行模块还用于若当前手势识别真实结果与上一次手势识别真实结果不同且不存在映射关系,则立即执行当前手势识别真实结果对应的手势。
技术总结