简 介: 以手势识别为代表的人类活动识别是一种重要的人机交互方式,在可穿戴设备、虚拟现实和驾驶舱智能交互领域具有重要的应用前景,基于雷达前端的手势识别方法是相关研究的热点。本文根据超声雷达手势识别问题,设计了三种不同的特征提取方法,构建、训练和测试不同特征提取方法下的卷积神经网络、长短记忆网络和端到端网络,以调查深度学习模型在超声手势识别问题上的可行性和方法。实验结果表明,本文实现的各种深度学习模型都具有良好的手势识别能力,其中基于人工提取特性的长度记忆网络在识别精度和模型尺寸上分别为95.8%和12.49MB,优于其他模型,有潜力部署在实际的超声手势识别系统中。 : ,,,,
- 系 别:集成电路学院
- 专 业:集成电路工程
- 姓 名:康丕熙 程 旭
§01 引 言
人类活动识别(Human Activity Recognition, HAR
)是一种具有长远发展潜力的人机交互(Human-Computer Interaction, HCI
)方式;在其执行过程中,使用者的动作、姿势或行为能够被系统捕获和识别,进而作为激励触发相应的操作。随着传感器和数据处理技术的发展,HAR
的应用边界正逐渐扩展,如今在个人电脑、AIoT
设备、乃至虚拟现实(Virtual Reality, VR
)等领域中都能看到其身影。HAR
的处理流程通常可划分为四个阶段:传感器数据采集、时序数据分段、特征提取和识别[1]
。设计者可以通过调整各阶段的工作方式来适配不同的人类活动,如手势[2]
、手臂挥舞[3]
、踝关节活动[4]
等。基于多种类型HAR
,衍生出了诸如浮空书写识别[5]
、无接触式后备箱开启[6]
和驾驶舱智能交互[7]
等形式丰富的应用。
手势是人类最为自然和高效的交流方式之一,手势识别(Hand Gesture Recognition, HGR
)也在人机交互中也占有重要的位置,其无声、幅度小、强度低等特点有利于保护使用者的隐私和减少使用时的疲劳感。典型的适用于HGR
前端传感器包括光学图像传感器、基于微机电系统(MEMS
)的惯性传感器、表面肌电信号(sEMG
)传感器和基于雷达的传感器等,其中基于雷达传感器前端的HGR
系统因为具有不依赖光照、不泄露隐私和非接触性的特点而广受青睐,Google
公司所开发的Soli
即为一款基于60GHz
毫米波雷达的HGR
系统,其高鲁棒、高分辨率、低功耗和低存储的特点使得其能够部署在移动端和嵌入式设备中[8]
。相较于射频波段的雷达前端,采用更低频段的雷达有望进一步降低前端电路的复杂程度和减小功耗,其中基于超声雷达前端的HGR
有望成为未来低功耗应用场景下手势识别的主流技术。
机器学习相关理论和技术的发展极大地推动了以手势识别为代表的人类活动识别的发展,其主要贡献在于大幅度增强了系统从传感器原始数据中提取有效信息的能力,并一定程度上降低了对传感器原始数据人工可解释性的要求,从而能够在扩展可用传感器类型范围的同时保证较高的识别准确率,或从另外的角度来看,后端先进的机器学习算法留下的性能余裕可以用来换取前端更好的用户体验。
现有的雷达手势识别算法依据其面向的应用场景,可大致分为两类:
(1
)计算存储开销要求大于性能要求:由于手势识别系统所依托的可能是移动端或嵌入式平台,其存储和计算资源相对受限,从而无法部署大模型尺寸和高计算开销的机器学习模型,在此场景下,传统的机器学习算法如随机森林(Random Forest, RF
)、支持向量机(Support Vector Machine, SVM
)和隐马尔科夫模型(Hidden Markov Model, HMM
)等更受到青睐。例如,Soli
的后端采用了RF
分类器[8]
;Ghaffar
等人针对隔空操纵电子菜单的应用,使用多分类SVM
实现了对点击手势的分类,并在3x3
的菜单网格上取得了96.75%
的准确率[9]
;Sang
等人对超声回波信号处理得到RDM
(Range-Doppler Map
)帧序列,为进一步降低复杂度将每帧映射到一个整数,以此来训练一个离散发射分布的HMM
来对7
种预定义手势进行分类,并取得了90%
的识别准确率[10]
。经典模型的存储开销相对较小,通常能够控制在KB
量级,然而在识别性能上相对较弱,且通常需要精心设计的人工特征。
(2
)性能要求大于计算存储开销要求:当手势识别系统所依托平台的存储计算资源丰富或面向的应用场景要求识别性能较高时,以卷积神经网络(Convolutional Neural Network, CNN
)、长短时记忆(Long Short-Term Memory, LSTM
)为代表的人工神经网络模型是主流的选择。例如,Skaria
等人将两通道回波信号的时频图和一张到达矩阵的相角图作为深度CNN
网络的输入,在14
种手势上取得了95%
的准确率[11]
;Choi
等人基于Soli
开发了LSTM
后端的手势识别系统,从回波信号提取出RDM
流之后,对每一帧RDM
处理得到距离轮廓(Range Profile
)和多普勒轮廓(Doppler Profile
),将二者拼接后作为LSTM
的输入,并在10
种预先定义的手势上取得了高达99.10%
的识别准确率[12]
;Sang
等人为与HMM
方案做对比实现了end-to-end
网络,即在LSTM
之前级联CNN
网络用来提取RDM
的帧级特征,最终在7
种手势上取得了96.34%
的准确率,超过HMM
方案6.96%[10]
。Lei
等人开发了基于DS-3DCNN-LSTM
(Dual Stream Three-Dimensional CNN-LSTM
)后端的手势识别系统,其主要特点在于采用了两个3DCNN
分支分别对RDM
流和RAM
(Range-Azimuth Map
)流进行特征提取,并在输入LSTM
之前进行特征融合,该模型在10
种手势上取得了97.66%
的平均识别率[13]
。随着深度学习理论日趋成熟,一些更加轻量的算法被提出,即使在资源受限场景下CNN
和LSTM
也有取代经典模型的趋势;因此,讨论基于深度学习的雷达手势识别算法有着重要的现实意义。
本文主要考察了深度学习模型在三种不同的特征提取策略下对雷达手势的识别能力,讨论了不同特征提取策略、不同网络结构对手势分类的影响,其中特征的形式包括:(1
)RDM
;(2
)Range-Doppler Profile
;(3
)人工定义特征。对于这三种形式的特征,我们分别训练了对应的CNN
和LSTM
模型,此外我们还训练了一个由CNN
和LSTM
拼接而成的end-to-end
模型,该模型也可以认为是一种由CNN
提取特征的LSTM
分类器。
本文剩余内容的组织形式为:第二章介绍了数据预处理和特征提取方法;第三章介绍了本文的实验部分,即数据集及其划分、CNN
模型的结构及训练方法、LSTM
模型的结构及训练方法以及end-to-end
网络的结构及训练方法;第四章给出了对不同模型的实验测试结果,并对结果进行分析讨论;第五章总结了本文的工作。
§02 数据处理
本章设计数据预处理及特征提取 ,本文所采用有关手势识别的训练与测试数据集类型为超声波经反射后,由三通道接收器采样的信号回波。该超声波信号为一相参脉冲信号,此类信号可以同时实现对距离和速度的测量。其脉冲宽度𝑇𝑝=0.1
𝑚𝑠,脉冲周期𝑇𝑟=1
.5𝑚𝑠,采样时间持续1
𝑠,取64
个𝑇𝑟为单帧数据,取32
个𝑇𝑟为窗口步长,利用滑动窗口的方式实现数据分割,共计可获得19
帧有效数据,此系统所获距离与速度分辨率如式(2-1)
与(2-2)
所示。本文将通过特定数据预处理方式获得RDM
(range-doppler map
)图,并以此为基础进一步获得RD-profile
(range-doppler profile
)图与手工特征提取的数据集。
- ∆𝑅=𝑢𝑇𝑝2=1.7𝑐𝑚 (2−1)
- ∆𝑣=𝜆2𝑁𝑇𝑟=0.04𝑚𝑠⁄ (2−2)
2.1. RDM图的生成与零频消除
经滑窗分割后所产生的19
帧数据,可逐帧生成RDM
图。其基本方式为,将64
个𝑇𝑟周期信号排列成64
行,对每一列数据进行FFT
(fast fourier transformation
),即可获得该帧手势的RDM
图,对19
帧数据逐一重复此操作,即可获得19
帧RDM
图。RDM
图可直观反应每一帧区间内,手势反射回波能量在不同距离和多普勒频率上的分布,这一多普勒频率分布亦可视为速度分布。对经过上述处理所生成的所有RDM
图为三通道逐通道19
帧480
×64
大小数据集合。
考虑到零频分量反应的为静止状态物体的回波,手势检测中,手的模型一直处在运动当中,为进一步降低噪声的影响,本文设计中选择将零频信号消除。同时,本文对零频信号的消除采用了将该频率对应分量数值置零的方法,经零频消除后的RDM
效果图如下:
▲ 图2.1.1 靠近手势一帧RDM图
2.2. RD-profile生成
在完成RDM
图的生成后,逐帧将RDM
图横轴求和,而后将19
帧RDM
图逐帧求和后的19
组列向量以时间顺序拼接,即可获得速度分布(doppler profile
);类似的,将19
帧RDM
图逐帧纵轴求和,并将行向量依照时间顺序拼接,即可获得距离分布(range profile
)。利用RD-profile
图,可以相较RDM
图更好的反应手势所反映得帧与帧之间得速度和距离变化趋势,且可实现对数据量的优化与减少。
2.3. 手工特征提取
基于RDM
图,通过手工设计算法,可以实现对RDM
图数据通道间特征、统计学特征进行提取。可获得共计1080
个特征[2]
。
▲ 图2.3.1 RDM 生成流程
(1)RDM图内数据特征提取
对RDM
图中能量极大值点所对应的多普勒频率𝑓𝑖,距离𝑟𝑖以及该极大值点所对应能量大小𝜌𝑖作为该单帧RDM
图内的数据特征。利用单帧RDM
图内数据特征,可提取获得相邻两帧RDM
图对应频率变化所反映的加速度𝑎𝑖,
𝑖−1
,平均速度𝑣̅,平均距离𝑟̅,以及速度标准差𝜎𝑣,距离标准差𝜎𝑟,总能量𝐸,相邻两帧RDM
图间的总能量差Δ𝐸。共计30
维特征。
(2)RDM图数据通道间特征
通道间特征则是对同一时刻对应的三通道RDM图取其均值、差值、变化量及其统计学均值、方差、均方根特征。共计15维特征。
(3)统计特征
对上述45维特征中的各维特征,分别对19帧数据的均值、方差、均方根、最大值、最小值进行计算。可获得共计225维特征。
§03 实 验
3.1 数据集
我们拿到了基于40kHz超声波前端的手势数据集[2],其中共定义了如下图所示的8种手势。
▲ 图3.1.1 八种定义的手势:G1左挥,G2右挥,G3后移,G4前移,G5五指张开,G6五指闭合,G7招收两次,G8拇指滑动两次
共有7
位志愿者参与了手势采集,每人在每种手势上共采集了100
个样本,故每人共采集了800
个样本,每种手势共采集了700
个样本。
考虑到真实使用场景下用户手势不参与训练,我们设计了leave-one-subject-out 7-
折交叉验证法(下简称loo
测试)对模型进行训练和测试,即每次指定一位志愿者作为用户,令非用户样本组成训练集,令用户样本组成测试集,分别考察每一轮训练的准确率。
作为对照,我们还设计了混合7-
折交叉验证法(下简称mix
测试)对模型进行训练和测试,即不再区分手势样本所来自的志愿者,每轮选取1/7
的样本用作测试集,其余样本用作训练集,7
轮中的测试集构成对样本全集的划分。
3.2 基于CNN的超声波手势分类模型
3.2.1 基于RDM特征的CNN模型
本文对原始回波数据进行预处理后的样本形状为:
( N f r a m e , N c h a n n e l , D i m ( R ) , D i m ( D ) ) \left( {N_{frame} ,N_{channel} ,Dim\left( R \right),Dim\left( D \right)} \right) (Nframe,Nchannel,Dim(R),Dim(D))
其中𝑁𝑓𝑟𝑎𝑚𝑒表示样本中包含的RDM
帧数,本文中该值取19
,𝑁𝑐ℎ𝑎𝑛𝑛𝑒𝑙表示接收通道数,本文中该值取3
;𝐷𝑖𝑚(
𝑅)
表示单帧RDM
距离(Range
)维的维度,𝐷𝑖𝑚(
𝐷)
表示单帧RDM
多普勒(Doppler
)维的维度,经降采样后取𝐷𝑖𝑚(
𝑅)=60
,𝐷𝑖𝑚(
𝐷)=32
。为适应2D
卷积核的输入格式,将样本中每帧RDM
图沿𝐷𝑖𝑚(
𝐷)
轴拼接,得到新样本的形状为:
( N c h a n n e l , D i m ( R ) , N f r a m e ⋅ D i m ( D ) ) = ( 19 , 60 , 608 ) \left( {N_{channel} ,Dim\left( R \right),N_{frame} \cdot Dim\left( D \right)} \right) = \left( {19,60,608} \right) (Nchannel,Dim(R),Nframe⋅Dim(D))=(19,60,608)
基于RDM图识别时所采用的CNN模型的结构与训练配置如下表:
▲ 图3.2.1 基于RDM图识别时所采用的CNN模型的结构与训练配置
3.2.2 基于RD-profile特征的CNN模型
经降采样后取𝐷𝑖𝑚(
𝑅)=60
,𝐷𝑖𝑚(
𝐷)=32
。经过RD-profile
相关的预处理后,共生成3
通道,每通道2
幅profile
图,同时,对宽度较小的数据进行零值拓展使之第三维数据长度变为max{
𝐷𝑖𝑚(
𝑅),
𝐷𝑖𝑚(
𝐷)}
,得到新样本的形状为:
( N c h a n n e l − r d , N f r a m e , max { D i m ( R ) , D i m ( D ) } ) = ( 6 , 19 , 60 ) \left( {N_{channel - rd} ,N_{frame} ,\max \left\{ {Dim\left( R \right),Dim\left( D \right)} \right\}} \right) = \left( {6,19,60} \right) (Nchannel−rd,Nframe,max{ Dim(R),Dim(D)