欢迎来到知嘟嘟! 联系电话:13336804447 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13336804447
知嘟嘟经纪人
收藏
专利号: 2019110787853
申请人: 宁波大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-04-18
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于深度学习的无源人体运动识别方法,其特征在于包括以下步骤:

①配备WISP(Wireless Identification and Sensing Platform),并将与WISP对应的WISP源码文件装载到一台笔记本电脑上,打开笔记本电脑上的WISP源码文件对WISP的参数进行设置:将WISP源码文件中WISP上三轴加速度传感器的采样频率参数设置为30Hz;参数设置完成后,将笔记本电脑与WISP通过MSP430USB仿真器相连将WISP源码文件下载到WISP中,下载完成后,将WISP阅读器与笔记本电脑通过USB相连,此时,WISP阅读器与WISP通过无线网络进行通讯,WISP阅读器与笔记本电脑通过USB连接后进行通信;

②样本数据采集:将WISP依次佩戴于N名测试人员腰腹位置,N为大于等于5且小于等于

10的整数,每个佩戴有WISP的测试人员分别独自完成上楼、下楼、站立、行走、卧躺和跑步这

6种日常人体行为,其中,上楼为第1种行为,下楼为第2种行为,站立为第3种行为,行走为第

4种行为,卧躺为第5种行为,跑步为第6种行为;对每种行为连续采样时长为3分钟,采样频率为30Hz,每个测试人员佩戴的WISP依次获取该测试人员6种行为的三轴加速度数据并通过无线方式发送给所述的WISP阅读器,所述的WISP阅读器将接收到的三轴加速度数据发送给笔记本电脑,在笔记本电脑中将这些三轴加速度数据保存为data.csv文件,其中第n个测试人员第a种行为的X轴加速度序列记为 第n个测试人员第a种行为的Y轴加速度序列记为 第n个测试人员第a

种行为的Z轴加速度序列记为 其中 为第n个测试人

员第a种行为的X轴加速度序列中第m个加速度数据, 为第n个测试人员第a种行为的Y轴加速度序列中第m个加速度数据, 为第n个测试人员第a种行为的Z轴加速度序列中第m个加速度数据,a=1,2,3,4,5,6,n=1,2,...,N,m=1,2,...,M,M为采样数据量,由采样时长和采样频率计算得到;

③行为特征提取:

③-1在笔记本电脑上使用matlab读取data.csv文件,获得第n个测试人员第a种行为的X轴加速度序列 Y轴加速度序列 和Z轴加速度序列 使用matlab分别对和 进行加窗处理,其中窗口长度设置为128,重叠率设置为50%,分别得到

和 的加窗数据序列,将第n个测试人员第a种行为的X轴加速度序列 的加

窗数据序列记为 Vin,a表示加窗数据序列 中第i个加窗

数据,i=1,2,…,M', 将第n个测试人员第a种行为的Y轴加速度序列 的加窗数据序列记为 表示加窗数据序列 中第i个加窗数据,将第n个测试人员第a种行为的Z轴加速度序列 的加窗数据序列记为

表示加窗数据序列 中第i个加窗数据;

使用matlab分别对加窗数据序列 和 进行特征提取,分别获取 和

的均值、标准差、任意两轴相关系数和FFT 64维系数,具体为:

将N名测试人员第a种行为的X轴加速度序列的加窗数据序列的均值记为 采用公式

(1)计算得到

将N名测试人员第a种行为的Y轴加速度序列的加窗数据序列的均值记为 采用公式

(2)计算得到

将N名测试人员第a种行为的Z轴加速度序列的加窗数据序列的均值记为 采用公式

(3)计算得到

将N名测试人员第a种行为的X轴加速度序列的加窗数据序列的标准差记为 采用公

式(4)计算得到

将N名测试人员第a种行为的Y轴加速度序列的加窗数据序列的标准差记为 采用公

式(5)计算得到

将N名测试人员第a种行为的Z轴加速度序列的加窗数据序列的标准差记为 采用公

式(6)计算得到

式(1)~式(6)中,∑表示求和运算符号;

采用N个测试人员第a种行为的X轴加速度序列的加窗数据序列 构成第一矩阵Sx,将Sx采用式(7)表示为:采用N个测试人员第a种行为的Y轴加速度序列的加窗数据序列 构成第二矩阵Sy,将Sy采用式(8)表示为:采用N个测试人员第a种行为的Z轴加速度序列的加窗数据序列 构成第三矩阵Sz,将Sz采用式(9)表示为:将第一矩阵Sx和第二矩阵Sy之间的相关系数记为Corr(Sx,Sy),将第一矩阵Sx和第三矩阵Sz之间的相关系数记为Corr(Sx,Sz),将第二矩阵Sy和第三矩阵Sz之间的相关系数记为Corr(Sy,Sz),分别采用公式(10)、(11)和(12)计算得到Corr(Sx,Sy)、Corr(Sx,Sz)和Corr(Sy,Sz):其中,cov()为matlab中用于计算两个矩阵的协方差的函数,cov(Sx,Sy)表示第一矩阵Sx和第二矩阵Sy的协方差,cov(Sx,Sz)表示第一矩阵Sx和第三矩阵Sz的协方差,cov(Sy,Sz)表示第二矩阵Sy和第三矩阵Sz的协方差,σx为第一矩阵Sx的方差,σy为第二矩阵Sy的方差,σz为第三矩阵Sz的方差;

对第一矩阵Sx、第二矩阵Sy和第三矩阵Sz分别使用快速傅里叶变化转换得到变换矩阵,将第一矩阵Sx的变换矩阵记为Px,将第二矩阵Sy的变换矩阵记为Py,将第三矩阵Sz的变换矩阵记为Pz,Px、Py和Pz采用公式(13)、(14)和(15)分别表示为:其中, 为 使用快速傅里叶变化转换得到的变换矩阵, 为 使用快速傅里叶

变化转换得到的变换矩阵, 为 使用快速傅里叶变化转换得到的变换矩阵;

从 的第1行第1个数据开始按行依次选取64个数据构建第一个FFT 64维系数f1,f1采用公式(16)表示为:从 的第1行第1个数据开始按行依次选取64个数据构建第二个FFT 64维系数f2,f2采用公式(17)表示为:从 的第1行第1个数据开始按行依次选取64个数据构建第三个FFT 64维系数f3,f3采用公式(18)表示为:将所有测试人员第a种行为的初始特征向量记为 将

Corr(Sx,Sy)、Corr(Sx,Sz)、Corr(Sy,Sz)、f1的64个数据、f2的64个数据和f3的64个数据依次排列组成维数为202的向量,该向量即为在matlab中使用PCA和LDA将所有测试人员第a种行为的初始特征向量 的维数降到

15,得到第a种行为的更新特征向量,将该更新特征向量记为ua,ua采用式(19)表示为:

④重复步骤②和步骤③共50次,得到50个第a种行为的更新特征向量,采用50个第a种行为的更新特征向量构建第a种行为的特征矩阵,将第a种行为的特征矩阵记为Ga,G1为上楼的特征矩阵,G2为下楼的特征矩阵,G3为站立的特征矩阵,G4为行走的特征矩阵,G5为卧躺的特征矩阵,G6为跑步的特征矩阵,每种行为的特征矩阵的维度均为50×15;G1,G2,G3,G4,G5,G6分别采用式(20)、(21)、(22)、(23)、(24)和(25)表示为:其中, 为第n'次得到的第a种行为的更新特征向量,n'=1,2,...,50。

构建包括两列数据的训练集,训练集中第一列数据记为Xt,第二列数据记为Yt,Xt表示训练数据,Yt表示训练数据对应的行为类别,一个Xt和一个Yt构成一个训练数据组,使用matlab获取G1~G6的前40行数据作为训练集的训练数据,G1的40行数据对应的Yt均为1,G2的

40行数据对应的的Yt均为2,G3的40行数据对应的Yt均为3,G4的40行数据对应的Yt均为4,G5的40行数据对应的Yt均为5,G6的40行数据对应的Yt均为6,构建得到的训练集中共包括240个训练数据组,将训练集在笔记本电脑中保存为train.csv,构建包括两列数据的验证集,验证集中第一列数据记为Xv,第二列数据记为Yv,Xv表示验证数据,Yv表示验证数据对应的行为类别,一个Xv和一个Yv构成一个验证数据组,获取G1~G6的后10行数据作为验证集的验证数据,G1的10行数据对应的Yv均为1,G2的10行数据对应的Yv均为2,G3的10行数据对应的Yv均为3,G4的10行数据对应的Yv均为4,G5的10行数据对应的Yv均为5,G610行数据对应的Yv均为6,,验证集中共包括60个验证数据组,将验证集在笔记本电脑中保存为test.csv;

⑤在笔记本电脑中使用tensorflow构建深度神经网络模型:所述的神经网络模型包括从左到右排列的输入层、第一隐藏层、第二隐藏层、第三隐藏层和输出层,所述的输入层具有k0个神经单元,k0=15,所述的第一隐藏层具有k1个神经单元,k1=50,所述的第二隐藏层具有k2个神经单元,k2=50,所述的第三隐藏层具有k3个神经单元,k3=50,所述的输出层具有k4个神经单元,k4=6,所述的深度神经网络模型中,位于同一层的任意两个神经单元之间互不连接,位于相邻两层的任意两个神经单元之间全连接,每个所述的神经单元分别具有激活状态和关闭状态,当所述的神经单元为激活状态时,其取值为1,当所述的神经单元为关闭状态时,其取值为0;设置所述的第一隐藏层、所述的第二隐藏层和所述的第三隐藏层的激活函数均为sigmoid函数,所述的输出层的激活函数为softmax函数,所述的输入层与所述的第一隐藏层之间存在权重w0,w0为15行50列的矩阵,所述的第一隐藏层和所述的第二隐藏层之间存在权重w1,w1为50行50列的矩阵,所述的第二隐藏层和所述的第三隐藏层之间存在权重w2,w2为50行50列的矩阵,所述的第三隐藏层和所述的输出层之间存在权重w3,w3为50行6列的矩阵,所述的第一隐藏层存在偏置b1,b1为50行1列的矩阵,所述的第二隐藏层存在偏置b2,b2为50行1列的矩阵,所述的第三隐藏层存在偏置b3,b3为50行1列的矩阵;

将权重w0、权重w1、权重w2和权重w3分别初始化为平均值为0,方差为1的矩阵,将偏置b1、偏置b2和偏置b3分别初始化为全0矩阵,将深度神经网络模型在训练过程中学习到权重和偏置变化的快慢采用学习率表示,设置学习率为0.03,设置深度神经网络模型的代价函数为交叉熵函数,代价函数用来比较预测值与实际值的差异,进而在深度神经网络模型训练过程中调整各权重和各偏置;将深度神经网络模型的输入数据记为Xi,Xi为10行15列的矩阵,将深度神经网络模型的实际输出值记为Yr,Yr为10行6列的矩阵,将深度神经网络模型的预测输出值记为Yi,将第一隐藏层的输出记为a1,将第二隐藏层的输出记为a2,将第三隐藏层的输出记为a3,将深度神经网络模型的预测输出值与实际输出值之间的误差记为E,将第一隐藏层的网络前向传播过程、第二隐藏层的网络前向传播过程、第三隐藏层的网络前向传播过程、深度神经网络模型的预测输出值以及深度神经网络模型的预测输出值与实际输出值之间的误差分别采用式(26)、(27)、(28)、(29)和(30)表示为:a1=sigmoid(Xiw0+b1)                 (26)

a2=sigmoid(a1w1+b2)                  (27)

a3=sigmoid(a2w2+b3)                  (28)

Yi=sigmoid(a3w3)                     (29)

E=-∑(Yr*log(Yi))                   (30)

其中,*表示乘运算符号,log表示对数运算符号,∑表示求和运算符号;

⑥设置深度神经网络模型训练次数为5000,在后续训练过程中tensorflow自动调用反向传播算法调整权重和偏置对深度神经网络模型进行训练:在笔记本电脑上使用python读取train.csv文件,得到训练数据组Xt和Yt,读取test.csv文件,得到验证数据组Xv和Yv,在训练过程中,从Xt的第1行数据开始,每一次训练按照Xt数据的排列顺序取10行数据作为输入数据Xi,若取得的数据到达Xt尾部则返回第1行开始继续取,同理,在训练过程中,从Yt的第1行数据开始,每一次训练按照Yt数据的排列顺序取10行数据作为深度神经网络模型的实际输出值Yr,Yr即实际行为类别值,若取得的数据到达Yt尾部则返回第1行开始继续取,在每次训练过程中按照式(26)、(27)、(28)、(29)、(30)进行前向传播计算得到该次训练的误差E后,tensorflow自动调用反向传播算法调整权重w0、权重w1、权重w2、权重w3、偏置b1、偏置b2和偏置b3更新式(26)、(27)、(28)、(29)和(30);

在训练过程中,每训练100次需要对当前深度神经网络模型的误差进行验证,具体验证过程为:从Xv的第1行数据开始,每一次验证按照Xv数据的排列顺序取10行数据作为深度神经网络模型的输入数据,取完为止总共需要取6次,同理,在验证过程中,从Yv的第1行数据开始,每一次验证按照Yv数据的排列顺序取10行数据作为深度神经网络模型的实际输出数据Yr,在每次验证过程中按照式(26)、(27)、(28)、(29)、(30)进行前向传播计算得到该次训练的误差E,验证过程将Xv和Yv的数据取完为止,总共需要取6次,也就是每次验证过程验证6次,如果当前训练过程中6次得到的误差E相同,则深度神经网络模型训练完成,如果当前训练过程中6次得到的误差E不完全相同,则在该验证过程结束后判定是否已经达到设定的训练次数,如果已经达到,则深度神经网络模型训练完成,如果未达到,再次进行下一次的训练,直至满足深度神经网络模型训练完成条件;

⑧采用训练完成的深度神经网络模型训练对待识别人员运动类别进行识别,具体过程为:待识别人员将WISP佩戴在腹部位置的外衣上进行日常活动,WISP采集该人员当前行为的三轴加速度数据,并通过无线的方式发送给WISP阅读器,其中加速度数据包括X轴加速度序列、Y轴加速度序列和Z轴加速度序列,WISP阅读器再将该人员当前行为的X轴加速度序列、Y轴加速度序列和Z轴加速度序列通过有线的方式发送给笔记本电脑,在笔记本电脑上采用matlab按照步骤③的方法对该人员当前行为的X轴加速度序列、Y轴加速度序列和Z轴加速度序列进行处理,得到该人员当前行为的更新特征向量,将该人员当前行为的更新特征向量作为训练后的深度神经网络模型的输入数据输入到该深度神经网络模型,该深度神经网络模型的输出数据即对应为该人员的人体运动类型,当该深度神经网络模型的输出数据为1时,表示该人员在进行上楼行为,该人员的人体运动类型为上楼,当该深度神经网络模型的输出数据为2时,表示该人员在进行下楼行为,该人员的人体运动类型为下楼,当该深度神经网络模型的输出数据为3时,表示该人员在进行站立行为,该人员的人体运动类型为站立,当该深度神经网络模型的输出数据为4时,表示该人员在进行行走行为,该人员的人体运动类型为行走,当该深度神经网络模型的输出数据为5时,表示该人员在进行卧躺行为,该人员的人体运动类型为卧躺,当该深度神经网络模型的输出数据为6时,表示该人员在进行跑步行为,该人员的人体运动类型为跑步。