前言
笔者从人工智能小白的角度,力求能够从原文中解析出最高效率的知识。
之前看了很多博客去学习AI,但发现虽然有时候会感觉很省时间,但到了复现的时候就会傻眼,因为太多实现的细节没有提及。而且博客具有很强的主观性,因此我建议还是搭配原文来看。
请下载原文《An Attention Enhanced Graph Convolutional LSTM Network for Skeleton-Based Action Recognition》搭配阅读本文,会更高效哦!
总览
首先,看完标题《An Attention Enhanced Graph Convolutional LSTM Network for Skeleton-Based Action Recognition》,摘要和结论,我了解到了以下信息:
1.提出了一种新的注意力增强图卷积LSTM网络(AGC-LSTM),用于从骨架数据中识别人体动作。
2.提出的AGC-LSTM不仅可以捕获空间配置和时间动态中的区别特征,而且可以探索空间和时间域之间的同现关系(co-occurrence relationship)。
- 时间角度:提出了一种时间层次结构,以增加顶部AGC-LSTM层的时间接受域,这提高了学习高级语义表示的能力,并显著降低了计算成本。
- 空间角度:为了选择有区别的空间信息,采用注意机制来增强每个AGC-LSTM层中关键关节的信息。
一、Introduction
背景
1.3D骨架vsRGB:3D骨架数据用一组关键关节的3D坐标位置表示身体结构,由于骨架序列不包含颜色信息,因此不受RGB视频限制的影响。此外,Johansson等人给出了一个经验和理论基础,即关键关节可以提供关于人体运动的高效信息。
2.现有识别骨架序列的时空特征模型:
- 基于LSTM的时空注意模型。
- 卷积神经网络(CNN)
- 图卷积网络(GCN)进行动作识别。
- 利用图神经网络(GCN)和LSTM分别表示空间信息和时间信息。
3.人体骨骼序列有三个显著的特征:
- 节点间相关性:每个节点与其相邻节点之间具有很强的相关性,使得骨骼帧包含了丰富的身体结构信息。
- 时间连续性:不仅存在于相同的关节(如手、腕、肘),而且存在于身体结构中。
- 空间域和时间域的共现关系
网络架构及重点
本文提出了一种新颖而通用的基于骨架的动作识别框架–注意力增强图卷积LSTM网络(AGC-LSTM),它通过同步学习上述时空特征来改进骨架表示。
如上图,本文提出了注意力增强图卷积LSTM网络(AGC-LSTM)的体系结构。
- 特征增强(FA)计算与位置特征的特征差,并将位置特征和特征差连接在一起。
- LSTM用于消除特征差异和位置特征之间的尺度差异。
- 三个AGC-LSTM层可以模拟可区分的时空特征。
- 时间平均池化是在时间域中实现平均池化。
- 利用最后一层AGC-LSTM中所有关节的全局特征和聚焦关节的局部特征来预测人类动作的类别。
1.首先,将每个关节的坐标
→
t
r
a
n
s
f
o
r
m
i
n
t
o
\xrightarrow{transform\ into}
transform into具有线性层的空间特征。
2.然后,将空间特征和两个连续帧之间的特征差值拼接在一起,构成一个增强特征。为了消除两个特征之间的尺度差异,采用共享的LSTM对每个联合序列进行处理。
3.接下来,应用三个AGC-LSTM层来模拟时空特征。如上图所示,由于AGC-LSTM中的图形卷积算子,它不仅可以有效地捕捉空间构型和时间动力学中的区分性特征,而且可以探索空间域和时间域之间的共生关系。具体来说,AGC-LSTM在每个时间步采用注意力机制来增强关键节点的特征,从而促进AGC-LSTM学习更具区分性的特征。比如,“肘”、“腕”和“手”的特征对于动作“握手”来说是非常重要的,在行为识别的过程中应该加强。
4.受CNN空间池化的启发,提出了一种基于时间平均池化的时态层次结构,增加了AGC-LSTM顶层的时态感受域,增强了学习高层时空语义特征的能力,显著降低了计算代价。
5.最后,利用AGC-LSTM最后一层的所有关节的全局特征和聚焦关节的局部特征来预测人类动作的类别。
主要贡献
1.提出了基于骨架的AGC-LSTM网络,这是图卷积LSTM在这方面的首次尝试。
2.AGC-LSTM能够有效地捕获可区分的时空特征。更具体地说,采用了**注意力机制来增强关键节点的特征,从而帮助改进时空表达。
3.提出了时态层次结构,提高了高层时空语义特征的学习能力,并显著降低了计算代价。
二、Related Work
Neural networks with graph(图结构的神经网络)
为了捕捉图序列的时空特征,文献[20]首次提出了一种图卷积LSTM,它是GCNS的具有递归结构的扩展。受[20]的启发,作者开发了一种新的AGC-LSTM网络来从骨架序列中学习固有的时空表示。
Skeleton-based action recognition(骨架动作识别)
文[39]提出了一种用于动作识别的时空图卷积网络(ST-GCN)。每个时空图卷积层使用一个图形卷积算子来构造空间特征,并使用一个卷积算子来建模时间动态。此外,还提出了一种基于零件的图卷积网络(PB-GCN)来学习文献[26]中零件之间的关系。与ST-GCN和PB-GCN相比,Si等人[22]应用图神经网络获取空间结构信息,然后使用LSTM对时间动力学进行建模。尽管在[22]中有了显著的性能改进,但它忽略了空间和时间特征之间的共现关系。本文提出了一种新的注意力增强图卷积LSTM网络,该网络不仅能够有效地提取可区分的空间和时间特征,而且可以探索空间和时间域之间的共生关系。
三、Model Architecture
3.1 Graph Convolutional Neural Network(图卷积神经网络)
其可以将节点
v
t
i
v_{ti}
vti 的邻居集合
N
(
v
t
i
)
\mathcal{N}(v_{ti})
N(vti) 划分成固定数量的
K
K
K 个子集。
上图是图卷积计算公式,其中
X
(
v
t
j
)
X(v_{tj})
X(vtj)是节点
v
t
j
v_{tj}
vtj 的特征。
W
(
)
W(\ )
W( ) 是从
K
K
K 个权重中分配由标签
ℓ
(
v
t
j
)
ℓ(v_{tj})
ℓ(vtj) 索引的权重的权重函数。
Z
t
i
(
v
t
j
Z_{ti}(v_{tj}
Zti(vtj)是对特征表示进行归一化的相应子集的编号。
Y
o
u
t
(
v
t
i
)
Y_{out}(v_{ti})
Yout(vti) 表示节点
v
t
i
v_{ti}
vti 处的图形卷积的输出。
更具体地说,利用邻接矩阵,上述式子可以表示为:
其中
A
k
A_k
Ak 是标号
k
∈
{
1
,
2
,
…
,
K
}
k∈\{1,2,…,K\}
k∈{1,2,…,K} 的空间构型中的邻接矩阵。
Λ
k
i
i
=
∑
j
A
k
i
j
Λ^{ii}_k=∑_j A^{ij}_k
Λkii=∑jAkij是度矩阵。
3.2 Attention Enhanced Graph Convolutional LSTM(注意增强图卷积LSTM)
1.LSTM优点:LSTM作为RNN的变体,在建模长期时间依赖性方面具有惊人的能力。各种基于LSTM的模型被用来学习骨骼序列的时间动力学。
2.LSTM局限性:然而,由于LSTM中的全连接算子,基于骨骼的动作识别存在忽略空间相关性的局限性。
3.AGC-LSTM提升的点:与LSTM相比,AGC-LSTM不仅能捕获空间构型和时间动态方面的判别特征,还能探索空间和时间域的共现关系。
1.和LSTM一样,AGC-LSTM也包含三个门:输入门、遗忘门、输出门。然而,这些门是通过图卷积算子得到的。
AGC-LSTM的输入
X
t
X_t
Xt、隐藏状态
H
t
H_t
Ht和Cell内存
C
t
C_t
Ct是图结构数据。
2.上图为AGC-LSTM结构。
由于AGC-LSTM中的图卷积算子,使得Cell记忆
C
t
C_t
Ct和隐态
H
t
H_t
Ht能够表现出时间的动态,同时包含空间结构信息。与LSTM相比,AGC-LSTM的内部算子是图卷积运算。为了突出更具鉴别性的信息,采用了注意机制,增强了关键节点的特征。
AGC-LSTM单元的功能定义如下:
其中,
- G \mathcal{G} G表示图卷积算子,⊙表示阿达玛乘积。
- σ(·)为sigmoid激活函数。
- u t u_t ut 是调制输入。
- H t H_t Ht 是中间隐藏状态。
- W x i ∗ G X t W_{xi} * \mathcal{G} X_t Wxi∗GXt表示 X t Xt Xt 与 W x i W_{xi} Wxi 的图卷积,可写成等式1。
-
f
a
t
t
(
)
fatt(\ )
fatt( )是一个注意网络,可以选择关键节点的判别信息。
f a t t ( H ^ t ) fatt (\hat{H}_t) fatt(H^t)和 H ^ t \hat{H}_t H^t作为输出,目的是增强关键节点的信息,而不削弱非聚焦节点的信息,保持空间信息的完整性。
空间注意网络示意图,如上。
因此,首先将所有节点的信息聚合为查询功能:
其中W为可学习参数矩阵。
那么所有节点的注意得分可计算为:
其中,
- α t = ( α t 1 , α t 2 , … , α t N ) αt = (α_{t1}, α_{t2},… , α_{tN}) αt=(αt1,αt2,…,αtN),
- U s , W h , W q U_s, W_h, W_q Us,Wh,Wq是可学习的参数矩阵。
- b s b_s bs 和 b u b_u bu 是偏差。
由于存在多个关键节点的可能性,作者使用了Sigmoid的非线性函数。
节点
v
t
i
v_{ti}
vti的隐态
H
t
i
H_{ti}
Hti也可表示为
(
1
+
α
t
i
)
⋅
H
t
i
(1 + α_{ti})·H_{ti}
(1+αti)⋅Hti 。
注意增强的隐藏状态 H t H_t Ht将被馈送到下一个AGC-LSTM层。
注意,在最后的AGC-LSTM层,所有节点特征的聚合将作为全局特征 F t g F^g_t Ftg ,聚焦节点的加权和将作为局部特征 F t l : F^l_t: Ftl: :
利用全局特征
F
t
g
F^g_t
Ftg 和局部特征
F
t
l
:
F^l_t:
Ftl: 预测人类行为的类别。
3.3 AGC-LSTM Network(AGC-LSTM网络)
AGC-LSTM模型的整体pipeline如上图所示。
下面,将详细讨论拟议框架背后的基本原理。
Joints Feature Representation(关节功能表征)
对于骨架序列,首先使用线性层和LSTM层将每个关节的三维坐标映射到高维特征空间。
1.位置特征
P
t
i
P_{ti}
Pti:第一线性层将关节的坐标编码为256维的向量作为位置特征
P
t
∈
R
N
×
256
P_t∈\mathbb{R}^{N×256}
Pt∈RN×256 ,
P
t
i
∈
R
1
×
256
P_{ti}∈\mathbb{R}^{1×256}
Pti∈R1×256 表示关节
i
i
i 的位置。由于位置特征
P
t
i
P_{ti}
Pti只包含位置信息,因此有利于学习图模型中的空间结构特征。
2.帧差特征
V
t
i
V_{ti}
Vti :两帧连续帧间的帧差特征
V
t
i
V_{ti}
Vti 有利于AGC-LSTM的动态信息获取。
为了兼顾这两方面的优点,将这两种特征的拼接作为增强特征,丰富特征信息。
3. LSTM消除尺度方差:而位置特征
P
t
i
P_{ti}
Pti 与帧差特征
V
t
i
V_{ti}
Vti 的拼接存在特征向量的尺度方差。因此,我们采用一个LSTM层来消除两个特征之间的尺度差异:
其中
E
t
i
E_{ti}
Eti是关节
i
i
i 在
t
t
t 时刻的增强特征。注意线性层和LSTM在不同的关节之间共享。
Temporal Hierarchical Architecture(时间分层体系结构)
在LSTM层后,序列
{
E
1
,
E
2
,
…
,
E
t
}
\{E_1, E_2,… , E_t\}
{E1,E2,…,Et} 作为节点特征传入以下GC-LSTM层,其中
E
t
∈
R
N
×
d
e
E_t∈\mathbb{R}^{N×d_e}
Et∈RN×de。
1.该模型堆叠了三个AGC-LSTM层,以了解空间构型和时间动态。
2.受CNNs的空间池化的启发,作者提出了AGC-LSTM的时间层次结构,在时间域内平均池化,以增加AGC-LSTM顶层的时间感受野。
3.通过时间层次结构,AGCLSTM顶层的每个时间输入的时间接受域变成了一个帧的短期剪辑,对时间动态的感知更加敏感。
4.此外,在提高性能的前提下,可以显著降低计算成本。
Learning AGC-LSTM(学习AGC-LSTM)
最后,将每个时间步的全局特征
F
t
g
F^g_t
Ftg 和局部特征
F
t
l
F^l_t
Ftl 转化为
C
C
C 类的分数
o
t
g
o^g_t
otg 和
o
t
l
o^l_t
otl ,其中
o
t
=
(
o
t
1
,
o
t
2
,
…
,
o
t
C
o_t = (o_{t1}, o_{t2},…,o_{tC}
ot=(ot1,ot2,…,otC。
则得到第
i
i
i类的预测概率为:
在训练过程中,考虑到顶部AGC-LSTM上每个时间步的隐藏状态包含一个短期动态,因此以以下损失监督此模型:
其中
- y = ( y 1 , … , y C ) y = (y_1,…, y_C) y=(y1,…,yC) 是groundtruth标签。
- T j Tj Tj 为AGC-LSTM第 j j j 层的时间步长数。
- 第三项旨在同等重视不同的关节。
- 最后一项是限制感兴趣的节点的数量。
- λ 和 β 为权重衰减系数。
请注意,只有 在最后一个时间步长的和概率 y ^ T 3 g \hat{y}^g_{T3} y^T3g 和 y ^ T 3 l \hat{y}^l_{T3} y^T3l被用来预测人类行为的类别。
文章还探讨了所提模型在part层次上的性能。根据人体的物理结构,身体可以被分为七个部分。与基于关节的AGC-LSTM网络类似,首先用线性层和共享LSTM层捕获part特征。然后将part特征作为节点表示输入到AGC-LSTM三个层中,对时空特征进行建模。结果表明,此模型也可以在part层面上获得更好的性能。
此外,基于关节和part的混合模型(如上图所示)可以进一步提高性能。