【论文阅读笔记】Spatial Temporal Transformer Network for Skeleton-based Action Recognition

Author: Chiara Plizzari
Chinese Title: 《基于骨架动作识别的时空Transformer网络》
Classification: Action Rec
Progress: Finished
Publication: ICPR 2020
Reading Date: November 24, 2021

Intro:

多亏了3D姿态估计设别的优势,基于骨骼的动作识别近些年发展很快。但是对于提取上下文感知的细粒度时空特征,有潜力释放真正潜力在动作识别上的算法和神经网络目前还是很缺乏这类文献。

目前广泛流传,效果不错的方法就是AAAI发表的ST-GCN。有了非欧几里德数据的有效表示,该网络因此可以有效地捕捉时间和空间信息。

💡 欧几里德数据:它是一类具有很好的平移不变性的数据。对于这类数据以其中一个像素为节点,其邻居节点的数量相同。所以可以很好的定义一个全局共享的卷积核来提取图像中相同的结构。常见这类数据有图像、文本、语言。

💡 非欧几里德数据:它是一类不具有平移不变性的数据。这类数据以其中的一个为节点,其邻居节点的数量可能不同。常见这类数据有知识图谱、社交网络、化学分子结构等等。

但它也同样存在一些结构上的局限性

  • 对于所有层和动作,表示人体结构的拓扑图是固定的,这就导致无法获取更丰富的表示。
  • 空间和时间上的卷积只能应用标准的2维卷积,因此只能局限操作在领域范围内。
  • 由于以上两点,,在人体骨骼中没有连接的身体关节之间的相关性则会被低估,例如拍手时,左手和右手,他们实际相对位置较远。

Contributions:

  • 提出一个创新性的双流Transformer模型,分别把自注意力应用在时间和空间维度上。
  • 设计了一个空间注意力模块SSA来动态构建关节点之间的联系,表示人体部位之间的关系。在时间维度上,我们引入时间注意力模块TSA去学习时间上节点的动态信息。
  • 我们的方法超过了ST-GCN基准以及其他在NTU数据集表现优异的方法。

Spatial Temporal Transformer Networks:

Spatial Self-Attention(SSA)

t时刻,第i个结点的query 和第j个结点key 进行dot product后的得到分数:αij, 再用j的value 进行加权求和。

α i j t = q i t ⋅ k j t \alpha_{ij}^t=q_i^t \cdot k_j^t αijt=qitkjt

z i t = ∑ s o f t m a x j ( a i j t d k ) v j t z_i^t = \sum softmax_j(\frac{a_{ij}^t}{\sqrt{d_k}})v_j^t zit=softmaxj(dk aijt)vjt

新求出的z组成了结点i新的映射embedding。

Temporal Self-Attention(TSA)

沿着时间维度上,每个结点的动态信息都是单独研究地。框架之间的相关性是通过沿着时间维度比较同一身体关节的特征来计算的。
其公式刚好与SSA的对称, i v i^v iv j v j^v jv 代表同一关节点在两不同的时刻

α i j v = q i v ⋅ k j v \alpha_{ij}^v=q_i^v \cdot k_j^v αijv=qivkjv

z i v = ∑ s o f t m a x j ( a i j v d k ) v j v z_i^v = \sum softmax_j(\frac{a_{ij}^v}{\sqrt{d_k}})v_j^v ziv=softmaxj(dk aijv)vjv

该模块通过提取结点之间的帧间关系,可以学习将互相之间的帧联系起来,捕捉到标准卷积不可能捕捉到的判别特征,因其受卷积核大小的限制。


Two-Stream Spatial Temporal Transformer Network:

为了结合SSA和TSA,采用了一种双流结构。在两个流中,简单的特征提取通过三层残差网络提取,其中每一层通过GCN处理空间维度上的输入,并通过标准的二维卷积TCN处理时间维度上的输入,如ST-GCN。SSA和TSA分别应用在S-TR和T-TR以替代GCN和TCN,每个流都通过标准交叉熵损失进行训练,子网络的输出最后再通他们的softmax分数融合来计算预测值。

Spatial Transformer Stream(S-TR)

S − T R ( x ) = C o n v 2 D ( 1 ∗ K t ) ( S S A ( x ) ) S-TR(x) = Conv_{2D(1*K_t)}(SSA(x)) STR(x)=Conv2D(1Kt)(SSA(x))

Conv是卷积核大小为Kt的时序卷积

Temporal Transformer Stream(T-TR)

T − T R ( x ) = T S A ( G C N ( x ) ) T-TR(x) = TSA(GCN(x)) TTR(x)=TSA(GCN(x))

主要挖掘帧之间的时序关系,与S-TR一样,在每个T-TR层内都包含一个标准图卷积子模块,TSA作用在整个时间维度上的相同关节点链接的图


Results:

将自己的方法在NTU-60与NTU-120上与其他利用关节和关节+骨骼信息的单流或双流结构方法进行了比较。数据结构表示都优于之前方法,证明了本文方法比只依赖于卷积的结构更有优势!


Conclusion:

  • 提出一个基于骨骼动作识别的创新Transformer框架以替代图卷积方法
  • 通过在NTU-60和NTU-120进行实验表明我们的SSA可以取代图卷积,实现更灵活和动态的表示。TSA克服了标准卷积的严格定位,可以进行全局动作模式的提取。
  • ST-TR在NTU-RGB-D数据集上实现了SoTA表现

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
ST-GCN(Spatial Temporal Graph Convolutional Networks)是一种用于人体动作识别的深度学习模型,其源码解析可以分为以下几个方面。 首先,ST-GCN是基于图卷积神经网络(GCN)的一种扩展模型,在处理视频序列时,将每一帧的姿势数据(通常使用OpenPose进行姿势估计)建模为图结构,其中节点对应关键点,边表示节点之间的空间关系。源码中主要包含了构建图结构的代码,包括节点的定义、边的连接方式以及图结构的转换。 其次,ST-GCN引入了时序关系建模,以利用动作序列的时间信息。源码中涉及到的关键部分是时序卷积层的实现,对于每一个节点,通过聚合邻居节点的特征信息来更新当前节点的特征表示,从而实现对时序关系的建模。此外,还包括了一些预处理方法,如时间差分和层间残差等,用于增强模型的表达能力。 再次,ST-GCN还包含了一些辅助模块,用于提取更丰富的时空特征。例如,源码中提供了一个ST-GCN的变种模型,引入了多尺度特征融合的机制,通过将不同尺度的特征进行融合,提高了模型的鲁棒性和泛化能力。 最后,源码中还包括了一些训练和测试的相关代码,用于对ST-GCN模型进行训练和评估。这部分代码主要包括了数据加载、模型的构建、损失函数的定义以及优化器的选择等。 总之,ST-GCN源码解析涉及了构建图结构、时序关系建模、辅助模块和训练测试等方面,通过对这些代码的解析,可以深入理解ST-GCN模型的原理和实现细节。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值