Paper: https://arxiv.org/abs/1806.01810 (ECCV 2018)
Author: Xiaolong Wang, Abhinav Gupta (CMU)
0. 引言
GNN最近在深度学习领域受到了广泛关注,其具有解决深度学习无法解决的因果推理和可解释性的问题,可以说是一个比较有前景的方向。今天来分享一篇ECCV2018的paper,结合图网络来做视频分类。视频和图像属于非结构化的数据,如何构建一个合理的graph是需要考虑的问题,本文通过物体检测算法来获取graph中的节点,再计算节点之间的关联性,进而构建整个graph。
1. Intro
人类如何识别一个动作,比如打开一本书。
我们认为有2个重要的线索:对时序上形状的变化进行建模,以及对人与物体之间的关系进行建模。
本文提出将视频表示成时空域的region的graph,用于捕获上述信息。graph中的node是指视频的不同帧所检测到的物体proposals,这些node以两种关系进行连接:(1)是否具有一定的相似性(2)在时间和空间位置上是否相关。
2. Overview
如图2所示,我们的模型输入为视频序列,将其通过3D CNN得到一个 T × H × W × d T\times H \times W \times d T×H×W×d 大小的feature map。除了提取视频的特征外,我们通过RPN获取T帧的每一帧上物体的bbox,然后通过ROIAlign得到每个物体 7 × 7 × d 7 \times 7 \times d 7×7×d 大小的feature map再maxpool得到d维的feature vector,作为每个物体的特征。这样假设有N个bbox,我们最后就有 N × d N \times d N×d 维的物体特征。
然后我们构建一个graph,包含N个node,对应上述的N个物体proposal。在这个graph上共有2种relation:similarity relation和spatial-temporal relation,简单起见我们将整个图分成两个子图,子图包含相同的节点但不同的relation。
我们使用GCN来对图的特征进行训练,GCN的输出维度也是N*d,和输入维度保持一致。然后通过avg pooling得到d维的feature,同时除了GCN的feature,我们将视频的feature( T × H × W × d T\times H \times W \times d T×H×W×d 维)也做avg pooling得到同样d维的特征,两个特征concat送入到最后的fc进行视频分类。
3. Graph Representations in Videos
3.1 Video Representation
视频的特征表示分为整个视频的特征和提取的物体框的特征两个部分。
整个视频的特征。 每个视频平均采样32帧,送入到3D ConvNet中进行特征提取,表1是我们用的3D-resnet-50的结构,网络的输入是 32 × 224 × 224 32 \times 224 \times 224 32×224×