[1] TSM
[2] STM: SpatioTemporal and Motion Encoding for Action Recognition
[3] TEA: Temporal Excitation and Aggregation for Action Recognition
STM是并行的channel-wise空时模块+channel-wise运动激励模块
TEA是串行的运动激励+多时序聚合
[4] TEINet: Towards an Efficient Architecture for Video Recognition
[5] Grouped Spatial-Temporal Aggregation for Efficient Action Recognition
ICCV文章。在ResNet block中,利用通道分割加分组卷积学习的方式,思想简单且有效。
(在本人提出的HGCT文章里已经用到了这个思想,最近应用到卷积Transformer架构中,无效果,手工设定的通道分割策略也是次优选择吧。)
[6] TAM:Temporal Adaptive Module for Video Recognition。
[6] Temporal Distinct Representation Learning for Action Recognition
ECCV文章。这篇文章无代码。文章表述不够清晰。渐进式增强模块有利用强化学习的思想,用先前block的特征,增强当前block的特征,实际上文章对这个block怎么理解都没表述清楚。
王利民组工作
TEI模块通过解耦通道相关性和时序相互作用的建模,提出了一种不同的范式来学习时间特征。
模块设计:
运动增强模块(Motion Enhancement Module, MEM)
增强运动相关的特征、抑制不相关的特征
时序交互模块(Temporal Interaction Module, TIM)
以通道级的方式补充时序上下文信息
两阶段的建模方案可以灵活且有效地获取时序结构,高效进行模型推理
论文中对时序信息建模发展的一些思考
TSN 直接忽略时间顺序,在最后一层分类层聚合时序信息
Stnet 和 TSM 实现缓慢且更早地表征时间特征(逐层表征),但涉及一些手动的设计,缺乏清晰的解释所以更能在时序建模上是次优的
3D学习时间信息固然有效,但是2D到3D卷积的直接扩展导致的关键性问题是昂贵的计算开销。
直觉上讲,视频中的时序结构可以多方面的受益
视频中的时序信息对动作识别来说有什么用?
作者从这两点出发,先捕获判别式特征,再构建时序交互
这种独特的设计使我们能够以更原则和更有效的方式分别捕获通道级相关性和时间关系。事实证明,这种独立的建模方案不仅能够灵活有效地捕获时间结构,而且在实践中保持较高的推理效率。
问题:通道级的相关性能表示时序运动?
1, Motion Enhanced Module (MEM)
使用邻近帧级特征的时序差,以通道级的方式,增强运动相关的特征
输入特征 $x_{t} \in R^{C \times H\times W} $,
沿着空间维度 H × W H\times W H×W作平均池化聚合特征图,得到$\hat{x}_{t} \in R^{C \times 1\times 1} $;
利用池化得到的特征,生成通道注意力权重。
2,时序交互模块
针对运动增强获取的局部时间窗口信息,挖掘视觉模式的时序演变
T × C × H × W T\times C\times H\times W T×C×H×W -> C × T × H × W C\times T\times H\times W C×T×H×W
时序动态的复杂性由多种因素导致:摄像机运动、速度变化和不同的活动。
作者为了捕获这种运动模式上的差异(diverse motion pattern),提出时序自适应模块(Temporal adaptive module, TAM)。
1,3D CNN
2,最近为了更高效地获取视频的时序结构,一些工作:a . 在2D CNN的基础上设计轻量的时序模块;b. 设计专门的时序模块。
但是如何设计高效且具有很好灵活性的时序模块仍然是未解决的问题
1,主要想法:基于自身的特征图生成特定视频的时序核(video-specific temporal kernels)
2, 怎么做:两层的自适应建模方案,将video-specific temporal kernels解耦为位置敏感的重要性图和位置不变的聚合权重
location sensitive importance map: 在局部时间窗口中获取短期时间信息,增强local view中具有判别力的时序信息
location invariant aggregation weight: 全局地关注长期的时序结构,获取global view中的时序依赖
3,TAM的设计遵循两个准则: high efficiency and strong flexibility
1,保证TAM的低计算开销:
应用全局空间池化,squeeze特征图;
以channel-wise的方式构建TAM来保证效率
2,TAM由两个分支组成:
Local branch: $\mathcal{L} $
Global branch: $\mathcal{G} $
一个视频clip的输入特征图:
以 X ∈ R C × T × H × W X\in R^{C\times T\times H\times W} X∈RC×T×H×W的方式,,输入到TAM中。
经过空间全局平均池化,得到 X ^ ∈ R C × T \hat{X}\in R^{C\times T} X^∈RC×T
1, Conv1D(kernel_size=3)+BN+ReLU : 减少通道数目 C − > C β C -> \frac{C}{\beta} C−>βC; β = 4 \beta=4 β=4
2, Conv1D(kernel_size=3)+Sigmoid 得到注意力权重, V ∈ R C × T V\in R^{C\times T} V∈RC×T
3, Rescale V ∈ R C × T V\in R^{C\times T} V∈RC×T -> V ^ ∈ R C × T × H × W \hat{V}\in R^{C\times T\times H \times W} V^∈RC×T×H×W
4, 与原始输入特征 X X X作元素级点乘,得到 Z ∈ R C × T × H × W Z\in R^{C\times T\times H \times W} Z∈RC×T×H×W
全局的分支是局部不变的,目的是基于长期的时序信息生成一个自适应的核。它结合全局上下文信息,学习生成位置不变量和视频自适应卷积核,用于动态聚合。
怎么做呢?
这里作者选择为每个视频片段生成动态时序核,并以卷积的方式聚合时间信息。
为了简化过程且保证高效性,以channel-wise的方式应用自适应卷积,学习到的自适应核用于建模时序关联,而不考虑通道关联。
因此,TAM不会改变输入特征图的通道数目,学习到的自适应核以channel-wise的方式卷积输入特征图。
公式化表达如下:
对 c t h c^{th} cth个通道,the adaptive kernel的学习过程如下:
Θ c = G ( X ) c = s o f t m a x ( F ( W 2 ) , δ ( F ( W 1 ) , ϕ ( X ) c ) \Theta_{c}=\mathcal{G}(X)_c=softmax(\mathcal{F}(W_2),\delta(\mathcal{F}(W_1),\phi (X)_c) Θc=G(X)c=softmax(F(W2),δ(F(W1),ϕ(X)c)
Θ c ∈ R K \Theta_{c}\in R^{K} Θc∈RK
1,FC_layer1+ReLU: X ^ ∈ R C × T \hat{X}\in R^{C\times T} X^∈RC×T-> X ^ ∈ R α C × T \hat{X}\in R^{\alpha C\times T} X^∈RαC×T;( α = 2 \alpha=2 α=2)
2, FC_layer2+Softmax
softmax产生的是positive aggregation weight
学习到的聚合权重
Θ = Θ 1 , Θ 2 , . . . Θ C \Theta={\Theta_1, \Theta_2,...\Theta_C} Θ=Θ1,Θ2,...ΘC
视频自适应聚合: Y = G ( X ) ⊗ X Y=\mathcal{G}(X)\otimes X Y=G(X)⊗X,
由 G \mathcal{G} G生成的Kernel可以进行自适应卷积,但仍然在所有的时序维度共享,并且仍然是location invariant(位置不变的)。
位置敏感的激励和位置不变的聚合都是从输入特征图中推理得到的,但是关注了短期和长期两种时序模式。
1,作者在局部和全局分支中都利用了两层的Conv1D堆叠或,两个FC层来实现非线性拟合能力和模型复杂度的折中。
2,全局分支借鉴了动态卷积的思想,直接生成动态核的权重,论文中设置动态核的接受域为K。
对每个通道,学习到的动态核的形式为:[0,0,1];[0,1,0];[1,0,0]三种么?还是更多排列组合?
2D CNN在分析视频时,不同的视频帧共享相同的卷积核,这可能导致重复且冗余的信息利用,尤其是在空间语义提取上,因此忽略了关键的帧间变化信息。
作者尝试通过两种方式来解决这个问题,
Design a sequential channel fifiltering mechanism, i.e., Progressive Enhancement Module (PEM),);
一步步地从不同帧中,激励具有判别力的通道特征,从而避免重复的信息激励
构造时序差异损失,force卷积核关注帧间的时序变化,而不是具有相似外观的图像区域
深层CNN中,高层输出的每一个特征通道都与某种语义模式相关。
因此在2D CNN中,不同帧生成的特征通道可能共享多个相似通道,这将导致重复且冗余的信息提取用于视频分析。
信息滤波模块Progressive Enhancement Module (PEM)
自适应地、顺序地增强具有判别力的通道, 同时在运动历史信息的帮助下,对每一帧的重复特征进行抑制。
1,PEM根据先前时间步骤中的运动观察逐步确定当前帧的特征映射的增强。
这种时序增强学习方式明确地考虑了帧的时间顺序,使网络本身能够有效地避免收集相似通道,并充分利用不同时间帧的信息
2,在PEM后,作者设置时序建模模块,时序上融合增强的特征,使来自不同帧的增强特征互相交互。
3,通过时序差异损失进一步校准卷积核,使卷积核的学习更关注于帧间的变化
作者将每一个视频帧表示为一个特征block? 第一遍看没明白这个 block是啥意思,不同的特征表达块?