一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于协方差矩阵变换的卷积神经网络用于人体姿态识别方法与流程

2021-11-15 17:05:00 来源:中国专利 TAG:


1.本发明属于姿态传感器数据识别领域,尤其涉及一种基于协方差矩阵变换的卷积神经网络用于可穿戴式设备的人体姿态识别方法。


背景技术:

2.随着科技的进步以及社会的发展,人工智能达到了空前的发展高度,已经融入到生活中的方方面面,对于智能设备而言,更好的检测人体活动和所处状态是必要的研究方向,在便利人们生活的同时也可以改善人们的日常行为。可穿戴设备中集成越来越多的传感器,并应用到了多种领域:理疗保健,运动识别,社交等等,传感器获得的带有时间序列数据作为研究对象,针对不同模型采取合理的预测,可以得到关于人体状态有关的信息。姿态研究主要分为基于视频图像和基于传感器数据两种类型,本质上都是通过大数据的输入,使可学习的神经网络在一定的样本训练下能够自主识别用户状态。相较于基于视频或图片的姿态识别,基于传感器数据的姿态识别由于其抗干扰能力强,环境不受限,所需成本低等优势已经逐渐成为主流方法。在大多数基于传感器的姿态识别方法中,用户必须佩戴多个专用运动传感器并附加到身体的特定部位,虽然这些方法已经能够实现高识别性能,但是它们对位置的限制不太适合人体的长期监测。随着技术的发展,诸如智能手机带有的各种嵌入式传感器(如加速度计,陀螺仪和磁力仪等)可以用于提取大量有价值的传感器数据,并且已经成功用于人体姿态识别。
3.机器学习从20世纪计算机兴起时候就已经被研究,直到目前的人工智能中深度学习的提出,卷积神经网络才进入大众的视野,从最初的手工提取特征到使用全连接层一直到目前卷积层自动提取有用的特征,从支持向量机,决策树,贝叶斯模型到现在深度学习模型,姿态的识别精度已经有了很大的提升,且随着算力的提升,计算机的数据处理能力有了质的提升,并应用在各种模式识别和图像识别中。人体姿态识别属于典型的识别问题,卷积神经网络(cnn)在人体姿态识别(har)中的广泛应用推动了这一过程的发展,显示出了最先进的性能,扩展了应用范围,而越来越多的研究人员开始投身这一领域。由于智能手机采集到的传感器数据在时间上有序,在卷积网络中每层卷积都会导致数据之间的相关性逐渐增加,因此这也是当前卷积层存在的问题之一。


技术实现要素:

4.发明目的:本发明在针对出现的数据相关问题,目的是提供一种基于协方差矩阵变换的卷积神经网络用于人体姿态识别方法,在一定程度上解决相关性导致识别精度衰减和运算时长的问题。
5.技术方案:一种基于协方差矩阵变换的卷积神经网络用于人体姿态识别方法,根据本发明具体实施的方面,包括如下步骤:
6.step1,利用智能手机等可穿戴设备中的传感器采集人体姿态动作信号数据,得到不同类别的动作属性,例如行走,上下楼,奔跑,跌倒等;
7.step2,对采集到的动作信号进行数据预处理,数据归一化,1范数处理,固定步长的滑窗处理,按照数据属性划分并添加相应的动作标签;
8.step3,搭建带有协方差矩阵的卷积神经网络,设置超参数以及数据批次,将已经处理完的数据作为输入向量送入网络训练,利用梯度下降反向传播来更新卷积核的权重值,达到最优网络性能;
9.step4,利用公开数据集检测模型的泛化能力,并将训练好的网络模型迁移到android客户端,可以利用智能手机的加速度传感器实时检测人体所处状态。
10.所述step1中,具体实施采集数据过程中,采样频率为20hz,采取3轴加速度传感器和陀螺仪数据,分别为身体加速方向和转动角度,得到带有时间序列的传感器数据。
11.所述step2中数据预处理部分,对数据进行1范数处理,剔除噪声数据,将所有数据压缩在0

1之间,不改变数据包含的传感器信息,然后滑窗处理使数据带有标签,且增加数据量,处理后的数据被分为70%的训练集和30%的测试集:
12.所述step3搭建的卷积神经网络中搭建三层卷积层和两层全连接层,每层卷积核大小被设置成3x3,滑动步长为1,,依次为64层卷积—128层卷积—256层卷积—全连接层(softmax),整个网络的核心是基于二维离散卷积,其基本卷积公式为:
[0013][0014]
其中a是被上一层矩阵,k是卷积核,b是卷积后的特征输出,应用在神经网络时候卷积层公式为:
[0015][0016]
其中output为下一层的输入,每一个卷积核w对应一个偏置b,每层都通过卷积核与输入x相乘,再由激活函数非线性化得到上一层的特征输出,每层均加入协方差矩阵变换消除数据相关性,具体来说:协方差矩阵变换基本公式为:
[0017][0018]
对于获得的传感器数据矩阵x
m*n
,其中n是样本数,m是特征数,μ是x的矩阵均值,一个动作采样n次,每次包含m个特征,是多个随机张量x1……
x
n
之间的协方差的一种矩阵表示,对于不同动作之间的相互干扰,此时计算协方差矩阵,利用矩阵的可逆性质,来消除卷积网络中动作的相关性,对于逆运算的数学公式,计算协方差矩阵d的近似平方根:
[0019][0020]
其中,cov是协方差变换,对于获得的传感器数据可以通过协方差矩阵的转换从而消除了数据方向和通道方向两者的相关影响,下面是具体操作过程。
[0021]
当人体姿态数据被采集,送入卷积层之前通过矩阵变换不影响数据包含的特征,输入数据x的转化过程可以看做是带有协方差的恒等矩阵式:
[0022][0023]
其中i是单位矩阵,表明这一步骤并不改变动作特征。在运算过程中将协方差应用
到卷积过程中处理数据,带有动作信息的传感器数据首先会通过矩阵逆变换,将数据之间相关性大幅度降低,消除不同动作之间的干扰,然后再进行卷积操作,乘以w(卷积核),加上偏置矩阵b,用于减少数据的偏移,这一过程的完整的表达式为:
[0024]
y=(x

μ)*d*w b
[0025]
由于神经网络处理数据有三层卷积层,将第i层中的协方差运算表示为d
i
,此时对每一层的输入数据而言,都被简化成上一层的数据和当前层之间的卷积运算。因此,下一卷积层x
i 1
的输入变为:
[0026]
x
i 1
=f
i
*w
i
*d
i
*x
i
[0027]
其中矩阵运算方式均为右乘矩阵运算,x
i
是来自第i层的输入数据,d
i
是在该输入上进行协方差矩阵运算,w
i
是每一卷积层中的权重矩阵,而f
i
是激活函数用来使网络具有非线性分类的能力,放在卷积操作之后,采用relu激活函数,将传感器数据携带的信息传入下一层:
[0028]
f(x)=max(0,x)。
[0029]
其中矩阵运算方式均为右乘矩阵运算,x
i
是来自第i层的输入数据,d
i
是在该输入上进行协方差矩阵运算,w
i
是每一卷积层中的权重矩阵,而f
i
是激活函数用来使网络具有非线性分类的能力,采用relu激活函数,将传感器数据携带的信息传入下一层:
[0030]
f(x)=max(0,x)。
[0031]
本专利的核心思想可简化为重建卷积层,在使用二维离散卷积公式之前,将数据矩阵进行逆协方差变换来消除此前的时间序列影响。对于三层主卷积均采取这种变换以构建完整的卷积神经网络。
[0032]
有益效果:与现有技术相比,本发明的技术方案具有以下有益技术效果:
[0033]
首先利用智能手机带有的内置传感器进行采样,数据来源于真实人体运动过程,而且方便后期迁移到智能手机客户端,然后将原始数据进行1范数处理使数据更合理的集中到0和1之间,然后搭建的基于协方差矩阵变换的卷积神经网络是使用矩阵变换消除存在的数据相关性问题,减少了数据因时间序列而导致的识别精度下降,最后通过android studio将固定后的网络模型迁移到移动手机,扩展使用范围,能够实时检测人体行为和所处状态。
附图说明
[0034]
图1是本发明的流程图;
[0035]
图2是本发明的原理图;
[0036]
图3是本发明原始三轴加速度数据的小批次波形图;
[0037]
图4是本发明训练次数对应的精度变化图;
[0038]
图5是本发明测试数据集的混淆矩阵图;
[0039]
图6是本发明移植到安卓端的识别界面图。
具体实施方式
[0040]
下面将结合附图和具体实施,对本发明的数据采集流程和网络搭建进一步详细说明。
[0041]
如流程图所示,本发明提出一种基于协方差矩阵变换的卷积神经网络用于人体姿态识别方法,包括如下步骤:
[0042]
步骤一:受试人员均带有相同型号智能手机(型号为iphone11),通过固定手机包将智能手机置于左右手腕上方,然后受试者进行日常动作(走路,跑步,上下楼梯和跳跃等),智能手机中的加速度传感器和陀螺仪会记录受试者运动时候的三轴传感器数据,每组数据均预先采集300个动作。
[0043]
数据采集方案如附图所示,为同一受试人员左右手均带有智能手机。
[0044]
步骤二:对采集到的动作信号进行数据预处理,数据归一化,1范数处理,固定步长的滑窗处理,按照数据属性划分并添加相应的动作标签;
[0045]
步骤三:搭建带有协方差矩阵的卷积神经网络,设置超参数以及数据批次,将已经处理完的数据作为输入向量送入网络训练,利用梯度下降反向传播来更新卷积核的权重值,达到最优网络性能;
[0046]
步骤四:利用公开数据集检测模型的泛化能力,并将训练好的网络模型迁移到android客户端,可以利用智能手机的加速度传感器实时检测人体所处状态。
[0047]
所述步骤一中,具体实施采集数据过程中,采样频率为20hz,采取3轴加速度传感器和陀螺仪数据,分别为身体加速方向和转动角度,得到带有时间序列的传感器数据。示例的,当测试人员带有智能手机上楼时,手机内置加速度计在行走的基础上可以记录向上的加速度,以此来区别上楼和平路行走,而对于神经网络来说,这些不同的细微特征会在卷积层进行提取,得到关于上楼的特征图,多层卷积更是加深了特征部分,通过一定的训练数据进行训练,可以利用神经网络的主动学习能力使网络能够自主识别人体姿态。
[0048]
所述步骤二中数据预处理部分,对数据进行1范数处理,剔除噪声数据,将所有数据压缩在0

1之间,不改变数据包含的传感器信息,例如上下楼所带有的特殊加速度信号,然后滑窗处理使数据带有标签,且增加数据量,处理后的数据被分为70%的训练集和30%的测试集。
[0049]
数据经过上述处理后是一个四维张量,同时包含了数据、特征以及通道信息。
[0050]
所述步骤三中搭建的二维卷积神经网络主要由卷积层(convolution layer),池化层(pooling layer)以及全连接层(fully

connected layer)组成,通过将这些层的耦合叠加,可以构建一个完整的卷积神经网络模型。本发明中网络搭建三层卷积层和两层全连接层,重建的卷积层均带有协方差矩阵变换用来消除数据相关性,在网络中卷积核大小被设置成固定的3x3,滑动步长为1,,依次为64层卷积—128层卷积—256层卷积—全连接层(softmax),具体来说:协方差矩阵变换基本公式为:
[0051][0052]
对于获得的传感器数据矩阵x
m*n
,其中n是样本数,m是特征数,μ是x的矩阵均值,一个动作采样n次,每次包含m个特征,是多个随机张量x1……
x
n
之间的协方差的一种矩阵表示,对于不同动作之间的相互干扰,此时计算协方差矩阵,利用矩阵的可逆性质,来消除卷积网络中动作的相关性,对于逆运算的数学公式,计算协方差矩阵d的近似平方根:
[0053][0054]
其中,cov是协方差变换,对于获得的传感器数据可以通过协方差矩阵的转换从而
消除了数据方向和通道方向两者的相关影响,下面是具体操作过程。
[0055]
当人体姿态数据被采集,送入卷积层之前通过矩阵变换不影响数据包含的特征,输入数据x的转化过程可以看做是带有协方差的恒等矩阵式:
[0056][0057]
其中i是单位矩阵,表明这一步骤并不改变动作特征。在运算过程中将协方差应用到卷积过程中处理数据,带有动作信息的传感器数据首先会通过矩阵逆变换,将数据之间相关性大幅度降低,消除不同动作之间的干扰,然后再进行卷积操作,乘以w(卷积核),加上偏置矩阵b,用于减少数据的偏移,这一过程的完整的表达式为:
[0058]
y=(x

μ)*d*w b
[0059]
由于神经网络处理数据有三层卷积层,将第i层中的协方差运算表示为d
i
,此时对每一层的输入数据而言,都被简化成上一层的数据和当前层之间的卷积运算。因此,下一卷积层x
i 1
的输入变为:
[0060]
x
i 1
=f
i
*w
i
*d
i
*x
i
[0061]
其中矩阵运算方式均为右乘矩阵运算,x
i
是来自第i层的输入数据,d
i
是在该输入上进行协方差矩阵运算,w
i
是每一卷积层中的权重矩阵,而f
i
是激活函数用来使网络具有非线性分类的能力,放在卷积操作之后,采用relu激活函数,将传感器数据携带的信息传入下一层:
[0062]
f(x)=max(0,x)。
[0063]
本专利的核心思想可简化为重建卷积层,将原本的卷积计算公式加以改变,在使用二维离散卷积公式之前,将数据矩阵进行逆协方差变换来消除此前的时间序列影响。对于三层主卷积均采取这种变换以构建完整的卷积神经网络。
[0064]
该实施在软件编写阶段是基于pytorch下的深度学习模块。
[0065]
在所述步骤四中公共数据集包括uci

har数据集、pamap2数据集、unimib

shar数据集和wisdm数据集。这些数据集均可在uci人体姿态识别网站上进行下载,是作为行业内被引用最多的数据集,可以评估性能以及模型的泛化能力。
[0066]
本发明所述迁移到安卓客户端,首先通过数据集的训练使网络达到最优精度,此时模型权重参数为最优值,固化网络模型并生成pb文件,保存了网络结构和权重图,应用android studio可以将pb文件导入安卓程序包,通过搭建安卓app小程序,编译后可以迁移到具体智能手机中。
[0067]
本发明基于卷积神经网络用于可穿戴式设备的人体姿态识别方法,能对跳跃,走路,上楼,下楼,站立,坐下六种动作姿态进行识别。
[0068]
图1为发明对象的流程图,从原始传感器数据采集,经过数据预处理后输入到卷积神经网络进行模型训练,并将训练后得到的理想模型应用于移动智能终端上,以此实现人体姿态的辨别,分为两类,数据采集和动作识别过程。
[0069]
图2为基于协方差矩阵变换的卷积神经网络用于人体姿态识别的结构图。其中包含了卷积层和最后的分类层,仅画出两层卷积层。图中还包含了重新构建的带有协方差矩阵的卷积层内部结构,即数据输入进来以后,先通过协方差矩阵变换将数据消除相关性,再有普通二维离散卷积进行卷积操作,其中权重值通过反向传播来自主学习,最后通过激活
函数relu来对网络进行非线性激活,使网络由线性变为非线性,搭建出了新的卷积层耦合到卷积神经网络中,而最后的全连接层主要用于最后的分类任务,一般选用softmax函数。
[0070]
图3是原始传感器三轴加速度数据的小批次波形图。移动传感器的下采样频率人为固定在30hz。图中显示了三轴的实时加速度。
[0071]
为了训练卷积神经网络,本发明将采集到的数据样本分为两类:训练样本和测试样本。训练样本作为卷积神经网络的输入进行模型训练,测试样本作为识别准确率的参考依据。本实施例中,把数据集的70%作为训练集,把数据集的30%作为测试集。
[0072]
图4是该神经网络模型经过200epochs训练后得到的精度变化图。
[0073]
本发明实例可以减少对计算资源的使用,同时拥有较强的泛化能力等。通过实验对比可知,该实施在精度上能够明显优于传统的卷积神经网络并且速度基本持平。
[0074]
图5是本实施测试集混淆矩阵图,混淆矩阵是用于总结分类算法性能的技术。如果每个类中的样本数量不等,或者数据集中有两个以上的类,则仅用分类准确率作为评判标准的话可能会产生误导。计算混淆矩阵可以更好地了解分类模型的表现情况以及它所犯的错误的类型。在图中可以看到,横轴是预测的结果,纵轴是真实的标签结果,主对角线上即为预测结果和真实结果相同的样本数量。
[0075]
通过对混淆矩阵进行分析,可以得出卷积神经网络模型对不同动作的识别精度情况,从而帮助修改网络参数。本发明使用的是公共数据集pamap2的识别,当最后的模型分类精度满足实际应用的要求,可将该模型移植到智能终端上使用。
[0076]
图6是本发明移植到安卓端的识别界面图,手机为huawei mata30 pro。
[0077]
需要说明的是,本发明实施例中的人体姿态识别模型可以集成在智能移动终端中,上述智能终端具体可以是智能手机、智能手表等终端,此处不作限定,对于利用智能手机实时检测过程中,模型所给出的是基于训练好的网络最后softmax分类识别精度,即网络对每一动作的预测值,分值越高,网络越倾向于判别为当前动作。
[0078]
由上可见,本发明实施例中的人体姿态识别装置通过采集智能终端的加速度数据,然后对采集到的数据进行时间序列信号1范数和归一化处理,并将预处理后的数据输入到一个人体姿态识别神经网络模型,最后得到人体姿态识别结果。由于人体姿态识别模型是基于预设的训练集合卷积神经网络训练得到,因此,通过实时得到的加速度数据输入到已训练好的人体姿态识别模型,即可实现对当前人体姿态的识别,从而实现了基于加速度数据的非视觉手段的人体姿态识别。
[0079]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
[0080]
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献