0. 前言

  • 相关资料:
  • 论文基本信息
    • 领域:行为识别
    • 作者单位:南大&腾讯
    • 发表时间:AAAI 2020

1. 要解决什么问题

  • 行为识别中的老问题:
    • 3D CNN 可以对时间进行建模,但参数量太大,需要大量算力。
    • 2D CNN 参数少、计算量小,但无法直接对时间进行建模。

2. 用了什么方法

  • 首先介绍论文里经常出现的两个概念:
    • 从直观上看,视频中的时间结构(temporal structure)可以从两个方面来帮助解决行为识别问题,分别是 motion information 与 temporal evolution of visual features。
    • motion information 字面意思就是动作信息。相对的就是“静态”信息。
      • 举例来说,一个视频中的每一帧都有“静态”信息,而每一帧没有动态信息,要将帧连接起来才有动作信息。
      • 2D CNN获取不到动作信息。
      • 行为识别模型的目标就是对 motion information 进行高效建模。
      • 视频中有许多冗余信息,所以需要进行建模,得到类似关键帧信息。
    • 后者按我理解就是指的相邻帧中的变化信息,即 temporal context(时间上下文)信息。
  • 提出了 Temporal Enhancement-and-Interaction (TEI Module) 来进行行为识别。
    • 提出了一种新的结构,用来替代普通bottleneck结构,如下图所示。
    • 新结构分为两个部分,MEM与TIM,下面会分别介绍。
    • image_1edc5na141rok10j11jbj8tml5q1g.png-73.4kB
  • MEM(Motion Enchanced Module)
    • 利用一个注意力模型,增强 Motion-related 特征。
    • 输入就是相邻的两帧。注意,这里所谓的“相邻”,指的是采样后的相邻。
    • GAP指的是全局池化,即global average pooling。
    • image_1edc7h9ip1laj1m75kc3mj3hb51t.png-90.1kB
  • TIM(Temporal Interaction Module)
    • MEM中提取的特征是比较global的temporal信息,但缺少比较local的temporal信息。
    • 所谓local temporal信息,感觉就是相邻帧的信息。
    • 用于补全 temporal context 信息。
    • 输入是若干MEM结构的concat。
    • 进行的操作是 channel-wise convolution,公式如下
      • Y c , t , x , y = ∑ i V c , i ⋅ U ^ c , t + i , x , y Y_{c,t,x,y} = \sum_iV_{c,i} \cdot \hat{U}_{c,t+i,x,y} Yc,t,x,y=iVc,iU^c,t+i,x,y
      • 其中 U ^ c , t + i , x , y \hat{U}_{c,t+i,x,y} U^c,t+i,x,yCxTxHxW 的特征图。
      • V c , i V_{c,i} Vc,i3x1x1 的结构
      • TSM 可以看做是特殊的 channel-wise convolution
    • image_1edc8fl791ja9piaq253ho12602n.png-22.7kB
  • TEI Module结构如下
    • image_1edc7o1gnip51eq91ijnom13p82a.png-136.1kB
  • TEI 网络,直接将第一章图中的结构替换掉ResNet block结构。

3. 效果如何

  • Something Something v1/V2 上的测试
    • 论文提出的方法当然是计算量少且效果好啦
    • image_1edc577rb1s5sad9nmp8lkerf9.png-177.5kB
    • image_1edc594qvndel1s1ufrqbjj4um.png-82.5kB
  • Kinetics上主要与TSM比较,计算量少且性能高
    • 虽然SlowFast结果好,但参数量太高啦
    • image_1edc5a9iav4g7qi3u1b035d913.png-194.4kB

4. 还存在什么问题

  • 论文没开源,自己实现感受一下。

  • 有个问题,FLOPs少了,那运行时间呢。

  • 用在resnet上,不知道换个backbone是什么效果。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐