1.本发明涉及涉及深度学习和图像处理领域,具体涉及一种基于时空增强网络的视频动作识别方法。
背景技术:2.随着互联网技术和大数据科学的快速发展,人们通过网络可获取的视频数量呈爆发式增长。如何从视频图像中提取有效信息已成为备受关注的问题。从视频中提取信息需要能够快速理解视频的内容,并根据一定规则对这些内容进行解释。显然,随着视频数量的急速增长,通过人工方式对视频进行理解和分析已经难以适应当前的需求。从而,需要采用智能自动化的方式完成相应的任务。作为视频理解的一个基本问题,视频图像中行为的识别在实际工程领域有着非常广泛的应用,如视频审核、手势识别和安防监控等。近年来,深度学习理论的研究取得了很大的进展,被成功用于图像处理等问题。因此,研究基于深度学习的视频动作识别具有非常重要的理论价值和应用前景。
3.在已有的研究中,人们通常采用3d卷积神经网络或者2d卷积神经网络处理视频图像中的动作识别问题。其中,基于2d卷积神经网络的动作识别方法一般采用双流架构,基本思路是:针对视频中的不同帧图像,分别利用输入的光流和rgb帧的空间流信息实现动作行为的时间和空间建模,并将时间流和空间流信息进行充分融合,最后输入到合适的分类器进行处理,得到动作识别结果。与传统单流结构的卷积神经网络相比,由于光流信息的利用,双流结构的卷积神经网络在视频动作识别方面的性能得到了明显的提升。但是,这种性能提升是以昂贵的光流计算成本为代价的。此外,基于双流结构的视频方法的另一个不足是通常采用2d卷积神经网络提取时间流信息,因此对长时间信息的建模能力不足。而在3d卷积神经网络模型中,提出了3d卷积核以有效提取视频图像中的时空信息。引入3d卷积核的好处是,随着结构的不断加深,感受野的不断增大,3d卷积神经网络更加有利于从视频图像中提取丰富的时间信息。另一方面,3d卷积神经网络也能够直接从输入的rgb图像中获取空间信息,从而避免了计算代价昂贵的光流提取过程。但是,由于3d卷积核的引入,基于3d卷积神经网络的动作识别方法仍然存在计算成本高、运算速度慢的不足。最近,已有一些研究将3d卷积神经网络和双流结构进行结合来提高行为识别的准确率。同样地,正如上述分析,这两者结合的计算成本显然是非常昂贵的,因此在实际中难以被广泛采用。与此同时,也有一些学者在研究新的时间流信息处理方法,探讨如何与2d卷积神经网络进行结合,实现对时空信息的有效提取。这样,不仅能充分发挥2d卷积神经网络轻量高效的特性,而且避免了对预训练好的2d卷积神经网络做过大的改动。然而,这种方法往往可移植性较差。因此,进一步探索时间流信息处理方法与2d卷积神经网络的集成是值得深入研究的。
4.传统技术存在以下技术问题:
5.1.基于双流网络的深度卷积神经网络模型对视频图像的长时间建模能力不足,影响动作行为识别的效果。另一方面,在双流结构中,光流提取的时间和空间成本都相对较高,不利于在实际中的应用;
6.2.基于3d卷积神经网络的视频行为识别方法计算成本高、运行速度慢;
7.3.2d卷积神经网络难以充分表示视频图像中运动信息的空间和时间特征的关联性,导致识别准确率不太理想。
技术实现要素:8.本发明要解决的技术问题是提供一种基于时空增强网络的视频动作识别方法,以mobilenetv2为基础,提出了一种时空增强网络模型(sten)解决视频图像的动作识别问题,引入时空关联信息的注意力机制,解决2d卷积神经网络无法有效提取时空信息,识别准确率低的问题;设计了一种时空增强模块实现视频图像中运动信息的空间特征的有效表示;基于时空增强模块的视频行为识别的深度卷积神经网络模型参数量和计算量都相对较小,运行速度快;采用端到端的系统架构,易于实现。
9.为了解决上述技术问题,本发明提供了一种基于时空增强网络的视频动作识别方法,包括:
10.s1.将视频划分为t个等长的时间段并从每个时间段中随机采样一帧,获得具有t帧图像的输入序列;
11.s2.将s1获取到的视频帧图像序列进行预处理;
12.s3.以s2得到的张量作为输入并将其输入到时空增强网络模型中,经过模型处理后得到提取的时空特征;
13.s4.用softmax激活并归一化s3得到的时空特征并沿着时间维度对归一化后的时空特征求平均,最后通过变形得到的就是各个视频中行为的分类分数,再取最高分所属分类作为分类类别即可得到所求分类结果。
14.在其中一个实施例中,步骤s3的具体流程为:
15.s3-1.采用的基础网络为mobilenet v2,它包含17个bottleneck,将设计的时空增强模块嵌入在其第3,5,6,8,9,10,12,13,15,16个bottleneck中得到时空增强网络模型;
16.s3-2.为了保证时空增强网络模型长期时间建模的能力,在时空增强模块之前级联了一个核大小为3的1d卷积;
17.s3-3.时空增强模块是通过残差块的形式实现的,其残差函数为x
n+1
=xn+a(xn,wn),其中a(xn,wn)是时空增强部分,其大致步骤为:将输入特征分别沿长度维和宽度维做空间平均并分别用softmax激活,再做矩阵乘法得到空间关联图谱,将此图谱通过时间卷积后与原输入相乘从而激活输入特征具有丰富运动信息的部分。
18.在其中一个实施例中,在步骤s3-1中使用的mobilenet v2结构为:首先使用一个3
×
3的卷积层提取图像特征,由大小为[nt,3,224,224]的帧图像得到大小为[nt,32,112,112]的特征图;然后将得到的特征图依次通过17个bottleneck和一个1
×
1的卷积得到大小为[nt,1280,7,7]的特征图;最后将得到的特征图经过平均池化再馈送到全连接层得到nt
×
cls的特征,其中,cls代表视频行为的分类数。
[0019]
在其中一个实施例中,其中步骤s3-2的具体流程为:
[0020]
将输入特征通过变形和移位操作使其维度由[nt,c,h,w]变为[n
×h×
w,c,t];
[0021]
用核大小为3的1d卷积提取时间信息;
[0022]
采用变形和移位将通过卷积后的特征的维度还原为[nt,c,h,w]。
[0023]
在其中一个实施例中,在上述步骤中采用的是通道分离的1d卷积,且其前八分之一的通道被初始化为(0,0,1),八分之一至八分之二的通道被初始化为(1,0,0),剩下四分之三的通道被初始化为(0,1,0)。
[0024]
在其中一个实施例中,在步骤s3-3中,时空增强模块是嵌入在采用了残差形式的bottleneck的第一个卷积操作前面的,该模块由两部分并联构成:第一部分为原输入;第二部分为时空增强;时空增强模块的具体过程为:假定输入特征x的维度为[nt,c,h,w],其中,n为批量大小即视频数量,t为每个视频抽样的帧数其代表的是时间维度,c为通道数量,h和w分别为长和宽,nt=n
×
t;将其通过1
×
1的卷积得到维度为[nt,c/r,h,w]的特征xr,这一步的目是减低计算量,将xr分别沿长度维和宽度维做空间平均并分别用softmax激活,再做矩阵乘法得到空间关联图谱,将此图谱通过时间卷积后再通过1
×
1的卷积将其通道数恢复为c,之后经过sigmoid激活并与原输入相乘从而激活输入特征具有丰富时间信息的部分;上述时空增强的过程描述为a(xn,wn);最后,通过x
n+1
=xn+a(xn,wn)得到时空增强模块的输出。
[0025]
在其中一个实施例中,步骤s4中用softmax对从s3获得的维度为nt
×
cls的特征进行归一化操作,softmax定义为:
[0026][0027]
之后通过变形将处理后的特征维度变为[n,t,cls],沿着其时间维求平均后再将得到的特征变形为[n,cls],此时得到的就是各个视频中行为的分类分数,再取最高分所属分类作为分类类别即可得到所求分类。
[0028]
基于同样的发明构思,本技术还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现任一项所述方法的步骤。
[0029]
基于同样的发明构思,本技术还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一项所述方法的步骤。
[0030]
基于同样的发明构思,本技术还提供一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行任一项所述的方法。
[0031]
本发明的有益效果:
[0032]
1.通过在空间网络中嵌入时空增强模块,本发明提出的基于深度学习的视频动作识别系统可以得到较高的分类准确率。2.时空增强模块让网络更关注于含有丰富时间信息的区域,因此具有较好的时空信息提取效率。3.采用mobilenetv2为基础模型大大减少了模型的运算复杂度和运算时间。4.模型仅以rgb帧图像为输入,也没有采用辅助网络,因此结构简单,参数量少。
附图说明
[0033]
图1展示了本发明基于时空增强网络的视频动作识别方法中bottleneck的结构示意图
[0034]
图2展示了本发明基于时空增强网络的视频动作识别方法中提出的stem模块的结构示意图。
[0035]
图3展示了本发明基于时空增强网络的视频动作识别方法中基础模型mobilenet v2的bottleneck结构之一。
[0036]
图4展示了本发明基于时空增强网络的视频动作识别方法中基础模型mobilenet v2的bottleneck结构之二。
[0037]
图5展示了本发明基于时空增强网络的视频动作识别方法中基础模型mobilenet v2的bottleneck结构之三。
[0038]
图6展示了本发明基于时空增强网络的视频动作识别方法在jester数据集上的训练和测试曲线。
具体实施方式
[0039]
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
[0040]
本发明提出的基于深度学习的视频动作识别系统构建了一种时空增强网络,通过在mobilenet v2中嵌入时空增强模块的方式实现对时空信息的有效提取。时空增强模块能根据运动信息空间关联性的强弱实现对其空间层面的增强。由于将时空增强模块嵌入到了mobilenet v2中,因此我们的模型具备轻量高效的特点,并且得益于我们设计的时空增强模块,模型也具备相当的时空信息提取能力。表1展示了模型的整体结构,其中t为mobilenet v2中的扩展参数,c为每个操作后的通道数,n为每个操作重复次数,s为操作中相关卷积的步长。
[0041]
表1
[0042][0043]
图1展示了我们将时空增强模块嵌入到bottleneck(invertedresidual)中的结果,图2展示了提出的时空增强模块。该模型用于解决视频动作识别的具体流程为:
[0044]
s1.将视频划分为t个等长的时间段并从每个时间段中随机采样一帧,获得具有t帧图像的输入序列,这样做一方面可以对视频图像的长时间变化趋势进行建模,另一方面
可以增强模型的鲁棒性;
[0045]
s2.将s1获取到的视频帧图像序列进行预处理,使其变为维度为[nt,3,224,224]的张量,其中,nt=n
×
t,n是视频数量,t是从每个视频采样的图像帧数,本专利以n=1,t=8做说明;
[0046]
s3.以s2得到的张量作为输入并将其输入到时空增强网络模型中,经过模型处理后得到提取的时空特征;
[0047]
s4.用softmax激活并归一化s3得到的时空特征并沿着时间维度对归一化后的时空特征求平均,最后通过变形得到的就是各个视频中行为的分类分数,再取最高分所属分类作为分类类别即可得到所求分类结果。
[0048]
其中步骤s3的具体流程为:
[0049]
s3-1.采用的基础网络为mobilenet v2,它包含17个bottleneck,我们将设计的时空增强模块嵌入在其第3,5,6,8,9,10,12,13,15,16个bottleneck中得到时空增强网络模型;
[0050]
s3-2.为了保证时空增强网络模型长期时间建模的能力,我们在时空增强模块之前级联了一个核大小为3的1d卷积。
[0051]
s3-3.时空增强模块是通过残差块的形式实现的,这样可以保留背景信息,其残差函数为x
n+1
=xn+a(xn,wn),其中a(xn,wn)是时空增强部分,其大致步骤为:将输入特征分别沿长度维和宽度维做空间平均并分别用softmax激活,再做矩阵乘法得到空间关联图谱,将此图谱通过时间卷积后与原输入相乘从而激活输入特征具有丰富运动信息的部分。
[0052]
在步骤s3-1中使用的mobilenet v2结构为:首先使用一个3
×
3的卷积层提取图像特征,由大小为[nt,3,224,224]的帧图像得到大小为[nt,32,112,112]的特征图;然后将得到的特征图依次通过17个bottleneck和一个1
×
1的卷积得到大小为[nt,1280,7,7]的特征图;最后将得到的特征图经过平均池化再馈送到全连接层得到nt
×
cls的特征,其中cls代表视频行为的分类数。mobilenet v2的bottleneck的构成有三种形式,分别如图3、图4、图5所示,本专利修改的是其采用了残差形式的部分(图5)。
[0053]
在步骤s3-2中,我们的设计分以下几步:
[0054]
1.将输入特征通过变形和移位操作使其维度由[nt,c,h,w]变为[n
×h×
w,c,t];
[0055]
2.用核大小为3的1d卷积提取时间信息;
[0056]
3.采用变形和移位将通过卷积后的特征的维度还原为[nt,c,h,w]。
[0057]
在上述步骤中采用的是通道分离的1d卷积,且其前八分之一的通道被初始化为(0,0,1),八分之一至八分之二的通道被初始化为(1,0,0),剩下四分之三的通道被初始化为(0,1,0)。采用通道分离的卷积可以使时间信息的提取过程更存粹,上述初始化操作是为了更有效地利用预训练的网络,从而提高模型收敛效率和准确率。
[0058]
在步骤s3-3中,时空增强模块是嵌入在采用了残差形式的bottleneck的第一个卷积操作前面的,该模块由两部分并联构成:第一部分为原输入;第二部分为时空增强。时空增强模块的具体过程为:假定输入特征x的维度为[nt,c,h,w],其中,n为批量大小(即视频数量),t为每个视频抽样的帧数(代表的是时间维度),c为通道数量,h和w分别为长和宽,nt=n
×
t。将其通过1
×
1的卷积得到维度为[nt,c/r,h,w]的特征xr,这一步的目是减低计算量,将xr分别沿长度维和宽度维做空间平均并分别用softmax激活,再做矩阵乘法得到空间
关联图谱,将此图谱通过时间卷积后再通过1
×
1的卷积将其通道数恢复为c,之后经过sigmoid激活并与原输入相乘从而激活输入特征具有丰富时间信息的部分。上述时空增强的过程可以描述为a(xn,wn)。最后,通过x
n+1
=xn+a(xn,wn)得到时空增强模块的输出,这样的残差形式可以在实现对短期运动信息增强的同时保留背景信息。
[0059]
步骤s4中用softmax对从s3获得的维度为nt
×
cls的特征进行归一化操作,softmax定义为:
[0060][0061]
之后通过变形将处理后的特征维度变为[n,t,cls],沿着其时间维求平均后再将得到的特征变形为[n,cls],此时得到的就是各个视频中行为的分类分数,再取最高分所属分类作为分类类别即可得到所求分类。
[0062]
本发明的一个具体应用场景如下:
[0063]
整个视频行为识别系统需要先在标注好的数据集上进行训练才可以用于实际测试和使用。具体的训练步骤为:
[0064]
1、提取视频帧图像
[0065]
将一个彩色视频划分为t个等长的时间段并从每个时间段中随机采样一帧,这样就获得了具有t帧的输入图像序列。
[0066]
2、数据增强
[0067]
对得到的帧图像序列进行数据增强(增广),这一操作以有限的数据产生了等价于更多数据的价值,因为其能有效防止过拟合的作用,在深度学习领域应用广泛。数据增强的具体过程为:
[0068]
(1)角裁剪(corner cropping),从图片的边角或中心提取区域,来避免默认关注图片的中心;
[0069]
(2)尺度抖动(scale jittering),这一步骤可分为以下几步进行:
[0070]
将输入大小固定为256
×
340;
[0071]
从{256,224,192,168}中随机选择裁剪区域的宽度和高度。
[0072]
将这些裁剪区域的大小调整为224
×
224。
[0073]
事实上,上述步骤不光包括了尺度抖动,还包括了宽高比抖动;
[0074]
(3)随机水平翻转,随机地将某些数据集中属于同一视频的图像通过中心轴左右翻转。
[0075]
将经过上述一系列操作后的图像帧序列输入网络。
[0076]
3、训练过程
[0077]
本发明使用的损失函数为交叉熵损失函数,优化算法为sgd优化算法,这两种算法是分类问题中的经典算法。图6为模型在jester数据集上的训练和测试曲线。表2为模型的识别准确率。
[0078]
表2
[0079]
模型准确率(%)时空增强网络模型95.232
[0080]
本发明的关键构思如下:
[0081]
1.构建的时空增强模块具有很强的移植性,可以很方便地嵌入到不同基础模型的不同位置中。
[0082]
2.时空增强模块让网络更关注于含有丰富时间信息的空间区域,增强了模型的表示能力。
[0083]
3.模型仅以rgb帧图像为输入,也没有采用辅助网络,并且是端到端的结构,因此结构简单,参数量少。
[0084]
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。