张 力,常 俊,武 浩,黄 彬,刘 欢云南大学 信息学院,昆明 650500
在当前主流的人体感知研究项目中,主要分为两部分,一部分是人类行为识别,另一部分是室内定位。在以往传统的人体感知研究工作中,无论是行为识别或者室内定位,通常依赖于可穿戴传感器[1]、摄像头[2]或者一些特定设备来进行,这些系统都存在各自的问题。基于可穿戴传感器的系统需要用户随身携带设备,会对用户带来不便,基于摄像头的系统对场景中环境光条件存在一定要求,并且存在泄露个人隐私的风险,而特定设备则部署复杂,并且相对而言成本较高。而近几年,蓬勃发展的无线感知技术已在各个领域中大放异彩,特别是基于WiFi信道状态信息(CSI)的无线感知技术,拥有部署广泛,成本较低,无需额外设备,相对安全等优点。因此WiFi 感知在当下的新兴物联网应用如智能家居,室内导航等人机交互场景中都具有着广泛的发展前景。
由于在WiFi无线感知中,同一种行为,在不同的地点进行,所带来的意义也各不相同。例如在餐厅坐着和在书桌前坐着,其背后所蕴含的信息相差甚大,因此物联网时代新的人机交互应用中也提出了相应的要求,不仅要求设备能对人体位置进行精准定位,而且也需要对人类活动进行准确识别。在目前的多数研究中,仅使用CSI 信息探讨同一场景中定位[3]或者行为识别[4]中的一种。例如Wi-Act[5]探讨了人体运动与CSI中的幅值信息之间的相关性,进而对不同活动进行分类。Wang等人在提出的基于CSI直方图的E-Eyes[6],针对单一环境下的动作和房间走动情况进行识别。Wi-SD[7]探究了将CSI幅度和相位混合起来进行行为识别的方法。CrossSense[8]则使用了迁移学习的思想,构建了一个可以容纳多个模型的框架,仅使用较少的数据训练,但实现了高精度的步态识别和行为识别,Widar2.0[9]结合多个AoA、ToF、DFS等参数的优化估计,实现了在二维平面的高精度定位,文献[10]使用WiFi 指纹构建离线数据库,同时参考节点的密度关系对目标定位。目前在基于信号相关的多任务联合识别方面,文献[11]提出了基于雷达谱图进行人体动作与身份识别的系统,利用雷达实现了高精度的多任务识别,但易受噪声影响,噪声较大时正确率下降明显,且使用的CNN结构随着网络深度的增加,存在梯度消失,梯度爆炸等问题;Koike-Akino等人[12]提出了一种利用毫米波的信噪比进行定位与方向的联合识别,采用三任务的分类结构在办公室内达到了高精度的位置与方向的联合识别,但其对WiFi 毫米波路由器的摆放位置,以及设备的硬件要求和数量均有较高要求。文献[13]提出了一种可以跟踪多个用户并识别多个用户同时进行的活动的系统。在多用户场景下,该系统可以达到分米定位精度和92%以上的活动识别精度,但需要对但它需要对设备进行修改使信道达到600 MHz带宽;文献[14]提出了一种双任务卷积神经网络,创建了位置与手势的WiFi指纹,进行手势识别和室内定位的联合任务,但它使用的设备为价格较为高昂的USPR,同时仅采用简化后的Resnet网络结构,没有考虑到通道间的特征重要程度不一致,混有无关特征信息,识别效果下降。
针对以上问题,本文设计了一种基于深度残差收缩网络在场景中实现定位与行为联合识别方法。首先对从WiFi 接收设备中采集到的原始数据进行预处理,消除了CSI 在信道传播中除人体变化外其他障碍物产生的噪声和高斯白噪声,然后通过一维线性插值法对数据进行填充,并对相关信号进行地点标记和行为标记,构建WiFi 指纹数据库,建立CSI 中信息与位置、信息与行为之间的相关性,基于深度残差收缩网络构建两条神经网络分支分别进行定位与行为识别,使用改进后的残差项增强网络的表达能力,使用注意力结构消除无关特征信息影响,通过两条分支分别识别出环境中的12 个地点和6种行为。该方法的主要创新点在于:
相较于使用昂贵的软件无线电USPR 或者WiFi 毫米波路由器,仅使用两台带有Intel5300网卡的主机进行CSI数据的收集,设备易于部署且价格低廉。提出了基于深度残差收缩网络在场景中实现定位与行为联合任务识别的方法。使用改进后的残差项在模型中进行训练,降低了多层训练过程中的样本特征损失;通过残差收缩结构针对不同的样本设定不同的自适应阈值,增强与任务相关的特征而抑制无关特征,消除无关信息影响,并且构建两条神经网络分支分别进行定位与行为识别,实现在场景中同时对室内位置和行为识别的联合感知任务。引入标签平滑[15](label smoothing)后的交叉熵损失函数对网络进行泛化,提高模型性能。针对三种场景下的室内定位的平均识别率达到97.29%,针对行为识别的平均识别率达到90.02%。
WiFi 在无线信道传播CSI 描述了WiFi 设备从发送端到接收端之间的变化,包含衰落、反射等对信号产生影响的因素,一般地,发送端信号X(fi,t)与接收端信号Y(f,t)之间的关系可以表示为:
其中,N(fi,t)表示信道中存在的噪声,H(fi,t)表示在第i个子载波在时间t时,频率为f的信道频率状态响应(CFR),对CFR 进行以OFDM 子载波频率为采样间隔进行离散值采样,得到CSI 数据。因此,对于单根收发天线,CSI矩阵可以表示为:
其中,‖H(fi,t) ‖和∠H(fi,t)分别表示子载波的幅值和相位。在MIMO 系统中,给定的30 个OFDM 子载波在时间段T内接收到的CSI 数据包数量为30×T×NTx×NRx,其中NTx和NRx分别代表发送端和接收端的天线数量。
本文构建了基于深度残差收缩网络的CSI 分类模型,本章将展示系统的总体架构,如图1所示,主要包括数据采集、数据预处理、特征提取、结果分析四个部分。首先在两个实验场景中收集CSI原始数据,再对数据进行预处理,得到标注了行为与地点的CSI 数据样本,然后构建残差收缩神经网络模型,并在训练集上进行模型训练和优化,最后在测试集上进行结果分析。
由于实验测量得到的数据存在环境噪声干扰,首先需要进行滤波以剔除异常值。Hampel滤波器把任何落在闭区间[μ-γσ,μ+γσ]之外的点视为异常值并进行剔除,其中μ是CSI数据的中位数,σ是中值绝对偏差,γ是与应用相关的参数,在本次滤波中γ=3。
主成分分析法(PCA)是一种数据降维算法,在信号处理中,PCA能将原信号分别映射到信号子空间和噪声子空间,然后通过提取信号子空间的特征值用来还原信号矩阵,重构原始数据,文献[16]说明了PCA 可以有效去除CSI 数据的噪声,CRAM[17]选择使用第二主成分和第三主成分,WiAG[18]选择使用第三主成分,经过实验观察,本次实验选择第二主成分重构原始信号。
由于本次实验中,OFDM 子载波数目为30,设CSI矩阵为:
求出协方差矩阵的特征值和特征向量,采用奇异值分解法求解,求得最大的特征值和特征向量,即包含最大的信息量。
由于可能存在丢包和人工误差等原因,每次测量所得到的数据包长度存在区别,需要对数据包长度进行填充,在这里采用一维线性插值法对数据进行填充,使每个CSI数据包长度为500。
Zhao 等人基于注意力机制提出了深度残差收缩网络[19],软阈值化[20]通常应用在信号降噪领域中,是一种特殊的注意力机制。原理将输入信号数据中绝对值小于阈值的特征全部置为零,同时绝对值两旁的特征也在朝零进行“收缩”,设x为输入,y为输出,阈值α为网络中自动学习得到。其中,软阈值的转化公式为:
在深度残差收缩网络中,软阈值化作为非线性变换层加入到残差学习单元中,阈值α在残差收缩网络中通过注意力机制进行自动调整,增强与当前任务有关的特征而抑制与当前任务无关的特征。
本文结合深度残差收缩网络,构建了一种能够同时对室内位置和人体行为进行分类的深度残差收缩网络模型(DRSN),设计的网络整体结构由三部分组成,特征提取模块、残差收缩模块和分类模块,图2 展示了学习模型具体示意图,由3 个卷积层组成的Conv 层,4 个[1,1,1,1]结构的RS-block 残差单元,两个分类分支包括1 个卷积层、SReLU 层、Avgpool 层和全连接层组成。
特征提取模块由三个卷积核大小为3 的小卷积层(Conv 层)、归一化层(BN 层),ReLU 层和最大池化层(Maxpooling)组成,与一般的大小为7的大卷积核相比,3个小卷积核需要的参数减小,而感受野大小不变,同时非线性增加,对于特征的学习能力更强。
残差收缩模块是使用ResNetV2[21]架构改进的残差收缩网络。相对于文献[10]所使用的ResNetV1 架构,ResNetV2将BN层移到了前面且在相加后去掉了ReLU层,这是因为首先使用BN层作为预激活函数可以加强对模型的正则化,同时如果将ReLU放在残差分支的最后部分,由于ReLU 函数的非负特性,残差分支的结果将永远非负,在进行前向传播过程的时候输入只会单调递增,从而会影响特征的表达能力。
残差收缩网络使用了通道间有着各自独立阈值的结构,相对于通道间共享阈值的结构,在本次联合识别任务中正确率更高。
在阈值学习中,首先对输入特征图内的所有特征进行取绝对值(absolute value)和全局均值池化(global average pooling,GAP)操作,得到一个一维向量的特征A,将特征输入一个两层的全连接网络,其中神经元数等于输入特征图的通道数,最后通过一个Sigmoid 激活函数,将输出调整到0和1之间,记为α,其中α有:
最后阈值学习结果为α′=A×α,阈值始终是正数,并且被保持在一个合理范围内,从而防止输出特征都是零的情况。输入经过两层卷积隐藏层后,得到输出xl+2,在此处进行软阈值化操作,有:
设恒等映射连接后的输出为F(x),最后输出结果为F(x)+y。
x通过RS-block后,得到的输出为:
图3展示了RS-block的具体结构图。
因为需要同时对位置和行为进行分类识别,因此特征分类模块拥有两条分支,两者都是将经过残差收缩模块后得到的输出经过卷积层、激活函数层和自适应平均池化层,最后进入全连接层进行分类,激活函数为SReLU,可以避免梯度消失和爆炸,将学习到的特征数据分别映射到12 个位置和6 种行为,得到位置信息和行为信息。
实验采用配有Intel 5300 网卡的主机作为收发端,发送端网卡配有一根全向天线,接收端网卡配有三根呈均匀线阵排列的全向天线,收发端均距地45 cm,工作频率为5.825 GHz,每秒传输约1 000 个数据包,在收发端利用Linux802.11n CSI Tool工具获取CSI数据包。
为全面评估分类任务的性能,实验场景包括15×10 m2的暗室、8×6 m2的会议室和3 m 宽的走廊,如图4所示。暗室周围部署了大量吸波材料,不仅能最大限度降低外界电磁波信号的干扰,而且能减少由于墙壁和天花板反射造成的多径效应,属于信号传输理想环境;会议室带有桌椅等大量反射物体,模拟现实中信号传输环境;走廊内较为空旷,但靠近墙壁,墙壁反射造成的多径效应较为显著。本实验共邀请了4 名志愿者,包括2 名男生和2 名女生,分别进行站起、坐下、跳跃、深蹲、跌倒、捡起共6 种动作,数据标注为1~6,同种动作的时间尽量保持一致,每个动作进行5 次,每个环境12 个位置,数据标注为1~12,三个环境共4 320 个数据,在剔除异常数据后,剩下4 225 个数据,其中暗室1 422 个 数 据、会 议 室1 374 个 数 据,走 廊1 429 个 数据。80%的数据用作训练集,剩下20%的数据用作测试集。
本文程序均在七彩虹GeForce GTX 1660 SUPER Ultra 6 GB上进行,运行环境为Pytorch 1.7.1,每个Batch包括64 个样本数据,训练100 个Epoch。采用Adam 优化器进行训练,初始学习率为0.001,每10个epoch学习率下降一半,损失函数采用标签平滑(label smoothing)后的交叉熵损失函数,损失函数在模型反向传播过程中,更新网络参数。Label Smoothing 学习的编码形式如下所示,其中ε是预定义好的一个超参数,本次实验取值0.1,K是该分类问题的类别个数:
实验具体场景模拟图如图4所示。
图5显示了系统在暗室、会议室和走廊中定位和活动识别中的正确率曲线,在暗室的定位正确识别率约为98.56%,行为正确识别率约为91.73%。考虑到多径效应等影响因素,两种任务在会议室和走廊的正确识别率均有所下降。在会议室的定位正确识别率约为96.04%,行为正确识别率约为88.47%,在走廊的定位正确识别率约为96.76%,行为正确识别率约为89.86%。在三种场景下都得到了较高的定位和行为识别率,因此可以认为该模型,能够有效同时进行目标的定位与行为识别任务。
图6 和图7 显示了在暗室、会议室和走廊中6 种活动识别与12个位置定位的混淆矩阵,纵轴为真实标签,横轴为预测标签,右侧颜色条数值的深浅表示正确率的高低变化。从结果上来看,两种任务在暗室中的整体识别率均优于会议室和走廊,两种任务中定位识别率都优于行为识别率。在行为识别中,三种场景下深蹲、坐下两种动作识别率相对较低,容易混淆,主要原因应为两者的运动方向主要集中在垂直向下方向上,持续时间接近,存在相似性,影响了分类效果。在定位识别中,在两者相近的位置例如左右或前后容易发生误判,但定位总体识别率较高,较少发生误判现象。
5.2.1 方法对比
实验选择ResNet-50、DensetNet-121、MobileNet V2和ShuffleNet V2神经网络进行实验对比。使用暗室数据,每种方法进行10 次实验并统计两种任务的平均准确识别率,结果如图8 所示,各种网络的算法复杂度结果如表1 所示,其中行为识别损失函数曲线如图9 所示,其中ResNet-50 仅使用了普通残差单元进行分类。DensetNet-121[22]是一种具有密集连接的卷积神经网络,每层输出都来自于前面所有层输出,使用的密集连接结构在一定程度上减少了参数量和浮点运算。MobileNet V2[23]和ShuffleNet V2[24]均为轻量级神经网络,MobileNet V2 隐藏层节点设置为[64,16,24,32,64,96,160,320,512],ShuffleNet V为[128,256,512,1 024,512]。DRSN由于采用了残差收缩单元,通过软阈值化增强与当前任务有关的特征而抑制与当前任务无关的特征,同时与两个轻量级网络相比在网络开销增加较少,从而无论是活动识别或者是定位识别正确率较其他模型均有所提高。综上所述,基于DRSN的识别分类方法能在本次分类任务中取得了最优检测效果。
表1 开销对比Table 1 Comparison of expenses
5.2.2 优化器对比
本文对各类优化器进行了性能验证,分别针对Adam、AdamW、SGD、Nesterov、Adagrad、RMSprop 等优化器进行了实验,如表2。默认模型为DRSN,学习率均为0.001,其他参数均为默认。Adam优化器吸取了动量法和RMSprop的优点,不仅使用动量作为参数更新方向,而且可以自适应调整学习率,而AdamW 则是在Adam的基础上将权重衰减与学习率解耦改进得来。经过实验对比,优化器的区别主要体现在活动识别率方面,Adam 取得了最优效果,而AdamW 与Adam 效果差距不大。
表2 优化器对比Table 2 Comparison of optimizers单位:%
5.2.3 发包率对比
除了对本文模型的性能进行验证,本文还验证了CSI 发包率对同一场景下模型的性能影响。在实验场景中修改了每秒的发包个数,依次是每秒50、100、500、1 000、2 000 个包,实验结果如图10 所示,随着CSI 发包率的提高,模型检测性能有所上升,但随着发包率达到每秒2 000个包时,识别率反而略微下降,可能的原因是CSI数据包在高速率传输过程中产生了丢包现象,造成部分有效信息的丢失,最终导致识别率下降。
本文提出了一种基于深度残差收缩网络的CSI 定位与行为联合识别方法。本文利用商用WiFi设备在两种室内场景(暗室和会议室)下进行评估,首先将接收到的CSI原始信息进行预处理并进行标签标注,然后构建带有软阈值学习分支的深度残差收缩网络,通过阈值学习与软阈值化增强与联合识别任务相关的特征而抑制无关特征,最后通过两条特征分类分支,实现了6 种动作在12 个位置上的联合识别任务。实验结果表明,本文模型在定位与行为联合识别任务性能上较其他模型有所提升,能够实现较高的准确识别率。
本文不足之处在于更换复杂场景后,联合识别任务的准确率会有一定程度的下降,因此探究如何提取出与场景无关的特征信息,提高识别的准确率是将是未来的重点研究方向。