专利名称:一种可训练的基于手势轨迹特征值的手势识别方法和装置的制作方法
一种可训练的基于手势轨迹特征值的手势识别方法和装置
技术领域:
本发明涉及手势识别领域,尤其涉及一种可训练的基于手势轨迹特征值的手势识别方法和装置。
背景技术:
如今,随着触屏设备以及触屏移动终端的大量应用,手势触控操作也变得越来越普遍。为了能够实现手势的触控操作,需要预先定义并记录与操作类型对应的手势轨迹,当用户进行触控操作时,识别用户输入的手势轨迹,执行对应的操作。现有的手势识别算法主 要分为两类第一类为通过暴力计算,计算手势轨迹中所有的点的移动方向,然后通过与预先设定的手势轨迹中的点的坐标及其移动方向进行对比,来识别手势轨迹;第二类为使用神经网络算法,通过长时间的训练,发现手势轨迹的特征和规律,并以此来识别手势轨迹。第一类使用暴力计算算法,需要利用所有点的坐标值计算手势的移动方向,导致计算量较大;第二类使用神经网络算法,需要预先进行很长时间的训练,耗费大量时间成本。
发明内容有鉴于此,本发明提供了一种可训练的基于手势轨迹特征值的手势识别方法和装置,减小识别过程中的计算量,提高识别效率。具体技术方案如下一种可训练的基于手势轨迹特征值的手势识别方法,该方法包括训练阶段从各类型操作的训练样本中提取手势轨迹的特征值,并将各类型操作对应手势轨迹的特征值记录在指定文件中;识别阶段提取待识别手势轨迹的特征值,判断所述待识别手势轨迹的特征值是否命中所述指定文件中的特征值,如果是,则将待识别手势识别为命中的特征值所对应的类型操作;其中,训练阶段和识别阶段中提取的手势轨迹的特征值为将包络手势轨迹的矩形划分为NXM个方格后手势轨迹所经过的方格编号,所述N和M为按照预设模式确定的正整数。根据本发明一优选实施例,所述训练阶段具体包括在确定操作类型后,提示用户多次输入该操作类型的手势轨迹;确定并记录每一次用户输入手势轨迹的特征值,当用户在P次输入手势轨迹的特征值相同时,将该操作类型的手势轨迹特征值记录在指定文件中,P为大于I的正整数。根据本发明一优选实施例,所述包络手势轨迹的矩形具体为确定用户输入手势轨迹中的最上点、最下点、最左点和最右点的四个边界点后,以该四个边界点为边界所作的矩形,其中,所述矩形中的两边分别经过所述最上点和所述最下点且平行于触控区域横轴,所述矩形中的其余两边分别经过所述最左点和所述最右点且平行于触控区域纵轴。根据本发明一优选实施例,所述将包络手势轨迹的矩形划分为NXM个方格,具体包括将所述矩形中与触控区域纵轴平行的边进行N等分,将所述矩形中与触控区域横轴平行的边进行M等分,以此将所述矩形划分为NXM个方格。根据本发明一优选实施例,确定所述手势轨迹所经过的方格编号,具体包括记录用户输入手势轨迹起始点所位于的方格的编号,根据用户输入手势轨迹的运动路线,依次查看其余每个点所位于的方格的编号,当后一个点与前一个点位于不同的方格时,记录后一个点所位于的方格的编号,最后,将所记录的编号序列作为该手势轨迹所经过的方格编号。一种可训练的基于手势轨迹特征值的手势识别装置,该装置包括 训练单元,用于从各类型操作的训练样本中提取手势轨迹的特征值,并将各类型操作对应手势轨迹的特征值记录在指定文件中;识别单元,用于提取待识别手势轨迹的特征值,判断所述待识别手势轨迹的特征值是否命中所述指定文件中的特征值,如果是,则将待识别手势识别为命中的特征值所对应的类型操作;其中,训练单元和识别单元中提取的手势轨迹的特征值为将包络手势轨迹的矩形划分为NXM个方格后手势轨迹所经过的方格编号,所述N和M为按照预设模式确定的正整数。根据本发明一优选实施例,所述训练单元具体执行在确定操作类型后,提示用户多次输入该操作类型的手势轨迹;确定并记录每一次用户输入手势轨迹的特征值,当用户在P次输入手势轨迹的特征值相同时,将该操作类型的手势轨迹特征值记录在指定文件中,P为大于I的正整数。根据本发明一优选实施例,所述包络手势轨迹的矩形具体为确定用户输入手势轨迹中的最上点、最下点、最左点和最右点的四个边界点后,以该四个边界点为边界所作的矩形,其中,所述矩形中的两边分别经过所述最上点和所述最下点且平行于触控区域横轴,所述矩形中的其余两边分别经过所述最左点和所述最右点且平行于触控区域纵轴。根据本发明一优选实施例,所述将包络手势轨迹的矩形划分为NXM个方格,具体执行将所述矩形中与触控区域纵轴平行的边进行N等分,将所述矩形中与触控区域横轴平行的边进行M等分,以此将所述矩形划分为NXM个方格。根据本发明一优选实施例,确定所述手势轨迹所经过的方格编号,具体执行记录用户输入手势轨迹起始点所位于的方格的编号,根据用户输入手势轨迹的运动路线,依次查看其余每个点所位于的方格的编号,当后一个点与前一个点位于不同的方格时,记录后一个点所位于的方格的编号,最后,将所记录的编号序列作为该手势轨迹所经过的方格编号。由以上技术方案可以看出,本发明通过用划分为方格的矩形将用户输入手势轨迹包络,将用户输入手势轨迹经过的方格的编号来作为手势轨迹的特征值,能够快速地确定用户输入手势轨迹运动路线的特征,而不需依据所有点的坐标值计算手势的移动方向,显然大大减小了计算量;另外相比较神经网络算法,训练过程简单快速,显著提高了识别效率。
图I为本发明实施例一提供的可训练的基于手势轨迹特征值的手势识别方法流程图;图2为本发明实施例一提供的确定手势轨迹特征值的方法流程图;图3为本发明实施例二提供的可训练的基于手势轨迹特征值的手势识别装置示意图。
具体实施方式为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。实施例一图I为本发明实施例提供的可训练的基于手势轨迹特征值的手势识别方法流程示意图,如图I所示,该方法包括S101、训练阶段,从各类型操作的训练样本中提取手势轨迹的特征值,并将各类型操作对应手势轨迹的特征值记录在指定文件中。在训练阶段,用户可以通过训练样本设定与不同操作类型对应的手势轨迹。在用户选定本次训练的手势轨迹对应的操作类型后,开始训练,由用户在触控区域输入手势轨迹,之后,确定用户输入手势轨迹的特征值并进行记录,同时,将该特征值展示给用户,用户可以选择是否保存本次训练结果,若保存,则将所记录的特征值与用户所选的操作类型形成对应关系后保存在指定文件中;若不保存,则忽略本次训练,开始新的训练。或者,也可以在训练过程中自动保存训练结果。具体训练过程可以为在选定操作类型后,提示用户多次输入该操作类型的手势轨迹,确定并记录每一次用户输入手势轨迹的特征值,当用户在P次输入手势轨迹的特征值均相同时,该手势轨迹固定,其中P为预设的大于I的正整数,将该特征值与用户所选操作类型保存在指定文件中,同时提示用户训练结束。需要说明的是,对于一个操作类型,用户可以采用上述方式设定多个不同的手势来与之对应。在训练阶段中,确定用户输入手势轨迹的特征值是训练与后续识别的关键部分,如图2所示,该过程可以通过下述步骤S201-S203来实现S201、确定用户输入手势轨迹中的最上、最下、最左、最右的四个边界点,以该四个边界点为边界作一个矩形以使得该矩形包络用户输入的手势轨迹。为了能够明确并记录用户输入的手势轨迹,需要获得能够表征该手势轨迹运动路线的参数来作为该手势轨迹的特征值,本发明正是通过用划分为方格的矩形将用户输入的手势轨迹包络,将用户输入手势轨迹经过的方格的编号作为手势轨迹的特征值来表征手势轨迹的运动路线的。
首先需要确定用户输入手势轨迹的最上、最下、最左、最右的四个边界点,这一过程可以通过如下方式实现以触控区域的左上角的点为原点建立坐标系,横轴为X轴,横轴坐标的值向右递增,纵轴为y轴,纵轴坐标的值向下递增,确定用户输入手势轨迹中每一个点的坐标,将手势轨迹的点的坐标中I值最小的点作为最上点,I值最大的点作为最下点,将坐标中X值最小的点作为最左点,X值最大的点作为最右点,其中,该坐标系的点可以依据触控区域的像素点来划分。最后,作两条平行于横轴的且分别经过最上点和最下点的边,以及两条平行于纵轴的且分别经过最左点和最右点的边,以此构成一个矩形将用户输入的手势轨迹包络。S202、将所述矩形按预先设定的模式划分为NXM个方格,对每个方格进行编号。将步骤S201中所作出的矩形划分为NXM个方格,并对每个方格进行编号,可以将矩形中与纵轴平行的边进行N等分,再将矩形中与横轴平行的边进行M等分,以此将矩形划分为NXM个方格,其中N和M为预设的正整数。例如,需要将矩形划分为8X8的方格,可以先将矩形与纵轴平行的边进行8等分,再将矩形与横轴平行的边进行8等分。对方格 的编码,可以采用现有的一些编码方式,例如,对于上述举例中的8X8方格,可以以从上至下,从左至右的顺序使用Base64Mapping Table的方法进行编码。可以理解的是,上述举例仅出于示例的目的,本发明的实施例不限于此。需要说明的是,方格的数量,即N的值和M的值可以根据实际需要进行设定,方格越多,则识别精度也相应的越高。S203、确定用户输入手势轨迹经过的方格,将用户输入手势轨迹所经过的方格编号作为手势轨迹的特征值。首先,根据用户输入手势轨迹的运动路线,依次确定手势轨迹中的每个点所位于的方格,这一过程可以通过如下方式实现采用步骤S201中所述方式建立坐标系,确定用户输入手势轨迹中每一个点的坐标,同时,确定矩形左上角的点的坐标并根据该坐标系确定矩形的边长,之后,将轨迹点的坐标值分别减去矩形左上角的点的坐标值,得到轨迹点相对于矩形的相对坐标,并根据该相对坐标以及矩形的边长判定轨迹点位于哪个方格内。例如,矩形左上角的点的坐标为x=30、y=30,矩形两边的边长分别为100和200 (相对于坐标系),其中100为与横轴平行的边的边长,200为与纵轴平行的边的边长,该矩形被划分为5X5个方格,用户输入手势轨迹内某一点的坐标为x=95、y=160,将该点的坐标值减去矩形左上角点的坐标值后得到该点相对于矩形的相对坐标为xl=65、yl=130,由于矩形划分方格时是通过将两边等分的方式,所以,可以根据矩形的边长确定每个方格相对于的矩形的相对坐标范围,如,在本例中,矩形左上角的方格相对于矩形的相对横坐标范围为0-19、相对纵坐标范围为0-39,该方格右方的方格的相对横坐标范围为20-39、相对纵坐标范围为40-79,以此类推,可以确定每个方格的相对坐标范围,之后,可以根据轨迹点的相对坐标Xl和yl判定该轨迹点位于哪个方格,如,在本例中,可判定出该轨迹点位于第四列第四排的方格内。可以理解的是,上述举例仅出于示例的目的,本发明的实施例不限于此。在依次确定了手势轨迹的每个点所位于的方格后,可以依据方格编号确定该手势轨迹的特征值,这一过程可以通过如下方式实现首先记录手势轨迹起始点所位于的方格的编号,之后根据手势轨迹的运动路线,依次查看其余每个点所位于的方格的编号,当手势轨迹中的后一个点与前一个点位于不同的方格时,记录后一个点所位于的方格的编号,直至用户输入手势轨迹的终点,最后,将所记录的编号序列作为该手势轨迹的特征值。S102、识别阶段,提取待识别手势轨迹的特征值,判断所述待识别手势轨迹的特征值是否命中所述指定文件中的特征值,如果是,则将待识别手势识别为命中的特征值所对应的类型操作。在识别阶段,可以识别用户输入的手势轨迹并执行对应的操作。确定用户输入手势轨迹的特征值,并判断在保存了特征值与对应操作类型的指定文件中是否能命中该特征值,若能,则执行与该特征值对应的操作;否则,则忽略本次用户输入的手势轨迹。其中,确定用户输入手势轨迹的特征值可以使用步骤S201-S203中所描述的方法。从上述对本发明实施例提供的方法的描述中可以看出,本发明通过用划分为方格的矩形将用户输入手势轨迹包络,将用户输入手势轨迹经过的方格的编号来作为手势轨迹的特征值,以此来识别用户输入手势轨迹。与现有技术相比,本发明不需要对所有点计算其移动方向,也不需要经过长时间大量的训练,显著提高了识别效率。实施例二图3为本发明实施例二提供的可训练的基于手势轨迹特征值的手势识别装置示意图,如图3所示,该装置包括训练单元10、识别单元20。训练单元10,用于从各类型操作的训练样本中提取手势轨迹的特征值,并将各类型操作对应手势轨迹的特征值记录在指定文件中。训练单元10可以记录并保存用户通过训练样本设定的与不同操作类型对应的手 势轨迹。在用户选定本次训练的手势轨迹对应的操作类型后,开始训练,由用户在触控区域画出手势轨迹,训练单元10确定用户输入手势轨迹的特征值并进行记录,同时,将该特征值展示给用户,用户可以选择是否保存本次训练结果,若保存,则将所记录的特征值与用户所选的操作类型形成对应关系后保存在指定文件中;若不保存,则忽略本次训练,开始新的训练。或者,训练单元10也可以在训练过程中自动保存训练结果,具体可以执行在选定操作类型后,提示用户多次输入该操作类型的手势轨迹,训练单元10确定并记录每一次训练中用户输入手势轨迹的特征值,当用户在P次输入手势轨迹的特征值均相同时,该手势轨迹固定,其中P为预设的大于I的正整数,将该特征值与用户所选操作类型保存在指定文件中,同时提示用户训练结束。需要说明的是,对于一个操作类型,用户可以采用上述方式设定多个不同的手势来与之对应。确定用户输入手势轨迹的特征值可以通过执行下述S301-S303所描述的操作来实现S301、确定用户输入手势轨迹中的最上、最下、最左、最右的四个边界点,以该四个边界点为边界作一个矩形以使得该矩形包络用户输入的手势轨迹。为了能够明确并记录用户输入的手势轨迹,需要获得能够表征该手势轨迹运动路线的参数来作为该手势轨迹的特征值,本发明正是通过用划分为方格的矩形将用户输入的手势轨迹包络,将用户输入手势轨迹经过的方格的编号作为手势轨迹的特征值来表征手势轨迹的运动路线的。首先需要确定用户输入手势轨迹的最上、最下、最左、最右的四个边界点,这一过程可以通过如下方式实现以触控区域的左上角的点为原点建立坐标系,横轴为X轴,横轴坐标的值向右递增,纵轴为y轴,纵轴坐标的值向下递增,确定用户输入手势轨迹中每一个点的坐标,将手势轨迹的点的坐标中I值最小的点作为最上点,I值最大的点作为最下点,将坐标中X值最小的点作为最左点,X值最大的点作为最右点,其中,该坐标系的点可以依据触控区域的像素点来划分。最后,作两条平行于横轴的且分别经过最上点和最下点的边,以及两条平行于纵轴的且分别经过最左点和最右点的边,以此构成一个矩形将用户输入的手势轨迹包络。S302、将所述矩形按预先设定的模式划分为NXM个方格,对每个方格进行编号。将在操作S301中所作出的矩形划分为NXM个方格,并对每个方格进行编号,可以将矩形中与纵轴平行的边进行N等分,再将矩形中与横轴平行的边进行M等分,以此将矩形划分为NXM个方格。例如,需要将矩形划分为8X8的方格,可以先将矩形与纵轴平 行的边进行8等分,再将矩形与横轴平行的边进行8等分。对方格的编码,可以采用现有的一些编码方式,例如,对于上述举例中的8 X 8方格,可以以从上至下,从左至右的顺序使用Base64Mapping Table的方法进行编码。可以理解的是,上述举例仅出于示例的目的,本发明的实施例不限于此。需要说明的是,方格的数量,即N的值和M的值可以根据实际需要进行设定,方格越多,则识别精度也相应的越高。S303、确定用户输入手势轨迹经过的方格,将用户输入手势轨迹所经过的方格编号作为手势轨迹的特征值。首先,根据用户输入手势轨迹的运动路线,依次确定手势轨迹中的每个点所位于的方格,这一过程可以通过如下方式实现采用步骤S201中所述方式建立坐标系,确定用户输入手势轨迹中每一个点的坐标,同时,确定矩形左上角的点的坐标并根据该坐标系确定矩形的边长,之后,将轨迹点的坐标值分别减去矩形左上角的点的坐标值,得到轨迹点相对于矩形的相对坐标,并根据该相对坐标以及矩形的边长判定轨迹点位于哪个方格内。例如,矩形左上角的点的坐标为x=30、y=30,矩形两边的边长分别为100和200 (相对于坐标系),其中100为与横轴平行的边的边长,200为与纵轴平行的边的边长,该矩形被划分为5X5个方格,用户输入手势轨迹内某一点的坐标为x=95、y=160,将该点的坐标值减去矩形左上角点的坐标值后得到该点相对于矩形的相对坐标为xl=65、yl = 130,由于矩形划分方格时是通过将两边等分的方式,所以,可以根据矩形的边长确定每个方格相对于的矩形的相对坐标范围,如,在本例中,矩形左上角的方格相对于矩形的相对横坐标范围为0-19、相对纵坐标范围为0-39,该方格右方的方格的相对横坐标范围为20-39、相对纵坐标范围为40-79,以此类推,可以确定每个方格的相对坐标范围,之后,可以根据轨迹点的相对坐标Xl和11判定该轨迹点位于哪个方格,如,在本例中,可判定出该轨迹点位于第四列第四排的方格内。可以理解的是,上述举例仅出于示例的目的,本发明的实施例不限于此。在依次确定了手势轨迹的每个点所位于的方格后,可以依据方格编号确定该手势轨迹的特征值,这一过程可以通过如下方式实现首先记录手势轨迹起始点所位于的方格的编号,之后根据手势轨迹的运动路线,依次查看其余每个点所位于的方格的编号,当手势轨迹中的后一个点与前一个点位于不同的方格时,记录后一个点所位于的方格的编号,直至用户输入手势轨迹的终点,最后,将所记录的编号序列作为该手势轨迹的特征值。识别单元20,用于提取待识别手势轨迹的特征值,判断所述待识别手势轨迹的特征值是否命中所述指定文件中的特征值,如果是,则将待识别手势识别为命中的特征值所对应的类型操作。识别单元20可以识别用户输入的手势轨迹并执行对应的操作。识别单元20首先确定用户输入手势轨迹的特征值,并判断在保存了特征值与对应操作类型的指定文件中是否能命中该特征值,若能,则执行与该特征值对应的操作;否则,则忽略本次用户输入的手势轨迹。其中,确定用户输入手势轨迹的特征值可以执行S301-S303中所描述的操作。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种可训练的基于手势轨迹特征值的手势识别方法,其特征在于,该方法包括 训练阶段从各类型操作的训练样本中提取手势轨迹的特征值,并将各类型操作对应手势轨迹的特征值记录在指定文件中; 识别阶段提取待识别手势轨迹的特征值,判断所述待识别手势轨迹的特征值是否命中所述指定文件中的特征值,如果是,则将待识别手势识别为命中的特征值所对应的类型操作; 其中,训练阶段和识别阶段中提取的手势轨迹的特征值为将包络手势轨迹的矩形划分为NXM个方格后手势轨迹所经过的方格编号,所述N和M为按照预设模式确定的正整数。
2.根据权利要求I所述的方法,其特征在于,所述训练阶段具体包括 在确定操作类型后,提示用户多次输入该操作类型的手势轨迹; 确定并记录每一次用户输入手势轨迹的特征值,当用户在P次输入手势轨迹的特征值相同时,将该操作类型的手势轨迹特征值记录在指定文件中,P为大于I的正整数。
3.根据权利要求I所述的方法,其特征在于,所述包络手势轨迹的矩形具体为 确定用户输入手势轨迹中的最上点、最下点、最左点和最右点的四个边界点后,以该四个边界点为边界所作的矩形,其中,所述矩形中的两边分别经过所述最上点和所述最下点且平行于触控区域横轴,所述矩形中的其余两边分别经过所述最左点和所述最右点且平行于触控区域纵轴。
4.根据权利要求I所述的方法,其特征在于,所述将包络手势轨迹的矩形划分为NXM个方格,具体包括 将所述矩形中与触控区域纵轴平行的边进行N等分,将所述矩形中与触控区域横轴平行的边进行M等分,以此将所述矩形划分为NXM个方格。
5.根据权利要求I所述的方法,其特征在于,确定所述手势轨迹所经过的方格编号,具体包括 记录用户输入手势轨迹起始点所位于的方格的编号,根据用户输入手势轨迹的运动路线,依次查看其余每个点所位于的方格的编号,当后一个点与前一个点位于不同的方格时,记录后一个点所位于的方格的编号,最后,将所记录的编号序列作为该手势轨迹所经过的方格编号。
6.一种可训练的基于手势轨迹特征值的手势识别装置,其特征在于,该装置包括 训练单元,用于从各类型操作的训练样本中提取手势轨迹的特征值,并将各类型操作对应手势轨迹的特征值记录在指定文件中; 识别单元,用于提取待识别手势轨迹的特征值,判断所述待识别手势轨迹的特征值是否命中所述指定文件中的特征值,如果是,则将待识别手势识别为命中的特征值所对应的类型操作; 其中,训练单元和识别单元中提取的手势轨迹的特征值为将包络手势轨迹的矩形划分为NXM个方格后手势轨迹所经过的方格编号,所述N和M为按照预设模式确定的正整数。
7.根据权利要求6所述的装置,其特征在于,所述训练单元具体执行 在确定操作类型后,提示用户多次输入该操作类型的手势轨迹;确定并记录每一次用户输入手势轨迹的特征值,当用户在P次输入手势轨迹的特征值相同时,将该操作类型的手势轨迹特征值记录在指定文件中,P为大于I的正整数。
8.根据权利要求6所述的装置,其特征在于,所述包络手势轨迹的矩形具体为 确定用户输入手势轨迹中的最上点、最下点、最左点和最右点的四个边界点后,以该四个边界点为边界所作的矩形,其中,所述矩形中的两边分别经过所述最上点和所述最下点且平行于触控区域横轴,所述矩形中的其余两边分别经过所述最左点和所述最右点且平行于触控区域纵轴。
9.根据权利要求6所述的装置,其特征在于,所述将包络手势轨迹的矩形划分为NXM个方格,具体执行 将所述矩形中与触控区域纵轴平行的边进行N等分,将所述矩形中与触控区域横轴平行的边进行M等分,以此将所述矩形划分为NXM个方格。
10.根据权利要求6所述的装置,其特征在于,确定所述手势轨迹所经过的方格编号,具体执行 记录用户输入手势轨迹起始点所位于的方格的编号,根据用户输入手势轨迹的运动路线,依次查看其余每个点所位于的方格的编号,当后一个点与前一个点位于不同的方格时,记录后一个点所位于的方格的编号,最后,将所记录的编号序列作为该手势轨迹所经过的方格编号。
全文摘要
本发明提供了一种可训练的基于手势轨迹特征值的手势识别方法和装置,其中方法包括训练阶段,确定用户输入手势轨迹的特征值,将该特征值与用户预先选择的操作类型形成对应关系后保存在指定文件中;识别阶段,确定用户输入手势轨迹的特征值,查询所述指定文件中是否有该特征值,若有,则执行与该特征值对应的操作;否则,忽略本次用户的手势操作。本发明通过用划分为方格的矩形将用户输入手势轨迹包络,将用户输入手势轨迹经过的方格的编号来作为手势轨迹的特征值,能够快速地确定用户输入手势轨迹运动路线的特征值,并能准确识别用户输入手势轨迹。
文档编号G06K9/62GK102968642SQ20121044120
公开日2013年3月13日 申请日期2012年11月7日 优先权日2012年11月7日
发明者荆博 申请人:百度在线网络技术(北京)有限公司