本发明属于计算机视觉领域,具体来说是一种基于注意力机制的神经网络的人体动作识别的方法。

背景技术:

人体动作识别,具有着非常广阔的应用前景,如人机交互,视频监控、视频理解等方面。按目前的主流方法,可主要分为基于rgb数据、深度数据和骨骼数据的人体动作识别。与rgb数据和深度数据相比,骨架数据是更高级的表示形式,并且对视点,位置和外观的变化具有鲁棒性,此外由于骨架关节的复杂时空变化,这是非常具有挑战性的。由于microsoftkinect等经济高效的深度相机和实时骨架估算算法的普及,基于3d骨架的人类动作识别引起了越来越多的关注。

传统的手工提取特征的方法虽然也能够取得不错的准确率,但是要求设计特征的人拥有丰富的经验和娴熟的技巧,而且手工特征在不同数据集上的表现差异很大,所以需要更好的方法来进行人体动作的识别。随着深度学习的进步,卷积神经网络(cnn)和循环神经网络(rnn)在过去几年大放异彩,它们在图片分类,物体检测,自然语言处理等领域取得了突出的进展。并且在最近,注意力机制变得流行,因为它可以关注图片中某些重要的区域,从而提高任务的效果。

目前,基于深度学习的骨架数据的动作识别方法,根据骨架序列如何表示并馈入深度神经网络,可分为两类:基于cnn的方法和基于rnn的方法。

第一种方法是通过对骨架序列进行编码来生成纹理图像,然后将纹理图像馈送到cnn中以进行特征提取和分类。例如,将骨架序列的关节坐标编码为矩阵并相对于整个训练数据集进行标准化,其中骨架关节的三个笛卡尔分量(x,y,z)分别被处理为彩色图像的三个通道(r,g,b)。但是,这种标准化不能保证尺度不变性。

第二种方法是从骨架序列的每个时间步骤中提取特征,并将基于帧的特征馈送到循环神经网络中。最近的注意力模型增强了这种方法,所述注意力模型旨在识别对动作分类任务更具辨别力的身体部位或时间步骤。到目前为止,在已经提出的几种方法中,倾向于过分强调时间信息并低估空间信息,空间注意力往往被忽略。同时,基于lstm、gru等循环神经网络的方法在识别人体动作序列时,依赖于大量的时序计算,这限制了动作序列的处理速度,此外,网络的规模也会随着循环神经网络的引入而大大增加,使得网络的训练花费更多的时间。

除上述之外,基于深度学习的人体动作识别方法特别依赖对于动作序列的预处理过程,该过程产生的时空特征会直接决定识别质量的好坏,所以如何提取一个很好的时空特征来高效的地识别复杂动作仍然是一个开放性的问题。

技术实现要素:

本发明为基于注意力机制的神经网络的人体动作识别方法,采用端到端有监督的训练方式,通过引入卷积神经网络提取特征和注意力机制捕捉骨骼关键点的策略,有效提高了人体动作识别的精度。

本发明为解决其技术问题采用如下技术方案:

一种基于注意力机制的神经网络的人体动作识别方法,包括如下步骤:

1)构建特征提取和分类神经网络,所述的神经网络包含两个子模型,分别为深度卷积子网络和注意力子网络;

2)构建端到端的有监督训练方案,处理原始动作序列,将骨架序列编码为由彩色时空图组成的三维矩阵,将其输入到深度卷积子网络中对其进行特征提取,输出一个向量p1;

3)在注意力子网络中,提取表示关节运动程度的手工制作的特征,捕捉该动作的关键节点,输出一个向量p2;

4)最后将p1与p2融合,通过最优化手段降低损失函数来训练模型,以至网络达到收敛,得到最终的识别准确率。

而且,深度卷积子网络采用层叠卷积神经网络的结构,注意力子网络采用自定义的层和全连接层组合。

而且,步骤2)中

其中p1为深度卷积子网络输出的深层次时空特征,表示该动作属于标签空间中每一个类别的概率、w1∈rm×c和b1∈rm×1分别表示全连接层的权重矩阵和偏置向量;m表示标签类别数量,c为深度卷积子网络的输出维度;

为深度卷积子网络提取的时空特征,o表示从骨架序列编码的彩色图像,gap表示全局平均池化层,是densenet-161中的gap的输出、conv为卷积层,relu为激活函数,bn为批归一化层。

而且,步骤3)中

p2=w2v+b2

其中,p2为注意力向量,w2∈rm×n和b2∈rm×1分别是全连接层的权重矩阵和偏置向量,

v=vx⊙vy⊙vz

⊙表示逐元素乘法,

其中分别表示xk的平均值,xk、xy、xz分别表示序列中第k个关节的x、y、z坐标。

而且,步骤4)具体为:将上述所得的深层次时空特征p1和注意力向量p2按元素相乘以获得动作分类的最终结果,该结果表示如下:

其中表示预测的结果,采用交叉熵损失函数来测量真实类标签y和预测结果之间的差异。

本发明的优点和有益效果如下:

1、本发明提出了一种基于注意力机制的神经网络的人体动作识别方法。本发明基于端到端有监督的深度学习,训练过程中不需要人工提取特征,可以最大幅度地自动从数据中提取有效的深层次特征。本发明的网络结构包含两个子网络,两个网络同时以端到端的方式进行联合训练而不需要后处理。

2、在注意力模型中,通过有效的线性映射提取每个关节的方差特征并学习注意力权重,能够有效地捕捉骨骼数据中用于动作识别的关键点,使得识别准确率在不同的数据集上有显著提升。

3、在数据处理过程中,每个骨架序列都被转换为没有任何标准化的时空图像,在网络训练过程中,保证了骨架数据的平移和尺度不变性。

4、在注意力子网络中没有引入循环神经网络就可获得与当前主流的注意力模型相比更好的结果,克服了循环神经网络不善于提取空间信息的缺点,减小了网络的计算量,加快了网络的训练速度。

附图说明

图1为本发明实例一种注意力机制的人体动作识别方法的网络结构;

图2为动作序列的预处理过程图;

图3为不同神经网络在四个数据集上的性能对比图;

其中(a)是ntu-cs数据集;(b)是ntu-cv数据集;(c)是sysu-3d数据集;(d)是utd-mhad数据集。

具体实施方式

下面结合附图并通过具体实施例对本发明作进一步详述,以下实施例只是描述性的,不是限定性的,不能以此限定本发明的保护范围。

本发明为基于注意力机制的神经网络的人体动作识别方法,采用端到端有监督的训练方式,通过引入卷积神经网络提取特征和注意力机制捕捉骨骼关键点的策略,有效提高了人体动作识别的精度。

构建深度卷积子网络和注意力子网络,模型基于层叠卷积神经网络结构设计包含卷积层,归一化层及全连接层等。

图1为本发明注意力机制的人体动作识别方法的网络结构。

本发明动作识别网络主要由两个子网络组成,包含深度卷积子网络、注意力子网络。

其中深度卷积子网络采用densenet-161作为主体部分,其中前端编码网络部分采用层叠卷积网络,它包含4个block,每个block由卷积层,归一化层和relu层组成。每个block层之间有transitionlayer,尺寸均为2*2,用于进行池化和对特征图进行下采样。最后采用globalaveragepooling层,对特征图进行全局池化,再通过softmax层输出结果。

注意力子网络由3个方差计算层、1个融合层和1个全连接层构成。对输入的三维矩阵中的每个骨骼节点计算其在运动过程中的方差,以此来捕捉关键的骨骼节点。将xyz的三个方差值进行乘法融合,来考虑xyz坐标的情况,最后通过全连接层进行输出,全连接层的单元数为该数据集的动作种类数。

本发明采用的数据集为ntu-rgb+d数据集,sysu-3d数据集,utd-mhad数据集。其中ntu-rgb+d数据集为南洋理工大学拍摄,是人体动作识别领域最大最权威的数据集,包含了60种常见的人体动作,其中包含10种双人的互动动作,评估方法有两种:cross-subject和cross-view。sysy-3d数据集由中山大学拍摄,共包含12类动作,属于较小的数据集,但是由于动作之间的相似度很高,所以识别难度也较高。utd-mhad数据集共包含861个序列,属于中等规模数据集,和sysu-3d一样,动作之间较为相似。所有数据集的评估方法都遵守该数据集论文中的评估规范。

对所有的动作序列的帧数t进行归一化,针对不同的数据集,归一化到不同的帧数,使得同一个数据集中的每一个动作序列都有相同的帧数,帧数一般选择数据集中大多数序列的帧数的平均值。

输入归一化后的动作序列a1...at,把其变换成一个t*n*3的向量,其中,t表示帧数,n表示每一帧中的骨骼节点数,3是通道数。每一行是同一帧不同骨骼节点的坐标,每一列是同一骨骼节点在不同帧中的坐标。

将预处理的t*n*3的向量输入到densenet-161为主体的深度卷积子网络中,进行特征提取和映射,输出向量具体过程如下:

其中“o”表示从骨架序列编码的彩色图像,gap表示全局平均池化层,是densenet-161中的gap的输出,conv为卷积层,relu为激活函数,bn为批归一化层。

得到的即为深度卷积子网络提取的时空特征,将其输入到全连接层以映射到标签空间,具体过程如下:

其中w1∈rm×c和b1∈rm×1分别表示全连接层的权重矩阵和偏置向量。m表示标签类别数量,p1为深度卷积子网络输出的深层次时空特征,表示该动作属于标签空间中每一个类别的概率。

在注意力子网络中采用手工制作的方差特征来表示关节的运动。输入o∈rt×n×3被分成三个矩阵:x∈rt×n,y∈rt×n,z∈rt×n。为了详细描述方差特征,选择x作为示例。设x∈rt×n为:

其中xk表示序列中第k个关节的x坐标,可以表示为:

xk=[x1,k,...,xt,k,...,xt,k]

xk的方差计算为:

其中表示xk的平均值,图1中所示的输出vx∈rn×1可表示为:

以相同方式计算vy∈rn×1和vz∈rn×1,

其中分别表示xk的平均值,xk、xy、xz分别表示序列中第k个关节的x、y、z坐标。

得到最终的方差特征v∈rn×1如下:

v=vx⊙vy⊙vz

其中⊙表示逐元素乘法。该方差特征用来衡量每个节点的运动幅度和重要程度,去捕捉用于识别该动作的关键节点,从而提高识别准确率。之后,将方差v用于全连接层学习注意力权重p2∈rm×1,它可以表示为:

p2=w2v+b2

其中w2∈rm×n和b2∈rm×1分别是全连接层的权重矩阵和偏置向量,w2在网络训练过程中自动更新。

将上述所得的深层次时空特征p1和注意力向量p2按元素相乘以获得动作分类的最终结果,该结果表示如下:

其中表示最终的预测结果。采用交叉熵损失函数来测量真实类标签y和预测结果之间的差异。

本发明采用keras深度学习框架进行实验,具体的参数如下所示:

模型训练至收敛后在ntu-rgb+d数据集,sysu-3d数据集,utd-mhad数据集进行评估。评估指标如下如下表所示。其中,mans、va-lstm等都属于其他方法,ours(onlydcm)属于我们的方法,但是不带注意力子网络,ours(dcm+sam)属于上面我们描述的完整方法。

以上所述,仅为本发明专利较佳的实施例,但本发明专利的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明专利所公开的范围内,根据本发明专利的技术方案及其发明专利构思加以等同替换或改变,都属于本发明专利的保护范围。

空间注意力机制sam_一种基于注意力机制的神经网络的人体动作识别方法与流程...相关推荐

  1. 机器学习实验(五):用迁移学习方法基于keras建立卷积神经网络进行人体动作识别(HAR)

    声明:版权所有,转载请联系作者并注明出处  http://blog.csdn.net/u013719780?viewmode=contents 博主简介:风雪夜归子(英文名:Allen),机器学习算法 ...

  2. 一种基于深度学习的遥感图像分类及农田识别方法

    文章针对现有的神经网络收敛速度慢.识别准确率不高的缺点,提出了一种基于卷积神经网络的遥感图像农田分类及识别方法.该算法使用较大的卷积核,有效地提取梯度信息:设计深度为6层的卷积神经网络,提高了网络的分 ...

  3. matlab 重叠峰分解 算法,一种基于粒子群算法的光谱重叠峰分解方法与流程

    本发明涉及一种基于粒子群算法的光谱重叠峰分解方法. 背景技术: 由于探测器能量分辨率等原因,峰位接近且峰宽较大的不同谱峰之间常常出现严重重叠干扰的现象,要对光谱作进一步较为准确.全面的成分定量和定性分 ...

  4. 距离矢量算法matlab实现,一种基于最小费用距离模型的城市生态网络构建方法与流程...

    本发明涉及生态网络构建技术领域,特别是涉及一种城市网络的构建方法. 背景技术: 最小费用距离是网络分析的一种计算方法,这种方法被用于物种保护.自然保护区功能规划.动物栖息地的确定.区域生态安全格局设计 ...

  5. java 解析数据包_一种基于Java语言的网络通讯数据包解析方法与流程

    本发明涉及网络通讯领域,特别涉及一种基于Java语言的网络通讯数据包解析方法. 背景技术: 计算机系统和网络的大量普及使用使全球跨入了信息化时代.但是,正由于现代社会中几乎一切都在"计算机化 ...

  6. FLAC3D可视化后处理matlab,一种基于Matlab的由Midas导入Flac3D的模型识别方法与流程...

    本发明涉及岩土工程的仿真模拟研究领域,具体涉及一种基于Matlab的由Midas导入Flac3D的模型识别方法. 背景技术: 随着我国近几年经济的快速发展和基础设施等的大力投资,涉及复杂地质环境下的岩 ...

  7. python基于什么语言-一种基于Python语言的EDA开发平台及其使用方法与流程

    本发明涉及EDA开发的技术领域,尤其是指一种基于Python语言的EDA开发平台及其使用方法. 背景技术: 目前,主流的EDA设计语言Verilog HDL能实现完整的芯片硬件逻辑电路开发,但是其代码 ...

  8. java头像交互式差分演变_一种基于交互式差分进化计算的用户知识需求获取方法与流程...

    本发明属于知识服务领域,具体涉及一种基于交互式差分进化计算的用户知识需求获取方法. 背景技术: 在多数企业拥有庞大的知识数量和优质的知识资源的情况下,如何利用推送系统将知识主动推送给设计人员以提高企业 ...

  9. 随机森林c语言编程,一种基于随机森林的C语言源代码静态评分方法与流程

    本发明涉及评分领域及机器学习领域,它特别涉及一种基于随机森林的c语言源代码静态评分的构建方法. 背景技术: c语言源代码静态评分是指对根据一定的题目描述做出解答的c语言源代码进行评分.目前,主要流行的 ...

最新文章

  1. Atiti  qq空间破解(3)------------gui图形化通用cli执行器atiuse
  2. 多媒体技术知识点整理
  3. ext2 无损升级 ext3、ext4
  4. crio电压采集 labview_基于cRIO远程数据采集终端
  5. 软件概要设计与详细设计
  6. Windows下快速删除大量文件
  7. asp.net WebResource.axd请求报404错误
  8. 屏幕距离和坐便转换工具_视频分辨率转换器(mp4视频分辨率转换器)V2.0.1 官方版...
  9. 凸优化基础(Convex Optimization basics)
  10. Word2019 未找到 MathPage.wll 文件的解决方法
  11. API接口管理平台源码thinkPHP
  12. 汉堡包菜单_7种制作“汉堡包”菜单图标的非光栅方法
  13. 入职腾讯第九年,我辞职了
  14. ruoyi vue 其功能介绍
  15. 太用力的人跑不远,android开发视频
  16. 小丸子学Docker系列之——安装Docker及基本命令的使用
  17. 跳槽前如何精准评估自己的身价?
  18. 天枰座定时任务处理框架
  19. 美本计算机专业,2016美国本科计算机cs专业排名
  20. Win10 连接不上局域网共享文件解决方案

热门文章

  1. UCS-2、UCS-4
  2. Python之基础数据补充、set集合和深浅拷贝
  3. 如何搭建直播平台?直播平台搭建需要注意什么?...
  4. ocz固态硬盘开卡工具_将我的Lenovo W500升级到OCZ Vertex 250GB SATA II固态磁盘(SSD)...
  5. 404是什么意思?404页面的正确做法
  6. 个人名义要做成商品网站,这时候你需要注册公司了
  7. 搜狗测试年终总结和测试总监luke春节寄语
  8. 大连英语四六级百家外语10个让你四六级听力涨分的小技巧
  9. Android——多语言适配
  10. 鼠标按下松开恢复HTML,JavaScript onmouseup 事件:鼠标任何一个按键被松开