一种用于手势识别的特征预对齐的随机森林分类器及分类方法与流程

文档序号:18527053发布日期:2019-08-24 10:21阅读:374来源:国知局
一种用于手势识别的特征预对齐的随机森林分类器及分类方法与流程

本发明属于雷达目标识别技术领域,特别涉及一种用于手势识别的特征预对齐的随机森林分类器及分类方法。



背景技术:

基于雷达的手势识别系统是通过对信号进行处理,得到运动目标的速度和距离信息,用于手势识别。

由于复杂的手势是一个非刚体的运动,如果只提取出手的整体运动信息,无法对包含手指运动的精细手势进行识别。所以,通过对某一段时间内(以下称“一帧”)雷达信号进行2维fft处理,可以得到距离多普勒图(rangedopplermap,rdm),rdm图是一个二维矩阵,两个维度分别表示速度和距离,矩阵的值表示在某一速度和距离上的能量大小,rdm图中反映了在这一帧内,手势在距离和速度两个维度上的能量分布。

对每一帧手势的rdm图提取特征(简称“帧特征”),然后再将所有帧的特征拼接起来,组成特征序列,再使用分类器来对手势进行识别。但是,由于每个用户手势存在较大差异,手势数据在时间维度上存在拉伸、压缩、平移等扭曲现象,导致不同手势数据的特征序列在时间维度上存在错位,影响手势的识别率。

动态时间调整(dynamictimewarping,dtw)是一种常用的时间序列相似度量。dtw通过动态规划的方法,能够得到两个序列的最佳匹配路径,即两个序列若把测试序列(n=1~n)的各个帧号分别在一个二维直角坐标系中的横轴上标出,把参考模板序列的各帧号m=1~m在纵轴上标出,通过这些表示帧号的整数坐标画出一些纵横线即可形成一个网络,网络中的每一个交叉点(n,m)表示测试模式中某一帧的交汇点。动态规划算法可以寻找到一条通过此网络中若干格点的路径,路径通过的格点即为测试和参考模板中相互对应的帧号。路径必定是从左下角出发,在右上角结束。最佳匹配路径是使得沿路径的积累距离达到最小的路径,最小路径所经过的各个格点的坐标就是两个序列彼此对齐的一对帧号,对齐结果可能存在某一序列中的一个帧号对应另一序列中的多个相邻的帧的情况。因此,dtw算法能够克服序列扭曲带来的特征错位问题。但是dtw只能用于度量两个序列间的相似度,测试样本需要与所有训练样本分别计算dtw距离,并选择距离最小的训练样本对应的类别作为预测类别。所以,直接使用dtw算法,时间复杂度和空间复杂度都与训练样本数目成正比,无法直接用于嵌入式应用中。

dba(dtwbarycenteraveraging)是一种基于dtw的模板生成方法,用于求解某一类别的模板,使得模板与该类的其他样本dtw距离和最小。dba算法首先随机选择一个样本作为模板,再计算模板与其他所有样本的最佳匹配路径,并根据匹配路径更新模板,迭代直至收敛,得到最终模板。

随机森林算法基于树模型对特征进行分析,判断,选择最优特征和最佳阈值切分节点,并通过多数判决的方式,整合多棵树模型的判断结果,得到测试样本的类别和所属概率。在训练时通过对样本和特征随机采样,提高了随机森林的泛化能力,有效防止了过拟合。同时,随机森立多棵树之间相互独立,有助于算法的并行化,提高速度。在谷歌的soli项目中,即采用随机森林算法对雷达采集到的rdm图序列进行分类,它把多个rdm图的特征直接拼接在一起之后组成特征向量,直接输入随机森林。但是如果直接将随机森林算法用于手势识别,因为手势特征序列错位问题,准确率较低。



技术实现要素:

为了克服上述现有技术的缺点,本发明的目的在于提供一种用于手势识别的特征预对齐的随机森林分类器及分类方法,充分利用dtw算法和随机森林算法的优点,通过对齐模块将特征序列对齐,解决了特征序列错位的问题,提高了算法的识别率,同时,保证了算法的速度能够满足实时性的需求。本发明能够处理不同手势数据序列特征错位问题,能够保证算法在跨用户(测试集和训练集的数据来自不同的用户)的实验条件下的高准确率和实时性要求。

为了实现上述目的,本发明采用的技术方案是:

一种用于手势识别的特征预对齐的随机森林分类器,包括:

基于动态时间规整(dtw)的特征序列对齐模块,对一次手势的数据即样本的特征序列进行对齐,并生成按照对齐结果融合后的新特征序列,即对齐特征序列,其中,所述样本的特征序列由关于每帧手势数据的特征集即帧特征集合组成,所述每帧手势数据是每一帧信号的距离多普勒图,从其中提取出帧特征,所有帧的帧特征拼接起来,即构成特征序列,这些帧特征又称为序列特征;

随机森林模块,以对齐特征序列和一组关于手势数据序列整体的非序列特征的组合作为输入做出最终决策,所述非序列特征是每个帧特征在时间维度上的统计特征。

所述对齐模块在对齐中基于代表性帧特征进行,所述代表性帧特征是帧特征集合中的几个能够反映手势运动的主要的彼此独立的特征,各帧的代表性帧特征组合在一起形成代表性帧特征序列。每个类的模板序列只包含代表性帧特征值,在样本特征序列和模板序列对齐时,也只使用代表性帧特征值。

所述对齐模块在进行序列对齐时采用dtw算法。

根据每个类别的代表性帧特征序列,为每个类别生成一个模板,根据每个类别的模板,将所有样本与该类模板对齐,属于该类的样本为正样本,否则为负样本,对每个类别训练一个2-分类的随机森林分类器。

所述随机森林模块由多个2-分类随机森林子分类器组成,每个类即每种手势有一个2-分类随机森林子分类器,各2-分类随机森林子分类器的输出是输入样本是或否属于该类。

所述分类器通过如下过程进行训练:

第一步,为每个类的训练样本集建立一个关于后述代表性特征的模板序列;

第二步,使用所述对齐模块将所有的训练样本和其所属类的模板序列对齐;

第三步,按照对齐后的序列间的帧对应关系,把对应模板中同一帧的所有样本序列的帧的特征值融合成一个新的特征值作为新样本序列中该帧的特征值,由此生成的新样本序列即为所述对齐特征序列;

第四步,把每个样本的对齐特征序列和非序列特征组合后输入给随机森林模块;在随机森林模块训练中,一个样本是其所属类的随机森林子分类器的正样本,同时也作为其它类的随机森林子分类器的负样本,每个随机森林子分类器训练时的正样本通过复制多份来实现正负样本的均衡。

所述分类器的预测过程是:

第一步,对于一个输入的测试样本,提取它的特征序列与每个类的模板序列进行对齐,并生成相应的对齐特征序列;

第二步,把生成的对齐特征序列和样本的非序列特征组合后输入给对应的2-分类随机森林子分类器进行预测,得出该样本属于该类的概率;

第三步,所有类的随机森林子分类器给出的属于本类的概率值中的最大值所对应的类即作为最终的预测结果输出。

本发明还提供了一种利用所述用于手势识别的特征预对齐的随机森林分类器的分类方法,包括以下步骤:

步骤1,通过信号处理,获得每一帧信号的距离多普勒图,根据距离多普勒图提取出帧特征,所有帧的帧特征拼接起来,构成序列特征,同时得到每个帧特征在时间维度上的统计特征,即非序列特征;

步骤2,选取帧特征中部分特征作为代表性帧特征,同时,所有帧的代表性帧特征拼接起来构成代表性帧特征序列;

步骤3,根据每个类别的代表性帧特征序列,使用dba算法为每个类别生成一个模板;

步骤4,根据每个类别的模板,将所有样本与该类模板对齐,属于该类的样本为正样本,否则为负样本,对每个类别训练一个2-分类的随机森林分类器;

步骤5,对于测试样本,将其与各个类别的模板对齐,并根据该类的随机森林,得到测试样本属于该类的概率,最后通过比较概率大小,得到测试样本的预测类别。

具体地:

所述步骤1中,第i个数据的第j帧的距离多普勒图提取出的帧特征用xi,j表示,那么第i个数据的序列特征si由所有帧的帧特征拼接起来:

si=[xi,1,xi,2,...,xi,t]

其中t表示一个手势数据包含的帧数;

所述步骤2中,第i个数据的第j帧的代表性帧特征用xri,j表示,代表性帧特征xri,j是帧特征xi,j的一个子集,是帧特征中最能反映距离多普勒图运动信息的一部分特征,第i个数据的代表性帧特征序列sri由所有帧的代表性帧特征序列拼接起来:

所述步骤3中,根据每个类别中样本的代表性帧特征序列集合其中m为该类样本数目,使用dba算法得到每个类别的模板,从而得到模板序列集合z={z1,z2,...,zc},其中,zk为第k类的模板,c为类别数目;

所述步骤4中,对于类别k,根据样本的代表性序列特征与模板zk的匹配路径,生成对齐特征序列sa,对齐方式如下:对于第i个样本的代表性帧序列通过dtw算法计算与模板zk的最佳匹配路径,假设在匹配路径中,模板zk的第t帧与的第t1帧到t2帧对齐,那么对齐特征序列sa的第t帧就置为s第t1帧到t2帧的均值:

sa[t]=(s[t1]+s[t1+1]+…+s[t2])/(t2-t1+1)

其中,sa[t]表示sa的第t帧的值;

根据每个类别,将对齐特征序列和非序列特征拼接起来,训练一个2-分类的随机森林,对于类别k,所有样本都与类别k的模板zk对齐,得到其中,n为样本总数,并将其与非序列特征g={g1,g1,…,gn}对应拼接起来,得到总的拼接后的特征f={f1,f2,…,fn},其中fi由和gi直接拼接得到;如果样本属于类别k,视为正样本,否则,视为负样本;由于正负样本数目不平衡,通过重采样的方式,增加正样本的数目,以达到平衡,根据对齐后的特征,训练一个2-分类的随机森林,用于判断样本是否属于该类别,同时根据随机森林,得到样本属于该类别的概率;

所述步骤5中,对于测试样本,其特征序列,代表性特征序列,非序列特征分别用stest,和gtest表示,分别计算其属于各个类别的概率,对于类别k,首先通过dtw算法得到代表性特征序列与模板zk的匹配路径,并通过匹配路径和stest得到对齐特征序列将其和非序列特征gtest拼接起来,一起输入到第k类的随机森林分类器中,得到测试样本属于第k类的概率pk,最后,选择概率最大值对应的那个类别作为预测值:

y=argmax(p1,p2,...,pc)。

与现有技术相比,本发明的有益效果是:

(1)通过dtw算法与各类别模板对齐,能够解决序列特征错位的问题,提高了识别率,特别是在跨用户应用场景,训练集和测试集样本差异比较大的情况下,能显著提高识别率,并减少了对训练样本的需求。

(2)相比于使用其他方式,例如使用dtw做距离度量的1-nn(1-nearestneighbors)和基于神经网络的cnn和lstm算法,本发明的时间复杂度和空间复杂度都很低,能够满足嵌入式应用的实时性和低功耗要求。

(3)在特征序列对齐时,只选用了帧特征的子集代表性帧特征用于对齐,可以减少dtw算法计算时的复杂度,提高速度。

(4)计算测试样本属于各个类别概率时,由于各个类别相互独立,可以在嵌入式开发中实现并行化处理,提高速度。

附图说明

图1是根据本发明一个实施例的手势动作示意图。

图2是根据本发明一个实施例的手势识别流程图。

图3是本发明中训练类别1的随机森林分类器示意图。

图4是本发明特征序列对齐过程示意图。

图5是本发明测试过程中得到样本属于类别1概率的示意图。

具体实施方式

下面结合附图和实施例详细说明本发明的实施方式。

在本实施例中,共定义了8种手势,如图1所示,包括“左移”,“右移”,“靠近”,“原理”,“五指张开”,“五指闭合”,“招手(重复两次)”,“大拇指在食指上滑动(重复两次)”,这8个手势按照顺序分别被标记为g1~g8。手势g1~g4主要是手掌的运动,g5-g8主要是包含手指运动的精细手势,其中g7-g8这两个手势会重复两次。

本实施例使用40khz的超声波收发器作为雷达前端元件,以相干脉冲串作为雷达体制,所发明算法对采集得到的目标回波的rdm图进行分析,识别手势。

图2是根据本发明一个实施例的基于雷达的手势识别流程图。包括以下步骤:

步骤s1:发射雷达信号,接收手势的反射信号。

步骤s2:将接收到的信号切分成多帧,对每帧信号做傅里叶变换,得到每帧信号的rdm图。

步骤s3:根据s2得到的手势的rdm序列,提取特征。提取的特征包括序列特征s和非序列特征g,并生成代表性帧特征序列sr

在本发明的实施例中,一个手势的数据长度为1秒,被切分成了19帧数据,所以每个手势数据会生成长度为19的rdm序列。对于每帧rdm图,提取出了45维特征作为帧特征,帧特征描述了rdm图中能量的分布,反映了手势在这一帧内的速度和距离的分布。将所有帧的帧特征拼接起来,就构成了序列特征s,所以s是一个45×19的矩阵。非序列特征g是根据s的每行数据,计算其均值,方差,均方根,最小值,最大值,所以g是一个45×5的矩阵,在本发明中,将g直接变成长度维225的向量处理。代表性帧特征序列sr是s的一个子集,针对每一帧,只选择部分特征作为代表性帧特征,在本实施例中,选取了平均速度和平均距离这两个特征作为代表性帧特征,所以sr只选取了s中平均速度和平均距离这两行,因此sr为2×19的矩阵。

步骤s4:根据每个类别的代表帧特征序列,使用dba算法生成每个类别的模板。比如对于类别k,其样本的代表帧特征序列集合为模板zk生成过程具体如下:

(1)随机选取sr中一个元素作为模板zk,

(2)根据dtw算法,计算模板zk与sr中所有其他元素的最佳匹配路径,并根据匹配路径,更新zk。假设在匹配路径中zk[t]与对应,那么zk[t]就用a[t]中所有元素的均值更新,其中,zk[t]表示zk的第t个元素,表示的第t2i-1到第t2i个元素。

(3)迭代(2)直至收敛。

因此,模板zk与代表帧特征序列一样,是2×19的矩阵。

步骤s5:对每个类别,将所有样本的序列特征与其模板对齐,并训练一个2-分类的随机森林。

步骤s5需要为每个类别分别训练一个2-分类的随机森林,如图3所示。在本实施例中,共有8个类别,因此,共产生8个2-分类的随机森林。比如,对于类别k,首先将所有样本的序列特征与模板zk对齐,对齐方式如图4所示,假设,对于样本i的序列特征si,模板zk[t]与对齐,那么,样本i的对齐特征序列中第t个元素就置为si[t1:t2]的均值。在本实施例中对齐特征序列也是19×45的矩阵,将对齐特征序列转成1维向量,并与非序列特征拼接起来,作为分类器的输入,拼接向量f长度为19×45+225=1080。

对于类别k,属于类别k的样本为正样本,不属于类别k的样本为负样本,本实施例共有8个类别,会导致负样本的数目是正样本的7倍,所以,将正样本重采样7次,使其正负样本平衡。正负样本的特征对齐之后,直接训练一个随机森林分类器rfk,rfk用于判断样本是否始于类别k,同时,rfk也能得到样本属于类k的概率。

步骤s6:对于测试样本,根据各类的模板和随机森林分类器,得到其属于各个类别的概率,如图5所示。比如,对于类别k,先将测试样本的特征序列与模板zk对齐,对齐方式与训练过程s5中类似,将对齐特征序列和非序列特征拼接起来,输入到随机森立rfk中,得到其属于类别k的概率。最后,选择概率最大对应的类别作为测试样本的预测值。

在本实施例中,一共采集了8个志愿者的数据用于实验。每人每种手势采集100个数据。因为在实际的应用场景中,在用户使用之前,是无法获得当前用户的数据用于训练的,也就是说测试集中的数据与训练集中的数据来源于不同的用户。所以,将其中7个人的数据用于训练,1个人数据用于测试,并交叉验证,得到了91.9%的正确率,其混淆矩阵如表1所示:

表1

相比于1-nn(1-nearestneighbor)和神经网络的算法,本发明的时间复杂度和空间复杂度都只与类别数目成正比,而在实际的应用中类别数目一般很小,所以本发明能够满足嵌入式应用中的实时性要求。

综上,本发明能够通过对特征进行预对期,并使用随机森林对精细手势进行识别,能够保证高识别率和实时性的要求。

虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

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