CoST, STM, E3D-LSTM

好久没看视频相关的文章了,刚好最近看到几篇还不错的,写个笔记总结下:

  1. CoST[1]: 海康CVPR19的文章,个人感觉非常不错,主要是将传统LBP-TOP那套XY-YT-XT视角分解的思想用到视频分类里,而不必使用以XYT为视角的3x3x3卷积,减少了很多冗余参数。

2. STM[2]:商汤ICCV19的文章。第一次看名字,以为是比较早期挂出来的 TSM[4]。。。 基于TSN的2DCNN框架,也不需要提前计算好的光流,通过channel-wise的时空模块和运动模块直接在RGB采样帧中提取特征,轻量效果不错。

Fisher Yu余梓彤:时空建模新文解读:用于高效视频理解的TSM​zhuanlan.zhihu.com图标

3. E3D-LSTM[3]:挂上李飞飞的ICLR2019文章。在 PredRNN[5] 的基础上,融入了3DCNN的输入作为short-term features,且加上了NLP中的attention机制,来获取更整体Long-term的记忆。

它们之间的关联:

对于 CoST 和 STM,都是基于3DCNN的一些轻量化优化,毕竟3DCNN真的是太庞大太冗余了,都是不需要额外光流计算且能融到当前主流的2DCNN框架里。个人认为CoST更优雅些且insight很足,而STM有点像是组合TSM和OFF[6], MFN[7]的一个unified版本;而E3D-LSTM更多是填坑组合式工作,把3DCNN和transformer的东西引入到RNN,成了the first。不管怎么说,都是很优秀的工作,用了看完了绝对有收获有价值。

--------------------------------------------

一、CoST [1],CVPR19

主要贡献有两点

1.构造了Collaborative SpatioTemporal (CoST) operation,仅仅用2D conv即可捕获时空信息。

2.可视化了不同数据集及不同层间spatial和temporal的重要性程度,为future的网络设计有极大的参考作用。

Motivation

我们首先来回顾下经典的动态纹理方法 LBP-TOP[8],将sequence分成三个正交平面,然后分别提取LBP特征,最后特征concat:

LBP-TOP

而该文的图一也同样展示了视频的三个view,明显从HT的视角来看,运动员的动作变化非常显著。基于这三个view,作者设计了 1x3x3, 3x3x1,3x1x3 卷积。哈哈,细心观察这三个图的话,你会发现不同的view对该视频内容的贡献不同,即作者后面提到的attention机制。

视频分解成三个view

具体算法

首先来看看经典的3DCNN操作子:

(a)经典的3x3x3卷积,参数多,运算量大

(b)伪3D卷积,参数量少,运算量较小

(c)文章提出的CoST卷积,由于三个view中的卷积共享权值,故参数量等于传统的2D卷积。

OK,那么问题来了,可能你会问,为什么三个view的卷积能共享参数?那几个attention的weights又该怎么计算呢?

第一个问题看Motivation的三个子图可以大概理解,都看成一个2D image,都看成提取Image里的特征,理论上来说是可以设计成共享的。(当然啦,主要还是后面的消融实验证明了shared的性能更好)

第二个问题一般有两种方案来解决:

A、如下图所示,直接生成softmax weights来分配贡献,简单粗暴。

B、如下图所示,建立content-aware的self-attention来分配权重,中间又额外插入了类SE module来增强channel间的关联。

OK,主要内容到这里已经完了,是不是特别清爽。把这个CoST操作替换掉 ResNet50/101中residual block的 3x3 卷积即可。

实验结果

实验都在大数据集Kinectics和Moments上进行,这文章的方法是 won the 1st place in the Moments in Time Challenge 2018.

首先来看看消融实验,Table 2中的CoST(a)和CoST(b)分别代表前面提到的两种attention weight生成方式,很明显self-attention的性能更优。Table 3中则验证了1x3x3, 3x1x3, 3x3x1间 share weight 的性能更好。

最后列下在Kinetics400下只用RGB模态的SOTA结果:

在只采样8帧or32帧的情况下,性能已经接近SOTA;算力足的话,128frame超过NL_I3D应该是没啥问题的。

Discussion

在文章的最后,作者讨论了不同view HW, TH, TW间的attention weights的分布(HW更多是表征空间外观的特征,TH和TW更多表征temporal特征)。

分析1:On Moments in Time, the mean coefficients of the H-W, T-W and T-H views are 0.67, 0.14 and 0.19 respectively. While on Kinetics they are 0.77, 0.08 and 0.15.

说明spatial appearance特征在两个数据集都起最重要的作用。而相比Kinetics来说,Moments数据集的动作尺度更丰富,对应的TW、TH权值也较大。

分析2:如下图所示,可视化了不同层之间的三个view的权值关系。可见一般在浅的层,空间外观特征会占绝对主导;而随着层渐渐变深,temporal在semantic的特征中起得作用越来越大。这比起之前S3D那文章手动验证啥Top-heavy啥的优雅得多,而我觉得这图对未来很多3D网络设计会起到一定的引导作用。

----------------------------------------------------

二、STM [2] (SpatioTemporal and Motion Encoding),ICCV19

主要贡献:

提出了Channel-wise Spatiotemporal Module (CSTM) 和 Channel-wise Motion Module (CMM)来分别提取时空特征和motion特征,轻量且仅额外引进很少计算量。

PS:这里的时空特征和motion特征更多的是对标传统的3DCNN特征和motion stream的2DCNN特征。

STM block

具体算法

如上图所示,STM block能直接替换Backbone ResNet中的residual Block,其中在1x1卷积通道压缩后,分别进行CSTM和CMM的特征提取,然后进行 add (消融实验里验证了'add' 比 'concat+1x1卷积' 效果要好)特征融合,最后上扩通道数并与原输入特征相加。

接着来看看CSTM和CMM是怎么实现的:

比较亮点的地方是使用了channel-wise卷积,更精确学习特定channel语义特征基础上,减少了计算量,且消融实验验证了这样性能更好。(a)和(b)中黄色高亮字体的几个卷积是用了channel-wise的,CSTM是沿着temporal dimension来做,而CMM算伪光流的时候是沿着spatial做。总感觉文章怪怪的,是个精简版的TSM和OFF。

实验结果

由于temporal-related 数据集(Something-something, Jester) 对上下文motion要求更苛刻,而scene-related 数据集(Kinetics-400, UCF-101, HMDB-51)对单帧场景需求更大,故我们来直接看看在temporal-related 数据集上的表现吧:

可见仅需RGB视频作为输入,且使用ResNet-50的backbone,也能获得丰富的temporal信息,来取得SOTA效果。

最后来看看实时性,相比前面几个方法,确实更适合落地使用。

----------------------------------------------------

三、E3D-LSTM [3] (EIDETIC 3D LSTM),ICLR19

主要贡献:

1.把3DCNN和RNN结合起来用了,针对于frame-level features的RNN,文中以short-time clip的3DCNN的特征作为RNN的输入,故在输入层面已经是有short-term frame dependency.

2. 为了更好地捕捉long-term relation,在RNN内部构造了gate-controlled self-attention module,故可以有针对性地记忆历史的任何特征。

几种将3DCNN融入RNN的方案

具体算法

对该文感兴趣的,可以去看下PredRNN[5] 中的Spatiotemporal LSTM 和 Attention is all you need。如下图所示,核心模块E3D-LSTM就是将attention机制(图中蓝色箭头部分)用在Spatiotemporal LSTM里:

核心的公式就是下面这条,高亮的部分就是attention:

实验结果

最后我们来看看它在video prediction下的效果:

Generated frames on KTH

-------------------------------------------------------

总结与展望:

单RGB模态的视频理解肯定是未来主流方向,总觉得提前算个意义模糊的光流图出来怪怪的。当然啦,往落地方向又好又快地套2DCNN框架是比较实在;但从research角度来说,现在对3DCNN及ST-RNN的认知还是很浅,未来还有很多有趣的东西可以摸索~~

 

Reference:

[1] Chao Li et al., Collaborative Spatiotemporal Feature Learning for Video Action Recognition, CVPR2019

[2] Boyuan Jiang et al., STM: SpatioTemporal and Motion Encoding for Action Recognition, ICCV2019

[3] Yunbo Wang et al., EIDETIC 3D LSTM: A MODEL FOR VIDEO PREDICTION AND BEYOND, ICLR2019

[4] Ji Lin et al., Temporal Shift Module for Efficient Video Understanding, ICCV2019

[5] Yunbo Wang et al., PredRNN: Recurrent Neural Networks for Predictive Learning using Spatiotemporal LSTMs, CVPR2019

[6] Shuyang Sun et al., Optical flow guided feature: a fast and robust motion representation for video action recognitio, CVPR2018

[7] Myunggi Lee et al., Motion Feature Network: Fixed Motion Filter for Action Recognition, ECCV2018

[8] Guoying Zhao et al., Dynamic texture recognition using local binary patterns with an application to facial expressions, TPAMI 2007

E3D-LSTM具有以下优点: - E3D-LSTM模型通过捕捉长期的视频帧交互来处理跨多个时间戳的有用历史表示。 -3D-LSTM模型在模拟远距离周期性运动方面表现出良好的建模能力。 - E3D-LSTM模型能够更好地处理跨多个时间戳的有用的历史表示,这在权值的仔细检查中得到了显示。 - E3D-LSTM模型在两个指标上都表现出色,即在受到无关帧干扰的情况下,不会逐渐忘记重要的信息,并且能够捕捉到长期的视频帧交互。 - E3D-LSTM模型在LSTM改进的研究方面有着较深入的探索,对于如何使用LSTM模型具有指导意义。 - 对于对LSTM模型的了解,建议从MLP到RNN再到LSTM的学习路线,以及LSTM自身的发展路线,可以有助于更好地理解E3D-LSTM模型。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【论文翻译】EIDETIC 3D LSTM: A MODEL FOR VIDEO PREDICTION AND BEYOND](https://blog.csdn.net/u014386899/article/details/103557999)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [知乎--LSTM(挺全的)](https://blog.csdn.net/vbskj/article/details/71713204)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值