WiGNet:一种适用于无线感知场景的手势识别模型
2023-06-15马凯凯段鹏松孔金生
马凯凯,段鹏松,孔金生
(郑州大学网络空间安全学院,450000,郑州)
随着物联网及人工智能技术的快速发展,人机交互技术(HCI)的使用场景越来越多[1],手势识别技术也成为学术界和工业界的研究热点之一[2-3]。利用手势识别技术,人与设备的交互更为便捷,其相关技术及应用在万物互联背景下潜力巨大。例如,在智能家居中,可以使用手势控制电视、空调、冰箱等家用设备,而无需额外的控制器,能极大提升用户的使用体验和操作效率。
目前,实现手势识别的主流技术可以分为基于计算机视觉[4-5]、专用传感器[6]和射频信号[7]三类。其中,基于计算机视觉的手势识别技术通过收集大量的手势照片,利用机器学习等技术学习和识别具体手势信息。该技术研究成果较多,识别精度也较高,但存在弱光照条件受限及低隐私保护等缺点。基于专用传感器的手势识别技术通过专用传感器(如可穿戴设备)采集手势动作,再通过内部自带的识别系统感知手势类别[6]。该技术在手势识别粒度及精度上有较大优势,但安装和维护成本较高,难以实现大规模应用[8]。基于射频信号的手势识别技术通过分析信号的变化情况实现手势的分类,其中基于Wi-Fi信号的手势识别技术因其易部署、成本低、非接触式、隐私保护性好等优势,逐渐受到研究者的青睐。
在早期的Wi-Fi手势识别研究中,研究者通常使用接收信号强度指示(RSSI)作为感知特征载体。Abdelnasser等提出了一种通过分析RSSI变化来感知用户手势系统的WiGest[9],在单个无线设备接入点实验条件下实现了87.5%的识别准确度。由于多径效应,RSSI测量的是多路径信号的叠加结果,无线感知的识别易受室内布局影响,因此RSSI仅能感知粗粒度的目标行为(如走动、跳跃等)。对于细粒度的目标行为(如手势动作等),则需要通过信道状态信息(CSI)来感知。CSI可以从一个数据包中同时测量多个子载波的频率响应,而非全部子载波叠加的总体幅度响应,从而更加精细地刻画频率选择性信道。随着CSI Tool[10]工具的开源,使得从商用Wi-Fi设备中提取CSI成为可能,基于CSI的手势识别研究也逐渐占据主导。2016年,Tan等提出了利用CSI进行细粒度手指动作的系统WiFinger[11],实现了93%以上的动作识别准确率。但是,由于WiFinger只选择了关键子载波的感知数据,造成了大量的数据浪费和信息丢失。Han等提出的DANGR[12]使用生成对抗网络对感知数据进行增强,降低数据集不完整引起的过拟合风险,最终达到了94.5% 的手势识别平均准确率。Meng等提出的FaSee[13]通过使用动态时间规整算法,使手势识别的平均准确率达到了94.75%。但是,该算法需要和k-最邻近分类算法相结合,时间复杂度较高。
现有基于Wi-Fi感知技术的手势识别研究中,大多数研究者从CSI中选择特定子载波,并基于一维时序数据流进行特征识别[11,14],未能很好地利用不同频率子载波之间的空间特征差异,使得感知特征辨识度较低,且噪声信息不能有效滤除,导致难以实现高准确率的手势识别。为解决此问题,本文在以下方面做出改进。
(1)提出了一种具有较高辨识度的感知特征表征机制。首先,将采集到的一维时序CSI数据重构为多维矩阵形式,以提取载波内和载波间所蕴含的手势特征;其次,对重构后的多维感知数据进行二维离散小波变换(2D-DWT),以进行时间和空间层面上的数据降噪和平滑,得到具有较高辨识度的感知特征表征机制。
(2)本文提出了一种基于深度学习的高精度手势识别模型WiGNet。WiGNet以2D-DWT处理后的多维矩阵为输入,由多个NGConv模块构成的卷积神经网络组成。自建数据集和公共数据集上的实验结果均表明,WiGNet相比同类模型有明显优势。
1 问题定义
1.1 信道状态信息
信道状态信息是在正交频分复用(OFDM)技术中估计信道状态的信息[15]。通常来说,每一条无线链路有多个子载波,每一个子载波都会产生对应的CSI值。
当信号在无线信道中传播时,会遇到路径中物体的反射、折射等扰动,这些扰动最终体现为接收端的CSI数据。假设接收端的和发射端的无线信号分别为α和β,则有
α=Hβ+a
(1)
式中:a为无线信号传播过程产生的噪声向量;H表示所有子载波组成的信道矩阵,如果把噪声表示为a~cN(O,S)形式的正态分布,那么就可以估计出信道矩阵H
(2)
对于H的估计就是CSI的值,对于单个子载波来说,可以用以下形式表示CSI
h=|h|ejsinθ
(3)
式中|h|表示CSI的振幅。当人在无线信道中做手势动作时,|h|就会产生相应的变化,通过分析这些变化就能实现对不同手势的检测。
1.2 问题定义
每一个OFDM信道中每一条子载波可以得到一个CSI序列。假设有一个具有Ns个发射器天线,Nr个接收器天线的系统,则每个接收到的CSI数据包都可以解析出Ns×Nr×n个CSI序列,其中n表示每个无线信道中子载波的数量。为了获得CSI数据流,需要在接收端持续采集时间间隔为T的CSI数据,每个子载波可以得到一个长度为T的CSI序列。目前大部分基于CSI的手势识别研究大都仅使用单个子载波的CSI数据进行分析实验,其形式如式(4)所示
X=[h1,k,h2,k,…,ht,k,…,hT,k]T
(4)
式中ht,k表示t时刻第K个子载波的数值。每个子载波间手势特征变化不总是相同的,为了更好地利用不同频率子载波之间的空间特征差异,本文将每条无线信道间所有子载波的CSI序列重构为二维矩阵形式,如式(5)所示
(5)
根据Wi-Fi感知中OFDM和MIMO(multiple-input multiple-out-put)的技术特性,以及实际采集中多发射器、多接收器的场景,对于每个采集时间间隔T,可以得到Ns×Nr个如式(5)所示的二维矩阵。由于不同收发天线获取的信号具有一定的差异,为了保留这些信号差异,本文将Ns×Nr个矩阵在深度方向堆叠,增强手势动作的特征,消除不同无线信道间手势特征的差异,提高鲁棒性[16]。
2 模型设计
本文设计的手势识别系统方案总体流程图如图1所示。
图1 手势识别总体流程图
首先,使用收发设备获取包含不同手势特征的CSI数据;其次,将采集得到的CSI数据重构为tensor格式的二维矩阵形式,并对重构数据进行2D-DWT变换等达到降噪和平滑的目的;最后,将处理后的数据放入设计好的深度神经网络WiGNet中,提取手势特征信息,并对不同手势特征进行分类,实现手势识别功能。
2.1 二维离散小波变换
在采集CSI手势数据的过程中,Wi-Fi无线信号会受到墙壁、桌椅以及身体其他部位微小动作的影响,这些多径效应会让CSI信号产生细微波动。时间精度和频率精度是小波变换在高频和低频时具有的特性,这使其可以聚焦到无线信号变化的所有细节,对时频信号分析有很高的契合度。基于这些特点,本文对重构的CSI数据采用2D-DWT方法进行降噪和降维处理。
在对无线信号的处理中,需要将连续的小波及其小波变换离散化。假设f(x)表示无线信号,则其可以在子空间中用小波函数ψ(x)和尺度函数φ(x)的展开形式来表示,如式(6)所示
(6)
式中:x表示单个子载波的值;j0是任意的开始尺度;cj0,k为近似系数;dj(k)为小波系数。将式(6)展开即可得到正向的离散小波变换(DWT),如式(7)和式(8)所示
(7)
(8)
有些背景噪声在一维信号中体现的是随机性,但可能在二维信号中就显示出很强的区域性或较明显的特征性。由于DWT只能在无线信号的时间维度上运作,为更好地利用不同频率子载波之间的空间特征差异,本文引入了2D-DWT。对于重构数据,2D-DWT不仅能在无线信号的时间维度上运作,还能对不同子载波间的CSI信号进行平滑降噪处理。
在二维的情况下,给定尺度函数φ(x)和小波函数ψ(x),可以组合出1个二维尺度函数和3个二维小波函数,分别如式(9)~(12)所示
φ(x,y)=φ(x)φ(y)
(9)
ψT(x,y)=ψ(x)φ(y)
(10)
ψV(x,y)=φ(x)ψ(y)
(11)
ψD(x,y)=ψ(x)ψ(y)
(12)
式中T、V、D分别表示列方向、行方向、对角线方向。
于是,对于大小为M×N的二维矩阵f(x,y),其离散小波变换如式(13)和式(14)所示
(13)
i={T,V,D}
(14)
如同一维的情况,j0是一个任意开始的尺度,尺度j0处的近似由式(13)定义。图2直观地表示了2D-DWT如何对矩阵从水平和竖直两个方向进行处理。其中a是原始矩阵,b是经过一阶2D-DWT处理后的矩阵,c是经过2阶2D-DWT处理后的矩阵,以此类推。
图2 矩阵的2D-DWT处理过程
本文所使用的小波函数为多贝西(Daubechies, db)小波函数。在使用2D-DWT对数据处理时使用tensor数据格式,此格式已被证明能加快数据处理速度[17]。频率能量图[16]是CSI数据的可视化表示,图3所示分别为经过2D-DWT处理前和处理后的2种手势动作(上滑、画圆)的频率能量图,其中横轴表示采样时间,竖轴表示子载波数量,颜色表示CSI数据的大小。可以直观地看出,经过2D-DWT处理后,数据的尺寸变小,频率能量图信号的变化情况更加突出。3.2节的实验也证明了经过2D-DWT处理后的数据提高了手势识别的准确率,降低了系统整体运算时间。
(a)上滑,处理前
2.2 WiGNet模型
对原始CSI数据重构后,考虑到卷积神经网络在多维矩阵特征提取方面的巨大优势,本文使用神经架构搜索技术(NAS)[18-19]搜索网络深度以及卷积核个数的合理化配置,使用搜索得到的网络提取数据特征,进行手势分类。
2.2.1 神经架构搜索技术
NAS指一系列搜索神经网络架构的算法,其思想为:首先定义一组可能用于网络的“构建块”(如卷积核、池化层等)。在NAS算法中,控制器递归神经网络对这些构建块进行采样,将它们放在一起创建某种端到端架构。这种架构的风格通常与经典的网络设计相似,如ResNet[20]或DenseNet[21],块之间的组合和配置是它们之间的主要差别。然后,小规模训练这种新的网络体系结构,在获得一定的精度后通过生成更好地体系结构更新控制器。
在搜索过程中,增加网络的深度能够得到更加丰富、复杂的特征,但网络深度过深往往会产生过拟合、梯度消失等问题。增加网络的宽度(卷积核的个数)能够获得更高细粒度的特征并且也更容易训练,但对于宽度很大而深度较浅的网络往往很难学习到更深层次的特征。结合重构后CSI数据的特点,本文使用NAS技术得到了更加适合重构后CSI数据的网络结构。
2.2.2 注意力机制结构
本文加入了注意力机制结构以聚焦无线信号的关键信息。当手势做出动作时,无线信号会发生特定的波动,注意力机制的引入能更好地提取波动变化信息。
如图4所示,本文设计的注意力机制由一个全局平均池化层和两个卷积层组成,第一个卷积层使用SiLU激活函数结构,第二个卷积层使用Sigmoid激活函数,其输出和注意力机制结构的输入在深度上堆叠以保留聚焦得到的特征。
图4 注意力机制结构
2.2.3 NGConv模块
本文使用的网络结构由8个NGConv模块组合而成。如图5所示,首先,数据经过一个卷积核大小为1×1的卷积层达到数据升维作用。之后,进行正则化和激活处理。正则化可以防止模型过拟合和加速模型收敛,激活函数选用SiLU激活函数,如式(15)所示,SiLU激活函数具有平滑、非单调、无上界有下界的特性。
图5 NGConv模块示意图
SilU(x)=x*Sigmoid(x)
(15)
然后,数据进入一个卷积核大小为3×3的深度可分离卷积层中[22],同样经过正则化和SiLU激活函数处理后输入注意力结构块中。
最后,数据经过注意力机制块处理后经过一个卷积核大小为1×1的卷积层以降低矩阵维度,经过正则化层之后使用Dropout操作防止模型过拟合,其中Drouout率设置为0.2。
NGConv模块还使用了残差连接操作[20],如式(16)所示
xl+1=h(xl)+F(xl,Wl)
(16)
在输入下一个模块之前,每次经过NGConv模块处理的数据都会和输入数据相加,残差连接能很好地解决梯度消失和网络退化的问题[20]。
数据在输入WiGNet模型后,先进入一个卷积核大小为3×3的卷积层,之后由8个以线性结构连接的NGConv模块进行特征提取,最后经由卷积核大小为1×1的卷积层展开为各个手势动作的预测值。
3 实验与分析
3.1 实验设置
3.1.1 数据集描述
本文分别使用自建采集的数据集和公共数据集评估模型的性能。
由于无线信号的传播会受到多径效应的显著影响,因此不同多径效应下无线信号的效果有一定区别。考虑模型在不同多径效应环境下的运行效果,弱多径效应环境遮挡物少,环境开阔,信号传播路径相对简单;强多径效应环境物品较多,信号传播路径较为复杂。为保证实验数据的多样性和客观性,在采集数据时选择了弱多径效应的数据采集室和强多径效应的学生实验室两种环境,如图6所示。
(a)数据采集室
发射器选择具有一个发射天线的TP_LINK AC1750无线路由器,接收器为一台具有 3个接收天线安装有开源CSI Tool工具的计算机。采样频率为1 kHz,Wi-Fi工作频率为5 GHz。如图6所示,发射器和接收器相距2 m,考虑到视距路径和非视距路径对无线信号传播的影响,消除位置误差并结合现实情况,在发射器和接收器中间选择3个不同位置进行CSI数据的采集,采集过程中受测者始终面向接收器。每次接收含90(1×3×30)个子载波的CSI数据。本文在每种环境下分别安排2个受测者,两种环境下每个受测者分别采集9种手势动作,分别为左滑、右滑、上滑、下滑、画O、画十、画Z、画W、画S,每次采集时间间隔为2 s,每种动作在每个采集位置处采集20条数据,处理后得到2 160条数据。
公共数据集[23]在教室、大厅、办公室3个实验地点采集。使用的接收设备是配有Intel 5300无线网卡的笔记本计算机。每个采集环境的设备和实验布置相同,有一个发射器(每个发射器1条发射天线)、6个接收器(每个接收器3条接收天线),每个接收器每次接收含90(1×3×30)个子载波的CSI数据。本文选取数据集中的6种手势进行实验,分别为拍手、横扫、画O、推拉、摆动、画Z。每个实验地点分别选取4个受测者的手势数据。对于每个实验地点,每种手势动作各整理了1 500个数据,每个地点分别整理9 000个数据进行实验。
自建数据集和公共数据集主要参数设置如表1所示。
表1 数据集主要参数设置
3.1.2 模型超参数
本文实验基于深度学习框架PyTorch实现。优化器使用随机梯度下降算法(SGD),其动量因子设置为0.9,L2正则化参数设置为0.000 5以防止过拟合。Batch_size设置为16。初始学习率设置为0.01,并使用余弦学习率衰减策略优化学习速度[24],最终学习率下降为0.000 1。将每个环境的数据划分为80%训练集和20%测试集,使用测试集评估识别效果。
3.1.3 评估指标
本文采用准确率(A)、精确率(P)、召回率(R)、特异度(SP)、方差评估模型效果。模型最终需要判断样本的结果是正确(positive)还是错误(negative)。以FN表示真实值是positive,预测值是negative的数量;TP表示真实值是positive,预测值是positive的数量;TN表示真实值是negative,预测值是negative的数量;FN表示真实值是negative,预测值是positive的数量;S2为总体方差,Y表示预测值,N为数据总数。准确率指正确分类样本数占总体样本数比例;精确率指预测的所有positive中,预测正确的比例;召回率指预测正确的positive占所有真实positive的比例;特异度指预测正确的negative占所有真实negative的比例。方差描述的是训练模型中每个预测值与预测均值差的平方和的平均数。评估指标的公式如下
(17)
(18)
(19)
(20)
(21)
3.2 实验结果
为了评估所提出方法的性能:首先,本文验证了所提出的2D-DWT方法的有效性;然后,给出了模型的最终分类结果并和现有模型的性能进行对比;最后,给出所提方法在公共数据集上的表现。
3.2.1 2D-DWT的有效性实验
图7为使用2D-DWT和不使用2D-DWT的准确率,分别在自建数据集中数据采集室和学生实验室进行实验。结果显示:在数据采集室环境下,不使用2D-DWT的分类准确率为97.3%,使用2D-DWT的分类准确率为98.2%;在学生实验室环境下,不使用2D-DWT的分类准确率为97.2%,使用2D-DWT的分类准确率为98.1%。
图7 是否使用2D-DWT的准确率对比
图8为不使用和使用2D-DWT情况下在数据采集室下训练集损失随时间变化图。尽管对数据进行2D-DWT时会消耗一定的运行时间,但先进的处理方式[17]与处理后更小的数据尺寸使整体的运行时间更短。从图中可以看出,使用2D-DWT训练时损失值能够更快地收敛。实验结果充分说明,使用2D-DWT对数据进行降噪后,不仅提高了分类结果的准确率,还降低了训练所需时间,证明了2D-DWT的有效性。
图8 是否使用2D-DWT的loss变化曲线
3.2.2 系统整体性能
混淆矩阵可以观察模型在各个类别上的表现。图9为使用本文提出的基于WiGNet的方法对9种手势动作的最终分类结果的混淆矩阵,其中横轴表示实际的手势动作,竖轴表示预测的手势动作,对角矩阵表示每一种手势动作的识别准确率。可以看出对于所采集的9种手势动作,WiGNet对于每一种动作都有很好的分类效果,对于左滑、画圆、画S等区分度高的动作的分类最准确。两种环境下识别准确率分别达到了98.2%和98.1%,表明WiGNet能实现高精度手势识别,且具有一定的鲁棒性。
(a)标准数据采集实验室
为了评估WiGNet的性能,将WiGNet和当前流行的手势识别方法对比。本文使用在标准数据采集实验室下的数据分别与经典分类模型ResNet50[20]、经过神经架构搜索技术改良的适用于本文数据集的最佳深度ResNet网络ResNet36、手势识别最新模型FaSee[13]进行对比,结果如表2所示。
表2 不同手势识别方法的结果对比
在训练过程中发现,当ResNet50达到了一定的效果后,随着轮次的不断增加,训练集和测试集的准确率相差变大,出现过拟合,具体表现为结果的方差较大;尽管ResNet36使用神经架构搜索技术得到了适合于本文数据集的网络深度,但其表现和ResNet50相差不大,仍出现过拟合问题;本文提出的WiGNet采用更加轻量级的网络,网络深度更浅,并且在每个NGConv模块中加入了dropout层用以防止过拟合,结果显示WiGNet训练结果的方差最小,模型稳定性更高,训练效果更好;FaSee方法的效果虽然好于ResNet,但动态时间规整算法和k-最邻近分类算法的时间复杂度高,开销大,且其并没有考虑各个子载波之间的空间特征,最终效果差于本文提出的WiGNet。从表2可以看出,不管是在识别准确率还是其他评估指标下,WiGNet相较于其他方法的效果都更好。
3.2.3 公共数据集结果
为了突出本文方法的高性能,本节将和使用相同公共数据集的方法对比,分别是Widar3.0[23]、CGRU-ELM[25],对比结果如表3所示,可以看出,WiGNet相较于其他方法具有更好的分类性能。
表3 公共数据集准确率对比
图10展示了使用WiGNet在公共数据集上的评估结果。通过对两个环境下的每个动作进行评估可以看出,对于画Z、画O等区分度高的动作的分类最准确,对于摆动、横扫等动作的识别准确率相对较低。图11所示为经过2D-DWT处理过后的摆动和横扫动作的频率能量图,可以看出两种动作的特征重合度较高,模型对于不同特征的提取相对困难。总体来说,对于两个环境下的6种手势动作,WiGNet对于每一种手势动作都实现了较好的分类效果,两种环境下的高准确率分类效果表明WiGNet具有较好的鲁棒性。
(a)教室环境下评估结果
(a)拍手
4 结 论
传统基于Wi-Fi的手势动作识别模型,大多数研究者采用从CSI信息中选择特定子载波,并基于一维时序数据流进行特征识别,这造成大量的数据浪费,未能很好利用不同频率子载波之间的空间特征差异,存在因感知特征辨识度较低及难以提取而导致识别准确率不高的问题。本文首次将二维离散小波变换引入感知特征的重构流程中,实现了在时间和空间层面上的数据降噪和平滑。在此基础上,本文还提出了基于深度学习的高精度手势识别模型WiGNet。WiGNet以2D-DWT处理后的多维矩阵为输入,能准确地提取手势动作的特征。实验结果表明,使用二维离散小波变换对数据处理能提高识别准确率和运算速度,提出的WiGNet在自建数据集和公共数据集上均有良好的识别分类性能,并且相比同类模型表现更好。
CSI含有丰富的无线信号信息,如振幅、相位、多普勒频移、功率分布信息以及人体坐标系下的速度谱等,如何将这些信息结合起来,提高整体识别性能与适应能力可以作为未来的研究方向。