You Only Watch Once(YOWO)

You Only Watch Once(YOWO): A Unified CNN Architecture for Real-Time Spatiotemporal Action Localization

paper: https://arxiv.org/pdf/1911.06644.pdf
code: https://github.com/wei-tim/YOWO(暂未开源)

主要是提出了一种用于end-to-end动作分类和定位的方法。
效果如下:
You Only Watch Once(YOWO)You Only Watch Once(YOWO)

整体结构:

1,2D-CNN:提取空间(关键帧)特征;
2,3D-CNN:提取时序(clip)特征;
3,Feature aggregation: Channel Fusion and Attention Mechanism (CFAM):采用通道堆叠融合2d和3d特征,并且使用通道attention对融合后的特征进行调整;
4,类似yolo的边界框回归。
You Only Watch Once(YOWO)

细节介绍:

12D-CNN:论文中选择了Darknet-19,输出维度为C1*H*W。
23D-CNN:论文中选择了3D-ResNext-101,输出维度为C2*H*W。
(提取特征的backbone没什么好说,都是稍作修改就直接拿来用的。其中需要注意的是为了融合2d和3d特征,2D-CNN和3D-CNN输出feature map的weight和height必须保持一致)
3Linking:这里的linking是在整个视频维度上对目标框进行连接,而不是单个clip。linking方法主要是通过计算前后两个clip中同一类动作的目标框之间一个关联关系的分数,进而判断他们是否是同一个目标。具体的公式如下,
You Only Watch Once(YOWO)
其中sc(R)是区域R为特定类的分数(概率);ov是两个区域的交并比;ψ(ov) 是约束函数,当ov大于0时值为1,否则为0; α和β是标量(超参数)。
这个公式与参考paper不同的是,增加了α · sc(Rt) · sc(Rt+1)这一项,作者解释这一项可以考虑到前后两框的score剧烈变化的情况,并且提高视频检测的性能。
4Channel Fusion and Attention Mechanism (CFAM):其中的channel attention与论文 Dual attention network for scene segmentation 中提出的通道attention应该是一样的。。整体流程如图3所示,接下来介绍一下具体的步骤,
You Only Watch Once(YOWO)

  1. 2d featuremap(C1*H*W)和 3d featuremap(C2*H*W)通过channel维度堆叠起来,得到初步融合特征矩阵A(C*H*W,C=C1+C2);
  2. 将A的后两维向量化,得到F(C*N,N=H*W);
  3. 用F乘F的转置计算Gram矩阵G(C*C)(Gram矩阵在一些介绍中被称为风格矩阵,在风格迁移中应用广泛。对featuremap计算Gram矩阵可以增大的响应值,抑制非特征的响应值,得到特征间的互相关信息);
  4. 对G进行softmax计算(公式如下),生成channel attention map M(C*C);You Only Watch Once(YOWO)
  5. 将得到的attention map对原featuremap进行指导,即计算F1=MT · F,其中F1(C*N),最后将之reshape回C*H*W的维度,得到F2;
  6. 将原始的输入特征图B与F2进行相加即attention模块的输出C = α · F2+B,其中α是一个可学习的参数,训练时从0开始。

在该模块中,第一步和第六步后作者都放置了两个卷积层,这两个卷积层的目的是为了帮助混合从不同backbone而来或具有不同分布的特征。

5,具体的训练细节可以参考论文,不再描述了。。

总结:

1,方法主要是结合2d和3d特征来定位目标的同时对行为进行分类。
2,动作定位是靠关键帧中目标的位置来确定,用关键帧的位置代表clip中所有目标的位置。
3,主要的创新是在yolo思想的基础上增加时间维度的特征来辅助动作分类。

水平有限,欢迎指正。