一种基于稀疏时间分段网络的视频动作识别方法与流程

文档序号:15852751发布日期:2018-11-07 10:22阅读:390来源:国知局
一种基于稀疏时间分段网络的视频动作识别方法与流程

本发明属于图像处理领域,更具体地,涉及基于稀疏时间分段网络的视频动作识别方法。

背景技术

视频动作识别是通过对输入的视频进行数据处理,然后设计算法分析视频中的人体行为,识别出人体动作。2014年simonyan等人提出了一种基于双流卷积网络模型的视频动作识别方法,该模型由两个神经网络组成,第一个为空间神经网络,输入数据为传统的单个rgb图像,第二个为时间神经网络,输入数据为与第一个网络rgb图像对应的光流图,光流图是通过两张相邻时刻的rgb图像计算得到。通过计算两张图之间像素点的变化,可以得到一张含有变化信息的光流图,因此光流图可以用来记录时间信息,从而被用于时间神经网络,通过两个网络可同时得到时间与空间信息,最后将两者融合并做出最终预测,从而可以更准确地对rgb图像进行识别。

后来的人们对该动作识别方法的不同方向作出改进:1.simonyan等人提出的方法中融合是在最后的输出层,feichtenhofer等人提出一种在两个网络的处理过程中就进行融合的动作识别方法,经验证识别准确率更高;2.simonyan等人提出的方法仅限于某张图片及其对应的光流图,wanglimin等人提出了一种基于时间分段网络(temporalsegmentnetwork,tsn)的模型训练方法,在此方法中,训练网络时的输入不再是单个的rgb图片及其对应的光流图,而是将整个视频切分成帧,设一共有n帧,即n张rgb图片,那么将整个视频分成3段,每段含n/3张图片,从每段中提取一张图片,然后将3段的提取内容结合在一起,再输入到网络中训练模型。由于是从整体的视频帧里提取数据,因此特征会带有全局性,能更好地用于动作识别;3.simonyan等人提出的方法仅限于某张图片及其对应的光流图,可能错过复杂动作组合中真正的动作,吴昊宣等人提出了一种能够提取不同粒度的rgb信息和光流图信息的视频动作识别方法,对于同一段视频,可以提取到更多的视频信息,具有多层次识别的能力,极大提高识别准确率。

上述识别方法均未考虑下述问题:越来越高的识别率的是以越来越深的卷积神经网络为代价的。然而,网络的加深不仅仅增加了网络模型的尺寸,这样会占据更多的存储空间,更多的网络层数会使卷积操作的次数呈指数的速度增长,占用大量的计算资源。这样会降低运行速度。



技术实现要素:

针对现有技术的缺陷,本发明的目的在于解决现有技术存储空间大、识别精度低、识别速度慢的技术问题。

为解决上述问题,本发明提供一种基于稀疏时间分段网络的视频动作识别方法,该方法包括以下步骤:

s1.构建时间卷积神经网络和空间卷积神经网络;

s2.准备训练视频集合,从每个训练视频中提取信息,对时间卷积神经网络和空间卷积神经网络进行第一次训练和第一次优化,使得损失函数最小;

s3.在第一次优化后的时间神经网络和空间神经网络的损失函数中加入稀疏项;

s4.对加入稀疏项的时间卷积神经网络和空间卷积神经网络进行第二次训练和第二次优化,使得加入稀疏项的损失函数最小;

s5.对第二次优化后的时间卷积神经网络和空间卷积神经网络进行裁剪和尺寸调整;

s6.对尺寸调整后的时间卷积神经网络和空间卷积神经网络进行第三次训练和第三次优化,判断识别精度或者稀疏度是否达到期望,若否则重复步骤s3-s5,若是,则得到第三次优化后的时间神经网络和空间神经网络;

s7.从待识别视频中提取信息,将提取的信息输入至第三次优化后的时间神经卷积网络和空间卷积神经网络,将时间卷积神经网络和空间卷积神经网络的输出融合后得到动作识别结果。

具体地,从视频v中提取信息,包括以下步骤:

(1)将视频v划分成k段等长的片段{s1,s2,...,sk};

(2)从每个片段中随机选取一帧,该帧的信息包括rgb图像及对应的光流信息,光流信息包括水平方向的光流图像和垂直方向的光流图像;

(3)将所有选取的帧拟合为一长度为k的片段{t1,t2,...,tk}。

具体地,损失函数的计算公式如下:

其中,c是动作类别的数量,yi是动作类别i所对应的标签真值,gi表示g的第i个维度,g=g(f(t1;w),f(t2;w),...,f(tk;w)),g表示分段一致性函数,综合了多个短片段的输出,以获得一个一致的类别假设,f(tk,w)表示具有参数w的卷积神经网络函数,其对短片段tk起作用,并对所有类别中进行评分。

具体地,所述方法使用按通道和/或滤波器的结构化稀疏,加入稀疏项的损失函数计算公式如下:

l(w)=ld(w)+λnln(w)+λsls(w)(3)

ls(w)=λflf(w)+λclc(w)(5)

其中,ld(w)表示模型在训练数据上的损失,ln(w)表示一般的正则损失项,例如,l1正则项或l2正则项,λn表示一般正则损失项的超参数,ls(w)表示由稀疏项引入的损失,λs是稀疏项的超参数,λf是滤波器稀疏项的超参数,λc是通道稀疏项的超参数。

可选地,按滤波器稀疏对应的稀疏项计算公式如下:

其中,n表示网络中卷积层的数量,h、wid分别表示卷积核的高和宽,nheight和nwidth分别表示当前参与运算的卷积核上点的坐标,表示第n层卷积层中第三维是nheight、第四维是nwidth、第一维和第二维取任意值时得到的权值矩阵,||||是正则运算。

可选地,按通道稀疏对应的稀疏项计算公式如下:

其中,n表示网络中卷积层的数量,out表示输出通道的最大值,nout表示当前参与运算的输出通道,||||是正则运算。

具体地,所述裁剪是指将整个卷积核的权值都为0的卷积核裁剪掉。

具体地,所述尺寸调整是指保证上一层的输出通道数与下一层的输入通道数相等。

可选地,调整时取上一层的输出通道数与下一层的输入通道数这二者间的最大值作为调整尺寸。

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

1、本发明通过使用采用时间分段网络,在输入上采取了稀疏采样,可以获取更长段视频的信息,同时双流卷积网络结构能更充分地利用视频信息,使动作识别精度大幅提高。

2、本发明引入结构化稀疏方法,能成组地稀疏卷积层的权重,更容易在移动硬件平台上部署和实施。

3、本发明对稀疏后的网络裁剪,在不降低网络识别精度的条件下,进一步精简模型。

4、本发明对裁剪后的网络模型进行再训练以及稀疏,对网络充分稀疏。再训练使得裁剪后的模型仍能表达训练集中的数据特征。

附图说明

图1为本发明实施例提供的基于稀疏时间分段网络的视频动作识别方法流程示意图。

图2为本发明实施例使用的时间分段网络结构示意图。

图3为本发明实施例提供的按滤波器进行稀疏的效果示意图。

图4为本发明实施例提供的按通道稀疏的效果图。

图5为本发明实施例对卷积层conv4_1的卷积核进行可视化的结果示意图。

图6为本发明实施例提供是尺寸调整示意图。

图7为本发明实施例提供的未稀疏以及稀疏几次后的各个卷积层的尺寸的变化示意图。

图8为本发明实施例提供的模型的在ucf101数据集上识别精度的变化示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1为本发明实施例提供的基于稀疏时间分段网络的视频动作识别方法流程示意图。如图1所示,该方法包括以下步骤:

s1.构建时间卷积神经网络和空间卷积神经网络;

s2.准备训练视频集合,从每个训练视频中提取信息,对时间卷积神经网络和空间卷积神经网络进行第一次训练和第一次优化,使得损失函数最小;

s3.在第一次优化后的时间神经网络和空间神经网络的损失函数中加入稀疏项;

s4.对加入稀疏项的时间卷积神经网络和空间卷积神经网络进行第二次训练和第二次优化,使得加入稀疏项的损失函数最小;

s5.对第二次优化后的时间卷积神经网络和空间卷积神经网络进行裁剪和尺寸调整;

s6.对尺寸调整后的时间卷积神经网络和空间卷积神经网络进行第三次训练和第三次优化,判断识别精度或者稀疏度是否达到期望,若否则重复步骤s3-s5,若是,则得到第三次优化后的时间神经网络和空间神经网络;

s7.从待识别视频中提取信息,将提取的信息输入至第三次优化后的时间神经卷积网络和空间卷积神经网络,将时间卷积神经网络和空间卷积神经网络的输出融合后得到动作识别结果。

本发明的训练视频集合为ucf101,它是目前动作类别数、样本数最多的数据库之一,样本为13320段视频,类别数为101类。例如,applyeyemakeup是该数据集中第一种动作,其对应标签为1。

图2为本发明实施例使用的时间分段网络结构示意图。如图2所示,本发明在输入上,不是从整段视频中提取的光流信息和rgb图像,而是先将视频分段,然后从每段中随机提取一帧光流信息和rgb图像分别作为两个网络的输入,其中,rgb图像输入至空间神经网络,光流信息输入至时间神经网络。从视频v中提取信息,包括以下步骤:

(1)将视频v划分成k段等长的片段{s1,s2,...,sk};

(2)从每个片段中随机选取一帧,该帧的信息包括rgb图像及对应的光流信息,光流信息包括水平方向的光流图像和垂直方向的光流图像;

(3)将所有选取的帧拟合为一长度为k的片段{t1,t2,...,tk}。

tsn模拟片段{t1,t2,...,tk}如下所示:

tsn(t1,t2,...,tk)=h(g(f(t1;w),f(t2;w),...,f(tk;w)))(1)

其中,f(tk,w)表示具有参数w的卷积神经网络函数,其对短片段tk起作用,并对所有类别中进行评分;分段一致性函数g综合了多个短片段的输出,以获得一个一致的类别假设,包括几个不同形式,包括取平均值,最大值,加权平均值等。以分段一致性函数g为取平均值为例,对这个类的这些片段预测分数取平均值。预测函数h预测整个视频为每个动作类别的概率,本发明采用softmax函数作为预测函数。

时间神经网络和空间神经网络的最后一层全连接层的输出通过分段一致性函数进行整合。

第一次优化的目标函数为损失函数,损失函数的计算公式如下:

其中,c是动作类别的数量,针对本发明采用的ucf101,c=101;yi是动作类别i所对应的标签真值;g=g(f(t1;w),f(t2;w),...,f(tk;w)),gi表示g的第i个维度。

根据函数g的选择,这个时间分段网络是可微的或者至少是有次梯度的。这能够使使用标准的反向传播算法通过多个短片段来对参数w优化。在反向传播过程中,损失值l关于参数的w梯度可以表示为:

其中k是tsn中片段数。

对第一次优化后的时间神经网络和空间神经网络模型可视化后,发现网络模型中存在大量的冗余参数,所以,本发明提出在模型训练的时候加入稀疏项,使卷积层的部分参数为0。为了使稀疏化的参数以结构化地形式稀疏掉,以便于硬件实施,本发明使用按通道和按滤波器的结构化稀疏方法。

假定卷积层的权重可以用一个四维张量表示为上标n表示的是第n层卷积层,分别表示第n层卷积层的输出通道数,输入通道数,卷积核的高和宽。通过通道损失和滤波器损失对卷积层的权重进行限定,可以使卷积层的权重以组形式趋向或等于零。

按滤波器稀疏对应的稀疏项计算公式如下:

其中,n表示网络中卷积层的数量,h、wid分别表示卷积核的高和宽,nheight和nwidth分别表示当前参与运算的卷积核上点的坐标,表示第n层卷积层中第三维是nheight、第四维是nwidth、第一维和第二维取任意值时得到的权值矩阵,||||是正则运算。

按通道稀疏对应的稀疏项计算公式如下:

out表示输出通道的最大值,nout表示当前参与运算的输出通道。

图3为本发明实施例提供的按滤波器进行稀疏的效果示意图。如图3所示,有三个子图,每个子图中都有灰色部分以及透明的部分,其中,灰色部分表示的是增加按通道稀疏项后,网络的卷积层中部分卷积核的值为0。可以看出,增加滤波器稀疏项后,权值以卷积核为整体,成组地为0。

图4为本发明实施例提供的按通道稀疏的效果图。同样,灰色部分表示的是权值为0的部分。可以看出,增加按通道稀疏项后,权值是以通道为整体,成组地为0。

加入稀疏项的损失函数计算公式如下:

l(w)=ld(w)+λnln(w)+λsls(w)(6)

ls(w)=λflf(w)+λclc(w)(8)

其中,ld(w)表示模型在训练数据上的损失,ln(w)表示一般的正则损失项,例如,l1正则项或l2正则项,λn表示一般正则损失项的超参数,ls(w)表示由稀疏项引入的损失,λs是稀疏项的超参数,λf是滤波器稀疏项的超参数,λc是通道稀疏项的超参数。

第二次训练的训练过程中,增加稀疏项,以成组地形式稀疏化卷积层的参数,增加稀疏项的模型训练好后,会得到稀疏的权值。网络稀疏后,为0的参数仍然存在于网络之中,还会占用存储空间以及参与运算,本发明通过对网络进行裁剪的方法移除这些参数。在这些稀疏后的权值中,由于存在整个卷积核的权值都为0的情况,而权值为0的卷积核,对输入的特征图进行卷积计算后,得到的卷积计算结果也为0,对于后面的识别来说没有贡献,所以为了精简模型,将这些整个卷积核的权值都为0的卷积核裁剪掉。

图5为本发明实施例对卷积层conv4_1的卷积核进行可视化的结果示意图。取的是conv4_1权重中的[:5,:,:,:],由于该层的权重的大小为512×256×3×3,所以取的部分权重的大小为5×256×3×3,为了便于显示出来,这里将这个4维的张量先分成了5个3维的张量,即5个256×3×3的张量,然后在将这个张量变形为256×9的二维矩阵,所以图5中的每个子图的行表示的就是同一个卷积核的所有权值,在子图2,3,5中,灰度值较大的部分的表示的是权值是0的卷积核,所以这几个子图中,每个子图只有一个卷积核的权值是有效的,而且这种以组地形式使权值为0的方式也表明了它们是按滤波器以组地形式为0的。子图1中的整块的灰度值较小的部分的权值为0。在子图4中,成块的灰度值较大的部分的权值为0的部分,而且,从子图1和4中可以看出,存在一些颜色相同的竖条纹,这些竖的条纹处的权值也是为0的,这就表现了按通道稀疏的效果。可以看出,这层存在大量的卷积核的权值为0。

图6为本发明实施例提供是尺寸调整示意图。在权值裁剪时,如果按整个卷积核的权值为0,就把这个卷积核裁剪掉后,会存在一个问题。这样很有可能使前一层卷积层的输出通道的尺寸,与下一层的输入通道的尺寸不一致,出现图6左侧所示的问题。conv1_1层的权重的尺寸为26×3×3×3,即该卷积层的输出通道数是26,而它的下一层conv1_2的权重的尺寸为16×25×3×3,即该卷积层的输入通道数是25。conv1_1层的输出是经过变换后输入到conv1_2层中的,由于25小于26,所以conv1_2层的权重处理不了conv1_1层的输出。因此,需要对裁剪后的权重的尺寸进行调整。需要保证的是上一层的输出通道数与下一层的输入通道数这两个值相等,但是又为了减少信息的丢失,所以调整时,取这二者间的最大值作为上一层的输出通道数与下一层的输入通道数的尺寸。根据这个规则,调整图6左侧的尺寸,得到图6右侧的尺寸。需要说明的是,在conv5_3中,将输出通道数的大小调整为512是为了与全连接层的尺寸相对应。

裁剪后的网络,会使原始的参数间的相对位置发生变化,如果直接用裁剪后的网络测试动作识别效果,精度会很低,所以需要对网络重新进行训练。

判断识别精度或者稀疏度是否达到期望,若否则重复步骤s3-s5,若是,则得到第三次优化后的时间神经网络和空间神经网络。

从待识别视频中提取信息,将提取的信息输入至第三次优化后的时间神经网络和空间神经网络,将时间神经网络和空间神经网络的输出融合后得到动作识别结果,通过分段一致性和融合得到的尺寸为c*1的列向量,该向量中值最大的元素所在的行的值即为待识别的视频的标签,该标签对应的动作类别即为待识别视频的动作类别。

本发明的融合采用的是均值融合,但不限于均值融合。

矩阵稀疏度是指矩阵中值为0的元素的个数占矩阵元素总个数的比例,计算公式如下:

其中,n0表示矩阵中值为0的元素的个数,n表示矩阵元素总个数。

图7为本发明实施例提供的未稀疏以及稀疏几次后的各个卷积层的尺寸的变化示意图。如图7所示,经过几次稀疏后,各层卷积层的尺寸都有所下降,其中,中间卷积层的尺寸减少得比较多。

图8为本发明实施例提供的模型的在ucf101数据集上识别精度的变化示意图。如图8所示,本发明所提出的视频中动作识别解决方案,不仅具有较强的鲁棒性、准确性,同时可以保证网络具有较高的稀疏性以及模型的精简性。

以上,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

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