DDGCN: A Dynamic Directed Graph Convolutional Network for Action Recognition
Introduction
作者认为解决如下两个问题能有效增强GCN在动作识别中的能力:
1.在人类骨骼的不同部位中有着时空关联性,但这些关联性是动态的,而且在时空域中不同的动作关联性也是不同的。因此提取这些关联性很困难,标椎卷积操作普遍采纳的传统GCN是静态的,而且仅仅描述了邻居节点的空间联系,因而不能准确的获得这样的动态时空联系。
2.骨骼的空间层次结构和运动的时间序列特性都编码了顺序信息,这在动作识别中是重要的。但是大多数现存的ST图(spatial-temporal graph)模型描述动作使用的是无向图,它不能获得这样的阶信息。
为了解决上述的问题,作者提出了端到端的Dynamic Directed Graph
Convolutional Network (DDGCN),作者还提出了三个新的模型,它能自适应的学习时空联系和建模时间与空间的阶信息。
Dynamic Convolutional Sampling (DCS).在时间与空间的相连关节之间的关系称之为ST correlations,而且每一个节点 v v v描述这种关系使用特征向量 f S T ( v ) f_{ST}(v) fST(v),在点 v v v和它的邻居点集 B ( v ) B(v) B(v),我们计算 f S T ( v ) f_{ST}(v) fST(v)使用一个共享核权值 W W W的卷积。 B ( v ) B(v) B(v)包括了 v v v的时空相连节点。在不同的动作中 B ( v ) B(v) B(v)是不同的,作者提出动态的建模ST correlations,并且计算每一个节点的邻居节点集。因此在不同的动作作者设计DCS模型自适应的使用ST correlations来定义B。
Dynamic Convolutional Weights (DCW).为了在点 v v v的邻居 B ( v ) B(v) B(v)内执行元素阶卷积,我们需要对 v v v的邻居节点分配学习权重 W W W。然而邻居结点的空间顺序是模糊的。为了让GCN保持序列不变性,我们开发了DCW模型以自适应和动态的过程来计算权重W的顺序。
Directed Spatial-Temporal Graph (DSTG) Features.特征提取模型
Dynamic Convolutional Sampling (DCS)
DCS运行在静态图
G
0
G_0
G0,我们首先初始化
v
v
v的邻居j节点列表
B
(
v
)
B(v)
B(v),然后DCS算法更新
B
(
v
)
B(v)
B(v)来包含非邻接节点。DCS计算每一个节点
v
i
v_i
vi特征值分两步:
1.首先观察所有的相连节点对
(
v
i
,
v
j
)
,
v
i
,
v
j
∈
G
0
(v_i,v_j),v_i,v_j\isin{G_0}
(vi,vj),vi,vj∈G0,然后我们把这些非邻接节点统一纳入每个
v
i
v_i
vi的邻居集
B
(
v
i
)
B(v_i)
B(vi)中,然后把
v
i
v_i
vi与新纳入的非邻接节点
v
j
v_j
vj连接成一个新的边。上述都是由动态采样程序执行并使用下标变化来更新他们顺序。我们使用函数
p
i
p_i
pi来表示对
v
i
v_i
vi的采样,
Δ
p
i
\varDelta{p_i}
Δpi表示一个下标变换。因此
p
i
(
B
(
v
i
)
)
+
Δ
p
i
(
B
(
v
i
)
)
p_i(B(v_i))+\varDelta{p_i(B(v_i))}
pi(B(vi))+Δpi(B(vi))排序了所以节点
v
j
v_j
vj和输出了下标的序列。然后迭代更新
v
i
v_i
vi邻居节点的序列来发现一个更好的排序。
2.在
v
i
v_i
vi与它的邻居
v
j
v_j
vj连接的边,定义它们之间的相关特征为
f
(
v
i
,
p
i
(
B
(
v
i
)
)
+
Δ
p
i
(
B
(
v
i
)
)
)
f(v_i,p_i(B(v_i))+\varDelta{p_i(B(v_i))})
f(vi,pi(B(vi))+Δpi(B(vi))),其中
v
j
=
p
i
(
B
(
v
i
)
)
+
Δ
p
i
(
B
(
v
i
)
)
v_j=p_i(B(v_i))+\varDelta{p_i(B(v_i))}
vj=pi(B(vi))+Δpi(B(vi)).
Dynamic Convolutional Weights
在图中,每个节点的邻接节点通常是无序的,邻居的数量可能是不同的,为了保持顺序不变性,作者提出了DCW权值分配模型。
节点
v
v
v和它的邻居节点
B
(
v
)
B(v)
B(v),DCW分配重排序核权值
W
W
W,我们将这个赋值计算为
r
×
2
r×2
r×2矩阵
P
v
=
D
T
W
p
a
t
h
(
W
,
B
(
v
)
)
P_v=DTW_{path}(W,B(v))
Pv=DTWpath(W,B(v)),它使两个向量
B
(
v
)
B(v)
B(v)和重序
W
W
W之间的距离最小化,
P
v
P_v
Pv的第一列定义了W中元素的以排序下标,第二列表示
B
(
v
)
B(v)
B(v)中备选择的元素和它的顺序。我们使用Dynamic Time Warping(DTW)算法计算
p
v
p_v
pv。
DCW分配本质是获得
B
(
v
)
B(v)
B(v)不同大小,当核大小
r
r
r被固定时,
B
(
v
)
B(v)
B(v)的大小表示了
K
K
K可能的改变。注意
K
K
K是
v
v
v的价加上它不相邻的相关顶点集的大小。如果
K
K
K大于
r
r
r,则将考虑前
r
r
r个有效节点(使用DTW算法),而忽略其他节点。这允许我们在无需调整共享内核层的情况下完全连接这个超内核层。
Directed Spatial-Temporal Graph
DSTG特征提取模型增强了从DCS和DCW模型获取的初始特征
f
S
T
f_{ST}
fST,与现有的方法使用三维关节/骨骼坐标合并空间和时间顺序信息不同,DSTG使用从关节
v
i
v_i
vi的特征向量指向其相关关节
v
j
v_j
vj的特征向量的高维特征向量。为每一个点
v
i
v_i
vi我门分配了一个特征向量
F
i
=
{
f
i
J
,
f
i
B
,
f
i
T
}
F_i=\{f_i^J,f_i^B,f_i^T\}
Fi={fiJ,fiB,fiT},它是关节特征
f
i
J
f_i^J
fiJ,骨骼特征
f
i
B
f_i^B
fiB,时间特征
f
i
T
f_i^T
fiT三个特征向量的串联。
Network Architecture