掌桥专利:专业的专利平台
掌桥专利
首页

基于深度非负矩阵分解的CSI动作识别方法及系统

文献发布时间:2024-04-18 19:58:21


基于深度非负矩阵分解的CSI动作识别方法及系统

技术领域

本发明涉及人体动作识别技术领域,尤其涉及基于深度非负矩阵分解的CSI动作识别方法及系统。

背景技术

人体动作识别的目的在于,在成功实现动作跟踪、特征提取的基础上,通过分析获得的人体动作特征参数,自动识别人体动作类型;现有的采用信道状态信息(CSI)识别动作的系统,大都分为两种,一种是采用传统的机器学习方法,通过手动提取数据的特征,对数据进行各种各样的处理,然后将提取的特征,采用支持向量机(support vector machine,SVM)、K最近邻(k-Nearest Neighbor,KNN)和随机森林等方法处理提取到的特征,最后进行动作分类;另一种是采用现有的深度学习技术,对原始数据做比较少的处理,大多采用现代的神经网络:多层感知机(Multiple Layers Machine,MLP)卷积神经网络(ConvolutionNeural Network,CNN)、循环神经网络(Recurrent Neural Network,RNN)等网络,让网络自身去提取数据的特征,对动作进行分类;

但是,传统的机器学习方法,分类效果的好坏很大程度上取决于工作者的经验,对特征提取算法方法的设计需要比较多的经验,对很多从事本方面的研究者或者工作者带来了许多的难度,而且随着现在的深度学习的发展,传统机器学习方法逊色于深度学习方法在各种任务上的性能,但是如今针对CSI动作识别系统所提出的深度学习方法也存在很多的问题,例如采用CNN算法,CNN的感受野(Receptive Field)是取决于设计者对卷积核设计的大小,来找到局部的特征,但是很难关注到全局的特征;采用RNN网络,例如典型的长短期记忆网络(Long Short-Term Memory,LSTM)来设计的系统,也是有着很难关注到全局特征的问题,如果一个动作持续的时间比较长,其动作发生时在每个时间点的关联性很大,LSTM容易丢失前面时间点上读到的信息,容易造成信息丢失,从而造成动作的识别错误。

发明内容

为了解决上述技术问题,本发明的目的是提供基于深度非负矩阵分解的CSI动作识别方法及系统,通过深度非负矩阵分解方法与自注意力机制分类器的结合从而实现有效的捕捉CSI信号数据全局特征,提高分类的精度。

本发明所采用的第一技术方案是:基于深度非负矩阵分解的CSI动作识别方法,包括以下步骤:

采集CSI信号数据并对所述CSI信号数据进行子载波振幅计算处理,得到CSI的子载波振幅;

通过深度非负矩阵分解方法对所述CSI的子载波振幅进行特征提取处理,得到低维特征系数矩阵;

引入位置编码,通过自注意力机制分类器对所述低维特征系数矩阵进行分类处理,得到CSI信号数据分类结果。

进一步,所述采集CSI信号数据并对所述CSI信号数据进行子载波振幅计算处理,得到CSI的子载波振幅这一步骤,其具体包括:

通过蓝牙模块获取CSI信号数据;

基于所述CSI信号数据,提取所述CSI信号数据中每个子载波在时间上的值,得到CSI的子载波复数值;

对所述CSI的子载波复数值的实部与虚部依次进行平方相加开根计算处理,得到初步的CSI的子载波振幅;

对所述初步的CSI的子载波振幅进行归一化处理,得到CSI的子载波振幅。

进一步,所述通过深度非负矩阵分解方法对所述CSI的子载波振幅进行特征提取处理,得到低维特征系数矩阵这一步骤,其具体包括:

设置所述深度非负矩阵分解方法中NMF的层数;

基于所述深度非负矩阵分解方法对所述CSI的子载波振幅进行一次NMF分解处理,得到第一次分解的特征矩阵和第一系数矩阵;

基于所述深度非负矩阵分解方法对所述第一系数矩阵进行二次NMF分解处理,得到第二次分解的特征矩阵和第二系数矩阵;

对所述第二系数矩阵进行上述NMF分解处理,直至所述NMF分解的次数达到所述NMF的层数,停止NMF分解;

根据每一次NMF分解对应的特征矩阵和最后一次NMF分解对应的系数矩阵,构建所述低维特征系数矩阵。

进一步,所述低维特征系数矩阵包括若干个特征矩阵和一个系数矩阵,其表达式为:

X≈W

上式中,W

进一步,所述深度非负矩阵分解方法中NMF的层数为三层,其中:

基于第一层NMF,用于获取每个时间点上多个CSI的子载波之间的关系;

基于第二层NMF,用于根据所述每个时间点上多个CSI的子载波之间的关系进行抽象特征提取;

基于第三层NMF,用于对所述抽象特征进行数据降维处理。

进一步,所述引入位置编码,通过自注意力机制分类器对所述低维特征系数矩阵进行分类处理,得到CSI信号数据分类结果这一步骤,其具体包括:

引入位置编码,将所述位置编码与所述低维特征系数矩阵进行相加处理,得到相加后的低维特征系数矩阵;

将所述相加后的低维特征系数矩阵输入至所述自注意力机制分类器进行分类处理,输出所述CSI信号数据分类结果,所述CSI信号数据分类结果为采集到的CSI信号数据中的不同动作。

进一步,所述自注意力机制分类器的损失函数为交叉熵损失函数,所述自注意力机制分类器的更新函数为Adam函数。

进一步,所述将所述相加后的低维特征系数矩阵输入至所述自注意力机制分类器进行分类处理,输出所述CSI信号数据分类结果这一步骤,其具体包括:

将所述相加后的低维特征系数矩阵输入至所述自注意力机制分类器,所述自注意力机制分类器包括Self-Attention层、第一归一化层、MLP网络和Dropout层;

基于所述自注意力机制分类器的Self-Attention层,对所述相加后的低维特征系数矩阵进行特征提取处理,得到CSI信号在时间上的关系;

基于所述自注意力机制分类器的第一归一化层,对所述CSI信号在时间上的关系进行归一化处理,得到归一化后的CSI信号时间关系;

基于所述自注意力机制分类器的MLP网络,对所述归一化后的CSI信号时间关系进行辨识处理,输出初步的CSI信号数据分类结果;

基于所述自注意力机制分类器的Dropout层,对所述初步的CSI信号数据分类结果进行正则化处理,得到所述CSI信号数据分类结果。

进一步,所述基于所述自注意力机制分类器的MLP网络,对所述归一化后的CSI信号时间关系进行辨识处理,输出初步的CSI信号数据分类结果这一步骤,其具体包括:

所述自注意力机制分类器的MLP网络包括残差层、第二归一化层和分类层;

基于所述MLP网络的残差层,对所述归一化后的CSI信号时间关系进行映射处理,得到映射后的CSI信号时间关系;

基于所述MLP网络的第二归一化层,对所述映射后的CSI信号时间关系进行归一化处理,得到待分类的CSI信号时间关系;

基于所述MLP网络的分类层,对所述待分类的CSI信号时间关系进行分类处理,得到初步的CSI信号数据分类结果。

本发明所采用的第二技术方案是:基于深度非负矩阵分解的CSI动作识别系统,包括:

振幅计算模块,用于采集CSI信号数据并对所述CSI信号数据进行子载波振幅计算处理,得到CSI的子载波振幅;

特征提取模块,用于通过深度非负矩阵分解方法对所述CSI的子载波振幅进行特征提取处理,得到低维特征系数矩阵;

分类模块,用于引入位置编码,通过自注意力机制分类器对所述低维特征系数矩阵进行分类处理,得到CSI信号数据分类结果。

本发明方法及系统的有益效果是:本发明通过采集CSI信号数据并对CSI信号数据进行子载波振幅计算处理,并基于CSI的子载波振幅通过深度非负矩阵分解方法进行特征提取处理,挖掘每一个子载波的关系,CSI数据在每一个时间点上对于其他时间点的关系,并采用此特征通过自注意力机制分类器进行分类,避免了很多手工设计特征的过程,避免了由于人工特征设计不足而导致的最终分类性能不足,本发明通过深度非负矩阵分解方法与自注意力机制分类器的结合,深度非负矩阵分解方法能够找到一个数据在其时间长度上的变化特征,自注意力机制分类器能把每个时间点上对整个时间序列的所有时间点的相关性找到,进而实现有效的捕捉CSI信号数据全局特征,提高分类的精度。

附图说明

图1是本发明实施例基于深度非负矩阵分解的CSI动作识别方法的步骤流程图;

图2是本发明实施例基于深度非负矩阵分解的CSI动作识别系统的结构框图;

图3是本发明具体实施例进行接收发CSI数据的场景示意图;

图4是本发明具体实施例对CSI动作进行识别的网络结构示意图;

图5是本发明具体实施例基于模型对CSI动作识别的流程示意图。

具体实施方式

下面结合附图和具体实施例对本发明做进一步的详细说明。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。

参照图1和图4,本发明提供了基于深度非负矩阵分解的CSI动作识别方法,该方法包括以下步骤:

S1、采集CSI信号数据并对CSI信号数据进行子载波振幅计算处理,得到CSI的子载波振幅;

具体地,通过蓝牙模块获取CSI信号数据;基于CSI信号数据,提取CSI信号数据中每个子载波在时间上的值,得到CSI的子载波复数值;对CSI的子载波复数值的实部与虚部依次进行平方相加开根计算处理,得到初步的CSI的子载波振幅;对初步的CSI的子载波振幅进行归一化处理,得到CSI的子载波振幅;

进一步的,参照图3,本发明采用乐鑫expressif ESP32芯片收发CSI信号,CSI信号是一种用于无线通信系统的信息,用于描述信道的状态和特性。在实验场景部署两个芯片,一个用于发射CSI数据,另一个用于接收CSI数据,在本实验中,用此设备采集了5个动作,分别为:跌倒、跳跃、跑步、走路、静止,每个动作有6个志愿者参加,每个动作采集40次。6个人总共采集了1440个CSI数据,基于采到的数据,开发了以下基于深度非负矩阵分解和自注意力机制的CSI动作识别系统,收集数据、计算出每个子载波的在每个时间上的振幅,在正交频分复用(Orthogonal Frequency Division Multiplexing,OFDM)系统中,子载波是指将频谱资源划分为多个不重叠的子信道,每个子信道称为一个子载波,CSI信号的子载波是指用于传输CSI信息的特定子载波,将采集到的CSI信号,每个子载波在时间上的值为一个复数值,将其实部的平方和虚部的平方相加开根号即为振幅,随后将其每个子载波上的振幅进行归一化,能够避免后续的处理中出现数据溢出、过拟合等问题;

S2、通过深度非负矩阵分解方法对CSI的子载波振幅进行特征提取处理,得到低维特征系数矩阵;

具体地,参照图5,设置深度非负矩阵分解方法中NMF的层数;基于深度非负矩阵分解方法对CSI的子载波振幅进行一次NMF分解处理,得到第一特征矩阵和第一系数矩阵;基于深度非负矩阵分解方法对第一系数矩阵进行二次NMF分解处理,得到第二特征矩阵和第二系数矩阵;对第二系数矩阵进行上述NMF分解处理,直至NMF分解的次数达到NMF的层数,停止NMF分解,输出低维特征系数矩阵,其中,深度非负矩阵分解方法中NMF的层数为三层;基于第一层NMF,用于获取每个时间点上多个CSI的子载波之间的关系;基于第二层NMF,用于根据每个时间点上多个CSI的子载波之间的关系进行抽象特征提取;基于第三层NMF,用于对抽象特征进行数据降维处理;

进一步的,为了寻找CSI信号在每个子载波在时间上振幅的关系,本发明采用了Deep NMF处理CSI信号,Deep NMF是一种NMF的变种,NMF它的意义在于可以将一个矩阵,表示为一个特征矩阵和系数矩阵的乘法,特征矩阵的特征数目由设计者自己决定,NMF可以得到原始的矩阵的低维表示,可以做到去噪、挖掘特征的效果。将原始数据经过NMF分解成的特征矩阵W和系数矩阵H,NMF的表达形式为X≈W

上式中,cost表示两者之间的误差,X表示原始矩阵,H表示系数矩阵,W表示特征矩阵;

不断通过迭代更新cost,最后选择最优情况下的W和H,在本发明中采用的DeepNMF方法,采用了3层的Deep NMF,因为采集到的CSI信号是在动作发生时,一段时间上多个子载波组成而成的矩阵,通过Deep NMF分解,第一层得到在每个时间点上多个子载波之间的关系,即时间上子载波之间的特征,第二层在此基础上提取更为抽象的特征,第三层主要是对数据做一个降维处理,由于后续的位置编码问题,Deep NMF每层分解的特征数都是为偶数;

另外,对本发明采用3层的Deep NMF进行解释说明,Deep NMF输出的系数矩阵作为输入后续网络的数据,关于Deep NMF的层数选择,如果此网络只有一层,也就是只进行简单的NMF,等特征数k=2时,其最终的分类准确率为60.6%,k=4时,其最终的准确率为63.9%,当k=6时,其准确率出现了明显的提高,准确率达到了91.9%,一层NMF的效果已经很好,但是其k值等于6,意味着Self-Attention层处理的每一列向量的长度为6,后续的全连接层的参数量也是数倍增加的,因此对第一层得到的系数矩阵再进行一层的NMF分解,提取更为抽象的特征,k=2时,其准确率为92.2%,k=4时,其准确率为92.5%,k=6时,其准确率为94.2%当k增加时其准确率都稳步提升,当k=8时,其准确率达到了93.9%,相比于k=6时,准确率有所下降,第二层的分解每一层都由于上一层分解的结果,但是k=6时后续的参数量还是比较大,因此进行第三层分解,在第三层分解时,k=2,4,6,8时其准确率已经变化不大,因此选择k=2作为Deep NMF网络的最终输出,k=2的输出相比于k=6的输出,其参数量减少了3倍之多,模型的训练变得更加简单,减少的参数的更新量,最终达到了95%的分类性能,如下表1所示:

表1 Deep NMF前两层K对应的准确率汇总表

因此,本发明采用3层的Deep NMF对CSI的子载波振幅进行特征提取处理。

S3、引入位置编码,通过自注意力机制分类器对低维特征系数矩阵进行分类处理,得到CSI信号数据分类结果。

具体地,引入位置编码,将位置编码与低维特征系数矩阵进行相加处理,得到相加后的低维特征系数矩阵;将相加后的低维特征系数矩阵输入至自注意力机制分类器进行分类处理,输出CSI信号数据分类结果;CSI信号数据分类结果为采集到的CSI信号数据中的不同动作,将相加后的低维特征系数矩阵输入至自注意力机制分类器;自注意力机制分类器包括Self-Attention层、第一归一化层、MLP网络和Dropout层;基于自注意力机制分类器的Self-Attention层,对相加后的低维特征系数矩阵进行特征提取处理,得到CSI信号在时间上的关系;基于自注意力机制分类器的第一归一化层,对CSI信号在时间上的关系进行归一化处理,得到归一化后的CSI信号时间关系;基于自注意力机制分类器的MLP网络,对归一化后的CSI信号时间关系进行辨识处理,输出初步的CSI信号数据分类结果;基于自注意力机制分类器的Dropout层,对初步的CSI信号数据分类结果进行正则化处理,得到CSI信号数据分类结果,其中,自注意力机制分类器的MLP网络包括残差层、第二归一化层和分类层;基于MLP网络的残差层,对归一化后的CSI信号时间关系进行映射处理,得到映射后的CSI信号时间关系;基于MLP网络的第二归一化层,对映射后的CSI信号时间关系进行归一化处理,得到待分类的CSI信号时间关系;基于MLP网络的分类层,对待分类的CSI信号时间关系进行分类处理,得到初步的CSI信号数据分类结果;

进一步的,本发明采用了3层的Deep NMF网络,每一层的特征数,也就是参数为6,6,2,将其经过Deep NMF处理之后得到的系数矩阵,放入Self-Attention层中,在放入Self-Attention层之前,将一个位置编码与原始数据相加,以此来添加输入数据的每一列的前后关系,因为Self-Attention机制是针对于全局特征,但是其是不知道每一列的前后关系的,加入位置编码之后可以让Self-Attention层得到CSI信号在时间上的关系,经过Self-Attention层之后可以得到新的数据,其形式为[q

综上所述,本发明提出采用Deep NMF与Self-Attention结合的方法去挖掘每一个子载波的关系,CSI数据在每一个时间点上对于其他时间点的关系,并采用此特征进行分类。本系统设计的算法相比于使用传统的机器学习方法,此系统避免了很多手工设计特征的过程,避免了由于人工特征设计不足而导致的最终分类性能不足;相比于以往的深度学习方法,性能上非常好,达到了95%的分类效果,在都为深度学习方法的方法中,相比于CNN、LSTM等网络,其参数量都少于大部分基于CNN、LSTM的方法,并且以往的方法在输入模型之前都采用了很多不同的预处理方法,本方法避免这种繁琐过程,并且其参数量少,占用内存低。此外,本方法的可解释性强,能够知道在Deep NMF和Self-Attention中,每一层提取的东西都能够通过数据可视化的方式,观察到其在时间上的规律,每个不同动作的提取出来的东西在时间上都有明显的特征,可通过数据可视化的方式直接观察到,Deep NMF能够找到一个数据在其时间长度上的变化特征,Self-Attention能把每个时间点上对整个时间序列的所有时间点的相关性找到,此相关性就是通过Deep NMF和Self-Attention找到的全局特征;

相比于以往研究者的工作,更关注于发掘CSI信号关于在时间上的全局特征,首先采用了深度非负矩阵分解(Deep Non-negative Matrix Factorization,Deep NMF)的方法来对原始信号进行处理,挖掘其最主要的特征,接着采用自注意力机制(Self-Attention)去寻找在某一个时刻上该时刻与其他时刻之间的关系,最后进行分类,Self-Attention机制的基本结构为输入数据每个列向量都有一个query(q),key(k),vector(v),将输入数据分别乘以三个矩阵W

参照图2,基于深度非负矩阵分解的CSI动作识别系统,包括:

振幅计算模块,用于采集CSI信号数据并对所述CSI信号数据进行子载波振幅计算处理,得到CSI的子载波振幅;

特征提取模块,用于通过深度非负矩阵分解方法对所述CSI的子载波振幅进行特征提取处理,得到低维特征系数矩阵;

分类模块,用于引入位置编码,通过自注意力机制分类器对所述低维特征系数矩阵进行分类处理,得到CSI信号数据分类结果。

上述方法实施例中的内容均适用于本系统实施例中,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。

以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

相关技术
  • 基于非负矩阵分解的人体动作视频识别方法
  • 基于非负矩阵分解的人体动作视频识别方法
技术分类

06120116483218