基于深度时空神经网络的CSI手势识别方法

2021-12-14 07:05刘纤纤唐智灵黄燕红
桂林电子科技大学学报 2021年3期
关键词:手势特征实验

刘纤纤, 唐智灵, 黄燕红

(桂林电子科技大学 信息与通信学院,广西 桂林 541004)

随着无线通信及人工智能技术的发展,人机交互技术(human-computer interaction,简称HCI)在人们生活中扮演着越来越重要的角色。传统的人机交互方式包括键盘鼠标操作、触屏感知及语音识别等,但这些交互方式都存在弱点,如鼠标键盘需要额外的硬件设备,不方便携带;触屏感知需要接在显示屏上操控,这限制了其应用范围;语音识别在操作过程中会产生声音而影响他人,也容易泄露信息,不具备安全性。与这些设备相比,通过感知手势对无线信道影响的手势识别技术具有独特的优势。

接收信号强度指示(received signal strength indicator,简称RSSI)和信道状态信息(channel state information,简称CSI)是WiFi信号的2种重要物理特性。WiFi信号在空中传播时会受到障碍物的影响而产生反射、直射和散射等现象,导致无线信号的衰落;而环境因素的改变在不同时刻会对RSS产生不同程度的影响。基于WiFi的定位[1]、人体活动检测[2]、步态识别[3]、唇语识别[4]、手势识别等采用RSS作为无线信道度量。因为RSS的获取无需额外设备,所以利用RSS 信息识别手势具有普适性。但RSS受到多径的影响使识别结果精确度降低,且RSS对测量较敏感。若利用CSI,则能揭示信号传播的细粒度信息,包括每个子载波上的多个路径的不同时间延迟、幅度衰减和相移。利用CSI数据提供丰富的幅度和相位信息,对运动物体进行感知会有更精细的分辨率。通过分析由手势运动引起的CSI变化来识别手势动作,其优势在于无需用户携带任何设备,不受光线强弱影响等限制,不会泄露隐私,精度高,成本低,易部署。现有的手势识别算法包括支持向量机(SVM)等浅层学习算法[5-8]、主成分分析算法(PCA)[9-10]、小波变换算法[11-12]、动态时间规整算法(DTW)[13-15]、深度学习算法[16-19]等。上述算法除了深度学习算法外,都需要手动提取手势特征,手势识别过程繁琐、效率低。深度学习在数据处理及特征提取方面有较大优势,且能有效降低模型训练时过多的人为干预,高效地提取样本特征。

虽然已有的基于深度学习手势识别技术的研究可以正确识别手势,但对多个用户的多类手势而言,并不具有较好的稳健性及高识别度。另外,手势动作往往与时间因素有关,而现有的手势识别技术未能将时间相关性作为手势固有特征。对这些手势的识别性能比较如表1所示。如何对手势的CSI数据特征进行更全面的提取,以及如何提高识别多个用户的多类手势的正确率,成为现在迫切需要解决的问题。

表1 各系统手势识别性能比较

鉴于此,提出一种并行LSTM-FCN 深度时空网络模型。选取5个实验人员,采用美国手势语言库(ASL)中50 类常用的基本手势作为识别目标。LSTM 能学习复杂的时间动态,FCN 能高效地学习手势抽象的空间特征[21]。并行LSTM-FCN 能够从手势数据中挖掘隐藏的空间和时间关系,通过将时间和空间维度的特征进行联合,获得较全面且与时间有关的手势特征映射。并行LSTM-FCN 深度时空神经网络可适应个体差异和手势不一致的情况,能够识别多个用户的多类手势。

1 基于并行LSTM-FCN的手势识别系统

基于并行LSTM-FCN 的手势识别系统能分别提取手势动作的空间和时间特征。通过全面且细粒度的时间空间特征能较好地区分每类手势及每个用户之间的细微差别。手势识别系统的结构如图1所示。

图1 手势识别系统的结构

1.1 CSI数据采集

收集日常生活中经常使用的50个标志手势的CSI数据包,实验室大小为9 m×7 m,实验室的平面图如图2所示。发射端为带有3根天线的无线路由器,接收端为内置Intel5300网卡的笔记本电脑和一根外置天线,可工作于IEEE 802.11a/b/g/n协议,传输速率最高为300 Mbit/s,工作频段采用常用的2.4 GHz频段。发射端与接收端相距180 cm,置于同一水平高处,在笔记本电脑安装CSI Tool,通过终端命令无线路由以一定的速率连续不断地发送数据,用户在发射与接收端之间连线的中点O处分别做出不同手势,采样率为100 Hz。通过5个用户在实验环境中执行50种ASL手势,评估手势识别的准确性及系统对不同用户的有效性。

图2 实验环境平面图

1.2 数据预处理

WiFi信号易受多径传播等因素影响,直接获取的手势数据含有较多干扰噪声。因此,需对采集的CSI数据进行预处理。数据预处理部分包括局部异常值去除和巴特沃斯低通滤波。

1.2.1 局部异常值去除

在静止环境下,CSI数据很平稳,幅度波形无太大起伏。而做手势动作时,CSI数据发生变化,幅度波形变化较大的部分即为手势动作。由于传输功率变化和传输速率自适应等引起的设备内部本身状态的变化,导致采集到的CSI数据中存在一些较大的突发噪声,这些异常值并非手势动作引起的,会对手势识别造成干扰。局部异常因子(LOF)算法通过比较数据点与相邻点的相对密度来衡量它们的孤立程度,并对每个点赋予一个局部异常系数:

其中L k(p)为p点的k-局部可达密度。p点的局部异常系数LOF(p)等于p点邻域的平均可达密度与p点自身可达密度之比,用来衡量p点相对于k-距离近邻点而言成为异常点的概率。若LOF系数较大,则反映该点局部范围包含的点比较稀疏,成为异常点的可能性就大,反之成为异常点的可能性就小。这里取LOF>1时的点作为局部异常点,将其从CSI数据中删除。

1.2.2 巴特沃斯去噪

由于手势信号是低频信号,需经过滤波器将高频段噪声去除。采用巴特沃斯低通滤波器对手势的CSI数据进行去噪,去除实验环境的背景噪声。图3为其中一个原始手势的子载波序列,幅度起伏较大的中间部分表示手势动作。经过滤波器低通滤波后的手势子载波序列如图4所示。

图3 原始手势的子载波序列

图4 低通滤波后的手势子载波序列

2 并行LSTM-FCN网络

并行的LSTM-FCN 网络模型融合了手势在时间和空间维度的特征映射,能够较全面地提取各类手势的特征。该模型利用并行的方式获取不同层的特征映射来丰富细节信息和全局信息。FCN 主要提取全局抽象的非线性特征,但同时也会失掉一些细节信息。LSTM 具有时间记忆性,能够学习到长期依赖关系。人的手势动作与时间因素密切相关,不同手势动作有不同的时间周期性,运用LSTM 可以很方便地提取手势动作在时间维度的特征,便于识别出手势。因此,将LSTM 与FCN 联合,可融合不同维度的手势特征图,以获得更好的识别结果。并行LSTM-FCN网络结构如图5所示。将接收天线信号的30个子载波整合到一起作为输入数据,发射端与接收端的天线数量之比为3∶1,每个数据包有30个子载波,每个手势的CSI序列长200,因此得到的手势CSI数据为(200,30,3)的三维矩阵。本系统将大小为(200,30,3)的CSI样本数据转变换为(18 000,1)的向量,作为每个分支的输入。

图5 并行LSTM-CNN网络结构

2.1 长短期记忆网络(LSTM)

LSTM 的每个神经元包括输入门、遗忘门、输出门,通过这3个门保留和控制神经元状态。每个神经元内部结构一致。LSTM 链状网络结构如图6所示。

图6 LSTM 链状网络结构

遗忘门是以一定的概率控制是否遗忘上一层的隐藏细胞状态,决定了上一时刻的单元状态的信息是否可以保留到当前时刻,即

其中:f t为遗忘门的输出信息;δ为Sigmoid激活函数,取值范围为(0,1),1表示信息被完全保留,0表示信息被完全舍弃。

输入门决定当前时刻的输入可以保存到单元状态的信息。输入门信息i t的计算式为

2.2 全卷积神经网络(FCN)

卷积神经网络能够直接从原始手势数据中自动提取有效特征。与CNN相比,FCN可以接受任意尺寸的数据输入,能够提取像素级别的空间特征。FCN可以充分挖掘CSI数据之间隐藏的信息,对CSI数据序列进行处理,获得像素级中间特征图,然后再利用卷积层对该特征进行学习。

卷积层后的池化层采用全局平均池化层,可以减少计算资源的耗费,加快计算速度,防止训练过拟合,实现任意维度大小的数据输入。为了克服神经网络层数加深,导致梯度消失或梯度爆炸,需要引入BN来规范某些层的输入。BN 能加速网络训练并降低对网络初始化的敏感度,提高学习速度,还有助于防止过度拟合。当训练数据集包含来自不同用户的数据时,它还可以提高卷积神经网络的泛化能力。引入激活函数能增加网络的非线性分割能力。在反向传播求误差梯度时间时,计算量相对大,对于深层网络,Sigmoid函数反向传播时易出现梯度爆炸的情况,所以采用ReLU 函数。FCN网络输入的同样是大小为(18 000,1)的CSI向量,手势数据经过FCN 分支训练后得到的特征为F=[F1,F2,…,F256]。 最后2个并行分支利用concatenate函数将输出层的特征信息进行联合,联合的特征M=[L1,L2,…,L8,F1,F2,…,F256]。由于本系统是一个多分类系统,采用Softmax函数对联合特征进行分类。

3 实验结果与分析

3.1 实验参数设置

5个实验人员在图3所示的实验环境中执行50类手势,一共采集1 250组实例数据,手势动作如图7所示。数据集中70%划分为训练数据集,30%为验证数据集。网络第一个并行分支Dropout层参数设置为0.8,防止模型发生过拟合。实验同时对比了多个优化器的优化效果,Adam 的收敛速度比SGD 要快且效果更好,较适合该模型,其中的Lr学习率设置为0.001,beta_1设置为0.9,beta_2设置为0.99,epsilon设置为1×10-8。共训练了50个批次,每个训练批次样本为32,采用5折交叉验证。

图7 50类手势动作

3.2 实验结果分析

手势识别系统模型性能评估指标主要为识别精度、损失函数及混淆矩阵。手势识别系统仿真识别精度如图8所示,损失函数如图9所示,混淆矩阵如图10所示,方法对比实验结果如图11所示。

图8 识别精度

图9 训练集与测试集损失

图10 50类手势识别混淆矩阵

图11 3种模型对比

从图8可看出,随着训练批次增加,手势识别精度逐渐上升,样本训练到10个批次时,模型开始收敛,当训练集识别精度为100%时,5个用户的50类手势在测试集上的平均识别精度为98.4%,表明并行的LSTM-FCN网络能较好地识别多个用户的多类手势。

损失函数是评估模型性能好坏的一个指标,在分类问题中用于度量测量值与实际观测值的差异,本研究采用categotical_accuracy损失函数观测多分类问题预测的准确率。从图9可看出,随着训练批次的增加,训练集的损失低至0,测试集损失最终约为0.2。

从图10可看出,对角线上方形格子颜色越深,表明识别准确率越高,其中有5类手势识别精度相对较低,绝大部分手势能被准确识别,表明本并行LSTM-FCN网络在识别多个用户的多类手势时具有较高准确率。

采用LSTM-FCN、LSCN和CNN方法进行对比实验。LSCN模型是LSTM 和CNN 的串行连接。3种方法实验结果如图11所示,平均识别准确率分别为98.4%、97.8%和90.4%。对比结果表明,并行的LSTM-CNN网络在多个用户的多类手势识别中效果优于其它2种方法,在多用户的多类型手势识别中表现最佳。其中,LSCN 模型的识别准确率与并行LSTM-FCN网络相差较小,但LSCN训练时间更长。

4 结束语

针对现有的手势识别系统未兼具用户差异性与手势种类多样性的问题,提出了一种基于并行LSTM-FCN网络的CSI手势识别方法。无需使用特殊设备和硬件即可通过更细粒度的CSI来识别手势。采集5个用户的50类手势数据包,通过局部异常点去除和巴特沃斯滤波去噪等数据预处理后,利用LSTM-FCN网络进行训练。实验结果表明,基于并行LSTM-FCN网络的手势识别系统的平均识别率可达98.4%。对于相同的样本,识别精度明显高于CNN,且训练时间比LSCN短。并行LSTM-FCN系统可适应不同的用户和多种类型的手势,即在不同用户和多个手势类别的情况下,也具有较好的鲁棒性。考虑到不同的用户在不同的场景也会影响手势识别,如何减少环境因素对手势识别的影响,提高识别准确率,是将来基于CSI手势识别可研究的方向。

猜你喜欢
手势特征实验
记一次有趣的实验
离散型随机变量的分布列与数字特征
挑战!神秘手势
抓特征解方程组
不忠诚的四个特征
关于植物的小实验
胜利的手势
实践十号上的19项实验
让合作探究走进实验课堂
认手势说数字