Dynamic GCN: Context-enriched Topology Learning for Skeleton-based Action Recognition

动态GCN:基于骨架的动作识别的上下文丰富拓扑学习

ACM2020

未开源


关键:图结构的设计,该结构编码骨架拓扑信息

提出动态GCN(Dynamic GCN),引入一个新的CNN命名为context-encoding network(CeN)来自动学习骨架拓扑图。特别地,当学习两个关节之间的依赖性时,剩余关节的上下文特征以全局的方式整合。CeN是极轻量级但是有效,还可以被嵌入图卷积层。通过堆叠多个CeN的图卷积层,构建dynamic GCN。作为CeN的优点,为不同输入样本构建dynamic图拓扑以及不同深度的图卷积层。探索了三中可替代的上下文建模架构,可以作为对图形拓扑学习的未来研究的指导。

未来改进的三个问题:

  1. non-local-based方法,测量两个骨架关节之间的依赖性同时忽略其他上下文关节的影响,基本上可以算作是一种local method。除了底层两个关节之外,其他关节的上下文信息对于学习可靠和稳定的拓扑都至关重要。
  2. 使用像内积一样的任意功能来计算两个关节之间的依赖性,引入强的先验知识,这可能不是最佳的。
  3. 在骨架动态系统中,non-local-based方法考虑到每对关节的依赖性无向。因为每个关节的上下文信息都不一样,依赖性应该有向。对于不同查询对,他们由非本地基础方法产生的相似性可能几乎相同。

提出一个名为dynamic GCN的混合GCN-CNN框架,目的是通过利用CNN的特征学习能力来攻击现有的基于学习的骨架拓扑的弱点。引入一个新的CNN context-encoding network(CeN)来自动学习骨架拓扑图。可以被嵌入一个图卷积层端到端学习。与non-local-based方法比,CeN有以下优点:1)CeN从全局角度完全考虑每个关节的上下文信息。2)CeN完全是数据驱动,不要求有任何的先验知识,更加灵活。3)根据有向图和产生有向图(非对称邻接矩阵)的指向每对关节的依赖性,可以更准确的表示骨架系统的动态。4)和其他拓扑学习算法相比,CeN非常轻量级但是十分有效,可以轻松集成到基于GCN的方法中。

CeN预测每个样本的唯一图拓扑以及per-GConv层。此功能导致动态图拓扑而不是静态拓扑,提高了模型的容量和表现力。

对于CeN中的上下文模型,探索了各种特征聚合体系结构。拓扑学习背景下,周围关节的上下文信息也是十分重要。因此,CeN中特征通过将其视为通道,通过联合维度全局聚集。消融研究表明,在另外两个替代方案中,它是优越的,其中时间或特征尺寸被视为通道。提供了进一步的讨论,这可能引导未来的图形拓扑学习研究。

  1. dynamic GCN,利用GCN拓扑学习的互补性益处和CNN特征学习能力。
  2. 引入轻量级context-encoding network,全局学习丰富的上下文动态骨骼拓扑。
  3. 探索了三种可替代的上下文建模架构,可以作为未来图形拓扑学习研究的指导。

DNN-based methods:

RNN是序列数据的直接模型。RNN顺序聚合时间信息,但CNN能够共同编码时空信息。CNN旨在将图像直接分类为动作类别。虽然CEN也是CNN模型,但它旨在学习
图形拓扑而不是最终动作识别。

GCN-based methods:

GCN能够有效地处理不规则的结构化图,如骨架数据。给定具有n个关节的骨架数据,图形拓扑结构可以通过n×n邻接矩阵A很好地表示。基于GCN的方法的关键在于图形拓扑设计,即A,最直接的方式是定义固定的图根据人体的物理连接。为了略微关注边缘,还创建了一种可学习的掩模,该掩模乘以或添加物理邻接矩阵。后来,[28]采用虚拟连接的概念作为物理邻接矩阵的补充。

在上述方法中,邻接矩阵在训练完成后预定义或固定。为了使图形拓扑更灵活,试图为不同的样本构成不同的图形。具体地,采用非本地的操作来推断两个任意关节之间的连接性。在测量两个关节之间的依赖性时,仅考虑底层两个关节的特征,而忽略上下文关节的影响。相反,在动态GCN中,所有上下文关节的特征都与所提出的CEN充分结合,以这种方式学习的图表可能更加强大和富有表现力。

method:

GCN通常包含一个图卷积块graph convolutional blocks (GC-blocks)和一个时间卷积块temporal convolutional blocks (TC-blocks),分别N关节T时间维度。GC-block:Y=∑k=1KΛk−12AkΛk−12XW{\rm Y}=\sum^K_{k=1}\Lambda_k^{-\frac{1}{2}} {\rm A}_k \Lambda_k^{-\frac{1}{2}}{\rm X}{\rm W}Y=∑k=1K​Λk−21​​Ak​Λk−21​​XW,K是ST-GCN空间配置,X和Y分别是输入和输出特征图,W是可学习的核,A是邻接矩阵,Λ\LambdaΛ是归一化对角节点矩阵。TC-block是t×1的正常卷积层,为了共同学习关节时空特征,交替堆叠GC块和TC块来构建GCN。

Dynamic GCN:

context-encoding network CeN:

GCN的邻接矩阵A完全表示图拓扑,对应不同骨架关节之间的依赖性。当A用先验知识预先定义,托普信息是固定的和有限制的。现有的基于学习的方法预测两个关节之间的依赖性,并且采用将输入特征映射到依赖性的手工制作功能。文章设计了一个极轻量的CNN将整个特征图作为输入,预测完整的邻接矩阵A,沿着关节、时间和特征尺寸沿着关节,时间和特征尺寸进行了上下文信息,产生更灵活和表现力的图形拓扑。

中间层X∈RC×T×N{\bf X}\in R^{C\times T\times N}X∈RC×T×N特征图,每个关节的特征和时间维度被称为Conv-C和Conv-T的两个1×1的卷积层。关节维度被当做卷积的通道,并且使用单个1×1卷积层将N维向量映射到N×N邻接矩阵。当测量每对关节之间的依赖性时,这种设计充分考虑所有其他关节的影响。之后,拓扑表示为具有(batch,N,N)的形状的矩阵。另外,L2归一化应用于邻接矩阵的每一行,从而减轻了优化。

CeN学习每个样本以及per-GConv的动态和唯一的邻接矩阵。即使它们属于同一动作类,也不在不同的示例之间共享图形拓扑。而不是手工制作的功能,CeN中的参数以数据驱动方式学习,而无需任何先前的假设。此外,通过将联合维度视为信道,所有关节的全部上下文信息都可以由可训练的核编码。

CeN预测的邻接矩阵作为其图形拓扑表示作为GConv。在L2归一化的帮助下,节点度标准化。为简单起见,文章使用G引用归一化静态邻接矩阵或学习的邻接矩阵。

dynamic GConv layer:

除了CeN预测dynamic graph,还包含静态图形。静态分支从最后一层和物理图形Gphysical{\rm G}_{physical}Gphysical​获取可学习的参数掩码Gmask{\rm G}_{mask}Gmask​作为输入,动态分支占据骨架特征和丰富的上下文图Gpglobal{\rm G}_{pglobal}Gpglobal​作为输入,他们的输出进一步通过元素求和融合。

static branch:Ystatic=∑k=1K(Gphysical+Gmask)XW{\rm Y}_{static}=\sum^K_{k=1}({\rm G}_{physical}+{\rm G}_{mask}){\rm X}{\rm W}Ystatic​=∑k=1K​(Gphysical​+Gmask​)XW。Gphysical{\rm G}_{physical}Gphysical​是人体的物理连接,Gmask{\rm G}_{mask}Gmask​是参数化掩码作为物理图形的注意力。Ystatic{\rm Y}_{static}Ystatic​是静态分支的输出特征,静态分支提取静态拓扑信息,被证明有助于最终预测。

dynamic branch:Ydynamic=GglobalXW′{\rm Y}_{dynamic}={\rm G}_{global}{\rm X}{\rm W}'Ydynamic​=Gglobal​XW′。提取全局上下文信息。

Y=Ydynamic+λYstatic{\rm Y}={\rm Y}_{dynamic}+\lambda {\rm Y}_{static}Y=Ydynamic​+λYstatic​。聚合拓扑特征后,TC-block加在后面来聚合时间特征。十个dynamic GConv层+全局平均池化+全连接层,softmax做最后的分类。

Joint-level Feature Aggregation and Ensemble of Spatial-motion Modalities:

骨骼是另一种空间信息,以与关节运动相同的方式计算时间运动

实验:

Dynamic GCN:Dynamic GCN: Context-enriched Topology Learning for Skeleton-based Action Recognition相关推荐

  1. 深度学习-视频行为识别:论文阅读——双流网络(Two-stream convolutional networks for action recognition in videos)

    这里写目录标题 视频的行为识别 前言 背景 内容组成 主要贡献 算法介绍 网络结构 双流(two stream)网络结构 空间流卷积网络(Spatial stream ConvNet) 时间流卷积网络 ...

  2. 读书笔记:Dynamic GCN: Context-enriched Topology Learning for Skeleton-based Action Recognition

    Dynamic GCN:基于骨架的动作识别的上下文丰富的拓扑学习 Dynamic GCN: Context-enriched Topology Learning for Skeleton-based ...

  3. 论文笔记:Dynamic GCN: Context-enriched Topology Learning for Skeleton-based Action Recognition

    原论文:Dynamic GCN: Context-enriched Topology Learning for Skeleton-based Action Recognition(暂未开源) Dyna ...

  4. DL之GCN:GCN算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略

    DL之GCN:GCN算法的简介(论文介绍).架构详解.案例应用等配图集合之详细攻略 目录 GCN算法的简介(论文介绍) 0.实验结果 GCN算法的架构详解 GCN算法的案例应用 相关文章 DL之GCN ...

  5. 【实例分割_SOLOv2】SOLOv2:Dynamic,Faster and Stronger

    文章目录 一.背景 二.相关工作 三.重看 SOLOv1 四.SOLOv2 4.1 Dynamic Instance Segmentation 4.1.1 Mask kernel branch 4.1 ...

  6. 图神经网络12-分子指纹GCN:Neural FPs

    1 Neural FPs论文简介 论文:Convolutional Networks on Graphs for Learning Molecular Fingerprints 图卷积网络用于学习分子 ...

  7. Elasticsearch:Dynamic field mapping

    当 Elasticsearch 在文档中检测到新字段时,默认情况下会动态将该字段添加到类型映射中. dynamic 参数控制此行为. 你可以通过将 dynamic 参数设置为 true 或 runti ...

  8. 论文记录:Decoupling GCN with DropGraph Module for Skeleton-Based Action Recognition

    论文记录:Decoupling GCN with DropGraph Module for Skeleton-Based Action Recognition 论文地址 论文代码 Abstract: ...

  9. 论文解读:Dynamic Connected Networks for Chinese Spelling Check

    论文解读:Dynamic Connected Networks for Chinese Spelling Check   我们知道,拼写纠错任务比较类似预训练语言模型中的**Masked Langua ...

最新文章

  1. leveldb源码分析:数据查询
  2. java 计算运算表达式_java字符串运算表达式的计算
  3. PHP 7.3声称速度比PHP 5快3倍还多,值得更新了!
  4. 连续投影算法_出货量第一,专利300+,极米科技如何成为“投影一哥”?
  5. layui进度条bug
  6. CC2530之Flash笔记
  7. Qt删除 空格/空白符
  8. 网站安全系列:跨站脚本攻击XSS
  9. Shel脚本-初步入门之《02》
  10. java.lang.ClassNotFoundException: javax.servlet.SessionCookieConfig
  11. Docker-端口映射实现访问容器
  12. 《Entity Framework 6 Recipes》中文翻译系列 (24) ------ 第五章 加载实体和导航属性之查询内存对象...
  13. 【路径规划】基于matlab粒子群算法栅格地图路径规划【含Matlab源码 579期】
  14. 基于app_inventor的手机aap与单片机蓝牙互联教程
  15. 内存占用率过高怎么办 一分钟解决
  16. 国家杰青,任同济大学新校长!
  17. CVPR2019目标检测方法进展
  18. 【问题解决】win服务器磁盘初始化
  19. 信息安全与网络安全有什么区别?
  20. 使用shutdown命令实现远程关机

热门文章

  1. ddr3ip核心_XILINX DDR3 IP核使用教程
  2. Mtk Sensor 驱动框架变更简要分析
  3. python爬虫应聘信息_python爬虫获取拉钩网在线搜索招聘信息(超实用!)
  4. 新生研讨课--无人机技术
  5. 论文导读|《Exploiting Rich Syntactic Information for Semantic Parsing with Graph-to-Sequence Model》
  6. mybatis 批量添加 过滤库里已有数据
  7. 第三篇:【重磅】呼叫中心运营指标KPI字典
  8. 在虚拟机上调试网络时要注意的内容
  9. 综合布线施工的技术交底
  10. 5.1.2全景声音箱摆位_全景声音响系统--音箱应该如何摆位(5.1.2、5.1.4篇)