郑小敏,李翔宇,2+
(1.清华大学 微电子学研究所,北京 100084; 2.深圳清华大学研究院 微电子与智能技术实验室,广州 深圳 518057)
以超声或电磁波雷达[1-4]作为传感器的手势识别技术,可以不受光照条件影响、能耗低、便于小型化,因此在智能手机、可穿戴设备、物联网和虚拟现实等应用场景具有独特优势。为了降低计算复杂度,很多手势识别算法采用以人工设计的特征为输入的轻量级分类器去识别手势,这类方案,特征的种类和数量极大影响识别率和系统开销。特征集来源于RDM图[5]、IQ正交信号之间的角度信息[6]、微多普勒频谱[7,8]等。模式识别中,常常在原始特征集的基础上运用特征筛选方法进行特征优化,达到减少特征维度或提高识别精度的目标。主成分分析[9,10]是一种广泛使用的降维方法,量子进化算法[5,11,12]也能优化特征集。随机森林(random forest,RF)作为一种分类器同时也能被应用于特征筛选[13-15]。以RF为基础的特征选择算法比量子进化算法运行速度更快。然而,RF筛选出的特征分布随机,没有规律性,通常导致需要提取的特征的计算种类繁多,特征提取模块的运行时间长。
本文以嵌入式超声手势识别系统为平台,进行微手势特征优化技术研究。一方面,我们基于原有的特征集,引入了多普勒轮廓特征和距离轮廓特征,提高了微手势识别率;另一方面,我们基于RF提出了一套更能减少特征种类的特征筛选标准,最后应用在本文改进后的特征集上,从特征提取所需的时间和对手势的识别率两方面综合评估,验证了方法的有效性。
本文手势识别系统采用一发三收的机制,具体实验装置如图1所示。发射信号为相干脉冲串,脉冲宽度Tp为0.1 ms,脉冲重复周期Tr为1.5 ms,取64个Tr为一帧。对应的距离分辨率和速度分辨率如下
图1 超声波手势识别装置[16]
(1)
(2)
其中,μ为声速,λ为超声波的波长,Nr为一帧数据包含的脉冲重复周期个数(此处取64)。当系统检测到手势时,FPGA会采样1 s的回波信号,然后使用FPGA上实现的嵌入式系统完成数字信号处理,并把手势数据传入PC或嵌入式处理器开发板进行分类识别。一个手势的原始数据被切分成19帧,3个接收器共3个通道有19×3个RDMs。
系统原有的特征也是从RDM图提取的,我们提取了如下种类的特征[16]:①单通道特征:RDM图能量最大值及其能量最大值对应的速度、距离、加速度,3个通道均提取以上4种特征,我们把来自不同通道的同种特征看作不同的特征种类,特征种类编号为γ0~γ11; 每幅RDM的速度均值、距离均值、速度标准差、距离标准差、RDM图总能量、相邻两帧总能量的差值,特征种类编号为γ12~γ29; ②多通道交叉特征:3个通道RDM图的均值、RDM图均值之差、任意两通道RDM之差,分别计算这些矩阵的均值、方差、均方根、特征种类编号为γ30~γ44(每个矩阵计算3个值,共15种)。这些特征种类被称为序列特征。另外,计算序列特征的统计特征,即这些特征在19帧之间的最大值、最小值、均值、标准差、均方根(RMS)。最后,我们得到45×19+45×5=1080维特征。
系统要识别的手势共有8种,如图2所示,图2(a)表示左滑手势,图2(b)表示右滑,图2(c)表示远离,图2(d)表示靠近,图2(e)表示五指张开,图2(f)表示五指闭合,图2(g)表示招手两次,图2(h)表示拇指平滑两次,其中后4种为微手势。对于分类器的设计,采用文献[16]提到的“一对其余”随机森林方法,8种手势训练了8个二分类随机森林,组成多分类随机森林模型。
图2 8种手势[16]
多分类随机森林分类器以上述1080维特征作为输入,得到微手势的识别率相对较低。主要因为这些特征并不能充分描述各个手指的相对运动,而微手势正是由多个手指的复杂运动构成。因此,为了提高微手势的识别率,需要引入一些新特征来更好地反映手指间的相对运动。我们把手的回波信号建模为离散的动态散射中心的响应的叠加。基于RDM图,可以得到两种低维描述:距离轮廓图RP(range profile)定义如下
RP(r,T)=∑vRD(r,v,T)
(3)
其中,RD是RDM图,r,v是对应的距离和速度,T是每一帧的序号。另外,多普勒轮廓图DP(Doppler profile)的表达式如下
DP(v,T)=∑rRD(r,v,T)
(4)
距离轮廓和多普勒轮廓反映了目标散射中心的距离和速度的瞬时变化,更形象地展示了整个手势的动态变化过程。
物体的多普勒频移与速度成正相关,当手动作时,由于微多普勒效应[17],各个散射中心产生不同的多普勒频移,对应于多普勒轮廓的每一帧内出现一系列多普勒频率,反映了整个手不同部位的移动。图3是招手两次手势的多普勒轮廓图,其包络随时间呈现动态变化。另外,散射中心在径向距离上的分布体现在距离轮廓信息中。所以与多普勒轮廓和距离轮廓相关的特征被添加到初始特征集。
图3 招手两次的多普勒轮廓
新特征被划分为3类:①多普勒轮廓和距离轮廓的包络特征;②包络的变化趋势特征;③不同通道之间距离轮廓的交叉特征。每一类特征的详细描述如下:
(1)多普勒轮廓和距离轮廓的包络特征:多普勒轮廓的上包络dopplermax、 下包络dopplermin多普勒频率的跨度dopplerbd(上下包络之差),多普勒频率的均值dopplermean, 以能量加权的多普勒频率均值dopplereneryg, 距离轮廓的上包络rangemax、 下包络rangemin。 特征种类编号为γ45~γ65。dopplermax和dopplermin反映了手在正反两个方向移动的最大速度。dopplerbd反映了手各个部分出现的最大相对速度。dopplermean和dopplereneryg刻画了整个手的运动。rangemax和rangemin给出了手沿径向方向的伸展长度。
(2)包络的变化趋势特征:多普勒频率的包络随着手靠近或远离收发器而上升或下降。从图3可以明显看出,在整个手势运动阶段,多普勒包络的变化趋势改变了两次,与招手两次的动作相对应。然而,上述的包络特征不能直接体现速度和距离的变化。因此,增加了dopplermax、dopplermin、rangemax和rangemin的差分(即相邻两帧的数值之差)作为特征,特征种类编号为γ66~γ77, 这些特征的符号反映了包络的变化趋势。
(3)不同通道之间距离轮廓的交叉特征:基于不同通道之间的信号差异,我们定义了不同通道距离轮廓间的关系的特征,它们与散射中心的方位角和仰角相关。首先计算多通道距离轮廓的差值(RPMD),它同时反映了目标到通道i和通道j之间的距离——其定义如下
RPMDij(r,T)=RPi(r,T)-RPj(r,T)
(5)
再根据每一帧的数据,计算向量RPMD的均值、标准差、均方根。特征种类编号为γ78~γ86。
上述多普勒轮廓特征和距离轮廓特征的种类为42。这些特征相应的统计值同样被计算。因此,特征向量增加了42×19+42×5=1008维。
过量的特征会增加计算复杂度,降低系统的响应速度,也有可能在样本数不足的情况下,降低手势的识别率。因此模式识别算法通常要通过一些手段来减少特征维数。由于随机森林分类器在训练的过程中可以对特征的重要性进行评分——RF对特征的评分是一个百分数,所有特征的分值之和为1,我们可以根据RF对特征的重要性评分舍弃得分低的部分特征,达到减少特征维度的效果。
但是随机森林不是专门的时间序列分类器,它把所有特征都看作独立的一个维度进行分析,不会考虑不同时间的相同种类特征之间的联系,而且只考虑了不同特征对正确划分类别的贡献,没有计算复杂度方面的考虑。但是对于计算来讲,选中一个高维特征,背后需要计算相关的低维特征,不管这些特征在最终分类中是否使用;而选中一个低维特征,则只需要计算它本身和产生它的更低维特征。因此,同样特征数量的前提下,低维特征的数量越多越好,特征间彼此存在计算依赖关系越密切对应的计算量越低。统计特征作为一种高维特征,它依赖于所有帧的时序特征,因此,我们希望减少统计特征所对应的时序特征种类,而且这些统计特征对应的低维特征也包含在最终特征集中,相应地,增加每种特征在不同通道和不同帧的特征数量。
在本文改进后的初始特征集中,一种时序特征在19帧中都会被计算,按照本文扩展后的特征集,总的时序特征维度是87×19。统计特征来源于时序特征,总的统计特征维度是87×5。我们采用标准的随机森林分类评分方法,根据随机森林对这些特征的重要性排序,选择得分高的部分特征,筛选出的结果见表1(“1”表示特征被选中,“0”表示未被选中),选中特征分散地分布在各种特征、各个帧、各个通道以及特征的统计值中,虽然减少了特征的数量,但是存在多个统计特征被选中,但是对应的时序特征只有少数入选的情况(表1中的后3列),此时,就不得不先计算19帧的数值才可以得到统计特征值,把所有入选的低维和高维特征综合之后几乎要计算所有87种时序特征,计算量很大。根据上述分析,我们提出了一种考虑计算复杂度的特征筛选方法,即一套把存在关联的各个低维特征(时序特征)作为一个个整体进行筛选的随机森林特征筛选准则,此处的关联性包括共同作为某个高维特征的计算的输入数据和有共同中间变量的情况。具体到本文的初始化特征集,包括各个帧中的同种特征,同一中间量的各项统计特征、差分特征,如交叉通道特征中的同一幅中间RDM的均值、方差和均方根:
表1 基于传统RF筛选算法的特征分布
(1)设定RF评分的阈值ω0, 保留重要性得分超过ω0的特征(数量少于N);
(2)基于被保留的特征,统计87种特征各19帧对正确识别手势的贡献值。RF对特征γi的第j帧给出重要性评分,记为ωij, 由于ωij数值相差较大,对其作非线性映射处理,标记为g(ωij), 其表达式如式(6)
(6)
其中,ωm为所有特征中最高的评分数值。根据ωij的大小,g(ωij) 量化为1到8,共8个数值。
(3)单通道的时序特征γi(例如dopplermax) 的最终评分计算如式(7),其中19是帧数,对应每种单通道时序特征的个数
(7)
交叉特征γi(例如RPMD)的最终评分计算如式(8)
(8)
其中,s表示该关系特征的均值、方差、均方根这3种统计值,57为每种交叉通道特征的个数。
(4)最后h(γi) 降序排列,选择排名靠前的m(m≤87) 种特征作为分类器的输入。
当某种特征被选中后,该特征的所有帧都被作为入选特征保留。同时,这些时序特征对应的统计特征也一起作为分类器的输入。
本文中所有的实验基于共同的数据集,采用的分类器已在前文中介绍。有7位志愿者参与到数据集的采集,每人每种手势重复动作100次,手势距离传感器5 cm到25 cm。使用任意6个人的数据作为训练集,余下一人作为测试集,实验结果取7组交叉验证的平均值。
使用文献[6]中的特征集,测得的平均识别率为92.1%,具体结果见表2(手势G1~G8依次代表图2中的子图2(a)~图2(h))。当增加多普勒轮廓和距离轮廓特征(特征总数87×19+87×5=2088)时,平均识别率提高到93.3%,尤其是微手势的识别得到了改善,所有手势识别率的最低值从82.6%提高到了85.3%,平衡了系统对各个手势的识别情况,说明新添加的特征可以更好地区分各个手势的差异。
表2 不同测试集下的识别率/%
为了确定合理的特征维数,应用提出的RF筛选准则,选择重要性评分高于0.03%的特征,并绘制识别率随选中时序特征种类的关系曲线,如图4所示。可以发现,当时序特征的种类超过45,随着特征种类的增加,识别率上升变得缓慢,但增加了计算开销。因此,我们设定时序特征的种类为45,与对应的统计特征一起作为分类器的输入,得到识别率为93.4%——与筛选前识别率相近。作为对比,我们还利用传统的随机森林筛选算法,从添加了本文特征之后的特征集中选择了重要性得分高的前1080个特征作为对比,该特征集包含了87种时序特征及其部分统计特征,识别率为93.1%,见表2中(3)所示。表2中(4)列出了采用本文所提的筛选准则从新初始特征集中筛选的特征集下每种手势的识别精度,平均识别率为93.4%,前4种手势的识别率均超过90%,其中系统对手势6的识别率提高到了86%。实验结果表明提出的筛选准则并没有降低系统的识别率,而传统的随机森林筛选方法与本文方法得到的识别率虽然相近,但具有较大的计算量——具体数据见下一节。
图4 识别率与时序特征种类的关系曲线
作为对比,我们也实现了量子进化算法[5],用该方法进行特征选择,保留45种特征的条件下,实现了93.7%的识别率,稍微高出本文的基于随机森林筛选准则的结果,具体数据见表2中(5)。然而,实测得知量子进化算法消耗的运行时间约是本文算法的300倍。
我们编写了不同特征集的提取C程序,在型号为STM32 L4R5ZI的开发板上进行测试,该开发板采用STM32L4低功耗处理器,该处理器采用ARM Cortex-M4内核,其主频为120 MHz,带有DSP指令集并提供了求最大值、最小值、均值、方差和均方根这些基础运算函数。我们分别使用不启用和启用DSP指令集这两种计算模式编程实现传统RF筛选算法和本文算法筛选出的特征集合的提取过程,最后测试得到的运行时间见表3。实验数据显示采用本文筛选方法得到的特征集的运算时间比标准随机森林筛选结果的运算时间大幅减少。DSP指令集支持向量运算,对特征提取这种向量运算为主的计算任务有明显的加速效果。但是无论是否采用DSP指令集,本文方法与传统RF方法相比,运行时间都缩短了44.1%左右。其中主要的原因是传统RF筛选出的特征随机分布在全特征集上,即使某个时序特征只有部分帧被选中,由于其统计特征的需要,该时序特征的19帧数据均需要被计算,明显增加了计算量。
表3 不同特征集的运算时间
采用本文评分方法最终筛选出的特征集中本文提出的42种特征中,有25种被保留,h(γi) 数值高的前5种特征依次是平均速度、最大值点加速度、dopplermean、rangemax和RPMD12, 后3种均为本文增加的特征。说明此类描述手势整体运动趋势的特征对手势的正确划分起到了关键作用。此外,在所有被选中的特征中,多普勒轮廓和距离轮廓的包络特征在所有类中占比最高,为35.6%,反映了此类特征包含最丰富的手运动细节信息。这些数据验证了我们在特征集上进行优化工作的合理性和有效性。
在原有RDM图特征的基础上,通过增加多普勒轮廓和距离轮廓的包络特征,明显提高了超声波系统对微手势的识别率。此外,本文提出了用于随机森林的新的特征筛选标准,它把关联特征作为整体进行筛选,可以压缩特征集的同时减少特征提取的计算量,实验结果表明在普通标量编程模式和采用DSP指令集下,均能缩短特征提取的计算时间。使用本文提出的特征筛选标准保留的特征集,与原始特征集在特征维数一致的前提下,整体识别率提高了1.3%,微手势的识别率提高了3.4%,运行时间缩短了44.1%。