基于Wi-Fi信道状态信息的无接触式人体行为识别方法及系统

文档序号:28165432发布日期:2021-12-24 22:13阅读:169来源:国知局
基于Wi-Fi信道状态信息的无接触式人体行为识别方法及系统
基于wi

fi信道状态信息的无接触式人体行为识别方法及系统
技术领域
1.本发明属于行为识别技术领域,具体涉及一种基于wi

fi信道状态信息的无接触式人体行为识别方法及系统。


背景技术:

2.人体行为识别有三种具有代表性的方法:基于视频的识别方法,基于可穿戴设备的识别方法以及基于wi

fi信号的识别方法。其中基于视频的识别方法容易受到光线强度的影响,且具有入侵隐私的风险;基于可穿戴设备的识别方法需要人穿戴额外的硬件设备,且这些设备的价格较高。
3.随着无线网络技术的发展和成熟,许多家庭和公共场所都有安装无线路由器等wi

fi设备,这类设备易携带安装,分布广泛,且成本低、是最大的传感网络之一。wi

fi采用ofdm(正交频分复用)的方式实现无线信号的传输,在频域上可以将无线信号分成多个并发子载波。对于以ofdm形式传输的无线信号,采集方式包括传统的rssi技术以及csi(信道状态信息)技术。rssi(信号强度指示符)只能反映了多径叠加的总幅度,而csi呈现了不同频率(对应不同子载波)下多径传播的幅度和相位,从而更加精确地刻画了具有频率选择性衰落特性的信道。它描述了信号在每条传输路径上的衰弱因子,即信道增益矩阵中每个元素的值,如信号散射,环境衰弱,距离衰减等信息。因为csi的敏感度远远高于rssi,通过物理电气特征来识别人体的干扰规律从而完成识别,相比rssi具有识别范围更大,识别效果更好,数据分辨率更好等特点。
4.目前,大部分的人体行为识别大多都是针对数据去噪、单目标多场景的行为识别、有效特征提取过少导致的泛化能力差、学习训练成本高以及缺乏在无线信号空间对人的行为活动的精细时空建模,导致识别精度低、鲁棒性差等问题。


技术实现要素:

5.为解决以上现有技术存在的问题,本发明提出了一种基于wi

fi信道状态信息的无接触式人体行为识别方法,该方法包括:在信号源处部署信道状态信息数据采集设备,该数据采集设备的位置作为监测点;具体步骤包括:
6.s1:实时获取信号源发射的不同动作的csi子载波数据,得到第一信号;
7.s2:监测点对第一信号进行预处理,得到第二信号;
8.s3:对第二信号进行特征向量提取,选取与时间序列相关的最大分量作为数据的主特征变量,得到第三信号;
9.s4:对第二信号进行特征向量提取,选取与相位和幅值相关的最大分量作为数据的主特征变量,得到第四信号;
10.s5:各个监测点将第三信号和第四信号分别输入到训练好的机器学习模型中,得到第一行为识别结果和第二行为识别结果;
11.s6:将第一行为识别结果和第二行为识别结果输入到处理函数中,得到该监测点的第三人体行为识别结果;
12.s7:将第三人体行为识别结果输入到分类模型中,得到最终的行为识别结果。
13.优选的,信号源为wi

fi信号源。
14.优选的,对第一信号进行预处里包括对第一信号进行数据去噪处理、数据平滑处理以及数据降维处理。
15.优选的,得到第三信号包括:采用时间序列挖掘分析法对第二信号进行特征提取,在提取的特征中筛选出与时间序列相关的最大分量作为第三信号。
16.优选的,得到第四信号包括采用基于时域和频率结合分析法对第二信号进行特征提取,得到csi子载波随人体行为而发生变化的振幅和相位信息;采用滑动窗口法对提取的信息进行筛选,得到与相位和幅值相关的最大分量,将该分量作为第四信号。
17.优选的,机器学习模型包括门控循环单元和卷积神经网络;采用训练好的门控循环单元对第三信号进行行为识别,得到第一行为识别结果;采用训练好的卷积神经网络对第四信号进行行为识别,得到第二行为识别结果。
18.优选的,处理函数为softmax函数。
19.优选的,分类模型为k最近邻算法模型。
20.一种基于wi

fi信道状态信息的无接触式人体行为识别系统,该系统包括:数据采集模块、数据处理模块、前端服务器以及云平台服务器;
21.所述数据采集模块为信道状态信息数据采集设备,该设备用于接收csi子载波信号,得到第一信号;
22.所述数据处理模块包括去噪模块和特征提取模块;
23.所述去噪模块用于对第一信号进行去噪、平滑以及数据降维处理,得到第二信号;
24.所述特征提取模块用于对第二信号进行特征提取,得到第三信号和第四信号,并将第三信号和第四信号发送的前端服务器;
25.所述前端服务器用于对第三信号和第四信号的行为进行识别,得到第一行为识别结果和第二行为识别结果;将第一行为识别结果和第二行为识别结果发送到云平台服务器中;
26.所述云台服务器对第一行为识别结果和第二行为识别结果进行计算预测,得到第三行为识别结果,并对第三行为识别结果进行分类,得到最终的识别结果。
27.进一步的,得到第三行为识别结果的公式为:
28.pred
i
=w1*pred_gru+w2*pred_cnn
29.本发明的有益效果:本发明将提取出的特征分别输入到gru和cnn并行模型中,再利用softmax函数得到当前监测节点的识别结果,由于在当前环境部署了多个监测节点,每个节点都会通过上述方法得到一个预测的结果,再把所有节点的预测结果通过knn算法得到最终的识别结果,且识别效果较好。
附图说明
30.图1为本发明基于wi

fi csi的人体动作识别的总体流程图;
31.图2为本发明csi数据预处理流程图;
32.图3位本发明gru单元结构示意图;
33.图4位本发明knn算法流程图;
34.图5为本发明基于基于wi

fi信道状态信息的无接触式人体行为识别系统的结构示意图
具体实施方式
35.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
36.一种基于wi

fi信道状态信息的无接触式人体行为识别方法,该方法包括在信号源处部署信道状态信息数据采集设备,该数据采集设备的位置作为监测点,如图1所示,具体步骤包括:
37.s1:实时获取信号源发射的不同动作的csi子载波数据,得到第一信号。本发明中的信号源为wi

fi信号源,部署的信道状态信息数据采集设备为csi子载波数据采集设备。
38.在一种优选的的实施方式中,无线信号监测设备是选用搭载有支持ieee 802.11a/b/g协议的intel 5300无线网卡,并配套使用halperin提出的linux 802.11csitool开源软件包。intel 5300无线网卡可采集带宽内30个ofdm子载波上的信道频率响应(channel frequency response,cfr)的采样,每个子载波对应的csi信号为:
[0039][0040]
其中,csi
k
表示第k个子载波的信道状态信息,f0表示中心频率,f
k
表示第k个子载波频率,||h
k
||表示第k个子载波的幅度。通过部署的监测设备可以收集到每个节点的csi数据,即第一信号。
[0041]
s2:监测点对第一信号进行预处理,得到第二信号。对第一信号进行预处里包括对第一信号进行数据去噪处理、数据平滑处理以及数据降维处理。
[0042]
由于第一信号中包含各种环境噪声和高频噪声,因此需要通过初步滤波以及降噪滤波去除第一信号中的冗余信息,保留有效的信息进行后续操作。
[0043]
本发明主要利用有限冲击响应(finite impulse response,fir)数字滤波器来实现给csi数据进行初步的去噪功能。窗函数法是一种fir数字滤波器设计较为常用的方法,由于它在时域上的操作,因此先利用理想滤波器的频率响应h
d
(e

)推导出其单位冲击响应h
d
(n),再用一个单位冲击响应h(n)去逼近h
d
(n)来实现。根据理想情况下频率响应h
d
(e

)通过逆傅里叶变换推导出理想的单位脉冲响应h
d
(n),公式如下:
[0044][0045]
滤波器的单位脉冲响应h(n)是理想单位脉冲响应h
d
(n)与窗函数w
d
(n)在时域上的乘积,如下式所示:
[0046]
h(n)=h
d
(n)
×
w
d
(n)
[0047]
在本发明中,采用的窗函数为海明窗。海明窗的时域表达式为:
[0048][0049]
其中,n表示窗口的大小,r
n
(n)表示窗函数中的矩形窗在时域上的表达式,具体表示为:
[0050][0051]
本发明通过上述方法来实现对csi数据的初步滤波,然后本再利用pca算法对数据进行去噪处理。具体的实施步骤如下:
[0052]
(1)输入样本集d={x1,x2,

,x
n
},并对所有样本减去均值进行中心化处理,公式如下所示:
[0053][0054]
(2)计算样本的协方差矩阵zz
t
,并针对此协方差矩阵进行分解,求出各特征值λ
i
以及特征向量w
i

[0055]
(3)根据预设的重构阈值t,来选取使下面式子成立的最小d

作为投影空间的维数。式子如下所示:
[0056][0057]
其中,d为原样本空间的维数。
[0058]
(4)将特征值λ
i
按从小到大的顺序进行排列,再取前d

个特征值所对应的特征向量组成投影矩阵w=(w1,w2,...,w
d

),即主成分分析的解。
[0059]
如图2所示,首先将利用海明窗低通滤波器对一串csi数据流中的每两两天线间的信道链路中的数据做卷积,进行初步的去噪处理。再利用pca技术对csi数据进行降维去冗余,丢弃一部分与噪声相关的信息,最终得出一个理想的平滑波形来代表在对应动作下sci功率值随时间变化的状态,也即是得到第二信号。
[0060]
s3:对第二信号进行特征向量提取,选取与时间序列相关的最大分量作为数据的主特征变量,得到第三信号。
[0061]
为了更好区分各种动作行为之间的差异性,解决不同行为之间的频率相似性,需要对更细粒度的特征信息进行提取。
[0062]
在本发明中,通过基于python的tsfresh包来自动提取时间序列数据特征。tsfresh是开源的提取时序数据特征的python包,能够提取出超过64种特征,即得到第三信号。
[0063]
s4:对第二信号进行特征向量提取,选取与相位和幅值相关的最大分量作为数据的主特征变量,得到第四信号。
[0064]
本发明中使用滑动窗口法按时间顺序将行为数据划分为不同的集合,通过提取各个集合内数据的特征值构成样本数目更多的数据集,更全面的表征某种行为。
[0065]
滑动窗口法在使用过程中涉及两个关键变量,分别是窗口大小和滑动步长。其中
窗口大小指的是每次特征提取的单位数据量,滑动步长等价于完全将一次行为数据处理结束,滑动窗口需要移动的次数,间接反映了行为数据的大小。在具体实施时,为了满足信号在时、频率采样过程中的数据要求,通常情况下滑动步长与信号的采样频率相等,窗口大小取决于采样频率,其计算公式为:
[0066][0067]
其中,f为信号的采样频率。
[0068]
按照选取的窗口大小和滑动步长提取特征数据。在时域特征方面,选取均值和标准差作为特征值。在频域特征方面,使用fft进行信号的频域分析,提取信号的直流分量、fft最大的前五个值及这五个值分别对应的频率、信号能量、幅度统计特征和形状统计特征。其中最后两个特征是用来描述数据在频域的能量分别的,幅度统计特征用来统计不同窗口内频域信号的均值,标准差以及偏度和峰度。其中偏度用来描述不对称程度以及方向,其计算公式为:
[0069][0070]
其中,n表示每个窗口内的数据点数,c(i)表示窗口内第i个样本的频率幅度值,μ
amp
、σ
amp
分别表示窗口内样本幅度的均值和标准差。
[0071]
峰度是用来判断数据分布相对于正态分布而言是更陡峭还是更平缓,其计算公式为:
[0072][0073]
对预处理后的行为数据进行特征提取。本发明中,给定的窗口大小为128,滑动步长为50,因此每个行为数据将得到一个20*27的特征矩阵,即得到了提取了特征之后的信号,也就是第四信号。最后,将上述两个步骤得到的第三信号和第四信号通过前端服务器发送到云平台服务器中。
[0074]
s5:各个监测点将第三信号和第四信号分别输入到训练好的机器学习模型中,得到第一行为识别结果和第二行为识别结果。
[0075]
机器学习模型包括门控循环单元和卷积神经网络;采用训练好的门控循环单元对第三信号进行行为识别,得到第一行为识别结果;采用训练好的卷积神经网络对第四信号进行行为识别,得到第二行为识别结果。
[0076]
如图3所示,为gru(循环神经网络)的单元结构示意图,gru具有重置门和更新门两个门结构,分别为图中绿色和蓝色部分,分别对应r和z,它们取代了lstm的三个门结构,使得结构更加精简。从结构上看,它只需对两个门控信号进行计算即可。
[0077]
gru中状态值更新可用如下公式描述:
[0078]
r
t
=σ(u
r
·
x
t
+w
r
·
h
t
‑1+b
r
)
[0079]
z
t
=σ(u
z
·
x
t
+w
z
·
h
t
‑1+b
z
)
[0080][0081]
h
t
=z
t
×
h
t
‑1+(1

z
t
)
×
c
t
[0082]
其中,r
t
表示重置门,σ表示sigmoid函数,u
r
、u
z
和u
c
分别表示对应结点的输入权重参数,x
t
表示当前时间步t的输入,w
r
、w
z
和w
c
分别表示对应结点的隐藏权重参数,h
t
‑1表示上一时间步t

1的隐藏状态,b
r
、b
z
和b
c
分别表示对应结点的偏差值,z
t
表示更新门,c
t
表示当前时间步的单元状态,表示tanh激活函数,h
t
表示当前时间步的隐藏状态。
[0083]
在一种具体实施方式中,将提取出信号特征值得第三信号输入到gru模型中,就会得到该监测节点对于捕获到的行为数据的一个预测结果pred_gru,也就是第一行为识别结果。
[0084]
在采用卷积神经网络对第四信号进行行为识别过程中,该卷积神经网络包括卷积层、池化层以及全连接层。其中卷积层与池化层配合,组成多个卷积组,逐层提取特征,最终通过若干个全连接层完成分类。在一种可选的实施方式中,cnn的具体参数设置如下表所示。
[0085]
表1神经网络卷积层参数
[0086][0087]
表2神经网络池化层参数
[0088][0089]
gru和cnn模型利用采集的人体行为数据进行训练,训练的过程包括:
[0090]
利用现有的wi

fi基础设施采集各种人体行为数据包,得到人体行为数据包集合,从中提取数据包的特征,其中数据包的特征主要从时间序列和时域上进行分析和提取。将提取出的行为数据包特征集合分别输入到gru和cnn模型中,利用gru和cnn分别得到一个行为识别的结果;利用识别结果的误差作为损失函数,并且利用cnn的反向传播算法bp训练参数;参数训练完毕之后,用softmax函数激活,就能得到训练好的分类模型。
[0091]
在一种实施方式中,将提取出信号特征值得第四信号输入到已经训练完成的cnn模型中,就会得到该监测节点对于捕获到的行为数据的一个预测结果pred_cnn,也就是第二行为识别结果。
[0092]
s6:将第一行为识别结果和第二行为识别结果输入到处理函数中,得到该监测点的第三人体识别结果。
[0093]
在具体实施中,将通过gru和cnn得到的第一行为识别结果和第二行为识别结果输入到softmax函数中,然后就得到了该监测节点对于当前行为的一个预测结果。softmax函数的定义如下:
[0094][0095]
其中,z
i
表示第i个节点的输出值,c为输出节点的个数,即分类器的类别个数。
[0096]
s7:将第三人体行为识别结果输入到分类模型中,得到最终的行为识别结果。
[0097]
在具体的实施方式中,在监测范围了部署多个监测节点,同时监测该范围发生的行为变化,以及进行行为识别。在本步骤中,上述所使用的分类模型是k最近邻分类算法。
[0098]
如图4所示,knn算法的流程如下:首先,对原始数据集按一定的比例进行划分,得到用于knn模型训练的训练数据集,以及用于验证knn模型准确度的测试数据集;然后,对训练的数据集和测试数据集进行归一化(scaler);用训练数据集训练knn模型;通过网格搜索和交叉验证的方式寻找最佳超参数;最后,用测试数据集测试knn模型的预测准确度。通过以上所述的流程,就可以得到一个训练好的knn分类模型。
[0099]
在本发明中,将每个监测节点所得到的数据,经过处理之后通过前端服务器发送到云平台服务器,依靠云平台服务器强大的计算能力,对所接受到的每个监测节点的数据按照相应的方式进行操作,得到每个监测节点的识别结果,接着把每个监测节点的识别结果发送到knn模型中,得到一个最终的行为识别结果,然后再把这个识别结果发送回前端服务器呈现给用户。
[0100]
一种基于wi

fi信道状态信息的无接触式人体行为识别系统,如图5所示,该系统包括:数据采集模块、数据处理模块、前端服务器以及云平台服务器;
[0101]
所述数据采集模块为信道状态信息数据采集设备,该设备用于接收csi子载波信号,得到第一信号;
[0102]
所述数据处理模块包括去噪模块和特征提取模块;
[0103]
所述去噪模块用于对第一信号进行去噪、平滑以及数据降维处理,得到第二信号;
[0104]
所述特征提取模块用于对第二信号进行特征提取,得到第三信号和第四信号,并将第三信号和第四信号发送的前端服务器;
[0105]
所述前端服务器用于对第三信号和第四信号的行为进行识别,得到第一行为识别结果和第二行为识别结果;将第一行为识别结果和第二行为识别结果发送到云平台服务器中;
[0106]
所述云台服务器对第一行为识别结果和第二行为识别结果进行计算预测,得到第三行为识别结果,并对第三行为识别结果进行分类,得到最终的识别结果。
[0107]
得到第三行为识别结果的公式为:
[0108]
pred
i
=w1*pred_gru+w2*pred_cnn
[0109]
其中,w1表示门控循环单元的权重,w2表示卷积神经网络的权重,pred_gru表示经过门控循环单元预测的第一行为识别结果,pred_cnn表示经过卷积神经网络预测的第二行为识别结果。
[0110]
本发明中系统的具体实施方式与方法的具体实施方式相似。
[0111]
以上所举实施例,对本发明的目的、技术方案和优点进行了进一步的详细说明,所应理解的是,以上所举实施例仅为本发明的优选实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内对本发明所作的任何修改、等同替换、改进等,均应包含在本发明
的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1