深入理解时空图卷积(ST-GCN)

本文从代码角度解析时空图卷积网络(ST-GCN)用于骨架动作识别的原理与结构。介绍了其核心的空间图卷积和时间图卷积,并通过示例说明了如何克服普通卷积在非欧几里得数据上应用的局限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言:本文试图从代码角度解读ST-GCN(不包含图卷积理论知识),希望对研究行为识别的同学有所帮助,不正确的地方请指正。

整体描述

Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition
ST-GCN的文章着实不好理解,但是当读懂代码之后,再返回来对应论文会有豁然开朗的感觉。
整体结构:时空图卷积分为空间图卷积时间图卷积,其中空间图卷积是核心部分。一个空间图卷积加上一个时间卷积就是一层,一共10层,但是第一层没有残差结构,所以大部分文献都称它9层。原代码里的空间图卷积对应名称gcn,时间对应tcn。每一层的结构如下。
在这里插入图片描述

空间上的图卷积

要理解图卷积,首先就要类比普通的卷积。从原文或是其他基于ST-GCN的改进方法中都有提到,图卷积是将卷积泛化到非欧几里得结构上的一种方法
要知道卷积为什么有效?卷积的本质是什么?答:卷积的本质就是聚合邻域信息。 那么,图卷积要做的事情也是聚合邻域信息,不同的是,面对是非欧形式的数据。

举个例子

为了简化数据,我们假设人的骨骼图结构是一张包含5个关节点的骨骼图,首先我们看看把普通的卷积用在该骨骼数据上会有什么效果。我们以最常见的方法将骨骼数据处理成(N,C,T,V)这样四维的形式。其中N为样本数,C为通道数,T为帧数,V为关节点个数,对于我们的假设,V等于5,通道C等于3(每个关节点有xyz三个坐标)。现在我们想在单帧上对关节点进行卷积,所以选择卷积核大小为1*3的2D卷积。如果对关节点B进行卷积,则是红色框,如果对关节点C卷积,是绿色框。可以看到有什么问题?
上文我们说卷积的作用是聚合邻域信息,那对于骨骼图来说,对关节点B进行卷积的时候,聚集到邻域信息有A和C,然而可以看到我们的骨骼图里面A并不是B的邻居;对于C节点的卷积也一样,邻域信息不全。所以图卷积的方法应运而生。

怎么样实现 图卷积 ,其实图卷积的核心就是做矩阵乘法。在我们的例子中,可以根据图的结构得到一个5*5的邻接矩阵,这个矩阵描述的是关节点之间的连接关系。如果我们用特征图与邻接矩阵做矩阵乘法,会是什么样的情况?如图所示。可以看到,原本A0 的位置包含了A0C0 的信息;原本B0 的位置包含了B0C0 的信息,这样就实现了聚合邻域信息的效果。

在这里插入图片描述

回归ST-GCN

时间上的卷积

持续更新中…

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值