介绍
这是去年CVPR2017的一篇动作分类的文章,用tensorflow实现,有预训练模型,代码链接如下:
http://rohitgirdhar.github.io/ActionVLAD
这篇文章在时空上分别独立提取特征,然后做pooling聚合,采用了一种VLAD的pooling方法,端到端的训练,主要解决两个疑惑:
1.如何聚合视频帧之间的特征来表示整个视频。
2.在多流网络中(例如two-stream)里面如何整合不同流(双流)的信息。
动机
一整段视频中虽然是单一的动作分类,但是可能有多个不同的子类特征,例如basketball shoot中有hoop,dribbling,jump,group,throw,ball,running等多个子类特征,所以我们想找方法去整合多个子类特征到一整段视频特征的表示中。
相关工作
特征聚合:VLAD和FV,之前是作为一种方式对提取的图像特征进行后处理编码,常用于图像检索,近年来开始用端到端的训练方法在卷积神经网络中表示图像特征。本文基于此工作扩展到了视频上。
贡献:1.基于two-stream做聚合表示视频特征。2.提出来了多种不同的pooling策略。3.在UCF101和HMDB51上取得了巨大提升。
视频双流结构
为了解决上述motivation中的问题,中聚合层中就有了这样一个参数,action words。它可以理解为子类特征的聚类中心。
可训练的时空聚合层
设 xi,t∈RD x i , t ∈ R D ,是一个从一段视频中帧 t∈{ 1...T} t ∈ { 1... T } 的位置