论文精读——InfoGCN: Representation Learning for Human Skeleton-based Action Recognition
系列文章目录
文章目录
Abstract
基于人类骨骼的动作识别提供了一种理解人类行为复杂性的有价值的方法,因为它能够处理物理约束和意图之间的复杂关系。尽管许多研究集中在对骨骼的编码上,但对将这些信息嵌入到人类动作的潜在表示中关注较少。InfoGCN 提出了一种结合了新颖学习目标和编码方法的动作识别学习框架。首先,我们设计了一种基于信息瓶颈Information bottleneck-based的学习目标,以引导模型学习信息丰富但紧凑的潜在表示。为了提供用于动作分类的判别信息,我们引入了基于注意力的图卷积,以捕捉人类动作的上下文依赖Context-dependent的内在拓扑。此外,我们提出了一种使用关节相对位置的骨骼多模态表示,旨在为关节提供互补的空间信息。InfoGCN 在多个基于骨骼的动作识别基准测试中超越了已知的最先进水平,具体表现为在 NTU RGB+D 60 跨主体分割上的准确率为 93.0%,在 NTU RGB+D 120 跨主体分割上的准确率为 89.8%,在 NW-UCLA 上的准确率为 97.0%。
提示:以下是本篇文章正文内容,下面案例可供参考
一、Introduction
人类动作识别是计算机视觉中的一个基本问题,具有丰富的应用,包括紧急情况检测 [36]、手语识别 [35] 以及虚拟现实/增强现实(VR/AR)中的手势识别 [57] 等。特别是,基于骨骼的人类动作识别 [6,7,19,44,58] 因其在复杂背景下的鲁棒性而受到计算机视觉领域的广泛关注。基于骨骼的动作识别的关键成就之一是图卷积网络(GCN [21])方法。
本文介绍了一个新颖的基于骨骼的动作识别预测框架。我们的方法在三个关键方面推进了现有技术的边界。首先是表示学习算法: 大量研究表明,表示学习显著影响机器学习任务的性能 [2, 5, 13, 23, 29, 59, 61]。我们的方法受到信息瓶颈(Information bottleneck-based, IB)理论 [49] 的启发。我们推导出新颖的IB目标和相应的损失函数,以学习潜在表示,使其在压缩输入信息的同时,对目标变量保持最大信息量,如图1顶部所示。通过所提出的目标准则学习的模型通过编码隐式和通用的潜在表示来进行识别,弥合了输入级别的物理信息和动作语义之间的差距。
其次是骨骼的编码方法: 使用骨骼连接(外在拓扑) [27, 33, 44, 56, 60] 的图表示方法存在一个固有限制:它可能会忽略可能的关节关系,即内在拓扑。例如,当我们“自拍”时,手持手机的手和上半身之间可能存在内在关系,因为我们共同移动它们以将上半身定位在手机屏幕上(如图1中我们模型推断的内在拓扑)。关节的内在拓扑 [40] 为识别动作提供了上下文信息。在此背景下,我们开发了一种新颖的基于自注意力的图卷积( self-attention based graph convolution, SAGC)模块,以在编码骨骼序列时提取内在图结构。如图1底部所示,对于在不同动作中出现的相似姿势,推断的拓扑可能基于其行为上下文而不同。
最后,我们提出了一种利用关节相对位置的骨骼多模态表示我感觉对于输入的优化应该是归类于这个骨骼的多模态表示
。它为关节提供了互补的空间信息。使用这些表示训练的模型的集成显著提高了识别性能。通过结合上述三个提议,我们引入了一个名为InfoGCN的新的基于骨骼的动作识别学习框架。为了验证我们方法的有效性,我们在基于骨骼的动作识别中进行了实证评估,并在三个流行的基准数据集上与竞争性基线进行了比较:NTU RGB+D 60 & 120 [30, 42] 和 NWUCLA [55]。实验结果表明,我们的模型在所有三个数据集上均实现了最先进的准确率性能。分析表明,所学习的动作潜在表示符合理论提出的IB约束,且上下文依赖的内在拓扑根据行为上下文自适应地推断。我们的贡献如下:
1.Information Bottleneck Objectives信息瓶颈目标。我们引入了一种基于Information bottleneck信息瓶颈的新学习目标,旨在学习动作的高效压缩潜在表示。
2.基于自注意力的图卷积。我们提出了一个SA-GC模块,该模块在骨骼的空间建模中推断上下文依赖的内在拓扑。
3.Multi-Modal Representation.多模态表示。我们提出了一种用于模型集成的骨骼多模态表示,显著提高了动作识别性能。
4.实证验证。广泛的实验展示了我们工作的优势。InfoGCN在基于骨骼的动作识别的三个数据集上均实现了最先进的性能。
信息瓶颈目标:通过最小化 I(Z;X) 和 I(Z;X∣Y),模型学习到的潜在表示 Z 尽可能压缩输入数据 X 的信息,同时保留对目标变量 Y 最有信息量的部分。
分类目标:通过最大化 I(Z;Y),模型学习到的潜在表示 Z 能够更好地预测动作类别 Y。
内在拓扑:模型通过推断关节之间的内在拓扑关系,捕捉动作的上下文信息,从而提高动作识别的准确性。
二、Relateworks
在基于深度学习的骨骼动作识别方法的早期阶段,卷积神经网络(CNNs)[10, 32, 46] 和递归神经网络(RNNs)[11,25,31,53] 是采用的标准模型。然而,这些方法的能力有限,因为它们没有明确利用关节的结构拓扑。自从引入图卷积网络(GCN [21])以来,各种利用外在拓扑图结构的方法被提出 [26, 33, 43, 56]。为了建模骨骼,提出了各种图,包括时空图 [56] 和有向图 [43]。多尺度图卷积 [26, 33] 被提出以捕获关节的长距离依赖关系。尽管如此,这些方法无法表示内在拓扑,限制了捕获动作上下文信息的能力。最近的研究 [27, 44] 专注于可以推断内在关系的关节拓扑建模。AS-GCN [27] 和 2sAGCN [44] 提出了从数据中自适应学习关节关系的方法。然而,由于捕获的拓扑与姿势无关,因此在编码姿势随时间变化的动作上下文时存在困难。CTR-GCN [6] 在上下文依赖的内在拓扑建模方面与我们的工作类似。与我们的工作不同,CTR-GCN 专注于在不同的嵌入通道中嵌入关节拓扑。同时,与以往仅关注骨骼时空特征聚合的研究不同,据我们所知,InfoGCN 是第一个利用信息论目标来更好地表示潜在信息的方法。
三、InfoGCN
InfoGCN 是一种新颖的学习框架,用于预测给定骨骼序列的动作类别。在本节中,我们首先推导了一种基于信息瓶颈(IB)的学习目标和相应的损失函数(第 3.1 节)。此外,我们介绍了一种神经网络架构(第 3.2 节)以及用于模型集成的骨骼多模态表示(第 3.3 节)。最后,我们呈现了整体学习方案。请注意,本节中使用的所有符号在附录中进行了总结。
3.1Information-Bottleneck Objectives信息瓶颈目标
3.1.1 Learning Objective
本节的目标是定义一个基于IB的目标,用于从骨骼序列中学习潜在表示,并推导其变分界和可处理的损失函数。所提出的公式可以应用于其他问题,例如人类运动预测和自监督学习。
我们旨在设计一个随机潜在变量
Z
Z
Z,该变量在压缩输入变量
X
X
X(骨骼序列)的信息的同时,保留对目标变量
Y
Y
Y(动作标签)的最大信息。这个受约束的优化问题可以通过拉格朗日乘子转化为无约束优化问题:
max
Z
I
(
Z
;
Y
)
−
β
1
I
(
Z
;
X
)
,
\max_{Z} I(Z;Y) - \beta_1 I(Z;X),
maxZI(Z;Y)−β1I(Z;X),其中
I
(
⋅
;
⋅
)
I(⋅;⋅)
I(⋅;⋅) 表示互信息,
β
1
β_1
β1 是拉格朗日乘子。与之前的工作 [2, 13] 一样,我们假设变量之间的关系遵循图形模型 Z←X↔Y,唯一可访问的内容是随机编码器 p(z∣x)。在InfoGCN中,我们提出了以下等价于最大化先前IB目标的优化目标(见附录):
R
(
Z
)
=
I
(
Z
;
Y
)
−
λ
1
I
(
Z
;
X
)
−
λ
2
I
(
Z
;
X
∣
Y
)
,
(
1
)
R(Z) = I(Z;Y) - \lambda_1 I(Z;X) - \lambda_2 I(Z;X|Y), \quad (1)
R(Z)=I(Z;Y)−λ1I(Z;X)−λ2I(Z;X∣Y),(1)其中
λ
1
λ_1
λ1和
λ
2
λ_2
λ2 是控制参数。第一项
I
(
Z
;
Y
)
I(Z;Y)
I(Z;Y) 强制
Z
Z
Z 对预测
Y
Y
Y 具有足够的信息量。第二项确保
Z
Z
Z 是简洁的。第三项允许在给定类别时,潜在变量
Z
Z
Z 相对于输入变量
X
X
X 进行压缩。我们的目标采用了VIB [2] 和CEB [13] 中的压缩正则化项的组合,同时保留了IB的哲学。我们推导出的目标比 [2,13] 中的目标更通用,同时将先前的目标作为特殊情况包含在内(当
λ
1
=
0
λ_1=0
λ1=0时为VIB,当
λ
2
=
0
λ_2=0
λ2=0时为CEB)。
3.1.2 Variational Bound变分界
在这里,我们推导IB目标(公式(1))的变分界。每个 R(Z) 项的变分界是根据最近的研究 [2,4,37] 推导的,这些研究使用可处理的变分界和深度学习技术来估计互信息。我们使用变分分类器 q(y∣z) 获得 I(Z;Y) 的变分下界:
I
(
Z
;
Y
)
≥
E
p
(
x
,
y
)
p
(
z
∣
x
)
[
log
q
(
y
∣
z
)
]
+
H
(
Y
)
,
(
2
)
I(Z;Y) \geq E_{p(x,y)p(z|x)}[\log q(y|z)] + H(Y), \quad (2)
I(Z;Y)≥Ep(x,y)p(z∣x)[logq(y∣z)]+H(Y),(2)
其中,右侧的第一项对应对数似然,当底层数据生成分布固定时,右侧的第二项是常数,因此不影响优化。根据 [13,17],我们定义 r(z) 为变分边缘分布,r(z∣y) 为变分类别条件边缘分布。我们获得 I(Z;X) 和 I(Z;X∣Y) 的变分上界,如下 [13,17]:
I
(
Z
;
X
)
≤
E
p
(
x
)
p
(
z
∣
x
)
[
log
p
(
z
∣
x
)
r
(
z
)
]
,
(
3
)
I(Z;X) \leq E_{p(x)p(z|x)}[\log \frac{p(z|x)}{r(z)}], \quad (3)
I(Z;X)≤Ep(x)p(z∣x)[logr(z)p(z∣x)],(3)
I
(
Z
;
X
∣
Y
)
≤
E
p
(
x
)
p
(
z
∣
x
)
p
(
y
∣
x
)
[
log
p
(
z
∣
x
)
r
(
z
∣
y
)
]
.
(
4
)
I(Z;X|Y) \leq E_{p(x)p(z|x)p(y|x)}[\log \frac{p(z|x)}{r(z|y)}]. \quad (4)
I(Z;X∣Y)≤Ep(x)p(z∣x)p(y∣x)[logr(z∣y)p(z∣x)].(4)将公式(2)到(4)代入公式(1),我们得到:
R
(
Z
)
≥
E
p
(
x
,
y
)
p
(
z
∣
x
)
[
log
q
(
y
∣
z
)
]
−
λ
1
E
p
(
x
)
p
(
z
∣
x
)
[
log
p
(
z
∣
x
)
r
(
z
)
]
−
λ
2
E
p
(
x
)
p
(
z
∣
x
)
p
(
y
∣
x
)
[
log
p
(
z
∣
x
)
r
(
z
∣
y
)
]
.
(
5
)
\begin{align*} R(Z) &\geq E_{p(x,y)p(z|x)}[\log q(y|z)] - \lambda_1 E_{p(x)p(z|x)}[\log \frac{p(z|x)}{r(z)}] \\ &- \lambda_2 E_{p(x)p(z|x)p(y|x)}[\log \frac{p(z|x)}{r(z|y)}]. \quad (5) \end{align*}
R(Z)≥Ep(x,y)p(z∣x)[logq(y∣z)]−λ1Ep(x)p(z∣x)[logr(z)p(z∣x)]−λ2Ep(x)p(z∣x)p(y∣x)[logr(z∣y)p(z∣x)].(5)
3.1.3 Training Loss
设计了一个损失函数
我们从目标函数(公式(5))的下界定义了训练InfoGCN的损失函数。公式(5)的第一项可以通过结合编码器和分类器的预测网络的经验损失来近似:
L
C
L
S
=
−
E
p
(
x
,
y
)
p
(
z
∣
x
)
[
log
q
(
y
∣
z
)
]
≈
−
1
∣
D
∣
∑
x
i
,
y
i
∈
D
E
p
(
z
∣
x
i
)
[
log
q
(
y
i
∣
z
)
]
,
(
6
)
\begin{align*} \mathcal{L}_{\mathrm{CLS}} &= -E_{p(x,y)p(z|x)}[\log q(y|z)] \\ &\approx -\frac{1}{|\mathcal{D}|} \sum_{x_i,y_i \in \mathcal{D}} E_{p(z|x_i)}[\log q(y_i|z)], \quad (6) \end{align*}
LCLS=−Ep(x,y)p(z∣x)[logq(y∣z)]≈−∣D∣1xi,yi∈D∑Ep(z∣xi)[logq(yi∣z)],(6)其中
D
=
{
(
x
i
,
y
i
)
}
D=\{(x_i,y_i)\}
D={(xi,yi)}是给定的数据集。公式(5)的第二项可以进一步分解,如下 [16,34]。
E
p
(
x
)
p
(
z
∣
x
)
[
log
p
(
z
∣
x
)
r
(
z
)
]
=
I
(
Z
;
X
)
+
D
K
L
(
p
(
z
)
∣
∣
r
(
z
)
)
(
7
)
E_{p(x)p(z|x)}[\log \frac{p(z|x)}{r(z)}]=I(Z;X)+D_{\mathrm{KL}}(p(z)||r(z)) \quad (7)
Ep(x)p(z∣x)[logr(z)p(z∣x)]=I(Z;X)+DKL(p(z)∣∣r(z))(7)
我们进行了两项简化。第一项是去掉 I(Z;X),以优先确保 Z 包含相对于 X 的压缩信息 [19, 34]。第二项是用可处理的最大平均差异(Maximum-Mean Discrepancy,MMD [12,14,28])替换不可处理的KL散度项
D
K
L
(
p
(
z
)
∣
∣
r
(
z
)
)
D_{KL}(p(z)∣∣r(z))
DKL(p(z)∣∣r(z)),这在文献中已被证明是有效且有效的 [61]。我们将定义域和值域设置为欧几里得空间,并将特征映射设置为恒等映射。这给出了以下边缘MMD损失:
L
m
M
M
D
=
D
M
M
D
(
p
(
z
)
∣
∣
r
(
z
)
)
=
∣
∣
μ
p
(
z
)
−
μ
r
(
z
)
∣
∣
2
2
,
(
8
)
\begin{align*} \mathcal{L}_{\mathrm{mMMD}} &= D_{\mathrm{MMD}}(p(z)||r(z)) \\ &= ||\mu_{p(z)} - \mu_{r(z)}||_2^2, \quad (8) \end{align*}
LmMMD=DMMD(p(z)∣∣r(z))=∣∣μp(z)−μr(z)∣∣22,(8)其中
μ
p
(
z
)
=
1
∣
D
∣
∑
x
i
,
y
i
∈
D
E
p
(
z
∣
x
i
)
[
z
]
;
μ
r
(
z
)
\mu_{p(z)} = \frac{1}{|\mathcal{D}|} \sum_{x_i,y_i \in D} E_{p(z|x_i)}[z]; \mu_{r(z)}
μp(z)=∣D∣1∑xi,yi∈DEp(z∣xi)[z];μr(z)是变分边缘分布 r(z) 的均值。公式(5)中最后一项的界按照与公式(7)相同的程序进行分解,我们得到以下条件边缘MMD损失:
L
c
m
M
M
D
=
D
M
M
D
(
p
(
z
∣
y
)
∣
∣
r
(
z
∣
y
)
)
=
∑
∣
∣
μ
p
(
z
∣
y
)
−
μ
r
(
z
∣
y
)
∣
∣
2
2
,
(
9
)
\begin{align*} \mathcal{L}_{\mathrm{cmMMD}} &= D_{\mathrm{MMD}}(p(z|y)||r(z|y)) \\ &= \sum ||\mu_{p(z|y)} - \mu_{r(z|y)}||_2^2, \quad (9) \end{align*}
LcmMMD=DMMD(p(z∣y)∣∣r(z∣y))=∑∣∣μp(z∣y)−μr(z∣y)∣∣22,(9)其中
μ
p
(
z
∣
y
)
=
1
∣
D
y
∣
∑
x
i
,
y
i
∈
D
y
E
p
(
z
∣
x
i
)
[
z
]
\mu_{p(z|y)} = \frac{1}{|\mathcal{D}_y|} \sum_{x_i,y_i \in D_y} E_{p(z|x_i)}[z]
μp(z∣y)=∣Dy∣1∑xi,yi∈DyEp(z∣xi)[z]最后,我们得到了训练模型的总损失函数:
L
T
O
T
A
L
=
L
C
L
S
+
λ
1
L
m
M
M
D
+
λ
2
L
c
m
M
M
D
(
10
)
\mathcal{L}_{\mathrm{TOTAL}} = \mathcal{L}_{\mathrm{CLS}} + \lambda_1 \mathcal{L}_{\mathrm{mMMD}} + \lambda_2 \mathcal{L}_{\mathrm{cmMMD}} \quad (10)
LTOTAL=LCLS+λ1LmMMD+λ2LcmMMD(10)
3.2. Neural Architecture
我们介绍了一种利用自注意力机制 [51] 来建模关节的上下文依赖内在拓扑的神经网络架构。该架构包括一个编码器-分类器结构,如图 2 所示。
Encoder+Classifier:
(SA-GC)自注意力图卷积模块,更新上下文依赖的内在拓扑产生的关节表示 H t ( l ) H^{(l)}_t Ht(l),到 H t ( l + 1 ) H^{(l+1)}_t Ht(l+1)
多尺度时间卷积(MS-TC)模块,多个不同大小的卷积核并行提取时间轴特征
重参数化采样技巧Reparameterization Trick:通过引入辅助独立随机噪声 ϵ∼N(0,I),将潜在表示 Z 采样为 Z=μ+Σϵ,其中 μ 和 Σ 从编码器的输出中推断
3.2.1 学习内在拓扑的重要性
我们通过展示仅使用外在拓扑的图卷积(GC)在信息传递方面可能导致严重的低效和信息丢失来强调内在拓扑的重要性。假设由于身体结构的双边对称性,两个手关节之间存在内在关系。这两个叶节点必须通过物理连接的路径传递信息。当按照 GC 的机制传递信息时,网络的深度需要随着信息传递的最短路径长度成比例增加,这表明两个节点之间的信息交换存在严重的低效。
此外,还可能发生信息丢失。GC 在对邻节点特征进行平均后执行非线性变换。如果表示节点信息的特征向量不是线性独立的,则在平均后很难重建每个邻节点的信息。设
α
α
α 是由于向量组合导致的节点信息稀释的最小比例。如果两个节点之间的距离具有内在关系
l
l
l,则信息可以以最大比例
(
1
−
α
)
l
(1 − α)^l
(1−α)l 传递。当
α
>
0
α > 0
α>0 时,
l
l
l 越长,信息稀释越多。
一种直接的方法是通过增加邻接矩阵的幂来增加卷积核的大小,如 [19,26] 中所述,但这并不理想,因为它无法动态建模可能的内在拓扑。更好的解决方案是自适应地推断所需的关节关系以改变信息。因此,我们提出了一种利用自注意力机制来捕捉内在拓扑的架构。
3.2.2 架构概述
编码器由一个嵌入块和
L
=
9
L = 9
L=9 个编码块的堆叠组成,后面跟着一个全局平均池化层。嵌入块将骨骼序列转换为初始关节表示。然后,编码块从初始关节表示中提取时空特征。我们利用 VAE [20] 中的重参数化技巧。通过辅助独立随机噪声
ϵ
∼
N
(
0
,
I
)
ϵ ∼ N(0, I)
ϵ∼N(0,I),
z
z
z 被采样为
z
=
µ
+
Σ
ϵ
z = µ + Σϵ
z=µ+Σϵ,其中均值
µ
µ
µ 和多元高斯分布的对角协方差矩阵
Σ
Σ
Σ 从编码器的输出中推断。这一技巧通过在端到端的方式下使用基于梯度的优化估计无偏梯度,使模型可训练。
分类器由一个单线性层和 softmax 函数组成,将潜在向量
z
z
z 转换为类别分布的模型参数。
3.2.3 嵌入块
人体骨骼可以表示为一个图 G ( V , E ) G(V, E) G(V,E),其中关节作为 N N N 个顶点 V V V 的集合,骨骼作为边 E E E。边可以表示为邻接矩阵 A ∈ R N × N A ∈ ℝ^{N×N} A∈RN×N,其中 A i j = 1 Aᵢⱼ = 1 Aij=1 表示关节 i 和 j 物理连接,否则为 0。骨骼图序列表示为关节特征张量 X ∈ R T × N × C X ∈ ℝ^{T×N×C} X∈RT×N×C,其中 T T T 是骨骼的总帧数, C C C 是特征维度。嵌入块使用可学习的参数将关节特征线性转换为 D ( 0 ) D(0) D(0) 维向量,然后添加位置嵌入(PE)以注入关节的位置信息。我们采用可学习的 P E PE PE,它在时间上是共享的。 H t ( 0 ) = L i n e a r ( X t ) + P E ( 11 ) \mathbf{H}_t^{(0)} = \mathrm{Linear}(\mathbf{X}_t) + PE \quad (11) Ht(0)=Linear(Xt)+PE(11)其中 H ( 0 ) t H(0)^t H(0)t, P E ∈ R N × D ( 0 ) PE ∈ ℝ^{N×D}(0) PE∈RN×D(0);t 是时间索引。
3.2.4 编码块
我们编码块的核心由两个子模块组成:用于空间建模的基于自注意力的图卷积(SA-GC)模块和用于时间建模的多尺度时间卷积(MS-TC)模块。关节的输入和隐藏表示依次通过 SA-GC、MS-TC、残差连接和层归一化 [3] 进行编码(见图 2)。
空间建模:我们提出了一种新的 SA-GC 模块,用于推断上下文依赖的内在拓扑。在描述 SA-GC 之前,我们回顾一下普通的 GC [21],它由两个过程组成:1)对邻域顶点特征进行平均,2)对聚合特征进行线性变换。GC 的隐藏表示更新规则如下:
H t ( l + 1 ) = σ ( A ^ H t ( l ) W ( l ) ) \mathbf{H}_t^{(l + 1)} = \sigma(\hat{\mathbf{A}} \mathbf{H}_t^{(l)} \mathbf{W}^{(l)}) Ht(l+1)=σ(A^Ht(l)W(l))
其中归一化的邻接矩阵 A ^ = D − 1 2 ( A + I ) D − 1 2 \hat{\mathbf{A}} = \mathbf{D}^{-\frac{1}{2}} (\mathbf{A} + \mathbf{I}) \mathbf{D}^{-\frac{1}{2}} A^=D−21(A+I)D−21, D \mathbf{D} D 是 A + I \mathbf{A} + \mathbf{I} A+I 的对角度矩阵, W ( l ) ∈ R D ( l ) × D ( l + 1 ) W(l) ∈\mathbb{R}^{D^{(l)} \times D^{(l + 1)}} W(l)∈RD(l)×D(l+1)是第 I \mathbf{I} I 层的可学习参数, σ ( ⋅ ) σ(·) σ(⋅) 表示非线性激活函数,如 ReLU [1]。
A 是图的邻接矩阵,表示节点之间的连接关系。如果节点 i 和节点 j 之间有边,则 A i j = 1 A_{ij}=1 Aij=1,否则 A i j = 0 A_{ij}=0 Aij=0, D 是图的度矩阵,是一个对角矩阵,其中 D i i D_{ii} Dii表示节点 i 的度(即与节点 i 相连的边的数量)。
通过对A进行归一化得到 A ^ \hat{\mathbf{A}} A^使得每个节点的特征在传播过程中保持稳定,防止梯度消失或爆炸。
H t ( l ) \mathbf{H}_t^{(l)} Ht(l) 是第 l l l 层的节点特征矩阵,维度为 N × C N×C N×C,每一行表示一个节点的特征向量,经过图卷积也就是邻接矩阵与特征矩阵卷积 A ^ H t ( l ) W ( l ) \hat{\mathbf{A}} \mathbf{H}_t^{(l)} \mathbf{W}^{(l)} A^Ht(l)W(l)之后变为 H t ( l + 1 ) \mathbf{H}_t^{(l + 1)} Ht(l+1), 维度为 N × C ′ N×C' N×C′
SA-GC 利用关节特征的自注意力 [51] 来推断内在拓扑,并将该拓扑用作 GC 的邻域顶点信息。自注意力是一种将身体不同关节关联起来的注意力机制。考虑到所有可能的关节关系,SA-GC 推断出正的有界权重,称为自注意力图,以表示关系的强度。我们使用可学习的矩阵 WQ, W K ∈ R D × D ′ WK ∈ ℝ^{D×D'} WK∈RD×D′ 将关节表示 H t H^t Ht 线性投影到 D ′ D' D′ 维的查询和键,以获得自注意力图。
S A ( H t ) = s o f t m a x ( H t W K ( H t W Q ) T D ′ ) \mathrm{SA}(\mathbf{H}_t) = \mathrm{softmax}(\frac{\mathbf{H}_t \mathbf{W}_K (\mathbf{H}_t \mathbf{W}_Q)^T}{\sqrt{D'}}) SA(Ht)=softmax(D′HtWK(HtWQ)T)除了自注意力图外,我们还让 SA-GC 学习一个在时间和实例上共享的拓扑 A ^ \hat{\mathbf{A}} A^,如 [6,44] 中所述。共享拓扑和自注意力图具有 M 个多头,使模型能够从不同的表示子空间中联合关注。对于 1 ≤ m ≤ M 中的每个头,我们将共享拓扑 A ^ m ∈ R N × N \hat{\mathbf{A}}_m ∈ ℝ^{N×N} A^m∈RN×N 与自注意力图 S A m ( H t ) ∈ R T × N × N SA_m(H^t) ∈ ℝ{T×N×N} SAm(Ht)∈RT×N×N 结合,以获得内在拓扑。
A
~
m
⊙
S
A
m
(
H
t
)
∈
R
T
×
N
×
N
\tilde{\mathbf{A}}_m \odot \mathrm{SA}_m(\mathbf{H}_t) \in \mathbb{R}^{T \times N \times N}
A~m⊙SAm(Ht)∈RT×N×N
其中 ⊙ 表示广播的逐元素乘积。我们在本工作中采用 D′ = D/8 和 M = 3。SA-GC 使用 ˜A(l)ₘ ⊙ SAm(H(l)ᵗ) 作为 GC 的邻域信息。关节表示的总体更新规则如下:
H
t
(
l
+
1
)
=
σ
(
∑
m
=
1
M
(
A
~
m
(
l
)
⊙
S
A
m
(
H
t
(
l
)
)
)
H
t
(
l
)
W
m
(
l
)
)
\mathbf{H}_t^{(l + 1)} = \sigma(\sum_{m = 1}^{M} (\tilde{\mathbf{A}}_m^{(l)} \odot \mathrm{SA}_m(\mathbf{H}_t^{(l)})) \mathbf{H}_t^{(l)} \mathbf{W}_m^{(l)})
Ht(l+1)=σ(m=1∑M(A~m(l)⊙SAm(Ht(l)))Ht(l)Wm(l))
我们在 SA-GC 模块周围采用 1 × 1 卷积的残差连接 [15]。
S A m ( H t ( l ) ) ) \mathrm{SA}_m(\mathbf{H}_t^{(l)})) SAm(Ht(l)))是一个 N × N N×N N×N的矩阵,计算了每个节点对其他节点的注意力权重(每个关节点对于其他关节点的依赖程度),然后再和具有固定拓扑关系的先验结构 A ^ \hat{\mathbf{A}} A^相乘最终可以的到结合了注意力机制的拓扑结构
时间建模:为了建模人体骨骼的时间特征,我们采用 MS-TC 模块 [6, 33],如图 2 所示。该模块由三个具有不同组合的卷积核大小和扩张率的卷积分支组成。卷积分支的输出被拼接在一起。该模块周围采用 1×1 卷积的残差连接。
3.3. 多模态表示的集成
在这一部分中,我们介绍了一种广义的骨骼表示形式,例如骨和关节,我们称之为多模态表示。我们使用每种模态表示训练模型,并在推理时进行集成。该表示通过关节的相对位置提供互补特征。详见图 3。Shi 等人 [44] 引入了骨信息,其被定义为从物理连接的源关节指向目标关节的向量,如图 3 中 k=1 所示。先前的工作 [6, 33, 44] 表明,使用骨和关节信息训练的模型集成显著提高了动作识别性能,这表明这些不同的骨骼表示形式是互补的。我们提出多模态骨骼表示来定义额外的表示形式,基于骨信息是关节的线性变换这一事实。具体而言,我们在时间 t 上对关节-骨关系进行泛化,如下所示: X ~ t ( k ) = ( I − P k ) X t , \tilde{\boldsymbol{X}}_t^{(k)} = (\boldsymbol{I} - \boldsymbol{P}_k)\boldsymbol{X}_t, X~t(k)=(I−Pk)Xt,
其中 P ∈ R N × N P∈R{N×N} P∈RN×N是一个包含骨骼图中源-目标关系的二进制矩阵,如果第 i i i 个关节是第 j j j 个关节的源,则 P i j = 1 P_{ij}=1 Pij=1否则为 0。我们将 P P P 中对应于质心的行设置为零向量,因此它没有源关节。我们将 X ~ t ( k ) \tilde{\boldsymbol{X}}_t^{(k)} X~t(k)称为骨骼的第 k 模态表示。具有不同 k 值的表示为关节提供了不同的空间特征。我们定义 K = max v d ( v ) + 1 K = \max_{v} d(v)+1 K=maxvd(v)+1,对于 v∈V,其中 d(v) 表示顶点 v 和质心之间的最短跳数距离。然后,如果 k=1,第 k 模态表示 X ~ t ( k ) \tilde{\boldsymbol{X}}_t^{(k)} X~t(k)对应于 [44] 中定义的骨,如果 k = K k=K k=K,则对应于关节,因为 P K = 0 P^K=0 PK=0例如,在图 3 中 k=1 时,质心的关节被表示为一个蓝点,因此在这种情况下 K 等于 5。
3.4. 学习框架
本节描述了 InfoGCN 的整体训练方案。骨骼序列在调整为 64 帧后被批量处理,如 [6] 中所述。模型通过使用动量系数为 0.9 的 SGD 优化器最小化总损失(公式 (10))来进行更新。我们将 μ r ( z ) \mu_{r}(z) μr(z) 设置为 0,以便 L m M M D \mathcal{L}_{\mathrm{mMMD}} LmMMD作为 μ ^ p ( z ) \hat{\mu}_{p}(z) μ^p(z)范数的正则化项。我们将每个动作类别的 μ r ( z ∣ y ) \mu_{r}(z|y) μr(z∣y)设置为尺度为 3 的随机正交向量 [41]。在训练过程中,我们通过平均小批量的边缘和类条件边缘潜在向量来估计 μ ^ p ( z ) \hat{\mu}_{p}(z) μ^p(z)和 μ ^ p ( z ∣ y ) \hat{\mu}_{p}(z|y) μ^p(z∣y)。此外,我们采用值为 0.1 的标签平滑 [48]。在推理过程中,我们集成使用不同 k 模态表示训练的模型,如同 [6, 33, 44] 中的多流集成。
参考文献
提示:这里对文章进行总结:
[44]. Shi L, Zhang Y, Cheng J, et al. Two-stream adaptive graph convolutional networks for skeleton-based action recognition[C]//Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2019: 12026-12035.使用骨信息对人体骨架进行多模态表示