论文浏览(50) RubiksNet: Learnable 3D-Shift for Efficient Video Action Recognition
0. 前言
1. 要解决什么问题
- 行为识别模型要求大量算力,主要就是对spatial和temporal维度进行卷积操作。
- 最近的关于轻量化模型的研究,一个方向就是将对 spatial 与 temporal 维度上的操作拆分开来,分别进行。但这样的模型算力还是主要看相应的2D模型在spatial上的算力。
- shift操作
- 在图像领域起始就是shift操作,给出了两篇论文,但没看是干什么用的。
- TSM中使用了一种 temporal shift 操作,主要就是对temporal维度进行一种固定的shift操作。但这类模型的算力主要还是看其依赖的2D网络。
- 一个现象:使用连续帧作为输入时,时空信息对行为识别来说太多了,有信息冗余。
- 由于有这个现象,所以才存在一些对时空维度进行shift操作的空间。
- 但模型的每一层分别进行什么样的shift操作,就是一个探索 efficiency-accuracy tradeoff 的过程。
2. 用了什么方法
- 提出了 RubiksNet 网络,核心在于 RubiksShift 模块,即 learnable 3D shift
- 作用:用于自主学习如何控制各层的shift并执行shift操作。
- 依次介绍:3D卷积 -> Fixed Spatiotemporal Shift(类似于TSM) -> Learnable Spatiotemporal Shift
- 给出了计算量和参数量。
- 下图说明了本文提出的 RubiksShift 与 TSM 中的shift的区别,即RubisShift是对temporal和spatial三个维度都进行shift操作,且shift的比例也是动态生成的。
- 下图中给出了RubiksShift的几个变形,即 interpolalted/Quantized/Attention Quantized
- Attention Quantized 的详细内容可以参考下图
3. 效果如何
- 摘要中就说了,跟TSM相比,在参数减少2.9-5.9倍,FLOPs减少2.1-3.7倍的前提下,准确率差不多甚至更高。
- 论文里只给出了几个小数据集中的效果。
- 在补充材料中有更多内容:
- 比较了3D卷积、2D卷积+shift(TSM)、本文的3Dshift之间的时间性能与FLOPs
- 补充了Kinetics中的性能
- 比较了3D卷积、2D卷积+shift(TSM)、本文的3Dshift之间的时间性能与FLOPs
4. 还存在什么问题&有什么可以借鉴
-
这个项目好,里面的layer很多有cuda优化,不过要用到tensorrt加速或tvm加速可能比较麻烦。
-
工作非常solid,只不过我不能全看懂,还是要研究下源码。