Skeleton-Based Action Recognition with Directed Graph Neural Networks

CVPR2019

基于骨架的有向图神经网络动作识别


主要内容:将关节和骨骼信息表示为一个有向无环图,并设计了一个定制的新型有向图神经网络(DGNN)来基于构建的图预测动作。使用图形结构自适应以更好地适应多层架构和识别任务。此外,提取连续帧之间的运动信息来建模骨架序列的时间信息,并且在两个流框架中融合空间和运动信息。最终的模型在两个大规模数据集上超过了当前最先进的性能。未来的工作可能集中在如何利用骨架数据和RGB数据在一起。此外,建议探索如何在统一的体系结构中将姿态估计问题与基于骨架的动作识别相结合。

问题:如何结合骨骼数据中的关节和骨骼信息数据?

(骨骼数据将人体表示为主要身体关节的坐标序列,可由深度传感器(Kinetics)或姿态估计算法轻松捕获。)

对于自然人体,关节和骨骼是强耦合的,每个关节(骨骼)的位置实际上是由他们相连的骨骼(关节)决定的。现有的基于图的方法通常将骨骼表示为无向图,并用两个独立的网络对骨骼和关节进行建模,这不能充分利用关节和骨骼之间的这些依赖性。为了解决这个问题,我们将骨骼表示为有向无环图,以关节为顶点,骨骼为边,其中关节和骨骼之间的依赖关系可以很容易的通过图的有向边来建模。此外,设计了一种新的有向图神经网络(directed graph neural network, DGNN)来对构造的有向图进行建模,可以传递相邻关节和骨骼中的信息并更新他们在每个层中的相关信息,最终提取的特征不仅包含每个关节和骨骼信息还包含他们的依赖关系这有助于动作识别。

通过应用自适应图而不是固定图——图的拓扑是参数化的,并且在学习过程中是优化的;提出一个双流框架来融合空间流和运动流。

贡献:

  1. 第一个将骨骼数据表示为有向无环图来建模关节和骨骼之间的依赖关系,设计了一种新的有向图神经网络用于提取关节、骨骼及其关系的信息,并根据提取的特征进行预测;
  2. 基于训练过程对图的拓扑结构采用自适应学习的图结构,在训练过程中与模型参数一起训练和更新,以更好地适应动作识别任务;
  3. 提取连续帧之间的运动信息用于时间信息建模,空间和运动信息都被输入到最终识别任务的双流框架中;
  4. 在用于基于骨架的动作识别的两个大规模数据集上,我们的模型以显著的幅度超过了最先进的性能。

(二)相关工作

基于深度学习的方法三种主要框架:

  • sequence-based methods:将骨架数据表示关节序列,然后基于RNN建模
  • image-based methods:将骨架数据表示为伪图像,CNN
  • graph-based methods:将数据建模为以关节为顶点、骨骼为边的图形

(三)方法:原始骨架数据是一系列帧,每个帧包含一组关节坐标,首先根据关节的2D或3D坐标提取骨骼信息,然后每帧中的关节和骨骼(空间信息)被标示成有向无环图的顶点和边,被送到有向图神经网络(DGNN)以提取特征用于动作识别。最后提取与空间信息相同的图形结构表示的运动信息,并在双流框架中与空间信息相结合以进一步提高性能。

  • 骨骼信息:

    两个相关连关节之间的向量(坐标)差表示骨骼 。

  • 图的结构:

    方向:更靠近根顶点的指向离根顶点更远的,如图1是根节点

    对于每个顶点 v i {\bf v}_i vi​,定义传入边缘 e i − {\bf e}_i^- ei−​,传出边缘 e i + {\bf e}_i^+ ei+​。同样,对于定向边缘 e j {\bf e}_j ej​,定义源起点 v j s {\bf v}_j^s vjs​,目标顶点 v j t {\bf v}_j^t vjt​。如果 v i {\bf v}_i vi​是 e j {\bf e}_j ej​的目标(源)顶点,则 e j {\bf e}_j ej​是 v i {\bf v}_i vi​入(出)边。每个边都只有一个源节点和一个目标节点。

    有向图 G = ( V , E ) \mathcal{G}=(\mathcal{V},\mathcal{E}) G=(V,E),其中 V \mathcal{V} V是一组顶点(关节), E \mathcal{E} E是一组有向边(骨骼),基于骨架的视频是一系列帧 S = { G 1 , G 2 , . . . , G T } \mathcal{S}=\{\mathcal{G}_1,\mathcal{G}_2,...,\mathcal{G}_T\} S={G1​,G2​,...,GT​},其中T是视频长度。

  • 有向图神经网络DGNN:利用关节和骨骼之间的依赖关系动作分类

    网络包含多个层,每个层都有一个包含顶点和边属性的图形,输出具有更新属性的相同图形。在每一层中,顶点和边的属性根据相邻的边和顶点进行更新。在底层,每个顶点或边只能从相邻的边或顶点接收属性,这些层中的模型旨在更新属性时提取顶点和边缘的局部信息。在顶层,来自彼此距离更远的关节和骨骼的信息可以累积在一起。DGNN对树的股价数据结构进行建模,有向无环图。

    • 有向图网络块(DGN):包含两个更新函数 h v h^{\bf{v}} hv和 h e h^{\bf{e}} he和两个聚合函数 g e − g^{\bf{e^-}} ge−和 g e + g^{\bf{e^+}} ge+。更新功能用于根据连接边和顶点来更新顶点和边的属性。聚合函数用于聚合连接到一个顶点的多个传入边中包含的属性。

      更新过程:

      通过大量的实验,我们选择了平均池化作为聚合函数来处理输入边和输出边,并选择了全连接层作为更新函数。

    • DGN实现:

      顶点输入:张量 f v = C × T × N v {\bf{f}}_v=C×T×N_v fv​=C×T×Nv​,其中C是通道数,T是帧数, N v N_v Nv​表示骨架图中顶点的数量。

      边数据:张量 f e = C × T × N e {\bf{f}}_e=C×T×N_e fe​=C×T×Ne​,其中 N e N_e Ne​是图中边的个数。

      找到每个顶点的输入边和输出边,找到每个边的源顶点和目标顶点。

      使用图的关联矩阵:给定具有 N v N_v Nv​顶点和 N e N_e Ne​边的有向图, A A A的关联矩阵是一个 N v × N e N_v×N_e Nv​×Ne​的矩阵,元素 A i j , i = 1 , . . . , N v ; j = 1 , . . . , N e A_{ij},i=1,...,N_v;j=1,...,N_e Aij​,i=1,...,Nv​;j=1,...,Ne​,表示对应顶点 v j \bf{v_j} vj​和边 e i \bf{e_i} ei​之间的关系。具体来说,如果 v i {\bf{v}}_i vi​是 e j {\bf{e}}_j ej​的源顶点,那么 A i j = − 1 A_{ij}=-1 Aij​=−1;如果 v i {\bf{v}}_i vi​是 e j {\bf{e}}_j ej​的目标顶点,那么 A i j = 1 A_{ij}=1 Aij​=1;如果 v i {\bf{v}}_i vi​和 e j {\bf{e}}_j ej​没连接,那么 A i j = 0 A_{ij}=0 Aij​=0。

      为了分离源顶点和目标顶点,我们用 A s A^s As表示源顶点的关联矩阵,只包含小于0元素的绝对值;用 A t A^t At表示目标顶点的关联矩阵,只包含大于0元素。

      f v ′ = H v ( [ f v , f e A s ~ T , f e A t ~ T ] ) {\bf{f}}_v^{'}=H_v([{\bf{f}}_v,{\bf{f}}_e\tilde{A^s}^T,{\bf{f}}_e\tilde{A^t}^T]) fv′​=Hv​([fv​,fe​As~T,fe​At~T])

      f e ′ = H e ( [ f e , f v A s ~ , f v A t ~ ] ) {\bf{f}}_e^{'}=H_e([{\bf{f}}_e,{\bf{f}}_v\tilde{A^s},{\bf{f}}_v\tilde{A^t}]) fe′​=He​([fe​,fv​As~,fv​At~])

      在DGN块后添加一个BN层和一个ReLU层。

    • 自适应DGN块:增加一个固定拓扑的图相当于基于人体的先验知识对模型进行正则化,可以帮助模型收敛到全局最优。直接将关联矩阵设置为模型的参数,但是在最初的几个训练时期对其进行修正。在早期固定图形结构可以简化训练,而在后期取消图形结构可以为图形构建提供更大的灵活性。

    • 时间信息建模:

      在更新每个DGN块中的关节和骨骼空间信息之后,我们沿着时间维度应用1D卷积来建模时间信息,因为所有帧中相同的关节或骨骼可以自然地组织成1D序列。每个1D卷积层之后是BN层和ReLU层,以形成时间卷积块(TCN)。DGNN总体结构9个单元,每个单元包含一个DGN块和一个TCN块。这些单元的输出通道是64、64、64、128、128、128、256、256和256。在类预测的末尾添加一个全局平均池层,后面是softmax层。

    • 双流框架:我们在这项工作中提取了关节的运动和骨骼的变形来帮助识别。由于骨架数据被表示为关节的坐标,关节的运动很容易被计算为沿时间维度的坐标差。类似地,骨骼的变形被表示为连续帧中相同骨骼的向量之差。与空间信息建模一样,运动信息被公式化为一系列有向无环图,然后运动图形被馈送到另一个DGNN,以对动作标签进行预测。通过将softmax层的输出分数相加,最终融合两个网络。

(四)实验

不同自适应图形策略准确率比较:原始关联矩阵A(没有自适应图策略);PA:掩模P×A,初始化为1;P+A:设置P为剩余连接初始化为0加到A;P0:直接把关联矩阵设置为P用A初始化;P10:关联矩阵被设置为模型的参数并用A初始化但是前10个时期被固定——

双流框架融合VS空间信息VS时间信息:

与最先进方法比较:

DGNN:Skeleton-Based Action Recognition with Directed Graph Neural Networks相关推荐

  1. 阅读Skeleton-Based Action Recognition with Directed Graph Neural Networks(CVPR2019)

      Skeleton-Based Action Recognition with Directed Graph Neural Networks是Lei Shi等人的另一篇文章,和之前的2s-AGCN以 ...

  2. 小样本论文笔记5:Model Based - [6] One-shot learning with memory-augmented neural networks.

    小样本论文笔记5:Model Based - [6] One-shot learning with memory-augmented neural networks 文章目录 小样本论文笔记5:Mod ...

  3. DeepID3:Face Recognition with Very Deep Neural Networks

    参考文献:<DeepID3:Face Recognition with Very Deep Neural Networks> 1 网络结构 2 特征提取 3 人脸验证

  4. Action Recognition Using Attention-Joints Graph Convolutional Neural Networks翻译

    对Action Recognition Using Attention-Joints Graph Convolutional Neural Networks(19年ieee上的一篇)这篇论文的翻译,可 ...

  5. 论文阅读笔记:Link Prediction Based on Graph Neural Networks

    文章目录 说明 Abstract 1 Introduction 2 Preliminaries Notations Latent features and explicit features Grap ...

  6. Paper:《Graph Neural Networks: A Review of Methods and Applications—图神经网络:方法与应用综述》翻译与解读

    Paper:<Graph Neural Networks: A Review of Methods and Applications-图神经网络:方法与应用综述>翻译与解读 目录 < ...

  7. Graph Neural Networks: A Review of Methods and Applications(图神经网络:方法与应用综述)

    Graph Neural Networks: A Review of Methods and Applications 图神经网络:方法与应用综述 Jie Zhou , Ganqu Cui , Zhe ...

  8. Paper:《Graph Neural Networks: A Review of Methods and Applications》翻译与解读

    Paper:<Graph Neural Networks: A Review of Methods and Applications>翻译与解读 目录 <Graph Neural N ...

  9. FreeKD:Free-direction Knowledge Distillation for Graph Neural Networks

    标题:FreeKD:Free-direction Knowledge Distillation for Graph Neural Networks 1.什么是知识蒸馏? 1.1 什么是知识: we t ...

最新文章

  1. 将csv文件导入mysql
  2. 分享apache http服务器设置虚拟主机的方法
  3. js富文本编辑器_自制富文本编辑器
  4. Web前端到底需要学什么?应该怎么学?
  5. 动态代理的概述和实现
  6. 2021-07-3022
  7. jquery mobile 移动web(5)
  8. Dynamics CRM On-Premise V9安装手记
  9. Bootstrap 导航条的组件
  10. day28 java的IO流 (1)对IO的初步了解
  11. 学习ASP.NET Core Razor 编程系列三——创建数据表及创建项目基本页面
  12. 数据库msqlserver的几种类型及解决MSSQLServer服务启动不了的问题
  13. aixdb2安装手册_AIX下安装db2数据库步骤
  14. C语言解决累加和累乘问题
  15. 腾讯云Ubuntu服务器安装Python3.6的虚拟环境
  16. android imageview 获取bitmap缩放大小,android – Imageview缩放方法“centercrop”作为代码...
  17. RTX2.02 tiny中文手册
  18. WPE封包外挂教程(上)
  19. 关于Terra和Aqua的轨道问题整理
  20. 深度学习技术在医疗领域的研究方向及应用

热门文章

  1. android 弹性动画,Android开发SpringAnimation实现弹性动画
  2. K12教育培训机构未来的发展趋势
  3. 获取2022年最新行政区划
  4. 小tip: base64:URL背景图片与web页面性能优化——张鑫旭
  5. 录音转文字app有哪些?看完这篇文章你就知道了
  6. GVS广州建博会全回顾:有料,有得聊
  7. matlab函数大全
  8. 数值计算方法——Jacobi迭代法和G-S迭代法
  9. iOS与导航栏有关的神技
  10. 论韩剧如何影响一个人