赞
踩
1总体介绍
短视频在当前多媒体环境中占据着巨大流量,有效理解视频内容对于数据分发发挥着重要作用,动作识别是视频内容理解的一个重要方向。当前图像识别技术已趋于成熟,但动作识别仍未达到理想效果,相比于图像识别,动作识别有一定时序相关性,比如“开门”和“关门”、“投球”和“接球”,时序相反则动作完全相反,因此动作识别除了对空间语义信息建模外还需要对时序信息建模,这也是其相较图像识别较为复杂的地方。此外视频动作识别往往需要根据多帧图像计算得到,其计算开销较图像识别也更大,某种程度上限制了其在工业界落地。本文将对视频动作识别技术进行梳理,其发展演变形式大致可以分为3D卷积网络结构算法和2D卷积网络结构算法,均以对空间语义信息和时序信息有效建模为目的,但出发点又各不相同。
23D卷积网络结构算法
很长时间以来3D卷积网络结构算法都是解决视频动作识别的主流算法,其中包括Two-Stream Network[2,3]、I3D[5]、SlowFast[7]等。视频相对于图像多了时间维度,对于图像识别一般采用2D卷积网络来捕捉空间语义信息,同理,对于视频理解可采用3D卷积网络,第三个维度建立在时间维度,即同时在视频帧和帧之间作卷积运算,具体算法如C3D[2],其计算过程如图1所示。但是由于维度的增加,3D卷积网络的参数量和计算量暴增,且无法有效利用2D预训练模型做参数初始化,在数据规模较小的动作识别数据集上往往难获得好的识别效果。后续算法如Two-Stream Network[2,3]、P3D[4]、I3D[5]、R(2+1)D[6]等在此基础上进一步改进,一方面让3D卷积参数可以基于2D卷积参数作初始化,另一方面则优化3D卷积的运算量。
图1I3D[5]算法改进了C3D类算法中3D卷积网络无法基于预训练好的2D卷积网络参数作初始化的劣势,其具体初始化过程为将2D卷积核参数在第三个维度上重复多次的方式来初始化3D卷积核参数。实验表明,采用预训练参数作初始化的模型效果明显优于随机初始化模型。I3D[5]算法结构如图2所示,分别对视频帧和光流建模,二者是独立的分支,训练过程也相互独立的,但预测阶段取二者预测结果的均值作为最终预测结果。
图2
SlowFast[7]算法的依据是动作识别中空间语意信息和时序信息的不同步性,即空间语义信息变化是缓慢的,比如在挥手这个动作中,“手”作为语意主体贯穿动作始终,而时间维度的运动信息变化是快速的,因此SlowFast[7]算法将低帧率的帧序列输入网络来捕获空间语义信息而将高帧率的帧序列输入网络捕获时序信息。SlowFast[7]算法结构如图3所示,网络有两个支路,分别是fast支路和slow支路,网络设计的思想是用fast支路捕捉快速变化的时序信息,同时用slow支路捕捉较为稳定的空间语义信息。相比于slow支路,fast支路输入的视频帧更密集,但fast支路中每层的特征通道数仅为slow支路的p倍(p<1),因此fast支路更轻量级且计算量仅占整体计算量的20%。Fast支路时间维度更大而featuremap通道数更少,这样的设计旨在捕捉快速变化的时序信息而忽略空间语义信息。在整个网络计算中,两个支路特征提取并不完全独立,实验表明,网络逐层特征提取过程中融合fast支路的特征信息到slow支路特征会显著提升模型效果,由于二者时间维度分辨率和特征通道数并不一致,因此需要将fast支路的featuremap做卷积运算使其各个维度与slow支路对应的featuremap维度一致,然后二者拼接后作为slow支路下一层的输入。模型的最终识别结果基于两个分支最后层拼接特征预测结果。
图3
以上算法为3D卷积网络结构算法中较为有代表性的算法,模型卷积层均为3D卷积或者部分层采用3D卷积,也有3D卷积的变体实现方式,如R(2+1)D[6]算法等。3D卷积运算已同时在空间和时间维度建模,但对于同一算法模型,采用双流结构形式相比单支路结构具有更好的识别效果,如I3D[5]中采用光流及SlowFast[7]采用fast分支,其可以进一步补充时序信息。
32D网络结构算法
3D卷积网络结构算法一般计算开销较大,这一点限制了其在工业界落地。2D卷积网络结构算法则基于此进一步优化,其采用单支路网络结构同时对空间语义信息和时序信息建模,使二者特征映射在同一特征空间,其中代表性算法有TSM[8]、TIN[9]等。这类算法参数量较图像识别采用的2D卷积网络几乎没有增加,可以利用基于图像识别任务预训练网络参数作初始化,同时又在计算量上显著优于3D卷积网络。
受卷积运算过程启发,2D卷积网络可有效捕捉空间语义信息,而卷积运算可拆解为卷积核在特征图上位移和乘积求和两个步骤,因此TSM[8]算法将网络每层的部分featuremap沿着时间维度移动并重新组合成新的featuremap以达到空间信息和时序信息融合的目的,其算法实现过程如图4所示。由于以多视频帧作为输入的网络结构相较单一图像识别网络多了时间维度,因此网络每层输出的featuremap也多一个时间维度。将featuremap沿着时间维度移动可以有效捕捉时间维度的变化信息,同时为了不破坏空间语义信息和节省计算开销,该方法只移动一定比例的特征通道,论文中通过实验验证以移动1/4的特征通道效果最佳。特征移动过程中当前帧特征与其相邻帧之间特征作了融合,即时序维度作了特征融合,特征移动后组合成新的featuremap作为模型下一层的输入,可以看出,整个计算过程较逐帧抽取图像特征然后作融合的算法增加了较小的计算开销,但帧与帧之间特征交互有效传递了时序信息。
图4
TIN[9]算法在TSM[8]算法基础上进一步改进,同是视频空间语义信息和时序信息交错学习,但相比TSM[8]其时间感受野可以动态调整,在时间维度上跨度更大,TIN[9]算法结构如图5所示。针对网络每层的featuremap,其将1/4的特征图通道均匀分为4组,这4组特征通道在时间维度上移动以融合不同时间维度上的特征信息,其过程类似于TSM[8]。不同的是,每组featuremap在时间维度上的移动幅度是一个动态值,由一个浅层的offsetNet网络根据当前层featuremap计算得到,有g组移动特征,则offsetNet输出g个offset,offset取值范围为[-T/2,T/2]。此外,每组移动特征还要进行特征加权,权重由一个浅层网络WeightNet根据当前层featuremap学习得到。最后,在时间维度上移动并加权后的featuremap与静态不变的featuremap部分拼接组成新的featuremap作为下一层网络的输入。TIN[9]整个计算过程的时间开销与2D网络计算开销是相匹敌的。
图5
4模型预训练
视频动作识别算法建模除了面对计算性能方面的挑战外,还面对训练数据规模较小的问题。由于人工标注成本巨大,视频动作类数据集往往规模较小,且标签体系规模也较小,这对于精准理解视频内容无疑是有阻碍的,尤其是深度学习技术发展到现在,训练数据规模往往对于模型效果有极大影响。因此在小规模目标数据集上获得较好识别效果,预训练是十分重要的,这一点在图像识别任务中已得到印证,论文[10]则通过实验验证有哪些因素会影响预训练效果。
论文[10]实验基于R(2+1)D[6]展开,预训练视频数据通过seed label及其同义词在社交媒体中搜索得到,seed label来源于动作识别类开源数据集的标签体系,通过搜索可以获得大量数据,但搜索数据含有噪声且为长尾分布。模型预训练的目的是提升模型的特征表征能力,作者基于搜索得到的大规模数据集进行网络的预训练,并试图说明预训练数据规模、标签体系等等因素对于模型最终识别效果的影响。
首先,论文[10]通过实验证明,预训练数据规模越大,基于预训练模型在目标数据集上迁移学习的效果提升就越明显,且模型体量越大,效果还会有进一步提升。其次,预训练数据集的标签类型应全面覆盖目标数据集的标签体系,覆盖越完善收益越大,但是预训练数据集的标签体系也并非越大越好,当预训练数据集标签数量积累到一定量后预训练模型的效果在目标数据集上就不会明显增加。此外,对于动作识别这一任务,是否在图像粒度预训练就足矣还是基于视频片段训练整个网络效果更佳呢?实验证明基于视频片段预训练整个网络效果更好。最后,视频时间长短对于模型训练效果影响如何呢?实验发现,当训练数据量相同时,基于长视频训练的模型较基于短视频训练的模型识别更精准,原因是长视频内容的丰富度抵消了时间维度噪声的影响,而训练数据总时长相同时,基于短视频数据训练的模型效果更好,原因是短视频对于动作的定位较长视频而言更准。
由论文[10]实验结果可以得出,预训练对于视频动作识别影响是巨大的,且预训练的数据规模、标签体系、视频长度都对模型效果有较大影响,这对于工业界调优模型很有参考意义。
5总结
本文主要介绍了不同流派的视频动作识别算法,包括3D卷积网络结构算法和2D卷积网络结构算法,同时介绍了预训练对于模型效果的影响。动作识别技术目前还有很大的探索空间,其在工业界落地仍有计算性能、识别精准度等方面的挑战,但是其应用潜力是巨大的。在网易新闻app中,曾尝试基于动作识别算法I3D[5]提取视频精彩片段生成动态封面,实验表明其对于吸引用户点击有明显增益。诸如此类的应用探索都将推动视频理解技术取得更好的研究成果。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。