【论文翻译】Semantic Graph Convolutional Networks for 3D Human Pose Regression

【iccv论文】https://openaccess.thecvf.com/content_CVPR_2019/papers/Zhao_Semantic_Graph_Convolutional_Networks_for_3D_Human_Pose_Regression_CVPR_2019_paper.pdf
【github】https://github.com/garyzhao/SemGCN

摘要

        在本文中,我们研究了用于回归的图卷积网络(GCNs)学习问题。目前的GCNs架构局限于每个节点的卷积滤波器和共享变换矩阵的小接受域。为了解决这些限制,我们提出了语义图卷积网络(SemGCN),这是一种新型的神经网络架构,可以在使用图结构数据的回归任务上运行。SemGCN学习捕获语义信息,如局部和全局节点关系,这些信息在图中没有显式表示。这些语义关系可以通过端到端训练来学习,而不需要额外的监督或手工制定的规则。我们进一步研究了将SemGCN应用于三维人体姿态回归。我们的公式是直观和充分的,因为2D和3D人体姿势都可以表示为编码人体骨骼中关节之间关系的结构化图。我们进行了全面的研究来验证我们的方法。结果证明,SemGCN在使用少90%参数的情况下性能优于目前的技术水平。

1. 介绍

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

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

        然而,由于基线方法的以下局限性,GCNs不能直接应用于回归问题[28,64,67]。首先,为了解决图节点可能有不同数量的邻域的问题,卷积滤波器对所有节点共享相同的权值矩阵,这与cnn不具有可比性。其次,通过将过滤器限制在每个节点周围的一步邻域内,根据[28]的指导,简化了前面的方法。由于这种形式,卷积核的接受域被限制为1,这严重影响了信息交换的效率,特别是当网络变深时。

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

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

        我们的工作有以下几点贡献:首先,我们提出了一种改进的图卷积操作,称为语义图卷积(SemGConv),它源自cnn。其关键思想是学习图中暗示的边的信道权值,然后将它们与核矩阵结合起来。这大大提高了图卷积的能力。其次,我们引入了SemGCN,其中SemGConv层与非局部[65]层交叉。该体系结构捕获节点之间的本地和全局关系。第三,我们提出了一个端到端学习框架,以表明SemGCN还可以合并外部信息,如图像内容,以进一步提高3D人体姿态回归的性能。

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

2. 相关工作

图卷积网络。将cnn推广到具有图状结构的输入是深度学习领域的一个重要课题。在文献中,已经有几次尝试使用递归神经网络来处理图域中表示的数据,如有向无环图[14]。gnn在[17,28,49]中被引入,作为处理任意图数据的更常见的解决方案。在图上构造GCNs的原理一般有两种:光谱视角和空间视角。我们的工作属于第二种流[28,39,60],其中卷积滤波器直接应用于图节点及其邻居。

最近关于计算机视觉的研究通过利用GCNs来建模视觉对象之间的关系[68,70]或时间序列[66,67],取得了最先进的性能。本文遵循了它们的精神,同时我们探索了将GCNs应用于回归任务,特别是2D到3D人体姿态回归。

三维姿态估计。Lee和Chen[30]首先研究了从相应的2D投影推断3D关节。后来的方法要么利用最近邻来细化姿态推断的结果[18,25],要么提取手工制作的特征[1,23,47],以供后期回归。其他方法创建了过完备基,适合将人体姿势表示为稀疏组合[2,4,44,62,77]。越来越多的研究集中在利用深度神经网络寻找二维和三维关节位置之间的映射。一些算法直接从图像中预测3D姿态[75],而其他算法则将2D热图与体积表示[41]、成对距离矩阵估计[36]或图像线索[56]相结合,用于3D人体姿态回归。

近年来,二维姿态信息已被证明是三维姿态估计的关键。马丁内斯等[34]在介绍了一种简单而有效的方法,预测3D关键点纯粹基于二维检测。Fang等[13]通过姿态语法网络进一步扩展了这种方法。这些工作主要集中在2D到3D的姿态回归,这与本文的背景最相关。

马丁内斯等[34]:A simple yet effective baseline for 3d human pose estimation

其他方法使用合成数据集,这些数据集是由使用ground true变形人类模板模型[8,42,48]生成的,或在关节之外引入涉及高级知识的损失函数[40,53,69]。它们是相互补充的。剩余的工作目标是利用时间信息[11,18,21,57]进行三维姿态回归。它们超出了本文的范围,因为我们的目标是处理来自单张图像的2D姿态。然而,我们的方法可以很容易地扩展到序列输入,我们把它留给将来的工作。
 

3. Semantic Graph Convolutional Networks

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

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

3.1. ResGCN: A Baseline

        我们将首先简要回顾[28]中提出的 ‘vanilla’ GCNs。设G = {V, E}表示一个图,其中V是K个节点的集合,E是边,\vec{​{x_{i}^{l}}}\mathbb{R}^{D_{i}}\vec{x_{i}^{l+1}}\mathbb{R}^{D_{i+1}}分别是节点i在第l个卷积之前和之后的表示。基于图的卷积传播可以分两步应用到节点 ^{i} 。首先,节点表示由一个可学习参数矩阵W∈\mathbb{R}^{D_{l+1}\times D_{i} }进行转换。其次,这些转换后的节点表示从其邻近节点j∈N (i)聚集到节点 ^{i} ,紧接的是一个非线性函数(ReLU[37])。如果将节点表示集合到矩阵X^{l}\mathbb{R}^{D_{l}\times K }中,则卷积运算可以写成:

 其中\bar{A}是在常规GCNs中对A进行对称归一化。A∈\sqsubset 0,1\sqsupset ^{K\times K}是G的邻接矩阵,对于节点j∈N (i)有a_{ij} = 1,a_{ii} = 1。

         Wang等人[64]基于残差连接[20]的Eq. 1重构了一个非常深的图网络,学习图像特征与3D顶点之间的映射。我们采用了它的网络架构,并将其作为我们的基线,记为ResGCN。

        在公式1中有两个明显的缺点。首先,为了使图卷积在具有任意拓扑结构的节点上工作,所有边共享学习的核矩阵W。结果,相邻节点的关系或图中的内部结构,不能很好地利用。其次,之前的工作只收集每个节点的第一个序列上的(应该是最近邻的意思)邻居的特征。因为接受野被固定为1,这也是存在不足的。

3.2. Semantic Graph Convolutions 语义图卷积

【论文翻译】Semantic Graph Convolutional Networks for 3D Human Pose Regression_第1张图片

 

图1所示。所提出的语义图卷积的说明。(a) CNN的3×3卷积核(绿色突出显示)对于内核内的每个位置学习不同的变换矩阵wi。我们通过学习每个位置的权重向量ai和共享变换矩阵w来近似它。(b)传统的GCNs只学习所有节点的共享变换矩阵w0。(c) (a)中的近似公式可以直接推广到(b):我们为图中的每个节点增加一个额外的可学习权值a_{i}。(d)我们进一步扩展(c)来学习每个节点的信道加权向量ai。将它们与GCNs中的vanilla变换矩阵W结合起来,我们可以得到一种新的具有与cnn相当学习能力的图核操作。学习到的权重向量显示了图中隐含的相邻节点的局部语义关系。

 

        我们表明:学习图中边所隐含的相邻节点的语义关系对于解决共享核矩阵的限制是有效的。

        所提出的方法建立在CNN的概念之上。图1(a)显示了卷积核大小为3 × 3的CNN。它学习9个相互不同的变换矩阵,在空间维度上对核内部的特征进行编码。这使得该操作具有对图像中包含的特征模式建模的表达能力。我们发现,可以通过对每个位置学习一个加权向量\vec{a_{i}},然后将它们与共享变换矩阵W组合来近似这个公式。如果我们将图像特征映射表示为一个正方形网格图,其节点表示像素,那么这个近似公式可以直接推广到如图1(c)所示的GCNs。

        为此,我们提出了语义图卷积(SemGConv),其中我们在传统的图卷积中添加了一个可学习的权重矩阵M∈\mathbb{R}^{K\times K}。然后方程1转化为:

 其中\rho _{i}是Softmax非线性,它在节点 ^{i} 的所有选择上归一化输入矩阵;⊙是一个元素级运算,如果a_{ij}= 1则返回mij,或者在 \rho _{i} 后饱和到零的大指数为负数;A作为一个掩码,它迫使图中的节点i,我们只计算其相邻节点j∈N (i)的权值。

        如图1(d)所示,我们可以通过学习一组M_{d}\mathbb{R}^{K\times K}来进一步扩展Eq. 2,使输出节点特征的每个通道d应用不同的加权矩阵:

【论文翻译】Semantic Graph Convolutional Networks for 3D Human Pose Regression_第2张图片

 其中 || 表示对所有层的输入进行拼接,\vec{w_{d}}是变换矩阵w的第d行。

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

        STGCN[67]中引入的边缘重要性加权掩码是与我们最相关的工作,但有以下两个明显的区别。首先,经过[67]加权后, STGCN没有利用Softmax非线性,但我们发现利用Softmax非线性有助于稳定训练而且得到了更好的结果,因为节点对邻居的贡献通过Softmax进行了归一化。其次,STGCN只对所有信道应用一个单一的可学习掩码,但我们的Eq. 3学习了信道对边缘的不同权重。因此,该模型具有较好的拟合数据映射的能力。

3.3. Network Architecture网络架构

【论文翻译】Semantic Graph Convolutional Networks for 3D Human Pose Regression_第3张图片

 图2.提出的 Semantic Graph Convolutional Networks的例子。我们的网络的构建块是由两个具有128个通道的SemGConv层构建的一个剩余块[20],后面是一个非本地层[65]。这个动作重复四次。所有SemGConv层后面都有批规范化[22]和ReLU激活[37],最后一个除外

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

 其中W_{x}初始化为零;f是一个有一对参数的函数,用于计算节点i和所有其他j之间的亲和力;g计算节点j的表示。在实践中,式4可以由[65]中提出的非局部层来实现

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

        直观地说,SemGCN可以看作是神经消息传递系统[15]的一种形式,其中正向传递有两个阶段:信息在本地更新,然后由系统的全局状态进行细化。这两个阶段轮流处理消息,提高了整个系统的信息交换效率。

4. 3D Human Pose Regression  三维人体姿态回归

在本节中,我们提出了一种新颖的端到端可训练框架,该框架将第3节中的SemGCN与用于3D人体姿态回归的图像特征结合起来。

 4.1. Framework Overview

        最近证明,仅使用二维人体姿态作为系统输入[34],就可以直接获得精确的三维姿态估计。形式上,给定一个预定义的相机坐标系中一系列的二维关节P∈\mathbb{R}^{K\times 2}和它们对应的三维关节J∈\mathbb{R}^{K\times 3}(K是关节的数量),系统的目标是学习一个回归函数F *,它在包含N个人体姿势的数据集上最小化以下误差:

【论文翻译】Semantic Graph Convolutional Networks for 3D Human Pose Regression_第4张图片

 

        我们认为图像内容能够为解决模棱两可的情况提供重要的线索,例如经典的旋转芭蕾舞者光学错觉。因此,我们通过将图像内容作为额外的约束来扩展Eq. 5。扩展后的公式可以表示为:

其中I_{i}是包含二维关节P_{i}的对齐人体姿态的图像。在实践中,P可以在已知摄像机参数下或从2D联合检测器获得2D地面真实位置。在后一种情况下,2D检测器在训练过程中已经对输入图像的感知特征进行了编码。这种观察激发了我们框架的设计。

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

        请注意,当不考虑图像特征时,我们的框架有效地简化为式5。正如我们在实验中所演示的那样,SemGCN能够有效地编码从2D到3D姿势的映射,并且在合并图像内容时,性能可以进一步提高。

【论文翻译】Semantic Graph Convolutional Networks for 3D Human Pose Regression_第5张图片

图3。我们的框架的插图,结合图像特征的3D人体姿势估计。我们预先训练一个二维姿态估计网络来预测二维关节位置。它也是我们汇集图像特征的骨干网络。所提出的SemGCN从二维关节和图像特征预测三维姿态。注意,整个框架是端到端可训练的。

4.2. Perceptual Feature Pooling感知特征池

        ResNet[20]和HourGlass[38]被广泛应用于传统的人体姿态检测问题。在经验上,我们使用ResNet作为骨干网,因为它的中间层提供了图像的分层特征,这些特征在计算机视觉问题(如物体检测和分割)中很有用[46,74]。

        给定输入图像中每个2D关节的坐标,我们在ResNet中汇集来自多个层的特征。特别地,我们使用RoIAlign[19]将从conv 1层提取的特征连接到conv 4层。然后将这些感知特征与二维坐标连接并输入SemGCN。请注意,由于输入图像中的所有关节都具有相同的比例,我们将特征集中在以每个关节为中心的固定大小的方形包围框中,即骨架的平均骨长。如图3所示。

 4.3. Loss Function

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

【论文翻译】Semantic Graph Convolutional Networks for 3D Human Pose Regression_第6张图片

 其中\jmath =\left \{ J_{i}||i=1,...,K \right \}预测三维关节坐标,B = \left \{ \tilde{B_{i}}|| i=1,...,M \right \}为从J开始计算的骨骼;Ji和Bi是数据集中对应的ground truth。每个骨都是一个有向向量,从起始关节指向[53]中定义的相关父关节。

5.实验

实验部分就不具体写了

你可能感兴趣的:(姿态估计,3d,深度学习,人工智能)