非接触式身份识别的深度学习算法

2019-04-04 07:38余星达陈文杰王鼎曹仰杰陈荟慧
西安交通大学学报 2019年4期
关键词:载波参与者身份

余星达,陈文杰,王鼎,曹仰杰,陈荟慧

(1.郑州大学软件学院,450000,郑州;2.佛山科学技术学院电子信息工程学院,528000,广东佛山)

身份识别是普适计算和人机交互领域的重要研究内容,在安防系统中发挥着关键作用。脸像、指纹和虹膜等近距离的身份识别在实际应用中受到了诸多限制[1]。步态具备远距离感知、非接触、难以隐藏等特性,被公认为人类的独特生物特征[2],受到了研究者们的广泛关注。步态识别的前期研究中,研究者使用摄像机[3]、加速度传感器[4]或地面传感器[5]对识别方法进行了大量尝试,这些方法易受光线等环境因素或部署条件的限制,不适合室内身份识别。随着室内环境中Wi-Fi信号的大规模覆盖,基于Wi-Fi信号的行为感知成为新兴的研究领域。Wi-Fi感知方式是非接触式的,不受光线限制,设备部署方式灵活,被检测目标无需携带任何设备,而且由于体型和运动模式的差异,每个人的步态以独有的方式影响周围Wi-Fi信号,从而在信道状态信息(CSI)上产生独特的模式[6],因此研究人员开始探索利用Wi-Fi信号进行身份识别。

通过采集Wi-Fi的CSI数据,Zeng等提出了一种身份识别方法(WiWho),利用多径消除和带通滤波去除噪声,并提取步行的特征进行身份识别,在2~6人的团体中识别出一个人的准确率为92%~80%[7];Xin等提出了一种FreeSense的方法,该方法使用主成分分析和离散小波变换提取视距路径波形的形状特征,并通过最近邻分类器进行身份识别,在6人情况下的识别率为88.9%[6];Zhang等提出的WiFi-ID通过连续小波变换提取不同频段的信号,利用ReliefF特征选择算法计算所选频段的时域和频域特征作为每个人的特征库,在2~6人团体达到了93%~77%的识别率[8]。

上述研究工作在身份识别中取得了一定的效果,但由于CSI描述了传输信号的散射、衰落、多普勒频移等综合效应[9],传统的手工特征提取方法需要大量的数据预处理工作,难以提取有效的特征以提高身份识别准确率。由于CSI能够在子载波级别刻画多径传播,当行为发生时,不同天线对和子载波的CSI变化是相关联的[10],因此本文利用深度学习提取CSI数据的时空特征,设计了一种端到端的非接触式身份识别(WiID)算法,该算法使用CSI数据的幅度信息构建输入矩阵,通过卷积层提取子载波中CSI数据的空间特征,然后利用门限循环单元(GRU)[11]获取其时间维度特征,取得了良好的身份识别效果。

1 WiID算法模型

1.1 问题定义

商用Wi-Fi设备通常具有多个用于多输入多输出(MIMO)通信的天线对,每个天线对的CSI数据包含子载波的幅度和相位信息[12],可表示如下

H(fk)=‖H(fk)‖ej∠H(fk),k∈[1,K]

(1)

式中:H(fk)是第k个子载波的CSI,它是一个复数值,‖H(fk)‖和∠H(fk)分别表示其幅度和相位,WiID算法使用幅度信息构建输入矩阵。

令Hk=‖H(fk)‖,代表第k个子载波的CSI信息。在MIMO系统中,Nt和Nr分别代表发射和接收天线的数量,构成Nt×Nr个天线对,令N=Nt×Nr,因此MIMO系统中第k个子载波的CSI信息Hk表示为

(2)

为了检测步态特征,需要不断收集均匀时间间隔测量的CSI信息,J个时刻收集的信息被表示为CSI序列,作为WiID模型的输入矩阵如下

(3)

式中HJK表示J时刻第K个子载波的CSI信息。

1.2 WiID算法的结构

WiID算法的模型结构如图1所示,由4部分组成,分别是卷积层(C1,C2,C3)、GRU层(G4,G5)、池化层(S6)和分类层(L7)。通过卷积层和GRU层依次对CSI数据执行特征提取,然后将提取的特征输入至池化层进行降维以增强分类的准确性,再对降维后的特征进行分类。接下来将描述每层的工作原理和设计。

(1)卷积层。WiID算法使用3层卷积层C1、C2、C3,通过二维卷积运算提取空间特征,如下式

S(p,q)=(X*C)(p,q)=

(4)

式中:*代表卷积运算;C是卷积核[13]。

WiID算法采用滑动窗口,每次选取一段时间内采集的CSI序列作为模型的输入,滑动窗口的大小为500 ms,步长为200,同时WiID算法使用了3个天线对,每个天线对子载波数量为30,因此卷积层C1的输入是一个大小为500×90、行和列分别代表时间维度、子载波维度的矩阵。在卷积层C1中,为了从不同天线对的每个子载波中提取特征,使用30个100×3的卷积核对输入进行卷积操作,并且设置时间维度(垂直方向)的步长为1,子载波维度(水平方向)的步长为3,从而得到30个特征图,每个特征图的大小为401×30;在卷积层C2中,使用30个100×5的卷积核对C1层的特征图进行卷积操作,并在水平和垂直方向上步长都设置为1,得到30个大小为302×26的特征图;在卷积层C3中,使用与C2层相同的卷积操作,得到30个大小为203×22的特征图。各卷积层使用线性整流函数(ReLU)作为激活函数[14],并且为了加速网络的训练,每个卷积层的输入都加入批标准化(BN)处理[15]。

图1 WiID算法的模型结构

(2)GRU层。GRU层在卷积层的基础上获取时间维度信息,该层通过内置在结构单元中的“门”提取特征,解决传统循环神经网络(RNN)处理长期依赖问题时面临的梯度爆炸或者梯度消失问题[16],其工作原理如下式

rt=σ(Wrxt+Urht-1+br)

(5)

zt=σ(Wzxt+Uzht-1+bz)

(6)

(7)

(8)

卷积层的输出是203×22×30维的张量,其中203对应的是时间维度信息,所以在G4层每个时刻的输入是660维的向量。使用G4和G5两个GRU层提取时间相关的特征,每层的神经元数目为128,并在两层之间使用dropout方法防止过拟合[17]。

(3)池化层。GRU单元获取了不同时间尺度的信息,然而只使用最后时刻的GRU单元信息难以刻画完整的时间特征,因此WiID算法通过将G5层中所有GRU的输出作为池化层的输入,然后获得降维后的特征,有效地利用每个时刻的GRU单元信息。

池化在卷积神经网络中用来降低卷积层输出的特征向量的维度[18],同时还可以起到预防过拟合的效果,其目的是用一个值来表示一个区域[19]。WiID算法需要利用池化结合每个时刻的GRU信息,所以采用均值池化层。将G5层的所有单元信息输入到均值池化层得到降维后的特征

havg=avg([h1,h2,…,ht,…,hT])

(9)

然后将降维后的特征havg线性化得到输出z,如下式

z=Whavg+b

(10)

式中:W和b分别代表系数矩阵和偏置。

(4)分类层。将池化层的结果输入到分类层中进行分类,分类层通过softmax逻辑回归计算输入序列所对应标签的预测概率分布,计算方法如下

(11)

式中:c为y的分类数;P(y|x)为由模型预测的输入x属于类别y的后验概率。

2 WiID算法身份识别实验与分析

2.1 CSI数据收集

在大厅和实验室两个典型的室内环境中收集CSI数据进行实验,前者是较为稀疏的多径环境,如图2a所示;后者则是较为复杂的多径环境,如图2b所示。TP_LINK AC1750路由器作为发射器,安装了Intel 5300网卡的ThinkPad x201笔记本电脑作为接收器,两台设备相距2.5 m。使用安装了定制驱动程序[20]的Ubuntu 14.04系统收集CSI数据,发射器和接收器天线数分别为Nt=1和Nr=3,每个天线对包含30个子载波。

(a)大厅环境 (b)实验室环境图2 实验环境

为了减少环境中其他Wi-Fi信号的干扰,本文的实验均在5 GHz频段上进行,并且以1 kHz的采样频率收集CSI数据。有6名参与者参加了实验,参与者包括男性和女性,年龄在18~30岁之间。数据采集时每个人沿着预定的路径行走,预定的路径设置在发射器和接收器之间,路径宽度为1 m,参与者来回地穿过视距路径(LOS),每次行走时间为5 s,循环行走100次。

2.2 实验设置

对于收集的CSI数据,使用参与者姓名作为标签输入神经网络进行监督学习,WiID算法模型的学习率设置为0.000 1,使用Adam优化器最小化损失。采用10倍交叉验证策略,将CSI数据分成10份,9份作为训练数据,剩余1份作为测试数据,交叉重复10次实验,取平均值评价算法识别效果。

2.3 评价指标

本文采用准确率(A)、召回率(R)和精准率(P)评估算法识别效果。

(12)

(13)

(14)

其中TP、FP、FN、TN分别表示属于该类且被分类器分为该类的样本数、不属于该类但被分类为该类的样本数、属于该类但被分类为不属于该类的样本数、不属于该类且被分类为不属于该类的样本数。

2.4 实验分析

2.4.1 不同人数的准确率 图3给出了两种室内环境下不同人数的识别准确率。当识别人数由2人增加到6人,WiID算法在大厅和实验室环境中身份识别的准确率分别为98.9%~95.6%和98.1%~93.7%。随着识别人数的增加,两种室内环境下的身份识别准确率均逐渐降低,这是由于人的体型与运动模式具有相似性,增加识别人数会降低步态特征的差异性,从而增大错误分类的概率。

图3 两个室内环境下不同人数的识别准确率

(a)大厅环境

(b)实验室环境图4 不同环境下6人识别的混淆矩阵

图4给出了当识别人数为6时,在两种室内环境下身份识别实验的混淆矩阵,其中行代表标签中给定的真实身份,列代表WiID算法预测的身份,混淆矩阵中的A、B、C、D、E、F分别代表6名参与者。混淆矩阵中显示了参与者们的身份识别细节,对于不同的参与者,在大厅实验环境中召回率的范围为93.3%~97.5%,精准率的范围为94.2%~97.9%。在实验室环境中,召回率和精准率的范围分别为90.8%~95.8%和90.9%~96.5%。由于在大厅这类多径传播较为稀疏的环境下,参与者行走对Wi-Fi信号造成的干扰相对于其他干扰来说更加显著,因此更有利于信道状态信息中步态特征的提取,从而达到了更优的身份识别效果。

2.4.2 不同采样频率的影响 为了验证CSI采样频率是否会影响WiID算法身份识别准确率,在大厅环境下的6人身份识别实验中,改变收集CSI数据集的采样时间间隔,并对采集的数据进行10倍交叉验证实验。当采样频率从1 000 Hz降低到800 Hz时,识别准确率从95.6%降低以93.3%,WiID算法仍然保持较高的识别率,但当采样频率降低到500 Hz时,识别准确率降低到89.1%。实验结果表明,小幅降低CSI采样频率不会对WiID算法身份识别的准确率造成过大影响;但在过低的采样频率下,无法采集到足够的样本数据量,不利于深度学习模型的训练,难以达到良好的识别率。

2.4.3 评估不同模型 为了更好地评估模型性能,在大厅环境下的6人身份识别实验中,分别使用卷积神经网络(CNN)、循环神经网络和WiID算法进行实验。其中卷积神经网络包含3个卷积层,卷积的方式与WiID算法卷积层相同,并且在卷积层后面添加了两个全连接层。循环神经网络包含两个GRU层,参数设置与WiID算法的GRU层相同。3种算法的实验结果见表1。

表1 3种算法的实验结果

由表1可知,在准确率、召回率、精准率方面,WiID算法识别效果均优于卷积神经网络和循环神经网络算法,结合两种算法,本文算法可以更有效地提取CSI数据步态特征,提高识别能力。

2.4.4 不同场景下的实验结果对比 为评估WiID算法的鲁棒性,即在不同场景下正确识别同一人的性能稳定性,实验分别设计了“正常情况”“改变穿着”“额外背包”“携带手提包”以及“偏离预定路径”5种不同场景,并分别在每个场景下针对每位参与者各采集30组数据用于身份识别。表2给出了6名参与者在不同场景下的平均识别准确率,其中“正常情况”是指训练数据的采集环境;在“改变穿着”的实验场景中,参与者们分别穿着薄T恤、羽绒服、带上帽子等不同于正常情况下的服饰;在携带配件的实验场景下,分别验证了“额外背包”和“携带手提包”两种不同情况对身份识别精度的影响;在“偏移预定路径”实验场景下采集测试数据时,要求参与者们在偏离正常情况下预定路径1 m处行走。

表2 不同场景下的平均识别准确率

由表2可知,“改变穿着”“额外背包”“携带手提包”会不同程度降低平均识别准确率,但影响较小,降幅均控制在0.8%以内;而“偏移预定路径”的实验场景下,由于路径偏移会影响信号的传播方式,因此平均准确率的降幅较为明显。总体来说,WiID算法在人体装饰改变及路径小幅度偏离的情况下依然保持着稳定的身份识别准确率。

3 结 论

传统身份识别方法需要大量数据预处理工作,并且难以达到较高的准确率,而本文提出的WiID深度学习算法通过构建时空网络模型,自动提取CSI数据的空间和时间维度的特征,不仅摆脱了对手工编码特征的依赖,且具有较高的识别准确率,为端到端的非接触式身份识别提供了切实有效的实施途径。研究结果表明,基于深度学习的身份识别算法具有良好的鲁棒性,但需要充足的训练数据来保证识别效果;对于基于Wi-Fi的身份识别算法,被检测环境中人数的增加可能成为其提高准确率的障碍。

下一步工作将在现有工作基础上,提高算法在不同室内环境下身份识别的泛化能力,并探索其有效的识别范围,进一步提高身份识别性能。

猜你喜欢
载波参与者身份
水声单载波扩频均衡技术研究
休闲跑步参与者心理和行为相关性的研究进展
门限秘密分享中高效添加新参与者方案
历元间载波相位差分的GPS/BDS精密单点测速算法
用于SAR与通信一体化系统的滤波器组多载波波形
低载波比下三电平NPC逆变器同步SVPWM算法
跟踪导练(三)(5)
妈妈的N种身份
身份案(下)
基于代理的多方公平交换签名方案