论文笔记:SlowFast Networks for Video Recognition

论文发表于ICCV2019,何凯明大神也在作者中,这里先放上论文链接:添加链接描述

文章针对视频行为识别提出了一种新颖的网络结构SlowFast Networks,受启发于人类的视觉神经系统:80%的视觉细胞通常用于捕获空间特征,对时序动作响应不明显。15%~20%的视觉细胞用于捕获动作特征,用于处理高时间分辨率的动作特征。基于此,文章提出了两条支路用于处理视频信息Slow-pathway和Fast-pathway。Slow-pathway主要用于提取空间特征(其输入为稀疏的视频帧);Fast-pathway用于提取变化的动作特征(其输入为密集的视频帧),并且这一支路足够轻量(通过减少通道数来实现),轻量级的Fast-pathway旨在尽量少的提取空间特征并将网络聚焦在时序动作上。


SlowFast Network

  • Slow-pathway
    Slow-pathway的输入为稀疏的视频帧。输入该支路的视频帧数为T,两帧之间的时间跨度为τ,则原始视频片段的总长度=T×τ帧。

  • Fast-pathway
    Fast-pathway的输入为密集的视频帧。两帧之间的时间跨度为τ/α (α>1),输入该支路的视频帧数=αT。两支网络均采用相同的网络架构,考虑到Fast支路轻量级的考虑,Fast支路的通道数是Slow支路相应位置通道数的β倍(β<1)。为了保证时域上的准确性,Fast支路每一层所输出的特征向量在时间尺度上的分辨率始终保持不变(即时间尺度长度始终=αT)
    这样,在Slow-pathway中的tensor维数可表示为(N,C,T,H,W),Fast-pathway中的tensor维数可表示为(N,βC,αT,H,W)。论文中默认设置T=4,τ=16,α=8,β=1/8

  • Lateral-connections
    为了融合两支网络的时空信息,采用单向侧连的结构,即将Fast支路的信息融合至Slow支路。
    论文笔记:SlowFast Networks for Video Recognition_第1张图片

    同时为了保证数据维数的匹配问题(βC,αT,H,W)with (C,T,H,W)?提出了以下的融合策略:
    1.Time-to-channel:将时间维度切片到通道维数,这种方式可以保证两个特征向量的维数相同,可以考虑使用summation或者concatenation进行融合。
    2.Time-strided-sampling:对(βC,αT,H,W)在时间维度上进行采样变成(βC,T,H,W),然后与Slow支路的特征向量进行concatenation。
    3.Time-strided-convolution:使用kernel=(5×1×1),stride=(α×1×1),输出通道数为2βC的3D卷积。将Fast支路的特征维数由(βC,αT,H,W)变成(2βC,T,H,W),然后进行concatenation。
    两支支路分别提取出各自的特征向量,将其进行拼接后作为最后分类全连接层的输入。
    最后放一张采用默认设置的网络结构图:
    论文笔记:SlowFast Networks for Video Recognition_第2张图片


训练策略

  • 训练阶段
  1. 原始视频中随机抽取连续的T×τ帧,Slow支路的输入为T帧,Fast支路的输入为αT帧。
  2. 将视频的短边随机放缩至[256,320],然后随机裁剪出224×224。并加入随机水平翻转。
  • 测试阶段
    从原始视频中沿时间维度均匀的抽取10段(每段长度均为T×τ帧)。对于每段视频,将其短边放缩至256,再随机裁剪出3组256×256。这样对于每个原始视频,均有30views用于遍历时间空间方向。对所有views的softmax得分进行平均作为最后的分类预测结果。

你可能感兴趣的:(论文笔记:SlowFast Networks for Video Recognition)