DDGCN: A Dynamic Directed Graph Convolutional Network for Action Recognition

2023-05-16

Introduction
作者认为解决如下两个问题能有效增强GCN在动作识别中的能力:
1.在人类骨骼的不同部位中有着时空关联性,但这些关联性是动态的,而且在时空域中不同的动作关联性也是不同的。标椎卷积操作普遍采纳的传统GCN是静态的,而且仅仅描述了邻居节点的空间联系,因而不能准确的获得这样的动态时空联系。

2.骨骼的空间层次结构和运动的时间序列特性都编码了序列信息,这在动作识别中是重要的。但是大多数现存的ST图(spatial-temporal graph)模型描述动作使用的是无向图,它不能获得这样的序列信息。

为了解决上述的问题,作者提出了端到端的Dynamic Directed Graph Convolutional Network (DDGCN),作者还提出了三个新的模型,它能自适应的学习时空联系和建模时间与空间的序列信息。

Dynamic Convolutional Sampling (DCS).在时间与空间的相连关节之间的关系称之为ST correlations,而且每一个节点 v v v描述这种关系使用特征向量 f S T ( v ) f_{ST}(v) fST(v),在点 v v v和它的邻居点集 B ( v ) B(v) B(v),我们计算 f S T ( v ) f_{ST}(v) fST(v)使用一个共享核权值 W W W的卷积。 B ( v ) B(v) B(v)包括了 v v v的时空相连节点。在不同的动作中 B ( v ) B(v) B(v)是不同的,作者提出动态的建模ST correlations,并且计算每一个节点的邻居节点集。因此在不同的动作作者设计DCS模型自适应的使用ST correlations来定义B。

Dynamic Convolutional Weights (DCW).为了在点 v v v的邻居 B ( v ) B(v) B(v)内执行元素阶卷积,我们需要对 v v v的邻居节点分配学习权重 W W W。然而邻居结点的空间顺序是模糊的。为了让GCN保持序列不变性,我们开发了DCW模型以自适应和动态的过程来计算权重W的顺序。

Directed Spatial-Temporal Graph (DSTG) Features.特征提取模型

在这里插入图片描述
在这里插入图片描述

Dynamic Convolutional Sampling (DCS)
DCS运行在静态图 G 0 G_0 G0,我们首先初始化 v v v的邻居j节点列表 B ( v ) B(v) B(v),然后DCS算法更新 B ( v ) B(v) B(v)来包含非邻接节点。DCS计算每一个节点 v i v_i vi特征值分两步:
1.首先观察所有的相连节点对 ( v i , v j ) , v i , v j ∈ G 0 (v_i,v_j),v_i,v_j\isin{G_0} (vi,vj),vi,vjG0,然后我们把这些非邻接节点统一纳入每个 v i v_i vi的邻居集 B ( v i ) B(v_i) B(vi)中,然后把 v i v_i vi与新纳入的非邻接节点 v j v_j vj连接成一个新的边。上述都是由动态采样程序执行并使用下标变化来更新他们顺序。我们使用函数 p i p_i pi来表示对 v i v_i vi的采样, Δ p i \varDelta{p_i} Δpi表示一个下标变换。因此 p i ( B ( v i ) ) + Δ p i ( B ( v i ) ) p_i(B(v_i))+\varDelta{p_i(B(v_i))} pi(B(vi))+Δpi(B(vi))排序了所以节点 v j v_j vj和输出了下标的序列。然后迭代更新 v i v_i vi邻居节点的序列来发现一个更好的排序。
2.在 v i v_i vi与它的邻居 v j v_j vj连接的边,定义它们之间的相关特征为 f ( v i , p i ( B ( v i ) ) + Δ p i ( B ( v i ) ) ) f(v_i,p_i(B(v_i))+\varDelta{p_i(B(v_i))}) f(vi,pi(B(vi))+Δpi(B(vi))),其中 v j = p i ( B ( v i ) ) + Δ p i ( B ( v i ) ) v_j=p_i(B(v_i))+\varDelta{p_i(B(v_i))} vj=pi(B(vi))+Δpi(B(vi)).

在这里插入图片描述

Dynamic Convolutional Weights
在图中,每个节点的邻接节点通常是无序的,邻居的数量可能是不同的,为了保持顺序不变性,作者提出了DCW权值分配模型。
节点 v v v和它的邻居节点 B ( v ) B(v) B(v),DCW分配重排序核权值 W W W,我们将这个赋值计算为 r × 2 r×2 r×2矩阵 P v = D T W p a t h ( W , B ( v ) ) P_v=DTW_{path}(W,B(v)) Pv=DTWpath(W,B(v)),它使两个向量 B ( v ) B(v) B(v)和重序 W W W之间的距离最小化, P v P_v Pv的第一列定义了W中元素的以排序下标,第二列表示 B ( v ) B(v) B(v)中备选择的元素和它的顺序。我们使用Dynamic Time Warping(DTW)算法计算 p v p_v pv
DCW分配本质是获得 B ( v ) B(v) B(v)不同大小,当核大小 r r r被固定时, B ( v ) B(v) B(v)的大小表示了 K K K可能的改变。注意 K K K v v v的价加上它不相邻的相关顶点集的大小。如果 K K K大于 r r r,则将考虑前 r r r个有效节点(使用DTW算法),而忽略其他节点。这允许我们在无需调整共享内核层的情况下完全连接这个超内核层。

Directed Spatial-Temporal Graph
DSTG特征提取模型增强了从DCS和DCW模型获取的初始特征 f S T f_{ST} fST,与现有的方法使用三维关节/骨骼坐标合并空间和时间顺序信息不同,DSTG使用从关节 v i v_i vi的特征向量指向其相关关节 v j v_j vj的特征向量的高维特征向量。为每一个点 v i v_i vi我门分配了一个特征向量 F i = { f i J , f i B , f i T } F_i=\{f_i^J,f_i^B,f_i^T\} Fi={fiJ,fiB,fiT},它是关节特征 f i J f_i^J fiJ,骨骼特征 f i B f_i^B fiB,时间特征 f i T f_i^T fiT三个特征向量的串联。

Network Architecture
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201009201001811.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ExMDEzNTUyNDE1,size_16,color_FFFFFF,t_70#pic_center

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DDGCN: A Dynamic Directed Graph Convolutional Network for Action Recognition 的相关文章

  • 如何动态创建 C# 面板

    我创建了一个联系人管理器 用户已经可以输入一些内容并将它们存储在文件中并在程序启动时重新打开 每个联系人都是我的 Person 类的一个对象 启动程序时 在 Load 中 我创建了一个 for 循环 直到探索完所有联系人 在 Person
  • 如何检查 C# 中动态匿名类型上是否存在属性?

    我有一个匿名类型对象 我从方法中以动态方式接收该对象 我想检查该对象上是否存在属性 var settings new Filename temp txt Size 10 function void Settings dynamic sett
  • 从函数调用动态 SQL

    我正在编写一个返回表的函数 有两个参数传递给该函数 并构建并执行查询并将其插入到返回的表中 但是我收到这个错误 只能从函数内执行函数和一些扩展存储过程 我不想使用存储过程 因为这是一个简单的实用函数 有谁知道这是否可以做到 我的函数编码如下
  • 静态/动态类型与静态/动态绑定

    大家这4个术语有什么区别 能举个例子吗 Static and dynamic是指解决某些编程元素的时间点的行话 Static表示解析是在程序构建时发生的 Dynamic表示解析是在程序运行时发生的 静态和动态打字 Typing指由于数据值之
  • Visual Studio 项目的依赖关系图

    我目前正在将一个大型解决方案 约 70 个项目 从 VS 2005 NET 2 0 迁移到 VS 2008 NET 3 5 目前我有 VS 2008 NET 2 0 问题是我需要将项目一一移动到新的 NET 框架 确保没有 NET 2 0
  • 向图节点添加标签

    我使用 visnetwork 库制作了下图 library tidyverse library igraph set seed 123 n 15 data data frame tibble d paste 1 n relations da
  • 如何在matplotlib_venn中将维恩图保存为PNG图

    使用以下代码我尝试创建维恩图 然后另存为文件 import matplotlib from matplotlib venn import venn2 set1 set A B C D set2 set B C D E plt venn2 s
  • 我可以在 WinRT / Windows 8 Store 应用程序中绑定 DynamicObject

    我有以下代码 public class MyClass DynamicObject INotifyPropertyChanged Dictionary
  • 图表贡献者为空

    我在 github 上有几个项目 但其中一些项目的贡献者图是空的 即使我的 gitconfig 设置了名称和电子邮件 https github com jlengrand batchWaterMarking graphs contribut
  • JavaScript 动态变量名称[重复]

    这个问题在这里已经有答案了 好吧 我想在用户单击时创建变量 每次单击都会添加一个新变量 我目前正在使用 jquery 和 javascript 我无法在服务器端执行此操作 这必须在浏览器中完成 newCount document getEl
  • oracle sql中where条件的动态数量

    我需要为报告工具中的提示编写一条sql 我得到变量中用 分隔的多个值的列表 并且这些值的数量可以变化 例如1 abc def eg2 abc def xyz 现在我需要在oracle中编写这种形式的sql 逻辑上 select someth
  • 运行时动态转换

    有没有一种方法可以在运行时动态转换 如以下伪代码 foreach DataRow row in table Rows foreach DataColumn col in table Columns if row col DBNull Val
  • 如何使用 PHP 创建动态页面标题

    大家好 我想知道是否有人可以帮助解决这个 PHP 问题 是否可以使用 H2 标记中的文本并使用它来动态填充页面标题 我还希望能够使用相同的技术将 H2 文本添加到元描述中 有人可以帮忙吗 如果您的 h2 文本是动态创建的 那么网页的其他部分
  • 在无向图中查找强连通分量

    我想在无向图中找到强连接的组件 即如果我从节点开始A然后我会回到节点A并且每条边都被恰好访问一次 对于有向图可以使用Tarjan算法来寻找强连通分量 但是对于无向图怎么办 我认为您错过了强连通分量的含义 强连接组件 如果所有顶点对之间都存在
  • 如何从网站中抓取动态内容?

    所以我使用 scrapy 从亚马逊图书部分抓取数据 但不知何故我知道它有一些动态数据 我想知道如何从网站中提取动态数据 到目前为止我已经尝试过以下方法 import scrapy from items import AmazonsItem
  • 如何从该 Voronoi 图数据中获取单元格字典?

    使用找到的voronoi delaunay图生成库在这个节目中 http sourceforge net projects mapmanager 这是基于 财富 最初的实施他的算法 http en wikipedia org wiki Fo
  • Flash 图表和图形的最佳解决方案是什么? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我知道融合图表 http www fusioncharts com 还有其他好的解决方案或 API 用
  • 大查询中有没有办法执行动态查询,例如sql server中的“EXEC”?

    我有一个包含 200 多个列名的表 这些列名是使用临时名称创建的 例如 custColum1 custColum200 我有一个映射表 其中包含 custColum1 custColumn200 的列表 它必须映射到该名称 例如 Table
  • 代表 Git 存储库的数学结构是什么

    我正在学习 Git 如果我能描述一下代表 Git 存储库的数学结构 那就太好了 例如 它是一个有向无环图 它的节点代表提交 它的节点有代表分支等的标签 每个节点最多一个标签 没有标签使用两次 我知道这个描述不正确 我只是想解释我正在寻找的内
  • 在 Swift 中将动态 Int 变量从一个类传递到另一个类

    我是 swift 2 的新手 我陷入了将变量从一个类传递到另一个类的过程中 我有一个类 GameScene 我有一个公共变量score并且在更新功能中不断更新 我想发送score两个节点相互碰撞时的值 一旦它发生碰撞 我就会使用 mainv

随机推荐

  • 学习Linux必备书籍推荐

    xfeff xfeff 鸟哥的私房菜 xff08 第3版 xff09 xff0c 鸟哥著 xff1a 这本书内容丰富全面 xff0c 基本概念的讲解非常细致 xff0c 深入浅出 xff0c 各种功能和命令的介绍都配以大量的实例操作和详尽的
  • 使用gparted工具扩充vmware UBUNTU虚拟机磁盘空间

    虚拟机器用了一段时间之后 xff0c 由于安装的软件越来越多 xff0c 慢慢的磁盘空间就不够用了 xff0c 需要扩充空间 网上有很多方法 xff0c 但个人认为对虚拟机来说最好的方法就是用gparted工具进行空间扩展 xff0c 非常
  • 2022年打工人转行实录!你后悔转行了吗?

    2022年 xff0c 有许多年轻人在寻求 转行 根据 2022Q1中高端人才就业趋势大数据报告 xff0c 今年一季度有55 87 的职场人有跳槽计划 xff0c 而这之中 xff0c 有65 34 的职场人选择跨行业跳槽 在各种社交平台
  • 速看!TIOBE12月编程语言排行榜,第一名太牛啦!

    全球知名TIOBE编程语言社区发布了2022年12月的编程语言排行榜 我们一起来看看 xff0c 本月榜单中有哪些值得注意的新变化吧 xff01 自去年 10 月登顶后 xff0c Python 至今仍牢牢占据榜一大哥的位置 C 43 43
  • 使用MFC的CDC类绘制三维坐标系及球面函数

    系列链接 使用MFC的CDC类绘制二维坐标系及正余弦函数 源码 使用MFC的CDC类绘制三维坐标系及球面函数 源码 概述 本文使用MFC的CDC类绘制三维坐标系及球面函数 首先计算推导出三维坐标在二维平面显示的坐标变换方程 xff08 使用
  • Android R系统Fingerprint指纹流程归纳

    孩子长大 xff0c 倘无才能 xff0c 可寻点小事情过活 xff0c 万不可做空头文学家或美术家 鲁迅 1 Android R中framework中需要新的配置项才会在SetupWizard中启动Settings的BiometricEn
  • Python爬虫深造篇(一)——多线程网页爬取

    一 前情提要 相信来看这篇深造爬虫文章的同学 xff0c 大部分已经对爬虫有不错的了解了 xff0c 也在之前已经写过不少爬虫了 xff0c 但我猜爬取的数据量都较小 xff0c 因此没有过多的关注爬虫的爬取效率 这里我想问问当我们要爬取的
  • RabbitMQ:消息何去何从

    在正常情况下 xff0c 生产者产生并发送一条消息然后被交换器正确路由到某个队列中 但是如果一条消息不能被正确路由到某个队列时 xff0c 那么这条消息该何去何从呢 xff1f RabbitMQ提供以下几个处理方案 xff1a xff08
  • Mysql 10061 Unknown error

    一 问题 二 解决方法 1 打开任务管理器找到Mysql服务 2 右键 打开服务 3 找到Mysql 启动类型设置为 自动 4 启动服务 5 启动成功后再次尝试链接 xff0c 数据库成功打开
  • Thonny,Python小白最理想的IDE

    目录 前言 Thonny的特点 安装使用 下载安装 运行 xff1a 第一行代码 Hello xff0c World 前言 很多伙伴在学习我们Python基础语法交互的时候 xff0c 问道Python怎么安装 xff1f 我们开发的Pyt
  • 【超详细】【ubunbu 22.04】 手把手教你安装nvidia驱动,有手就行,隔壁家的老太太都能安装

    目录 前言 一 英伟达官网下载驱动 二 更新软件列表和安装必要软件 依赖 三 进入tty模式 1 关闭图形界面进入tty模式 2 进入tty以后需要输入用户名和密码登录 3 禁用X window服务 四 安装驱动 五 返回图形界面 六 可能
  • 全志a20 fastboot烧写system.img时出现 data too large 错误

    在调试 全志a20的过程中 xff0c 使用fastboot烧写system image出现 xff1a data too large 错误 解决方法 xff1a 修改lichee u boot include configs sun7i
  • linux系统中rpm与Yum软件仓库

    rpm的作用 xff1a 在没有rpm软件管理之前我们在安装 升级 卸载服务程序时要考虑到其他程序 库的依赖关系 xff0c 所以在进行安装 校验 卸载 升级等操作时的难度就非常之大 rpm机制则为就是为了解决这些问题而设计的 xff0c
  • 老杜带你从零入门MyBatis,学MyBatis看这篇就够了!

    MyBatis本是apache的一个开源项目iBatis xff0c 2010年这个项目由apache software foundation迁移到了google code xff0c 并且改名为MyBatis 2013年11月迁移到Git
  • Docker全家桶入门到进阶教程,Docker快速上手

    开发 运维互掐 开发与测试和运维间的矛盾 xff0c 主要是由于环境的不同而引发的 如果能将开发人员使用 的环境交给测试与运维使用 xff0c 这些问题就都能解决 DevOps DevOps 是一种思想 xff0c 是一种管理模式 xff0
  • 2023最新动力节点MybatisPlus笔记——第一章入门篇

    第一章 入门篇 2023最新动力节点MybatisPlus笔记 第一章入门篇 第二章 基础篇 2023最新动力节点MybatisPlus笔记 第二章基础篇 第三章 进阶篇 2023最新动力节点MybatisPlus笔记 第三章进阶篇 1 M
  • 2023最新动力节点MybatisPlus笔记——第三章进阶篇

    3 进阶篇 3 1 映射 学习过Mybatis的同学应该知道 xff0c Mybatis框架之所以能够简化数据库操作 xff0c 是因为他内部的映射机制 xff0c 通过自动映射 xff0c 进行数据的封装 xff0c 我们只要符合映射规则
  • 2023最新版动力节点MybatisPlus实战教程——高级篇

    来自B站动力节点最新版的MybatisPlus教程 xff0c 整理了笔记 第四章高级篇 4 高级篇 4 1 主键策略 4 1 1 主键生成策略介绍 首先大家先要知道什么是主键 xff0c 主键的作用就是唯一标识 xff0c 我们可以通过这
  • 一体机重装系统时不小心分区了,别的盘的数据怎样恢复

    全盘格式化是由于在重装系统时 xff0c 选择了错误的选项导致全盘分区了 xff0c 装完之后文件全部丢失 想要恢复丢失盘的文件 xff0c 需要注意 xff0c 别往现在的这个盘存入新的文件 xff08 因为现在存入的文件可能会覆盖原先D
  • DDGCN: A Dynamic Directed Graph Convolutional Network for Action Recognition

    Introduction 作者认为解决如下两个问题能有效增强GCN在动作识别中的能力 xff1a 1 在人类骨骼的不同部位中有着时空关联性 xff0c 但这些关联性是动态的 xff0c 而且在时空域中不同的动作关联性也是不同的 标椎卷积操作