Introduction
过去方法的最大问题:
1.based on fixed skeleton among joints.
2.only capture local physical dependencise among joints
本篇文章的几个突出点:
1.introduce an encoder-decoder structure to capture action-specific latene dependencies named actional links
利用actional links 去捕捉任何结点之间的潜在关系
2.extend the existing skeleton graphs to represent higherorder dependencies named structural links
利用 structural links 去捕捉一些 high order features
3.combing above to form a basic building block
paper follow 了ST-GCN的工作,解决了以下ST-GCN的缺点:
- extracts the features of joints directly connected via bones but ignore the distant joints which may cove key patterns
- hierarchical GCNs to aggregate wider-range features but node features may be weaken during long diffusion (朴素GCN对于长距离的结点的信息的聚合效果很差)
2. Actional-Strcutural GCN
2.1.Defined generalized graph
Actional-structural graph is defined as G g ( V , E g ) G_g(V,E_g) Gg(V,Eg),where V V V is the original set of joints and E g E_g Egis the set of generalized links 。(V是谷歌的骨骼结点组成的集合,而 E g E_g Eg分为两类:1.S-links,2.A-links。其实就是有两个显示权重的邻接矩阵)
2.2 Actional Links (A-links)
思路想法:在人做一个动作的时候,我们的动作并不一定仅仅是一些邻近结点的合作,很可能是一些在物理结构上没有联系的关节结点的互动。比如拍手,我们的两只手的关节结点在物理上并没有邻接,但是针对拍手这个动作而言,两只手的关联性是非常高的。而为了捕捉到这样的Non-local的联系,我们就引入了Actional links,去通过数据自动去发现一些潜在的有联系的节点。
训练A-links的模块称为:A trainable A-link inference module (AIM),其中主要包括两个部分:encoder 和decoder。
Encoder
作用:用于学习评估任意节点与其他结点之间的联系重要性程度。作为A-Links 的状态矩阵 A ∈ R n ∗ n ∗ C A\in R^{n*n*C} A∈Rn∗n∗C,公式简写为:
A = e n c o d e ( X ) ∈ [ 0 , 1 ] n ∗ n ∗ C A=encode(X)\in[0,1]^{n*n*C} A=encode(X)∈[0,1]n∗n∗C
其中C表示A-links的类型数。Each element A i , j , c A_{i,j,c} Ai,j,c denotes the probability that the i , j i,j i,j-th joints are connected with the c-th type.
encoder步骤:
1.求出任意节点之间的联系特征(link features)。
2.将结点之间的这种联系特征转化为两者连接关联性的可能(link probabilities)
Details:
1.求link features:
对于 x i = v e c ( X i , : , : ) ∈ R d T x_i=vec(X_{i,:,:})\in R^{dT} xi=vec(Xi,:,:)∈RdT 是 i i i个节点所有T帧的结点特征,我们将节点初始特征作为该encoder的初始输入,即 P i ( 0 ) = x i P_i^{(0)}=x_i Pi(0)=xi。为了获得更高阶的link features,我们试图迭代 k k k次,则在迭代 k k k次后我们的传播过程如下: