| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 论文超详细精读|八千字:DGNN -> 正文阅读 |
|
[人工智能]论文超详细精读|八千字:DGNN |
文章目录前言笔者从人工智能小白的角度,力求能够从原文中解析出最高效率的知识。
总览首先,看完标题《Skeleton-Based Action Recognition with Directed Graph Neural Networks》,摘要和结论,我了解到了以下信息: 一、Introduction背景1.三种方法下,关节坐标表示:
2.骨骼方向和长度信息的重要性:代表骨骼方向和长度的骨骼信息是直观的,因为我们人类会很自然地根据人体骨骼的方向和位置来评估行动,而不是关节的位置。 问题解决过程1.解决关节和骨骼之间依赖性的问题:作者将骨架表示为一个有向无环图,其中关节为顶点,骨骼为边,关节和骨骼之间的依赖关系可以很容易地通过图的有向边建模。在此基础上,设计了一种新颖的有向图神经网络(DGNN)对所构建的有向图进行建模,该有向图可以在相邻关节和骨骼中传播信息,并在每一层更新相关信息。最终提取的特征不仅包含了每个关节和骨骼的信息,还包含了它们之间的依赖关系,便于动作识别。 主要贡献1.有向无环图:第一个将骨骼数据表示为有向无环图来建模关节和骨骼之间的依赖关系的工作。设计了一种新的有向图神经网络来提取这些依赖关系,以完成最终的动作识别任务。 二、Related work2.1 Skeleton-based action recognition(骨架动作识别)1.基于深度学习的方法主要有三种框架:
与基于序列的方法和基于图像的方法相比,基于图形的方法更加直观,因为人体的自然组织形式是一个图形,而不是一个序列或图像。 2.2 Graph networks(图网络)直接在图上操作和解决基于图的问题的方法: 三、Method实现过程如下: 3.1 Bone Information(骨骼信息)骨骼表示为两个相连关节之间的坐标差。以三维骨骼数据为例:原始数据中的关节被表示为一个具有三个元素的向量,即其x坐标、y坐标和z坐标。给定两个关节 v 1 = ( x 1 , y 1 , z 1 ) v_1 = (x_1, y_1, z_1) v1?=(x1?,y1?,z1?) 和 v 2 = ( x 2 , y 2 , z 2 ) v_2 = (x_2, y_2, z_2) v2?=(x2?,y2?,z2?) ,从 v 1 v_1 v1? 连接到 v 2 v_2 v2? 的骨可用两个关节向量的差表示,即 e v 1 , v 2 = ( x 1 ? x 2 , y 1 ? y 2 , z 1 ? z 2 ) e_{v_1,v_2} = (x_1?x_2, y_1?y_2, z_1?z_2) ev1?,v2??=(x1??x2?,y1??y2?,z1??z2?) 。 3.2 Graph Construction(图的构建)1.以前:传统的方法总是将骨架数据建模为矢量序列或伪图像,由RNN或CNN处理。
3.3 Directed graph neural network(有向图神经网络)上一步已经将骨骼数据表示为有向图,现在的问题在于如何提取图中包含的信息用于动作分类,特别是如何利用图中关节和骨骼之间的依赖关系。本文提出了一个有向图神经网络DGNN来解决这个问题。 网络结构: 如何表示局部和全局信息?1.在底层,每个顶点或边只能从其相邻的边或顶点接收属性。这些层中的模型旨在在更新属性时提取顶点和边的局部信息。例如,模型可以提取关节的角度信息,只需要一个关节及其两个相连骨骼的信息。 3.3.1 Directed graph network block(有向图网络块)有向图网络(DGN)块是有向图神经网络的基本块,包含:
该过程也可以概括为顶点更新过程,之后是边更新过程,如上图所示。 本文中聚合函数:传入边和传出边中应用平均池化。 3.3.2 Implementation of the DGN block(DGN区块的实施)在实现DGN块时,
根据上一节,我们知道,DCN块关键是找到每个顶点的输入边和输出边,还有每个边的源顶点和目标顶点,因此,作者使用了图的关联矩阵:
为了分离源顶点和目标顶点,作者使用 A S A^S AS 来表示源顶点的关联矩阵,该矩阵只包含 A A A 中小于0的元素的绝对值。同样,我们将 A t A^t At 定义为目标顶点的关联矩阵,它只包含 A A A 中大于0的元素。例如,等式2显示了图1(a)所示的图的关联矩阵及其对应的 A s A^s As 和 A t A^t At 。 给定输入张量和关联矩阵,我们现在可以过滤所需的边和顶点,并通过矩阵乘法执行聚合功能。例如,给定 f v f_v fv? 和 A s A^s As,我们首先将 f v f_v fv? 重塑为 C T × N v CT×N_v CT×Nv?矩阵;然后, f v f_v fv? 和 A s A_s As? 的乘法可以提供 C T × N e CT×N_e CT×Ne? 张量。根据矩阵乘法的定义,该张量的每个元素对应于对应边的源顶点的和。 3.3.3 Adaptive DGN block(自适应DGN块)1.目前存在问题:DGN块的输入图形是根据人体的自然结构手动设计的。但这种配置可能不适合动作识别任务。例如,左手和右手之间没有联系,然而,对于许多动作,如鼓掌和拥抱,双手之间的关系对于识别很重要。 2.传统解决方法:为了给图的构造提供更大的灵活性,传统方法的目的是在训练过程中通过学习图结构的拓扑来构造自适应图。例如,在原始邻接矩阵上应用注意图,为不同的边分配不同级别的重要性。 3.如果用
A
o
A_o
Ao? 表示原邻接矩阵,则新的邻接矩阵
A
A
A 的计算公式为
A
=
P
A
o
A=PA_o
A=PAo?。 4.与ST-GCN不同的是,Shih等人直接将邻接矩阵设置为网络参数。为了稳定训练过程,他们设置了
A
=
A
o
+
P
A=A_o+P
A=Ao?+P,其中
P
P
P 的大小与
A
o
A_o
Ao?相同,并被初始化为
0
0
0 。这样,如果需要,可以在学习过程中通过参数
P
P
P 添加新的边。 5.本文解决方法:作者发现《NonLocal Graph Convolutional Networks for Skeleton-Based Action Recognition.》中有或没有
A
o
A_o
Ao?的情况的区别,主要在于训练过程的开始(注意,这里的
A
A
A 表示关联矩阵,而不是像以前的工作那样表示邻接矩阵)。这一结果是直观的,因为训练过程的开始存在更多的不确定性,因此,约束较少但参数较多的模型容易收敛到局部最优。添加固定拓扑图相当于基于人体先验知识对模型进行正则化,可以帮助模型收敛到全局最优。 3.3.4 Temporal information modeling(时态信息建模)通常,一个动作被记录为一系列基于骨架的帧。 传统做法:伪三维CNN在基于RGB的动作识别领域表现出了其优越性,它先用二维卷积对空间信息建模,再用一维卷积对时间信息建模。伪三维CNN通过对时空维度的解耦,可以更经济有效地对时空信息进行建模。 本文:受此启发,作者在**更新每个DGN块中关节和骨骼的空间信息后,沿时间维度应用一维卷积对时间信息进行建模。**这很容易实现,因为所有框架中的相同关节或骨骼可以自然地组织成一维序列。 网络框架:与DGN块类似,每个1D卷积层后面都跟着一个BN层和一个ReLU层,形成一个时域卷积块(TCN)。 3.3.5 Two-Stream Framework(双流框架)传统做法:一些动作,比如“站起来”和“坐下来”,很难从空间信息中识别出来。传统的基于RGB的动作识别方法通常使用光流场来描述视频的运动信息,其计算连续帧之间的像素运动信息。 本文:受这些方法的启发,作者提取了关节的运动和骨骼的变形,以帮助识别。由于骨骼数据表示为关节的坐标,因此关节的运动很容易计算为沿时间维度的坐标差。类似地,骨骼的变形表示为连续帧中同一骨骼的矢量差。形式上,关节
v
v
v 在时间
t
t
t 中的运动计算为
m
v
t
=
v
t
+
1
?
v
t
m_{v_t} = v_{t+1}? v_{t}
mvt??=vt+1??vt? 骨骼变形的定义类似于
m
e
t
=
e
t
+
1
?
e
t
m_{e_t}=e_{t+1} ? e_t
met??=et+1??et?与空间信息建模一样,运动信息被表示为一系列有向非循环图 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 20:41:27- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |