基于CSI与双线程卷积网络的位置无关的人体动作识别方法

文档序号:31466353发布日期:2022-09-09 21:25阅读:154来源:国知局
基于CSI与双线程卷积网络的位置无关的人体动作识别方法
基于csi与双线程卷积网络的位置无关的人体动作识别方法
技术领域
1.本发明属于无线通信技术领域,具体的说是一种基于csi与双线程卷积网络的位置无关的人体动作识别方法。


背景技术:

2.近年来,人体动作识别技术在智能家居、安全监控和健康监控等各个领域的应用受到越来越多的重视。人体动作识别方法主要包括基于可穿戴传感器的和基于计算机视觉的等。上述方法都具有较好的识别效果。但是,基于可穿戴传感器的动作识别需要人体一直佩戴设备,会给用户造成不便。而基于计算机视觉的动作识别存在视线(los)要求、照明要求,且容易侵犯用户的隐私。与上述方法相比,基于商业wifi的动作识别由于不侵犯用户隐私、不受光线影响、没有设备限制而受到广泛关注。
3.基于wifi的人体动作识别分为采用接收信号强度信息(rssi)的和采用信道状态信息(csi)的。相比于rssi,csi以物理层为基础,具有更细粒度的信息,并且能够在一定程度上区分多径分量。因此,基于csi的人体动作识别技术被广泛研究。
4.现有的方法已经在基于csi的动作识别上取得了良好的效果,但是其位置泛化性的一些挑战还没有得到充分的解决。即在特定位置下训练的动作识别模型很难在其他位置采集的动作样本上有良好的表现。这是因为原始的csi样本中不仅包含动作信息,还包含来自环境的信息。位置的改变意味着感知环境的改变,从而使反射、衍射、多径效应等因素的影响发生变化,导致不同位置上采集到的相同动作的csi样本也具有不同的数据分布。
5.目前已有的三种解决方案:一是采集尽可能多的位置的样本,以学习不同位置上的动作的特征。但在实际的应用中,获取尽可能多的位置的数据耗费时间和精力,影响用户体验。二是通过元学习的方法学习和记忆不同位置动作的特征,实现用少量样本识别新位置的动作。但是元学习的方法仍然需要提供新位置上的样本作为支持集。三是通过转换函数生成新位置上手势的虚拟样本,通过dwt提取特征来训练knn得到适用于各新位置的分类模型。但该方法在识别新位置上的动作时需要重新训练模型。
6.综上所述,上述三种方法虽然取得了良好的效果,但是他们需要采集新位置上的样本或对模型进行再训练,这耗费时间和精力,降低了实用性。


技术实现要素:

7.本发明是为了解决上述现有技术存在的不足之处,提出一种基于csi与双线程卷积网络的位置无关的人体动作识别方法,以期能在人体所处位置发生变化时,无需重新收集数据或再次训练模型即可对新位置上的动作进行高精度的识别,从而能增强动作识别的实用性以适应不同的应用场景。
8.本发明为达到上述发明目的,采用如下技术方案:
9.本发明一种基于csi与双线程卷积网络的位置无关的人体动作识别方法的特点在于,是按如下步骤进行:
10.步骤1、采集csi动作数据;
11.步骤1.1、在室内一矩形区域内选取间距为d的p个位置和任意分布的q个位置,在所述p个位置中选取p1个位置作为训练位置,将其余p2个位置和q个任意位置作为测试位置,p=p1+p2;
12.步骤1.2、在所述矩形区域的外侧使用路由器作为wifi信号的发送设备,记为ap,使用k张网卡作为接收设备,并将第i个接收设备记为ri,i∈[1,k];
[0013]
步骤1.3、在第j个训练位置上执行n种人体动作,并使用所述第i个接收设备ri以采样速率v采集所述发送设备ap发送的a根天线上的x个wifi信号,从而构建第j个训练位置上的第i个csi动作数据j∈[1,p1];
[0014]
步骤2、对csi动作数据进行预处理;
[0015]
步骤2.1、提取所述第i个csi动作数据的幅度值,并进行离散小波变换后得到去噪后的第j个训练位置上的第i个csi动作样本数据
[0016]
步骤2.2、提取所述第i个csi动作数据的多普勒频移动作样本数据;
[0017]
步骤2.2.1、对所述第i个csi动作数据进行天线选择,选出第i个csi动作数据的a根天线中wifi信号的均值与标准差比值最大的一根天线
[0018]
步骤2.2.2、将所述第i个csi动作数据的其他天线上的wifi信号与天线上的wifi信号进行共轭乘法,从而得到消除随机相位偏移后的第i个csi动作数据
[0019]
步骤2.2.3、通过巴特沃斯带通滤波器对所述第i个csi动作数据进行滤波,并通过pca方法选取的第一主分量数据再对所述第一主分量数据进行短时傅里叶变换后得到多普勒频移动作样本数据
[0020]
步骤2.3、将k个接收设备上的去噪后的csi动作样本数据和多普勒频移动作样本数据组合后,得到第j个训练位置上的组合动作样本数据jj;
[0021]
步骤3、构建双线程卷积网络,包括:特征提取模块和分类模块;并将所述组合动作样本数据jj输入到所述双线程卷积网络中;
[0022]
步骤3.1、构建所述特征提取模块,包括:并联设置的全局特征提取模块和局部特征提取模块;
[0023]
步骤3.1.1、所述全局特征提取模块由u个3d卷积块和一个通道注意力机制块构成;其中,第u个3d卷积块记为3dconvu,u∈[1,u];
[0024]
所述第u个3d卷积块3dconvu包括:m个三维卷积层以及对应连接的m个relu激活函数层;
[0025]
当u=1时,将所述组合动作样本数据jj输入全局特征提取模块,并经过第u个3d卷积块3dconvu的处理后输出第u个全局时空特征gf
j,u

[0026]
当u=2,3,

,u时,将第u-1个全局时空特征gf
j,u-1
输入第u个3d卷积块3dconvu中
进行处理,并输出相应的全局时空特征gf
j,u
;从而由第u个3d卷积块3dconvu得到第u个全局时空特征gf
j,u
并记为全局时空特征gfj;
[0027]
所述通道注意力机制块由3d全局最大池化层maxpool、3d全局平均池化层avgpool、全连接层mlp和激活函数sigmoid构成;
[0028]
所述全局时空特征gfj输入所述通道注意力机制块中,并分别经过所述3d全局最大池化层maxpool和3d全局平均池化层avgpool的处理后,相应得到最大池化特征向量gf
j,max
和平均池化特征向量gf
j,avg
;将所述最大池化特征向量gf
j,max
和平均池化特征向量gf
j,avg
作为全连接层mlp的输入,并利用式(1)计算通道注意力权重gf
j,channel

[0029]
gf
j,channel
=sigmoid(mlp(maxpool(gf
j,u
))+mlp(avgpool(gf
j,u
)))
ꢀꢀꢀꢀ
(1)
[0030]
式(1)中,mlp表示全连接层,sigmoid表示激活函数,maxpool表示3d全局最大池化层,avgpool表示3d全局平均池化层;
[0031]
将所述通道注意力权重gf
j,channel
与所述全局时空特征gfj相乘后,得到优化后的全局时空特征t
j,global

[0032]
步骤3.1.2、所述局部特征提取模块由w个2d卷积块、y个全连接块和z个长短期记忆块构成;其中,第w个2d卷积块记为2dconvw,第y个全连接块记为fcy,第z个长短期记忆块记为lstmz,w∈[1,w],y∈[1,y],z∈[1,z];
[0033]
所述第w个2d卷积块2dconvw包括:b个2维卷积层、b个最大池化层以及b个relu激活函数层;
[0034]
当w=1时,所述组合动作样本数据jj输入局部特征提取模块中,并经过第w个2d卷积块2dconvw的处理后输出第w个局部空间特征lf
j,s,w

[0035]
当w=2,3,

,w时,将所述第w-1个局部空间特征lf
j,s,w-1
输入所述第w个2d卷积块2dconvw中进行处理,并输出第w个局部空间特征lf
j,s,w
;从而由第w个2d卷积块2dconvw得到第w个局部空间特征lf
j,s,w
并记为局部空间特征lf
j,s

[0036]
所述第y个全连接块fcy包括:c个全连接层fc和c个relu激活函数层;
[0037]
当y=1时,将所述局部空间特征lf
j,s
输入所述第y个全连接块fcy中进行处理,并输出第y个高层次局部空间特征lf

j,s,y

[0038]
当y=2,3,

,y时,将所述第y-1个高层次局部空间特征lf

j,s,y-1
输入所述第y个全连接块fcy中进行处理,并输出相应的第y个高层次局部空间特征lf

j,s,y
;从而由第y个全连接块fcy得到最终输出的第y个高层次局部空间特征lf

j,s,y
,并记为高层次局部空间特征lf

j,s

[0039]
当z=1时,将所述高层次局部空间特征lf

j,s
输入所述第z个长短期记忆块lstmz中进行建模,并输出第z个局部时空特征t
j,local,z

[0040]
当z=2,3,

,z时,将所述第z-1个局部时空特征t
j,local,z-1
输入所述第z个长短期记忆块lstmz中进行处理,并输出第z个局部时空特征t
j,local,z
;从而由第z个长短期记忆块lstmz得到最终的局部时空特征,记为t
j,local

[0041]
步骤3.2、所述分类模块包括:一个连接层cat和一个全连接层fc;
[0042]
步骤3.2.1、将所述优化后的全局时空特征t
j,global
和局部时空特征t
j,local
输入所述分类模块,并经过所述连接层cat的处理后,输出时空特征t
j,cat

[0043]
步骤3.2.2、将时空特征t
j,cat
输入所述全连接层fc中进行处理后,得到输出向量
qj;再使用softmax函数对所述输出向量qj进行处理后,得到最大预测概率pj并作为第j个训练位置上的组合动作样本数据jj的分类结果;
[0044]
步骤4、基于p1个训练位置上的组合动作样本数据,利用反向传播算法对所述双线程卷积网络进行训练,并计算分类交叉熵损失函数用于更新网络参数,直到损失函数收敛为止,从而得到人体动作分类模型;
[0045]
步骤5、对测试位置上的动作样本数据进行预处理后,输入所述人体动作分类模型中并得到相应的分类结果。
[0046]
与现有技术相比,本发明的有益效果在于:
[0047]
1、本发明通过将2个接收端的csi数据和多普勒频移数据组合构成动作样本数据,增强了信号与动作之间的映射关系并减少了环境影响,从而能提供更多感知信息以便于后期特征信息的提取,为实现零样本的任意位置动作识别提供了有力条件。
[0048]
2、本发明采用3dcnn与结合时间建模的2dcnn设计双线程网络,并通过通道注意力机制强调特征中对分类有效的信息,充分的提取动作样本中同类动作的共性特征以及不同动作的个性特征,减小了不同位置上的样本的类内差异性并突出其类间差异性,从而能有效的识别其他位置上的动作,提升了位置识别的泛化性能。
附图说明
[0049]
图1是本发明的实现流程图;
[0050]
图2是本发明双线程卷积网络框架图;
[0051]
图3是本发明全局特征提取模块网络结构图;
[0052]
图4是本发明通道注意力机制块结构图;
[0053]
图5是本发明局部特征提取模块网络结构图;
[0054]
图6是本发明分类模块网络结构图。
具体实施方式
[0055]
本实施例中,如图1所示,一种基于csi与双线程卷积网络的位置无关的人体动作识别方法是按如下步骤进行:
[0056]
步骤1、采集csi动作数据;
[0057]
步骤1.1、在室内一矩形区域内选取间距为d的p个位置和任意分布的q个位置,在p个位置中选取p1个位置作为训练位置,将其余p2个位置和q个任意位置作为测试位置,p=p1+p2;本实施例中,选取间距为1.6m的16个位置,选取其中12个位置作为训练位置,将其他4个位置和任意分布的6个位置作为测试位置;
[0058]
步骤1.2、在矩形区域的外侧使用路由器作为wifi信号的发送设备,记为ap,使用k张网卡作为接收设备,并将第i个接收设备记为ri,i∈[1,k];本实施例中,ap设备采用tl-wdr6500路由器,rp设备采用intel 5300网卡,共使用2张网卡;
[0059]
步骤1.3、在第j个训练位置上执行n种人体动作,并使用第i个接收设备ri以采样速率v采集发送设备ap发送的a根天线上的x个wifi信号,从而构建第j个训练位置上的第i个csi动作数据j∈[1,p1];本实施例中,共执行6种动作,采样速率v为每秒1000包,rp设备有3根接收天线,共采集90个wifi信号;
[0060]
步骤2、对csi动作数据进行预处理;
[0061]
步骤2.1、提取第i个csi动作数据的幅度值,并进行离散小波变换后得到去噪后的第j个训练位置上的第i个csi动作样本数据
[0062]
步骤2.2、提取第i个csi动作数据的多普勒频移动作样本数据;
[0063]
步骤2.2.1、对第i个csi动作数据进行天线选择,选出第i个csi动作数据的a根天线中wifi信号的均值与标准差比值最大的一根天线
[0064]
步骤2.2.2、将第i个csi动作数据的其他天线上的wifi信号与天线上的wifi信号进行共轭乘法,从而得到消除随机相位偏移后的第i个csi动作数据
[0065]
步骤2.2.3、通过巴特沃斯带通滤波器对第i个csi动作数据进行滤波,并通过pca方法选取的第一主分量数据再对第一主分量数据进行短时傅里叶变换后得到多普勒频移动作样本数据
[0066]
步骤2.3、将k个接收设备上的去噪后的csi动作样本数据和多普勒频移动作样本数据组合后,得到第j个训练位置上的组合动作样本数据jj;
[0067]
步骤3、构建双线程卷积网络,其网络框架如图2所示,包括:特征提取模块和分类模块;并将组合动作样本数据jj输入到双线程卷积网络中;
[0068]
步骤3.1、构建特征提取模块,包括:并联设置的全局特征提取模块和局部特征提取模块;
[0069]
步骤3.1.1、全局特征提取模块由u个3d卷积块和一个通道注意力机制块构成;其网络结构如图3所示;其中,第u个3d卷积块记为3dconvu,u∈[1,u];本实施例中,3d卷积块的个数u为4;
[0070]
第u个3d卷积块3dconvu包括:m个三维卷积层以及对应连接的m个relu激活函数层;本实施例中,4个3d卷积块均采用1个卷积层和1个激活函数层,卷积核大小均为3
×3×
3;
[0071]
当u=1时,将组合动作样本数据jj输入全局特征提取模块,并经过第u个3d卷积块3dconvu的处理后输出第u个全局时空特征gf
j,u

[0072]
当u=2,3,

,u时,将第u-1个全局时空特征gf
j,u-1
输入第u个3d卷积块3dconvu中进行处理,并输出相应的全局时空特征gf
j,u
;从而由第u个3d卷积块3dconvu得到第u个全局时空特征gf
j,u
并记为全局时空特征gfj;
[0073]
通道注意力机制块由3d全局最大池化层maxpool、3d全局平均池化层avgpool、全连接层mlp和激活函数sigmoid构成,其结构如图4所示;
[0074]
全局时空特征gfj输入通道注意力机制块中,并分别经过3d全局最大池化层maxpool和3d全局平均池化层avgpool的处理后,相应得到最大池化特征向量gf
j,max
和平均池化特征向量gf
j,avg
;将最大池化特征向量gf
j,max
和平均池化特征向量gf
j,avg
作为全连接层mlp的输入,利用式(1)计算通道注意力权重gf
j,channel

[0075]
gf
j,channel
=sigmoid(mlp(maxpool(gf
j,u
))+mlp(avgpool(gf
j,u
)))
ꢀꢀꢀꢀ
(1)
[0076]
式(1)中,mlp表示全连接层,sigmoid表示激活函数,maxpool表示3d全局最大池化层,avgpool表示3d全局平均池化层;
[0077]
将通道注意力权重gf
j,channel
与全局时空特征gfj相乘后,得到优化后的全局时空特征t
j,global

[0078]
步骤3.1.2、局部特征提取模块由w个2d卷积块、y个全连接块和z个长短期记忆块构成,其网络结构如图5所示;其中,第w个2d卷积块记为2dconvw,第y个全连接块记为fcy,第z个长短期记忆块记为lstmz,w∈[1,w],y∈[1,y],z∈[1,z];本实施例中,局部特征提取模块由2个2d卷积块,2个全连接块和1个长短期记忆块构成;
[0079]
第w个2d卷积块2dconvw包括:b个2维卷积层、b个最大池化层以及b个relu激活函数层;本实施例中,两个2d卷积块均采用1个卷积层,每个卷积核大小均为5
×
5,1个最大池化层,每个池化层大小为2
×
2,以及1个激活函数层;
[0080]
当w=1时,组合动作样本数据jj输入局部特征提取模块中,并经过第w个2d卷积块2dconvw的处理后输出第w个局部空间特征lf
j,s,w

[0081]
当w=2,3,

,w时,将第w-1个局部空间特征lf
j,s,w-1
输入第w个2d卷积块2dconvw中进行处理,并输出第w个局部空间特征lf
j,s,w
;从而由第w个2d卷积块2dconvw得到第w个局部空间特征lf
j,s,w
并记为局部空间特征lf
j,s

[0082]
第y个全连接块fcy包括:c个全连接层fc和c个relu激活函数层;本实施例中,每个全连接块包括1个全连接层和1个relu激活函数层,全连接层的神经元为64个;
[0083]
当y=1时,将局部空间特征lf
j,s
输入第y个全连接块fcy中进行处理,并输出第y个高层次局部空间特征lf

j,s,y

[0084]
当y=2,3,

,y时,将第y-1个高层次局部空间特征lf

j,s,y-1
输入第y个全连接块fcy中进行处理,并输出相应的第y个高层次局部空间特征lf

j,s,y
;从而由第y个全连接块fcy得到最终输出的第y个高层次局部空间特征lf

j,s,y
,并记为高层次局部空间特征lf

j,s

[0085]
设置第z个长短期记忆块lstmz的隐藏神经元个数为e;本实施例中,长短期记忆块的隐藏神经元个数为128;
[0086]
当z=1时,将高层次局部空间特征lf

j,s
输入第z个长短期记忆块lstmz中进行建模,并输出第z个局部时空特征t
j,local,z

[0087]
当z=2,3,

,z时,将第z-1个局部时空特征t
j,local,z-1
输入第z个长短期记忆块lstmz中进行处理,并输出第z个局部时空特征t
j,local,z
;从而由第z个长短期记忆块lstmz得到最终的局部时空特征,记为t
j,local

[0088]
步骤3.2、分类模块包括:一个连接层cat和一个全连接层fc;其网络结构如图6所示;
[0089]
步骤3.2.1、将优化后的全局时空特征t
j,global
和局部时空特征t
j,local
输入分类模块,并经过连接层cat的处理后,输出时空特征t
j,cat

[0090]
步骤3.2.2、将时空特征t
j,cat
输入全连接层fc中进行处理后,得到输出向量qj;再使用softmax函数对输出向量qj进行处理后,得到最大预测概率pj并作为第j个训练位置上的组合动作样本数据jj的分类结果;本实施例中,设置全连接层fc的神经元个数为6;
[0091]
步骤4、基于p1个训练位置上的组合动作样本数据,利用反向传播算法对双线程卷
积网络进行训练,并计算分类交叉熵损失函数用于更新网络参数,直到损失函数收敛为止,从而得到人体动作分类模型;
[0092]
步骤5、对测试位置上的动作样本数据进行预处理后,输入人体动作分类模型中并得到相应的分类结果。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1