1.一种基于知识蒸馏的手势识别方法,其特征在于,包括以下步骤:采集手势的CSI数据,并对所述CSI数据进行去噪处理;
采用主成分分析和局部异常因子算法,对去噪后的所述CSI数据进行分割,获得动态手势;
基于主成分分析和局部异常因子的动态手势分割算法的计算过程为:Step1:通过PCA算法对每条天线的CSI矩阵进行降维,得到每条天线中贡献率最大的主成分分量;其中,PCA算法的计算过程为:首先,对采集的样本去中心化,CSI矩阵表示为 , 的矩阵维度表示为 ,计算过程为:
,
然后,求解协方差矩阵,计算过程为:
,
再对矩阵C进行特征分解,将得到的特征值由大到小排序,获取特征值对应的特征向量矩阵V,表示为:,
最后,将矩阵按照贡献率映射到新的特征空间Y中,计算过程为:,
Step2:LOF算法通过计算第一主成分分量中各数据点的相对密度,从而分割出动态手势;LOF算法的计算过程为:假设CSI矩阵中有两个点,分别为 点和 点, 表示两点间的距离;同时,定义点的第 距离为 ,第 距离必须满足在以 点为圆点、 为半径的圆内最多有不包括 点在内的 个点;其中,第 距离邻域点的个数;得到 点到 点的距离为:
,
则 点的局部密度为:
,
由此推导得到 点的局部离群因子为:
,
当人体处于静止状态时,CSI的波动幅度小,相对稳定;当手势发生时,CSI的波动幅度大;因此,根据求得的LOF值判断手势的起始点,当LOF值小于等于1时,说明点周围密度均匀,数据点相对密集,为静止状态;当LOF值大于1时,说明点周围密度低,为异常点,手势发生;
将所述动态手势构建为手势图像,并对所述手势图像进行预处理;
将所述动态手势构建为手势图像的方法为:将所述动态手势的振幅和相位按行进行拼接;
将拼接后的所述动态手势进行整合,获得所述手势图像;
将手势图像按照时间顺序依次输入到EfficientNet网络提取空间特征,EfficientNet网络的关键就是堆叠了多层MBConv模块,为了使模型具有更好的性能,采用了ECA模块代替了MBConv中原来的SE模块,为了提高特征提取效果,在输入GRU网络之前采用2层全连接层对特征进行降维,再采用GRU挖掘图像之间的时序关联,GRU网络的隐层节点数一个为128,一个为56,网络层数分别为1,最后经过全连接层后采用 函数输出每种手势的概率值;
构建EfficientNet‑GRU模型;
采用知识蒸馏的方法,对所述EfficientNet‑GRU模型进行压缩,基于压缩后的所述EfficientNet‑GRU模型,完成对预处理后的所述手势图像的分类;
将EfficientNet‑GRU网络作为教师模型,MoblieNet‑GRU网络作为学生模型;
采用两个教师模型来提升学生模型的分类表现:选择EfficientNet‑B3‑GRU作为教师模型1,EfficientNet‑B0‑GRU作为教师模型2,以算数平均的方式得到软标签的损失函数为:,
式中, 表示教师模型1的软标签损失函数; 表示教师模型2的软标签损失函数;
采用MoblieNetV2‑GRU作为学生模型,MoblieNetV2网络在bottleneck内部引入倒残差块;改用了ReLU6激活函数,ReLU6的数学表达式为:。
2.根据权利要求1所述的基于知识蒸馏的手势识别方法,其特征在于,对所述手势图像进行预处理的方法为:采用transforms.Resize方法,对所述手势图像的尺寸进行调整,获得大小一致的手势图像;
采用transforms.Normalize方法,对所述大小一致的手势图像进行标准化处理。
3.一种基于知识蒸馏的手势识别系统,其特征在于,包括:采集模块、获得模块、预处理模块、构建模块和分类模块;
所述采集模块用于采集手势的CSI数据,并对所述CSI数据进行去噪处理;
所述获得模块用于采用主成分分析和局部异常因子算法,对去噪后的所述CSI数据进行分割,获得动态手势;
基于主成分分析和局部异常因子的动态手势分割算法的计算过程为:Step1:通过PCA算法对每条天线的CSI矩阵进行降维,得到每条天线中贡献率最大的主成分分量;其中,PCA算法的计算过程为:首先,对采集的样本去中心化,CSI矩阵表示为 , 的矩阵维度表示为 ,计算过程为:
,
然后,求解协方差矩阵,计算过程为:
,
再对矩阵C进行特征分解,将得到的特征值由大到小排序,获取特征值对应的特征向量矩阵V,表示为:,
最后,将矩阵按照贡献率映射到新的特征空间Y中,计算过程为:,
Step2:LOF算法通过计算第一主成分分量中各数据点的相对密度,从而分割出动态手势;LOF算法的计算过程为:假设CSI矩阵中有两个点,分别为 点和 点, 表示两点间的距离;同时,定义点的第 距离为 ,第 距离必须满足在以 点为圆点、 为半径的圆内最多有不包括 点在内的 个点;其中,第 距离邻域点的个数;得到 点到 点的距离为:
,
则 点的局部密度为:
,
由此推导得到 点的局部离群因子为:
,
当人体处于静止状态时,CSI的波动幅度小,相对稳定;当手势发生时,CSI的波动幅度大;因此,根据求得的LOF值判断手势的起始点,当LOF值小于等于1时,说明点周围密度均匀,数据点相对密集,为静止状态;当LOF值大于1时,说明点周围密度低,为异常点,手势发生;
所述预处理模块用于将所述动态手势构建为手势图像,并对所述手势图像进行预处理;
将所述动态手势构建为手势图像的方法为:将所述动态手势的振幅和相位按行进行拼接;
将拼接后的所述动态手势进行整合,获得所述手势图像;
将手势图像按照时间顺序依次输入到EfficientNet网络提取空间特征,EfficientNet网络的关键就是堆叠了多层MBConv模块,为了使模型具有更好的性能,采用了ECA模块代替了MBConv中原来的SE模块,为了提高特征提取效果,在输入GRU网络之前采用2层全连接层对特征进行降维,再采用GRU挖掘图像之间的时序关联,GRU网络的隐层节点数一个为128,一个为56,网络层数分别为1,最后经过全连接层后采用 函数输出每种手势的概率值;
所述构建模块用于构建EfficientNet‑GRU模型;
所述分类模块用于采用知识蒸馏的方法,对所述EfficientNet‑GRU模型进行压缩,基于压缩后的所述EfficientNet‑GRU模型,完成对预处理后的所述手势图像的分类;
将EfficientNet‑GRU网络作为教师模型,MoblieNet‑GRU网络作为学生模型;
采用两个教师模型来提升学生模型的分类表现:选择EfficientNet‑B3‑GRU作为教师模型1,EfficientNet‑B0‑GRU作为教师模型2,以算数平均的方式得到软标签的损失函数为:,
式中, 表示教师模型1的软标签损失函数; 表示教师模型2的软标签损失函数;
采用MoblieNetV2‑GRU作为学生模型,MoblieNetV2网络在bottleneck内部引入倒残差块;改用了ReLU6激活函数,ReLU6的数学表达式为:。