标题:No Time to Waste: Squeeze Time into Channel for Mobile Video Understanding
论文:https://arxiv.org/pdf/2405.08344
代码:https://github.com/xinghaochen/SqueezeTime/tree/main
发表:2024
Transformer出现后,基本在CV各个领域横着走。本文可以说是在移动端视频理解上重铸传统CV的荣光,从论文宣称的效果上看:基本是五边形战士了,吊打一切!No Time to Waste,开读!
背景
当前的视频理解架构主要基于3D卷积块或配合额外时间建模操作的2D卷积。这些方法都将时间轴视为视频序列中的一个独立维度,需要大量的计算和内存资源,从而限制了在移动设备上的应用。
亮点
本文提出一个轻量级的视频识别网络,称为SqueezeTime。具体做法:将视频序列的时间轴压缩到通道维度中。为了增强所提网络的时间建模能力,设计了一个通道-时间学习(CTL)模块来捕获序列的时间动态。该模块包含两个互补的分支,其中一个分支负责时间重要性的学习,而另一个具有时间位置恢复能力的分支旨在增强跨时间的对象建模能力。
结构
2:所提出的网络包含四个主要阶段,每个阶段由一系列精心设计的CTL模块堆叠而成,旨在挖掘和恢复隐藏的时间表示。
3:为了降低更大尺度特征的维度,我们采用了步长为2的2×2卷积进行下采样。
本文最核心的地方就是网络结构的设计,我们拆解学习一下。
输入部分:
输入通过reshape操作,将时间维度压缩到通道中进行(3,t,h,w--->3t,h,w),再依次经过5x5卷积,Relu,MaxPool
CTL Block:
整体是残差结构:1x1卷积,CTL Module, 1x1卷积
CTL Module: 双分支结构
branch1:TFC1x1:前面有Sigmoid结果可以理解为attention机制,表达对不同通道的时间重要性
branch2:IOI Module:同样是双分支结构
经过以上拆解,Squeeze Time网络结构就非常的清洗明了,作者提到的CTL更多的是一种论文名词的包装,全都是基本算子,以及attention机制的组合搭配。
结果
前面博文使用的paddle-Tsm-v2(主干是LCNet),FLOPS是600+M,本文FLOPS是5.5G,整体还是偏大的。能否在同样量级上战胜TSM尚不确定。等有空在打架数据集上验证一下,看看效果。