1.一种基于CSI与双线程卷积网络的位置无关的人体动作识别方法,其特征在于,是按如下步骤进行:步骤1、采集CSI动作数据;
步骤1.1、在室内一矩形区域内选取间距为d的p个位置和任意分布的q个位置,在所述p个位置中选取p1个位置作为训练位置,将其余p2个位置和q个任意位置作为测试位置,p=p1+p2;
步骤1.2、在所述矩形区域的外侧使用路由器作为WiFi信号的发送设备,记为AP,使用ki张网卡作为接收设备,并将第i个接收设备记为R,i∈[1,k];
i
步骤1.3、在第j个训练位置上执行n种人体动作,并使用所述第i个接收设备R以采样速率v采集所述发送设备AP发送的a根天线上的x个WiFi信号,从而构建第j个训练位置上的第i个CSI动作数据步骤2、对CSI动作数据进行预处理;
步骤2.1、提取所述第i个CSI动作数据 的幅度值,并进行离散小波变换后得到去噪后的第j个训练位置上的第i个CSI动作样本数据步骤2.2、提取所述第i个CSI动作数据 的多普勒频移动作样本数据;
步骤2.2.1、对所述第i个CSI动作数据 进行天线选择,选出第i个CSI动作数据 的a根天线中WiFi信号的均值与标准差比值最大的一根天线步骤2.2.2、将所述第i个CSI动作数据 的其他天线上的WiFi信号与天线 上的WiFi信号进行共轭乘法,从而得到消除随机相位偏移后的第i个CSI动作数据步骤2.2.3、通过巴特沃斯带通滤波器对所述第i个CSI动作数据 进行滤波,并通过PCA方法选取 的第一主分量数据 再对所述第一主分量数据 进行短时傅里叶变换后得到多普勒频移动作样本数据步骤2.3、将k个接收设备上的去噪后的CSI动作样本数据 和多普勒频移动作样本数据 组合后,得到第j个训练位置上的组合动作样本数据Jj;
步骤3、构建双线程卷积网络,包括:特征提取模块和分类模块;并将所述组合动作样本数据Jj输入到所述双线程卷积网络中;
步骤3.1、构建所述特征提取模块,包括:并联设置的全局特征提取模块和局部特征提取模块;
步骤3.1.1、所述全局特征提取模块由u个3D卷积块和一个通道注意力机制块构成;其中,第U个3D卷积块记为3DConvU,U∈[1,u];
所述第U个3D卷积块3DConvU包括:m个三维卷积层以及对应连接的m个ReLU激活函数层;
当U=1时,将所述组合动作样本数据Jj输入全局特征提取模块,并经过第U个3D卷积块
3DConvU的处理后输出第U个全局时空特征Gfj,U;
当U=2,3,…,u时,将第U‑1个全局时空特征Gfj,U‑1输入第U个3D卷积块3DConvU中进行处理,并输出相应的全局时空特征Gfj,U;从而由第u个3D卷积块3DConvu得到第u个全局时空特征Gfj,u并记为全局时空特征Gfj;
所述通道注意力机制块由3D全局最大池化层MaxPool、3D全局平均池化层AvgPool、全连接层MLP和激活函数sigmoid构成;
所述全局时空特征Gfj输入所述通道注意力机制块中,并分别经过所述3D全局最大池化层MaxPool和3D全局平均池化层AvgPool的处理后,相应得到最大池化特征向量GFj,max和平均池化特征向量GFj,avg;将所述最大池化特征向量GFj,max和平均池化特征向量GFj,avg作为全连接层MLP的输入,并利用式(1)计算通道注意力权重GFj,channel;
GFj,channel=sigmoid(MLP(MaxPool(Gfj,u))+MLP(AvgPool(Gfj,u))) (1)式(1)中,MLP表示全连接层,sigmoid表示激活函数,MaxPool表示3D全局最大池化层,AvgPool表示3D全局平均池化层;
将所述通道注意力权重GFj,channel与所述全局时空特征Gfj相乘后,得到优化后的全局时空特征Tj,Global;
步骤3.1.2、所述局部特征提取模块由w个2D卷积块、y个全连接块和z个长短期记忆块构成;其中,第W个2D卷积块记为2DConvW,第Y个全连接块记为FCY,第Z个长短期记忆块记为LSTMZ,W∈[1,w],Y∈[1,y],Z∈[1,z];
所述第W个2D卷积块2DConvW包括:b个2维卷积层、b个最大池化层以及b个ReLU激活函数层;
当W=1时,所述组合动作样本数据Jj输入局部特征提取模块中,并经过第W个2D卷积块
2DConvW的处理后输出第W个局部空间特征Lfj,S,W;
当W=2,3,…,w时,将所述第W‑1个局部空间特征Lfj,S,W‑1输入所述第W个2D卷积块
2DConvW中进行处理,并输出第W个局部空间特征Lfj,S,W;从而由第w个2D卷积块2DConvw得到第w个局部空间特征Lfj,S,w并记为局部空间特征Lfj,S;
所述第Y个全连接块FCY包括:c个全连接层fc和c个ReLU激活函数层;
当Y=1时,将所述局部空间特征Lfj,S输入所述第Y个全连接块FCY中进行处理,并输出第Y个高层次局部空间特征Lf′j,S,Y;
当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;
当Z=1时,将所述高层次局部空间特征Lf′j,S输入所述第Z个长短期记忆块LSTMZ中进行建模,并输出第Z个局部时空特征Tj,Local,Z;
当Z=2,3,…,z时,将所述第Z‑1个局部时空特征Tj,Local,Z‑1输入所述第Z个长短期记忆块LSTMZ中进行处理,并输出第Z个局部时空特征Tj,Local,Z;从而由第z个长短期记忆块LSTMz得到最终的局部时空特征,记为Tj,Local;
步骤3.2、所述分类模块包括:一个连接层CAT和一个全连接层fc;
步骤3.2.1、将所述优化后的全局时空特征Tj,Global和局部时空特征Tj,Local输入所述分类模块,并经过所述连接层CAT的处理后,输出时空特征Tj,CAT;
步骤3.2.2、将时空特征Tj,CAT输入所述全连接层fc中进行处理后,得到输出向量Qj;再使用softmax函数对所述输出向量Qj进行处理后,得到最大预测概率Pj并作为第j个训练位置上的组合动作样本数据Jj的分类结果;
步骤4、基于p1个训练位置上的组合动作样本数据,利用反向传播算法对所述双线程卷积网络进行训练,并计算分类交叉熵损失函数用于更新网络参数,直到损失函数收敛为止,从而得到人体动作分类模型;
步骤5、对测试位置上的动作样本数据进行预处理后,输入所述人体动作分类模型中并得到相应的分类结果。