论文阅读 Semantic Graph Convolutional Networks for 3D Human Pose Regression

Semantic Graph Convolutional Networks for 3D Human Pose Regression

使用语义图卷积网络对三维人体姿态进行回归

Abstract

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

1.Introduction

​ 卷积神经网络(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进行回归,这是在许多实际应用中计算机视觉的另一个核心问题。

​ 但是,由于baseline方法存在以下局限性,GCN无法直接应用于回归问题[28、64、67]。 首先,为解决图节点可能具有不同数量的邻域的问题卷积滤波器对所有节点共享相同的权重矩阵,这与CNN不可比。 其次,根据[28]的指导,通过限制滤波器在每个节点周围的单步操作中进行操作,简化了先前的方法。 由于这种表述,卷积核的接受域被限制为一个,这严重损害了信息交换的效率,尤其是当网络变得更深的时候。

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

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

我们的工作有以下贡献:

  • 首先,我们提出了一种改进的图卷积运算,称为语义图卷积(SemGConv),它是从CNN派生的。 关键思想是按照图中的先验知识学习边缘的通道方向权重,然后将它们与核矩阵结合起来。
  • 第二,我们介绍了SemGCN 它是SemGConv和非本地层[65]交错的。该体系结构捕获节点之间的本地关系和全局关系。
  • 第三,我们提出了一个端到端的学习框架,以表明SemGCN还可以整合外部信息,例如图像内容,以进一步提高3D人体姿势回归的性能。

​ 我们的方法的有效性通过严格的消融研究( ablation study )进行了全面评估,并与标准3D基准测试的最新技术进行了比较。 我们的方法仅使用2D联合坐标作为输入,而参数却减少了90%,就可以与Human3.6M [24]上的最新技术相媲美。 同时,在整合图像特征时,我们的方法要优于最新技术。 此外,我们还显示了SemGCN的视觉结果,从质量上证明了我们的方法的有效性。 请注意,建议的框架可以轻松地推广到其他回归任务,我们将其留给以后的工作。

2.Related Work

Graph convolutional networks. 将CNN泛化为具有图式结构的输入是深度学习领域中的一个重要主题。 在文献中,已经进行了多次尝试使用递归神经网络来处理图域中表示为有向无环图的数据[14]。 在[17,28,49]中引入了GNN作为处理任意图形数据的更通用的解决方案。 在图上构造GCN的原则通常遵循两个流:光谱透视图和空间透视图。 我们的工作属于第二个流[28,39,60],其中卷积滤波器直接应用于图节点及其邻居。

​ 最近的计算机视觉研究通过利用GCN对视觉对象[68、70]或时间序列[66、67]之间的关系进行建模,从而实现了最先进的性能。 本文遵循了它们的精神,同时我们探索了将GCN应用于回归任务,尤其是2D到3D人体姿势回归的过程。

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

​ 最近,已经被证明2D姿势信息对三维姿态估计至关重要。Martinezet等人[34]引入了一种简单而有效的方法,它完全基于2D检测来预测3D关键点。 Fang等人 [13]通过姿势语法网络进一步扩展了这种方法。 这些工作着重于2D到3D姿态回归,这与本文的背景最相关。

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

3. Semantic Graph Convolutional Networks

​ 我们提出了一种新颖的图网络结构来处理一般的回归任务,包括可以用图的形式表示的数据。首先介绍了GCNs的研究背景和相关baseline方法。然后介绍了SemGCN的详细设计。

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

3.1 ResGCN:A Baseline

​ 我们将首先简要回顾一下[28]中提出的‘vanilla’ GCNs。令 G = { V , E } G = \{{V,E}\} G={V,E}表示一个图,其中 V V V是 K K K个节点的集合, E E E是边。 x i ⃗ ( l ) ∈ R D l \vec{x_{i}}^{(l)} \in \Reals^{D_l} xi​ ​(l)∈RDl​ 和 x i ⃗ ( l + ) ∈ R D l + 1 \vec{x_{i}}^{(l+)} \in \Reals^{D_{l+1}} xi​ ​(l+)∈RDl+1​ 表示 节点 i i i 在第 l l l 层卷积前后的表示。 基于图的卷积传播可以分两步应用于节点 i i i 。首先,通过可学习的参数矩阵 W ∈ R D l + 1 × D l W \in \R^{D_{l+1}\times D_{l}} W∈RDl+1​×Dl​ 对节点进行转换。 其次,从其相邻节点 j ∈ N ( i ) j∈N(i) j∈N(i),将这些变换后的节点表示收集到节点 i i i ,然后是非线性函数(ReLU [37])。如果把这些收集到的节点表示为矩阵 X ( l ) ∈ R D l × K X ^{(l)}\in \R^{D_l\times K} X(l)∈RDl​×K ,卷积操作可以被写为:

X ( l + 1 ) = σ ( W X ( l ) A ~ ) , (1) X^{(l+1)} = \sigma{(WX^{(l)}\tilde{A})} ,\tag{1} X(l+1)=σ(WX(l)A~),(1)

在这里 A ~ \tilde{A} A~ 是来自传统GCNs A A A 的对称标准化。 A ∈ [ 0 , 1 ] K × K A\in [0,1]^{K\times K} A∈[0,1]K×K 是图 G G G的邻接矩阵。 对于节点 j ∈ N ( i ) j∈N(i) j∈N(i) 我们有 α i j = 1 \alpha_{ij}=1 αij​=1 和 α i i = 1 \alpha_{ii}=1 αii​=1。

​ Wang等人 [64]改写了一个基于Eq.1的非常深的图网络,带有残差连接[20]用以学习它们在图像特征和3D顶点之间的映射。 我们采用其网络架构并将其视为我们的baseline,称为ResGCN。

​ 在Eq. 1中有两个明显的缺点。首先,为了使图卷积工作在具有任意拓扑的节点上,所学习的核矩阵 W W W 会被所有边共享。 结果,没有很好地利用相邻节点的关系或图中的内部结构。 其次,以前的工作仅从每个节点的一阶邻居收集特征。 这也是有限的,因为接收场固定为1。
论文阅读 Semantic Graph Convolutional Networks for 3D Human Pose Regression

**图1:**对提出的语义图卷积的说明。(a) 3 × 3 3\times 3 3×3 的CNNs卷积核(用绿色高亮) 为核中的每个点学习了一个不同的转换矩阵 w i w_i wi​。我们通过学习每个位置的加权向量 a i a_i ai​ 和共享的变换矩阵 W W W来对其进行近似。(b)传统的GCNs只学习所有节点的共享转换矩阵 w 0 w_0 w0​。(c)近似公式(a) 可以直接推广到(b):我们为图中的每个节点增加一个额外的可学习权值。(d)我们进一步扩展(c),以了解每个节点的通道加权向量 a i a_i ai​。将它们与传统GCNs中的香草变换矩阵 W W W 组合后,我们可以获得图的新内核运算,该运算具有与CNN相当的学习能力。 学习的权重向量显示了图中隐含的相邻节点的局部语义关系。

3.2. Semantic Graph Convolutions

​ 我们证明了学习图边隐含的相邻节点的语义关系是解决共享核矩阵的局限性的有效方法。

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

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

X l + 1 = σ ( W X ( l ) ρ i ( M ⊙ A ) ) , (2) X^{l+1} = \sigma{(WX^{(l)} \rho_i(M\odot A))},\tag{2} Xl+1=σ(WX(l)ρi​(M⊙A)),(2)

其中 ρ i ρ_i ρi​ 是Softmax非线性,它对节点 i i i 的所有选择上的输入矩阵进行归一化 ; ⊙ \odot ⊙ 是一个元素运算,如果 a i j = 1 a_{ij} = 1 aij​=1 则返回 m i j m_{ij} mij​,或是一个大负数在 ρ i ρ_i ρi​的指数运算之后趋近于0; A A A用作掩码,强制对图中的节点 i i i进行计算,我们仅计算其相邻节点 j ∈ N ( i ) j∈N(i) j∈N(i)的权重

​ 如图1(d)所示,我们可以进一步扩展Eq. 2,通过学习一组 M d ∈ R K × K M_d\in \R^{K\times K} Md​∈RK×K,从而对输出节点特征的每个通道d应用不同的加权矩阵

X ( l + 1 ) = ∣ ∣ d = 1 D l + 1 σ ( w ⃗ d X ( l ) ρ i ( M d ⊙ A ) ) , (3) X^{(l+1)} = \mathop{||}\limits_{d=1}^{D_{l+1}}\sigma{(\vec{w}_dX^{(l)} \rho_i(M_d\odot A))},\tag{3} X(l+1)=d=1∣∣Dl+1​​σ(w d​X(l)ρi​(Md​⊙A)),(3)

其中 ∣ ∣ || ∣∣表示通道级联, w ⃗ d \vec{w}_d w d​是变换矩阵 W W W的第d行。

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

​ ST-GCN[67]中引入的边缘重要性加权mask是与我们最相关的工作,但有两个明显的不同。首先,在加权[67]后,没有利用Softmax非线性,但我们发现它稳定了训练,并获得了更好的结果,因为节点对其邻居的贡献是通过Softmax归一化的。其次,ST-GCN只对所有通道应用一个可学习mask,但我们的Eq. 3在通道上学习不同的边权值。因此,我们的模型具有更好的拟合数据映射的能力。

论文阅读 Semantic Graph Convolutional Networks for 3D Human Pose Regression

图2。 所提出的语义图卷积网络的示例。 我们网络的构造块是由两个具有128个通道的SemGConv层构造的一个残差块[20],然后是一个non-local65]。 此block重复四次。 所有SemGConv层之后是批处理归一化[22]和ReLU激活[37],最后一个除外 。

3.3. Network Architecture

​ 捕获图中节点之间的全局和远程(long-range)关系能够有效解决接收域有限的问题。然而,为了保持GCNs的行为,我们通过基于节点表示,计算节点之间的响应,来限制特征更新机制,而不是学习新的卷积滤波器。因此,我们跟随non-local的概念[5,65],定义了操作:

x ⃗ i ( l + 1 ) = x ⃗ i ( l ) + W x K ∑ j = 1 K f ( x ⃗ i ( l ) , x ⃗ j ( l ) ) ⋅ g ( x ⃗ j ( l ) ) , (4) \vec{x}_i^{(l+1)} = \vec{x}_i^{(l)} + \cfrac{W_x}{K} \sum\limits_{j = 1}^{K}{f(\vec{x}_i^{(l)},\vec{x}_j^{(l)})\cdot{g(\vec{x}_j^{(l)})}},\tag{4} x i(l+1)​=x i(l)​+KWx​​j=1∑K​f(x i(l)​,x j(l)​)⋅g(x j(l)​),(4)

W x W_x Wx​ 初始化为0; f f f 是成对函数,用于计算节点 i i i和所有其他 j j j之间的亲和力; g g g 计算节点 j j j 的表示。在实践中,Eq. 4可以通过[65]中提出的non-local层来实现

​ 基于Eq.3和Eq.4,我们提出一个新网络结构用于回归任务称作语义图卷积网络(Semantic Graph Convolu-tional Networks),这里的SemGConv 核non-local 层是交错抓取节点的local和global的语义关系。图2展示了一个例子。在这项工作中,SemGCN 在所有的blocks中具有相同的结构,由一个残差块(residual block)组成,这个残差块由两个128个通道的SemGConv层建成,然后紧跟一个non-locak层。这个block重复几次,使网络更深。在网络开始的时候,一个SemGConv 被用作将输入映射到潜在空间;我们还有一个附加的SemGConv将编码的特征投射回输出空间;所有的 SemGConv层除了最后一个,都被跟随一个批处理标准化(batch normalization)和一个ReLU激活函数。注意,如果SemGConv层被替换为香草图卷积,所有的non-local层被移除,SemGCN退化为第3.1节的ResGCN。

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

4. 3D Human Pose Regression

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

4.1. Framework Overview

​ 最近,在系统输入[34]的情况下,仅使用2D人体姿态就可以直接获得精确的3D姿态估计。正式地,给定一系列2D 关节点 P ∈ R K × 2 P\in \R^{K\times 2} P∈RK×2和它们对应的3D 关节点 J ∈ R K × 3 J\in \R^{K\times 3} J∈RK×3 在预定义的摄像机坐标系统( K K K 是关节的数量),系统的目标是学习一个回归函数 F ∗ \mathcal{F} ^* F∗,它可以在包含人体姿态的数据集上最小化下面的误差:

F ∗ = a r g m i n F 1 N ∑ i = 1 N L ( F ( P i ) , J i ) , (5) \mathcal{F}^* = \mathop{argmin}\limits_{F} \cfrac{1}{N} \sum\limits_{i = 1} ^{N} \mathcal{L}(\mathcal{F}(P_i), J_i),\tag{5} F∗=Fargmin​N1​i=1∑N​L(F(Pi​),Ji​),(5)

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

F ∗ = a r g m i n F 1 N ∑ i = 1 N L ( F ( P i ∣ I i ) , J i ) , (6) \mathcal{F}^* = \mathop{argmin}\limits_{F} \cfrac{1}{N} \sum\limits_{i = 1} ^{N} \mathcal{L}(\mathcal{F}(P_i|I_i), J_i),\tag{6} F∗=Fargmin​N1​i=1∑N​L(F(Pi​∣Ii​),Ji​),(6)

这里的 I i I_i Ii​ 是包含2D关节 P i P_i Pi​的对齐人体姿势的图像。 实际上,可以在已知相机参数下或从2D联合检测器获得 P P P作为2Dground truth的位置。在后一种情况下,二维检测器已经在训练过程中对输入图像的感知特征进行了编码。 这种观察激励了我们框架的设计。

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

​ 注意,当不考虑图像特征时,我们的框架有效地简化为Eq. 5。当我们在实验中证明,SemGCN设法有效地编码从2D到3D姿势的映射,并且当合并图像内容时,性能可以进一步提高。

论文阅读 Semantic Graph Convolutional Networks for 3D Human Pose Regression

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

4.2. Perceptual Feature Pooling

​ ResNet [20]和HourGlass [38]被广泛采用的常规人体姿势检测问题。 根据经验,我们使用ResNet作为骨干网,因为它的中间层提供了来自图像的特征分层,这些图像可用于计算机视觉问题,例如对象检测和分割[46,74] 。

​ 给定输入图像中每个2D关节的坐标,我们合并来自多个层的特征在ResNet中。特别的,我们使用RoIAlign [19]将从conv1层提取的特征连接到conv4。然后将这些感知特征与2D坐标连接起来,并输入到SemGCN中。请注意,由于输入图像中的所有关节都具有相同的比例尺,因此我们将特征集中在以每个关节为中心的方形边界框中,并具有固定的大小,即骨骼的中骨长度。 这在图3中示出。

4.3 Loss Function

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

L ( B , J ) = ∑ i = 1 M ∣ ∣ B i ~ − B i ∣ ∣ 2 ⏟ bone vectors + ∑ i = 1 K ∣ ∣ J i ~ − J i ∣ ∣ 2 ⏟ joint positions , (7) \mathcal{L(B,J)}=\underbrace{\sum\limits^{M}_{i = 1}{||\tilde{B_i} - B_i||^2}}_{\text{bone vectors}} + \underbrace{\sum\limits^{K}_{i = 1}||\tilde{J_i} - J_i||^2}_{\text{joint positions}},\tag{7} L(B,J)=bone vectors i=1∑M​∣∣Bi​~​−Bi​∣∣2​​+joint positions i=1∑K​∣∣Ji​~​−Ji​∣∣2​​,(7)

​ J = { J ~ i ∣ i = 1 , … , K } \mathcal{J} = \{\tilde{J}_i| i = 1,…,K\} J={J~i​∣i=1,…,K} 是预测得到的3D坐标, B = { B ~ i ∣ i = 1 , … , M } \mathcal{B} = \{\tilde{B}_i| i = 1,…,M\} B={B~i​∣i=1,…,M} 是由 J \mathcal{J} J计算得到的骨向量。 J i J_i Ji​ 和 B i B_i Bi​ 是数据集中相对应的ground truth 。每根骨头都是一个指向从起始关节到相关父关节的定向矢量,定义在[53]中。

5. Experiments

​ 在本节中,我们首先介绍评估的设置和实现细节,然后对我们方法中的组件进行消融研究,最后报告我们的结果并与最先进的方法进行比较。

5.1. Implementation Details

​ 如之前的著作[34,53,75]所述,不可能训练一种算法来推断任意坐标空间系统中的三维关节位置。因此,我们选择在**相机坐标系统中预测3D姿态[**11,32,41,57],这使得不同相机之间的2D到3D回归问题相似

​ 我们利用数据集中提供的ground truth 2D联合位置来对齐[75]设置后的3D和2D姿态。这意味着我们隐含地使用相机校准信息。 然后,我们将2D和3D姿势都围绕预定义的根关节(即骨盆关节)置零,这与以前的工作和标准协议一致。 此外,为简单起见,我们在训练过程中不使用数据增强。

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

​ 在我们的初步实验中,我们观察到从头开始对整个网络进行直接的端到端训练无法达到最佳性能。 我们认为,这可能是由于,图网络与用于2D姿态估计的传统深卷积模块之间,的高度非线性相关性所致。 因此,我们采用了一种多阶段的训练方案,该方案在实践中更加稳定和有效。 我们首先训练使用2D地面真理从图像进行2D姿态估计的骨干网络。 如[54]中所述,使用积分损失。 然后,我们修复2D姿态估计模块,并使用2D估计模块的输出和3D地面实况将2D图形网络训练为3D姿态回归。 在这个阶段,损失函数在Eq.7中定义。 最后,对整个网络进行所有数据的微调。 积分损失和Eq.7被激活。 请注意,最后阶段是端到端。

5.2. Datasets and Evaluation Protocols

我们遵循标准协议,对最广泛使用的3D人体姿势估计数据集:Human3.6M [24]进行了全面评估。

Datasets. Human3.6M [24]是目前用于3D人体姿势估计的最大的公开数据集。 该数据集包含MoCapSystem在室内环境中捕获的360万张图像,其中7位专业工程师在其中进行15项日常活动,如散步,进餐,坐下,打电话和进行讨论。2D和3D地面真实性是 可用于监督学习。 按照[75]的设置,针对训练集和测试集,将视频从50fps下采样到10fps,以减少冗余。 我们还使用MPII数据集[3](2D人体姿势估计的最新基准)对实验中的2D姿势检测器进行了预训练和定性评估。

Evaluation protocols. 对于Human3.6M [24],文献中有两种使用不同训练和测试数据的通用评估协议。 一个标准协议使用受试者S1,S5,S6,S7和S8中的所有4个摄像机视图进行训练,而使用子受试者S9和S11中的全部4个摄像机视图进行测试。 误差是在地面真实情况和预测与根节点对齐之后计算的。我们将此称为协议#1。 另一个协议使用六个对象S1,S5,S6,S7,S8和S9进行训练,并在S11的第64帧上执行评估。 它还利用刚性变换进一步使预测与基本事实保持一致。 该协议称为协议#2。 在这项工作中,我们在所有实验中均使用协议1进行评估,因为它更具挑战性且与我们的方法设置相匹配。

​ 评估指标是在对齐预定的根关节(骨盆关节)后,地面真实情况与所有摄像机和关节的预计3D坐标之间的平均每关节位置误差(MPJPE),单位为毫米。 在以下各节中,我们将使用此指标进行评估

​ 我们的网络可以预测3D关节点的标准化位置。 在测试过程中,为了校准输出的比例,我们要求所有3D骨骼的长度之和等于规范骨骼的长度之和,如[41、75、78]所示。 因此,我们按照[75]中的方法进行校准。

Configurations. 我们的方法通过以下两种不同的配置进行评估,用于在Human3.6M上进行3D人体姿态估计。

​ 配置#1:我们仅将人体姿势的2D关节用作输入。 为了回归 Sect.3中的SemGCN被训练,Eq.2中定义的SemGConvlayer被运用。2Dground truth(GT)或预训练的2D姿态检测器的输出用于训练和测试。 为了与先前的工作[13,34]的设置保持一致,我们将HourGlass [38](HG)用作2D检测器。 首先在MPII上进行预训练,然后在Human3.6M上进行微调。 使用Eq.7作为损失函数。

​ 配置#2:我们使用2D图像作为输入,并在Sect.4中提出的框架进行回归训练。 使用在Eq.3中定义的按通道加权的SemGConv。 ResNet50 [20]被用作2D姿态估计和特征池(RN w / FP)的骨干网络。

论文阅读 Semantic Graph Convolutional Networks for 3D Human Pose Regression

图4. 不同设置下的网络训练曲线(左)和测试误差(右)。我们的完整模型具有更低、更平滑的学习曲线以及更好的测试结果。

论文阅读 Semantic Graph Convolutional Networks for 3D Human Pose Regression

表1. 在Human3.6M数据集[24]上,2D到3D的回归误差和不同设置的网络参数数。我们的完整模型达到了最好的性能。

5.3. Ablation Study

​ 我们对Sect.3中提出的方法进行消融研究。 采用配置#1。 我们的SemGCN包含两个主要组件:SemGConv和non-local层。 为了验证它们,我们训练了SemGCN的两个变体:一个仅使用SemGConv,另一个仅使用non-local层。 然后,我们将它们与Sect.3.1(ResGCN)中的baseline方法一起进行评估,以及我们在Sect.3.3中基于Human3.6M的完整模型。请注意,为了摆脱2D姿态检测器的影响,我们使用2D地面真相报告结果以进行训练和测试。

​ 经过200个epochs后,所有模型均基于图2所示的体系结构进行了训练。 结果显示在表1中。我们还在图4中显示了它们的训练损失和测试误差曲线。我们可以看到,具有更多组件的模型的性能要优于具有更少组件的模型,这表明算法各部分的有效性。 此外,我们的带有SemGConv的网络具有更平滑的训练曲线,这表明学习节点之间的局部关系也可以稳定训练过程。

论文阅读 Semantic Graph Convolutional Networks for 3D Human Pose Regression

表2. 在协议1下,Human3.6M [24]上的估计姿态与地面真相之间的平均每关节位置误差(mm)的定量比较。 我们显示了使用配置#1将HourGlass [38](HG)的2D预测作为输入进行训练和测试的模型(第3节)的结果,并在第9节中介绍了我们的网络结果。 4在配置#2下的训练和测试过程中结合了图像功能(RN w / FP)。 我们还展示了我们的方法的上限,该方法使用2D地面实况(GT)作为训练和测试的输入。 每种操作的前两种最佳方法分别以粗体和下划线突出显示 。

论文阅读 Semantic Graph Convolutional Networks for 3D Human Pose Regression

**表3. **在Human3.6M数据集上评估2D到3D姿态回归[24]。 括号内的误差是通过使用HG [38]的2D估计作为训练和测试期间的输入来计算的。 否则,将使用2D地面真相。 我们的方法将其他基于GCN的方法提高了20%,并使用比[34]少90%的参数来实现最新的性能。

5.4. Evaluation on 3D Human Pose Regression

​ **2D to 3D pose regression. ** 我们首先评估2D到3D姿态回归的方法,仅使用配置#1。 我们将我们的方法与三种基于GCN的方法进行了比较:aGCN [68],GAT [60]和ST-GCN [67], 以及两种最新方法:FC [34]和PG [13]。 由于ST-GCN [67]是为视频设计的,因此我们将其时间维设置为图像的维。 PG提出了一个框架来改进3D姿势,这是FC和我们的补充,因此,我们也报告了PG改进的结果。

​ 结果报告在表3中。我们的方法大大优于其他基于GCN的方法(大约20%)。 更重要的是,我们的方法实现了最先进的性能,比[34]少了约90%的参数。 同时,与[34]相比,SemGCN的运行时间减少了10%,在Titan Xp GPU上向前通过约1.8毫秒。 通过PG完善结果后,我们的方法将获得最佳性能。

	**Comparison with the state of the art.** 我们在配置1和配置2下显示评估结果。 请注意,许多领先的方法都具有复杂的框架或学习策略。 其中一些针对野外图像[54,69,75]或利用时间信息[11,18,21,57],而其他一些方法则使用复杂的损失函数[53,69]。 与我们相比的研究目标。 因此,在评估完整性时,我们将其中一些包括在内。 表2报告了结果。 

​ 我们发现,仅使用2D关节作为输入的方法能够匹配最新的性能。 在整合了图像功能之后,我们的网络设置了新的技术水平。 特别是,我们对方向,拍照,摆放,坐下,遛狗和一起散步的动作大幅度改进了以前的方法。 我们假设这是由于这些动作中存在严重的自我遮挡,而我们的SemGCN可以使用图中的关系对其进行有效编码。 使用地面真实2D关节位置训练和测试的方法的结果显示了我们的上限。
论文阅读 Semantic Graph Convolutional Networks for 3D Human Pose Regression
图5. 我们的方法在Human3.6M [24]和MPII [3]上的视觉结果。 前三行显示在Human3.6M上的结果。 onMPII的结果绘制在最后三行中。 底行显示了四种典型的故障情况。 彩色效果最佳 。

Qualitative results. 在图5中我们展示了我们的方法在Human3.6M上的视觉结果以及MPII的测试集。MPII包含带有新颖人体姿势的野生图像,与Human3.6M中的示例不同。 可以看出,我们的方法能够准确预测室内图像和大多数野生图像中的3D姿态。 这表明SemGCN可以有效地编码关节之间的关系,并将其进一步推广到一些新颖的情况。

​ 图5的底行还显示了我们方法的典型故障情况。 这些图像包括极端姿势,这些姿势与Human3.6M中的姿势有很大不同。 我们的方法无法处理它们,但仍然可以产生合理的3D姿势

6. Conclusions

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

Appendix A. Supplementary Material

​ 该补充材料提供了其他结果,支持了主要论文的主张。 首先,我们提供有关语义图卷积网络(SemGCN)的更多详细信息,包括用于构建图的骨架表示(第A.1节)以及图卷积的实现(第A.2节)和non-local层(第A.3节)。 另外,为了更好地理解建议的语义图卷积,我们提供了训练后图中隐含的学习权重的可视化结果(第A.4节)

A.1. Skeleton Representation

​ 按照先前的工作[13、34、53、54、75]的设置,我们为Human3.6M [24]和MPII [3]利用通用的人类骨骼表示来构建SemGCN图。 此骨架在图6(左)中可视化。 它由16个关节组成,我们将骨盆关节定义为根关节。 请注意,在训练之前,将骨骼在SemGCN中初始化为无向图。 训练完网络后,它将转换为Fq.2和3中 ρ i ( M ⊙ A ) ρ_i(M\odot A) ρi​(M⊙A)表示的加权有向图。

​ 在图6(左)中,我们还显示了在Eq.中使用的骨骼矢量来计算骨损失。 让骨头 B k B_k Bk​从关节 J p a r e n t ( k ) J_{parent(k)} Jparent(k)​指向目标关节 J k J_k Jk​,我们将骨骼矢量定义为:

KaTeX parse error: \tag works only in display equations

这个表述与[53]是一致的。 但是,为了与以前的工作[13,34]相一致,为了公平地比较,在实验的配置#1中未采用骨损失。

论文阅读 Semantic Graph Convolutional Networks for 3D Human Pose Regression

图6. 左:我们用来构建图形的模板人体骨骼。 每个红色箭头代表用于计算损失函数的骨骼向量。 右:我们在非局部层中使用的人类骨骼的分组(下采样)策略。

A.2. Implementation of Graph Convolutions

​ 一些先前的方法[64,67]提出利用图卷积中的两个不同的转换矩阵。 具体来说,当将图卷积滤波器应用于图中的结点时,使用一个矩阵 W 0 W_0 W0​来变换结点的表示,而为其所有邻居学习另一个矩阵 W 1 W_1 W1​。 我们重写Eq.1为:

X ( l + 1 ) = σ ( I ⊗ W 0 X ( l ) A ~ + ( 1 − I ) ⊗ W 1 X ( l ) A ~ ) , (9) X^{(l+1)} = \sigma{(I\otimes W_0X^{(l)} \tilde{A} + (1 - I) \otimes W_1 X ^{(l)} \tilde{A})}, \tag{9} X(l+1)=σ(I⊗W0​X(l)A~+(1−I)⊗W1​X(l)A~),(9)

⊗ \otimes ⊗ 表示逐元素相乘, I I I是恒等矩阵。 我们还实现了由Eq.2和3定义的SemGConv以类似的方式。

A.3. Non-local Layers

​ 我们遵循Wang等人[65]的指导,在SemGCN中实现non-local层。 为了提高计算效率,我们在计算 f ( x ⃗ i ( l ) , x ⃗ j ( l ) ) f(\vec{x}_i^{(l)}, \vec{x}_j^{(l)}) f(x i(l)​,x j(l)​)在Eq.4中的嵌入时,对特征维和图中的节点数都进行了下采样。

Feature embedding . 我们使用“concatenation来实现。 使用两个映射函数θ(·)和φ(·)将每个节点的特征从128个通道下采样到64个通道。 它们实现为内核大小为1的卷积。然后定义 f f f 为:

f ( x ⃗ i ( l ) , x ⃗ j ( l ) ) = R E L U ( w f [ θ ( x ⃗ i ( l ) ∣ ∣ ϕ ( x ⃗ j ( l ) ) ) ] ) , (10) f(\vec{x}_i^{(l)}, \vec{x}_j^{(l)}) = RELU(w_f[\theta(\vec{x}_i^{(l)} || \phi(\vec{x}_j^{(l)}))]),\tag{10} f(x i(l)​,x j(l)​)=RELU(wf​[θ(x i(l)​∣∣ϕ(x j(l)​))]),(10)

​ $[·‖·] $表示级联,并且将学习将级联向量投影到标量的参数 。

Node grouping. 我们还使用最大池对图上的节点数进行下采样。 图6(右)说明了我们采用的分组策略。 在最大池化操作之后,图中包含的节点数从16减少到8。 此策略用于SemGCN中的所有非本地层。 在实验中,我们发现此池化操作可以加快运行时间,而不会影响回归的最终准确性。

A.4. Visualization of Weights in SemGCN

​ 为了更好地理解建议的SemGCN,我们对网络中每个SemGConvlayer的学习加权矩阵进行可视化。 为简单起见,我们使用SemGCN的简化版本,其中 采用Eq.2,以便所有功能信道共享相同的M。 我们使用如图2所示的网络架构,并根据实验的配置#1对其进行训练 。

​ 训练后的网络由4个残差块组成,其中每个块包含2个SemGConvlayers。 因此,我们分别可视化这8个SemGConv层的加权矩阵。 矩阵如图7所示。我们做了两个重要的观察。 首先,尽管所有SemGConv层在网络*享相同的图结构,但是它们每个都学习了不同的加权矩阵。 第二,我们发现SemGConvl层对于平均距离人体骨骼重心较远的节点学会了更高的权重 。

论文阅读 Semantic Graph Convolutional Networks for 3D Human Pose Regression

图7. 在SemGCN中可视化学习的权重矩阵。 每个SemGConv都为网络中的图形学习了不同的权重矩阵,而对于远离骨骼重心的节点,所有权重矩阵都具有更高的权重。 彩色效果最佳 。

论文阅读 Semantic Graph Convolutional Networks for 3D Human Pose Regression

图8. 左:网络中allSemGConv层中每个关节的平均学习重量。 右:骨骼的区域图,其中关节根据其权重分为三个区域。

​ 为了进一步说明第二个观察结果,我们计算了所有8个SemGConv层中每个关节的平均学习重量。定量结果示于图8(左)。我们可以看到,左手腕,右手腕,左脚踝,右脚踝和头部拥有最高的最大权重,大于0.4。而颈部,胸部和骨盆的重量最低,小于0.3。其他关节的权重相近,大约为0.3。通过用区域图表示人体骨骼,可以更好地可视化此结果,根据关节的权重将关节分为三个区域。结果如图8(右)所示。

​ 由于*关节确定骨架的位置,而远离中心的关节对姿势的更多信息进行编码,因此此结果很直观。该观察结果也与[53,67]一致。这表明所提出的SemGCN能够有效地编码图中节点的空间关系。但是,我们仅依靠地面事实进行监督,而没有采用任何其他手工制作的约束或规则。

上一篇:cesium 图层构建的那些事 (二十一)


下一篇:CAS Client集群环境的Session问题及解决方案 不能退出登录