Graph Convolutional Networks for Temporal Action Localization

图神经网络用于时序动作定位

论文信息

Paper title:Graph Convolutional Networks for Temporal Action Localization

Paper source:ICCV 2019

Paper link: https://openaccess.thecvf.com/content_ICCV_2019/html/Zeng_Graph_Convolutional_Networks_for_Temporal_Action_Localization_ICCV_2019_paper.html

引言

大多数先进的动作定位系统都是单独处理每个动作预测提案(proposal),而在学习过程中没有明确利用它们之间的关系。但事实是,提案之间的关系实际上在动作定位中起着重要作用,因为有意义的动作始终在视频中包含多个提案。本文建议使用图卷积网络(GCN)探究提案之间的关系。首先,构造一个动作提案图,其中每个提案都表示为一个节点,而两个提案之间的关系则作为一个边。本文使用两种类型的关系,一种用于捕获每个提案的内容信息,另一种用于表征不同动作之间的相关性。随后,在图形上应用GCN,以对不同提案之间的关系进行建模,并学习针对动作分类和定位的的表示。最后本文实验验证了该方法在THUMOS14上的性能明显优于最新技术。此外,在ActivityNet上进行的扩展实验也验证了对动作提案间关系进行建模的有效性。

P-GCN 方法总述

本文中使用提议图 G ( P , E ) \mathcal{G}(\mathcal{P},\mathcal{E}) G(P,E) 来表示提案之间的关系,然后在图表上应用GCN来探究关系并学习提案的表示。 应用GCN的初衷是,在执行图卷积时,每个节点都会从其邻域聚合信息。 这样,每个提案的特征都会被其他提案增强,最终有助于提高检测性能。

在不失一般性的前提下,本文假设已经通过某些方法(例如TAG方法)预先获得了动作的提案。 在本文中,给定输入视频 V V V,通过利用提案关系来预测每个提案 p i p_i pi​的动作类别 y ^ i \hat{y}_i y^​i​和时间位置 ( t ^ i , s , t ^ i , e ) (\hat{t}_{i,s},\hat{t}_{i,e}) (t^i,s​,t^i,e​)。 计算

{ ( y ^ i , ( t ^ i , s , t ^ i , e ) ) } i = 1 N = F ( G C N ( { x i } i = 1 N , G ( P , E ) ) , \{(\hat{y}_i, (\hat{t}_{i,s}, \hat{t}_{i,e}))\}^N_{i=1} = F(GCN(\{{x_i}\}^N_{i=1}, \mathcal{G}(\mathcal{P},\mathcal{E})), {(y^​i​,(t^i,s​,t^i,e​))}i=1N​=F(GCN({xi​}i=1N​,G(P,E)),

F F F 表示任何需要学习的Map Function。为了利用GCN进行动作定位,本文范例将提案图和提案特征都作为输入,并对图执行图卷积以利用提案间的关系。 然后,使用增强的提案特征(GCN的输出)来共同预测类别标签和时间范围框。模型简称P-GCN[1],其示意图如图[1] 所示。

Graph Convolutional Networks for Temporal Action Localization

图1. P-GCN模型,给定来自输入的未修剪视频的一组提案,通过每个提案实例化图中的节点。 然后,在节点之间建立边以建模提案之间的关系。 在具有不同输入特征(即原始特征和扩展特征)的同一构造图上使用两个单独的GCN。 最后,P-GCN模型同时输出所有提案的预测动作类别,完整性和边界回归结果

如何使用GCN,基于图学习动作的表示形式并优化动作定位?

怎么构建提案关系图?

对于每个视频的图形 G ( P , E ) \mathcal{G} ( \mathcal{P}, \mathcal{E} ) G(P,E) ,将节点实例化为动作提案,同时要求对提案之间的边缘 E \mathcal{E} E 进行特定表征,以更好地对提案关系进行建模。 构造边的一种方法是将所有提案彼此链接,一方面因为这会导致该方法需要大量的计算,以遍历所有提案对(两个不同的提案),另一方面还会为行动定位带来多余或嘈杂的信息,因此一些无关的提案互相之间不应该被联系起来。所以本文采用:通过利用提案之间的时间相关性/距离来设计一种更智能的方法。 具体来说,本文介绍两种类型的边,分别是信息内容边(contextual edges)和周围边(surrounding edges)。

内容边(contextual edges)
如果 r ( p i , p j ) > θ c t x r(p_i,p_j) > \theta_{ctx} r(pi​,pj​)>θctx​,则在提案 p i p_i pi​ 和 p j p_j pj​ 之间建立一条边,其中 θ c t x \theta_{ctx} θctx​ 是某个阈值, r ( p i , p j ) r(p_i,p_j) r(pi​,pj​) 表示提案之间的相关性,并由tIoU定义:

r ( p i , p j ) = t I o U ( p i , p j ) = I ( p i , p j ) U ( p i , p j ) r(p_i,p_j) = tIoU(p_i,p_j) = \frac{I(p_i,p_j)}{U(p_i,p_j)} r(pi​,pj​)=tIoU(pi​,pj​)=U(pi​,pj​)I(pi​,pj​)​

I ( p i , p j ) I(p_i,p_j) I(pi​,pj​) 和 U ( p i , p j ) U(p_i,p_j) U(pi​,pj​) 计算时序交与并,这样就会选择与 p i p_i pi​ 有较高重合度的节点建立边。显然,高度重叠邻域的非重叠部分能够为 p i p_i pi​ 提供丰富的内容信息(可以理解为两个非常相似的提案的不同的部分)。而探究这部分的信息对于提升检测定位准确度有很大的帮助。P-GCN将这部分信息用于后续的图卷积网络。

周围边(surrounding edges)
内容边将通常与同一动作实例相对应的重合度较高的提案连接起来。 实际上,也可以关联不同但邻近的动作(包括背景项目),并且在它们之间传递的消息将有助于彼此之间的检测。 例如,在图[2]中,背景提案 p 4 p_4 p4​将为确定提案 p 1 p_1 p1​的活动类别(例如,更有可能是体育活动)提供帮助。

Graph Convolutional Networks for Temporal Action Localization

图 2:本文的方法的示意图。 应用图卷积网络对“提案-提案”进行建模,并提高时间动作的定位性能

为了处理这种相关性,P-GCN首先利用 r ( p i , p j ) = 0 r(p_i, p_j) = 0 r(pi​,pj​)=0查询不同的提案,然后计算以下距离:

d ( p i , p j ) = ∣ ( c i − c j ) ∣ U ( p i , p j ) d(p_i,p_j) = \frac{|(c_{i} - c_j)|}{U(p_i,p_j)} d(pi​,pj​)=U(pi​,pj​)∣(ci​−cj​)∣​

当 d ( p i , p j ) < θ s u r d(p_i,p_j) < \theta_{sur} d(pi​,pj​)<θsur​ 时,添加一条边,这里面的 θ s u r \theta_{sur} θsur​ 是一个固定的阈值,等式中的 c i c_{i} ci​ 是 p i p_i pi​ 的中心坐标。作为内容边的补充,周围边能够在不同的动作实例中传递信息,因此给定位提供了更多的时序线索。

图卷积用于动作定位

给定一个建好的图,用GCN来进行动作定位。这里使用了 K K K层图卷积:

X k = A X ( k − 1 ) W k X^{k} = AX^{(k-1)}W^{k} Xk=AX(k−1)Wk

A A A 是邻接矩阵, W k ∈ R d k × d k W^{k} \in \mathbb{R}^{d_k\times d_k} Wk∈Rdk​×dk​ 是需要学习的参数矩阵, X k ∈ R N × d k X^{k} \in \mathbb{R}^{N\times d_k} Xk∈RN×dk​ 是 k k k 层中所有的提案的隐藏特征, X 0 ∈ R N × d X^{0} \in \mathbb{R}^{N\times d} X0∈RN×d是输入特征。

在每一层后、下一层的输入之前都是用ReLU作为激活函数,另外实验证明,在最后一层中,把隐藏特征和输入特征级联效果更好:

X k = X K ∥ X 0 X^{k} = X^{K}\|X^0 Xk=XK∥X0

结合相关工作,本文作者认为,使用两个GCN分别单独预测动作类别和时序边界的效果更好,其中一个GCN使用原始的特征 x i x_i xi​ , 另一个使用拓展的特征 x i ′ x_i^{'} xi′​ 。那么第一个GCN可以表示为:

{ y ^ i } i = 1 N = softmax ( F C 1 ( G C N 1 ( { x i } i = 1 N , G ( P , E ) ) ) ) , \{\hat{y}_i\}^N_{i=1} = \text{softmax}(FC_1(GCN_1(\{x_i\}^N_{i=1},\mathcal{G} ( \mathcal{P}, \mathcal{E} )))), {y^​i​}i=1N​=softmax(FC1​(GCN1​({xi​}i=1N​,G(P,E)))),

另一个GCN可以表示为:

{ ( t ^ i , s , t ^ i , e ) } i = 1 N = F C 2 ( G C N 2 ( x i ′ i = 1 N , G ( P , E ) ) ) , \{(\hat{t}_{i,s}, \hat{t}_{i,e})\}^N_{i=1} = FC_2(GCN_2({x^′_i}^N_{i=1}, \mathcal{G} ( \mathcal{P}, \mathcal{E} ))), {(t^i,s​,t^i,e​)}i=1N​=FC2​(GCN2​(xi′​i=1N​,G(P,E))), { c ^ i } i = 1 N = F C 3 ( G C N 2 ( { x i ′ } i = 1 N , G ( P , E ) ) ) , \{\hat{c}_i\}^N_{i=1} = FC_3(GCN_2(\{x^{′}_i\}^{N}_{i=1}, \mathcal{G} ( \mathcal{P}, \mathcal{E} ))), {c^i​}i=1N​=FC3​(GCN2​({xi′​}i=1N​,G(P,E))),

抽样有效培训

典型的提案生成方法通常为每个视频生成数千个提案。倘若将上述图卷积应用于所有提案会需要大量的计算和内存占用。为了加速GCN的训练,已经提出了几种基于邻域采样的方法。本文采用SAGE[2]来提高灵活性。

State-of-the-art 结果比较

本文首先在THUMOS14上和目前最领先的动作定位算法进行了比较,在所有的阈值情况下,P-GCN都取得了最好的成绩。
Graph Convolutional Networks for Temporal Action Localization

ActivityNet v1.3上进行比较,结果见Table2,总体来讲Lin的方法令人满意一些,但是Lin方法依赖于外部标签,是一种不考虑分类的方法,P-GCN在修改增强后,依赖外部标签的情况下性能仍然犹豫Lin方法,因此,可以证明P-GCN在相同设置的情况下的有效性。
Graph Convolutional Networks for Temporal Action Localization

消融实验

验证提案与提案关系图作用

本文设计了三组实验:(1) MLP 1 + GCN 2 \text{MLP}_1 + \text{GCN}_2 MLP1​+GCN2​ : 即 GCN 1 \text{GCN}_1 GCN1​ 被替换掉了; (2) GCN 1 + MLP 2 \text{GCN}_1 + \text{MLP}_2 GCN1​+MLP2​ :即 GCN 2 \text{GCN}_2 GCN2​ 被替换掉了; (3) MLP 1 + MLP 2 \text{MLP}_1 + \text{MLP}_2 MLP1​+MLP2​ 两个 GCN \text{GCN} GCN 都被替换掉了。表3证明了这三种组合方式均削弱了整体的性能。

Graph Convolutional Networks for Temporal Action Localization

验证图卷积作用

本文设计三组实验:(1) MP 1 + MP 2 \text{MP}_1 + \text{MP}_2 MP1​+MP2​; (2) MP 1 + GCN 2 \text{MP}_1 + \text{GCN}_2 MP1​+GCN2​; (3) GCN 1 + MP 2 \text{GCN}_1 + \text{MP}_2 GCN1​+MP2​。 表4证明这三种组合方式都没有P-GCN性能佳。

Graph Convolutional Networks for Temporal Action Localization

验证特征提取网络

本文设计四组实验:(1) BSN+I3D; (2) BSN+2D; (3) TAG+I3D; (4) TAG+2D。图[3] 表明,P-GCN是广泛有效的,不被特征和提案约束。

Graph Convolutional Networks for Temporal Action Localization

图3. 不同的特征提取网络下的表现:mAP@tIoU=0.5

验证边的权重和自增的作用

表5 显示:用embed-cos-sim代替cos-sim并没有获得明显的改进(它们之间的mAP差异小于0.4% );另外:自增(self- addition)可以使RGB和Flow的绝对值至少提高1.7%。

Graph Convolutional Networks for Temporal Action Localization

验证两种类型的边是否必要

为了评估制定两种类型的边的必要性,本文作者对P-GCN的两种变体进行了实验,每种变体在图形构建阶段仅考虑一种类型的边。 表6中的结果显示:在除去任何一种边缘时都会显着下降。

Graph Convolutional Networks for Temporal Action Localization

采样策略的效率

为了验证采样大小 N s N_s Ns​ 对结果的影响,作者调整采样大小,来测试mAP,观察表7,当 N s = 4 N_s = 4 Ns​=4 时,模型获得的mAP高于完整模型(即 N s = 10 Ns = 10 Ns=10 ),同时减少了每次迭代的76%的训练时间。这很有趣,因为采样更少的节点甚至可以产生更好的结果。作者推测,邻域采样可以带来更多的随机性,使模型在训练过程中脱离局部极小值,从而产生更好的结果。

Graph Convolutional Networks for Temporal Action Localization

定性结果

作者最后在定性结果上做了可视化处理,如图[4]所示,在上面的示例中,MLP和P-GCN模型都能够正确预测动作类别,而P-GCN则预测更精确的时间边界。在下面的示例中,由于相似的动作特征和内容信息,MLP将铅球的动作预测为掷铁饼。尽管存在此类挑战,但P-GCN仍然可以正确预测动作类别,从而证明了该方法的有效性。

Graph Convolutional Networks for Temporal Action Localization

图4. THUMOS14数据集上的定性分析

总结

本文中利用“提案-提案”交互来解决时序动作定位的任务。通过构建提案图并将GCN应用于信息传递,P-GCN模型在两个数据集(即THUMOS14和ActivithNet v1.3)上远远优于最新方法。

参考文献

[1] Zeng, R., Huang, W., Tan, M., Rong, Y., Zhao, P., Huang, J., & Gan, C. (2019). Graph convolutional networks for temporal action localization. In Proceedings of the IEEE International Conference on Computer Vision (pp. 7094-7103).

[2] Hamilton, W., Ying, Z., & Leskovec, J. (2017). Inductive representation learning on large graphs. In Advances in neural information processing systems (pp. 1024-1034).

上一篇:视频对象移除篡改的时空域定位被动取证


下一篇:apollo localization模块学习