Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition的论文阅读笔记

以下为阅读ST-GCN论文的笔记
论文链接: https://arxiv.org/abs/1801.07455
官方源码(pytorch): https://github.com/yysijie/st-gcn

主要工作:提出ST-GCN模型;
基于Kinetics,用open pose工具做了一个骨架结构的数据集

主要内容

类比cnn:对于cnn来说,图像各个像素是固定排列的,卷积时与卷积核上对应位置的权重相乘;但对于graph上的点并不是网格排列的,所以需要新的sampling funciton(找到邻居)和weight function(确定权重)。

sampling function

可以定义为对于中心节点其邻近节点集合。无论是在每一帧内的骨架上,还是每一帧之间,本篇文章都采取与 root node 距离为1的点

weight function

既卷积核的权重,是需要学习的参数。本文没有对所有的邻居点都对应一个权重,而是对相邻的点做划分。划分成不同的子集,每个子集都对应一个权重。所以子集的多少也决定了卷积核的大小。weight function可以写成一个(c,K)的张量。而对于不同帧中的点,再引入另一个参数得到weight function在时间上标记子集的形式。

子集的三种划分方式

uni-labeling: 所有点共用一个权重,只有一个子集,此时K=1

diatance partitioning: root node自身为一个子集,标记为K=0;距离为1的点为另一个子集,标记为K=1

spatial configuration partitioning:root node 本身为一个子集; 距离骨架重心相较root node近的邻域节点为另一个子集,标记为1(向心子集);其他为第三个子集标记为2(离心子集)
在这里插入图片描述

实现方式

1、对于第一种划分子集的方式:

其中。输入特征图可以表示为( C , V , T ) 维,图卷积操作通过执行卷积核大小为的标准二维卷积来实现。并将得到的张量与归一化邻接矩阵在第二个维度上相乘。

(源码中作者将st-gcn分为两个部分,第 一部分是gcn,也就是在一帧内进行图卷积;第二部分是tcn,就是在temporal 的维度做了一个二维卷积,为时间卷积核的大小)

在这里插入图片描述

2、对于多子集来说:

此时不再是所有节点共用一个权重了,所以将邻接矩阵分成A对应多个子集的,此时,

3、不同位置的躯干对运动的影响也是不同的,也就是骨架图的各个边。本文加入了一个可学习的参数矩阵M,在实作的时候M中的各个元素与邻接矩阵的对应元素相乘。

4、网络架构

每一个st-gcn采用Resnet的结构,前三层的输出有64个通道,中间三层有128个通道,最后三层有256个通道,在每次经过st-gcn结构后,以0.5的概率随机将特征dropout,第4和第7个时域卷积层的strides设置为2。用SGD训练,学习率为0.01,每10个epochs学习率下降0.1。

在序列中插入一些仿射变换的帧,并且从原始的序列中抽取一些帧来防止过拟合

5、数据集

Kinetics和NTU-RGB+D。NTU-RGB+D数据集中包含对人体骨架的标注,而Kinetics中不包含骨架标注,所以作者利用openpose工具用2D坐标标注了18个节点,对于两个人的情况,用平均节点置信概率来标注。

实验结论
  1. 设置了一个基本线模型,连接所有节点作为输入特征,然后做时间卷积,这种模型相比于st-gcn没有权重共享和局部相关的特性。除了第一种划分子集的方式外,其余方式的结果均高于基本线,证明了以离心向心运动来划分子集的正确性。
  2. 对于两个数据集上纯基于骨架的方案,本文提出的ST-GCN取得了最优的结果。但对比于使用了RGB或者使用了光流法的传统深度学习动作识别方法,基于骨架的这一系列方法包括ST-GCN差距还是很大,作者提出可以两者相结合构造模型。
参考文章

(22条消息) 论文笔记之ST-GCN_加油-CSDN博客_st-gcn

如何评价ST-GCN动作识别算法? - 知乎 (zhihu.com)

(22条消息) 【论文解读】Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition_BlackFission的博客-CSDN博客

有没有大佬讲解一下st-gcn论文源代码? - 知乎 (zhihu.com)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值