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中成为一个自然的问题。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(三)行为模式:7、观察者模式(Observer Pattern)(C++示例)

目录 1、观察者模式(Observer Pattern)含义 2、观察者模式的UML图学习 3、观察者模式的应用场景 4、观察者模式的优缺点 (1)优点: (2)缺点 5、C实现观察者模式的实例 1、观察者模式&…

Modbus通信协议

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

本地虚机Jumpserver使用域名访问报错 使用IP+端口没有错误

背景: 我在本地Windows VMware 15的环境中部署了CentOS7.5,下载jumpserver-offline-installer-v2.28.1-amd64-138.tar.gz并安装部署。 需求: 1、能使用http:ip访问堡垒机。达成; 2、能使用http:域名访问堡垒机。达成&#xff…

基于大语言模型知识问答应用落地实践 – 知识库构建(下)

上篇介绍了构建知识库的大体流程和一些优化经验细节,但并没有结合一个具体的场景给出更细节的实战经验以及相关的一些 benchmark 等,所以本文将会切入到一个具体场景进行讨论。 目标场景:对于 PubMed 医疗学术数据中的 1w 篇文章进行知识库构…

c++(8.29)auto关键字,lambda表达式,数据类型转换,标准模板库,list,文件操作+Xmind

作业: 封装一个学生的类,定义一个学生这样类的vector容器, 里面存放学生对象(至少3个) 再把该容器中的对象,保存到文件中。 再把这些学生从文件中读取出来,放入另一个容器中并且遍历输出该容器里的学生。…

CSS transition 过渡

1 前言 CSS过渡(transition)可以在一个元素切换到另一种状态时为其定义平滑的过渡效果。 例如,用户鼠标悬停在按钮上时,按钮颜色平滑的从一个颜色过渡到另一个颜色。 .btn:hover{background-color: red;color: black; }默认悬停效果 添加过渡效果 .b…

网工内推 | 上市公司,IT工程师、服务器工程师,IP以上优先

01 烟台睿创微纳技术股份有限公司 招聘岗位:IT工程师 职责描述: 1、负责网络及安全架构的规划、设计、性能优化; 2、负责网络设备的安装、配置、管理、排错、维护,提供网络设备维护方案; 3、负责防火墙、上网行为管理…

滑动窗口和双指针

滑动窗口和双指针 一、循环不变量1.1 定义1.2 总结 二、使用循环不变量写对代码2.1 注意2.2 总结 三、滑动窗口3.1 固定长度的滑动窗口(同向交替移动的两个变量)3.2 不定长度的滑动窗口3.2.1 定义3.2.2 总结 3.3 计数问题3.3.1 标准3.3.2 总结 3.4 使用数…

前端基础4——jQuery

文章目录 一、基本了解1.1 导入jQuery库1.2 基本语法1.3 选择器 二、操作HTML2.1 隐藏和显示元素2.2 获取与设置内容2.3 获取、设置和删除属性2.4 添加元素2.5 删除元素2.6 设置CSS样式 三、jQuery Ajax3.1 基本语法3.2 回调函数3.3 常用HTTP方法3.4 案例一3.4.1 准备工作3.4.2…

go语言配置

1、Go语言的环境变量 与Java等编程语言一样,安装Go语言开发环境需要设置全局的操作系统环境变量(除非是用包管理工具直接安装) 主要的系统级别的环境变量有两个: (1)GOROOT:表示Go语言环境在计算机上的安…

springboot docker

在Spring Boot中使用Docker可以帮助你将应用程序与其依赖的容器化,并简化部署和管理过程。 当你在Spring Boot中使用Docker时,你的代码不需要特殊的更改。你可以按照通常的方式编写Spring Boot应用程序。 java示例代码,展示了如何编写一个基…

lv3 嵌入式开发-3 linux shell命令(权限、输入输出)

1 Shell概述 随着各式Linux系统的图形化程度的不断提高,用户在桌面环境下,通过点击、拖拽等操作就可以完成大部分的工作。 然而,许多Ubuntu Linux功能使用shell命令来实现,要比使用图形界面交互,完成的更快、更直接。…

MOS场效应管

导体三极管中参与导电的有两种极性的载流子,所以也称为双极型三极管。本文将介绍另一种三极管,这种三极管只有一种载流子参与导电,所以也称为单极型三极管,因为这种管子是利用电场效应控制电流的,所以也叫场效应三极管…

JVM 垃圾收集器

重点:CMS,G1,ZGC 主要垃圾收集器如下,图中标出了它们的工作区域、垃圾收集算法,以及配合关系。 Serial 收集器 Serial 收集器是最基础、历史最悠久的收集器。 如同它的名字(串行)&#xff0c…

使用实体解析和图形神经网络进行欺诈检测

图形神经网络的表示形式(作者使用必应图像创建器生成的图像) 一、说明 对于金融、电子商务和其他相关行业来说,在线欺诈是一个日益严重的问题。为了应对这种威胁,组织使用基于机器学习和行为分析的欺诈检测机制。这些技术能够实时…

从0创建vite+vue3项目遇到的一些坑

使用ws自动创建的vitevue3项目后设置不了alias 答:不懂原理,但是有其他方法解决。直接在命令行执行“npm init vitelatest"后,一路选下去有create-vue的选项,就选这个create-vue创建;创建后会自动导入一个叫node…

滑动窗口最大值

题目链接 滑动窗口最大值 题目描述 注意点 只可以看到在滑动窗口内的 k 个数字返回 滑动窗口中的最大值1 < k < nums.length 解答思路 首先使用双端队列解决本题&#xff0c;队列中存储的是元素在数组中的下标&#xff0c;不断往队尾添加元素下标。在双端队列中&…

【图解算法数据结构】分治算法篇 + Java代码实现

文章目录 一、重建二叉树二、数值的整数次方三、打印从 1 到最大的 n 位数四、二叉搜索树的后序遍历序列五、数组中的逆序对 一、重建二叉树 public class Solution {int[] preorder;HashMap<Integer, Integer> dic new HashMap<>();public TreeNode buildTree(in…

算法:分治思想处理归并递归问题

文章目录 算法原理实现思路典型例题排序数组数组中的逆序对计算右侧小于当前元素的个数 总结 算法原理 利用归并思想进行分治也是很重要的一种思路&#xff0c;在解决逆序对的问题上有很大的需求空间 于是首先归并排序是首先的&#xff0c;归并排序要能写出来&#xff1a; c…

Linux学习之vsftpd虚拟用户

/etc/vsftpd/vsftpd.conf里边有几项跟vsftpd虚拟用户有关的主要配置&#xff1a; guest_enableYES&#xff0c;允许匿名用户登录vsftpd guest_usernamevirtual&#xff0c;指定虚拟用户账户为virtual&#xff0c;就是把虚拟用户映射成Linux本地用户&#xff0c;这样可以使用Lin…