一种基于特征选择的各向同性三维手势识别方法与流程

文档序号:14187526阅读:416来源:国知局

本发明属于手势识别领域,具体涉及一种基于特征选择的各向同性三维手势识别方法。



背景技术:

世界上存在很多聋哑人,手语是他们的主要沟通媒介。但是聋哑人与正常人之间的交流存在一定障碍,所以实现手语识别对于改善两者之间的交流现状具有重大意义。手语手势包含了手形、位置、运动等要素,其中,最直观的就是手形,它表现了做手势时手呈现的形状,手形不同,手势意义自然也就不同。因此,对手形进行识别成为了手势识别的关键。

近年来,随着深度传感器的发展,三维手势识别成为可能。在手势识别过程中,特征提取起着至关重要的作用。特征用于手势的形状表示,虽然目前已有不少特征描述方法用于最终的手势识别算法,但大部分是基于从具有深度信息的图像分割出来的二维手势图像,所以这些特征描述方法受到手势方向的影响,且现有的三维手势识别算法都没有考虑到所有提取的手势相关特征对分类的贡献度大小,而冗余特征会影响识别率。若要提取大量的特征,对手势数据采集设备的要求也相应增加。因此,各向同性的手势特征描述方法和冗余特征剔除对手势识别具有重大意义。



技术实现要素:

本发明的目的是针对现有三维手势识别存在的不足,提供一种基于特征选择的各向同性三维手势识别方法。该方法主要解决方向无关和冗余特征剔除的三维手势识别,且适用于不同手形大小的人群,解决了基于图像的手势识别受手势方向影响大的问题。该方法不仅可以减小计算复杂度,相较于现有方法,还能在更少的特征条件下达到更高的识别率。同时又降低了对数据采集设备的要求。

本发明解决技术问题所采取的技术方案如下:

本发明的具体步骤如下:

步骤1、利用体感控制器的api采集中式手语中同一个人的6~20个手势的三维坐标数据,归入训练集中用于模型训练;其中,每个手势的三维坐标数据包含各手指指尖、各手指关节、掌心和腕关节的三维坐标。每个手势只采集掌心朝下的姿态,且每个手势掌心朝下的姿态采集k次得到k组三维坐标数据,k的取值为40~60。

步骤2、对每个手势的三维坐标数据提取24个特征,该24个特征构成手势特征,具体如下:根据手势的形状特点定义五种属性和归属于这五种属性的24个特征。五种属性分别是各个手指指尖到掌心的距离、各个手指指尖到腕关节的距离、相邻手指指尖的距离、手指中间指骨与手指远端指骨的夹角以及手指近端指骨与手指中间指骨的夹角。由于不同手指的相同类型的特征归属于同一属性,所以五个属性共包含了24个特征,将所有提取的特征数据归一化到0~1之间。

步骤3、对每个手势的24个特征进行重要性比较和选择,具体如下:

3.1:将步骤2所得的每个手势的24个特征数据输入到随机森林模型中,通过训练模型最终得到各个特征的重要性分数。

3.2:将每个手势的24个特征根据步骤3.1所得重要性分数按从大到小排列,在各个手势的k组排列好的24个特征中取各组前n个特征组合成组合特征,n依次取1,2,…,24,基于十折交叉验证方法和高斯朴素贝叶斯识别模型,依次得到24组组合特征下高斯朴素贝叶斯识别模型的识别率。

十折交叉验证方法中,从用来验证模型的一份特征中任选的一个手势,在各次训练后的高斯朴素贝叶斯识别模型中的识别分类结果为:

其中,表示取得最大值时,对应的yj值;yj值表示对应编号为j的手势类别;m表示每个手势的特征数量。p(yj)为编号j的手势出现的概率。为各个特征xi在手势类别yj下的概率的乘积。特征xi在手势类别yj下的概率分布p(xi|yj)满足高斯分布,计算如下:

其中,μy为各手势类别yj的数学期望,σy为各手势类别yj的标准差。

将选取的手势在各次训练后的高斯朴素贝叶斯识别模型中的识别分类结果,与选取的真实手势进行比较,若相同,则识别分类正确;否则,识别分类错误。所以,各次训练后的高斯朴素贝叶斯识别模型的预估识别率η计算如下:

其中,c为识别分类正确的手势数目,m为总的进行识别分类的手势数目。

步骤4、根据各组组合特征下高斯朴素贝叶斯识别模型的识别率高低来决定选取由前几个特征组合成的组合特征用于最终的识别模型。

十折交叉验证方法中,组合特征被均匀地分成十等份,共训练和验证十次,在各次训练中,轮流将十等份中的九份用来做训练得到模型,而剩下的一份用来验证模型的预估识别率。这样就得到十个预估识别率,对这些预估识别率取平均值即是这一组组合特征下这个模型的识别率。

本发明具有的有益效果:

本发明能够对不同方向的手势进行识别,且在减少数据采集量的同时提高手势识别率,也减小了对数据采集设备的要求。

附图说明

图1为本发明的手势识别流程图。

图2为本发明在不同大小训练集下不同方向手势识别率的变化趋势图。

具体实施方式

下面结合附图对本发明作进一步说明。

如图1所示,一种基于特征选择的各向同性三维手势识别方法,包括数据采集、特征提取和特征选择,具体如下:

步骤1、利用体感控制器(leapmotion)的api采集中式手语中10个手势的三维坐标数据,归入训练集和测试集中;其中,每个手势的三维坐标数据包含各手指指尖、各手指关节、掌心和腕关节的三维坐标。训练集中,只采集一个人的手势,每个手势只采集掌心朝下的姿态,且每个手势掌心朝下的姿态采集五十次得到五十组三维坐标数据;测试集中采集多个人的手势,每个人的每个手势均采集了绕肘关节周向不同角度摆放的5个姿态,每个姿态采集一组三维坐标数据;训练集用于模型训练,测试集用于识别结果的测试。

步骤2、对测试集中每个手势的三维坐标数据提取24个特征,该24个特征构成手势特征,具体如下:根据手势的形状特点定义五种属性和归属于这五种属性的24个特征。五种属性分别是各个手指指尖到掌心的距离、各个手指指尖到腕关节的距离、相邻手指指尖的距离、手指中间指骨与手指远端指骨的夹角(弯曲角度)以及手指近端指骨与手指中间指骨的夹角(弯曲角度)。由于不同手指的相同类型的特征归属于同一属性,所以五个属性共包含了24个特征,将所有提取的特征数据归一化到0~1之间,使模型适用于不同手形大小的人群。归一化时,距离特征均除以dw(dw为中指指尖到腕关节的距离),角度特征均除以π。

步骤3、对每个手势的24个特征进行重要性比较和选择。由于提取的24个特征包含了不同手指的数据,而不同手指实际上对识别的贡献度有区别,因此引入随机森林模型来比较不同特征对分类的重要性,并结合十折交叉验证方法做最优化的特征选择,即选取对后续分类作用大的特征,具体如下:

3.1:将步骤2所得的每个手势的24个特征数据输入到随机森林模型中,通过训练模型最终得到各个特征的重要性分数,即不同特征在最后手势识别分类中所起的决定作用大小。

3.2:将每个手势的24个特征根据步骤3.1所得重要性分数按从大到小排列(由于每个手势掌心朝下的姿态采集五十次得到五十组三维坐标数据,所以训练集中每个手势就有五十组排列好的24个特征),在各个手势的五十组排列好的24个特征中取各组前n个特征组合成组合特征,n依次取1,2,…,24,基于十折交叉验证方法和高斯朴素贝叶斯识别模型(由于24个特征满足高斯分布,高斯朴素贝叶斯算法被用于最终的识别模型),依次得到24组组合特征下高斯朴素贝叶斯识别模型的识别率。十折交叉验证方法中,组合特征被均匀地分成十等份(每个手势有五十组排列好的24个特征,分成十等份后,每等份就包含有每个手势的五组排列好的24个特征),共训练和验证十次,在各次训练中,轮流将十等份中的九份用来做训练得到模型,而剩下的一份用来验证模型的预估识别率。这样就得到十个预估识别率,对这些预估识别率取平均值即是这一组组合特征下这个识别模型的识别率。

十折交叉验证方法中,从用来验证模型的一份特征中任选的一个手势,在各次训练后的高斯朴素贝叶斯识别模型中的识别分类结果为:

其中,表示取得最大值时,对应的yj值;yj值表示对应编号为j的手势类别;m表示每个手势的特征数量,本实施例中m=24。p(yj)为编号j的手势出现的概率。为各个特征xi在手势类别yj下的概率的乘积。特征xi在手势类别yj下的概率分布p(xi|yj)满足高斯分布,计算如下:

其中,μy为各手势类别yj的数学期望,σy为各手势类别yj的标准差。

将选取的手势在各次训练后的高斯朴素贝叶斯识别模型中的识别分类结果,与选取的真实手势进行比较,若相同,则识别分类正确;否则,识别分类错误。所以,各次训练后的高斯朴素贝叶斯识别模型的预估识别率η计算如下:

其中,c为识别分类正确的手势数目,m为总的进行识别分类的手势数目。

步骤4、某组组合特征下高斯朴素贝叶斯识别模型的识别率越高则表明在该组合特征下的高斯朴素贝叶斯识别模型越好,根据各组组合特征下高斯朴素贝叶斯识别模型的识别率高低来决定选取由前几个特征组合成的组合特征用于最终的识别模型。

本实施例中,根据步骤4所得结果,前6个特征组合成的组合特征被选取用于输入到高斯朴素贝叶斯识别模型,在测试集上的识别结果如图2所示,在情况2下(即只选取前6个特征),无论训练集大小,对测试集的识别率均高于情况1(使用全部24个特征)和情况3(任意选取24个特征中的6个,除前6个特征外)。本实施例中,当训练集中选取的三维坐标数据组数超过150后(每个手势选取的三维坐标数据组数相同),三种情况的识别率均达到比较稳定的值(三维坐标数据组数增大对识别率提高不多);由此可见,本方法识别效果最好,且情况2下识别率可以达到95%以上,特征选择后,在减少计算特征所需数据采集量的同时又能提高识别率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1