一种基于无线网络的人体姿态识别方法
技术领域
:本发明属于无线网络、人体姿态识别或机器学习领域。
背景技术
:目前,我国人体姿态识别相关的课题研究已经越来越贴近于日常生活,人体姿态识别的研究成果广泛应用于动作识别、人机交互和服装解析等领域。在现有的人体姿态识别研究中,文献[1]设计了基于WLAN的人员感知与入侵检测系统,利用了不同CSI相位矩阵的相似性差异,但此种使用特征值突变量的方法存在易受周围环境影响而不稳定的缺陷。文献[2]通过提取CSI幅度和相位的相关矩阵的最大和次大特征值来构成四维的特征向量,但识别率是否会随着特征向量的增加而有所提高还有待验证。文献[3]提出提取不同姿态对应的子载波特征方差,进而采用SRC算法对人体行为进行分类,但该方法的稳定性差,在人体活动不剧烈的情况下检测效果不理想。文献[4]为降低成本而省去了数据预处理的过程,其提取原始CSI数据的幅度的均值和方差作为特征,采用SVM进行人员感知,然而原始CSI数据中存在干扰信息,因此该方法的效果不理想。目前在人体姿态识别存在的问题和挑战为:
(1)随着人们对动作识别的要求不断提高,如何实现低成本、细颗粒度和高精度的要求。
(2)在室内环境中,如何降低多径效应以及如何处理WIFI信号中带来的各种环境噪声,处理复杂的应用环境。
发明内容
1、本发明需要且能够解决的技术问题:
本发明提供一种基于无线网络的人体姿态识别方法,能够克服环境噪声的影响,对比其他识别方法具有特征提取简单且特征识别率准确明显的优点,颗粒度细,能够降低多径效应,进而提高人体姿态识别的准确度,使得人体姿态估计效率更高、成本更低。
2、本发明具体的技术方案:
1.采集原始数据
2.对采集到的原始数据集进行矩阵变换。
3.对矩阵变换后数据集进行清洗和处理。
4.对清洗和处理后的数据集进行特征提取。
5.对提取的特征进行人体姿态识别,得到姿态识别结果。
一种基于无线网络的人体姿态识别方法,其特征在于:
1)采集原始数据集:
(2)对采集到的原始数据集进行矩阵变换;
通过MATLAB软件提取子载波,其中data_f,data_s,data_t代表第一根天线、第二根天线、第三根天线的子载波数据;
F(x)=xT (1)
其中x代表传入的子载波数据,T代表转置,将data_f,data_s,data_t传入进行矩阵转置;将转置之后得到的三组数据进行扁平化降维处理成(1,n)维度的数据,其中n代表数据的列数;然后通过numpy库的stack函数,将其拼接成(3,n)矩阵,其中n代表数据的列数;的,将用户编号,用户姿态,时间戳拼接到矩阵中,构建成(6,n),然后运用公式1,构建出原始数据集(r,6),其中r为行数;
将数据进行归一化处理,将数据变为0到1之间的数据,运用公式(2),其中x为传入的矩阵数据,MIN为该每一列数据的最小值,MAX为每一列数据的最大值;
(3)对矩阵变换后数据集进行清洗和处理:
设计了一个低通滤波器,在采集过程中,本文设计的滤波器发送频率为50Hz,经查阅,环境噪声为250Hz到500Hz;因此该低通滤波器设计为截止频率fp=30Hz,通带最大衰减αp=3dB,阻带起始频率fs=250Hz,阻带最小衰减αs=30dB;
通过公式(3)计算归一化频率λp是截止频率,λs是阻带开始频率,其中Ωp=2πfp,Ωp通带截止频率,Ωs=2πfs,Ωs通带开始频率;
的计算巴特沃斯的滤波器阶次N和参数C
经过公式(4)的计算得出参数C为1,α为中间变量;
计算得出滤波器阶次N为5阶;
经过软件中butter转移函数公式(7),计算出参数B,参数A
[B,A]=butter(N,λs,λp,C) (7)
y即为输出信号序列,其中x是输入信号,也就数据集的三个子载波序列,其中B是巴特沃斯滤波的分子,A是巴特沃斯滤波的分母,filter为软件中的滤波函数;
y=filter(B,A,x) (8)
在公式(8)输出滤波后的信号,对输入向量(三种子载波)进行去除异常值操作;Hampel函数计算样本及其周围六个样本组成的窗口的中值,每边三个;并利用中位数绝对值估计各样本对中值的标准差替换掉异常值,得到清洗和处理的数据集;通过本文设计的针对这一类的任务的滤波器和Hampel函数使的数据集相对于其他方法来说提高了数据集的整洁度;
(4)对清洗和处理后的数据集进行特征提取:
构建输入特征值,创建时间窗口,90乘50ms,也就是4.5秒,每次前进45条记录,采用半重叠的方式;然后创建输入数据,每一组包含三种子载波连续90条数据,称为一个片段姿态特征值,其中统计90条数据中的用户活动,出现次数最多的一个为本组数据的标签名;
(5)对提取的特征进行人体姿态识别,得到姿态识别结果
将数据集分成训练集、验证集、测试集;具体的本文使用的SVM算法为:
训练集数据T表示为:
T={(x1,y1),(x2,y2),...,(xn,yn)} (9)
xi属于一个多维空间,且y的值为0,1,2,3,4其中一个,且n=1,2,…,n;n为大于等于1的整数;xi为第i个特征向量,yi为标签名(跑0、坐1、站2、上下楼梯3、走4);
构造并求解凸二次规划问题,其中αi,αj表示对应yiyj的系数,α*表示最优解,α的物理意义就是寻找一个最优解满足公式(10),通过α的不断优化来寻找到最优超平面,从而得到SVM面对的分类问题的界限:
0<αi<M,i=1,2,3...n (12)
公式10,11,12求得最优解
其中代表函数yi中对应自变量xi的最优系数,共计有n个,公式13计算系数b*,b*代表函数yi中对应常量的最优解,共计有n个;
计算出的α*,b*带入公式(15)
使用高斯核函数,惩罚系数M=8,求解α*使用梯度下降法,高斯核函数K(xi,xj)如公式所示;K的物理含义为函数代指后面方程,共有两个自变量;其中σ2是xi,xj的标准差;
求解f(x),将结果与真实值标签进行比对,当f(x)=0,证明匹配训练结果是跑,当f(x)=1,证明匹配训练结果是坐,当f(x)=2,证明匹配训练结果是站,当f(x)=3,证明匹配训练结果是上下楼梯,当f(x)=4,证明匹配训练结果是走。
3、本发明所能达到的效果:
从经济角度出发:本方法相比于传统的传感器系统和计算机视觉系统极大的降低了成本。尤其是随着无线网和5G技术的普及,使得本项技术可以深入到每个家庭。搭建简单,所需设备基本普通家庭都具有。
从社会角度出发:本方法相比于传统的传感器系统和计算器视觉系统极大的保护了个人隐私。在计算机视觉系统中,视频流会携带个人的面部特征、身体特征、环境特征,如果视频流遭到泄露,同时会将个人特征信息全部对外暴露,有较大的隐患。而本方法只需要通过无线网采集个人姿态,并不需要采集人体的面部特征、环境特征等。安全性强。
从技术角度出发:本方法相比于传统的传感器系统和计算器视觉系统搭建简单,能够熟悉使用Linux系统和Windows系统的使用者均可构建。
附图说明
:图1实验环境
图2实验流程
图3混淆矩阵
具体实施方式
实验环境为普通空实验室,其中发送端和接收端间距为1.5米,实验人员仅需在发送端和接收端之间进行姿态表示。
图3展示了五中姿态分别是跑0、坐1、站2、上下楼梯3、走4对应的识别情况,体现了一个很准确的识别情况。
表格1不同分类器的准确率
表1展示的是运用不同的分类器得出的准确率结果,其中SVC的分类效果最好。也是本文采用的分类器。
表格2不同方法对比
表2展示的是不同实验的准确率,其中本文基于片段姿态特征值CSI-SPE方法的准确率最高。明显优于其他方法。
表格3清洗与处理后数据集样式
表格3展现了本发明经过实施方案(2)后的数据集格式。
1)采集原始数据集:
1.准备一台已经安装Linux Ubuntu系统的主机、一个Intel 5300网卡、三根接收天线,一个支持802.11n协议的路由器。将CSI TOOLS工具安装到主机上,然后将路由器配置成AP模式。然后从主机进行ping命令进行发包,通过天线进行接收数据存储到文件中。
(2)对采集到的原始数据集进行矩阵变换。
通过MATLAB软件提取子载波,其中data_f,data_s,data_t代表第一根天线、第二根天线、第三根天线的子载波数据。
F(x)=xT (1)
其中x代表传入的子载波数据,T代表转置,将data_f,data_s,data_t传入进行矩阵转置。将转置之后得到的三组数据进行扁平化降维处理成(1,n)维度的数据,其中n代表数据的列数。然后通过numpy库的stack函数,将其拼接成(3,n)矩阵,其中n代表数据的列数。进一步的,将用户编号(UserId),用户姿态(Activity),时间戳(Timestamp)拼接到矩阵中,构建成(6,n),然后运用公式1,构建出原始数据集(n,6),其中n为行数,在本数据集中n为30000。
进一步的,将数据进行归一化处理,将数据变为0到1之间的数据,运用公式2,其中x为传入的矩阵数据,MIN为该每一列数据的最小值,MAX为每一列数据的最大值。
(3)对矩阵变换后数据集进行清洗和处理:
进一步的,将(2)中得到的数据进行清洗和处理,其中,本文设计了一个低通滤波器,在采集过程中,本文设计的滤波器发送频率为50Hz,经查阅,环境噪声为250Hz到500Hz。因此该低通滤波器设计为截止频率fp=30Hz,通带最大衰减αp=3dB,阻带起始频率fs=250Hz,阻带最小衰减αs=30dB。
进一步的,通过公式3计算归一化频率λp是截止频率,λs是阻带开始频率,其中Ωp=2πfp,Ωp通带截止频率,Ωs=2πfs,Ωs通带开始频率。
进一步的计算巴特沃斯的滤波器阶次N和参数C
经过公式4的计算得出参数C为1,α为中间变量。
经过公式5和公式6计算得出滤波器阶次N为5阶
进一步经过软件中butter转移函数(公式7),计算出参数B,参数A
[B,A]=butter(N,λs,λp,C) (7)
进一步的y即为输出信号序列,其中x是输入信号,也就数据集的三个子载波序列,其中B是巴特沃斯滤波的分子,A是巴特沃斯滤波的分母,filter为软件中的滤波函数。
y=filter(B,A,x) (8)
进一步的,在公式8输出滤波后的信号,对输入向量(三种子载波)进行去除异常值操作。Hampel函数计算样本及其周围六个样本组成的窗口的中值,每边三个。并利用中位数绝对值估计各样本对中值的标准差替换掉异常值,得到清洗和处理的数据集。通过本文设计的针对这一类的任务的滤波器和Hampel函数使的数据集相对于其他方法来说提高了数据集的整洁度。
(4)对清洗和处理后的数据集进行特征提取:
进一步的,在(3)的基础上,构建输入特征值,创建时间窗口,90乘50ms,也就是4.5秒,每次前进45条记录,采用半重叠的方式。然后创建输入数据,每一组包含三种子载波连续90条数据,称为一个片段姿态特征值(Channel State Information-Segment PostureEigenvalue,CSI-SPE),其中统计90条数据中的用户活动,出现次数最多的一个为本组数据的标签名。
(5)对提取的特征进行人体姿态识别,得到姿态识别结果
进一步的,在(4)的基础上,将数据集按照7:2:1分成训练集、验证集、测试集。具体的本文使用的SVM算法为:
训练集数据T表示为:
T={(x1,y1),(x2,y2),...,(xn,yn)} (9)
公式9中,xi属于一个n维空间,且y的值为0,1,2,3,4其中一个,且n=1,2,…,n;n为大于等于1的整数;xi为第i个特征向量,yi为标签名(跑0、坐1、站2、上下楼梯3、走4)。本发明中,特征向量的组成是片段姿态特征值(Channel State Information-SegmentPosture Eigenvalue,CSI-SPE)
2.选择适当的核函数和惩罚参数M>0,构造并求解凸二次规划问题,其中αi,αj表示对应yiyj的系数,α*表示最优解,α的物理意义就是寻找一个最优解满足公式10,通过α的不断优化来寻找到最优超平面,从而得到SVM面对的分类问题的界限:
0<αi<M,i=1,2,3...n (12)
公式10,11,12求得最优解(一般使用梯度下降法)
其中代表函数yi中对应自变量xi的最优系数,共计有n个,公式13计算系数b*,b*代表函数yi中对应常量的最优解,共计有n个。
将公式13,14计算出的α*,b*带入公式15
本发明使用高斯核函数,惩罚系数M=8,求解α*使用梯度下降法,高斯核函数K(xi,xj)如公式16所示。K的物理含义为函数代指后面方程,共有两个自变量。其中σ2是xi,xj的标准差。
求解f(x),将结果与真实值标签进行比对,当f(x)=0,证明匹配训练结果是跑,当f(x)=1,证明匹配训练结果是坐,当f(x)=2,证明匹配训练结果是站,当f(x)=3,证明匹配训练结果是上下楼梯,当f(x)=4,证明匹配训练结果是走。
(6)对结果进行验证:
本文采用混淆矩阵和混淆矩阵的二级指标来进行验证,相对于本文所参考的其他技术,都有明显的优势,本文设计的滤波器以及提取特征方法优于其他方法,经过多次实验,结果准确率达到了98%左右。
参考文献:
[1].LI L X.Research and Design of Personnel Perception and IntrusionDetection Technology Based on WLAN[D].Beijing:Beijing University of Posts andTelecommunications,2018.
[2].QIAN K,WU C,YANG Z,et al.Enabling Contactless Detection of MovingHumans with Dynamic Speeds Using CSI[J].ACM Transactions on EmbeddedComputing Systems,2018,17(2):1-18.
[3].XIAO L,PAN H.Human motion recognition system based on Wi-Fisignal[J].Journal of Beijing University of Posts and Telecommunications,2018,41(3):119-124.
[4].WANG T,YANG D D,ZHANG S Q,et al.Wi-Alarm:Low-Cost PassiveIntrusion DetectionUsing Wi-Fi[J].Sensors,2019,19(10):2335.
[5].郝占军,张岱阳,党小超,段渝.一种基于CSI的非接触式人员动作识别方法[J/OL].计算机工程:1-13[2021-03-07].https://doi.org/10.19678/j.issn.1000-3428.0057612.
[6].阴庚雷,丁文超,张俊宝.基于时间卷积网络的CSI动作识别[J].中原工学院学报,2020,31(05):59-65.
[7].郭阿英,许志猛,陈良琴.一种基于WiFi信道状态信息的人体动作识别方法[J].传感技术学报,2019,32(11):1688-1693。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种婴儿睡眠监测系统以及方法和设备