Temporal Pyramid Network for Action Recognition

原文:《Temporal Pyramid Network for Action Recognition

CUHK+SenseTime 的组合还是强。初看标题的时候,想到图片分类的金字塔池化(Spatial Pyramid Pooling)。金字塔池化解决大小,TPN解决快慢问题。

Abstrct

本文提出TPN(Temporal Pyramid Network)网络结构,特点是金字塔。起源于对视频动作快慢得研究,在多个数据集上取得优秀得结果。

Introduction

现实中视频动作的速度(visual tempos)往往是不同的,如果我们不考虑速度的话,walking, jogging 和 running三个在形态上很相似的动作也很难被识别出来。而现有的视频模型设计时往往忽视了视觉速度这一个至关重要的点。因此本文首先在K400数据上做分析,做了一个可视化。

 

图1 类内与类间的差异

图1上部分 展示了Moving SomeThing Down 动作的两种速度,Slow中动作贯穿全程。类内之间差异也很大。下部分是类间之间的差异,例子中剪羊毛动作最慢,变化最小。

Related Work

与本文思想相似的是Facebook 提出的SlowFast网络,本文认为虽然该网络在建模时候,考虑了视觉上速度的差异,但输入是固定的,只能是4/32帧,同时计算花费依旧比较大。

Temporal Pyramid Network

为了得到金字塔式的不同速率的特征,传统的方法就是直接在帧采样上采取措施,根据不同的间隔  去采样,建立多个分支去提取表示不同速率的特征。但这样的方法增加多个分支会带来计算量的提升。

本文启发于在一个深度网络中,不同深度的输出特征已经涵盖了各种视觉速度。如特征维度 的变化,也就是对应着不同间隔的采样帧。这样的话就可以运用网络本身,而不需要建立额外的分支去计算。基于此,  提出,其由两个重要的部分组成,特征来源, 特征聚合:

 {the feature source, the feature aggregation}

Feature Source of TPN

Collection of Hierarchical Features 第一部分介绍不同层次特征的提取。

第一种方法想法很简单,直接规定网络某一层的输出为我们想要的特征。随后直接在帧取样上做文章:

如上,根据M个不同的采样帧率采样,分别送到特征提取网络中,得到:

这样,对应的大小如下,因为我们规定了网络的输出层位置,因此,输出特征的在空间H,W维度上是相同的,这样的特征提取方法好处就是不同帧率的特征便于融合,但是缺点在于缺少视频的语义信息。相对来说通过网络下采样减少T维度其对应原始更多的视频帧,会对应更多的视频信息。

第二种方法就是上述提到的,直接提取网络不同的层次的输出特征。

对应的大小分别是{  },其满足

这种多深度金字塔的方式在空间维度上包含了更丰富的语义信息,因此在特征融合中需要进行细致的处理。

第二部分介绍,由于网络不同层次的输出,其空间与时间的大小不一致,信息不能很好的融合。

Spatial Semantic Modulation 空间语义的调整。

由于网络的不同深度的输出大小不一致,为了便于融合,就是需要调整空间大小,本文直接使用卷积去调整大小一致。另一方面,本文的损失函数是使用中间层监督的方法,即每一层都加入一个交叉熵损失的约束。当然这样做的一个细节就是网络的初始层,梯度来源多源,变动比较大。

Temporal Rate Modulation 时序的对齐调整

空间shape对齐了,时间维度需要调整采样模拟出不同帧率输入。方法很简单就是直接定义一些超参  直接去下采样。这里需要注意,除了最后的池化层外,本文的网络在时间维度T上不进行减小。下文的网络介绍也验证了这一点。

Information Flow of TPN

在经过上述的特征提取以及数据提取以后,接下来要做的就是特征的融合。信息流的融合有下面三种方式。  是上采样或下采样。

具体如下图所示:

图2 信息流

在图2中展示的就是信息的融合,融合方式见上述公式,图中的示例从蓝色到黄色到绿色数量变化是4-2-1。与电路很相似,可以形成串联和并联的形式。(这个的并联有两个out,我的理解就是类似于电路直接相加合在一起。)

至此,每一层的特征都得到了处理,接下来就是将多个层次融合在一起得到最终得表示。

图3 Framework of TPN

如上图3所示,展示了TPN的整体框架,简单的来说分成以下几个步骤 1.通过backbone得到不同层次的输出特征,2.通过上述的Spatial/Temporal的调整,3.最后在Information Flow层进行特征的一些融合。4.最后通过maxpooling 得到不同层次的特征,在C维度上连接起来,作为最后的预测。图中的特征颜色,大小以及数量的变化也就是TPN的实现过程每一部分作用得体现。

Implementation

表1 3D backbone

3D_backbone使用得还是常用得膨胀的3D模型。细节就是在T上不下降,这样做的目的是后续下采样模拟不同帧率的采样。当然我想还有一个原因就是TPN本身就是2D/3D兼容的,这样直接兼容2D网络。不过TPN这样做在输入帧比较多时(32/64)会对显存需求比较高。

Experiments

表2 result of K400

表3 result of Epic-Kitchen

Per-class performance gain vs. per-class variance of visual tempos

图1 展示了类内与类间的方差。这里重点介绍了下是怎么计算得到的。作者采用一个Full

Width at Half Maximum (FWHM)[1]曲线图。

图4 FWHM

本文使用2D 网络输出每一帧对应的类别分类概率,构建对应的分布,计算FWHM=X2-X1。如果一个视频比较慢,那么帧之间的差异比较小,那么每一帧的对应类别分类概率大致相同,比较平缓。因此,直觉上来说,FWHM越大,速度越慢,反之亦然。

Conclusion

本文的特点是整合不同的层次的信息,其次引入中间层约束,更强的监督。最后信息流的流动,进行特征的融合,这种方式与LGD也有一定的相似性。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值