论文超详细精读|八千字:AS-GCN


在这里插入图片描述

前言

笔者从人工智能小白的角度,力求能够从原文中解析出最高效率的知识。
之前看了很多博客去学习AI,但发现虽然有时候会感觉很省时间,但到了复现的时候就会傻眼,因为太多实现的细节没有提及。而且博客具有很强的主观性,因此我建议还是搭配原文来看。

请下载原文《Actional-Structural Graph Convolutional Networks for Skeleton-based Action Recognition》搭配阅读本文,会更高效哦!

若要更好地理解此篇文章,请参考其改进的前身:
【读前请读】:《论文超详细精读|六千字:ST-GCN
以及,同样以ST-GCN为基础改进的:
【读后再读】:《论文超详细精读|万字:2s-AGCN

总览

首先,看完标题,摘要和结论,我了解到了以下信息:

  1. 引入了一个encoder-decoder(编码器-解码器)结构,称为A -link 推理模块(AIM),以捕获特定于动作的潜在依赖关系,即直接从动作中捕获活动链接,这样可以捕获更丰富的依赖关系。
  2. 扩展了现有的骨架图,以表示高阶依赖关系,即S-link 结构链接
  3. 将这两种类型的link组合成一个广义的骨架图,进一步提出了动作结构图卷积网络(AS - GCN),将动作结构图卷积和时间卷积作为基本构建块,学习动作识别的空间和时间特征。
  4. 在识别头的平行位置增加了一个未来姿态预测头,以帮助通过自我监督捕获更详细的动作模式。

一、Introduction

背景

  1. 最早的骨骼动作识别方法通常是将每一帧中所有的身体关节位置编码为特征向量进行模式学习
  2. 骨骼数据通常通过深度传感器定位关节的2D或3D空间坐标,或使用基于视频的位姿估计算法获得。这些模型很少探究身体关节间的内部依赖关系,从而遗漏了大量的身体关节间的信息。
  3. 为了获取关节相关性,目前的方法是构造顶点为关节、边为骨骼的骨架图,并利用图卷积网络(GCN)提取相关特征。

ST-GCN缺点
较远关节关系被忽略。ST-GCN虽然提取了通过骨骼直接连接的关节的特征,但结构上的距离较远的关节可能包含关键的动作模式,在很大程度上被忽略了。例如,在走路时,手和脚是紧密相关的。虽然ST-GCN试图用分级GCN聚合范围更广的特征,但节点特征在长时间扩散过程中可能会减弱。

AS-GCN

在这里插入图片描述

上图展示了AS-GCN模型的特点,其中它学习了A-link行为链接并扩展了行为识别的S-link结构链接。
优点如下:

  1. 更多的全局关节信息:特征响应表明,与仅使用骨架图建模局部关系的ST-GCN相比,该方法可以捕获更多的全局关节信息。
  2. 预测未来帧:AS-GCN精确地预测未来帧,显示捕获了足够详细的信息。

主要贡献

  1. 如上图。提出了A-link链接推理模块(AIM)来推断行为链接,捕捉动作特定的潜在依赖。将A-link 活动链接与S-link 结构链接组合为广义骨架图。
    在这里插入图片描述

  2. 如上图。提出了A动作-S结构图卷积网络(AS-GCN)来提取基于多图的有用的时空信息

  3. 引入一个额外的未来姿态预测Head来预测未来姿态,通过捕捉更详细的动作模式来提高识别性能;

  4. 在两个大规模数据集上,AS-GCN优于几种最先进的方法。作为一个副产品,ASGCN还能够精确预测未来的姿态。

二、Related Works

骨架动作识别中许多算法都是基于两种方法开发的:基于人工的和基于深度学习的。

  • 基于人工:设计了基于物理直觉的动作模式捕获算法,如局部占用特征、时间关节协方差和李群曲线。
  • 基于深度学习:从数据中自动学习动作特征。

三、Background

3.1 Notations (符号注记)

  • 骨架图: G ( V , E ) \mathcal{G}(V, E) G(V,E),其中 V V V n n n 个身体关节的集合, E E E m m m 个骨头的集合。
  • 邻接矩阵: A ∈ { 0 , 1 } n × n A\in \lbrace0,1\rbrace^{n\times n} A{0,1}n×n。如果第 i i i和第 j j j个关节连接,则 A i j = 1 A_{ij}=1 Aij=1,否则为0。A充分描述了骨架结构。
  • 对角度矩阵: D ∈ R n × n D\in\mathbb{R}^{n\times n} DRn×n。其中, D i , i = ∑ j A i , j D_{i,i} = ∑_j A_{i,j} Di,i=jAi,j

为了获取更精细的位置信息,文章将一个根节点及其邻居分成三个集合:
(1)根节点: A r o o t A^{root} Aroot
(2)向心群节点: A c e n t r i p e t a l A^{centripetal} Acentripetal,它们比根更接近身体重心。
(3)离心群节点: A c e n t r i f u g a l A^{centrifugal} Acentrifugal,它们远离重心。

  • 分区组集合: P = { r o o t , c e n t r i p e t a l , c e n t r i f u g a l } \mathcal{P} = \{root, centripetal, centrifugal\} P={root,centripetal,centrifugal},记 ∑ p ∈ P A ( p ) = A ∑_{p∈P} A^{(p)} = A pPA(p)=A
  • T帧内3D关节位置: X ∈ R n × 3 × T \mathcal{X}\in\mathbb{R}^{n\times 3 \times T} XRn×3×T
  • 第t帧的3D关节位置: X t = X i , : , t ∈ R n × 3 \mathcal{X}_t=\mathcal{X}_{i,:,t}\in\mathbb{R}^{n\times 3} Xt=Xi,:,tRn×3,它在 X \mathcal{X} X 的最后一个维度中对第 t t t 帧进行了切片。
  • i i i 个关节在第 t t t 帧坐标系的位置: x t = X i , : , t ∈ R d x_t=\mathcal{X}_{i,:,t}\in\mathbb{R}^{d} xt=Xi,:,tRd

3.2 Spatio-Temporal GCN(时空图神经网络)

建议阅读《论文超详细精读|六千字:ST-GCN

  1. 网络结构:ST-GCN包含许多个block,每个block包含一个空间图卷积和一个时间卷积,交替提取空间和时间特征。最后一个block连接到一个全连接的分类器以生成最终的预测。
  2. 空间图卷积运算:是ST-GCN的关键部分,它为每个关节引入了相邻特征的加权平均

四、Actional-Structural GCN

广义图:A动作-S结构图,定义为 G g ( V , E g ) G_g(V, E_g) Gg(V,Eg),其中 V V V 为原始关节集, E g E_g Eg为广义链接。
在这里插入图片描述
在Eg中有两种类型的链接:结构链接(S-link),显式地派生自主体结构,和动作链接(A-link),直接从骨架数据推断。

4.1 Actional Links (A-links)

背景:人类的许多动作都需要相隔很远的关节才能协同移动,这导致了关节之间的非物理依赖性。为了捕捉各种动作的对应依赖关系,论文引入了动作链接(A-links),它由动作激活,可能存在于任意一对关节之间。
在这里插入图片描述

为了从动作中自动推断出A-link,论文开发了一个可训练的A-link推理模块(AIM),该模块由一个编码器(Encoder )和一个解码器(Decoder)组成:

  • Encoder:会根据输入信息在训练过程学习任意2 个节点之间的连结,并生成与行为直接相关的A-link。
  • Decoder:以Encoder 生成的特征( A-link ) 推论下个时间点的节点位置。

Encoder:

在这里插入图片描述
C C C 指的是A-link 的种类数量,每个 A \mathcal{A} A 表示的是在特定节点与 c − t h c-th cth 种类的连结性。这边的encode(·) 会先对3D 的关节点信息抽出特征后,再转换为连结的概率。

为了要抽取连结的特征,该论文刻意使节点于连结之间交替地传递信息,若将 T T T 个帧 的第 i − t h i-th ith 的节点表示为Vector:
在这里插入图片描述

则节点特征p 可表示为:
在这里插入图片描述
而在第k 次的迭代中,连结与节点的资讯传递则可表述为:
在这里插入图片描述
f v ( ⋅ ) f_v(·) fv() f e ( ⋅ ) f_e(·) fe() 都是多层感知器,而 ⊕ ⊕ 是向量拼接, F ( ⋅ ) \mathcal{F}(·) F() 则是聚合链接特征并获得联合特征的操作,比如平均和元素最大化。

在传播K次之后,编码器输出链接概率为:
在这里插入图片描述

r r r 是一个随机变量,它的元素是从Gumbel(0,1)分布中采样的 i.i.d。 τ \tau τ 则控制 A i , j 的离散化 A_{i,j}的离散化 Ai,j的离散化,最终透过Gumbel softmax得到一个近似类别机率的结果$A_{i,j}。

Decoder:

在这里插入图片描述
基本的想法是将A-link 的特征转换为下个时间点( t + 1 t+1 t+1 ) 的关节点位置,若将第 i i i 个节点在第 t t t 个Frame 的特征定义为:
在这里插入图片描述
那上个式子的decode(·) 则可以表述为:
在这里插入图片描述
此时 f v ( ⋅ ) f_v (·) fv() f e ( ⋅ ) f_e (·) fe() f o u t ( ⋅ ) f_out (·) fout() 都是多层感知器

  • (a) 步骤是基于A-link 生成特征
  • (b) 则是聚合前一步骤的特征于对应的节点特征上
  • (c) 步骤透过GRU ( Gated recurrent unit ) 更新节点特征
  • (d) 步骤便是预测下个时间点的节点座标,最终会透过一个高斯分布取得结果。

那么AIM 的Cost function 定义如下:

在这里插入图片描述
在实际操作上,该论文有先对AIM 做pretrain ,因此在公式最右边的分母有个A 上标(0) 的prior。

在实验过程中有发现,A 的机率分布越稀疏,整体的表现就越好,作者们推测原因是,过多的连结可能捕捉到一些无用的资讯,进而造成模型混淆。

然而在Encoder 的定义中,有透过softmax 确保这边的数值加总为1,而当每个C 都是一个很小的数值时,其实比较难促进稀疏的状态产生。

为了要能控制稀疏程度,该论文在两节点并没有连结的状态中,以较大的机率加入了一个Ghost link,但同时确保所有机率加总为1 。

再来为了捕捉节点之间的关联性,该论文有在A-link 上做Actional Graph Convolution ( AGC ) ,公式定义如下:

在这里插入图片描述
下方展开的式子中, X i n X_in Xin 左边的 A a c t A_act Aact 是graph convolution kernel,右边的 W a c t W_act Wact 则是可被训练的权重,用于捕捉这个特征的重要性。
另外,对AIM 做预训练比较像是个暖身的动作,在整体模型训练时,A-links 只会透过Encoder的Forward-passing 进行更新。

4.2 Structural Links (S-links)

该论文在 S-links 上,为了比 ST-GCN 更能获得远程的信息,对采用高次作法,让信息方扩散到较远的节点上,再做 Structural Graph Convolution (SGC),公式定义如下:在这里插入图片描述
这里的 L L L 为次数, A A A 是第 p p p 部分的图, M M M W W W 都可以是每个次方里被训练方的参数,目的是要在每个次方里捕捉每个方的参数权重与特征。

4.3 Actional-Structural Graph Convolution Block(动作结构图卷积块)

为了综合地获取任意关节间的运动和结构特征,作者将AGC和SGC相结合,发展了动作-结构图卷积(ASGC)。
在这里插入图片描述
λ λ λ 是个超参数,可控制使用 Actional feature 的影响程度。
为了捕捉帧之间的行为特征,有沿时间轴对每个关节点使用(T-CN时间轴,通过共享参数的口轴轴上的特征)。
在这里插入图片描述
结合 ASGC 与 T-CN 形成了 Actional-Structural block (AS-GCN block),可同时图形空间与时间轴上的特征,如上图。

4.4 Multitasking of AS-GCN(AS-GCN 的多任务处理)

1.骨架:
完整的 AS-GCN 是由多个不同的块组成的:
在这里插入图片描述
经过多个时空特征聚合后,AS-GCN可以跨时间提取高级语义信息。
2.动作识别head:
为了对动作进行分类,我们在backbone network后面构造一个识别head。我们对backbone network输出的特征图的关节维度和时间维度进行全局平均池化(global averaging pooling),得到特征向量,最后将特征向量输入到softmax分类器中,得到预测的类标签noisy,用于动作识别的损失函数为标准交叉熵损失:

在这里插入图片描述
3.未来姿态估计head:
在这里插入图片描述
以往对骨架数据分析的研究大多集中在分类任务上。
这里作者还考虑了姿态预测,如上图。

位置是标准的链接在对的信息贯穿的一个高层次的骨干,多个SGCN层级的获取点之后,获取到关节3D点的位置,在损失函数上的点是L2损失:
在这里插入图片描述
4.实践:
将识别头和未来预测头结合起来训练,可以提高识别性能。其背后的直觉是,未来预测模块促进了自我监督,避免了识别中的过拟合

可视化

可视化 A-link

为了更可以把这个值地有A-links到底都学的设计,论文的链接在0.9的链接以橘色线表示

在这里插入图片描述
一个特别的线粗线与是大小,确实在动作机更准确的相关率上,比较大的反应,表示可以给模型与行为更相关,更相关的特征信息。

特征可视化

除了 A-links 的观察外,该论文还对每个个体如何影响最终的分类决策,所以好奇也对特定动作的特征图做视觉化:
在这里插入图片描述
这图的(a)部分是「挥手」行为在不同时间点的状态,由左至右看会发现,一开始的时间对上半身有比较均等的强度,但随着动作持续越久,对挥动中的不同结果有的反应。

(b) 那部分另外还有远程信息的动作,可以看到手和两个人的反应是比较大的。

(c) 是使用 CN 上 ST-GCN 的差异部分,可同样是正确的与论文之间的反应,但在就信息的比较中,AS-GCN 的功效与作用比较高。

未来姿势预测
逆向预测模组的效果表演可视化:

在这里插入图片描述
图中的上图的目标,下排是预测的结果,看起来结果并不差,因为作者希望看到的结果是,AS-GCN 保留了特征的能力,并在与行为的细节上进行了预测相关的部分(头部、多人)效果更好。

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

湘粤Ian

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值