CN106022227A - 一种手势识别方法及装置 - Google Patents
一种手势识别方法及装置 Download PDFInfo
- Publication number
- CN106022227A CN106022227A CN201610309633.XA CN201610309633A CN106022227A CN 106022227 A CN106022227 A CN 106022227A CN 201610309633 A CN201610309633 A CN 201610309633A CN 106022227 A CN106022227 A CN 106022227A
- Authority
- CN
- China
- Prior art keywords
- point
- gesture
- identified
- profile
- matching
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/107—Static hand or arm
- G06V40/113—Recognition of static hand signs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/30—Noise filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/107—Static hand or arm
- G06V40/117—Biometrics derived from hands
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种手势识别方法,包括:获取待识别手势的形状,并由手势形状的边缘提取一个封闭的轮廓,获取该轮廓上的所有轮廓点及每个轮廓点的坐标;确定轮廓的层数,并基于每个轮廓点的坐标计算每个轮廓点对应于每层的面积参数、弧长参数及重心参数,作为该轮廓点的特征参数;利用每个轮廓点的特征参数,将所述待识别手势与预设模版库中的模板进行匹配,得到最佳匹配模板,并确定最佳匹配模板为待识别手势。本发明同时对全局特征、局部特征及全局特征与局部特征之间的关系进行描述,多尺度、全方位地进行分析表述,实现了对待识别手势形状的全局特征和局部特征的有效提取和表示,避免了基于单一特征导致的识别准确率低的情况。
Description
技术领域
本发明涉及一种手势识别方法及装置,属于目标识别技术领域。
背景技术
手势识别在人机交互领域具有重要意义,在虚拟现实、手语识别和人机博弈等方面有着广泛的应用。
先前手势识别技术的难点在于手势的获取,随着深度相机的发展,Kinect传感器很好的解决了这一问题,进而手势识别的难点集中到识别效率和准确率上。
通常手势识别方法可以分为两类。第一类是基于统计学的方法:对于一个动态手势,将它看成一个随机过程的输出,手势识别则可以根据统计学模型来确定,如PCA、HMMS、粒子滤波、浓缩算法等,但计算复杂,识别效率低,无法达到实时的要求。第二类是基于规则的方法:先根据输入特征预设一系列模板,对一个手势进行识别时,获取该手势的一系列特征并与预设的模板特征进行匹配,与输入手势匹配度最佳的模板则作为待识别手势的类别输出,如Shape contexts、Thresholding+FEMD、Near-convex+FEMD等,但无法同时保证识别准确率和识别效率。
针对上述问题,如何获取一种能够同时保证较高的识别准确率及识别效率的手势识别方法,是目前相关技术领域的关键问题。
发明内容
本发明的发明目的是提供一种手势识别方法及装置,以同时保证较高的识别正确率和效率。
为达到上述发明目的,本发明采用的技术方案是:一种手势识别方法,所述方法包括如下步骤:
S1、获取待识别手势形状,并由所述待识别手势形状的边缘提取一个封闭的轮廓,获取该轮廓上的所有轮廓点及每个轮廓点的坐标;
S2、确定当前所有轮廓点所在的轮廓的层数为1,计算当前所有轮廓点对应于当前层的面积参数、弧长参数及重心参数;
S3、将当前层加1作为当前层,计算当前所有轮廓点对应于当前层的面积参数、弧长参数及重心参数,然后计算当前所有轮廓点对应于当前层的面积参数、弧长参数及重心参数与当前所有轮廓点对应于当前层的层数减1的面积参数、弧长参数及重心参数之间的差异,并判断当前所有轮廓点对应的所述差异的和与所述所有轮廓点的数量的比值是否小于差异阈值,如果是,则确定当前层减1得到的层数为所述轮廓的层数,并执行步骤S5,如果否,则执行步骤S4;
S4、返回步骤S3;
S5、将每个轮廓点的面积参数、弧长参数及重心参数作为特征参数,利用每个轮廓点的特征参数,将所述待识别手势与预设模板库中的模板进行匹配,得到所述待识别手势的最佳匹配模板,并确定所述最佳匹配模板的类别为最终所需的所述手势识别的类别;
其中面积参数、弧长参数及重心参数获取的步骤具体包括:
(1)、将任一轮廓点作为目标轮廓点,以所述目标轮廓点的坐标为中心,以与当前层对应的半径为预设半径作圆,得到与当前轮廓层对应的预设圆;
(2)、将所述待识别手势形状中被所述预设圆截取的与所述目标轮廓点具有直接连接关系的区域的面积与所述预设圆的面积的比值和归一化的所述目标轮廓点与所述待识别手势形状重心的距离的乘积作为所述目标轮廓点的面积参数;
(3)、将所述待识别手势形状中被所述预设圆切割出的与所述目标轮廓点具有直接连接关系的弧段的长度与所述预设圆的周长的比值和归一化的所述目标轮廓点与所述待识别手势形状重心的距离的乘积作为所述目标轮廓点的弧长参数;
(4)、确定所述待识别手势形状中被所述预设圆截取的与所述目标轮廓点具有直接连接关系的区域的重心与所述目标轮廓点的距离,并将该距离与所述预设半径的比值与归一化的所述目标轮廓点与所述待识别手势形状重心的距离的乘积作为所述目标轮廓点的重心参数。
优选地,利用Kinect传感器获取待识别手势的形状。
优选地,采用Canny算子提取所述待识别手势形状的边缘获得一个封闭的轮廓。
优选地,归一化的所述目标轮廓点与所述待识别手势形状重心的距离,包括:
计算所述手势形状的重心,将所述目标轮廓点与所述手势形状的重心相减,得到所述目标轮廓点与所述待识别手势形状重心的距离;
将所述目标轮廓点与所述手势形状重心的距离与所述手势形状等效半径的2倍相除,得到归一化的所述目标轮廓点与所述待识别手势形状重心的距离。
优选地,确定与所述当前层对应的半径为预设半径,包括:
将所述待识别手势形状的等效半径与2的N次方的比值作为所述当前层对应的预设半径,其中,N为所述当前层对应的层数。
进一步的技术方案中,确定所述待识别手势形状的等效半径,包括:
计算所述待识别手势形状的面积,并对所述待识别手势形状的面积进行开平方得到所述待识别手势形状的等效半径。
优选地,利用每个轮廓点参数的特征参数与预设模板库中的模板进行匹配,得到所述待识别手势的最佳匹配模板,包括:
将所述待识别手势的特征参数与所述模板的特征参数进行匹配度的计算,并确定匹配度不大于其他模板的匹配度的模板为所述最佳匹配模板。
进一步技术方案中,将所述待识别手势的特征参数与所述模板的特征参数进行匹配度的计算,包括:将所述待识别手势的轮廓点按序排列组成目标序列,将需要与所述待识别手势进行匹配的一个模板的轮廓点按序排列组成匹配序列;
利用动态时间规整算法计算所述目标序列与所述匹配序列之间的匹配度,作为所述待识别手势与对应模板之间的匹配度。
进一步技术方案中,利用动态时间规整算法计算所述目标序列与所述匹配序列之间的匹配度,包括:
求取所述目标序列上一点与所述匹配序列上一点之间的欧氏距离,并比较所述目标序列上从起点到所述目标序列上一点与所述匹配序列上从起点到所述匹配序列上一点的前一点的对应点间的欧氏距离之和,所述目标序列上从起点到所述目标序列上一点的前一点与所述匹配序列上从起点到所述匹配序列上一点对应点间的欧氏距离之和与所述目标序列上从起点到所述目标序列上一点前一点与所述匹配序列上从起点到所述匹配序列上一点的前一点对应点间的欧氏距离之和,取三者之间的最小值与所述目标序列上一点与所述匹配序列上一点之间的欧氏距离相加,得到所述目标序列上从起点到所述目标序列上一点与所述匹配序列上从起点到所述匹配序列上一点对应点间的欧氏距离之和;
将得到的所述目标序列上从起点到终点与所述匹配序列上从起点到终点对应点间的欧氏距离之和作为所述目标序列与所述匹配序列之间的匹配度。
本发明还提供了一种手势识别装置,包括:
提取模块,用于获取待识别手势的形状,由所述手势形状边缘提取一个封闭的轮廓,获取该轮廓上所有的轮廓点及每个轮廓点的坐标;
计算模块,用于确定轮廓的层数,并基于每个所述轮廓点的坐标计算每个所述轮廓点对应于每层的面积参数、弧长参数及重心参数,作为该轮廓点的特征参数;
匹配模块,用于利用每个轮廓点的特征参数,将所述待识别手势与预设模板库中的模板进行匹配,得到所述待识别手势的最佳匹配模板,并确定所述最佳匹配模板的类别为所述待识别手势的类别。
由于上述技术方案运用,本发明与现有技术相比具有下列优点:
1.与现有技术相比,本发明根据待识别手势形状的边缘提取封闭的轮廓,进而获得轮廓点及每个轮廓点的坐标,然后计算每个轮廓点在每个轮廓层的参数,即面积参数、弧长参数和重心参数,作为每个轮廓点完整的特征参数,以实现全局特征和局部特征的提取及有效表示,最后依据手势形状中每个轮廓点的特征参数,将待识别手势与模板进行匹配,得到对应的最佳匹配模板,从而确定待识别手势的类别,在上述过程中,不是单一的关注全局特征或局部特征,而是同时对全局特征、局部特征及全局特征与局部特征之间的关系进行描述,多尺度、全方位地进行分析表述,实现了对待识别手势形状的全局特征和局部特征的有效提取和表示,尤其对手指信息进行增强表示,避免了基于单一特征导致的识别准确率低的情况;而且本发明的特征参数的维度较低,在将待识别手势与模板进行匹配时计算复杂度降低,实现了较高的识别效率,从而本发明能同时保证较高的识别正确率和效率;
2.本发明在对手势形状的全局特征和局部特征进行提取和有效表示的同时,还具有平移不变性、旋转不变性、尺度不变性、铰接不变性和遮挡不变性等优良性能,并能有效抑制噪声干扰,进一步提高识别准确率和识别效率。
附图说明
图1是本发明的流程示意图。
图2为本发明实施例一中提供的手势识别方法中涉及的目标形状的具体例子的示意图。
图3为本发明实施例一中提供的手势识别方法中目标形状的具体示意图。
图4为本发明实施例一中提供的手势识别方法中目标形状被预设圆截取后的示意图。
图5为本发明实施例一中提供的手势识别方法中目标形状被预设圆分割后的示意图。
图6为本发明实施例一中提供的手势识别装置的结构示意图。
其中:1、提取模块;2、计算模块;3、匹配模块。
具体实施方式
下面结合附图及实施例对本发明作进一步描述:
实施例一:参见图1所示,一种手势识别方法,所述方法包括如下步骤:
S1、获取待识别手势形状,并由所述待识别手势形状的边缘提取一个封闭的轮廓,获取该轮廓上的所有轮廓点及每个轮廓点的坐标;
需要说明的是,本发明设计的目标形状均可以为具有闭合轮廓的形状,如图2所示为本发明涉及的目标形状的具体例子。另外,轮廓点的数量为轮廓点上所有点的个数,其具体取值根据实际情况确定,以完整表示手势形状的轮廓特征为准。
在数字图像中,形状的边缘可以由一系列具有坐标信息的轮廓点表示,本发明实施例中目标形状的轮廓点的集合S可以表示为:
S={p(i)|i∈[1,n]}
其中,n表示轮廓的长度,即轮廓点的个数;p(i)表示轮廓点的序列中的第i个轮廓点,且有:
p(i)={u(i),v(i)}
其中,u(i)、v(i)分别是p(i)的横纵坐标。
S2、确定当前所有轮廓点所在的轮廓的层数为1,计算当前所有轮廓点对应于当前层的面积参数、弧长参数及重心参数;
需要说明的是,轮廓的层数即每个轮廓点对应的特征参数的层数,通过确定轮廓的层数,可以得到每个轮廓点在每层轮廓下的面积参数、弧长参数及重心参数,以构成每个轮廓点完整的特征参数。其中,轮廓点的层数可以由工作人员根据实际需要进行确定,可以直接设定其层数,也可以通过一定算法得到,均在本发明的保护范围之内。
S3、将当前层加1作为当前层,计算当前所有轮廓点对应于当前层的面积参数、弧长参数及重心参数,然后计算当前所有轮廓点对应于当前层的面积参数、弧长参数及重心参数与当前所有轮廓点对应于当前层的层数减1的面积参数、弧长参数及重心参数之间的差异,并判断当前所有轮廓点对应的所述差异的和与所述所有轮廓点的数量的比值是否小于差异阈值,如果是,则确定当前层减1得到的层数为所述轮廓的层数,并执行步骤S5,如果否,则执行步骤S4;
需要说明的是,差异阈值可以根据实际需要进行确定,例如差异阈值为10-3,如当前层为3时每个轮廓点对应于当前层的面积参数、弧长参数及重心参数与当前层为2时该轮廓点对应于当前层的面积参数、弧长参数及重心参数之间的差异的平均值,即全部轮廓点对应的上述差异的和与轮廓点的个数的比值小于差异阈值,则确定每个轮廓点的层数为2层。另外,平均值指的是每个轮廓点对应的差异的平均值,而任一轮廓点的差异为该轮廓点在不同层对应的面积参数、弧长参数及重心参数之间的差异。而在确定任一轮廓点在两个层分别对应的面积参数、弧长参数及重心参数之间的差异时,可以是分别计算该轮廓点在两个层分别对应的面积参数的差值,两个层分别对应的弧长参数的差值及两个层分别对应的重心参数的差值,进而根据上述三个差值及三个差值的权重计算得到最后的差异,也可以是将每个层对应的面积参数、弧长参数及重心参数构成一参数向量,进而计算两个层分别对应的参数向量之间的向量差,得到最后的差异,还可以根据实际需要按照其他方法计算上述差异,均在本发明的保护范围之内。
另外,需要说明的是,预先计算出每个轮廓点初始的面积参数、弧长参数及重心参数,即每个轮廓点当前层为1时的初始面积参数、初始弧长参数及初始重心参数,这是因为,轮廓的层数至少为一层,因此,可以先计算出每个轮廓点的初始面积参数、初始弧长参数及初始重心参数,进而选取任一轮廓点按照上述方法计算其在当前层及当前层减一得到的层对应的上述参数之间的差异,并在该差异小于差异阈值时,确定当前层减一对应的层的层数为轮廓的层数,并在确定层数后,计算出每个轮廓点对应其它层的上述参数即可,当然,也可以根据实际需要进行其他设置,均在本发明的保护范围之内。
S4、返回步骤S3;
S5、将每个轮廓点的面积参数、弧长参数及重心参数作为特征参数,利用每个轮廓点的特征参数,将所述待识别手势与预设模板库中的模板进行匹配,得到所述待识别手势的最佳匹配模板,并确定所述最佳匹配模板的类别为最终所需的所述手势识别的类别;
需要说明的是,预设模版库为工作人员预先设置的模板库,其中的每个模板都具有相应的特征参数,而每个模板的特征参数的计算方法与待识别手势的特征参数的计算方法相同,在此不再赘述。通过将待识别手势的每个轮廓点的特征参数与预设模板库中的每个模板上的轮廓点的特征参数进行匹配,得到与待识别手势匹配度最佳的模板,并确定该模板的类别为待识别手势的类别。
其中面积参数、弧长参数及重心参数获取的步骤具体包括:
(1)、将任一当前轮廓点作为目标轮廓点,以所述目标轮廓点的坐标为中心,以与当前层对应的半径为预设半径作圆,得到与当前轮廓层对应的预设圆;
(2)、将所述待识别手势形状中被所述预设圆截取的与所述目标轮廓点具有直接连接关系的区域的面积与所述预设圆的面积的比值和归一化的所述目标轮廓点与所述待识别手势形状重心的距离的乘积作为所述目标轮廓点的面积参数,面积参数的取值范围应当在0到1之间;
(3)、将所述待识别手势形状中被所述预设圆切割出的与所述目标轮廓点具有直接连接关系的弧段的长度与所述预设圆的周长的比值和归一化的所述目标轮廓点与所述待识别手势形状重心的距离的乘积作为所述目标轮廓点的弧长参数,弧长参数的取值范围应当在0到1之间;
(4)、确定所述待识别手势形状中被所述预设圆截取的与所述目标轮廓点具有直接连接关系的区域的重心与所述目标轮廓点的距离,并将该距离与所述预设半径的比值与归一化的所述目标轮廓点与所述待识别手势形状重心的距离的乘积作为所述目标轮廓点的重心参数,重心参数的取值范围应当在0到1之间。
其中,需要说明的是,预设半径为与当前层对应的半径,即不同的轮廓层对应不同的预设半径。且,对于每个轮廓点,均需要按照上述步骤得到其对应于每层的面积参数、弧长参数及重心参数,在此不再赘述。
依据上述步骤得到预设圆C1(i)后,手势形状必然有一部分落在该预设圆内,假设图3所示为目标形状,则预设圆与目标形状的示意图则如图4所示。如果目标形状落在预设圆内的部分为一单独区域,则该单独区域即为与目标轮廓点具有直接连接关系的区域,记为Z1(i);如果目标形状落在预设圆内的部分分为若干个互不连通的区域的话,如图4所示的区域A和区域B,那么确定目标轮廓点在其轮廓上的区域为与目标轮廓点具有直接连接关系的区域,记为Z1(i)。具体来说,将预设圆C1(i)中的与目标轮廓点p(i)具有直接连接关系的区域Z1(i)的面积记为则有:
其中,B(Z1(i),x)为一指示函数,定义为
将Z1(i)的面积与预设圆C1(i)面积的比值与归一化的所述目标轮廓点与所述手势形状重心的距离d(i)的乘积作为目标轮廓点的特征参数的面积参数s1(i),即:
s1(i)的取值范围应当在0到1之间。
计算与目标轮廓点具有直接连接关系的区域的重心时,具体可以为将该区域中所有像素点的坐标值求取平均数,所得结果即为该区域的重心的坐标值,可以表示为:
其中,w1(i)即为上述区域的重心。
而计算目标轮廓点与重心w1(i)的距离可以表示为:
并将与目标轮廓点的预设圆的半径的比值与归一化的所述目标轮廓点与所述手势形状重心的距离d(i)的乘积作为该目标轮廓点特征参数的重心参数即
c1(i)的取值范围应当在0到1之间。
依据上述步骤得到预设圆后,目标形状的轮廓被预设圆切割后必然会有一段或者多段弧段落在预设圆内,如图5所示。如果目标形状只有一段弧段落在预设圆内,则确定该弧段为与目标轮廓点具有直接连接关系的弧段,如果目标形状有多段弧段落在预设圆内,如图5中的弧段A(Segment A)、弧段B(Segment B)、弧段C(Segment C),则确定目标轮廓点所在的弧段为与目标轮廓点具有直接连接关系的弧段,在图5中即为弧段A(Segment A)。
将预设圆c1(i)内与目标轮廓点p(i)具有直接连接关系的弧段的长度记为并将与预设圆c1(i)周长的比值与归一化的所述目标轮廓点与所述手势形状重心的距离d(i)的乘积作为目标轮廓点的特征参数的弧长参数l1(i),即
其中,l1(i)的取值范围应当在0到1之间。
从而可以通过上述方式得到目标轮廓点及其他全部轮廓点的特征参数,表示为M(i):M(i)={sk(i),lk(i),ck(i)|k∈[1,m],i∈[1,n]}
本实施例中,利用Kinect传感器获取待识别手势的形状。
需要说明的是,获取待识别手势形状时可以采用工作人员预先确定的任何能够有效实现手势形状获取的方法。本发明的实施例中,采用Kinect传感器,以有效地获取待识别手势的形状。
本实施例中,采用Canny算子提取所述待识别手势形状的边缘获得一个封闭的轮廓。
需要说明的是,提取手势形状的边缘时可以采用作人员预先确定的任何能够有效实现手势形状边缘提取的方法,具体可以为Canny算子、Laplacian算子等,本发明的实施例中,优选为Canny算子,以快速有效地获取手势形状的轮廓。
本实施例中,归一化的所述目标轮廓点与所述待识别手势形状重心的距离,包括:
计算所述手势形状的重心,将所述目标轮廓点与所述手势形状的重心相减,得到所述目标轮廓点与所述待识别手势形状重心的距离;
将所述目标轮廓点与所述手势形状重心的距离与所述手势形状等效半径的2倍相除,得到归一化的所述目标轮廓点与所述待识别手势形状重心的距离。
需要说明的是,计算所述手势形状的重心时,具体可以将该手势形状中所有像素点的坐标值求取平均值,所得结果即为该手势形状的重心的坐标值,可以表示为:
其中,pcenter即为所述手势形状的重心。
计算目标轮廓点与所述手势形状重心pcenter的距离d*(i),可以表示为:
d*(i)=||p(i)-pcenter||
并将d*(i)与所述手势形状等效半径的2倍的比值作为归一化的所述目标轮廓点与所述手势形状重心的距离d(i)
其中R为所述手势形状的等效半径。
本实施例中,确定与所述当前层对应的半径为预设半径,包括:
将所述待识别手势形状的等效半径与2的N次方的比值作为所述当前层对应的预设半径,其中,N为所述当前层对应的层数。
具体可以表示为:以p(i)为圆心,以r1为预设半径做圆得到预设圆C1(i),该预设圆是为计算对应轮廓点的特征参数所做的准备工作。
而预设半径r1的具体表示方式可以为:
其中,R为手势形状的等效半径,N为当前层对应的层数。计算第一层对应的预设半径r1时,此公式中N取1;而计算其他层对应的预设半径时,N为对应的层数。
本实施例中,确定所述待识别手势形状的等效半径,包括:
计算所述待识别手势形状的面积,并对所述待识别手势形状的面积进行开平方得到所述待识别手势形状的等效半径。
具体可以表示为:
其中,areaS为手势形状的面积,R为手势形状的等效半径。
当然,上述预设半径及等效半径的具体计算方法也可以由工作人员根据实际需要进行其他设定,均在本发明的保护范围之内。
本实施例中,利用每个轮廓点参数的特征参数与预设模板库中的模板进行匹配,得到所述待识别手势的最佳匹配模板,包括:
将所述待识别手势的特征参数与所述模板的特征参数进行匹配度的计算,并确定匹配度不大于其他模板的匹配度的模板为所述最佳匹配模板。
其中,匹配度越小,说明待识别目标形状与对应模板的形状越相似,因此,确定匹配度不大于其他模板的匹配度的模板为最佳匹配模板。而匹配度不大于其他模板的匹配度的模板具体可以为:如果模板中存在匹配度最小的一个模板,则确定该模板为最佳匹配模板,如果模板中存在匹配度最小且相等的多个模板,则确定其中一个模板为最佳匹配模板。
上述方案中,将所述待识别手势的特征参数与所述模板的特征参数进行匹配度的计算,包括:将所述待识别手势的轮廓点按序排列组成目标序列,将需要与所述待识别手势进行匹配的一个模板的轮廓点按序排列组成匹配序列;
利用动态时间规整算法计算所述目标序列与所述匹配序列之间的匹配度,作为所述待识别手势与对应模板之间的匹配度。
当然,也可以根据实际需要由工作人员预先设置其他的算法计算上述匹配度,均在本发明保护范围之内。
上述方案中,利用动态时间规整算法计算所述目标序列与所述匹配序列之间的匹配度,包括:
求取所述目标序列上一点与所述匹配序列上一点之间的欧氏距离,并比较所述目标序列上从起点到所述目标序列上一点与所述匹配序列上从起点到所述匹配序列上一点的前一点的对应点间的欧氏距离之和,所述目标序列上从起点到所述目标序列上一点的前一点与所述匹配序列上从起点到所述匹配序列上一点对应点间的欧氏距离之和与所述目标序列上从起点到所述目标序列上一点前一点与所述匹配序列上从起点到所述匹配序列上一点的前一点对应点间的欧氏距离之和,取三者之间的最小值与所述目标序列上一点与所述匹配序列上一点之间的欧氏距离相加,得到所述目标序列上从起点到所述目标序列上一点与所述匹配序列上从起点到所述匹配序列上一点对应点间的欧氏距离之和;
将得到的所述目标序列上从起点到终点与所述匹配序列上从起点到终点对应点间的欧氏距离之和作为所述目标序列与所述匹配序列之间的匹配度。
具体来说,上述求取待识别手势与对应模板之间的匹配度,可以包括:
将分别属于目标序列及匹配序列的轮廓点按照预设规则进行两两匹配,并求得每对配对的轮廓点之间的欧氏距离,即每次进行配对的两个轮廓点中一个属于目标序列,另一个属于匹配序列。其中,预设规则可以由工作人员根据实际需要进行确定,具体可以为:
1、进行配对的两个轮廓点必须属于两条不同的点序列,即分别属于目标序列及匹配序列;
2、目标序列的起点与匹配序列的起点必须进行配对,目标序列的终点与匹配序列的终点必须进行配对;
3、两条进行匹配的点序列必须按轮廓点的标号顺序配对;
4、参与过配对的轮廓点可以再次参与配对,但参与过配对的一对轮廓点中的目标轮廓点与另一条点序列上超过一个轮廓点进行配对,则与目标轮廓点配对过的轮廓点不能再次参与配对;
5、所有轮廓点必须都参与配对。
具体来说,目标序列可以表示A={p1,p2,...,pm},匹配序列可以表示为B={q1,q2,...,qn},不失一般性的,可以假设m≥n,则计算属于不同点序列中的两个轮廓点pi和qj的特征参数之间的欧氏距离d(pi,qj),即:
利用动态时间规整算法计算待识别手势上从起点到pi点和匹配模版上从起点到qj点之间的最小匹配代价D(pi,qj),即:
D(pi,qj)=min{D(pi-1,qj),D(pi,qj-1),D(pi-1,qj-1)}+d(pi,qj)
则利用动态时间规整算法计算出的待识别目标序列与匹配序列之间的匹配度D(pm,qn),即:D(pm,qn)=min{D(pm-1,qn),D(pm,qn-1),D(pm-1,qn-1)}+d(pm,qn)
需要说明的是,本发明实施例所提供的一种手势识别方法的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本发明实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质可以包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
如图6所示,本实施例还提供了一种手势识别装置,包括:
提取模块1,用于获取待识别手势的形状,由所述手势形状边缘提取一个封闭的轮廓,获取该轮廓上所有的轮廓点及每个轮廓点的坐标;
计算模块2,用于确定轮廓的层数,并基于每个所述轮廓点的坐标计算每个所述轮廓点对应于每层的面积参数、弧长参数及重心参数,作为该轮廓点的特征参数;
匹配模块3,用于利用每个轮廓点的特征参数,将所述待识别手势与预设模板库中的模板进行匹配,得到所述待识别手势的最佳匹配模板,并确定所述最佳匹配模板的类别为所述待识别手势的类别。
所述提取模块1与计算模块2连接,所述计算模块2与匹配模块连接。
本发明实施例提供的一种手势识别装置中,提取模块可以包括:
获取单元,用于利用Kinect传感器获得待识别手势的形状;
提取单元,用于采用Canny算子针对手势形状的边缘提取一个封闭的轮廓。
本发明实施例提供的一种手势识别装置中,计算模块可以包括:
(1)、确定当前所有轮廓点所在的轮廓的层数为1,计算当前所有轮廓点对应于当前层的面积参数、弧长参数及重心参数;
(2)、将当前层加1作为当前层,计算当前所有轮廓点对应于当前层的面积参数、弧长参数及重心参数,然后计算当前所有轮廓点对应于当前层的面积参数、弧长参数及重心参数与当前所有轮廓点对应于当前层的层数减1的面积参数、弧长参数及重心参数之间的差异,并判断当前所有轮廓点对应的所述差异的和与所述所有轮廓点的数量的比值是否小于差异阈值,如果是,则确定当前轮廓层减1得到的层数为当前所有轮廓点所在轮廓层的层数,如果否,则执行步骤(3);
(3)、返回步骤(2);
本发明实施例提供的一种手势识别装置中,计算模块可以包括:
计算单元,用于:确定任一轮廓点为目标轮廓点,以目标轮廓点的坐标为中心,以与当前层对应的半径为预设半径作圆,得到与当前层对应的预设圆;将目标形状中被预设圆截取的,与目标轮廓点具有直接连接关系的区域的面积与预设圆的面积的比值与归一化的所述目标轮廓点与所述手势形状重心的距离的乘积作为目标轮廓点的面积参数;将目标形状中被预设圆切割出的,与目标轮廓点具有直接连接关系的弧段的长度与预设圆的周长的比值与归一化的所述目标轮廓点与所述手势形状重心的距离的乘积作为目标轮廓点的弧长参数;确定目标形状中被预设圆截取的,与目标轮廓点具有直接连接关系的区域的重心与目标轮廓点的距离,并将该距离与预设半径的比值与归一化的所述目标轮廓点与所述手势形状重心的距离的乘积作为目标轮廓点的重心参数。
本发明实施例提供的一种手势识别装置中,计算单元可以包括:
归一化的所述目标轮廓点与所述手势形状重心的距离确定单元,用于计算所述手势形状的重心,将所述目标轮廓点与所述手势形状重心的距离与所述手势形状等效半径的2倍相除,得到归一化的所述目标轮廓点与所述手势形状重心的距离。
本发明实施例提供的一种手势识别装置中,计算单元可以包括:
半径确定单元,用于将手势形状的等效半径与2的N次方的比值作为当前层对应的预设半径,其中,N为当前层对应的层数。
本发明实施例提供的一种手势识别装置中,半径确定单元可以包括:
半径确定子单元,用于计算手势形状的面积,并对手势形状的面积进行开平方得到目标形状的等效半径。
本发明实施例提供的一种手势识别装置中,匹配模块可以包括:
匹配单元,用于将待识别手势的特征参数与模板的特征参数进行匹配度的计算,并确定匹配度不大于其他模板的匹配度的模板为最佳匹配模板。
本发明实施例提供的一种手势识别装置中,匹配单元可以包括:
匹配子单元,用于:将待识别手势的轮廓点按序排列组成目标序列,将需要与待识别手势进行匹配的一个模板的轮廓点按序排列组成匹配序列;利用动态时间规整算法计算目标序列与匹配序列之间的匹配度,作为待识别手势与对应模板之间的匹配度。
本发明实施例提供的一种手势识别装置中,匹配子单元可以包括:
求取单元:用于:求取所述目标序列上一点与所述匹配序列上一点之间的欧氏距离,并比较所述目标序列上从起点到所述点与所述匹配序列上从起点到所述点的前一点的对应点间的欧氏距离之和,所述目标序列上从起点到所述点的前一点与所述匹配序列上从起点到所述点对应点间的欧氏距离之和与所述目标序列上从起点到所述点前一点与所述匹配序列上从起点到所述点的前一点对应点间的欧氏距离之和,取三者之间的最小值与所述目标序列上所述点与所述匹配序列上所述点之间的欧氏距离相加,得到所述目标序列上从起点到所述点与所述匹配序列上从起点到所述点对应点间的欧氏距离之和。
本发明实施例提供的一种手势识别装置中相关部分的说明请参见本发明实施例提供的一种手势识别方法中对应部分的详细说明,在此不再赘述。
另外,本说明书中各个实施例采用的递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同或相似的部分互相参见即可。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种手势识别方法,其特征在于:所述方法包括如下步骤:
一种手势识别方法,其特征在于:所述方法包括如下步骤:
S1、获取待识别手势形状,并由所述待识别手势形状的边缘提取一个封闭的轮廓,获取所述轮廓上的所有轮廓点及每个轮廓点的坐标;
S2、确定当前所有轮廓点所在的轮廓的层数为1,计算当前所有轮廓点对应于当前层的面积参数、弧长参数及重心参数;
S3、将当前层加1作为当前层,计算当前所有轮廓点对应于当前层的面积参数、弧长参数及重心参数,然后计算当前所有轮廓点对应于当前层的面积参数、弧长参数及重心参数与当前所有轮廓点对应于当前层的层数减1的面积参数、弧长参数及重心参数之间的差异,并判断当前所有轮廓点对应的所述差异的和与所述所有轮廓点的数量的比值是否小于差异阈值,如果是,则确定当前层减1得到的层数为所述轮廓的层数,并执行步骤S5,如果否,则执行步骤S4;
S4、返回步骤S3;
S5、将每个轮廓点的面积参数、弧长参数及重心参数作为特征参数,利用每个轮廓点的特征参数,将所述待识别手势与预设模板库中的模板进行匹配,得到所述待识别手势的最佳匹配模板,并确定所述最佳匹配模板的类别为最终所需的所述待手势识别的类别;
其中面积参数、弧长参数及重心参数获取的步骤具体包括:
(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.一种手势识别装置,其特征在于,包括:
提取模块,用于获取待识别手势的形状,由所述待识别手势形状的边缘提取一个封闭的轮廓,获取所述轮廓上所有轮廓点及每个轮廓点的坐标;
计算模块,用于确定轮廓的层数,并基于每个所述轮廓点的坐标计算每个所述轮廓点对应于每层的面积参数、弧长参数及重心参数,作为该轮廓点的特征参数;
匹配模块,用于利用每个轮廓点的特征参数,将所述待识别手势与预设模板库中的模板进行匹配,得到所述待识别手势的最佳匹配模板,并确定所述最佳匹配模板的类别为所述待识别手势的类别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610309633.XA CN106022227A (zh) | 2016-05-11 | 2016-05-11 | 一种手势识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610309633.XA CN106022227A (zh) | 2016-05-11 | 2016-05-11 | 一种手势识别方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106022227A true CN106022227A (zh) | 2016-10-12 |
Family
ID=57099813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610309633.XA Pending CN106022227A (zh) | 2016-05-11 | 2016-05-11 | 一种手势识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106022227A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106843472A (zh) * | 2016-12-28 | 2017-06-13 | 歌尔科技有限公司 | 手势识别方法和装置、虚拟现实设备、可编程设备 |
CN106845384A (zh) * | 2017-01-17 | 2017-06-13 | 西北大学 | 一种基于递归模型的手势识别方法 |
CN107203742A (zh) * | 2017-05-03 | 2017-09-26 | 苏州大学 | 一种基于显著特征点提取的手势识别方法及装置 |
CN107330354A (zh) * | 2017-03-20 | 2017-11-07 | 长沙理工大学 | 一种自然手势识别方法 |
CN107358171A (zh) * | 2017-06-22 | 2017-11-17 | 华中师范大学 | 一种基于余弦距离与动态时间规整的手势识别方法 |
CN108564013A (zh) * | 2018-03-23 | 2018-09-21 | 上海数迹智能科技有限公司 | 一种基于手势轮廓快速匹配的手势识别方法 |
CN109344701A (zh) * | 2018-08-23 | 2019-02-15 | 武汉嫦娥医学抗衰机器人股份有限公司 | 一种基于Kinect的动态手势识别方法 |
CN110705501A (zh) * | 2019-10-14 | 2020-01-17 | 重庆邮电大学 | 一种提升fmcw雷达手势识别精度的干扰抑制算法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103345628A (zh) * | 2013-07-29 | 2013-10-09 | 苏州大学 | 基于分层描述的目标识别和形状检索方法 |
CN105303192A (zh) * | 2015-09-08 | 2016-02-03 | 苏州大学张家港工业技术研究院 | 一种基于混合描述子的形状匹配方法及系统 |
-
2016
- 2016-05-11 CN CN201610309633.XA patent/CN106022227A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103345628A (zh) * | 2013-07-29 | 2013-10-09 | 苏州大学 | 基于分层描述的目标识别和形状检索方法 |
CN105303192A (zh) * | 2015-09-08 | 2016-02-03 | 苏州大学张家港工业技术研究院 | 一种基于混合描述子的形状匹配方法及系统 |
Non-Patent Citations (2)
Title |
---|
JIANYU YANG ET AL.: "Invariant multi-scale descriptor for shape representation, matching and retrieval", 《COMPUTER VISION AND IMAGE UNDERSTANDING》 * |
胡大盟 等: "改进离散曲线演化的形状匹配算法", 《计算机辅助涉及与图形学学报》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106843472A (zh) * | 2016-12-28 | 2017-06-13 | 歌尔科技有限公司 | 手势识别方法和装置、虚拟现实设备、可编程设备 |
CN106843472B (zh) * | 2016-12-28 | 2020-01-03 | 歌尔科技有限公司 | 手势识别方法和装置、虚拟现实设备、可编程设备 |
CN106845384B (zh) * | 2017-01-17 | 2019-12-13 | 西北大学 | 一种基于递归模型的手势识别方法 |
CN106845384A (zh) * | 2017-01-17 | 2017-06-13 | 西北大学 | 一种基于递归模型的手势识别方法 |
CN107330354B (zh) * | 2017-03-20 | 2020-12-08 | 长沙理工大学 | 一种自然手势识别方法 |
CN107330354A (zh) * | 2017-03-20 | 2017-11-07 | 长沙理工大学 | 一种自然手势识别方法 |
CN107203742B (zh) * | 2017-05-03 | 2020-05-08 | 苏州大学 | 一种基于显著特征点提取的手势识别方法及装置 |
CN107203742A (zh) * | 2017-05-03 | 2017-09-26 | 苏州大学 | 一种基于显著特征点提取的手势识别方法及装置 |
CN107358171B (zh) * | 2017-06-22 | 2019-08-02 | 华中师范大学 | 一种基于余弦距离与动态时间规整的手势识别方法 |
CN107358171A (zh) * | 2017-06-22 | 2017-11-17 | 华中师范大学 | 一种基于余弦距离与动态时间规整的手势识别方法 |
CN108564013A (zh) * | 2018-03-23 | 2018-09-21 | 上海数迹智能科技有限公司 | 一种基于手势轮廓快速匹配的手势识别方法 |
CN108564013B (zh) * | 2018-03-23 | 2021-08-03 | 上海数迹智能科技有限公司 | 一种基于手势轮廓快速匹配的手势识别方法 |
CN109344701A (zh) * | 2018-08-23 | 2019-02-15 | 武汉嫦娥医学抗衰机器人股份有限公司 | 一种基于Kinect的动态手势识别方法 |
CN109344701B (zh) * | 2018-08-23 | 2021-11-30 | 武汉嫦娥医学抗衰机器人股份有限公司 | 一种基于Kinect的动态手势识别方法 |
CN110705501A (zh) * | 2019-10-14 | 2020-01-17 | 重庆邮电大学 | 一种提升fmcw雷达手势识别精度的干扰抑制算法 |
CN110705501B (zh) * | 2019-10-14 | 2022-09-20 | 重庆邮电大学 | 一种提升fmcw雷达手势识别精度的干扰抑制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106022227A (zh) | 一种手势识别方法及装置 | |
Aldoma et al. | Multimodal cue integration through hypotheses verification for rgb-d object recognition and 6dof pose estimation | |
CN102880877B (zh) | 一种基于轮廓特征的目标识别方法 | |
CN110738207A (zh) | 一种融合文字图像中文字区域边缘信息的文字检测方法 | |
CN107844795A (zh) | 基于主成分分析的卷积神经网络特征提取方法 | |
CN102467657A (zh) | 手势识别系统和方法 | |
CN103514459A (zh) | 一种基于Android手机平台的识别农作物病虫害的方法及系统 | |
Türkyılmaz et al. | License plate recognition system using artificial neural networks | |
CN104063686B (zh) | 作物叶部病害图像交互式诊断系统与方法 | |
CN107423306B (zh) | 一种图像检索方法及装置 | |
CN102316352B (zh) | 一种基于区域连通图的立体视频深度图的制作方法和装置 | |
CN103870516A (zh) | 检索图像的方法、实时绘画提示方法及其装置 | |
CN107203742B (zh) | 一种基于显著特征点提取的手势识别方法及装置 | |
CN105243139A (zh) | 一种基于深度学习的三维模型检索方法及其检索装置 | |
CN106022297A (zh) | 一种手势识别方法及装置 | |
CN104850857B (zh) | 基于视觉空间显著性约束的跨摄像机行人目标匹配方法 | |
Pepik et al. | 3d object class detection in the wild | |
CN111445426B (zh) | 一种基于生成对抗网络模型的目标服装图像处理方法 | |
CN108154066B (zh) | 一种基于曲率特征递归神经网络的三维目标识别方法 | |
CN106874913A (zh) | 一种菜品检测方法 | |
CN103955682A (zh) | 基于surf兴趣点的行为识别方法及装置 | |
CN110796135A (zh) | 目标的定位方法及装置、计算机设备、计算机存储介质 | |
CN109815823A (zh) | 数据处理方法及相关产品 | |
CN107316327A (zh) | 基于最大公共子图与包围盒的断骨断面及断骨模型配准方法 | |
Yin et al. | Estimation of the fundamental matrix from uncalibrated stereo hand images for 3D hand gesture recognition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161012 |
|
RJ01 | Rejection of invention patent application after publication |