一种基于DenseNet网络与帧差法特征输入的人体行为识别方法与流程

文档序号:18398396发布日期:2019-08-09 23:38阅读:316来源:国知局
一种基于DenseNet网络与帧差法特征输入的人体行为识别方法与流程

本发明涉及计算机视觉的行为识别技术领域,具体为一种基于densenet网络与帧差法特征输入的人体行为识别方法。



背景技术:

从视频序列中识别人体行为的行为识别技术是一门涉及计算机视觉、模式识别和人工智能等诸多领域的研究课题。因其在视频监控、人机交互、运动分析和视频分类等多个领域中具有巨大的应用前景,因此人体行为识别技术已经成为机器视觉领域的研究热点之一。但是因为其应用环境的复杂性及相机抖动、背景复杂多变、行为的类内差异性等影响因素,现有的基于光流图片的时空双流行为识别模型存在着识别准确率低、训练时间长、因为稠密连接导致的模型参数量庞大的问题。



技术实现要素:

为了解决现有技术中从视频序列中识别人体行为准确率低、训练时间长、模型参数量庞大的问题,本发明提供一种基于densenet网络与帧差法特征输入的人体行为识别方法,其可以在占用较少内存和更少训练时间的基础上,在进行人体行为识别的时候取得较高的准确率。

本发明的技术方案是这样的:一种基于densenet网络与帧差法特征输入的人体行为识别方法,其包括以下步骤:

s1:获得待识别动作视频数据;

s2:构建骨干网络模型,通过所述骨干网络模型分别搭建时间流网络和空间流网络;

s3:分别训练所述时间流网络和所述空间流网络,获得训练好的所述时间流网络和所述空间流网络;

s4:把所述待识别动作视频数据输入到训练好的所述时间流网络和训练好的所述空间流网络,获得行为识别最终结果,完成动作识别操作;

其特征在于:

步骤s2中所述骨干网络模型是以densenet模型为基础构建的,其包括4个denseblock、3个融合层,所述denseblock之间设置所述融合层;

所述骨干网络模型后面依次连接全连接层;

步骤s1中,获得待识别动作视频数据,包括以下步骤:

s1-1:对于所述待识别动作视频数据进行分割采样与色彩空间转换,获取所述待识别动作视频数据的静态灰度图像序列;

s1-2:提取所述静态灰度图像序列间的图像运动信息特征,利用帧差法生成包含运动主体运动特征的运动帧差图;

步骤s4中,把所述待识别动作视频数据输入到训练好的所述时间流网络和训练好的所述空间流网络,包括以下步骤:

s4-1:将所述静态灰度图像序列的序列作为所述空间流网络的输入;

s4-2:将步骤s4-1中选取的所述静态灰度图像序列对应的所述运动帧差图的序列作为所述时间流网络的输入。

其进一步特征在于:

步骤s4中,还包括以下步骤:

s4-3:把所述运动帧差图的序列和所述静态灰度图像序列分别输入到所述时间流网络、所述空间流网络后,生成两段具有显著特征的高层特征图连续序列,即时间流高层时间轴特征序列和空间流高层语义特征序列;

s4-4:把所述时间流高层时间轴特征序列输入到所述时间流网络中的时间流分类器,采用分类器计算所述时间流高层时间轴特征对于动作标签的时间概率分布;

s4-5:把所述空间流高层语义特征序列输入到所述空间流网络中的空间流分类器,采用所述分类器计算所述空间流高层语义特征序列对于动作标签的空间概率分布;

s4-6:通过所述时间概率分布和所述空间概率进行平均求和来获取动作的总体概率分布,完成行为识别模型的双流融合,通过筛选出概率最高的动作类作为所述行为识别最终结果;

所述骨干网络模型中的denseblock中包括4个convcore,每一个convcore中含有一个1×1卷积和一个3×3卷积的操作,每个3×3卷积层后面跟随一个激活函数;

所述骨干网络模型中的所述融合层包括1个1×1的卷积层和1个2×2的最大池化层,每个1×1的卷积层后面跟着一个激活函数和一个批量归一化层;

所述骨干网络模型中的所述全连接层有两个,各自层对应节点数分别设置为512和101;

所述convcore中的每个3×3卷积层后面跟着一个批量归一化层进行批量归一化操作;

步骤s1-1中,获取所述待识别动作视频数据的所述静态灰度图像序列的步骤如下:

s1-1-1:获取所述待识别动作视频数据后,将视频图像序列分解为静态图像序列;

s1-1-2:基于跳帧采集策略,设置采样步长后,获取静态rgb图像序列;

s1-1-3:把所述静态rgb图像序列通过色彩空间转换转化为所述静态灰度图像序列;

步骤s1-2中,利用帧差法生成包含运动主体运动特征的所述运动帧差图的步骤如下:

s1-2-1:根据高斯分布公式搭建高斯滤波器,将所述静态灰度图像序列进行能量转化,将低能量去除,去除灰度图中存在的高斯噪声,生成具有更少噪声的灰度图像构成的静态灰度图像序列;

s1-2-2:将全部具有更少噪声的所述静态灰度图像序列进行标准化处理,使得所述静态连续帧序列中的灰度图像中每一个像素点的灰度值都处于0-255之间;

s1-2-3:基于每一个像素点的灰度值都处于0-255之间的所述静态灰度图像序列,通过帧差法计算得到与原动作序列相对应的二值化运动帧差图序列,即获得了所述运动帧差图;

步骤s1-2中,利用帧差法生成包含运动主体运动特征的所述运动帧差图,所述帧差法计算所述运动帧差图的函数为:

判决条件为:

其中:

表示前后两帧上对应像素点的灰度值,

na表示待检测区域中像素的总数目,

λ表示光照的抑制系数;

步骤s4-4和s4-5中的所述分类器均采用softmax分类器。

本发明提供的一种基于densenet网络与帧差法特征输入的人体行为识别方法,针对行为识别中,时间流对于运动信息强调运动主体运动不变性的要求,采用帧差法来提取图像序列中上下连续图像之间的帧差特征,利用帧差特征区分运动主体和图像背景,强化运动轮廓的表征;从而可以获取到原特征向量中具有最大显著度的特征属性,相较于光流计算提取特征处理的计算量大大降低,并且去除了无关特征属性的干扰。时间流网络和空间流网络结构均以改进的densenet网络为骨干网络,改进的densenet网络能够解决占用内存和特征冗余问题的同时还保持模型收敛速度和识别准确性。帧差法提取的运动帧差图作为时间流输入、视频序列中提取的静态灰度图像序列作为空间流输入,使时间流网络、空间流网络在其单流独立训练过程中,在时间流和空间流上表现出收敛快速和良好的泛化性能。在本发明的技术方案中,使用帧差特征相较于使用光流特征在模型的收敛时间上减短了,降低了模型的训练时间;使用残差连接代替稠密连接减少了连接参数,有效的降低了模型参数量;使用本发明的技术方案,在人体行为识别的过程中,在有限的内存和训练时间的基础上,表现出很好的准确性。

附图说明

图1为本发明中的人体行为识别方法的流程示意图;

图2为本发明中中间层输出示意图;

图3为本发明中网络模型结构示意图。

具体实施方式

如图1~图3所示,本发明一种基于densenet网络与帧差法特征输入的人体行为识别方法,其包括以下步骤:

s1:获得待识别动作视频数据;

获得待识别动作视频数据,包括以下步骤:

s1-1:对于待识别动作视频数据进行分割采样与色彩空间转换,获取待识别动作视频数据的静态灰度图像序列;

在s1-1中,获取待识别动作视频数据的静态灰度图像序列的步骤如下:

s1-1-1:获取待识别动作视频数据后,将视频图像序列分解为静态图像序列;

s1-1-2:基于跳帧采集策略,设置采样步长为5帧,获取静态rgb图像序列;

s1-1-3:把静态rgb图像序列通过色彩空间转换转化为静态灰度图像序列;

s1-2:提取静态灰度图像序列间的图像运动信息特征,利用帧差法生成包含运动主体运动特征的运动帧差图;

在s1-2中,利用帧差法生成包含运动主体运动特征的运动帧差图的步骤如下:

s1-2-1:根据高斯分布公式搭建高斯滤波器,将静态灰度图像序列进行能量转化,将低能量去除,去除灰度图中存在的高斯噪声,生成具有更少噪声的灰度图像构成的静态灰度图像序列;

s1-2-2:将具有更少噪声的灰度图像构成的全部静态灰度图像序列进行标准化处理,使得静态连续帧序列中的灰度图像中每一个像素点的灰度值都处于0-255之间;

s1-2-3:基于每一个像素点的灰度值都处于0-255之的静态连续帧序列,通过帧差法计算得到与原动作序列相对应的二值化运动帧差图序列,即获得了运动帧差图;

基于相邻帧间图像差分思想,利用图像序列中的像素强度数据的时域变化和相关性来确定各像素位置的“运动”并提取出目标主体。基于经过高斯滤波的灰度图像构成的静态灰度图像序列,将序列中相邻的两帧进行差分操作,在步骤s1-2中,利用帧差法生成包含运动主体运动特征的运动帧差图过程中,第n帧和n+1帧图像fn(x,y),f(n+1)(x,y)经过二值化差分操作获得的二值差分图像可以表示为d(x,y),

式中:

a表示表示整帧图像的像素矩阵,表示前后两帧上对应像素点的灰度值,

na表示待检测区域中像素的总数目,λ表示光照的抑制系数;

为了适应整帧图像中光照的变换则公式中引入光照抑制多项式:

如果场景中的光照变化较小,该多项式值趋近于零;如果场景中的光照变化明显,该多项式的值明显增大,使得右侧判决条件自适应地增大,最终判决结果为没有运动目标。

s2:构建骨干网络模型,通过骨干网络模型分别搭建时间流网络和空间流网络;

骨干网络模型是以densenet模型为构建的,其包括4个denseblock、3个融合层,denseblock之间设置融合层;骨干网络模型中的denseblock中包括4个convcore,每一个convcore中含有一个包括80个卷积核的1×1卷积操作和一个包括20个卷积核的3×3卷积操作,每个3×3卷积层后面跟随一个激活函数,激活之后,通过批量归一化层(bn层)进行批量归一化处理;每一个3×3卷积层后面引入一个dropout层;

利用convcore中的1×1卷积对中间得到的特征图进行特征的升维和降维,减少模型中间连接参数和保持中间过程特征图的数目一致;通过3×3卷积操作提取含有高维显著性时间轴特征的时间流特征描述子序列和含有高维语义特征的空间流特征描述子序列;

每一个denseblock中采用二级残差连接策略连接各个convcore,每一个convcore的输出将分别与下一个convcore和与之间隔为1的convcore的输出进行特征拼接,拼接特征输入对应的convcore之中,网络模型结构如图3所示;通过二级残差连接将denseblock中的convcore经过卷积操作所得到特征图进行特征的拼接将低维特征与高维特征相拼接,中间层输出如图2所示。二级残差连接使得深层卷积层能够得到低维特征,防止在低维时空特征图中提取高维时空特征的过程丢失重要的时空信息,以及在保证模型不出现梯度消失的前提下,减少连接参数。在保证模型判别准确率的前提下,同时解决了原始densenet由于稠密连接导致的连接参数量庞大和特征重用问题;

每个融合层都位于两个denseblock之间,融合层包括1个1×1的卷积层和1个2×2的最大池化层,每个1×1卷积层含有输入特征图数目一半数量的卷积核,每个1×1的卷积层后面跟着一个激活函数和一个批量归一化层(bn层),在后面还引入一个dropout层进行优化操作;

骨干网络模型后面依次连接全连接层;骨干网络模型后的全连接层有两个,各自层对应节点数分别设置为512和101;第一个全连接层后面引入一个dropout层进行优化操作;

denseblock、融合层、全连接层中使用到的激活函数都采用rectifiedlinearunits(以下简称为relu)函数,计算公式为:

convcore中的每个3×3卷积层后面跟着的bn层,以及融合层中每个1×1的卷积层后面跟着一个bn层,这两处bn层中使用的批量归一化函数的公式,如下:

m表示单一批量中样本的数目;

ε微小变量,防止出现分母为零;

γ表示bn层可学习变量;

β表示bn层可学习变量。

整体网络结构如下面的表1所示:

表1整体网络结构

上述表1中,101个节点的全连接层中的softmax函数用来计算预测动作的概率分布,即通过softmax函数计算出输入动作对应于所有的动作的概率分布;

通过本发明中的网络模型进行数据处理的过程为:将一连续动作特征图序列经过标准化处理,经过7×7卷积和2×2最大池化的初步处理之后,将矩阵列表输入第一个convcore之中,convcore中的1×1卷积层负责对输入的特征图矩阵进行特征矩阵的升维,其中全局维度系数设置为20;由于每一个denseblock中含有4个convcore,故将1×1卷积层的卷积核数目设置为80,并且设置卷积核步长为1,并进行补零操作;在经过1×1卷积层的升维之后将得到的特征图输入3×3卷积层进行高维时空信息的提取,3×3卷积层依据全局维度系数设置自身卷积核数目为20,设置卷积核步长为1并进行补零操作;

根据二级残差连接策略,经过处理的连续动作特征图序列需要直接输入第一个convcore中,并需要与第一个convcore输出的特征序列1进行拼接,组成一个新的特征序列作为第二个convcore的输入特征;同理,将第二个convcore输出的特征序列2与第一个convcore输出的特征序列1进行拼接得到第三个convcore的输入特征,中间层输出如图2所示;根据上述连接策略完成整个denseblock内的特征拼接与特征输入操作,最终得到一特征图数目为60的高维特征图序列;

本发明的网络模型中一共含有4个denseblock,denseblock之间含有1×1卷积层和2×2最大池化层组成的融合层;在融合层将上一层denseblock输出的特征图序列输入1×1卷积层进行降维,减少连接;根据输入特征图数目设置融合层1×1卷积的卷积核数目为30;在卷积层后跟着一个激活函数和一个批量归一化层(bn层)对于输出结果进行激活和归一化操作;最后将得到的特征做最大池化操作提取更为重要的特征信息,减小特征图尺寸,减少神经网络连接参数。

s3:分别训练时间流网络和空间流网络,获得训练好的时间流网络和空间流网络;

针对两独立的时间流网络、空间流网络分别进行训练,优化各自独立网络模型,提高时空双流行为识别模型准确率。为了防止网络模型出现过拟合现象,同时增强深度神经网络的泛化能力,在全连接层、denseblock中的3×3卷积层、以及融合层中的1×1卷积层都引入dropout层,为保持两个模型的学习能力的同时增强模型的泛化能力将dropout参数设置为0.2,保留80%的连接参数参与模型连接参数的调整。使用自适应时刻估计方法(adaptivemomentestimation,adam),通过针对每个参数的梯度的一阶矩估计和二阶据估计来动态调整对每个参数的学习速率,实现对于模型卷积核的权重进行更新和优化从而优化损失函数使之趋向于最小,加速两模型的收敛速度,减少训练时间。

s4:把待识别动作视频数据输入到训练好的时间流网络和训练好的空间流网络,获得行为识别最终结果,完成动作识别操作;

在步骤s4中,把待识别动作视频数据输入到训练好的时间流网络和训练好的空间流网络,包括以下步骤;

s4-1:将静态灰度图像序列的序列作为空间流网络的输入;

s4-2:将步骤s4-3中选取的静态灰度图像序列对应的运动帧差图的序列作为时间流网络的输入;

s4-3:把候运动帧差图的序列和静态灰度图像序列的序列分别输入到时间流网络、空间流网络后,生成两段具有显著特征的高层特征图连续序列,即时间流高层时间轴特征序列和空间流高层语义特征序列;

s4-4:把时间流高层时间轴特征序列输入到时间流网络中的时间流分类器,采用分类器计算时间流高层时间轴特征对于动作标签的时间概率分布;

s4-5:把空间流高层语义特征序列输入到空间流网络中的空间流分类器,采用分类器计算空间流高层语义特征对于动作标签的空间概率分布;

s4-6:通过时间概率分布和空间概率进行平均求和来获取标签的总体概率分布,完成行为识别模型的双流融合,通过筛选出概率最高的动作类作为行为识别最终结果。

为了验证本发明技术方案中的人体行为识别方法的有效性和实用性,选取ucf-101数据集作为实验数据集进行实验。

在win10系统、cpu选择i7-8700k、显卡gtx-1080ti、计算能力为8.1的实验环境下,采用keras+tensorflow作为深度学习框架进行试验;作为实验数据集的ucf-101数据集,其包含有13320个短视频进行试验,在每个动作类中均匀划分出训练集、验证集和测试集,其中训练集为10619个视频、验证集为1324个视频、测试集为1377个视频。

分别以dnn(deepneuralnetwork)模型、inceptionv3(googlenet)模型、vgg模型、采用相同实验模型但是输入特征使用的为原始光流图进行对比实验。其中dnn、inceptionv3模型和vgg模型的对比实验,是为了确认本发明的技术方案中的行为识别模型、与以dnn、inceptionv3和vgg为骨干网络所建立的行为识别模型质检的性能差异而设置的。采用相同实验模型但是输入特征使用光流图进行对比实验,是为了确认以运动帧差图为时间流输入和以光流图为输入的两种情况下,各个模型的识别准确率的差别。

对比试验的具体结果如下面的表2中的试验结果所示:

表2试验结果

由上述表1中的测试数据可知,本发明的网络模型的性能要优于以dnn、inceptionv3和vgg为骨干网络所建立的行为识别模型,能够实现高效、高精度的识别;本发明的技术方案中,在训练阶段建立时空双流行为识别模型,能够使损失函数快速收敛,减少了训练阶段中所消耗的时间;且以运动帧差图为时间流输入能够将运动主体和背景区分开来得到运动主体运动不变性的特征图像,强化运动轮廓的表征,有利于模型学习原特征向量中具有最大显著度的特征属性。根据表2中的数据,可以看出本发明的技术方案的准确率均高于基于传统模型为骨干网络搭建网络的行为模型和以光流图片作为模型输入的模型行为识别动准确率。其通过上述测试数据可以得知,在本发明的技术方案能够在行为识别模型中取得良好的表现,也即是说,本发明中的网络模型能在保持原有densenet学习能力的情况下保存模型良好的泛化能力。

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