CVPR 2019 论文标题:Learning Actor Relation Graphs for Group Activity Recognition 论文地址:https://arxiv.org/abs/1904.10117 代码地址:https://github.com/wjchaoGit/Group-Activity-Recognition

image.png


简介

本文针对Group Activity Recognition任务提出了Actor Relation Graphs (ARG)模型。ARG从appearance和position两个角度提取actors间的关系特征构建Multi-GCN,并在时域上进行随机帧采样构建temporal graphs,以充分考虑时序信息。最终模型会输出individual action和group activity的分类结果。作者在Volleyball和Collective Activity数据集上做了实验,都达到了state-of-the-art结果。

Actor Relation Graphs

在构建ARG模型之前,需要用object detection模型检测出视频帧上的所有actors。同时,需要利用CNN backbone (如Inception-v3)和RoIAlign提取各个bounding box的feature,得到image.png为N个actor的d维特征。这是目前CNN+GCN应用于CV的主要方式:即CNN提取特征,GCN优化特征。下面是ARG的整体结构:
image.png

图2将ARG的思路展示地非常清晰,首先对视频帧随机采样(3帧),接着提取特征。然后利用Multi-GCN进行特征的聚合与优化,最后和初始特征融合,用于分类任务。下面来介绍细节。

Graph definition

ARG中的node是一帧视频里所有的actor。邻接矩阵的定义比较特殊:
image.png
其中image.png表示actor之间的appearance relation,image.png表示actor之间的position relation。
appearance relation的定义作者给了三种不同的形式,分别是:
(1)Dot-Product,d为标准化的因子
image.png
(2)Embedded Dot-Product
image.png
image.png
(3)Relation Network
image.png

position relation的定义作者给了两种形式:
(1)Distance Mask,image.png为指示函数(具体形式文中好像没提),image.png为阈值超参数,image.png表示欧氏距离
image.png
(2)Distance Encoding
image.png

Multiple graphs

Multiple graphs是本文ARG模型的一个特点。作者提到单个GCN只聚焦于actor之间的特定关系,忽略了很多context信息,因此ARG用多个不共享权重的GCN来对actor间的多种关系建模。这种方式本质上还是模型平均的思想。

Temporal modeling

时序信息是视频动作识别任务的关键线索,ARG采用STN中的sparse temporal sampling strategy,对视频帧进行随机采样,从而对时序信息建模。这里作者说到利用采样的3帧图像构建temporal graphs,应该是指在时域上做Multi-GCN模型平均。另外作者提到,随机采样的方式间接扩充了训练数据,相当于做了数据增强,对模型训练结果有着较大提升。

Reasoning and Training on Graphs

ARG中一个layer的定义如下,和经典GCN类似:
image.png
其中image.png是第l层的结点特征,image.pngimage.png是邻接矩阵。image.png是激活函数,本文用Relu。ARG中作者仅构建了2层layer,即仅做了一次结点特征的融合和更新。
对于Multi-GCN结果融合的问题,作者采用late fusion的方式,直接将最后一层各结点相应的特征向量累加起来:
image.png
同时作者也在实验中测试了几种其他的融合方式。
最后是loss函数:
image.png
其中image.png表示cross-entropy loss,image.png分别是group activity和individual action的标签,image.png分别是二者的预测值。image.png是一个权重超参数。

Experiments

作者在Volleyball和Collective Activity数据集上做了实验,这部分也说明了实现细节,具体见原文:
image.pngimage.png
image.pngimage.png
image.png
image.pngimage.png
image.png

image.png

总结

ARG结构很简单,但利用模型平均把效果刷的很好,Multiple graphs也算是一种刷分的思路吧。另外,文中对temporal graphs的处理方式,以及实验中early fusion的融合方式描述的并不清楚,需要在代码中来看实现细节。