ST-GCN原理总结

简介: ST-GCN原理总结

1 网络特色

1.传统的骨骼建模方法通常依赖于手工制作的部件或遍历规则,从而导致表达能力有限和泛化困难。这里提出了一种新的动态骨架模型,它通过自动从数据中学习空间和时间模式,超越了以前方法的限制。

2.骨架是以图形的形式,不是2D或3D坐标形式,这使得使用卷积网络等经过验证的模型变得困难。因此,将卷积神经网络(cnn)推广到任意结构的图的图神经网络(GCNs)。该模型将图神经网络扩展到时空模型,用于动作识别的骨架序列的通用表示,称为时空图卷积网络(ST-GCN)

2 整体流程

  1. 1.获取2D或3D坐标形式的身体关节序列
  2. 2.构建了一个时空图
  3. 3.多层时空图卷积运算将应用于输入数据并在图上生成更高级别的特征图。
  4. 4. 然后它将被标准的 SoftMax分类器分类到相应的动作类别。

整个模型通过反向传播以端到端的方式进行训练。

3 数据的获取

  1. 动作捕捉设备获得
  2. 从视频中获得姿势估计算法

通常数据是一组帧的序列,每一帧都会有一组关节坐标。

4 构建时空图

4.1 结果展示

4fdff33261d5459f80bf03cdd7d24e5a.png骨架序列通常由每个帧中每个人体关节的 2D 或 3D 坐标表示。我们在具有 N 个关节和 T 帧的骨架序列上构建了一个无向时空图 G = (V, E),同时具有体内和帧间连接,如上图所示。

4.2 如何做


2f02d7cd281344979d306463423f2fba.png

第三节我们获得了骨骼点坐标和置信度,组成节点F(v_ti)的特征向量由帧t上第i个关节的坐标向量和估计置信度组成,作为ST-GCN的输入。我们分两步在骨架序列上构建时空图:

  1. 1. 根据人体结构的连通性,将一帧内的关节与边连接起来,如图1所示。
  2. 2. 每个关节将连接到连续帧中的同一关节。

疑问1:无需手动分配零件即可自然定义此设置中的连接。这也使网络架构能够处理具有不同数量的关节或关节连接的数据集。

此时我们的边集由两个子集组成,如下:

  1. 1. 第一个子集描述了每一帧的骨架内连接,记为ES = {(v_ti, vt_j)|(i, j)∈H},其中H为自然连接的人体关节集合。
  2. 2. 第二个子集包含帧间边,它们连接连续帧中的相同关节,如EF = {v_ti, v_(t+1)i},因此,对于一个特定关节i,EF中的所有边将表示其随时间的轨迹。

4.3 计算

时空图是以邻接矩阵的方式创建的,我参考的https://www.bilibili.com/read/cv17038755/

5 时空卷积运算

5.1 时空卷积

这里作者与CNN进行了对比,先是给出了CNN卷积的公式

2ad9172908c74d04a120fcd87d9f79f6.png

这里,f(p(x,h,w))的意思就是取出p(x,h,w)这个位置的数据,CNN是按照卷积核的大小在原图中逐行逐列的获取。w是每一个通道的权重。这个公式由上述两方面组成,解决了两个问题:

  1. 1. 如何采样,即f(p(x,h,w))
  2. 如何确定权重w。
    作者类比了CNN,如图2:

采样过程如下,红色的区域就是一个st-gcn的卷积核,时间维度中以红点为中心,左右相邻的T/2帧作为卷积核的一个维度。文章st-gcn的卷积核取9个点,而蓝色、绿色、黄色对应了三个不同的权值(每种颜色的权重相同)。

那么全权重如何取值呢?作者将节点的1邻域划分为3个子集,第一个子集连接了空间位置上比根节点更远离整个骨架的邻居节点,第二个子集连接了更靠近中心的邻居节点,第三个子集为根节点本身,分别表示了离心运动、向心运动和静止的运动特征。注意,这里距离骨架远近按照距所有帧的所有骨架重心平均距离判断。

如图4(d),其余为其他取值方式,后面会简单总结

5fde9ca6293948778226d369feea2d43.png

5.2 可学习的边缘重要性权重

虽然人在做动作时关节是成组运动的,但一个关节可能出现在身体的多个部位。然而,这些外观在对这些部件的动力学建模时应该具有不同的重要性(比如退节点比眼睛等重要,可以判断是否蹲下)。

从这个意义上说,我们在时空图卷积的每一层上都添加了一个可学习的掩码M。掩码M将根据ES中每个空间图边的学习重要性权重来缩放节点特征对其相邻节点的贡献。(即对不同关节进行加权)

6 网络结构和训练

69dcc5937c75408eb9d936eaff5d5e13.png

网络结构如上图所示

相关文章
|
并行计算 Ubuntu 机器人
计算机视觉教程7-3:Openpose配置与实践
计算机视觉教程7-3:Openpose配置与实践
3583 0
计算机视觉教程7-3:Openpose配置与实践
|
机器学习/深度学习 人工智能 算法
【PyTorch深度强化学习】TD3算法(双延迟-确定策略梯度算法)的讲解及实战(超详细 附源码)
【PyTorch深度强化学习】TD3算法(双延迟-确定策略梯度算法)的讲解及实战(超详细 附源码)
4501 1
|
7月前
|
机器学习/深度学习 人工智能 监控
面向智慧牧场的牛行为识别数据集(5000张图片已划分、已标注) | AI训练适用于目标检测任务
本数据集包含5000张已标注牛行为图片,涵盖卧、站立、行走三类,适用于YOLO等目标检测模型训练。数据划分清晰,标注规范,场景多样,助力智慧牧场、健康监测与AI科研。
面向智慧牧场的牛行为识别数据集(5000张图片已划分、已标注) | AI训练适用于目标检测任务
|
JSON 人工智能 数据格式
AI计算机视觉笔记二十六:YOLOV8自训练关键点检测
本文档详细记录了使用YOLOv8训练关键点检测模型的过程。首先通过清华源安装YOLOv8,并验证安装。接着通过示例权重文件与测试图片`bus.jpg`演示预测流程。为准备训练数据,文档介绍了如何使用`labelme`标注工具进行关键点标注,并提供了一个Python脚本`labelme2yolo.py`将标注结果从JSON格式转换为YOLO所需的TXT格式。随后,通过Jupyter Notebook可视化标注结果确保准确性。最后,文档展示了如何组织数据集目录结构,并提供了训练与测试代码示例,包括配置文件`smoke.yaml`及训练脚本`train.py`,帮助读者完成自定义模型的训练与评估。
6070 2
|
缓存 NoSQL Linux
Linux调试
本文介绍了Linux调试、性能分析和追踪的培训资料,涵盖调试、性能分析和追踪的基础知识及常用工具。
1484 63
Linux调试
|
人工智能 JavaScript API
DeepSeek-R1满血版上线阿里云,新用户专享100万token额度,5分钟快速部署!
DeepSeek是当前AI领域的热门话题,尤其其大模型备受关注。由于网页版访问时常超时,推荐使用阿里云百炼的API调用方式快速体验。此方法仅需五分钟,提供100万免费Token,有效期至2025年7月26日。用户可通过注册阿里云账户、开通服务、创建API-Key、安装并配置ChatBox客户端等步骤轻松上手。测试结果显示,DeepSeek-R1在回答问题、解释数学概念及编写代码等方面表现优异。部署成本低、操作简便,是体验DeepSeek的理想选择。
DeepSeek-R1满血版上线阿里云,新用户专享100万token额度,5分钟快速部署!
|
机器学习/深度学习 编解码 监控
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
这篇文章详细介绍了如何使用YOLOv8进行目标检测任务,包括环境搭建、数据准备、模型训练、验证测试以及模型转换等完整流程。
26852 59
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
机器学习/深度学习 监控 算法
【传知代码】骨架行为识别-论文复现
骨架行为识别是计算机视觉中的关键技术,通过分析人体骨架轨迹和姿态来识别行为。它应用于人机交互、智能监控等领域,利用OpenPose等算法提取关键点信息。CTR-GCN是该领域的先进模型,优于2S-AGCN,通过通道拓扑优化和时间建模提高识别效果。模型包含通道细化、特征变换和维度增强三个部分。源码可在相关文章附件获取。骨架行为识别技术在视频理解、人机交互、运动分析等多个场景有广泛应用,并持续发展创新。
1091 1
【传知代码】骨架行为识别-论文复现
|
机器学习/深度学习 资源调度 算法
图卷积网络入门:数学基础与架构设计
本文系统地阐述了图卷积网络的架构原理。通过简化数学表述并聚焦于矩阵运算的核心概念,详细解析了GCN的工作机制。
1132 3
图卷积网络入门:数学基础与架构设计