专栏首页SIGAI学习与实践平台视频理解 S3D,I3D-GCN,SlowFastNet, LFB

视频理解 S3D,I3D-GCN,SlowFastNet, LFB

SIGAI推荐

SIGAI资源大汇总

SIGAI特约作者

Fisher Yu@Oulu

CV在读博士

研究方向:情感计算

最近看了下几篇动作识别,视频理解的文章,在这里记下小笔记,简单过一下核心思想,以便后续查阅及拓展使用。

文章主要想探索的问题如下:

1.如何改造I3D,使其更轻量且性能更好?

2.如何改造I3D,使其理解视频场景里的物体交互?

3.如何高效融合不同帧率,不同 temporal 分辨率的视频?

4.如何让网络拥有 Long-term 的能力(即理解10秒以上的长视频)?

Separable 3D CNN (S3D) [1], ECCV2018

文章的创新不是很多,但是就像当初提出P3D和R(2+1)D一样,做了很多对比实验,来探讨分解卷积及网络结构设计的性能对比。这里主要贴几个重要结论,后面设计相关网络时可用:

1. 通过实验证明了 top-heavy model design 更轻量,且性能更优:

top-heavy 和 bottom-heavy 的区别是,前者先2D再3D,而后者先3D再2D。故前者在时空分辨率极高的的前几层使用2D卷积,而在时空分辨率较低的后几层对semantic feature进行3D卷积,故更轻量性能更好。

2. 在保持I3D的Inception Backbone不变情况下,将 3x3x3 卷积核都换成 1x3x3 + 3x1x1 卷积,参数更少且性能更好:

S3D

参数少了,不容易过拟合,这里就是文中说的标准S3D;还可更轻量级的版本 Fast S3D, 按照top-heavy设计,把前面几个模块换成2D卷积即可。

3. 在每个 3x1x1 卷积后加入了 Self-attention 模块 (即文中的 spatio-temporal feature gating),进一步提升性能:

这里只是个普通的时空attention模块,将feature map中所有channels进行平均池化,然后进行线行映射和非线性激活,来产生时空attention map,最后权值叠加回去原feature map

I3D-GCN[2], ECCV2018

先来看看算法的主框架图:

I3D-GCN主框架图

主要流程为:

1. 对均匀下采样后的T 帧作为输入,经过I3D,得到 TxHxWxd 的 deep feature,然后分两个branches

2. 第一个branch进行RPN来提取N个候选区域,然后进行ROIAlign来得到 Nxd 特征;接着构造相似度图和双向时空图,然后对两种图各进行图卷积操作,再叠加得 Nxd 特征;最后对N个物体特征进行均值池化,得到 1xd 特征

3. 第二个branch直接对时空deep feature进行均值池化,得到 1xd 特征

文中的主要创新点是构造两个图来描述N个物体特征间关系:

A、Similarity Graph

假定一帧中有 N 个物体,每个物体特征Xi是d维特征向量,故任何两个物体特征间的相关性可以表达为:

其中Φ(x)=wx和Φ是=w’x对于原特征的不同变换,其变换矩阵的维度为 d x d 。

通过学习变换矩阵的参数,作者希望学习到同一个物体不同状态的相关性,以及不同物体间的关系。

B、Spatial-Temporal Graph

为了让图能学到时空特性,即不同物体在顺序连续帧间的空间关系,作者对 帧t 和 帧t+1 里的所有物体区域计算IoU,单向进行映射 t->t+1,然后把 IoU 的值赋给节点间的edge,最后对同一个节点的所有edge进行归一化。上述就形成了 spatial-temporal forward graph;为了丰富结构化信息,按照同样的方式对 帧t 和 帧t-1 也进行映射,形成 backward graph。

实验结果:

Charades数据集上实验结果

可见 Non-local + I3D + GCN 比 I3D baseline性能提升很大,虽然运算量增加了很多~

SlowFastNet [3]

FAIR Kaiming 指导的工作,超参对比实验非常丰富,集群GPU多就是猛,高校怎么玩得过?

文章致力于探索如何构造 轻量化的不同时间分辨率双流网络,使其通用于快速及慢速动作。正如之前文章《浅谈动作识别TSN, TRN, ECO》最后探讨的问题1,部分动作特别慢 (比如摇手转头) ,而另外一部分动作特别快 (比如 jumping) ,如果都用同一个时间分辨率的输入,同一套时空卷积,出来结果泛化能力就有待提高。

OK,接着来看看文中的网络框架:

SlowFast Net 架构图

网络很简单,同模态同空间分辨率不同时间分辨率的双流网络,SlowPathway 主要提取类别的颜色,纹理,光照变化相关的语义特征,而 FastPathway 则提取 Fast motion 特征。为了使网络轻量且特征维度一致,FastPathway网络很窄,则同一个stage的channel数仅为SlowPathway的八分之一。

双流交互

由于 FastPathway 和 SlowPathway 在相同stage出来的特征维度不一致,文中探讨了三种 lateral connection 特征尺寸匹配方式:

假定 feature shape 在 SlowPathway 中为{T,S2,C},在 FastPathway 中为{αT,S2,βC}

1.Time-to-channel:直接reshape and transpose{αT,S2,βC}成{T,S2,αβC}

2. Time-stride-sampling:直接对FastPathway的时间维度下采样,成{T,S2,βC}

3. Time-stride convolution:对FastPathway进行5x1x1的3D卷积,成{T,S2,2βC}

最后通过实验发现,Time-stride convolution 的特征尺寸匹配效果最好,特征融合使用concat,且双向与单向 (只由FastPathway连向SlowPathway) 连接的效果差不多。

实验结果:

Kinectics-600 实验结果

这是什么水平?在时间复杂度与 轻量级的S3D-G 相当的情况下,性能比其还要好几个点~~

Long-Term Feature Banks(LFB) [4]

同为FAIR Kaiming 指导的工作,文章的开头很有趣,给出了下面一个 only 4 seconds 的 video clip,让我们猜视频里的人在干什么?

很明显,这不好回答,因为 short-term clip 不好表达整个video的内容,这也是当前基于3D卷积的时空网络遇到的瓶颈问题:GPU memory有限,即使在sparse sampling的前提下(当然你也可以极限去sampling,不过会丢失太多时间信息)

要回答上图的问题,我们需要更长的视频片段,如下图:

可以知道这是个音乐会,人们都在听音乐。故怎么实现 Long-term Feature Bank呢?

来一睹算法框架图:

算法流程如下:

1. 首先将long-term视频分成short-term clips,对每个clip都进行3D CNN特征提取,然后RPN物体区域ROIAlign特征提取,每个clip就对应各自的 Short-term features S;接着将当前clip前后局部时间域里的多个short-term S串联起来,组成 long-term feature bank

2. 为了找到 short-term 与 long-term 间的关系,将当前clip的 short-term S与 long-term

共同输入 Feature bank operator(FBO),这个FBO可以由多种形式组成,作者发现使用类似non-local的形式来交互效果最好:

Modified non-local in FBO

3. 最后将FBO输出的特征与当前clip short-term S进行 concat,送进分类器

实验结果:

如上图标黄线Highlight所示,在相同backbone情况下,LFB 性能比 I3D-GCN 要高3个点左右~~

总结与展望:

上面几个文章从不同角度来探索视频理解识别存在的一些发展方向,还是很有参考意义。虽然像GCN中的关系描述很粗糙,且整个网络运算量巨大;SlowFast Net中的时间分辨率双流过于人为粗糙,能真正理解不同帧率不同快慢的动作,自适应调整网络就更好了;LFB中找短时长时的关系就更加粗暴了,也许你已经想到了更好的方法去整合 long-short term, fast & slow~~

Reference:

[1] Saining Xie, Rethinking Spatiotemporal Feature Learning: Speed-Accuracy Trade-offs in Video Classification, ECCV2018

[2] Xiaolong Wang, Videos as Space-Time Region Graphs,ECCV2018

[3] FAIR, SlowFast Networks for Video Recognition,2018

[4] FAIR, Long-Term Feature Banks for Detailed Video Understanding,2018

好书推介

《机器学习与应用》由清华大学出版社出版,是机器学习和深度学习领域又一高质量的入门与提高教材。该书系统、深入地讲述了机器学习与深度学习的主要方法与理论,并紧密结合工程实践与应用。

本文分享自微信公众号 - SIGAI(SIGAICN)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-12-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 浅谈卷积神经网络的模型结构

    DeepAction七期飞跃计划还剩4个名额,联系小编,获取你的专属算法工程师学习计划(联系小编SIGAI_NO1)

    SIGAI学习与实践平台
  • 如何让CNN高效地在移动端运行

    COMPRESSION OF DEEP CONVOLUTIONAL NEURAL NETWORKS FOR FAST AND LOW POWER MOBILE ...

    SIGAI学习与实践平台
  • 五一充电之卷积神经网络的典型结构

    典型的卷积神经网络由卷积层、池化层、全连接层构成。在这里以LeNet5网络来说明,下图是这个网络的结构:

    SIGAI学习与实践平台
  • Windows系统高质量Gif录制工具推荐:LICEcap录屏软件,非常小巧好用,只有200k

    使用方法: 非常有新意,软件自身就是个框,中间是透明的,透明的位置就是要录制的。 第一步: 调整好LICEcap的大小和位置,圈住要录制的位置。 第二步:...

    小蓝枣
  • 抽象工厂模式(选择产品簇)

    对简单工厂模式还不了解的可以查看下我的历史文章 简单工厂模式,简单工厂模式的核心是使用工厂实现选择创建产品实现,这应该很好理解。

    幺鹿
  • 关于exp/imp的总结学习(r4笔记第26天)

    关于exp/imp,是很常用的数据导出导入工具,在10g开始推出的数据泵datapump相当于是exp/imp的补充和升级版本。在后续章节再做一个总结。 exp...

    jeanron100
  • LCTF2018 ggbank 薅羊毛实战

    作者:LoRexxar'@知道创宇404区块链安全研究团队 时间:2018年11月20日

    Seebug漏洞平台
  • AI博士毕业,要求多少年薪才不亏?中美最高超过200万,日本还没公务员挣得多

    而在网友的回复中,曝出了世界各地这一大热专业的待遇情况,有的国家一年能开出50万美元(350万人民币),有的却不如普通公务员。

    量子位
  • 【蚂蚁金服转身】支付等业务预计减半,5年内科技服务占比65%

    新智元
  • Angular 循环内使用 material datepicker

    material datepicker 需要用到模板变量,如果需要在循环出来datepicker可以这么干

    mafeifan

扫码关注云+社区

领取腾讯云代金券