TSM视频理解解读

几个月前我做了TSM的测试工作由于的确比较笨,用pretrained model测试单个视频我都费了好多天

paper在此pytorch代码在此

总体:

TSM达到三维卷积的效果,但是只有2维卷积的复杂度。Temporal Shift Module就是沿着时间维度移动部分通道,因而方便帧之间的信息交换。

第二个图是双向的TSM,将过去和未来的帧与现在的帧交融。多余的截断,缺少的补零。离线模型。

第三个图同向TSM。只将过去帧和当前帧进行交融。因为这个是实时预测,不能获取未来帧的信息。

这种操作就是shift,翻译为移位/位移,但移动的多了效果并不好,shift所有的channel效果并不好(也要保持空间特征的学习能力啊),推断时也费时间。

网络结构:

backbone为ResNet50(也可以是其他预训练的模型,MobileNetV2则可放移动端),在每个残差模块(residual block)都嵌入了TSM,时间域感受野增大1倍,仅仅通过移位的操作就能实现伪3D模型的效果,也没有增加计算量。

在线模型在推断时,保存每个残差模块的1/8特征图到内存中,在下一帧替换掉该帧的前1/8,并将该1/8存入内存,因此使用的是7/8当前帧的特征图和1/8的旧的特征图。

batch_size=64,dropout=0.5,初始学习率0.01,采用kinetics数据预训练的权重进行fine-tune,固定BN层,为提高acc,复杂的视频内容sample较多的clips(8或16帧为一个clip)在somethingV1数据上只有一个clip,中心crop,224*224

代码就不看了。没时间了。

另外有相关问题可以加入QQ群讨论,不设微信群

QQ群:868373192 

语音图像视频深度-学习群

发布了252 篇原创文章 · 获赞 246 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/SPESEG/article/details/105347181
TSM
今日推荐