2019CVPR Semantic Graph Convolutional Networks for 3D Human Pose Regression

基于语义图卷积网络的三维人体姿态回归

源码 https://github.com/garyzhao/SemGCN

摘要

在本文中,我们研究了学习图卷积网络(GCN)回归的问题。GCN的当前体系结构受限于卷积滤波器和共享的变换矩阵为的小感受野。为了解决这些限制,我们提出了语义图卷积网络(SemGCN),这是一种新型的神经网络架构,可以使用图结构数据进行回归任务。SemGCN学习捕获语义信息,例如局部和全局节点关系,这些信息在图中没有显式表示。这些语义关系可以通过端到端的训练从地面事实中学习,而无需额外的监督或手工制定的规则。我们进一步研究将SemGCN应用于3D人体姿势回归。我们的方法是直观和充分的,因为2D和3D人体姿势都可以表示为对人体骨架中的关节之间的关系进行编码的结构化图。我们进行了全面的研究,以验证我们的方法。结果证明SemGCN优于现有技术,同时使用少90%的参数。

引言

卷积神经网络(CNN)已经成功地解决了经典的计算机视觉问题,如图像分类[12,29,31,52],对象检测[19,46,55,63,74,79]和生成[43,58,71,73,80],其中输入图像具有网格状结构。然而,许多现实世界的任务,例如,分子结构、社交网络和3D网格只能以不规则结构的形式表示,其中CNN具有有限的应用。

为了解决这个限制,最近引入了图卷积网络(GCN)[17,28,49]作为CNN的推广,可以直接处理一般类别的图。当应用于3D网格变形[45,64],图像字幕[70],场景理解[68]和视频识别[66,67]时,它们已经实现了最先进的性能。这些工作利用GCN来建模用于分类的视觉对象的关系。在本文中,我们研究了使用深度GCN进行回归,这是计算机视觉的另一个核心问题,具有许多现实世界的应用。

然而,由于基线方法的以下局限性,GCN不能直接应用于回归问题[28,64,67]。首先,为了处理图节点可能具有各种数量的邻域的问题,卷积滤波器为所有节点共享相同的权重矩阵,这与CNN不可比拟。其次,根据[28]的指导,通过限制滤波器在每个节点周围的一步邻域中操作来简化先前的方法。由于这种公式,卷积核的感受野被限制为1,这严重损害了信息交换的效率,特别是当网络更深时。

在这项工作中,我们提出了一种新的图神经网络架构的回归称为语义图卷积网络(SemGCN),以解决上述限制。具体来说,我们研究学习给定图中编码的语义信息,即,节点的局部和全局关系,这在以前的工作中没有得到很好的研究。SemGCN不依赖于手工制作的约束[10,13,51]来分析特定应用程序的模式,因此可以很容易地推广到其他任务。

特别是,我们研究SemGCN的2D到3D人体姿势回归。给定一个2D人体姿势(和可选的相关图像)作为输入,我们的目标是预测其对应的3D关节在某个坐标空间中的位置。使用SemGCN公式化这个问题是直观的。2D和3D姿势都能够以2D或3D坐标的形式自然地由规范骨架表示,SemGCN可以明确地利用它们的空间关系,这对于理解人类行为至关重要[67]。

我们的工作做出了以下贡献。首先,我们提出了一种改进的图卷积运算,称为语义图卷积(SemGConv),它来自CNN。其关键思想是学习边的通道权重作为图中隐含的先验,然后将它们与核矩阵相结合。这显著提高了图卷积的能力。其次,我们引入SemGCN,其中SemGConv和非局部[65]层交织。该体系结构捕获节点之间的本地和全局关系。第三,我们提出了一个端到端的学习框架,以表明SemGCN还可以结合外部信息,如图像内容,以进一步提高3D人体姿势回归的性能。

我们的方法的有效性进行了验证,通过全面的评估与严格的消融研究和比较,与最先进的标准3D基准。我们的方法与Human3.6M [24]上最先进技术的性能相匹配,仅使用2D关节坐标作为输入,参数减少90%。同时,我们的方法优于国家的最先进的结合图像特征。此外,我们还展示了SemGCN的可视化结果,定性地证明了我们的方法的有效性。请注意,所提出的框架可以很容易地推广到其他回归任务,我们将其留给未来的工作。

相关工作

GCN

将CNN推广到具有图形结构的输入是深度学习领域的一个重要课题。在文献中,已经有几次尝试使用递归神经网络来处理在图域中表示为有向无环图的数据[14]。在[17,28,49]中引入了GNN,作为处理任意图形数据的更常见的解决方案。在图上构造GCN的原理通常遵循两个流:光谱透视和空间透视。我们的工作属于第二个流[28,39,60],其中卷积滤波器直接应用于图节点及其邻居。最近对计算机视觉的研究已经通过利用GCN对视觉对象[68,70]或时间序列[66,67]之间的关系进行建模来实现最先进的性能。本文遵循他们的精神,同时我们探索将GCN应用于回归任务,特别是2D到3D人体姿势回归。

3D HPE

是3D姿态估计的关键。Martinez等人[34]介绍了一种简单而有效的方法,纯粹基于2D检测来预测3D关键点。Fang等人。[13]通过姿势语法网络进一步扩展了这种方法。这些工作集中在2D到3D姿态回归,这是最相关的本文的上下文。其他方法使用合成数据集,这些数据集是通过使用地面实况[8,42,48]对人类模板模型进行变形而生成的,或者除了关节之外,还引入了涉及高级知识[40,53,69]的损失函数。它们是对其他人的补充。剩余工作的目标是利用时间信息[11,18,21,57]进行3D姿态回归。它们超出了本文的范围,因为我们的目标是处理来自一个单个图像的2D姿态。然而,我们的方法可以很容易地扩展到序列输入,我们把它留给未来的工作。

语义图卷积网络

我们提出了一种新的图形网络架构来处理一般的回归任务,涉及的数据,可以表示在图的形式。首先介绍了GCN的背景和相关的基线方法。然后介绍了SemGCN的详细设计。

我们假设图数据共享相同的拓扑结构,例如人类骨架[10,26,61,67],3D变形模型[33,45,72]和引用网络[50]。在同一域中具有不同图结构的其他问题,例如,蛋白质-蛋白质相互作用[60]和量子化学[15]不在本文的范围内。这个假设使得学习图结构中隐含的先验成为可能,这激发了SemGCN。

1.ResGCN:基线

我们将首先简要回顾[28]中提出的“vanilla”GCN。设G = {V,E}表示一个图,其中V是K个节点的集合,E是边,而x(l)i ∈ RDl和x(l+1)i ∈ RDl+1分别是节点i在第l次卷积之前和之后的表示。基于图的卷积传播可以在两个步骤中应用于节点i。首先,节点表示由可学习的参数矩阵W ∈ RDl+1×Dl变换。其次,这些变换后的节点表示从其相邻节点j ∈ N(i)收集到节点i,然后是非线性函数(ReLU [37])。如果节点表示被收集到矩阵X(l)∈ RDl×K中,则卷积运算可以写为:

其中A 是从常规GCN中的A对称归一化的。A ∈ [0,1]K×K是G的邻接矩阵,对于节点j ∈ N(i),αij = 1,αii = 1.

Wang等人。[64]根据等式重新表述了一个非常深的图网络。1与残差连接[20]学习图像特征和3D顶点之间的映射。我们采用它的网络架构,并把它作为我们的基线表示为ResGCN。

上面的式子有两个明显的缺点

首先,为了使图卷积在具有任意拓扑的节点上工作,所有边共享学习的核矩阵W。结果,相邻节点的关系或图中的内部结构没有被很好地利用。其次,以前的工作只在第一个结点收集特征,这也是有限的,因为感受野固定为1。

2. Semantic Graph Convolutions

我们表明,学习语义关系的相邻节点隐含在边缘的图形是有效的,以解决共享的核矩阵的限制。所提出的方法基于CNN的概念。图1(a)显示了卷积核大小为3 × 3的CNN。它学习了九个彼此不同的变换矩阵,以在空间维度上对内核内部的特征进行编码。这使得操作具有对图像中包含的特征模式进行建模的表达能力。我们发现,这个公式可以通过学习每个位置的加权向量ai来近似,然后将它们与共享的变换矩阵W相结合。如果我们将图像特征图表示为其节点表示像素的正方形网格图,则该近似公式可以直接扩展到GCN,如图1(c)所示

图1

所提出的语义图卷积的图1示。(a)CNN的3×3卷积核(以绿色突出显示)为内核内的每个位置学习不同的变换矩阵wi。我们通过学习每个位置的加权向量ai和共享变换矩阵W来近似它。(b)常规GCN仅学习用于所有节点的共享变换矩阵w0。(c)(a)中的近似公式可以直接扩展到(b):我们为图中的每个节点添加附加的可学习权重ai。(d)我们进一步扩展(c)以学习每个节点的信道加权向量ai。在将它们与GCN中的香草变换矩阵W相结合之后,我们可以获得一种新的具有与CNN相当的学习能力的图的核运算。学习到的权重向量示出了图中隐含的相邻节点的局部语义关系。

 为此,我们提出了语义图卷积(SemGConv),其中我们将可学习的加权矩阵M ∈ RK×K添加到传统的图卷积中。上面的公式就可以转换为:

其中ρi是Softmax非线性,其在节点i的所有选择上归一化输入矩阵;是一个元素级运算,如果aij = 1,则返回mij,或者返回在ρi之后具有饱和到零的大指数的负数; A充当掩码,其强制对于图中的节点i,我们仅计算其相邻节点j ∈ N(i)的权重。

如图1(d),我们可以进一步扩展上式,通过学习Md ∈ RK×K的集合,使得不同的加权矩阵被应用于输出节点特征的每个通道d:

其中 || 表示逐通道级联,并且wd是变换矩阵W的第d行。

3.与之前GCN的比较

aGCN [68]和GAT [60]都遵循自注意策略[59],通过关注其邻居来计算图中每个节点的隐藏表示。他们的目标是根据边缘的输入来估计加权函数,以调制整个图中的信息流。相比之下,我们的目标是学习表示图结构中隐含的先验的边的输入无关权重,例如,在人体姿势估计中,一个关节如何影响其他身体部位。

STGCN [67]中引入的边缘重要性加权掩模是与我们最相关的工作,但具有以下两个显著差异。首先,在[67]加权后没有利用Softmax非线性,而我们发现它稳定了训练并获得了更好的结果,因为节点对其邻居的贡献被Softmax归一化。其次,ST-GCN仅将一个单个可学习掩码应用于所有信道,但我们学习用于边的信道方式的不同权重。因此,我们的模型具有更好的能力,以适应数据映射。

网络架构

捕获图中节点之间的全局和远程关系能够有效地解决有限的感受野的问题。然而,为了保持GCN的行为,我们通过基于其表示而不是学习新的卷积滤波器来计算节点之间的响应来限制特征更新机制。因此,我们遵循非局部均值概念[5,65]并将运算定义为:

其中Wx被初始化为零; f是计算节点i和所有其他j之间的亲和度的成对函数; g计算节点j的表示。在实践中,上式可以通过[65]中提出的非局部层来实现。

基于等式3和4,我们提出了一种新的网络架构回归任务称为语义图卷积网络,其中SemGConv和非本地层交织以捕获节点的本地和全局语义关系。图2示出了示例。在这项工作中,所有块中的SemGCN具有相同的结构,其包括由具有128个通道的两个SemGConv层构建的一个残余块[20],然后是一个非局部层。重复该块几次以使网络更深。在网络开始时,一个SemGConv用于将输入映射到潜在空间;并且我们有一个额外的SemGConv,它将编码的特征投影回输出空间。所有SemGConv层之后都是批处理归一化[22]和ReLU激活[37],除了最后一个。请注意,如果SemGConv层被替换为vanilla图卷积并且所有非局部层被移除,则SemGCN降级为ResGCN

提出的语义图卷积网络的示例。我们的网络的构建块是由两个具有128个通道的SemGConv层构建的一个剩余块[20],然后是一个非本地层[65]。该块重复四次。所有SemGConv层之后都是批处理归一化[22]和ReLU激活[37],除了最后一个。

3D人体姿态回归

在本节中,我们提出了一种新颖的端到端可训练框架,其在Sect. 3用图像特征进行三维人体姿态回归。

1.框架概述

最近,证明了可以通过仅使用2D人体姿势作为系统输入来直接获得准确的3D姿势估计[34]。形式上,给定预定义相机坐标系中的一系列2D关节P ∈ RK×2及其对应的3D关节J ∈ RK×3(K是关节的数量),系统旨在学习回归函数F *,其在包含N个人类姿势的数据集上最小化以下误差:

我们认为,图像内容是能够提供重要的线索,解决模棱两可的情况下,如经典的转向芭蕾舞演员的视错觉。因此,我们扩展了上式,通过将图像内容视为附加约束。扩展公式可以表示为:

 

 其中Ii是包含2D关节Pi的对准人体姿势的图像。在实践中,P可以在已知相机参数下或从2D联合检测器获得作为2D地面实况位置。在后一种情况下,2D检测器已经在训练过程期间编码了输入图像的感知特征。这一观察激励了我们的框架的设计。

我们的框架的概述如图3所示,整个框架由两个神经网络组成。给定图像,利用一个深度卷积网络进行2D关节预测;同时,它还充当骨干网络,并且从其中间层汇集图像特征。由于2D和3D关节坐标可以编码在人体骨骼中,所提出的SemGCN用于自动捕获嵌入在人体关节的空间配置中的模式。它预测3D坐标根据2D姿态以及感知特征从骨干网络。

图3

2.感知特征池

ResNet [20]和HourGlass [38]在传统的人体姿态检测问题中被广泛采用。从经验上讲,我们采用ResNet作为骨干网络,因为它的中间层提供了图像的分层特征,这些特征在对象检测和分割等计算机视觉问题中非常有用[46,74]。给定输入图像中每个2D关节的坐标,我们从ResNet中的多个层中汇集特征。特别地,我们使用RoIAlign [19]连接从层conv 1到conv 4提取的特征。然后将这些感知特征与2D坐标连接并馈送到SemGCN中。注意,由于输入图像中的所有关节共享相同的尺度,因此我们将特征汇集在以具有固定大小的每个关节为中心的方形边界框中,即,骨骼的平均骨长。这示于图3.

3.损失函数

大多数先前的基于回归的方法直接最小化预测和地面真实关节位置[6,34,57,76]或骨骼向量[53]的均方误差(MSE)。遵循他们的精神,我们采用人体姿势中关节和骨骼约束的简单组合作为我们的损失函数,其定义为:

其中J = {~ Ji| i = 1,...,K}是预测的3D关节坐标,并且B = {~ Bi| i = 1,...,M}是从J计算的骨骼; Ji和Bi是数据集中对应的地面实况。每个骨骼都是从起始关节指向其相关父关节的有向向量,如[53]中所定义。

Experiments

1.实现细节

网络训练

我们使用[54]中的ResNet50作为我们的骨干网络,它与积分损失兼容,并在ImageNet上进行了预训练[9]。在训练过程中,我们使用Adam [27]进行优化,初始学习率为0.001,并使用大小为64的小批量。当验证集上的损失饱和时,学习率以0.5的衰减率下降。我们使用[16]中描述的初始化来初始化图网络的权重。

结论

我们提出了一种新的模型,三维人体姿态回归,语义图卷积网络(SemGCN)。我们的方法通过学习图中节点之间的局部和全局语义关系,解决了GCN的关键挑战。SemGCN和从图像内容汇集的特征的组合进一步提高了3D人体姿势估计的性能。综合评价结果表明,我们的网络获得了最先进的性能与90%的参数减少相比,最接近的工作。拟议的SemGCN也开辟了许多可能的方向,为未来的工作。例如,如何将时间信息(如视频)合并到SemGCN中成为一个自然的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/101041.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

并发 04(Callable,CountDownLatch)详细讲解

并发 Callable 1 可以返回值 2可以抛出异常 泛型指的是返回值的类型 public class Send {public static void main(String[] args) {//怎么启动Callable//new Thread().start();Aaa threadnew Aaa();FutureTask futureTasknew FutureTask(thread);new Thread(futureTask,&qu…

划分字母区间【贪心算法】

划分字母区间 给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。 注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是 s 。返回一个表示每个字符串片段的长度的列表。…

深度学习6:自然语言处理-Natural language processing | NLP

目录 NLP 为什么重要? 什么是自然语言处理 – NLP NLP 的2大核心任务 自然语言理解 – NLU|NLI 自然语言生成 – NLG NLP(自然语言处理) 的5个难点 NLP 的4个典型应用 NLP 的 2 种途径、3 个核心步骤 总结 自然语言处理 NLP 为什么重要? “语言…

Unity3D下如何采集camera场景数据并推送RTMP服务?

Unity3D使用场景 Unity3D是非常流行的游戏开发引擎,可以创建各种类型的3D和2D游戏或其他互动应用程序。常见使用场景如下: 游戏开发:Unity3D是一个广泛用于游戏开发的环境,适用于创建各种类型的游戏,包括动作游戏、角…

汽车电子笔记之:基于AUTOSAR的多核监控机制

目录 1、概述 2、系统监控的目标 2.1、任务的状态机 2.2、任务服务函数 2.3、任务周期性事件 2.4、时间监控的指标 2.5、时间监控的原理 2.6、CPU负载率监控原理 2.6.1、设计思路 2.6.2、监控方法的评价 3、基于WDGM模块热舞时序监控方法 3.1、活跃监督 3.2、截至时…

wireshark 流量抓包例题

一、题目一(1.pcap) 题目要求: 1.黑客攻击的第一个受害主机的网卡IP地址 2.黑客对URL的哪一个参数实施了SQL注入 3.第一个受害主机网站数据库的表前缀(加上下划线例如abc) 4.第一个受害主机网站数据库的名字 看到题目SQL注入&#xff0c…

Modbus通信协议

Modbus通信协议 一、概述 Modbus通信协议是一种工业现场总线协议标准,常用的Modbus协议有以下三种类型:Modbus TCP、Modbus RTU、Modbus ASCll。 Modbus通信协议解决了通过串行线路在电子设备之间发送信息的问题。该协议在遵循该协议的体系结构中实现主…

CSAPP的Lab学习——BombLab

文章目录 前言一、一号炸弹(小试牛刀)二、二号炸弹(六重循环)三、三号炸弹(不同输入,不同答案)四、四号炸弹(判断语句的实现)五、五号炸弹(跳转,循…

【MTK平台】根据kernel log分析wifi scan的时候流程

一 概要: 本文主要讲解根据kernel log分析下 当前路径下(vendor/mediatek/kernel_modules/connectivity/wlan/core/gen4m/)wifi scan的时候代码流程 二. Log分析: 先看Log: 2.1)在Framework层WifiManager.java 方法中,做了一个标记,可以精准的确认时间 这段log可以…

探索UniApp分包

目录 什么是UniApp分包? UniApp分包的原理 优势 如何使用UniApp分包 1.manifest.json文件配置 2.静态图片资源分包注意事项 3.pages.json配置 结论 探索UniApp分包:优化移动应用性能与用户体验 在移动应用开发领域,性能和用户体验是至…

【vue2第七章】vue的四个生命周期与八个钩子函数

vue的四个生命周期与八个钩子函数 Vue的四个生命周期有:创建(creation)、挂载(mounting)、更新(updating)和销毁(destroying)。 钩子函数是什么: vue生命周…

vue3下的密码输入框(antdesignvue)

参考:vue下的密码输入框 注意:这是个半成品,有些问题(input输入框加了文字间距letter-spaceing,会导致输入到第6位的时候会往后窜出来一个空白框、光标位置页会在数字前面),建议不采用下面这种方式,用另外的(画六个input框更方便) 效果预览 实现思路 制作6个小的正方…

Linux中Tomcat发布war包后无法正常访问非静态资源

事故现象 在CentOS8中安装完WEB环境,首次部署WEB项目DEMO案例,发现可以静态的网页内容, 但是无法向后台发送异步请求,全部出现404问题,导致数据库数据无法渲染到界面上。 原因分析 CentOS请求中提示用来获取资源的连…

Prometheus监控(一)

文章目录 监控对于企业和运维工作的重要性监控?告警?数据采集 Prometheus介绍Prometheus相对于老牌监控的优势和不足 理想的监控系统的实现监控系统设计(架构师)监控系统的搭建数据采集的编写监控数据分析和算法稳定性测试监控自动…

IPC进程间通信及示例代码

一. 什么是进程通信 进程通信( InterProcess Communication,IPC)就是指进程之间的信息交换。实际上,进程的同步与互斥本质上也是一种进程通信(这也就是待会我们会在进程通信机制中看见信号量和 PV 操作的原因了&#x…

什么?内存爆了?详细解读虚拟内存机制

不知道大家在运行自己写的程序时,有没有发现一个问题:就是物理机器明明只有8G内存,但是我们运行的程序却可以申请到16G的内存?或者说机器上运行的多个进程,占用的总内存已经远超物理内存了,却还能正常工作。…

pdf转换成图片免费软件用哪个?pdf转换成图片就用它

随着技术的发展,现在企业办公运用到的电子文档各种各样,我们日常需要掌握的技能越来越高要求,其中pdf和图片是我们经常接触的文件格式之一,而且这两个文件格式我们会经常将它们进行转换,那么pdf转换成图片怎么操作呢?…

LDAP服务器如何重启

1、find / -name ldap 该命令只会从根路径下查看ldap文件夹 find / -name ldap2、该命令会从根路径/查看所有包含ldap路径的文件夹,会查询出所有,相当于全局查询 find / -name *ldap*2、启动OpenLADP 找到LDAP安装目录后,执行以下命令 #直…

数字孪生智慧仓储的关键特点和优势有哪些

数字孪生智慧仓储是一种基于数字孪生技术的智能仓储解决方案。数字孪生是指使用数字模型来模拟和仿真现实世界中的物理实体或系统的技术。在智慧仓储的上下文中,数字孪生被用来创建虚拟的仓储环境,以实时监测、优化和管理仓储操作。 数字孪生智慧…

vue3升级了些什么

Vue 3 升级了以下几个方面的内容: 响应式系统:Vue 3 使用了 Proxy 对象来替代 Vue 2 中的 Object.defineProperty,这使得响应式系统更加高效和灵活。Vue 3 的响应式系统可以追踪更细粒度的依赖关系,提供了更好的性能和更细致的响应…