论文阅读:Temporal Segment Networks: Towards Good Practices for Deep Action Recognition

文章概要

论文旨在发现为视频中的动作识别设计有效的ConvNet架构的原理,并在有限的训练样本下学习这些模型。
第一个贡献是时间分段网络(TSN):这是一种基于视频的动作识别的新颖框架。这是基于远程时态结构建模的思想。它结合了稀疏的时间采样策略和视频级别的监督,可以使用整个动作视频进行有效的,高效的学习。
第二个贡献是作者研究了在时间分段网络的帮助下学习视频数据上的ConvNet的一系列良好实践。

视频级框架:时间分段网络

该框架使用稀疏采样方案在长视频序列上提取短片段,其中采样沿着时间维度均匀分布。在这其上,采用分段结构来聚合来自采样片段的信息。从这个意义上说,时间分段网络能够对整个视频进行远程时间结构建模。此外,这种稀疏的采样策略以较低的成本保存了相关信息,从而可以在合理的时间和计算资源预算下,在长视频序列上进行端到端学习。

有限的训练样本下学习模型

文章中探索了一些好的方法来克服上述有限的训练样本所造成的困难,包括1)交叉-模态预训练; 2)正规化; 3)增强数据扩充。
同时,为了充分利用视频中的视觉内容,对两流ConvNets的四种类型的输入模式进行了实证研究,即单RGB图像,堆叠的RGB差异,堆叠的光流场和堆叠的扭曲光流场。

时间分段网络

时间分段网络:将一个输入视频分为K个段,并从每个段中随机选择一个简短的小片段。不同片段的类别分数由分段共识函数融合,以产生分段共识,这是视频级别的预测。然后将来自所有模态的预测融合在一起,以产生最终的预测。所有片段上的ConvNets共享参数。
在这里插入图片描述

框架

时间分段网络如上图所示,它能够对整个视频进行动态建模。具体来说,作者提出的时间分段网络框架旨在利用整个视频的视觉信息来执行视频级别的预测,它也由空间流ConvNet和时间流ConvNet组成。时间分段网络是在从整个视频中稀疏采样的一系列短片段上运行。此序列中的每个片段都将对动作类别产生自己的初步预测。然后,片段之间的共识将被导出为视频级别的预测。在学习过程中,通过迭代更新模型参数来优化视频级预测的损失值。
形式上,给定视频V,将其分为相等持续时间的K个段{S1,S2,···,SK}。然后,时间段网络对片段序列进行如下建模:
在这里插入图片描述
(T1,T2,…,TK):是一系列片段, 分别从其对应的片段Sk中随机采样每个片段Tk。
F(Tk; W):是表示带有参数W的ConvNet的函数,该函数在短代码段Tk上运行并为所有类别产生类别分数。
分段共识函数G:组合了多个简短摘要的输出,以获得其中的类假设的共识。
预测函数H:预测整个视频每个动作类别的概率。
PS:H选择了广泛使用的Softmax函数。结合标准的分类交叉熵损失,关于分段共识的最终损失函数G = G(F(T1; W),F(T2; W),··· F(TK; W))形成为
在这里插入图片描述
C:动作类别的数量,
yi:有关类别i的基本标签。
在实验中,根据先前的时间建模工作,片段的数量K设置为3 。共识函数G的形式仍然是一个悬而未决的问题。在这项工作中,我们使用最简单的G形式,其中Gi = g(Fi(T1),…,Fi(TK))。在这里,使用聚合函数g从所有片段上的相同类别的分数推断出类别分数Gi。我们根据经验评估了聚合函数g的几种不同形式,包括我们实验中的平均,平均和加权平均。其中,均匀平均用于报告我们的最终识别准确性。取决于g的选择,该时间段网络是可区分的或至少具有子梯度。这使我们能够利用多个片段,通过标准反向传播算法共同优化模型参数W。在反向传播过程中,可以得出模型参数W相对于损耗值L的梯度如下
在这里插入图片描述
K:时间分段网络使用的分段数。
当使用基于梯度的优化方法(如随机梯度下降(SGD))来学习模型参数时,优势如下:

  1. 保证参数更新利用了从所有片段级预测中得出的分段共识G。
  2. 时间分段网络可以从整个视频中学习模型参数,而不是一小段。

稀疏的时间采样策略优势:与以前使用密集采样帧的工作相比,它大大降低了评估帧上的ConvNets的计算成本

学习时间段网络

实现最佳性能,必须注意一些实际问题,例如训练样本数量有限。

网络体系结构

原始的两流ConvNets采用了相对较浅的网络结构(ClarifaiNet)。
作者选择具有批归一化的初始(BN-Inception)作为构建基块。(由于其在准确性和效率之间的良好平衡),将原始的BN-Inception体系结构调整为两流ConvNets的设计。像在原始的两流ConvNets 中一样,空间流ConvNet在单个RGB图像上运行,而时间流ConvNet将一堆连续的光学场作为输入。

网络输入

最初,两流ConvNets将RGB图像用于空间流,将堆叠的光场用于时间流。
作者建议研究两种额外的模式,即RGB差和扭曲的光学场
四种类型的输入模态的示例:RGB图像,RGB差异,光流场(x,y方向)和扭曲光流场(x,y方向)
RGB图像:单个RGB图像通常会在特定时间点编码静态外观,并且缺少有关上一帧和下一帧的上下文信息。
RGB差异:两个连续帧之间的RGB差异描述了外观变化,该变化可能与运动显着区域相对应。作者尝试添加叠加的RGB差异作为另一种输入方式,并研究其在动作识别中的性能。
光流场:时间流ConvNets以光流场为输入,旨在捕获运动信息。但是,在逼真的视频中,通常会发生摄像机运动,并且光学视场可能不会集中在人类的动作上。如图所示,由于摄像机的运动,大量的水平运动在背景中突出显示。
扭曲的光流场:将扭曲的光学场作为附加的输入形式。首先通过估计单应性矩阵然后补偿摄像机的运动来提取变形的光学流。如图所示,扭曲的光学流抑制了背景运动并使运动集中在演员身上。

网络训练。

由于用于动作识别的数据集相对较小,因此训练过度的ConvNets面临过度拟合的风险。为了减轻这个问题,设计了以下几种在时间段网络中训练卷积网络的策略。

cross modality pre-training
当目标数据集没有足够的训练样本时,预训练已成为初始化深层ConvNets的有效方法。
空间网络上:由于空间网络将RGB图像作为输入,因此很自然地利用ImageNet 上训练的模型作为初始化。
时间网络上:作者提出了跨模态的预训练技术,即利用RGB模型初始化时间网络,步骤如下:

  1. 通过线性变换将光场离散化为从0到255的间隔。此步骤使光场的范围与RGB图像相同。
  2. 修改RGB模型的第一卷积层的权重,以处理光流场的输入。具体来说,作者对RGB通道上的权重取平均值,然后用时间网络输入的通道数复制该平均值。这种初始化方法对于时间网络非常有效,并减少了实验中过度拟合的影响。

RGB差异,光流场,扭曲的光流场都是时间网络上的输入。

正则化技术

  1. 批次归一化是处理协变量偏移问题的重要组成部分。
    在学习过程中,批次归一化将估计每个批次内的激活平均值和方差,并使用它们将这些激活值转换为标准的高斯分布。由于根据有限数量的训练样本对激活分布进行了有偏差的估计,因此该操作加快了训练的收敛速度,但同时也导致传递过程过度拟合。
  2. 因此,在使用预训练模型进行初始化之后,选择冻结除第一层以外的所有批处理归一化层的均值和方差参数。
    由于光流的分布与RGB图像不同,因此第一卷积层的激活值将具有不同的分布,因此我们需要相应地重新估计均值和方差。我们称此策略为partial BN。同时,我们在BN-Inception体系结构的全局池层之后添加了一个额外的dropout层,以进一步减少过度拟合的影响。对于空间流ConvNet,丢包率设置为0.8;对于时间流ConvNet,丢包率设置为0.7。

数据扩充
数据扩充可以生成各种训练样本,并防止严重的过度拟合。
在原始的两流ConvNet中使用随机裁剪和水平翻转
作者使用两种新的数据增强技术:角点裁剪和比例抖动。

  1. 角点裁剪技术:仅从图像的角点或中心选择提取的区域,以避免隐式聚焦于图像的中心区域。在多尺度裁剪技术中,我们将ImageNet分类中使用的尺度抖动技术应用于动作识别。
  2. 比例抖动:我们将输入图像或光学场的大小固定为256×340,并且裁剪区域的宽度和高度是从{256,224,192,168}中随机选择的。最后,将这些裁剪区域的大小调整为224×224,以进行网络训练。实际上,此实现不仅包含比例抖动,而且还涉及纵横比抖动。

测试时间分段网络

  1. 遵循原始两流ConvNets的测试方案,在该方案中,从动作视频中采样了25个RGB帧或光学流堆栈。同时,从采样帧中裁剪出4个角和1个中心,并对其进行水平翻转以评估ConvNet。
  2. 对于空间和时间流网络的融合,对它们进行加权平均。在时间分段网络框架中学习时,空间流ConvNets和时间流ConvNets之间的性能差距比原始的两流ConvNets小得多。基于这一事实,我们通过将空间流的权重设置为1,将时间流的权重设置为1.5,来给予更多功劳。当同时使用正常和扭曲的光流场时,对于正常光流,时间流的权重被分为1,对于扭曲的光流,权重设置为0.5。 在Softmax归一化之前应用了分段共识函数。为了测试模型是否符合其训练条件,在Softmax归一化之前融合了25个帧和不同流的预测分数。

实验

数据集和实施细节

数据集:HMDB51和UCF101。
UCF101数据集包含101个动作类和13,320个视频剪辑。遵循THUMOS13挑战的评估方案,并采用三个训练/测试单元进行评估。
HMDB51数据集由来自51个动作类别的6,766个视频剪辑组成。实验遵循原始的评估方案,使用了三个训练/测试部分,并报告了这些部分的平均准确性。
实施细节

  1. 使用小批量随机梯度下降算法来学习网络参数,其中批量大小设置为256,动量设置为0.9。
  2. 使用来自ImageNet 的预训练模型初始化网络权重。在实验中设置了较小的学习率。
    空间网络:学习速率被初始化为0.001,并且每2,000次迭代减小到其1/10。整个训练过程在4,500次迭代时停止。
    时间网络:学习率初始化为0.005,经过12,000和18,000次迭代,学习率降低为1/10。最大迭代次数设置为20,000。
  3. 关于数据增强,使用了位置抖动,水平翻转,拐角裁剪和比例抖动的技术。在OpenCV中使用CUDA实现的TVL1光学流算法提取光学流和扭曲光学流。
  4. 为了加快训练速度,采用了带有多个GPU的数据并行策略,并通过我们的改进版本的Caffe 和OpenMPI 2实施。
  5. 对于空间TSN,UCF101的整个训练时间约为2小时。
    对于时间TSN,整个训练时间约为9小时。 4个TITANX GPU。

探索研究

在这项探索性研究中,使用改编的具有深度结构的两流ConvNets,并对UCF101数据集的split 1进行所有实验。
文章中提出了两种训练策略,即cross modality pre-training和partial BN。具体来说,比较了四种设置:(1)train from scratch(2)仅对空间流进行预训练(3)cross modality pre-training(4)cross modality pre-training与partial BN结合。结果总结在表中。
在这里插入图片描述
文章中提出了两种新型的模态:RGB差异和扭曲的流场。表中报告了比较不同模式性能的结果。
在这里插入图片描述

  1. 此结果表明RGB图像和RGB差异可以编码补充信息。然后表明,光学流和弯曲光学流的性能相当相似(87.2%对86.9%)
  2. 结合所有四种模式可得出91.7%的准确性,还评估了将其他三种模式组合在一起的性能,这带来了更好的识别精度(92.3%vs 91.7%)。推测光学流可以更好地捕获运动信息,并且有时RGB差异对于描述运动可能是不稳定的。另一方面,RGB差异可以用作运动表示的低质量,高速替代方案。

时间分段网络的评估

  1. 研究分段共识函数的作用:在UCF101数据集的split 1上比较不同的ConvNet体系结构。为了公平地比较,在此探索中,仅将RGB图像和光学场用作输入模态。K设置为3,分段共识函数由其聚合函数g定义。实验结果总结在表中。
    在这里插入图片描述
  2. 比较了不同网络体系结构的性能,结果总结在表中。
    在这里插入图片描述
    具体来说,比较了三种非常深的体系结构:BN-Inception ,GoogLeNet 和VGGNet-16 。由结果选择BN-Inception 作为时间段网络的ConvNet体系结构。
  3. 在表中提供了根据识别准确性对组件进行逐项分析。
    在这里插入图片描述
    可以看到,所有讨论的结果都很好,时间分段网络也能够提高模型的性能。实践证实了对长期时间结构进行建模对于更好地理解视频中的动作至关重要,它是通过时间分段网络实现的。

与最新技术的比较

在这里插入图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值