前言
TAL(Temporal Action Localization)任务是一种计算机视觉任务,旨在从视频中准确定位和识别动作的时间段。与传统的动作识别任务不同,TAL任务不仅需要识别视频中的动作类别,还需要确定每个动作在视频时间轴上的起始时间和结束时间,TAL任务通常包括以下两个关键步骤:
动作检测(Action Detection):这一步骤的目标是在视频中检测出存在的动作,并确定它们的时间段。通常使用滑动窗口或候选区域的方法来生成候选动作片段,然后通过分类器或回归器来判断每个候选片段是否包含特定的动作类别,并预测其起始和结束时间。
动作分类(Action Classification):在动作检测的基础上,这一步骤的目标是对每个检测到的动作片段进行分类,即确定该片段属于哪个动作类别。通常使用分类器来对每个动作片段进行分类,可以是基于传统的机器学习方法,也可以是基于深度学习的方法。
一、PGCN论文摘录
1、研究动机
目前大多数最前沿的时序动作定位模型会单独处理每个动作proposals,而不会在学习过程中明确利用不同proposals之间的关系。大多数Two-Stage的TAL模型首先生成一组一维时空proposals,然后对每个proposals单独进行动作分类和动作边界回归,然而,在预测阶段单独处理每个proposals,势必会忽略提议之间的语义关系。
以下图来举例proposals之间的相互作用,一方面, p1、p2 和 p3 重叠描述了同一动作实例的不同部分(即开始时间段、主体和结束时间段)。传统方法仅利用 p1 的特征对其进行预测,研究者认为这不足以为动作检测提供完整的知识。如果我们额外考虑 p2 和 p3 的特征,就能获得更多围绕 p1 的上下文信息,这对 p1 的时间边界回归尤其有利。另一方面,p4 描述的是背景(即运动场),其内容也有助于识别 p1 的动作标签,因为运动场上发生的很可能是运动动作(如 “投掷铁饼”),而不是其他地方发生的动作(如 “接吻”)。换句话说,p1 的分类可以部分地受 p4 内容的指导,即使它们在时间上是脱节的。
要建模proposal-proposal之间的相互关系,可以采用自注意力机制,不过,这种方法的计算成本很高,因为查询所有proposals对的复杂度是proposals数量的二次方。而应用 GCN 可以让我们只汇总每个proposal的本地邻域信息,从而有助于显著降低计算复杂度。
2、改进方法分析
PGCN模型主要分类两个支路,一条支路对原始视频提取相应的proposal,处理后获取特征送入GCN网络,输出动作的分类;另一条对原始视频提取相应的proposal,并前后延伸包含更多的上下文语境信息,处理后获取特征送入GCN网络,输出动作的边界信息
研究者使用 G ( p , ε ) G(p, \varepsilon) G(p,ε) 来表示proposal-proposal之间的关系(其中node为图示的四种proposal,edge分为contextual edge和surrounding edge两种来表示节点间的联系),通过设计新的构图方式并使用GCN将临近proposal的关系聚合到学习到更好的proposal-level特征。
对于第一种contextual edge来说,判断条件为
r
(
p
i
,
p
j
)
>
θ
c
t
x
r(p_i, p_j) > θ_{ctx}
r(pi,pj)>θctx,我们就在
p
i
p_i
pi 和
p
j
p_j
pj 之间建立一条边,其中
θ
c
t
x
θ_{ctx}
θctx 是一个特定的阈值。这里
r
(
p
i
,
p
j
)
r(p_i, p_j)
r(pi,pj) 表示proposals之间的相关性,由 tIoU 指标定义。tIoU就是时序交并比,通过计算两个proposal之间的交集和并集的比值得到。contextual edge可以为相邻node融入更多上下文语境信息,给后期的定位提供更多的信息,从而获取更准确的动作边界
对于第二种Surrounding edge来说,判断条件为
r
(
p
i
,
p
j
)
=
0
r(p_i, p_j) = 0
r(pi,pj)=0, 即选取的proposal为无overlap的其他动作类别(或者背景),
c
i
c_i
ci表示
p
i
p_i
pi 的中心坐标,
U
(
p
i
,
p
j
)
U(p_i, p_j)
U(pi,pj) 表示不同proposals的并集,然后通过计算比值来表达距离
d
(
p
i
.
p
j
)
d(p_i. p_j)
d(pi.pj),用于衡量两个无overlap的proposal的相互信息作用
研究者在整个网络中建立了
K
K
K 层图卷积层。具体来说,对于第
k
k
k 层
(
1
≤
k
≤
K
)
(1 ≤ k ≤ K)
(1≤k≤K),图卷积的实现方法由以下几个过程构成,
A
A
A 是邻接矩阵,
W
(
k
)
∈
R
d
k
×
d
k
W^{(k)} ∈ R^{d_k×d_k}
W(k)∈Rdk×dk 是待学习的参数矩阵;
X
(
k
)
∈
R
N
×
d
k
X^{(k)} ∈ R^{N×d_k}
X(k)∈RN×dk 是第
k
k
k 层所有proposals的隐藏层特征;
X
(
0
)
∈
R
N
×
d
X^{(0)} ∈ R^{N×d}
X(0)∈RN×d 是输入网络的特征。
研究者为了让深层网络学到更多有效的浅层特征,利用Resnet的思想将最后一层隐藏特征与输入特征进行拼接,发现效果会更好,
‖
‖
‖ 表示连接操作
研究者构建两种作用的 GCN模块(一个针对原始proposal特征 x i x_i xi,另一个针对扩展后的proposal特征 x i ′ x^′_i xi′ )分别预测动作标签和动作时间边界。其中,在 GCN1 层输出特征基础上进行全连接层(FC)投影再通过softmax 运算来预测动作标签 y ^ i \hat y_i y^i,可以表达为
在 GCN2 层输出特征的基础上采用了两个全连接层,一个用于预测动作的时间边界
(
t
^
i
,
s
,
t
^
i
,
e
)
(\hat t_{i,s},\hat t_{i,e})
(t^i,s,t^i,e),另一个用于预测动作完整性标签
c
^
i
\hat c_i
c^i,该标签表示proposal是否完整。因为有研究表明不完整的proposal虽然和ground truth的tIOU比较小,但是可能有比较高的分类得分,所以单单使用支路1的分类得分来排名选取proposal是不妥的。
研究者在构建邻接矩阵时,需要给边分配特定权重来设计邻接矩阵,应用相似性来估计边
e
i
j
e_{ij}
eij 的权重矩阵
A
i
j
A_{ij}
Aij,方法是计算节点中的特征向量的余弦相似度,更有利于增强不同的proposals之间信息交互的方式
由于对所有proposals都进行考虑计算量过大,故采用SAGE方法进行随机采样,在对所有层的所有节点进行采样之后,SAGE方法可以自下而上逐层聚合各个节点的信息。其中 N s N_s Ns 为采样个数,下一层的节点特征是由上一层采样的几个节点特征进行信息汇聚得到的
最后整个PGCN模型的算法流程表达如下图
3、实验细节
PGCN模型的消融实验做了很充分的工作,简单介绍一下实验探究和结果分析。
研究者用了两种 GCN模块 进行动作分类和边界回归,为了说明GCN模块在建模proposal-proposal之间关系的有效性,研究者将GCN模块替换成MLP模块进行实验探究。结果就是模型 P-GCN 明显优于 MLP (即 MLP1 + MLP2),验证了建模proposal-proposal之间的关系在时间行动定位中的重要性。
研究者为了评估制定两种edge的必要性,对 PGCN 的两个变体进行了实验,每个变体在图构建阶段只考虑一种边。不出所料,如果去掉其中一种边,结果就会明显下降。另一个关键点是,当只保留周围的边时, P-GCN 仍优于单纯是要 MLP。这背后的原因可能是,同一视频中的动作是相互关联的,利用周边关系可以实现更准确的动作分类。
总结
PGCN的工作主要贡献有:模型架构设计汇焦于建模proposal-proposal之间的关系,对每个proposal汇聚更多相关的上下文语义信息,提高了模型动作分类定位的性能,也通过SAGE方法采样有效减少计算开销和时间成本
最后的实验结果表明,PGCN在两大数据集上均取得SOTA的性能,再次刷新了TAL任务的模型榜单