Dynamic Scene Graph Generation via Anticipatory Pre-training论文阅读笔记
- Motivation

过去的方法只是在特征维度上对时间信息进行建模,这是一种相对笼统的方式,因为它不能明确的捕捉到视觉关系在时序上的相关性。人类可以轻易的从过去已有的相关关系推出当前帧的视觉关系,但这种视觉推导是具体于时序关系的。因此我们需要解决一下两个问题:1.空间信息和时间信息是高度缠绕的,这不利于捕捉时序上具有关联性的关系;2.AG数据集不是全标注的,仅有某几个关键帧的标注。
- Contribution
提出了针对视频场景图的anticipatory(?不知道怎么翻译)预训练范式,该范式能够在task-level上显式地对视觉关系进行时序相关性建模;
- Method

对于第t帧图篇I_{t},首先使用预训练检测器来检测第t帧及之前帧的物体bbox框和类别。之后使用空间编码器来提取每一帧中物体对的视觉特征。然后是通过渐进的时间编码器来建模不同帧中物体对的长时时序相关度。需要注意的是,空间编码器和渐进式时序编码器是经过预训练的,对于第t帧来说,它的渐进式时序特征来自前t-1帧,在第t帧,我们结合空间编码器提取空间特征和前t-1帧的渐进式时序特征,通过一个全局时序编码器来提取当前帧的特征,并预测当前帧的物体对之间的关系信息,全局时序编码器是在微调阶段进行训练的。

首先使用目标检测器得到第t帧第i个物体的特征信息,包括视觉、位置、语音信息:
f_{t, i}=[\textbf{M}_{o}v_{t, i}, \phi(b_{t, i}), s_{t, i}]
然后将该帧的所有物体看作一个特征序列,作为空间编码器的输入:
X_{spa, t}^{0}={f_{t, 1}, f_{t, 2}, ..., f_{t, N(t)}}
之后得到物体i和物体j之间关系的特征表示:
r_{t, ij} = [\hat{f}_{t, i}, \hat{f}_{t, j}, M_{u}u_{t, ij}]
渐进式的时序编码器包括一个短时编码器和一个长时编码器,这是因为只使用长序列作为输入虽然能同时解决短时和长时的依赖问题,但会大大增加模型的参数。
短时编码器只对当前帧的前\gamma帧进行处理,它以具有相同物体对的关系特征作为输入,并使用下式来计算不同帧间物体对的匹配分数:
\epsilon = \min (IoU(o_{t', i}, o_{t' - 1, i'}), IoU(o_{t', j}, o_{t' - 1, j'}))
设置阈值\epsilon > 0.8为匹配成功。
之后构造短时和长时的特征序列:
A_{ij}={r_{t-\gamma, ij}, ..., a_{t - 1, ij}}\\ U_{ij}={r_{t-\lambda, ij}, ..., a_{t - \gamma, ij}}
短时编码器的输入为:
X_{short, ij}^{(0)}=[A_{ij}+Z^{s}, C_{ij}]
其中Z^{s}为帧的时序位置编码,C_{ij}是对物体对的语义提取信息。
长时编码器的输入为:
X_{long, ij}^{(0)}=\{f_{\theta}(U_{ij}), \phi(\hat{X}_{short, ij})\} + Z^{l}\\ f_{\theta}(U_{ij})=W_{\theta}(\varphi(r_{t-\lambda, ij})\otimes \cdots \otimes \varphi(r_{t-1, ij}))
\phi为MLP,\lambda \gg \gamma,\otimes代表叉积。
- 训练策略
预训练阶段仅训练有标签数据:
y_{t, ij}=Classifiers_{pre}(\hat{x}_{l, ij})\\ L_{pre}(y_{t, ij}, Y^{+}, Y^{-})=\sum_{p \in Y^{+}} \sum_{q \in Y^{-}} \max(0, 1 - y_{t, ij}^{p} + y_{t, ij}^{q})
微调阶段使用空间编码器提取当前帧的空间特征,并一次为基础提取关系特征,然后按照短时编码器的结构经过若干层Multi-Head Self-Attention结构得到用于微调分类的特征。推断的时候仅使用微调时的分类器。
