一种基于深度学习的人体动作识别方法和系统与流程

文档序号:18467042发布日期:2019-08-17 02:34阅读:547来源:国知局
一种基于深度学习的人体动作识别方法和系统与流程

本发明属于深度学习技术领域,更具体地,涉及一种基于深度学习的人体动作识别方法和系统。



背景技术:

传统的人体动作识别是将生物传感器或者力学传感器等采集设备加装到人的身上,是一种接触式的动作检测方法,会给人带来反感或者疲惫感。随着技术的发展,这种识别模式已逐渐被基于图像的识别方法所替代。

深度学习的提出使得机器学习取得突破性的进展,也为人体动作识别带来了新的发展方向。不同于传统的识别方法,深度学习能够自动地从低层次的特征中学习出高层次的特征,解决了特征选取过于依赖任务本身和调整过程耗时长的问题。

双流(two-stream)卷积神经网络模型是现有基于深度学习的人体动作识别方法中一种广泛使用的方法,其通过效仿人体视觉过程,对视频信息理解,在处理视频图像中的环境空间信息的基础上,对视频帧序列中的时序信息进行理解,为了更好地对这些信息进行理解,双流卷积神经网络将异常行为分类任务分为两个不同的部分。单独的视频单帧作为表述空间信息的载体,其中包含环境、视频中的物体等空间信息,称为空间信息网络;另外,光流信息作为时序信息的载体输入到另外一个卷积神经网络中,用来理解动作的动态特征,称为时间信息网络。

然而,现有的双流卷积神经网络模型存在一些不可忽略的技术问题:第一、其特征提取网络的深度较浅,这可能会导致提取的特征不利于分类,识别准确率低;第二、其没有考虑特征之间的时序关系,也会导致分类的结果不佳,进一步降低识别的准确率。



技术实现要素:

针对现有技术的以上缺陷或改进需求,本发明提供了一种基于深度学习的人体动作识别方法和系统,其目的在于,解决现有人体动作识别方法中由于提取网络的深度较浅以及没有考虑特征之间的时序关系,会导致提取的特征不利于分类、识别准确率低的技术问题。

为实现上述目的,按照本发明的一个方面,提供了一种基于深度学习的人体动作识别方法,包括以下步骤:

(1)获取视频序列中的连续两帧图像;

(2)将该连续两帧图像输入已训练的人体动作识别模型中,以得到人体动作识别结果。

优选地,所述人体动作识别模型是通过以下步骤生成:

(1)获取数据集中视频序列中的连续两帧图像,利用光流提取方法从获取的连续两帧图像中提取光流图像;

(2)对视频序列中所有剩余帧,重复执行上述过程,从而得到光流图像序列,将视频序列和光流图像序列平均分成t段,从视频序列的每一段中提取单帧图像,并从光流图像序列的每一段中提取连续的l帧光流图像;其中t和l都是自然数。

(3)将步骤(2)从视频序列的每一段中提取的单帧图像和l帧光流图像分别输入到空间流残差网络模型和时间流残差网络模型中,以分别获取多个外观特征和多个运动特征,将多个外观特征按照其对应的多个单帧图像在视频序列中出现的时间先后顺序进行排列,从而形成外观特征集合,将多个运动特征按照其对应的多个光流图像在光流图像序列中出现的时间先后顺序进行排列,从而形成运动特征集合;

(4)将步骤(3)中得到的外观特征集合中的所有外观特征进行融合,从而得到融合的外观特征,并将步骤(3)中得到的运动特征集合中的所有运动特征进行融合,从而得到融合的运动特征;

(5)将步骤(4)得到的融合的外观特征和融合的运动特征分别输入到与多层感知机的输出相连的softmax层进行归一化,以分别输出外观分类结果和运动分类结果;

(6)根据步骤(5)输出的外观分类结果和运动分类结果分别计算其对应的损失值;

(7)根据步骤(6)得到的损失值调整空间流残差网络模型、时间流残差网络模型、以及步骤(4)中融合过程中使用的全连接层和多层感知机的参数;

(8)重复上述步骤(1)到(7),当达到迭代次数阈值的时候,将最终得到的外观分类结果和运动分类结果进行融合,过程结束。

优选地,光流提取方法是采用tv-l1方法。

优选地,步骤(3)中的空间流残差网络模型和时间流残差网络模型都被在imagenet数据集上预训练过的残差网络进行过初始化;

空间流残差网络模型和时间流残差网络模型的基础网络采取resnet网络,其网络层数可以是34层、50层、或101层。

时间流残差网络模型和空间流残差网络模型的最后一层使用高随机失活率为p的随机失活层,p可以为0.5、0.7、或0.8。

优选地,针对外观特征融合而言,步骤(4)首先将外观特征集合中的所有外观特征逐一通过与空间流残差网络模型的输出相连的全连接层分别映射为一个固定长度v的特征向量,然后将所有长度为v的特征向量进行级联融合,随后将级联后的特征输入到多层感知机中聚合,从而得到融合的外观特征,多层感知机层数c和每层隐含节点数为ci,其中c为1,ci为512,v等于256;

针对运动特征融合而言,步骤(4)就是按照平均方式对运动特征集合中的所有运动特征进行聚合,从而得到融合的运动特征。

优选地,针对外观分类结果而言,是使用以下公式计算其对应的损失值:

loss(pt)=-αt(1-pt)γlogpt

其中pt表示外观分类结果,αt表示权重,其取值为1,γ为聚焦参数,其为1至5之间的任意自然数;

针对运动分类结果而言,其对应的损失值就是其交叉熵损失值。

优选地,步骤(8)中采用的融合方式为加权融合,外观分类结果对应的空间流残差网络模型和运动分类结果对应的时间流残差网络模型之间的融合比例为1:1、1:1.1、1:1.2、或1:1.5。

按照本发明的另一方面,提供了一种基于深度学习的人体动作识别系统,包括:

第一模块,用于获取视频序列中的连续两帧图像;

第二模块,用于将该连续两帧图像输入已训练的人体动作识别模型中,以得到人体动作识别结果。

优选地,所述人体动作识别模型是通过以下模块生成:

第三模块,用于获取数据集中视频序列中的连续两帧图像,利用光流提取方法从获取的连续两帧图像中提取光流图像;

第四模块,用于对视频序列中所有剩余帧,重复执行上述过程,从而得到光流图像序列,将视频序列和光流图像序列平均分成t段,从视频序列的每一段中提取单帧图像,并从光流图像序列的每一段中提取连续的l帧光流图像;其中t和l都是自然数。

第五模块,用于将第四模块从视频序列的每一段中提取的单帧图像和l帧光流图像分别输入到空间流残差网络模型和时间流残差网络模型中,以分别获取多个外观特征和多个运动特征,将多个外观特征按照其对应的多个单帧图像在视频序列中出现的时间先后顺序进行排列,从而形成外观特征集合,将多个运动特征按照其对应的多个光流图像在光流图像序列中出现的时间先后顺序进行排列,从而形成运动特征集合;

第六模块,用于将第五模块得到的外观特征集合中的所有外观特征进行融合,从而得到融合的外观特征,并将第五模块得到的运动特征集合中的所有运动特征进行融合,从而得到融合的运动特征;

第七模块,用于将第六模块得到的融合的外观特征和融合的运动特征分别输入到与多层感知机的输出相连的softmax层进行归一化,以分别输出外观分类结果和运动分类结果;

第八模块,用于根据第七模块输出的外观分类结果和运动分类结果分别计算其对应的损失值;

第九模块,用于根据第八模块得到的损失值调整空间流残差网络模型、时间流残差网络模型、以及第六模块融合过程中使用的全连接层和多层感知机的参数;

第十模块,用于重复上述第三模块到第九模块,当达到迭代次数阈值的时候,将最终得到的外观分类结果和运动分类结果进行融合,过程结束。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:

(1)由于本发明中使用了多层resnet网络,其深度比现有双流卷积神经网络模型深,提取的特征更有利于后续的分类过程,从而能保证较高的识别准确率;

(2)由于本发明采用了步骤(3)对外观特征和运动特征进行排序,后续使用排序后的多个外观特征进行了融合操作,并使用排序后的多个运动特征进行了融合操作,从而能够保证得到较好的分类结果,由此进一步保证较高的识别准确率。

附图说明

图1是本发明基于深度学习的人体动作识别方法的流程图;

图2是本发明人体动作识别模型的生成过程的流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

如图1所示,本发明基于深度学习的人体动作识别方法包括:获取视频序列中的连续两帧图像,并将该连续两帧图像输入已训练的人体动作识别模型中,以得到人体动作识别结果,其中人体动作识别模型是通过以下步骤生成的(如图2所示):

(1)获取数据集中视频序列中的连续两帧图像,利用光流提取方法从获取的连续两帧图像中提取光流图像;

具体而言,本发明中的光流提取方法是tv-l1方法。

(2)对视频序列中所有剩余帧,重复执行上述过程,从而得到光流图像序列,将视频序列和光流图像序列平均分成t段,从视频序列的每一段中提取单帧图像,并从光流图像序列的每一段中提取连续的l帧光流图像;其中t和l都是自然数,且t的取值小于或等于视频序列的总帧数,l的取值小于或等于(视频序列的总帧数/t)。

举例而言,加入视频序列的总帧数是100,本步骤将视频时序分成t=5段,从光流图像序列的每一段中提取的连续的光流图像的数量l为5,每张光流图像包含x和y两个方向。

(3)将步骤(2)从视频序列的每一段中提取的单帧图像和l帧光流图像分别输入到空间流残差网络模型和时间流残差网络模型中,以分别获取多个外观特征和多个运动特征,将多个外观特征按照其对应的多个单帧图像在视频序列中出现的时间先后顺序进行排列,从而形成外观特征集合,将多个运动特征按照其对应的多个光流图像在光流图像序列中出现的时间先后顺序进行排列,从而形成运动特征集合;

具体而言,本步骤中空间流残差网络模型和时间流残差网络模型都被在imagenet数据集上预训练过的残差网络进行过初始化。

具体而言,使用的空间流残差网络模型和时间流残差网络模型的基础网络采取resnet网络,本发明采用的网络层数可以是34层、50层、或101层,在本步骤中,优选使用的是resnet-101用于特征提取。

为了能够避免神经网络训练过拟合,时间流残差网络模型和空间流残差网络模型的最后一层使用高随机失活率为p的随机失活层,p可以选取为0.5、0.7、或0.8,优选地,本步骤中空间流残差网络模型的p等于0.8,时间流残差网络模型的p等于0.7。

(4)将步骤(3)中得到的外观特征集合中的所有外观特征进行融合,从而得到融合的外观特征,并将步骤(3)中得到的运动特征集合中的所有运动特征进行融合,从而得到融合的运动特征;

具体而言,针对外观特征融合而言,首先将外观特征集合中的所有外观特征逐一通过与空间流残差网络模型的输出相连的全连接层分别映射为一个固定长度v的特征向量(本步骤中选取的v等于256),然后将所有长度为v的特征向量进行级联融合,随后将级联后的特征输入到多层感知机中聚合,从而得到融合的外观特征,多层感知机层数c和每层隐含节点数为ci(其中c和ci为自然数),本步骤中选取c为1,ci为512。

针对运动特征融合而言,按照平均方式对运动特征集合中的所有运动特征进行聚合,从而得到融合的运动特征。

(5)将步骤(4)得到的融合的外观特征和融合的运动特征分别输入到与多层感知机的输出相连的softmax层进行归一化,以分别输出外观分类结果和运动分类结果;

(6)根据步骤(5)输出的外观分类结果和运动分类结果分别计算其对应的损失值;

具体而言,针对外观分类结果而言,是使用以下公式计算其对应的损失值:

loss(pt)=-αt(1-pt)γlogpt

其中pt表示外观分类结果,αt是权重,其取值为1,γ为聚焦参数,其可以设定为1至5之间的任意自然数,优选为2。

针对运动分类结果而言,其对应的损失值就是其交叉熵损失值。

(7)根据步骤(6)得到的损失值调整空间流残差网络模型、时间流残差网络模型、以及步骤(4)中融合过程中使用的全连接层和多层感知机的参数;

(8)重复上述步骤(1)到(7),当达到迭代次数阈值的时候,将最终得到的外观分类结果和运动分类结果进行融合,过程结束;

在本发明中,迭代次数的阈值为340次。

本步骤中采用的融合方式为加权融合,外观分类结果对应的空间流残差网络模型和运动分类结果对应的时间流残差网络模型之间的融合比例可以为1:1、1:1.1、1:1.2、或1:1.5,优选为1:1.1。

将本发明与现有的传统方法和神经网络方法如稠密轨迹特征(densetrajectories,简称dt),改进稠密轨迹特征(improveddensetrajectories,简称idt),轨迹汇集深度卷积描述符(trajectory-pooleddeep-convolutionaldescriptors,简称tdds)长时递归卷积神经网络(long-termrecurrentconvolutionalnetwork,简称lrcn)、双流卷积神经网络(two-stream),双流卷积融合网络(two-streamfusion),深层双流卷积神经网络(deeptwo-stream)等方法对比,得到以下表1,从表1可以看出,本发明的方法在ucf101数据集上的准确率为94.1%,总体来说,本方法能够实现较好的人体动作识别效果。

表1准确率比较

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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