APP下载

基于双流网络融合与时空卷积的人体行为识别

2021-11-10秦悦石跃祥

计算技术与自动化 2021年2期
关键词:双流卷积神经网络

秦悦 石跃祥

关键词:深度学习;时空卷积网络;双流融合网络;R(2+1)D

近年来,随着计算机科学与信息技术的快速发展,深度学习在计算机视觉领域取得了一系列显著成果。鉴于互联网上多媒体视频的激增,视频行为识别在视频监控,人机交互和社交视频推荐等方面也出现了广泛的应用。行为识别已经成为计算机视觉重要分支中一个研究重点和难点。现阶段,该项研究仍存在许多困难。第一,相比图像识别,视频多出一个时序维度,即不仅要得出每帧视频的静态空间结构信息,还要考虑视频每帧之间的相似性问题和时态变化信息。第二,为了提高网络的学习能力,研究中的深度学习算法不断加深网络,容易出现效果变差的退化问题。尽管任何视频帧都可用图像来表示,但对仅基于动作外观无法捕获的运动模式,特定的时空表示显得至关重要。因此这项任务的关键在于如何合理使用深度神经网络进行时空特征的联合提取。空间特征主要涉及到视频动作中主体对象的外观描述和环境描述,其本质即静态图像识别,因此应着重加强空间建模能力,从而更高效地获取空间语义。对此深度卷积神经网络(CNN)方法已取得很好的效果并广泛应用。时间特征是通过捕获光流特征——在几个连续帧之间堆叠的光流位移场,明确地描述视频帧之间的运动特征。光流网络不需要隐式地估计运动类别,可大大降低识别的难度。

针对时空特征的联合问题,研究人员提出众多办法。第一个尝试是空间特征信息与时间运动信息并行建模,利用两个CNN网络将原始视频帧和光流图片被用作输人流分别进行训练的双流神经网络。第二个尝试,在识别静止图像的2D ConvNets(C2D)基础上,提出3D ConvNets(C3D)来处理视频数据。在C3D中,将2D卷积核替换为多一个时间维度的3D卷积核,使得空间特征和时间特征共同学习。然而大量的模型参数和低下的计算效率限制了网络的有效性和使用性,其效果并没有达到预期。随后,同一作者提出基于ResNet以C3D网络为基础的R-C3D网络。该网络减小了参数数量,降低近两倍的FLOPs,加快了网络速度。不仅如此,在同一数据集中提高了识别精准率,模型的性能远远好过C3D。同时实现针对任意长度视频和任意长度类别行为的端到端检测。该网络充分利用了ResNet网络,有效解决较深网络存在的梯度消失或者梯度爆炸的情况,使得网络能自动学习到不同层次的特征。然而,虽然该结构实现了端到端的检测,但识别准确度仍然不高。

1相关工作

自2012年Alexnet在图像分类中大放异彩,便奠定了卷积神经网络(Convolutional

NeuralNetwork,CNN)在计算机视觉领域中的重要地位。卷积神经网络的局部连通性有利于过滤器的学习,也在一定程度上降低了计算复杂度,非常适用于高维图像的学习,适合引入到视频的识别和分类领域中来。视频中的一些动作可以仅从静态图像中的物体外观信息来识别,例如击剑等具特征的运动项目。而对于其他运动来说很难从单个帧来区分,例如行走和跑步,打哈欠和大笑,蝶泳和蛙泳等。由此Simonyan等人提出一种双流神经网络(twostream convolutional networks, TwostreamCNN),視频中的空间特征和时间特征分开提取和训练,其架构的两个流都使用卷积神经网络,两个网络之间得到的不同信息起到了互补的作用,最后通过两个网络的softmax层分数平均结合后得出识别结果。

双流架构考虑了时间维度信息的重要性,也有空间建模思想,但忽略了针对视频动作识别的两个重要因素:(i)两个独立网络分别训练,无法学习到时间特征和空间特征的像素间的关系。(ii)无法捕捉时间与空间特征之间的像素关系如何随着时间演变。将空间特征和时间特征结合起来考虑,能为动作识别提供更多线索,从而提升网络的识别效果。

后续有人提出TDD网络结合传统手工特征IDT方法Xd轨迹,提高双流网络识别连续动作的能力。Feichtenhofer等人将ResNet运用到双流神经网络中,将原本的二维神经网络扩展到三维,直接学习空时域特征。但该算法输入部分的视频相邻帧冗余度过高。提出了几个不同时间域上的特征采样融合方法:早期融合(earlyfusion),将一定数量的连续视频帧作为CNN的输入,使得网络第一层滤波器就能学习到特征;缓慢融合(slow fusion),随着神经网络输入逐层次持续增加时间域;晚期融合(late fusion),合并不同时间域的帧上独立神经网络的全连接层。与单一的空间神经网络性能相比,上述方法并没有获得显著的提升效果,由此可见模型并没有充分利用时间信息。

201 5年Du Tran等人提出了一种更加直接和简单的3D卷积时空特征学习方法(convolutional 3D,C3D)。相比2D卷积神经网络(2D ConvNets),3D卷积神经网络(3D ConvNets)是对CNN的三维拓展,将所有卷积从d×d更改为3×d×d,有助于学习视频中的时间特征信息。通过实验证明,C3D网络的性能优于文献[8]中的输入帧融合算法。C3D的提出达到了从低级语义的提取上升到高级抽象语义提取高度,超越了传统的深度学习方法也超过了传统手工法,是一个简单又高效的模型。但计算量过于庞大,精度有待提高。经过研究与探索发现,在动作行为识别的分析方面,2D卷积网络依旧是最好的选择。而引入了时空维度特征的3D卷积网络也为视频的识别研究带来了明显的进步。遗憾的是两者皆有缺陷,2D卷积网络由于无法提取长序列视频特征,容易丢失许多关键信息;3D卷积网络计算量过大,导致参数过多,需要占用许多存储空间等问题。Zhaofan Qiu等提出Pseud03D Residual Net (P3D ResNet),基于ResNet网络将3D卷积核进行一系列的变形,将3D卷积拆分为1D关于时间信息的卷积以及2D关于空间信息的卷积,既获得了时序信息,又可以大大减少计算量。基于上述情况,Du Tran等提出R(2+1)D卷积块,建立在R3D已经将ResNet运用到3D卷积网络上的基础上进行的改动。并在kinetics数据集上做了相关实验,论证了其可用性,证明将3D卷积核分解成单独的空间和时间分开提取可提高精度。另外,实验中网络将输入RGB图片的结果和输入光流图的结果进行融合后又取得了最好的效果,由此可知,时序特征与空间特征的结合尤为重要。

基于上述分析,深度学习在视频行为识别中的研究还存在以下问题:

问题1提出的双流架构由于只是在后期softmax层之后进行分数融合,导致对于时间特征与空间特征的提取并没有学习到之间的像素对应关系。视频存在变化性数据,任意帧之间的相似性很大,需结合空间特征与时间特征提取出连续帧之间的关联特征——时空特征。

问题2提出的架构受到时间尺度的限制。因为空间ConvNet只在单个视频帧上运行,时间ConvNet仅在若干个相邻光流帧的堆栈上运行,导致无法处理长时间尺度的视频。

问题3提出的网络证明3D卷积核更适合视频的特征提取,但计算量过于庞大,参数过多,影响了整体网络的识别效果。

基于上述分析,在双流神经网络模型的改进基础上,引入了将時空特征分离的R(2+1)D卷积神经网络,提出一种基于双流网络融合与时空卷积的人体行为识别模型。(Spatiotemporal-r(2+l)d)

2双流网络融合与时空卷积的网络设计

2.1R(2+1)D卷积网络

应用于本文的R(2+1)D网络模型将传统的3D卷积改变为(2+1)D卷积块,计算分为空间2D卷积和时间1D卷积。把的t×d×d的3D卷积核变为1×d×d和t×1×1的两个卷积核。3D卷积分解使得2D卷积和1D卷积之间产生了额外的激活函数(ReLU),网络中的非线性函数数目加倍增加了复杂性更利于网络的学习。除此之外,单独的空间与时间分量能够使网络优化变得更加容易,大大降低了训练误差。

本节的R(2+1)D网络模型的基本架构如表1所示,选用了34层的网络和两层的残差学习单元。网络包含4个卷积残差块,中括号外为每个残差块在堆栈中重复的次数。第一个卷积层过滤器大小为3×7X 7,步长为IX2X2。四个残差块中卷积核大小设置为1×3×3和3×1×1,其中conv_3x、conv_4x、conv_5x步长为2×2×2。卷积残差块后连接一个全局时空池化层,产生一个512维的特征向量,再送人全连接层,最后通过softmax层输出最终识别结果。R(2+1)D网络的第一层输人为双流融合后的A个时空特征图。

2.2整体网络框架设计

为了进一步提高视频识别精度,选择在浅层网络对输入的相对分辨率高的图像进行空间动作建模和时间信息建模,使用双通道2D Conv并行提取时空特征。在后期深层网络使用3D Conv,再次进行时空建模。提出的Spatiotemporal-r(2+1)d端到端模型将双流神经网络提取的特征进行权重调整与融合得到中层语义特征,输入到R(2+1)D网络当中进一步学习,完成行为识别。同时为了实现对长时间视频有效,在输入部分使用视频分段方法。整体框架如图1所示。

网络框架分为三个模块,对输入视频进行分段和图像预处理、双流网络部分的加权融合、R(2+1)D网络的再次空间建模。首先将视频分成K个等长的片段{S1,S2,…,s},其中S,,由多帧组成。每个视频帧丁。从s。中随机取样,将T。作为空间网络的输入,提取得到的特征图为,这里的a代表空域提取的特征图。时域网络则对应输入连续光流图像,设t时刻为视频帧T的对应时间,那么在时间t时刻对应的L个连续光流帧图片在时间域上的位置为得到的时域特征图为x,6代表时域网络提取的特征图。再通过加权的sum融合法得到后续输入到R(2+1)D网络上连续的个时空特征图M∈R

Spatiotemporal-r(2+1)d端到端模型在双流网络进行特征融合后得到的时空特征图为中层语义信息,这里时空双流网络去掉了全接连层,因为全连接层输出的是高级语义特征会影响图像在时间轴上的信息,不利于后续的建模。随后将得到的中层语义信息输入到效果比C3D网络更好的R(2+1)D网络进行后续时空建模。R(2+1)D使用的是经典网络ResNet。在双流网络与三维卷积网络融合串联的情况下,组成的深度网络容易出现梯度消失的情况,使得网络效果变差。ResNet在一定程度可解决深度网络的梯度消失问题。

设计的网络框架在输人中导人的光流图像形成光流信息包涵了每一个静态视频帧图像的运动信息,提高了时空特征在像素点上的关联性和处理视频帧采样的鲁棒性。

2.3双流网络融合方法

人类的视觉皮层存在两条路径流,即腹测流(venteal stream)执行对运动物体的识别功能和背测流(dorsal stream)执行识别具体运动信息(motion)。两条路径流的研究不仅成为双流神经网络的科学支撑,也体现了光流在视频识别中是不可缺少的信息。同时在动作识别中,一个视频序列中的静态图像涵盖了很强的运动信息,基于单帧的2DConvNet已经取得了很好的效果。将光流信息和空间信息融合获得中级语义信息,有利于识别度的提高。传统的双流神经网络最终只是在识别结果上的分数结合,在此对两个单独的神经网络进行了改进,将双流分别提取的特征加权融合。

将两个2D ConvNet在特定的卷积层融合,需要考虑两个因素。首先两个输入在同一时刻要具有相同的空间维度;其次需要注意空间网络通道是否对应时间网络通道。

双流神经网络的特征图叠加融合法可以应用于VGG网络中的任意点,唯一的约束条件是两个输入特征图具有相同的维度,这一点可用上采样来实现。并且处于相对应的通道,D=D。在堆叠通道之后,后续网络层中的滤波器必须学习这些通道之间的对应关系,以便区分不同的动作。本文设计的网络架构如图2所示,选择在第五个卷积层后,将空间流网络融合到时间流网络中,并且去除了空间流卷积神经网络在第五个卷积层之后的结构。串联的双流网络部分含有五个卷积层和五个池化层。随后在数据集上的训练过程中用前馈与反向传播的方法调整参数。在conv5融合后的特征图为提取的行为识别中级语义特征。

3实验分析

实验分为3个部分。(1)对双流网络融合的不同位置进行实验效果对比;(2)对双流网络sum融合法中空域网络权重和时域网络权重u取值的讨论和实验;(3)将本文提出基于深度学习的Spatiotemporal- r(2+1)d视频行为识别网络框架与目前的一些经典方法进行比较。

3.1实验环境

实验配置GPU为NVIDIA GeForce RTX2080TiX 2,操作系统为Ubuntu 19. 10 lts.实验框架基于pytorch-1. 4+cdua 10.1.243 +cudnn7.6.4开源框架完成。

3.2实验数据集

选用UCF-101和HMDB51两个目前基于深度学习视频行为识别领域中最为广泛应用的数据集进行评估实验。UCF-10l的数据集样本主要来源于YouTube上的视频,总共有13320段视频,包含101类行为,每段视频大约7s左右,视频帧像素为320×240。行为内容有五大类。包含人与物体的交互运动,如画眉毛、刷牙、扔球;人的身体运动,如婴儿爬行、俯卧撑等;人与人的交互运动,如跳舞、理发、按揉头部等。以及演奏和体育类运动,跑步、踢球、跳远等。图3展示了UCF-101中几个正确示例。HMDB51数据集则来源于各种电影和YouTube网络视频,共6849段视频,包含51类。视频帧的像素为320 X 240。包含人物身体动作以及各种交互行为。与UCF-IOI数据集相比,该数据集来源数据量少,造成对于网络的训练有限。在实验中将两个数据集分成均分成3组,分别是训练集、验证集、测试集。UCF-10I中每组包含9500多个训练视频,2400多个测试视频和1300多个验证视频。HMDB51中每组包含3500多个训练视频,1000多个测试视频和500多个验证视频。同一数据集测试结果的3组实验结果取均值为本文最终的实验结果。

3.3参数设置与训练

网络框架分为两个模块。双流网络模块采用在ImageNet数据集上预训练的VGGM2048模型,R(2+I)D網络模块采用在Kinetics数据集上预训练过的R(1+1) D-34模型。利用小批量的随机梯度下降法,动量为0.9,dropout率为0.5,batch-size设置为32。损失函数为Cross EntropyLoss。在网络中加入BN(Batch Normalization)层来加速网络收敛速度,在很大程度上防止过拟合,改善梯度消失问题。

整体网络分为空域和时域两个层。空域网络的初始学习率设置为0. 005,每间隔10000次就减少为原来的1/10,共进行30000次迭代。空间卷积神经网络输入是单个视频帧,输入的大小由随机位置裁剪为224X224的子图。为了进一步扩充数据,本文对图片进行水平翻转、角度旋转、水平偏移数据增强方法。时域网络的初始学习率设为0. 01,在第30000次迭代后每20000次迭代将学习率缩小为原先的1/10,在迭代80000次后停止训练。时间流卷积神经网络的训练过程中,输入连续视频光流图,本文的光流图像使用TV-L1法进行计算。输人大小为224×224X 2L,根据的结论得知L设置为10时效果最好,由于光流图存在水平和垂直两个方向,最终光流堆叠为20个密集光流图。下面两个图展示了算法在UCF-10I数据集上的训练结果。图五可以明显看到,随着训练次数增加,交叉熵损失不断下降。图四中,训练在第100个epoch学习率减小,准确率大幅度上升,并且在第200个epoch之后准确率趋于稳定。

3.4双流网络融合不同位置的性能分析

在未设置sum融合权重的情况下(U,=1:1)分别在五个卷积层的不同位置融合空域网络和时域网络分别提取的特征图。两个网络提取的特征比重一样,讨论在网络中不同位置融合对识别效果的影响。表2列出在UCF-IOI数据集和HMDB51数据集split 1上不同位置融合的准确率。明显看到融合位置在网络的第五个卷积层后的识别效果最好。同时与双流卷积神经网络原文中提到的在softmax层的双通道分数融合效果相比,特征图的融合法更胜一筹。

3.5不同融合策略下的识别性能评估

空间卷积网络与时间卷积网络的sum融合法通过设空域加权系数和时域加权系数U形成不同权重的融合,得到最后的输出特征图。选择在双流卷积网络模块的第五个卷积层对融合系数比例进行不同策略的实验。实验分别在UCF-101数据集和HMDB51数据集上取3组的平均准确率来对比(all splits)。网络的行为识别性能如表3所示,权重比例分别取了7种不同占比,可以看出来当空间特征图占比大时,识别精度随之下降;反之当时间特征图占比较大时精度随之上升。可得出结论,时域网络提取的时间信息对整体网络性能起着重要的作用。总结发现当:u=4:6时网络识别性能最好,达到了最高的精度。

3.6与经典算法的对比

为了证明提出的网络框架具备一定的优势,与现有的一些经典算法在公开数据集UCF-101和HMDB-51上进行对比。表4列出了不同的对比算法,包括传统的手工设计特征算法(IDT)及基于深度学习的算法。可以明显看到基于深度学习算法的框架(序号3,4,5)相较于基于稠密轨迹使用的不同特征编码方法(序号1,2)准确率得到大幅度的提高。其中C3D算法由于网络参数过多,导致效果相对较差。但C3D网络提出的3D Conv开启了以3D卷积核为基础的时空卷积神经网络研究方向,对于视频的行为识别具有重要意义。同时可以看到,对比最原始的双流卷积神经网络算法加入了LSTM循环神经网络后准确率也得到了提高,表示合理将双流网络与其他方法相结合是可以提高识别效果的。基于双流卷积网络算法进行改进,针对长时间视频时空建模,在UCF-101和HMDB51上分别取得了92. 1%和66. 1%的识别准确率。对比双流方法分别提高了4. 1%和6.7%,与其他经典算法相比本方法也获得了更高的精准度。本算法在数据集UCF-101上运算速度为89帧每秒,相比改进基础的双流神经网络提升了很多,满足基于深度学习方法快速处理视频数据的实时性要求。同时本算法还实现了端到端的网络结构,实现了基于视频行为识别任务上的有效性。

6结论

实现了一种基于视频分段的双流融合与时空卷积网络的人体行为识别方法,在UCF101和HMDB51数据集上进行了识别分类的训练和测试。完成了对双流网络融合的不同位置进行实验效果对比工作,同时对双流网络sum融合法中空域网络权重和时域网络权重取值进行实验,发现时域特征对识别效果起着重要的作用。最后将提出的基于深度学习的Spatiotemporal-r(2+1)d端到端视频行为识别网络框架与目前的一些经典方法进行比较,证明了将时空特征融合之后的中层语义特征输入到时空卷积模型中能够进一步提高行为识别的准确率。

猜你喜欢

双流卷积神经网络
基于人工智能LSTM循环神经网络的学习成绩预测
双流区总工会培训提升工匠技能
基于图像处理与卷积神经网络的零件识别
种子醒了
《双流文艺》立足地域文化特色 输出双流文化印记
听荷
基于全卷积神经网络的变压器故障诊断
基于深度卷积网络与空洞卷积融合的人群计数
基于自适应神经网络的电网稳定性预测
三次样条和二次删除相辅助的WASD神经网络与日本人口预测