Abstract
提出Action Transformer,一种利用Transformer架构聚合视频中进行动作的人的spatiotemopral context feature的动作分类和定位模型。
实验表明,通过使用high-resolution, person-specific, class-agnostic queries,模型可以学会追踪视频中的个人,并将个人的动作从其他动作中挑选出来。
Introduction
动作识别的难点之一是:推断一个人的动作经常需要理解关注对象(person of interest)和它周围的物体。例如,判断一个人是否在”听某人说话“,需要找到附近的另一个正在说话的人。
提出Action Transformer,使用一个修改的Transformer架构作为head来分类关注对象的动作。它结合了两种模型的思路:(1) I3D模型抽取视频特征,(2) RPN网络提供一种采样机制,用来定位执行动作的人。将I3D特征和RPN生成的query输入到能够聚合视频中人和物体context信息的Transformer head中,进行动作识别。
使用AVA数据集,与UCF活HMDB等不同,它15分钟的长视频组成,含有多人多动作的标注。
Method
Action Transformer的目标是检测出视频中的所有人物,并在某个时间(keyframe)对他们的动作进行分类。它获取keyframe出的一个短视频段,并在central frame上生成一系列人体边界框,每个框都用框中人物的动作分类进行标注。
包含base 和 head网络(类似于Faster R-CNN)。base部分使用3D卷积提取特征,使用RPN提取proposal。head部分使用每个proposal的特征预测动作类别,以及进行边界框回归。具体来说,head网络使用主干网络(trunk)提取的feature map和RPN proposal,使用ROIPool对每个proposal生成一个特征表示,然后用这个特征表示进行C+1类(C类+背景)分类,以及回归一个4维的偏移offset向量,将proposal转化为边界框位置。
Base network
首先在原视频针对给出的keyframe位置,抽取长度维T帧(通常取64)的clip(形状为 T × H × W T\times H\times W T×H×W),大约包含3秒的context信息。
使用Kinetics-400预训练的I3D模型的前几层作为主干网络(trunk)抽取该clip的特征,得到形状为 T ′ × H ′ × W ′ = T 4 × H 16 × W 16 T'\times H'\times W'=\frac{T}{4}\times \frac{H}{16}\times \frac{W}{16} T′×H′×W′=4T×16H×16W的输出特征。然后将时序上处于中间的帧切片出来,输入区域候选网络RPN。RPN生成多个可能包含人物的候选框(bounding box)和对应的置信度(objectness score)。选出置信度最高的R个候选框(R=300)输入到head网络,在proposal候选框的基础上进行分类预测和边界框回归。
Action Transformer Head
Transformer head以输入的RPN proposal框作为query来定位需要关注的位置,聚合(aggregate)整个clip的信息,进而对query中的动作进行分类。
简要回顾一下Transformer:在序列建模中,通过将序列中的一个feature与其他所有feature进行比较