Abstract
视觉节奏表征了动作的动态和时间尺度。对不同动作的这种视觉节奏进行建模有助于动作的识别。以前的工作通常通过以多种速率采样原始视频,并构建输入级帧金字塔来捕获视觉节奏,而帧金字塔通常需要昂贵的多分支网络来处理。本文提出了一种通用的时间金字塔网络(TPN),该网络以即插即用的方式灵活地集成到2D或3D主干网络中。TPN的两个基本组件,特征源和特征融合,形成了主干的特征层次结构,因此它可以捕获各种速度的动作实例。TPN在几个动作识别数据集上也显示出相对于其它具有挑战性的基线的持续改进。具体来说,当配备TPN时,具有密集采样的3D ResNet-50在Kinetics-400的验证集上获得2%的提高。进一步分析还显示,TPN在视觉节奏有较大差异的动作类别中的改进较大,从而验证了TPN的有效性
Introduction
上方的动作实例表明,即使时同一动作,人们也倾向于以不同的速度做动作。下图显示了不同的动作类别,按视觉节奏的方差排序。
如上图所示,当执行相同的动作时,由于年龄,情绪和精力水平等各种因素,每个演员可以按自己的视觉节奏来做动作。例如,老人的运动往往比年轻人慢,具有较重体重的人也是如此。对动作实例的视觉节奏中的类内和类间差异进行精确建模,可能会显著改善动作识别准确度。
Related Work
Visual Tempo Modeling in Action Recognition
动作实例复杂的时间结构,特别是各种视觉节奏方面的复杂时间结构,对动作识别提出了挑战。近年来,研究人员开始探索这一方向。SlowFast[5] 使用输入层金字塔对视觉节奏的变化进行硬编码,该输入层金字塔具有以不同速率采样的逐级帧。金字塔的每一层也由一个网络分别处理,这些网络中的中间层特征被交互组合。借助金字塔和特定层的网络,SlowFast可以鲁棒地处理视觉节奏的变化。视频内复杂的时间结构,尤其是速度变化,对动作识别提出了挑战。DTPN[35]还对具有不同FPS的帧进行采样,来构建自然的金字塔型表示。但是,这种硬编码方案往往需要多个帧,特别时当金字塔放大时。与以往的特征层金字塔网络[11, 19, 20, 17]不同,该网络在目标检测中处理空间范围的较大差异,我们改为利用特征层次来处理时间信息(即视觉节奏)的差异。这样可以在单个网络内部来考虑视觉节奏,并且只需要在输入层以单一速率采样帧。
Temporal Pyramid Network
识别动作实例的关键因素是视觉节奏,尤其是在其它因素含糊不清的情况下。例如,我们无法根据其视觉外观来判断某个动作实例是否属于步行,慢跑或跑步。但是,由于视觉节奏在在不同视频中类间和类内的差异,很难捕捉到视觉节奏。
一个网络中多个深度的特征已经覆盖了各种视觉节奏,受到这一观察的启发,我们提出了一种特征级的时间金字塔网络(TPN),用于对视觉节奏建模。TPN可以只在一个网络上运行,不管它有多少层。此外,TPN可以以即插即用的方式应用到不同的结构中。为了完整实现TPN,必须正确设计TPN的两个关键部分,即1) 特征源和2) 特征融合。
TPN的框架:主干网络提取多个层次的特征。空间语义调制在空间上下采样特征以对齐语义。时间速率调制在时间上下采样特征来调整各个层次之间的相对速度。信息流在各个方向上聚合特征来加强和丰富层次的表示。最终预测重新缩放并连接了沿通道维度的所有金字塔等级。为简洁起见,省略了最终预测中的通道维度和对应的操作。
Feature Source of TPN
层次特征的集合。虽然TPN是建立在一组M个层次特征上,这些特征从下到上具有越来越大的时间接受域,但是有两种替代方法可以从主干网络收集这些特征。1) 单深度金字塔:一种在某个深度选择大小为CxTxWxH的特征Fbase的简单方法,并且以M个不同的速率{r1, ..., rM; r1 < r2 < ... < rM} 在时间维度上采样。我们将这种TPN称为由大小为{C x T/r1 x W x H, ..., C x T/rM x W x H}的{Fbase(1), ..., Fbase(M)}组成的单深度金字塔。以这种方式收集的特征可以减轻融合的工作量,因为它们除时间维度外,都有相同的形状。但是,由于它们仅以单个时间粒度表示视频语义,可能在有效性上受限。2) 多深度金字塔: 一种更好的方法是随着深度的增加收集M个特征集,这使得TPN由大小为{C1 x T1 x W1 x H1, ..., CM x TM x WM x HM} 的 {F1, F2, ..., FM}组成,特征的维度通常满足{Ci1 >= Ci2, Wi1 >= Wi2, Hi1 >= Hi2; i1 < i2}。这种多深度金字塔在空间维度上含有更丰富的语义,但在特征融合中也需要仔细处理,以确保特征间的正确信息流。
空间语义调制。为了对齐多深度金字塔中特征的空间语义,将空间语义调制用于TPN。空间语义调制以两种互补的方式工作。对除顶层特征以外的每个特征,都会对其应用一组具有特定层次步幅的卷积,使其空间形状和接受域与顶层特征相匹配。此外,还附加了一个辅助分类头,以接受更强的监督,从而增强了语义。因此,采用TPN的主干网络的目标将变为:
其中LCE, o是原始的交叉熵损失,LCE, i是第i个辅助头的损失。{λi}是平衡系数。经过空间语义调制后,特征在空间维度上有对齐的形状和一致的语义。但是,它在时间维度上仍未校准,因此引入了本文所提出的时间速率调制。
时间速率调制。在SlowFast[5]中使用的输入层帧金字塔,可以动态调整帧的采样率以提高其适用性。相反,因为TPN对主干网络的特征进行操作,因此其灵活性受限,所以这些特征的视觉节奏仅仅受其在原始网络中的深度控制。为了使TPN具有与输入层帧金字塔中类似的灵活性,将一组超参数{αi}i=1到M进一步引入TPN以进行时间速度调制。具体而言,αi表示在空间语义调制之后,使用参数子网在第i层对更新后特征用αi的一个因子进行临时下采样。这些超参数的加入能够更好地控制特征在时间尺度上的相对差异,从而更有效地进行特征聚合。
图3. 信息流:黑色的箭头表示聚集的方向,而橙色的箭头表示从图二的时间调制到最终预测的IO流。忽略了通道维度和上/下采样操作
Information Flow of TPN
按照上一节的要求收集并预处理了特征的层次结构后,使它们在视觉节奏上是动态的,并在空间语义上是一致的。让Fi'为第i层的聚合特征,通常有三个基本选择:
其中的十字符号表示按元素相加。并且为了确保在连续特征之间相加的兼容性,在聚合期间,沿着时间维应用了一种向下/上采样的操作g(F, δ),其中F是特征向量,δ是因子。请注意,自上而下/自下而上流的顶部/底部特征不会被其它特征聚合。除了上述的基本流在TPN中聚合特征外,还可以将它们结合起来实现两个附加的选择,即级联流和并行流。在自上而下流之后应用自底向上流将导致级联流,同时应用它们将会导致并行流。值得注意的是,可以在这些流的基础上构建更复杂的流(例如[20]中的路径聚合)。然而,我们在这方面的研究并没有显示出进一步的改进。最终,按照图2,将对TPN中所有聚合的特征重新缩放和连接,以进行后续的预测。
Implementation
继FlowFast之后,由于inflated ResNet在各个数据集上出色的性能[1],我们将其作为3D主干网络,同时使用原始的ResNet[12]作为我们的2D主干网络。我们使用res2, res3, res4, res5的输出特征来构造TPN,与输入帧相比,它们在空间上分别下采样4, 8, 16和32倍。在空间语义调制中,M级TPN中处理第i层特征的M维卷积将使特征维数减小或增加到1024.此外,对每个特征的时间速率调制是通过一个卷积层和一个最大池化层实现的。最后,在通过上一节描述的5个流中的1个进行特征聚合后,TPN的特征将通过最大池化操作单独重新缩放,并将连接的特征输入到一个全连接层来实现最终的预测。TPN也可以与主干网络以端到端的方式联合训练。
Experiments
我们在各种动作识别数据集上评估了TPN,包括Kinetics-400 [1], Something-Something V1 & V2 [10]以及Epic-Kitchen [2]。此外,我们提供了一些实证分析以验证TPN的动机,即单个主干网上的特征级时间金字塔有助于捕获视觉节奏的变化。除非特别说明,否则所有实验均以MMAction[37]上的单一模式(即RGB帧)进行,并在验证集上进行评估。
Training. 除非特别说明,我们的模型默认通过ImageNet [3]上预训练的模型进行初始化。按照 [5]中的设置,输入帧以特定的间隔τ从一组连续的64帧中采样输入帧。每个帧都是随机裁剪的,因此其短边范围在 [256, 320]像素之间,和 [32, 5, 25]中一样。 采用水平翻转增强和0.5的dropout来减少过拟合。并且BatchNorm(BN)[14]没有冻结。我们使用0.9的momentum,0.0001的权重衰减和在8块GPU [9]上同步的SGD进行训练。每块GPU的batch-size为8,因此总共有64个mini-batch。对于Kinetics-400,学习率为0.01,在第100,125个周期(共150个周期)时,学习率分别降低10倍。对于Something-Something V1 & V2 [10] 以及Epic-Kitch [2], 模型分别以150和55个epochs进行训练。
Inference. 有两种推断方法:three-crop和ten-crop测试。a)three-crop测试指从原始帧中随机抽取三个大小为256 x 256的随机裁剪,首先调整大小使其较短的边上有256个像素。Three-crop测试被用作空间完全卷积测试的近似值,如 [25, 32, 5]中所示。b)Ten-crop测试基本遵循 [31](TSN) 中的程序,即提取5种大小为224 x 224的裁剪,并进行翻转。特别地,我们在Kinetics-400上进行了Three-crop测试。我们也在整个视频上均匀地采样10个片段,并将所有片段softmax概率的平均值作为最终的预测。对于另外两个数据集,采用了ten-crop测试和与TSN类似的8个片段的方法。
Backbone. 我们在2D和3D主干网络上评价TPN。具体来说,SlowFast [5]的slow-only分支因其在各种数据集上出色的性能,被应用为我们的主干网络(记为I3D)。I3D的结构在表1中展示,其通过inflating kernels [32, 1]将2D的ResNet转为3D版本。具体地,一个大小为k x k的2D核心将会被膨胀为t x k x k的大小,它的原始权重被复制t次,并被重新缩放为1/t。需要注意的是,slow-only主干上没有时间下采样操作。ResNet-50被用作2D主干网络,以显示TPN能够与各种主干网络结合。除非特别说明,最终预测遵循TSN的标准协议。
Ablation study
在Kinetics-400上对TPN的组件进行消融研究。具体来说,除非另有说明,否则采用I3D-50主干和稀疏采样策略(即 8 x 8)
哪个特征源对分类的贡献最大?如3.1所述,有两种方法从主干网络中收集特征,即单深度和多深度方法。对于单深度金字塔,res5的输出分别以 {1, 2, 4, 8} 的间隔沿时间维度采样。对于多深度金字塔,我们选择表6a所示的三种可能的组合。并行流被用作特征聚合的默认选项。选择多深度金字塔的超参数 {αi}i=1到M与单深度金字塔的形状匹配。例如,如果res4和res5被选为特征源,超参数将是 {4, 8}。
使用不同特征原的结果在表6a中显示,结果表明当从相对较浅的源中提取特征,例如res2或res3,TPN的性能将会下降。直观地来说,存在两个相关的因素:1)与目标检测中低层次的特征有助于位置回归不同,动作识别主要依赖于高层次的语义。2)另一个因素可能是I3D主干 [5]仅扩大了res4和res5中的卷积块,因此res2和res3无法捕捉有用的时间信息。不幸的是,膨胀主干网中所有的2D卷积将显著增加计算复杂度,并损害 [5]中报告的性能。与多深度金字塔相比,单深度金字塔通过直接从单个源中采样,来提取各种速度表示。虽然也观察到了改进,但是仅以单个空间粒度来表示视频语义可能还不够。
信息流有多重要?在3.2节中,引入了一些信息流来做特征聚合。表6c在保持TPN中其它组件不变的情况下,列出了不同信息流的性能。令人惊讶的是,只有Isolation Flow的TPN也以0.58%提升了性能,表明在适当的调制下,这些具有不同时间接收域的特征确实有助于动作识别,即使它们只来自单一的主干网。具有Parallel Flow的TPN获得了最佳的结果,识别准确率达到了76.1%。并行流的成功表明低层次的特征能够通过自顶向下流由高层特征加强,因为自顶向下流具有更高的时间接收域。高层次特征的语义特征可以通过自底向上流,被低层次的语义特征丰富。更重要的是,这两个相反的流并不矛盾,而是互补。
空间语义调制和时间速率调制有多重要?分别引入空间语义调制和时间速率调制来解决空间维度中的语义不连续性,以及调整时间维度种不同层次的相对速率。这两种调制的效果在表6b中进行研究,从中可以观察到1)具有所有组件的TPN能达到最好的结果。2)如果空间语义调制没有包含空间卷积,我们需要同时在TPN的空间和时间维度上/下采样特征,这对时间特征融合无效。
输入帧的数量有多重要?虽然我们在研究实验中以步长为8采样8帧为默认输入,但是我们同时也研究了不同的采样策略。我们以T x τ 表示以步长τ采样T帧。并且在表6d中,包含了I3D-50和I3D-101用不同采样策略获得的结果。因此,与稀疏的采样策略(8 x 8)相比,较密集的采样策略(32 x 2)往往会带来丰富和冗余的信息,从而导致I3D-50的轻微过拟合。然而,I3D-50 + TPN并没有遇到这种过拟合,获得了2%的增长。此外,对于更强的主干I3D-101,可以观察到一致的改进。
Empirical Analysis
为了验证TPN是否捕捉到了视觉节奏的变化,对TPN进行了一些实证分析。
每一类的性能提升 vs. 每一类的视觉节奏差异。首先,必须测量一组动作实例的变化。与物体检测中尺度的概念不同,精确计算动作实例的视觉节奏并非易事。因此,我们提出了一种基于模型的测量方法,其利用逐帧分类概率曲线的半最大全宽(FWHM)。FWHM由变量值等于其最大值一半的两个点的差定义。我们使用训练好的2D TSN在验证集中对动作实例收集每一帧的分类概率,并对每一个实例计算FWHM作为其视觉节奏的度量,因为当采样fps固定后,大的FWHM直观地表明动作节奏慢,反之亦然。因此,我们可以对每个动作类计算视觉节奏方差。图1的底部显示了所有动作类别的视觉节奏方差,这表明不仅某些类的视觉节奏方差很大,而且不同类别的视觉节奏方差也明显不同。
随后,我们还估计了采用TPN模块时,每一类识别准确率增益和每一类的视觉节奏方差之间的相关性。首先,我们将图1中的条形图以10为间隔分成若干个箱子,使其平滑。我们接着计算每个箱子中性能提升的平均值。最后,图4展示了所有箱子的统计结果,其中性能提升与视觉节奏的变化呈正相关。这项研究有力地支持了我们的假设,即TPN可以在视觉节奏变化很大的情况下,提升此类动作的识别准确率。
TPN对视觉节奏变化的鲁棒性。尽管视觉节奏变化很大,人类仍可以轻松识别动作。我们提出的TPN模块是否也具有这种鲁棒性?为了对此进行研究,我们首先在Kinetics-400 [1] 上训练了一个输入帧为8 x 8 (T x τ)的I3D-50 + TPN,然后分别以步长{2, 4, 6, 10, 12, 14, 16}对原始的8 x 8输入重新采样来重新缩放,以便调整给定动作实例的视觉节奏。例如,当将采样的8 x 16或8 x 2输入到训练的I3D-50 + TPN中,由于时间范围相对增加/减小,我们实际上在加速/减速原始动作实例。图5包括了I3D-50和I3D-50 + TPN的不同视觉节奏的精度曲线。从中可以看出TPN有助于提高I3D-50的鲁棒性,从而形成缓和曲线。此外,因为TPN可以根据需要进行动态调整,随着视觉节奏的变化,TPN对视觉节奏变化的鲁棒性变得更加清晰。
Conclusion
在本文中,提出了一种称为Temporal Pyramid Network的通用模块来捕捉动作实例的视觉节奏。TPN作为一种功能级金字塔,可以以一种即插即用的方式应用到现有的2D/3D架构中,并带来一致的改进。实证分析揭示了TPN的有效性,支撑了我们的假设和设计。我们在未来的工作中会将TPN扩展到其它的视频理解任务中。
TPN权重下载地址:
链接: https://pan.baidu.com/s/1roeLwfYSERelTKXDMpKjag 提取码: jawv