基于局部误差逐层训练的人体姿态识别方法和装置与流程

文档序号:20780531发布日期:2020-05-19 21:11阅读:250来源:国知局
基于局部误差逐层训练的人体姿态识别方法和装置与流程

本发明涉及人工智能领域的可穿戴式智能检测识别方法,尤其涉及一种基于局部误差的逐层卷积神经网络训练的人体姿态识别方法和装置。



背景技术:

随着传感器技术的不断进步,可穿戴传感器识别已经成为了一个新兴的研究热点,在运动辅助、智能家居、医疗康复、虚拟运动场景和交互式游戏等领域有着广阔的应用前景。另外,科技的发展和制造工艺的不断提高,角速度传感器、陀螺仪传感器、加速度传感器、心率传感器等各种各样的传感器均可内嵌智能手机或智能手环等智能设备当中,这为可穿戴传感器识别技术的商业化发展提供了硬件上的支持。

如今计算机计算能力的提升以及互联网上大规模有价值数据的产生,极大的推动了人工智能特别是深度学习在各个领域中的发展,为分析和研究可穿戴传感器识别提供了新的研究思路。深度学习中的卷积神经网络因其强大的层次化表征能力脱颖而出,极大的提高了可穿戴传感器识别精度。然而,基于卷积神经网络搭建的可穿戴传感器识别系统虽然在一定程度上能够完成目标对象的识别,但是受限于传感器数据训练量、全局训练误差耗时耗材等消极因素使识别的准确度存在很大的波动。因此,单一的卷积神经网络应用并不能满足对传感器数据的高精度识别期望,针对传感器数据预处理及基于卷积神经网络的算法改良成为亟待解决的难题。

根据当前署名发明人的工作发现,传统的基于卷积神经网络可穿戴传感器识别系统通过全局误差实现参数的更新,从而达到训练网络模型的目的。全局误差训练需要保存前向传播和反向梯度流的参数,导致占用了大量计算机内存,并使得训练时间变得极其缓慢。同时,对于普通性质的计算机更是难以实现网络的正常运行,如何降低对硬件设备的需求程度和保证计算精度质量的前提下减轻计算机负荷便成为首要解决的问题。



技术实现要素:

发明目的:针对上述问题,本发明的目的是提供一种基于局部误差的逐层卷积神经网络训练的人体姿态识别方法和识别装置,能够节省计算机资源,并极大加快训练周期,提高可穿戴传感器识别精度。

技术方案:根据本发明的第一方面,提供一种基于局部误差的逐层卷积神经网络训练的人体姿态识别方法,包括以下步骤:

s1、获取人体姿态数据,进行降噪、归一化处理;

s2、将处理后数据送入卷积神经网络模型进行逐层训练,对人体姿态进行分类识别,当识别结果符合准确率要求时,输出模型;

s3、利用训练好的模型对待识别的人体姿态数据进行分类识别;

其中所述卷积神经网络模型在训练时截断全局误差及反向梯度流回传,利用局部误差模型替代全局误差函数,根据前向梯度流的逐层误差更新当前网络参数,实现逐层训练。

进一步地,所述步骤s1中利用移动传感器采集人体姿态数据,记录不同肢体动作下的传感器数据,对每种活动类型打上相应标签,利用下采样降噪,利用零中心化处理方法归一化,作为模型的输入数据。

进一步地,所述步骤s2中卷积神经网络模型中包括输入层、三层前向传播卷积层、全连接层,在三层前向传播卷积层之间应用局部误差模型,获取逐层误差,更新当前网络参数,所述局部误差模型包括一卷积层、一池化层和全连接层。

进一步地,所述局部误差模型由两部分局部误差函数构成,分别为相似度匹配函数和预测误差函数,两个局部误差函数通过权重联合参数结合,形式如下:

lsp=als+(1-a)lp

lsp表示最终的局部误差函数,ls表示相似度匹配函数,lp表示预测误差函数,α为权重参数,其中,

ls=||s(c(x;w))-s(y)||2

lp=crossentropy(y,wtx)

矩阵x是前向流的卷积层输出,符号c表示进行卷积操作,符号y表示标签矩阵,s表示自适应余弦相似度匹配函数,符号w为局部误差模型卷积层的权重参数,w表示局部误差模型全连接层的权重参数。

进一步地,所述步骤s3还包括将获得的神经网络模型移植于移动智能终端,对移动智能终端的传感器获取的人体姿态数据进行分类识别。

根据本发明的第二方面,提供一种基于局部误差的逐层卷积神经网络训练的人体姿态识别装置,包括:括数据采集模块、模型训练模块和姿态识别模块;

所述数据采集模块用于获取人体姿态数据,进行降噪、归一化处理;

所述模型训练模块用于将处理后数据送入卷积神经网络模型进行逐层训练,对人体姿态进行分类识别,当识别结果符合准确率要求时,输出模型;

所述姿态识别模块利用训练好的模型对待识别的人体姿态数据进行分类识别;

其中所述卷积神经网络模型在训练时截断全局误差及反向梯度流回传,利用局部误差模型替代全局误差函数,根据前向梯度流的逐层误差更新当前网络参数,实现逐层训练。

进一步地,所述数据采集模块采用移动传感器采集人体姿态数据,记录不同肢体动作下的传感器数据,对每种活动类型打上相应标签,利用下采样降噪,利用零中心化处理方法归一化,作为模型的输入数据。

进一步地,所述卷积神经网络模型包括输入层、三层前向传播卷积层、全连接层,在三层前向传播卷积层之间应用局部误差模型,获取逐层误差,更新当前网络参数,所述局部误差模型包括一卷积层、一池化层和全连接层。

进一步地,所述模型训练模块中局部误差模型由两部分局部误差函数构成,分别为相似度匹配函数和预测误差函数,两个局部误差函数通过权重联合参数结合,形式如下:

lsp=als+(1-α)lp

lsp表示最终的局部误差函数,ls表示相似度匹配函数,lp表示预测误差函数,a为权重参数,其中,

ls=||s(c(x;w))-s(y)||2

lp=crossentropy(y,wtx)

矩阵x是前向流的卷积层输出,符号c表示进行卷积操作,符号y表示标签矩阵,s表示自适应余弦相似度匹配函数,符号w为局部误差模型卷积层的权重参数,w表示局部误差模型全连接层的权重参数。

根据本发明的第三方面,提供一种智能移动终端,所述智能移动终端集成了如本发明第二方面所述的人体姿态识别装置。

有益效果:

1、本发明提出逐层训练的思路,避免全局误差实现网络参数的更新,实现层层训练,分批优化,以此优化每层网络参数,无需等待最终反向梯度流进行统一参数更新,极大加快训练周期。

2、本发明通过构建局部训练误差模块实现网络的逐层训练更新,避免了计算机保存所有层的网络参数,极大降低了计算机内存占用和消耗。

3、本发明利用两个局部训练误差函数实现逐层的误差消减,极大提高了可穿戴传感器识别精度,只需采集的数据质量可靠全面,便可快速,准确地分类的动作类别,在运动辅助、智能家居、医疗康复、虚拟运动场景和交互式游戏等领域具有重要应用意义。

附图说明

图1是本发明的人体姿态识别方法流程图;

图2是本发明的逐层卷积神经网络训练方法原理图;

图3是本发明的第一个卷积层经过300个训练周期仍具有活性的权重分布图;

图4是本发明训练次数对应的损失值变化图;

图5是本发明经过训练300次后的精度图;

图6是本发明经过训练300次后的混淆矩阵图;

图7是本发明训练中使用传统全局误差和局部误差之间的性能比较。

具体实施方式

下面结合附图对本发明的技术方案作进一步说明。

参照图1,一种基于局部误差的逐层卷积神经网络训练的人体姿态识别方法,从移动传感器采集到人体运动的三维加速度时间序列后,数据整合处理后输入至初始卷积神经网络进行模型训练,将训练后理想模型运用到移动传感器上,使之能在移动智能终端上能够实现人体动作的辨别。具体包括如下步骤:

步骤1,获取人体姿态数据,并在降噪、归一化处理后划分训练集、测试集及验证集样本。

实施例中通过招募志愿者,并佩戴移动传感器来采集数据,可将移动传感器至于手腕、脚踝、小腿等人体关节处,记录每个志愿者不同肢体动作下的传感器数据,并对每种活动类型打上相应标签,数据保存形式为txt文件格式,并将收集的活动数据进行下采样降噪方法,采样率为原始采样率的三分之一,然后将降噪后的数据进行零中心化处理,最终将数据划分为训练集、测试集及验证集样本。移动传感器的采样频率设定为33hz-98hz范围,优选地设定为33hz,下采样降噪为30hz。本实施例定义每5.12秒为一个动作样本,即每171组数据为一个样本。当然,采样频率可以根据实际需求自行设置合适的值,此处不做限定。数据集依次按照69%、21%、10%随机划分为训练、测试和验证集。

步骤2,初步搭建基于卷积神经网络的人体姿态识别系统,同时对每层网络建立对应局部梯度流,更新、优化该层网络。

图2为卷积神经网络结构图,主要包括:输入层,三层卷积层,一个全连接层,输入层目的是将姿态数据喂进识别网络,卷积层提取姿态特征,全连接层进行特征映射。本发明的前向传播卷积层中,前向流第一层卷积核参数设置为(6,1);第二层前向卷积核尺寸为(6.1);第三层前向卷积核尺寸为(6,1);局部误差模型中包括用于计算局部误差的卷积层,其对应卷积核尺寸为(3,1),用于完成分类的线性层神经元依赖前向卷积输出的二维拉伸形状;最后由得分值判断属于对应活动类型。

本发明采用局部误差模型取代全局误差实现参数逐层训练。局部误差模型由两部分局部误差函数构成,分别为相似度匹配函数和预测误差函数,两个局部误差函数通过权重联合参数结合。其中相似度匹配函数表达式为:

ls=||s(c(x;w))-s(y)||2(1)

公式1中的矩阵x是前向流的卷积层输出,符号w为卷积层的权重参数,y为热编码形式的标签矩阵,符号c表示进行卷积操作,卷积核的大小为3*3,跨度为1。在最小化误差的过程中,前向流的卷积层参数通过局部误差函数逐渐更新优化,最终不断接近标签数据。上述的过程鼓励卷积神经网络不断学习人体姿态数据特征。如图2中,局部误差中的卷积层在输出到相似度匹配函数之前,需要通过标准差操作将特征图压缩到二维。符号s表示自适应余弦相似度匹配函数,可表达为:

姿态数据通过小批次(即分成数个批次)送入识别网络,并产生相应隐藏激活层的小批次参数矩阵,公式2中的符号h表示隐藏激活层的小批次矩阵,其相似度匹配函数输出的矩阵具备成对相似性,且为对称的方阵。

本发明中的第二个局部误差函数为预测误差。如图2中所示,前向流卷积层输出送入局部误差模型中的池化层,减少肢体动作的数据量,通过局部误差模型中的全连接层进行进行特征映射,使之与标签数据具备相同形状。其数学表达式为:

lp=crossentropy(y,wtx)(3)

公式3中符号w表示线性层的权重参数,符号y表示标签矩阵,crossentropy表示求交叉熵。

最终的局部误差是根据两个局部误差函数的权重结合实现,如公式(4)所示:

lsp=αls+(1-α)lp(4)

公式4中的符号ɑ表示权重,为一个小于1的正值。

本发明构建的基于卷积神经网络的人体姿态识别系统,通过从前向传播流中获取动作特征,由前向流进入局部误差模型获得局部梯度流,通过局部梯度流得到该层的局部误差,并通过局部误差获得激活流实现当前网络模型参数的更新。

步骤3,将训练数据送入所搭建的姿态识别系统,通过训练实现对网络参数的更新和优化。

实施例中训练批次设置为300,学习率为0.0001。利用验证集数据微调识别系统的超参数达到最佳网络超参数设置;最终使用测试集数据检测识别精度是否满足要求,符合精度要求时保存网络模型和参数。若训练精度不理想,可适当调整网络超参数,如卷积核个数、尺寸、跨度等。若修改各隐藏层的神经元个数的方法对识别准确率影响甚微,可添加适度增加训练样本数。

若训练数据量不够大,则需要对数据进行重复使用。每次将300个数据输入至神经网络进行训练,每10次测量一次识别准确率及交叉熵。图3为第一个卷积层经过300个训练周期仍具有活性的权重分布图。此图表明本发明不仅实现了参数的逐层变化趋势,而且表明大批量的训练不会导致权重参数失去活性。图4,5,6均表明本发明能快速实现收敛,且保证高准确率,图中epoch为训练的迭代周期。图7中比较了使用传统全局误差和局部误差之间的性能,其中global_error为全局误差,pred_error为权重ɑ=0时的预测误差,sim为权重ɑ=1时相似度匹配误差,predsin为0<ɑ<1时的总局部误差。图7证明了使用局部误差的方法在识别精确度更加准确,特别是当联合两个局部误差函数时识别效果更佳。

步骤4,将获得的网络框架移植移动智能端,得到准确的人体姿态检测效果。

当训练的卷积神经网络的预测精度符合设计要求时,可以生成pb文件,并把该文件提取到移动终端上使用。通过采集智能终端的加速度数据,然后对数据进行下采样降噪及归一化中的零中心化处理,并将预处理后的数据输入已训练好的人体姿态识别模型,得到人体姿态识别结果。由于人体姿态识别模型是经过训练后,且满足识别精度要求的基于局部误差的逐层卷积神经网络得到,因此,通过将加速度数据预处理后输入已训练好的人体姿态识别模型,即可实现对人体姿态的识别,从而实现了基于加速度数据的非视觉手段的人体姿态识别。

本发明基于局部误差的逐层卷积神经网络训练的人体姿态识别方法,能对跳跃、走路、上楼、下楼、站立、坐下等多种动作姿态进行识别。

根据本发明的另一实施例,提供一种基于局部误差的逐层卷积神经网络训练的人体姿态识别装置,包括数据采集模块、模型训练模块和姿态识别模块,数据采集模块用于获取人体姿态数据,进行降噪、归一化处理;模型训练模块用于将处理后数据送入卷积神经网络模型进行逐层训练,对人体姿态进行分类识别,当识别结果符合准确率要求时,输出模型;姿态识别模块利用训练好的模型对待识别的人体姿态数据进行分类识别。

其中,数据采集模块采用移动传感器采集人体姿态数据,记录不同肢体动作下的传感器数据,对每种活动类型打上相应标签,利用下采样降噪,利用零中心化处理方法归一化,作为模型的输入数据。

模型训练模块中的卷积神经网络模型利用局部误差模型替代全局误差函数,根据前向梯度流的逐层误差更新当前网络参数,实现逐层训练。该卷积神经网络模型结构包括:输入层、三层前向传播卷积层、全连接层,在三层前向传播卷积层之间应用局部误差模型,获取逐层误差,更新当前网络参数。具体地,局部误差模型包括一卷积层、一池化层和全连接层,卷积层用于对前向流的输出进行卷积操作,然后输入池化层减少肢体动作的数据量,通过全连接层进行进行特征映射,使之与标签数据具备相同形状。局部误差模型由两部分局部误差函数构成,分别为相似度匹配函数和预测误差函数,两个局部误差函数通过权重联合参数结合,形式如下:

lsp=als+(1-a)lp

lsp表示最终的局部误差函数,ls表示相似度匹配函数,lp表示预测误差函数,α为权重参数,其中,

ls=||s(c(x;w))-s(y)||2

lp=crossentropy(y,wtx)

矩阵x是前向流的卷积层输出,符号c表示进行卷积操作,符号y表示标签矩阵,s表示自适应余弦相似度匹配函数,符号w为局部误差模型卷积层的权重参数,w表示局部误差模型线性层的权重参数。

在训练时通过从前向传播流中获取动作特征,由前向流进入局部误差模型获得局部梯度流,通过局部梯度流得到该层的局部误差,并通过局部误差获得激活流实现当前网络模型参数的更新。具体训练过程同方法实施例中,此处不再赘述。

当训练的预测精度符合设计要求时,模型训练模块可以生成pb文件,姿态识别模块直接加载该pb文件,对预处理后的待识别数据进行分类,实现对人体姿态的识别。

需要说明的是,本发明实施例中的人体姿态识别装置具体可以集成在智能移动终端中,上述智能终端具体可以为智能手机、智能手表,智能手环等终端,此处不作限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1