一种手势识别方法及装置的制造方法

文档序号:10656017阅读:273来源:国知局
一种手势识别方法及装置的制造方法
【专利摘要】本发明公开了一种手势识别方法,包括:获取待识别手势的形状,并由手势形状的边缘提取一个封闭的轮廓,获取该轮廓上的所有轮廓点及每个轮廓点的坐标;确定轮廓的层数,并基于每个轮廓点的坐标计算每个轮廓点对应于每层的面积参数、弧长参数及重心参数,作为该轮廓点的特征参数;利用每个轮廓点的特征参数,将所述待识别手势与预设模版库中的模板进行匹配,得到最佳匹配模板,并确定最佳匹配模板为待识别手势。本发明同时对全局特征、局部特征及全局特征与局部特征之间的关系进行描述,多尺度、全方位地进行分析表述,实现了对待识别手势形状的全局特征和局部特征的有效提取和表示,避免了基于单一特征导致的识别准确率低的情况。
【专利说明】
-种手势识别方法及装置
技术领域
[0001] 本发明设及一种手势识别方法及装置,属于目标识别技术领域。
【背景技术】
[0002] 手势识别在人机交互领域具有重要意义,在虚拟现实、手语识别和人机博弈等方 面有着广泛的应用。
[0003] 先前手势识别技术的难点在于手势的获取,随着深度相机的发展,Kinect传感器 很好的解决了运一问题,进而手势识别的难点集中到识别效率和准确率上。
[0004] 通常手势识别方法可W分为两类。第一类是基于统计学的方法:对于一个动态手 势,将它看成一个随机过程的输出,手势识别则可W根据统计学模型来确定,如PCA、HMMS、 粒子滤波、浓缩算法等,但计算复杂,识别效率低,无法达到实时的要求。第二类是基于规则 的方法:先根据输入特征预设一系列模板,对一个手势进行识别时,获取该手势的一系列特 征并与预设的模板特征进行匹配,与输入手势匹配度最佳的模板则作为待识别手势的类别 输出,如化ape contexts ,Thresholding+阳MD、Nea;r-convex+阳MD等,但无法同时保证识别 准确率和识别效率。
[0005] 针对上述问题,如何获取一种能够同时保证较高的识别准确率及识别效率的手势 识别方法,是目前相关技术领域的关键问题。

【发明内容】

[0006] 本发明的发明目的是提供一种手势识别方法及装置,W同时保证较高的识别正确 率和效率。
[0007] 为达到上述发明目的,本发明采用的技术方案是:一种手势识别方法,所述方法包 括如下步骤: 51、 获取待识别手势形状,并由所述待识别手势形状的边缘提取一个封闭的轮廓,获取 该轮廓上的所有轮廓点及每个轮廓点的坐标; 52、 确定当前所有轮廓点所在的轮廓的层数为1,计算当前所有轮廓点对应于当前层的 面积参数、弧长参数及重屯、参数; 53、 将当前层加1作为当前层,计算当前所有轮廓点对应于当前层的面积参数、弧长参 数及重屯、参数,然后计算当前所有轮廓点对应于当前层的面积参数、弧长参数及重屯、参数 与当前所有轮廓点对应于当前层的层数减1的面积参数、弧长参数及重屯、参数之间的差异, 并判断当前所有轮廓点对应的所述差异的和与所述所有轮廓点的数量的比值是否小于差 异阔值,如果是,则确定当前层减1得到的层数为所述轮廓的层数,并执行步骤S5,如果否, 则执行步骤S4; 54、 返回步骤S3; 55、 将每个轮廓点的面积参数、弧长参数及重屯、参数作为特征参数,利用每个轮廓点的 特征参数,将所述待识别手势与预设模板库中的模板进行匹配,得到所述待识别手势的最 佳匹配模板,并确定所述最佳匹配模板的类别为最终所需的所述手势识别的类别; 其中面积参数、弧长参数及重屯、参数获取的步骤具体包括: (1) 、将任一轮廓点作为目标轮廓点,W所述目标轮廓点的坐标为中屯、,W与当前层对 应的半径为预设半径作圆,得到与当前轮廓层对应的预设圆; (2) 、将所述待识别手势形状中被所述预设圆截取的与所述目标轮廓点具有直接连接 关系的区域的面积与所述预设圆的面积的比值和归一化的所述目标轮廓点与所述待识别 手势形状重屯、的距离的乘积作为所述目标轮廓点的面积参数; (3) 、将所述待识别手势形状中被所述预设圆切割出的与所述目标轮廓点具有直接连 接关系的弧段的长度与所述预设圆的周长的比值和归一化的所述目标轮廓点与所述待识 别手势形状重屯、的距离的乘积作为所述目标轮廓点的弧长参数; (4) 、确定所述待识别手势形状中被所述预设圆截取的与所述目标轮廓点具有直接连 接关系的区域的重屯、与所述目标轮廓点的距离,并将该距离与所述预设半径的比值与归一 化的所述目标轮廓点与所述待识别手势形状重屯、的距离的乘积作为所述目标轮廓点的重 屯、参数。
[000引优选地,利用Kinect传感器获取待识别手势的形状。
[0009] 优选地,采用化nny算子提取所述待识别手势形状的边缘获得一个封闭的轮廓。
[0010] 优选地,归一化的所述目标轮廓点与所述待识别手势形状重屯、的距离,包括: 计算所述手势形状的重屯、,将所述目标轮廓点与所述手势形状的重屯、相减,得到所述 目标轮廓点与所述待识别手势形状重屯、的距离; 将所述目标轮廓点与所述手势形状重屯、的距离与所述手势形状等效半径的2倍相除, 得到归一化的所述目标轮廓点与所述待识别手势形状重屯、的距离。
[0011] 优选地,确定与所述当前层对应的半径为预设半径,包括: 将所述待识别手势形状的等效半径与2的N次方的比值作为所述当前层对应的预设半 径,其中,N为所述当前层对应的层数。
[0012] 进一步的技术方案中,确定所述待识别手势形状的等效半径,包括: 计算所述待识别手势形状的面积,并对所述待识别手势形状的面积进行开平方得到所 述待识别手势形状的等效半径。
[0013] 优选地,利用每个轮廓点参数的特征参数与预设模板库中的模板进行匹配,得到 所述待识别手势的最佳匹配模板,包括: 将所述待识别手势的特征参数与所述模板的特征参数进行匹配度的计算,并确定匹配 度不大于其他模板的匹配度的模板为所述最佳匹配模板。
[0014] 进一步技术方案中,将所述待识别手势的特征参数与所述模板的特征参数进行匹 配度的计算,包括:将所述待识别手势的轮廓点按序排列组成目标序列,将需要与所述待识 别手势进行匹配的一个模板的轮廓点按序排列组成匹配序列; 利用动态时间规整算法计算所述目标序列与所述匹配序列之间的匹配度,作为所述待 识别手势与对应模板之间的匹配度。
[0015] 进一步技术方案中,利用动态时间规整算法计算所述目标序列与所述匹配序列之 间的匹配度,包括: 求取所述目标序列上一点与所述匹配序列上一点之间的欧氏距离,并比较所述目标序 列上从起点到所述目标序列上一点与所述匹配序列上从起点到所述匹配序列上一点的前 一点的对应点间的欧氏距离之和,所述目标序列上从起点到所述目标序列上一点的前一点 与所述匹配序列上从起点到所述匹配序列上一点对应点间的欧氏距离之和与所述目标序 列上从起点到所述目标序列上一点前一点与所述匹配序列上从起点到所述匹配序列上一 点的前一点对应点间的欧氏距离之和,取=者之间的最小值与所述目标序列上一点与所述 匹配序列上一点之间的欧氏距离相加,得到所述目标序列上从起点到所述目标序列上一点 与所述匹配序列上从起点到所述匹配序列上一点对应点间的欧氏距离之和; 将得到的所述目标序列上从起点到终点与所述匹配序列上从起点到终点对应点间的 欧氏距离之和作为所述目标序列与所述匹配序列之间的匹配度。
[0016] 本发明还提供了一种手势识别装置,包括: 提取模块,用于获取待识别手势的形状,由所述手势形状边缘提取一个封闭的轮廓,获 取该轮廓上所有的轮廓点及每个轮廓点的坐标; 计算模块,用于确定轮廓的层数,并基于每个所述轮廓点的坐标计算每个所述轮廓点 对应于每层的面积参数、弧长参数及重屯、参数,作为该轮廓点的特征参数; 匹配模块,用于利用每个轮廓点的特征参数,将所述待识别手势与预设模板库中的模 板进行匹配,得到所述待识别手势的最佳匹配模板,并确定所述最佳匹配模板的类别为所 述待识别手势的类别。
[0017] 由于上述技术方案运用,本发明与现有技术相比具有下列优点: 1. 与现有技术相比,本发明根据待识别手势形状的边缘提取封闭的轮廓,进而获得轮 廓点及每个轮廓点的坐标,然后计算每个轮廓点在每个轮廓层的参数,即面积参数、弧长参 数和重屯、参数,作为每个轮廓点完整的特征参数,W实现全局特征和局部特征的提取及有 效表示,最后依据手势形状中每个轮廓点的特征参数,将待识别手势与模板进行匹配,得到 对应的最佳匹配模板,从而确定待识别手势的类别,在上述过程中,不是单一的关注全局特 征或局部特征,而是同时对全局特征、局部特征及全局特征与局部特征之间的关系进行描 述,多尺度、全方位地进行分析表述,实现了对待识别手势形状的全局特征和局部特征的有 效提取和表示,尤其对手指信息进行增强表示,避免了基于单一特征导致的识别准确率低 的情况;而且本发明的特征参数的维度较低,在将待识别手势与模板进行匹配时计算复杂 度降低,实现了较高的识别效率,从而本发明能同时保证较高的识别正确率和效率; 2. 本发明在对手势形状的全局特征和局部特征进行提取和有效表示的同时,还具有平 移不变性、旋转不变性、尺度不变性、较接不变性和遮挡不变性等优良性能,并能有效抑制 噪声干扰,进一步提高识别准确率和识别效率。
[001 引
【附图说明】
[0019] 图1是本发明的流程示意图。
[0020] 图2为本发明实施例一中提供的手势识别方法中设及的目标形状的具体例子的示 意图。
[0021] 图3为本发明实施例一中提供的手势识别方法中目标形状的具体示意图。
[0022] 图4为本发明实施例一中提供的手势识别方法中目标形状被预设圆截取后的示意 图。
[0023] 图5为本发明实施例一中提供的手势识别方法中目标形状被预设圆分割后的示意 图。
[0024] 图6为本发明实施例一中提供的手势识别装置的结构示意图。
[0025] 其中:1、提取模块;2、计算模块;3、匹配模块。
【具体实施方式】
[0026] 下面结合附图及实施例对本发明作进一步描述: 实施例一:参见图1所示,一种手势识别方法,所述方法包括如下步骤: S1、获取待识别手势形状,并由所述待识别手势形状的边缘提取一个封闭的轮廓,获取 该轮廓上的所有轮廓点及每个轮廓点的坐标; 需要说明的是,本发明设计的目标形状均可W为具有闭合轮廓的形状,如图2所示为本 发明设及的目标形状的具体例子。另外,轮廓点的数量为轮廓点上所有点的个数,其具体取 值根据实际情况确定,W完整表示手势形状的轮廓特征为准。
[0027] 在数字图像中,形状的边缘可W由一系列具有坐标信息的轮廓点表示,本发明实 施例中目标形状的轮廓点的集合S可W表示为: S={p(i) I iG [l,n]} 其中,n表示轮廓的长度,即轮廓点的个数;p(i)表示轮廓点的序列中的第i个轮廓点, 且有: p(i) = {u(i) ,v(i)} 其中,u(i)、v(i)分别是p(i)的横纵坐标。
[0028] S2、确定当前所有轮廓点所在的轮廓的层数为1,计算当前所有轮廓点对应于当前 层的面积参数、弧长参数及重屯、参数; 需要说明的是,轮廓的层数即每个轮廓点对应的特征参数的层数,通过确定轮廓的层 数,可W得到每个轮廓点在每层轮廓下的面积参数、弧长参数及重屯、参数,W构成每个轮廓 点完整的特征参数。其中,轮廓点的层数可W由工作人员根据实际需要进行确定,可W直接 设定其层数,也可W通过一定算法得到,均在本发明的保护范围之内。
[0029] S3、将当前层加1作为当前层,计算当前所有轮廓点对应于当前层的面积参数、弧 长参数及重屯、参数,然后计算当前所有轮廓点对应于当前层的面积参数、弧长参数及重屯、 参数与当前所有轮廓点对应于当前层的层数减1的面积参数、弧长参数及重屯、参数之间的 差异,并判断当前所有轮廓点对应的所述差异的和与所述所有轮廓点的数量的比值是否小 于差异阔值,如果是,则确定当前层减1得到的层数为所述轮廓的层数,并执行步骤S5,如果 否,则执行步骤S4; 需要说明的是,差异阔值可W根据实际需要进行确定,例如差异阔值为1(T3,如当前层 为3时每个轮廓点对应于当前层的面积参数、弧长参数及重屯、参数与当前层为2时该轮廓点 对应于当前层的面积参数、弧长参数及重屯、参数之间的差异的平均值,即全部轮廓点对应 的上述差异的和与轮廓点的个数的比值小于差异阔值,则确定每个轮廓点的层数为2层。另 夕h平均值指的是每个轮廓点对应的差异的平均值,而任一轮廓点的差异为该轮廓点在不 同层对应的面积参数、弧长参数及重屯、参数之间的差异。而在确定任一轮廓点在两个层分 别对应的面积参数、弧长参数及重屯、参数之间的差异时,可W是分别计算该轮廓点在两个 层分别对应的面积参数的差值,两个层分别对应的弧长参数的差值及两个层分别对应的重 屯、参数的差值,进而根据上述=个差值及=个差值的权重计算得到最后的差异,也可W是 将每个层对应的面积参数、弧长参数及重屯、参数构成一参数向量,进而计算两个层分别对 应的参数向量之间的向量差,得到最后的差异,还可W根据实际需要按照其他方法计算上 述差异,均在本发明的保护范围之内。
[0030] 另外,需要说明的是,预先计算出每个轮廓点初始的面积参数、弧长参数及重屯、参 数,即每个轮廓点当前层为1时的初始面积参数、初始弧长参数及初始重屯、参数,运是因为, 轮廓的层数至少为一层,因此,可W先计算出每个轮廓点的初始面积参数、初始弧长参数及 初始重屯、参数,进而选取任一轮廓点按照上述方法计算其在当前层及当前层减一得到的层 对应的上述参数之间的差异,并在该差异小于差异阔值时,确定当前层减一对应的层的层 数为轮廓的层数,并在确定层数后,计算出每个轮廓点对应其它层的上述参数即可,当然, 也可W根据实际需要进行其他设置,均在本发明的保护范围之内。
[0031] S4、返回步骤S3; S5、将每个轮廓点的面积参数、弧长参数及重屯、参数作为特征参数,利用每个轮廓点的 特征参数,将所述待识别手势与预设模板库中的模板进行匹配,得到所述待识别手势的最 佳匹配模板,并确定所述最佳匹配模板的类别为最终所需的所述手势识别的类别; 需要说明的是,预设模版库为工作人员预先设置的模板库,其中的每个模板都具有相 应的特征参数,而每个模板的特征参数的计算方法与待识别手势的特征参数的计算方法相 同,在此不再寶述。通过将待识别手势的每个轮廓点的特征参数与预设模板库中的每个模 板上的轮廓点的特征参数进行匹配,得到与待识别手势匹配度最佳的模板,并确定该模板 的类别为待识别手势的类别。
[0032] 其中面积参数、弧长参数及重屯、参数获取的步骤具体包括: (1 )、将任一当前轮廓点作为目标轮廓点,W所述目标轮廓点的坐标为中屯、,W与当前 层对应的半径为预设半径作圆,得到与当前轮廓层对应的预设圆; (2) 、将所述待识别手势形状中被所述预设圆截取的与所述目标轮廓点具有直接连接 关系的区域的面积与所述预设圆的面积的比值和归一化的所述目标轮廓点与所述待识别 手势形状重屯、的距离的乘积作为所述目标轮廓点的面积参数,面积参数的取值范围应当在 0到1之间; (3) 、将所述待识别手势形状中被所述预设圆切割出的与所述目标轮廓点具有直接连 接关系的弧段的长度与所述预设圆的周长的比值和归一化的所述目标轮廓点与所述待识 别手势形状重屯、的距离的乘积作为所述目标轮廓点的弧长参数,弧长参数的取值范围应当 在0到1之间; (4) 、确定所述待识别手势形状中被所述预设圆截取的与所述目标轮廓点具有直接连 接关系的区域的重屯、与所述目标轮廓点的距离,并将该距离与所述预设半径的比值与归一 化的所述目标轮廓点与所述待识别手势形状重屯、的距离的乘积作为所述目标轮廓点的重 屯、参数,重屯、参数的取值范围应当在0到1之间。
[0033] 其中,需要说明的是,预设半径为与当前层对应的半径,即不同的轮廓层对应不同 的预设半径。且,对于每个轮廓点,均需要按照上述步骤得到其对应于每层的面积参数、弧 长参数及重屯、参数,在此不再寶述。
[0034] 依据上述步骤得到预设圆Ci(i)后,手势形状必然有一部分落在该预设圆内,假设 图3所示为目标形状,则预设圆与目标形状的示意图则如图4所示。如果目标形状落在预设 圆内的部分为一单独区域,则该单独区域即为与目标轮廓点具有直接连接关系的区域,记 为Zi( i);如果目标形状落在预设圆内的部分分为若干个互不连通的区域的话,如图4所示 的区域A和区域B,那么确定目标轮廓点在其轮廓上的区域为与目标轮廓点具有直接连接关 系的区域,记为Zi(i)。具体来说,将预设圆Ci(i)中的与目标轮廓点p(i)具有直接连接关系 的区域Zi(i)的面积记为&*(〇,则有:
将Zi(i)的面积与预设圆Ci(i)面积的比值与归一化的所述目标轮廓点与所述手势形 状重屯、的距离d( i)的乘积作为目标轮廓点的特征参数的面积参数si(i),即:
si(i)的取值范围应当在0到1之间。
[0035] 计算与目标轮廓点具有直接连接关系的区域的重屯、时,具体可W为将该区域中所 有像素点的坐标值求取平均数,所得结果即为该区域的重屯、的坐标值,可W表示为:
其中,wi(i)即为上述区域的重屯、。
[0036] 而计算目标轮廓点与重屯、wi(i)的距离,可W表示为:
并将与目标轮廓点的预设圆的半径的比值与归一化的所述目标轮廓点与所述手 势形状重屯、的距离d(i)的乘积作为该目标轮廓点特征参数的重屯、参数q(〇.即
ci(i)的取值范围应当在0到1之间。
[0037] 依据上述步骤得到预设圆后,目标形状的轮廓被预设圆切割后必然会有一段或者 多段弧段落在预设圆内,如图5所示。如果目标形状只有一段弧段落在预设圆内,则确定该 弧段为与目标轮廓点具有直接连接关系的弧段,如果目标形状有多段弧段落在预设圆内, 如图5中的弧段A(Segment A)、弧段B(Segment B)、弧段C(Segment C),则确定目标轮廓点 所在的弧段为与目标轮廓点具有直接连接关系的弧段,在图5中即为弧段A(Segment A)。
[003引将预设圆ci(i)内与目标轮廓点p(i)具有直接连接关系的弧段的长度记为/|'(/), 并将(的与预设圆ci(i)周长的比值与归一化的所述目标轮廓点与所述手势形状重屯、的距 离d( i)的乘积作为目标轮廓点的特征参数的弧长参数h(i),即
其中,h(i)的取值范围应当在0到1之间。
[0039] 从而可W通过上述方式得到目标轮廓点及其他全部轮廓点的特征参数,表示为M (i) :M(i) = {sk(i),lk(i),ck(i) I kG [1 ,m], i G [1 ,n]} 本实施例中,利用Kinect传感器获取待识别手势的形状。
[0040] 需要说明的是,获取待识别手势形状时可W采用工作人员预先确定的任何能够有 效实现手势形状获取的方法。本发明的实施例中,采用Kinect传感器,W有效地获取待识别 手势的形状。
[0041] 本实施例中,采用化nny算子提取所述待识别手势形状的边缘获得一个封闭的轮 廓。
[0042] 需要说明的是,提取手势形状的边缘时可W采用作人员预先确定的任何能够有效 实现手势形状边缘提取的方法,具体可W为化nny算子、Laplacian算子等,本发明的实施例 中,优选为化nny算子,W快速有效地获取手势形状的轮廓。
[0043] 本实施例中,归一化的所述目标轮廓点与所述待识别手势形状重屯、的距离,包括: 计算所述手势形状的重屯、,将所述目标轮廓点与所述手势形状的重屯、相减,得到所述 目标轮廓点与所述待识别手势形状重屯、的距离; 将所述目标轮廓点与所述手势形状重屯、的距离与所述手势形状等效半径的2倍相除, 得到归一化的所述目标轮廓点与所述待识别手势形状重屯、的距离。
[0044] 需要说明的是,计算所述手势形状的重屯、时,具体可W将该手势形状中所有像素 点的坐标值求取平均值,所得结果即为该手势形状的重屯、的坐标值,可W表示为:
其中,Pcenter即为所述手势形状的重屯、。
[0045] 计算目标轮廓点与所述手势形状重屯、Peenter的距离d*(i),可W表示为: d*(i)= I I P(i)-Pcenter 并将d*(i)与所述手势形状等效半径的2倍的比值作为归一化的所述目标轮廓点与所 述手势形状重屯、的距离d(i)
其中R为所述手势形状的等效半径。
[0046] 本实施例中,确定与所述当前层对应的半径为预设半径,包括: 将所述待识别手势形状的等效半径与2的N次方的比值作为所述当前层对应的预设半 径,其中,N为所述当前层对应的层数。
[0047] 具体可W表示为:Wp(i)为圆屯、,Wri为预设半径做圆得到预设圆Ci(i),该预设圆 是为计算对应轮廓点的特征参数所做的准备工作。
[0048] 而预设半径n的具体表示方式可W为:
其中,R为手势形状的等效半径,N为当前层对应的层数。计算第一层对应的预设半径ri 时,此公式中N取1;而计算其他层对应的预设半径时,N为对应的层数。
[0049] 本实施例中,确定所述待识别手势形状的等效半径,包括: 计算所述待识别手势形状的面积,并对所述待识别手势形状的面积进行开平方得到所 述待识别手势形状的等效半径。
[0化日]具体可W表示为:
其中,areas为手势形状的面积,R为手势形状的等效半径。
[0051] 当然,上述预设半径及等效半径的具体计算方法也可W由工作人员根据实际需要 进行其他设定,均在本发明的保护范围之内。
[0052] 本实施例中,利用每个轮廓点参数的特征参数与预设模板库中的模板进行匹配, 得到所述待识别手势的最佳匹配模板,包括: 将所述待识别手势的特征参数与所述模板的特征参数进行匹配度的计算,并确定匹配 度不大于其他模板的匹配度的模板为所述最佳匹配模板。
[0053] 其中,匹配度越小,说明待识别目标形状与对应模板的形状越相似,因此,确定匹 配度不大于其他模板的匹配度的模板为最佳匹配模板。而匹配度不大于其他模板的匹配度 的模板具体可W为:如果模板中存在匹配度最小的一个模板,则确定该模板为最佳匹配模 板,如果模板中存在匹配度最小且相等的多个模板,则确定其中一个模板为最佳匹配模板。
[0054] 上述方案中,将所述待识别手势的特征参数与所述模板的特征参数进行匹配度的 计算,包括:将所述待识别手势的轮廓点按序排列组成目标序列,将需要与所述待识别手势 进行匹配的一个模板的轮廓点按序排列组成匹配序列; 利用动态时间规整算法计算所述目标序列与所述匹配序列之间的匹配度,作为所述待 识别手势与对应模板之间的匹配度。
[0055] 当然,也可W根据实际需要由工作人员预先设置其他的算法计算上述匹配度,均 在本发明保护范围之内。
[0056] 上述方案中,利用动态时间规整算法计算所述目标序列与所述匹配序列之间的匹 配度,包括: 求取所述目标序列上一点与所述匹配序列上一点之间的欧氏距离,并比较所述目标序 列上从起点到所述目标序列上一点与所述匹配序列上从起点到所述匹配序列上一点的前 一点的对应点间的欧氏距离之和,所述目标序列上从起点到所述目标序列上一点的前一点 与所述匹配序列上从起点到所述匹配序列上一点对应点间的欧氏距离之和与所述目标序 列上从起点到所述目标序列上一点前一点与所述匹配序列上从起点到所述匹配序列上一 点的前一点对应点间的欧氏距离之和,取=者之间的最小值与所述目标序列上一点与所述 匹配序列上一点之间的欧氏距离相加,得到所述目标序列上从起点到所述目标序列上一点 与所述匹配序列上从起点到所述匹配序列上一点对应点间的欧氏距离之和; 将得到的所述目标序列上从起点到终点与所述匹配序列上从起点到终点对应点间的 欧氏距离之和作为所述目标序列与所述匹配序列之间的匹配度。
[0057]具体来说,上述求取待识别手势与对应模板之间的匹配度,可W包括: 将分别属于目标序列及匹配序列的轮廓点按照预设规则进行两两匹配,并求得每对配 对的轮廓点之间的欧氏距离,即每次进行配对的两个轮廓点中一个属于目标序列,另一个 属于匹配序列。其中,预设规则可W由工作人员根据实际需要进行确定,具体可W为: 1、 进行配对的两个轮廓点必须属于两条不同的点序列,即分别属于目标序列及匹配序 列; 2、 目标序列的起点与匹配序列的起点必须进行配对,目标序列的终点与匹配序列的终 点必须进行配对; 3、 两条进行匹配的点序列必须按轮廓点的标号顺序配对; 4、 参与过配对的轮廓点可W再次参与配对,但参与过配对的一对轮廓点中的目标轮廓 点与另一条点序列上超过一个轮廓点进行配对,则与目标轮廓点配对过的轮廓点不能再次 参与配对; 5、 所有轮廓点必须都参与配对。
[005引具体来说,目标序列可W表示A={pi,p2, . . .,pm},匹配序列可W表示为B={qi, Q2, ...,qn},不失一般性的,可W假设m>n,则计算属于不同点序列中的两个轮廓点Pi和qj 的特征参数之间的欧氏距离d(pi,w),即:
利用动态时间规整算法计算待识别手势上从起点到Pi点和匹配模版上从起点到qj点 之间的最小匹配代价D(Pi,Qj ),即: D(pi,qj)=min{D(pi-i,qj),D(pi,qj-i),D(pi-i,qj-i)}+d(pi,qj) 则利用动态时间规整算法计算出的待识别目标序列与匹配序列之间的匹配度D(pm, qn),即:D(Pm,qn) =min{D(Pm-l,qn) ,D(Pm,qn-l) ,D(Pm-l ,qn-l) }+d(Pm,qn) 需要说明的是,本发明实施例所提供的一种手势识别方法的功能如果W软件功能单元 的形式实现并作为独立的产品销售或使用时,可W存储在一个计算设备可读取存储介质 中。基于运样的理解,本发明实施例对现有技术做出贡献的部分或者该技术方案的部分可 W W软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用W使 得一台计算设备(可W是个人计算机,服务器,移动计算设备或者网络设备等)执行本发明 各个实施例方法的全部或部分步骤。而前述的存储介质可W包括:U盘、移动硬盘、只读存储 器(ROM,Read-Only Memoir)、随机存取存储器(RAM,Random Access Memoir)、磁碟或者光 盘等各种可W存储程序代码的介质。
[0059]如图6所示,本实施例还提供了一种手势识别装置,包括: 提取模块1,用于获取待识别手势的形状,由所述手势形状边缘提取一个封闭的轮廓, 获取该轮廓上所有的轮廓点及每个轮廓点的坐标; 计算模块2,用于确定轮廓的层数,并基于每个所述轮廓点的坐标计算每个所述轮廓点 对应于每层的面积参数、弧长参数及重屯、参数,作为该轮廓点的特征参数; 匹配模块3,用于利用每个轮廓点的特征参数,将所述待识别手势与预设模板库中的模 板进行匹配,得到所述待识别手势的最佳匹配模板,并确定所述最佳匹配模板的类别为所 述待识别手势的类别。
[0060] 所述提取模块1与计算模块2连接,所述计算模块2与匹配模块连接。
[0061] 本发明实施例提供的一种手势识别装置中,提取模块可W包括: 获取单元,用于利用Kinect传感器获得待识别手势的形状; 提取单元,用于采用化nny算子针对手势形状的边缘提取一个封闭的轮廓。
[0062] 本发明实施例提供的一种手势识别装置中,计算模块可W包括: (1) 、确定当前所有轮廓点所在的轮廓的层数为1,计算当前所有轮廓点对应于当前层 的面积参数、弧长参数及重屯、参数; (2) 、将当前层加1作为当前层,计算当前所有轮廓点对应于当前层的面积参数、弧长参 数及重屯、参数,然后计算当前所有轮廓点对应于当前层的面积参数、弧长参数及重屯、参数 与当前所有轮廓点对应于当前层的层数减1的面积参数、弧长参数及重屯、参数之间的差异, 并判断当前所有轮廓点对应的所述差异的和与所述所有轮廓点的数量的比值是否小于差 异阔值,如果是,则确定当前轮廓层减1得到的层数为当前所有轮廓点所在轮廓层的层数, 如果否,则执行步骤(3); (3) 、返回步骤(2); 本发明实施例提供的一种手势识别装置中,计算模块可W包括: 计算单元,用于:确定任一轮廓点为目标轮廓点,W目标轮廓点的坐标为中屯、,W与当 前层对应的半径为预设半径作圆,得到与当前层对应的预设圆;将目标形状中被预设圆截 取的,与目标轮廓点具有直接连接关系的区域的面积与预设圆的面积的比值与归一化的所 述目标轮廓点与所述手势形状重屯、的距离的乘积作为目标轮廓点的面积参数;将目标形状 中被预设圆切割出的,与目标轮廓点具有直接连接关系的弧段的长度与预设圆的周长的比 值与归一化的所述目标轮廓点与所述手势形状重屯、的距离的乘积作为目标轮廓点的弧长 参数;确定目标形状中被预设圆截取的,与目标轮廓点具有直接连接关系的区域的重屯、与 目标轮廓点的距离,并将该距离与预设半径的比值与归一化的所述目标轮廓点与所述手势 形状重屯、的距离的乘积作为目标轮廓点的重屯、参数。
[0063] 本发明实施例提供的一种手势识别装置中,计算单元可W包括: 归一化的所述目标轮廓点与所述手势形状重屯、的距离确定单元,用于计算所述手势形 状的重屯、,将所述目标轮廓点与所述手势形状重屯、的距离与所述手势形状等效半径的2倍 相除,得到归一化的所述目标轮廓点与所述手势形状重屯、的距离。
[0064] 本发明实施例提供的一种手势识别装置中,计算单元可W包括: 半径确定单元,用于将手势形状的等效半径与2的N次方的比值作为当前层对应的预设 半径,其中,N为当前层对应的层数。
[0065] 本发明实施例提供的一种手势识别装置中,半径确定单元可W包括: 半径确定子单元,用于计算手势形状的面积,并对手势形状的面积进行开平方得到目 标形状的等效半径。
[0066] 本发明实施例提供的一种手势识别装置中,匹配模块可W包括: 匹配单元,用于将待识别手势的特征参数与模板的特征参数进行匹配度的计算,并确 定匹配度不大于其他模板的匹配度的模板为最佳匹配模板。
[0067] 本发明实施例提供的一种手势识别装置中,匹配单元可W包括: 匹配子单元,用于:将待识别手势的轮廓点按序排列组成目标序列,将需要与待识别手 势进行匹配的一个模板的轮廓点按序排列组成匹配序列;利用动态时间规整算法计算目标 序列与匹配序列之间的匹配度,作为待识别手势与对应模板之间的匹配度。
[0068] 本发明实施例提供的一种手势识别装置中,匹配子单元可W包括: 求取单元:用于:求取所述目标序列上一点与所述匹配序列上一点之间的欧氏距离,并 比较所述目标序列上从起点到所述点与所述匹配序列上从起点到所述点的前一点的对应 点间的欧氏距离之和,所述目标序列上从起点到所述点的前一点与所述匹配序列上从起点 到所述点对应点间的欧氏距离之和与所述目标序列上从起点到所述点前一点与所述匹配 序列上从起点到所述点的前一点对应点间的欧氏距离之和,取=者之间的最小值与所述目 标序列上所述点与所述匹配序列上所述点之间的欧氏距离相加,得到所述目标序列上从起 点到所述点与所述匹配序列上从起点到所述点对应点间的欧氏距离之和。
[0069] 本发明实施例提供的一种手势识别装置中相关部分的说明请参见本发明实施例 提供的一种手势识别方法中对应部分的详细说明,在此不再寶述。
[0070] 另外,本说明书中各个实施例采用的递进的方式描述,每个实施例重点说明的都 是与其他实施例的不同之处,各个实施例之间相同或相似的部分互相参见即可。
[0071] 对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对运 些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可 W在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限 制于本文所示的运些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的 范围。
【主权项】
1. 一种手势识别方法,其特征在于:所述方法包括如下步骤: 一种手势识别方法,其特征在于:所述方法包括如下步骤: 51、 获取待识别手势形状,并由所述待识别手势形状的边缘提取一个封闭的轮廓,获取 所述轮廓上的所有轮廓点及每个轮廓点的坐标; 52、 确定当前所有轮廓点所在的轮廓的层数为1,计算当前所有轮廓点对应于当前层的 面积参数、弧长参数及重心参数; 53、 将当前层加1作为当前层,计算当前所有轮廓点对应于当前层的面积参数、弧长参 数及重心参数,然后计算当前所有轮廓点对应于当前层的面积参数、弧长参数及重心参数 与当前所有轮廓点对应于当前层的层数减1的面积参数、弧长参数及重心参数之间的差异, 并判断当前所有轮廓点对应的所述差异的和与所述所有轮廓点的数量的比值是否小于差 异阈值,如果是,则确定当前层减1得到的层数为所述轮廓的层数,并执行步骤S5,如果否, 则执行步骤S4; 54、 返回步骤S3; 55、 将每个轮廓点的面积参数、弧长参数及重心参数作为特征参数,利用每个轮廓点的 特征参数,将所述待识别手势与预设模板库中的模板进行匹配,得到所述待识别手势的最 佳匹配模板,并确定所述最佳匹配模板的类别为最终所需的所述待手势识别的类别; 其中面积参数、弧长参数及重心参数获取的步骤具体包括: (1) 、将任一轮廓点作为目标轮廓点,以所述目标轮廓点的坐标为中心,以与当前层对 应的半径为预设半径作圆,得到与当前层对应的预设圆; (2) 、将所述待识别手势形状中被所述预设圆截取的与所述目标轮廓点具有直接连接 关系的区域的面积与所述预设圆的面积的比值和归一化的所述目标轮廓点与所述待识别 手势形状重心的距离的乘积作为所述目标轮廓点的面积参数; (3) 、将所述待识别手势形状中被所述预设圆切割出的与所述目标轮廓点具有直接连 接关系的弧段的长度与所述预设圆的周长的比值和归一化的所述目标轮廓点与所述待识 别手势形状重心的距离的乘积作为所述目标轮廓点的弧长参数; (4) 、确定所述待识别手势形状中被所述预设圆截取的与所述目标轮廓点具有直接连 接关系的区域的重心与所述目标轮廓点的距离,并将该距离与所述预设半径的比值与归一 化的所述目标轮廓点与所述待识别手势形状重心的距离的乘积作为所述目标轮廓点的重 心参数。2. 根据权利要求1所述的手势识别方法,其特征在于:利用Kinect传感器获取所述待识 别手势的形状。3. 根据权利要求1所述的手势识别方法,其特征在于:采用Canny算子提取所述待识别 手势形状的边缘获得一个封闭的轮廓。4. 根据权利要求1所述的手势识别方法,其特征在于:归一化的所述目标轮廓点与所述 待识别手势形状重心的距离,包括: 计算所述手势形状的重心,将所述目标轮廓点与所述手势形状的重心相减,得到所述 目标轮廓点与所述待识别手势形状重心的距离; 将所述目标轮廓点与所述手势形状重心的距离与所述手势形状等效半径的2倍相除, 得到归一化的所述目标轮廓点与所述待识别手势形状重心的距离。5. 根据权利要求1所述的手势识别方法,其特征在于:确定与所述当前层对应的半径为 预设半径,包括: 将所述待识别手势形状的等效半径与2的N次方的比值作为所述当前层对应的预设半 径,其中,N为所述当前层对应的层数。6. 根据权利要求4所述的手势识别方法,其特征在于:确定所述待识别手势形状的等效 半径,包括: 计算所述待识别手势形状的面积,并对所述待识别手势形状的面积进行开平方得到所 述待识别手势形状的等效半径。7. 根据权利要求1所述的手势识别方法,其特征在于:利用每个轮廓点的特征参数,将 所述待识别手势与预设模板库中的模板进行匹配,得到所述待识别手势的最佳匹配模板, 包括: 将所述待识别手势的特征参数与所述模板的特征参数进行匹配度的计算,并确定匹配 度不大于其他模板的匹配度的模板为所述最佳匹配模板。8. 根据权利要求7所述的手势识别方法,其特征在于:将所述待识别手势的特征参数与 所述模板的特征参数进行匹配度的计算,包括: 将所述待识别手势的轮廓点按序排列组成目标序列,将需要与所述待识别手势进行匹 配的一个模板的轮廓点按序排列组成匹配序列; 利用动态时间规整算法计算所述目标序列与所述匹配序列之间的匹配度,作为所述待 识别手势与对应所述模板之间的匹配度。9. 根据权利要求8所述的手势识别方法,其特征在于:利用动态时间规整算法计算所述 目标序列与所述匹配序列之间的匹配度,包括: 求取所述目标序列上一点与所述匹配序列上一点之间的欧氏距离,并比较所述目标序 列上从起点到所述目标序列上一点与所述匹配序列上从起点到所述匹配序列上一点的前 一点的对应点间的欧氏距离之和,所述目标序列上从起点到所述目标序列上一点的前一点 与所述匹配序列上从起点到所述匹配序列上一点对应点间的欧氏距离之和与所述目标序 列上从起点到所述目标序列上一点前一点与所述匹配序列上从起点到所述匹配序列上一 点的前一点对应点间的欧氏距离之和,取三者之间的最小值与所述目标序列上一点与所述 匹配序列上一点之间的欧氏距离相加,得到所述目标序列上从起点到所述目标序列上一点 与所述匹配序列上从起点到所述匹配序列上一点对应点间的欧氏距离之和; 将得到的所述目标序列上从起点到终点与所述匹配序列上从起点到终点对应点间的 欧氏距离之和作为所述目标序列与所述匹配序列之间的匹配度。10. -种手势识别装置,其特征在于,包括: 提取模块,用于获取待识别手势的形状,由所述待识别手势形状的边缘提取一个封闭 的轮廓,获取所述轮廓上所有轮廓点及每个轮廓点的坐标; 计算模块,用于确定轮廓的层数,并基于每个所述轮廓点的坐标计算每个所述轮廓点 对应于每层的面积参数、弧长参数及重心参数,作为该轮廓点的特征参数; 匹配模块,用于利用每个轮廓点的特征参数,将所述待识别手势与预设模板库中的模 板进行匹配,得到所述待识别手势的最佳匹配模板,并确定所述最佳匹配模板的类别为所 述待识别手势的类别。
【文档编号】G06K9/40GK106022227SQ201610309633
【公开日】2016年10月12日
【申请日】2016年5月11日
【发明人】杨剑宇, 何溢文, 徐浩然
【申请人】苏州大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1