Semantic Graph Convolutional Networks for 3D Human Pose Regression CVPR2019 (开源)

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

项目地址

Abstract

本文研究回归图卷积网络的学习问题。目前的gcn结构局限于卷积滤波器和每个节点共享变换矩阵的小接收域。为了解决这些局限性,我们提出了语义图卷积网络(SemGCN),这是一种新的神经网络体系结构,用于处理具有图结构数据的回归任务。SemGCN学习捕捉语义信息,如局部和全局节点关系,而这些信息在图形中没有表现出来。这些语义关系可以通过端到端的训练从基本事实中学习,而无需额外的监督或手工制定的规则。我们进一步研究了SemGCN在三维人体姿态回归中的应用。我们的公式是直观和充分的,因为二维和三维人体姿势都可以表示为一个结构化的图形(graph),编码关节在人体骨架之间的联系。为了验证我们的方法,我们进行了全面的研究。结果证明,SemGCN优于现有技术,同时使用的参数减少了90%。

1. Introduction

CNNs 成功被应用于image classificationobject detectiongeneration
共同点:imput image has a grid-like structure

但是现实世界中很多任务都只能以不规则结构的形式来表示 e.g 分子结构社交网络3D mesh
==> CNN的应用范围有限

提出了 Graph convolutional Networks(GCN)

本文:研究使用deep GCNs进行回归

deep GCNs的baseline methods存在一定的局限性
==> GCNs不能直接应用到回归问题上
limitations

  • convolution filter 共享相同的权重矩阵
  • 信息交换效率低,尤其当网络更深时

==> 提出了新的Graph neural network 解决局限性
Semantic Graph Convolutional Networks(SemGCN)

具体而言,本文研究节点的局部和全局的关系
SemGCN不依赖于hand-crafted constraints(手工编制的约束?)
==>很容易推广到其他任务中

因此,本文研究使用SemGCN for 2D to 3D human pose estimation
input: 2D human pose(and the optional relevant image)
output: 预测3Djoints的位置
(因为2D、3D关节位置都可以用坐标的形式用标准骨架来表示,SemGCN可以明确地利用它们的空间关系)

Contributions

  1. 首先,我们提出了一种改进的图卷积运算,称为语义图卷积(SemGConv),它是由CNNs派生出来的。其核心思想是学习图中隐含的先验信息,并将其与核矩阵相结合。这显著提高了图形卷积的能力。
  2. 第二,我们介绍SemGCN,其中SemGConv和非本地[65]层是交错的。这种体系结构捕获了节点之间的局部和全局关系。
  3. 第三,我们提出了一个端到端的学习框架,说明SemGCN还可以整合外部信息,如图像内容,从而进一步提高三维人体姿态回归的性能。

2. Related Works

  • Graph convolutional networks

    深度学习领域的一个重要课题:将CNN推广到具有图结构的输入
    尝试使用递归神经网络(recursive neural networks)来处理图域中表示为有向无环图的数据[14]
    GNNs是处理任意图形数据的一种更常见的解决方案。GNNs是在[17,28,49]中引入的.

    在图上构造gcn的原理一般遵循两种流(streams):

    • spectral perspective(谱透视)
    • spatial perspective(空间透视)

    我们的工作属于第二个流[28,39,60],其中卷积滤波器直接应用于图节点及其邻域。

    最近关于计算机视觉的研究已经取得了最先进的表现,利用GCNs来模拟视觉对象之间的关系[68,70]或时间序列[66,67]。本文遵循这两种方法的精神,探索将GCNs应用于回归任务,特别是二维到三维人体姿态回归

  • 3D pose estimation

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

    Recently, it has been proven that 2D pose information is crucial for 3D pose estimation.

  • Martinez et al.[34] troduced a simple yet effective method which predicted 3D key points purely based on 2D detections.

  • Fang et al. [13] further extended this approach through pose grammar net- works. These

These works focus on 2D to 3D pose regression

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

3. Semantic Graph Convolutional Networks

我们提出了一种新型的**graph network architecture(图网络体系结构)**来处理一般的回归任务,这些任务涉及可以用图的形式表示的数据

接下来的流程:

  • 介绍GCNs的背景和相关的基线方法。
  • 介绍SemGCN的详细设计。

我们假设图数据具有相同的拓扑结构(topological structure),例如人体骨架(human skeletons)[10,26,61,67],三维可变形模型(3D morphable models)[33,45,72]和引文网络(citation networks?)[50]。在同一领域中具有不同图形结构的其他问题,例如蛋白质-蛋白质相互作用[60]和量子化学[15],不在本文的讨论范围之内。
这种假设使得学习隐含在图结构中的先验知识成为可能,而这正是SemGCN的动力所在。

3.1 ResGCN: A Baseline

简要回顾[28]中提出的“普通(vanilla)”GCN

G={V,E}\mathcal{G}=\{\mathbf{V}, \mathbf{E}\} 代表一个图(graph),其中 V\mathbf{V}K\mathbf{K} 节点集(the set of K\mathbf{K} nodes),E\mathbf{E} 是 边(edges)。xi(l)RDl\overrightarrow{\boldsymbol{x}}_{i}^{(l)} \in \mathbb{R}^{D_{l}} 以及 xi(l+1)RDl+1\overrightarrow{\boldsymbol{x}}_{i}^{(l+1)} \in \mathbb{R}^{D_{l+1}} 分别是第 ll 次卷积前后节点 ii 的表示。

基于图的卷积传播(convolutional propagation)可以分两步应用到节点 ii

  • 首先,通过一个可学习的参数矩阵对节点表示进行变换
    WRDl+1×Dl \mathbf{W} \in \mathbb{R}^{D_{l+1} \times D_{l}}

  • 其次,将这些变换后的节点表示从其相邻节点 jN(i)j\in\mathcal{N\text{(i)}} 收集到节点ii,然后是非线性函数(ReLU [37])。

如果节点表示(node representations)被collected到一个矩阵中X(l)RDl×K\mathbf{X}^{(l)} \in \mathbb{R}^{D_{l} \times K},那么卷积的操作可以表示为:
X(l+1)=σ(WX(l)A~)(1) \mathbf{X}^{(l+1)}=\sigma\left(\mathbf{W} \mathbf{X}^{(l)} \tilde{\mathbf{A}}\right) (1)

其中,A~\tilde{\mathbf{A}}A\mathbf{A} 从传统GCNs网络中对称标准化(symmetrically normalized)得到的
A[0,1]K×KA\in\left[0,1\right]^{K\times K}G\mathcal{G} 的邻接矩阵(adjacency matrix)

对于节点 jN(i)j\in\mathcal{N\text{(i)}} 我们有 aij=1a_{ij}=1 以及aii=1a_{ii} = 1

Wang et. al[64]根据等式(1)和剩余连接( residual connections)[20]重新表述了一个非常深的图网络(graph network),以学习图像特征(image features)和三维顶点(3D vertexes)之间的映射(mapping)。
我们采用了这个网络的架构,并把它当作我们的baseline,这个被表示为ResGCN

等式(1)有两个很明显的缺点:

  • 首先,为了使图的卷积在具有任意拓扑结构(arbitrary topologies)的节点上(nodes)工作,所有边共享学习的核矩阵 W\mathbf{W} 。因此,没有很好地利用相邻节点之间的关系或图中的内部结构。
  • 第二,以前的工作只从每个节点的一阶邻域(first-order neighbors)中收集特征。这也是有限(limit)的,因为感受野(receptive field)被固定为1。

3.2 Semantic Graph Convolutions

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

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

Figure1. 用于说明所提出的Semantic Graph Convolutions

(a)CNNs的3×3卷积核(以绿色突出显示),学习核内每个位置的不同变换矩阵 wiw_i 。我们通过学习每个位置的加权向量 aia_i和共享的变换矩阵 WW 来近似它。

(b)传统的GCNs只为所有节点学习一个共享的变换矩阵 w0w_0

(c) (a)中的近似公式可以直接推广到(b):我们为图中的每个节点增加一个额外的可学习权重 aia_i

(d) 我们进一步扩展(c)来学习每个节点的信道加权向量(channel-wise weighting vector) aia_i 。将它们与GCNs中的原先的变换矩阵 WW 相结合,可以得到一个新的具有与CNNs相似学习能力的图的核操作(kernal operation)。学习的权值向量表示图中隐含的相邻节点的局部语义关系。

在这里,我们提出了Semantic Graph Convolution
(SemGConv)
,是在传统的graph convolutions的基础上我们添加了一个可学习的权重矩阵 MRK×KM\in\mathbb{R^{\mathrm{K\times K}}} 。因此等式(1)就被转换成了等式(2):
X(l+1)=σ(WX(l)ρi(MA))2 \mathbf{X}^{(l+1)}=\sigma\left(\mathbf{W} \mathbf{X}^{(l)} \rho_{i}(\mathbf{M} \odot \mathbf{A})\right) (2)

其中,

ρi\rho_i is Softmax nonlinearity which normalizes the input matrix across all choices of node ii

\odotis an elementwise operation which returns mijm_{ij} if aija_{ij} = 1 or negatives with large exponents saturating to zero after ρi\rho_i

A\mathbf{A} 作为掩码(mask)作用是强制图中的节点 ii 只计算其相邻节点 jN(i)j\in\mathcal{N\text{(i)}} 的权重。

如图1(d)所示,我们可以通过学习一组 MdRK×KM_d\in\mathbb{R^{\mathrm{K\times K}}} 来进一步扩展等式2,以便对输出节点特征的每个信道(channel) dd 应用不同的加权矩阵(weighting matrix):

X(l+1)=d=1Dl+1σ(wdX(l)ρi(MdA))(3) \mathbf{X}^{(l+1)}=\|_{d=1}^{D_{l+1}} \sigma\left(\overrightarrow{\boldsymbol{w}}_{d} \mathbf{X}^{(l)} \rho_{i}\left(\mathbf{M}_{d} \odot \mathbf{A}\right)\right) (3)

其中,

||代表channel-wise concatenation(信道级联)

wd\overrightarrow{\boldsymbol{w}}_{d} 代表转换矩阵( transformation matrix ) WW 的第 dd 行。

3.3 Network Architecture Capturing

捕获图中节点之间的全局关系(global)和远程关系(long-range)可以有效解决接收域有限(limited receptive field)的问题。

然而,为了保持(maintain)GCNs的行为,我们除了学习新的卷积滤波器(convolution filters)外,还通过计算节点之间的响应(responses)来限制(restrict)特征更新机制(feature updating mechanism)。因此,我们遵循非局部均值概念(non-local mean con- cept)[5,65],并将运算定义为:
xi(l+1)=xi(l)+WxKj=1Kf(xi(l),xj(l))g(xj(l))(4) \overrightarrow{\boldsymbol{x}}_{i}^{(l+1)}=\overrightarrow{\boldsymbol{x}}_{i}^{(l)}+\frac{W_{x}}{K} \sum_{j=1}^{K} f\left(\overrightarrow{\boldsymbol{x}}_{i}^{(l)}, \overrightarrow{\boldsymbol{x}}_{j}^{(l)}\right) \cdot g\left(\overrightarrow{\boldsymbol{x}}_{j}^{(l)}\right) (4)

其中

WxW_x 被初始化为0

ff 是一个成对函数(pairwise function),用于计算节点ii 和所有其他 jj 之间的亲和力(affinity)

在实践中,等式4可以由[65]中提出的**非局部层(non-local layers)**来实现。

在式3和式4的基础上,我们提出了一种新的用于回归任务的网络体系结构,称为语义图卷积网络(SemGConv),其中SemGConv和non-local layers交错以捕捉节点的局部和全局语义关系

图2示出了示例。

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

Figure 2. Example of the proposed Semantic Graph Convolutional Networks. The building block of our network is one residual block [20] built by two SemGConv layers with 128 channels, followed by one non-local layer [65]. This block is repeated four times. All SemGConv layers are followed by batch normalization [22] and a ReLU activation [37] except the last one.

在这项工作中,在所有blcoks中的SemGCN有着相同的structure(包含一个residual block[20] (built by two SemGConv layers with 128
channels),然后followed by一个non-local layer。此block重复几次以使网络更深入(deeper)。在网络开始时,一个SemGConv用于将输入(inputs)映射(map)到潜在空间(latent space);我们还有一个额外的SemGConv,它将编码的特征(encoded features)映射回输出空间(output space)。

除最后一个外,所有SemGConv层后面都是批处理规范化(batch normalization)[22]和ReLU**(ReLU activation)[37]。注意,如果SemGConv层被原始图卷积(vanilla graph convolutions)代替,并且所有非局部层(non-local layers)都被移除,SemGCN将降级到第3.1节中的ResGCN。

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

4. 3D Human Pose Regression

提出了一个end to end 的可训练的framework用于3D human pose regression

4.1 Framework Overview

最近,仅仅通过使用2D human pose作为系统的输入就可以直接得到准确的3D pose estimation[34]
更正式的说明:

given a series of 2D joints PRK×2P\in\mathbb{R^{\mathrm{K\times2}}} and their corresponding 3D JRK×3J\in\mathbb{R^{\mathrm{K\times3}}} in a predefined camera coordinate system (K 是关节的个数), the system aims to learn a regression function F\mathcal{F}^{*} which minimizes the following error over a dataset containing N human poses:
F∗
F=argminF1Ni=1NL(F(Pi),Ji)(5) \mathcal{F}^{*}=\underset{\mathcal{F}}{\operatorname{argmin}} \frac{1}{N} \sum_{i=1}^{N} \mathcal{L}\left(\mathcal{F}\left(\mathbf{P}_{i}\right), \mathbf{J}_{i}\right) (5)

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

F=argminF1Ni=1NL(F(PiIi),Ji) \mathcal{F}^{*}=\underset{\mathcal{F}}{\operatorname{argmin}} \frac{1}{N} \sum_{i=1}^{N} \mathcal{L}\left(\mathcal{F}\left(\mathbf{P}_{i} \mid I_{i}\right), \mathbf{J}_{i}\right)
其中 IiI_i 是包含2D关节 PiP_i 的对齐(aligned)人体姿势的图像。在实践中,PiP_i 可以在已知的摄像机参数下或从2D关节检测器获得作为2D地面真值位置。在后一种情况下,2D检测器已经在训练过程中对输入图像的感知特征( perceptual features)进行了编码。这个观察结果激发了我们框架的设计。

图3显示了我们的框架的概述。整个框架由两个神经网络组成。在给定图像的情况下,利用一个深卷积网络(deep convolutional network )进行二维关节预测(2D joints prediction);同时,它也作为主干网络(backbone network),从中间层汇集图像特征。由于二维和三维关节坐标可以编码在人体骨骼中,因此本文提出的SemGCN用于自动捕捉人体关节空间结构中的模式(patterns)。它根据主干网的二维姿态和感知特征(perceptual features)预测三维坐标。

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

Figure 3. Illustration of our framework incorporating image features for 3D human pose estimation. We pre-train a 2D pose estimation network to predict 2D joint locations. It also serves as a backbone network where we pool image features. The proposed SemGCN predicts 3D pose from 2D joints as well as image features. Note that the whole framework is end-to-end trainable.

注意,当不考虑图像特征时,我们的框架有效地减少到等式5。

4.2 Perceptual Feature Pooling

ResNet[20]和HourGlass[38]在传统的人体姿态检测问题中被广泛采用。经验上,我们使用ResNet作为主干网(backbone network),因为它的中间层提供了图像的层次特征,这些特征在计算机视觉问题中很有用,例如目标检测和分割[46,74]。
给定输入图像中每个2D关节的坐标,我们将来自多个层的特征集中到ResNet中。特别地,我们使用roalign[19]将从层conv 1提取的特征连接到conv 4。然后将这些感知特征(Perceptual Feature)与二维坐标连接并输入SemGCN。请注意,由于输入图像中的所有关节共享相同的比例,因此我们将特征集中在一个方形边界框中,以每个关节为中心,大小固定,即骨架的平均骨骼长度。如图3所示。

4.3 Loss Function

以前大多数基于回归的方法直接最小化预测和基本真实关节位置的均方误差(MSE)[6,34,57,76]或骨向量[53]。遵循这些原则,我们采用人体姿势中关节和骨骼约束的简单组合作为损失函数,其定义如下:
L(B,J)=i=1MB~iBi2bone vectors +i=1KJ~iJi2joint positions 7 \mathcal{L}(\mathcal{B}, \mathcal{J})=\underbrace{\sum_{i=1}^{M}\left\|\tilde{\mathbf{B}}_{i}-\mathbf{B}_{i}\right\|^{2}}_{\text {bone vectors }}+\underbrace{\sum_{i=1}^{K}\left\|\tilde{\mathbf{J}}_{i}-\mathbf{J}_{i}\right\|^{2}}_{\text {joint positions }} (7)
其中
J={J~ii=1,,K}\mathcal{J}=\left\{\tilde{\mathbf{J}}_{i} \mid i=1, \ldots, K\right\} 代表预测到的3D joint 坐标
B={B~ii=1,,M}\mathcal{B}=\left\{\tilde{\mathbf{B}}_{i} \mid i=1, \ldots, M\right\} 是从 J\mathcal{J} 计算得到的bones
JiJ_iBiB_i 分别对应数据集中的ground truth

每个骨骼都是从起始关节指向其相关父关节的有向向量,如[53]所定义。

Conclusions

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

相关文章:

  • 2021-05-08
  • 2021-05-16
  • 2021-06-09
  • 2021-07-11
  • 2021-07-11
  • 2021-07-03
  • 2021-05-28
  • 2021-10-23
猜你喜欢
  • 2021-10-09
  • 2021-06-14
  • 2021-03-27
  • 2021-04-28
  • 2021-09-17
  • 2021-08-19
相关资源
相似解决方案