本发明专利技术公开了一种手势识别方法,所述方法包括如下步骤:S1、获取待识别手势,并获取轮廓上的所有轮廓点及每个轮廓点的坐标;S2、确定当前所有轮廓点所在的轮廓的层数为1,计算当前所有轮廓点对应于当前层的特征参数;S3、将当前层加1作为当前层,计算当前所有轮廓点对应于当前层的特征参数,然后计算差异,并判断比值是否小于差异阈值,如果是,则确定当前层减1得到的层数为轮廓的层数,并执行步骤S5,如果否,则执行步骤S4;S4、返回步骤S3;S5、利用每个轮廓点的特征参数,将待识别手势输入预设BP神经网络,得到输出手势类别。本发明专利技术特征参数的维度较低,计算复杂度降低,从而本发明专利技术能同时保证较高的识别效率和识别准确率。
【技术实现步骤摘要】
本专利技术涉及一种于多尺度不变量描述的手势识别方法及装置,属于目标识别
技术介绍
手势识别在人机交互领域具有重要意义,在虚拟现实、手语识别和人机博弈等方面有着广泛的应用。现有手势识别技术的难点在于手势的获取,随着深度相机的发展,Kinect传感器很好的解决了这一问题,进而手势识别的难点集中到识别效率和准确率上。通常手势识别方法可以分为两类。第一类是基于统计学的方法:对于一个动态手势,将它看成一个随机过程的输出,手势识别则可以根据统计学模型来确定,如PCA、HMMS、粒子滤波、浓缩算法等,但计算复杂,识别效率低,无法达到实时的要求。第二类是基于规则的方法:先根据输入特征预设一些列模板,对一个手势进行识别时,获取该手势的一系列特征并与预设的模板特征进行匹配,与输入手势匹配度最佳的模板则作为待识别手势的类别输出,如Shape contexts、Thresholding+FEMD、Near-convex+FEMD等,但无法同时保证识别准确率和识别效率。针对上述问题,如何获取一种能够同时保证较高的识别准确率及识别效率的手势识别方法,是目前相关
的关键问题。
技术实现思路
本专利技术的专利技术目的是提供一种手势识别方法及装置,以同时保证较高的识别效率及识别准确率。为达到上述专利技术目的,本专利技术采用的技术方案是:一种手势识别方法,所述方法包括如下步骤:S1、获取待识别手势,并由所述待识别手势形状的边缘提取一个封闭的轮廓,获取所述轮廓上的所有轮廓点及每个轮廓点的坐标;S2、确定当前所有轮廓点所在的轮廓的层数为1,计算当前所有轮廓点对应于当前层的归一化单连通区域面积、面积变化率、归一化单连通弧长、弧长变化率及归一化重心距,将每个轮廓点的归一化单连通区域面积、面积变化率、归一化单连通弧长、弧长变化率及归一化重心距作为该轮廓点的特征参数;S3、将当前层加1作为当前层,计算当前所有轮廓点对应于当前层的特征参数,然后计算当前所有轮廓点对应于当前层的特征参数与当前所有轮廓点对应于当前层的层数减1的特征参数之间的差异,并判断当前所有轮廓点对应的所述差异的和与所述所有轮廓点的数量的比值是否小于差异阈值,如果是,则确定当前层减1得到的层数为所述轮廓的层数,并执行步骤S5,如果否,则执行步骤S4;S4、返回步骤S3;S5、利用每个轮廓点的特征参数,将所述待识别手势输入预设BP神经网络,得到输出手势类别;其中归一化单连通区域面积、面积变化率、归一化单连通弧长、弧长变化率及归一化重心距获取的步骤包括:(1)、确定任一轮廓点为目标轮廓点,以所述目标轮廓点的坐标为中心,以与所述当前层对应的半径为预设半径作圆,得到与所述当前层对应的预设圆;(2)、将所述待识别手势形状中被所述预设圆截取的与所述目标轮廓点具有直接连接关系的区域的面积与所述预设圆的面积的比值作为所述目标轮廓点的归一化单连通区域面积;(3)、取目标轮廓点前一点,并求取所述目标轮廓点前一点的归一化单连通区域面积,将所述目标轮廓点的归一化单连通区域面积与所述目标轮廓点前一点的归一化单连通区域面积相减,得到面积变化率;(4)、将所述待识别手势形状中被所述预设圆切割出的与所述目标轮廓点具有直接连接关系的弧段的长度与所述预设圆的周长的比值作为所述目标轮廓点的归一化单连通弧长;(5)、取目标轮廓点前一点,并求取所述目标轮廓点前一点的归一化单连通弧长,将所述目标轮廓点的归一化单连通弧长与所述目标轮廓点前一点的归一化单连通弧长相减,得到弧长变化率;(6)、确定所述待识别手势形状中被所述预设圆截取的与所述目标轮廓点具有直接连接关系的区域的重心与所述目标轮廓点的距离,并将该距离与所述预设半径的比值作为所述目标轮廓点的归一化重心距。优选地,利用Kinect传感器获取所述待识别手势的形状。优选地,采用Canny算子提取所述待识别手势形状的边缘获得一个封闭的轮廓。优选地,确定与所述当前层对应的半径为预设半径,包括:将所述待识别手势形状的等效半径与2的N次方的比值作为所述当前层对应的预设半径,其中,N为所述当前层对应的层数。优选地,确定所述待识别手势形状的等效半径,包括:计算所述待识别手势形状的面积,并对所述待识别手势形状的面积进行开平方得到所述待识别手势的等效半径。优选地,利用每个轮廓点的特征参数,将所述待识别手势输入预设BP神经网络,得到输出手势类别,包括:将所述待识别手势的所有轮廓点的特征参数按序排列组成目标序列;将所述目标序列输入预设BP神经网络,得到预设BP神经网络的输出层神经元的输出信号;每个输出层神经元的输出信号代表一种手势类别,所有所述输出层神经元中输出信号中数值最大的一个神经元所对应的手势类别即为所述待识别手势的手势类别。进一步技术方案中,将所述目标序列输入预设BP神经网络,得到预设BP神经网络的输出层神经元的输出信号的步骤如下:将所述目标序列的每一项输入预设BP神经网络的输入层的对应神经元,作为预设BP神经网络的输入层神经元的输入信号,将预设BP神经网络的输入层神经元的输入信号作为预设BP神经网络的输入层神经元的输出信号,再将预设BP神经网络的输入层每个神经元的输出信号与预设BP神经网络输入层与第一层隐藏层一个神经元之间对应的权值相乘,作为第一层隐藏层一个神经元的输入信号,再将第一层隐藏层一个神经元的所有输入信号相加并代入Sigmoid函数,得到所述第一层隐藏层一个神经元的输出信号,循环上述步骤,直至得到所述第一层隐藏层每个神经元的输出信号;再将所述第一层隐藏层每个神经元的输出信号与所述第一层隐藏层到下一层隐藏层一个神经元之间对应的权值相乘,作为所述下一层隐藏层一个神经元的输入信号,再将所述下一层隐藏层一个神经元的所有输入信号相加并代入Sigmoid函数,得到所述下一层隐藏层一个神经元的输出信号,循环上述步骤,直至得到所述下一层隐藏层每个神经元的输出信号;按上述方法,重复上述隐藏层之间的操作,得到最后一层隐藏层每个神经元的输出信号,将所述最后一层隐藏层每个神经元的输出信号与所述最后一层隐藏层到所述输出层一个神经元之间对应的权值相乘,作为所述输出层一个神经元的输入信号,再将所述输出层一个神经元的所有输入信号相加并代入Sigmoid函数,得到所述输出层一个神经元的输出信号,循环上述步骤,直至得到所述输出层每个神经元的输出信号,输出层一个神经元对应一个手势类别,所有所述输出层神经元中输出信号中数值最大的一个神经元所对应的手势类别即为所述待识别手势的手势类别。本专利技术还公开了一种手势识别装置,包括:提取模块,用于获取待识别手势的形状,由所述手势形状边缘提取一个封闭的轮廓,获取该轮廓上所有的轮廓点及每个轮廓点的坐标;计算模块,用于确定轮廓的层数,并基于每个所述轮廓点的坐标计算每个所述轮廓点对应于每层的归一化单连通区域面积、面积变化率、归一化单连通弧长弧长变化率及归一化重心距,作为该轮廓点的特征参数;识别模块,用于利用每个轮廓点的特征参数,将所述待识别手势输入预设BP神经网络,得到输出手势类别,并确定所述输出手势类别为所述待识别手势的类别。由于上述技术方案运用,本专利技术与现有技术相比具有下列优点:1.本专利技术不是单一的关注全局特征或局部特征,而是同时对全局特征、局部特征及全局特征与局部特征之间的关系本文档来自技高网...
【技术保护点】
一种手势识别方法,其特征在于:所述方法包括如下步骤:S1、获取待识别手势,并由所述待识别手势形状的边缘提取一个封闭的轮廓,获取所述轮廓上的所有轮廓点及每个轮廓点的坐标;S2、确定当前所有轮廓点所在的轮廓的层数为1,计算当前所有轮廓点对应于当前层的归一化单连通区域面积、面积变化率、归一化单连通弧长、弧长变化率及归一化重心距,将每个轮廓点的归一化单连通区域面积、面积变化率、归一化单连通弧长、弧长变化率及归一化重心距作为该轮廓点的特征参数;S3、将当前层加1作为当前层,计算当前所有轮廓点对应于当前层的特征参数,然后计算当前所有轮廓点对应于当前层的特征参数与当前所有轮廓点对应于当前层的层数减1的特征参数之间的差异,并判断当前所有轮廓点对应的所述差异的和与所述所有轮廓点的数量的比值是否小于差异阈值,如果是,则确定当前层减1得到的层数为所述轮廓的层数,并执行步骤S5,如果否,则执行步骤S4;S4、返回步骤S3;S5、利用每个轮廓点的特征参数,将所述待识别手势输入预设BP神经网络,得到输出手势类别;其中归一化单连通区域面积、面积变化率、归一化单连通弧长、弧长变化率及归一化重心距获取的步骤包括:(1)、确定任一轮廓点为目标轮廓点,以所述目标轮廓点的坐标为中心,以与所述当前层对应的半径为预设半径作圆,得到与所述当前层对应的预设圆;(2)、将所述待识别手势形状中被所述预设圆截取的与所述目标轮廓点具有直接连接关系的区域的面积与所述预设圆的面积的比值作为所述目标轮廓点的归一化单连通区域面积;(3)、取目标轮廓点前一点,并求取所述目标轮廓点前一点的归一化单连通区域面积,将所述目标轮廓点的归一化单连通区域面积与所述目标轮廓点前一点的归一化单连通区域面积相减,得到面积变化率;(4)、将所述待识别手势形状中被所述预设圆切割出的与所述目标轮廓点具有直接连接关系的弧段的长度与所述预设圆的周长的比值作为所述目标轮廓点的归一化单连通弧长;(5)、取目标轮廓点前一点,并求取所述目标轮廓点前一点的归一化单连通弧长,将所述目标轮廓点的归一化单连通弧长与所述目标轮廓点前一点的归一化单连通弧长相减,得到弧长变化率;(6)、确定所述待识别手势形状中被所述预设圆截取的与所述目标轮廓点具有直接连接关系的区域的重心与所述目标轮廓点的距离,并将该距离与所述预设半径的比值作为所述目标轮廓点的归一化重心距。...
【技术特征摘要】
1.一种手势识别方法,其特征在于:所述方法包括如下步骤:S1、获取待识别手势,并由所述待识别手势形状的边缘提取一个封闭的轮廓,获取所述轮廓上的所有轮廓点及每个轮廓点的坐标;S2、确定当前所有轮廓点所在的轮廓的层数为1,计算当前所有轮廓点对应于当前层的归一化单连通区域面积、面积变化率、归一化单连通弧长、弧长变化率及归一化重心距,将每个轮廓点的归一化单连通区域面积、面积变化率、归一化单连通弧长、弧长变化率及归一化重心距作为该轮廓点的特征参数;S3、将当前层加1作为当前层,计算当前所有轮廓点对应于当前层的特征参数,然后计算当前所有轮廓点对应于当前层的特征参数与当前所有轮廓点对应于当前层的层数减1的特征参数之间的差异,并判断当前所有轮廓点对应的所述差异的和与所述所有轮廓点的数量的比值是否小于差异阈值,如果是,则确定当前层减1得到的层数为所述轮廓的层数,并执行步骤S5,如果否,则执行步骤S4;S4、返回步骤S3;S5、利用每个轮廓点的特征参数,将所述待识别手势输入预设BP神经网络,得到输出手势类别;其中归一化单连通区域面积、面积变化率、归一化单连通弧长、弧长变化率及归一化重心距获取的步骤包括:(1)、确定任一轮廓点为目标轮廓点,以所述目标轮廓点的坐标为中心,以与所述当前层对应的半径为预设半径作圆,得到与所述当前层对应的预设圆;(2)、将所述待识别手势形状中被所述预设圆截取的与所述目标轮廓点具有直接连接关系的区域的面积与所述预设圆的面积的比值作为所述目标轮廓点的归一化单连通区域面积;(3)、取目标轮廓点前一点,并求取所述目标轮廓点前一点的归一化单连通区域面积,将所述目标轮廓点的归一化单连通区域面积与所述目标轮廓点前一点的归一化单连通区域面积相减,得到面积变化率;(4)、将所述待识别手势形状中被所述预设圆切割出的与所述目标轮廓点具有直接连接关系的弧段的长度与所述预设圆的周长的比值作为所述目标轮廓点的归一化单连通弧长;(5)、取目标轮廓点前一点,并求取所述目标轮廓点前一点的归一化单连通弧长,将所述目标轮廓点的归一化单连通弧长与所述目标轮廓点前一点的归一化单连通弧长相减,得到弧长变化率;(6)、确定所述待识别手势形状中被所述预设圆截取的与所述目标轮廓点具有直接连接关系的区域的重心与所述目标轮廓点的距离,并将该距离与所述预设半径的比值作为所述目标轮廓点的归一化重心距。2.根据权利要求1所述的手势识别方法,其特征在于:利用Kinect传感器获取所述待识别手势的形状。3.根据权利要求1所述的手势识别方法,其特征在于:采用Canny算子提取所述待识别手势形状的边缘获得一个封闭的轮廓。4.根据权利要求1所述的手势识别方法,其特征在于:确定与所述当前层对应的半径为预设半径,包括:将所述待识别手势形状的等效半径与2的N次方的比值作为所述当前层对应的预设半径,其中,N为所述当前层对应的层数。5.根据权利要求1所述的手势识别方法,其特征在于:确定所述待识别手势形状的等效半径,包括:计算...
【专利技术属性】
技术研发人员:杨剑宇,何溢文,徐浩然,朱晨,
申请(专利权)人:苏州大学,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。