原文:Semantic Graph Convolutional Networks for 3D Human Pose Regression (CVPR2019)
代码:garyzhao/SemGCN
本文研究了用于回归的图卷积网络 (GCNs) 的问题。目前的 GCNs 结构局限于卷积滤波器的小接受域和每个节点的共享变换矩阵。为了解决这些局限性,文章提出了语义图卷积网络(SemGCN),这是一种新的神经网络体系结构,可以处理具有图结构数据的回归任务。
SemGCN 学习捕获没有在图中显式表示的语义信息,例如局部和全局节点关系。这些语义关系可以通过端到端的训练从 ground truth 中学习,而不需要额外的监督或手工制定的规则。文章进一步研究了 SemGCN 在三维人体姿态回归中的应用。实验结果表明,SemGCN 在减少90%的参数的情况下,性能优于 SOTA。
文章提出了一种新的图网络体系结构来处理涉及可以用图的形式表示的数据的一般回归任务,这些数据。首先介绍 GCN 的背景和相关的 baseline 方法,然后介绍 SemGCN 的详细设计。
我们假设图形数据共享相同的拓扑结构,例如人类骨骼,3D可变形模型和引文网络。在同一领域中具有不同图形结构的其他问题,例如蛋白质-蛋白质相互作用和量子化学,都不在本文的讨论范围之内。这一假设使得学习蕴含在图结构中的先验成为可能,这启发了SemGCN。
我们先简要回顾一下基础的 GCN。设 G = { V , E } G=\{V,E\} G={V,E} 表示图。 V V V 是 k k k 个节点的集合和 E E E 是边缘的集合,其中 x i → ( l ) ∈ R D l \overrightarrow{\textbf x_i }^{(l)} \in \mathbb{R} ^{D_l} xi(l)∈RDl 和 x i → ( l + 1 ) ∈ R D l + 1 \overrightarrow{\textbf x_i }^{(l+1)} \in \mathbb{R} ^{D_{l+1}} xi(l+1)∈RDl+1 是结点 i i i 在第 l l l 层卷积之前和之后的表达。
基于图的卷积传播应用于节点 i i i 可以分两步走。首先,通过可学习参数矩阵 W ∈ R D l + 1 × D l W\in \mathbb{R}^{D_{l+1}\times D_{l}} W∈RDl+1×Dl 转换结点表示。其次,将这些变换后的节点表示从其相邻节点 j ∈ N ( l ) j\in N_{(l)} j∈N(l)聚集到节点 i i i,随后是非线性函数 (ReLU)。如果节点表达表示为矩阵 X ( l ) ∈ R D l × K X^{(l)}\in \mathbb{R}^{D_{l}\times K} X(l)∈RDl×K中,则卷积可以表示为
X l + 1 = σ ( W X l A ^ ) X^{l+1} = \sigma (WX^l \hat A) Xl+1=σ(WXlA^)
其中 A ^ \hat 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 的邻接矩阵,有 α i j = 1 α_{ij}=1 αij=1 如果 结点 j ∈ N ( I ) j \in N_{(I)} j∈N(I)和 α i i = 1 α_{ii}=1 αii=1。
Wang 等人重新表述了基于公式1的非常深的图网络,使用残差连接来学习图像特征和3D顶点之间的映射。我们采用了它的网络体系结构,并将其作为我们的 baseline,称为ResGCN。
等式1有两个明显的缺点。首先,为了使图卷积在具有任意拓扑的节点上工作,对所有边共享学习的核矩阵W。因此,图中相邻节点的关系或内部结构没有得到很好的利用。其次,以往的工作只从每个节点的一阶邻域中收集特征。这也受到限制,因为感受野固定为1。
我们证明了学习图的边中隐含的噪声节点的语义关系可以有效地解决共享核矩阵的局限性。
所提出的方法建立在CNNs的概念之上。图1(a)显示了具有3×3大小的卷积核的CNN。它学习9个不同的变换矩阵。不同的卷积核编码了在空间维度上不同的特征。这使得操作有了在图像中建模特征图案的表达能力。我们发现 这个公式可以近似于为每一个位置都学习一个权重向量 a i → \overrightarrow{a_i} ai 之后联合一个共享的转换矩阵 W \bf W W。如果将图像特征图表示为正方形网格图,其中节点代表像素,则此近似公式可直接推广到GCNs,如 Figure1 ©所示。
为此,我们提出了语义图卷积(SemGConv),在传统的图卷积的基础上增加了一个可学习的加权矩阵 M ∈ R K × K M\in \mathbb{R}^{K\times K} M∈RK×K。公式1转换为:
X ( l + 1 ) = σ ( W X ( l ) ρ i ( M ⊙ A ) ) \mathbf{X}^{(l+1)} = \sigma (\mathbf{WX}^{(l)}\rho _i(\mathbf{M\odot A})) X(l+1)=σ(WX(l)ρi(M⊙A))
其中 ρ i \rho _i ρi 是 Softmax 非线性,其对节点 i i i 的所有选择上的输入矩阵进行归一化;⊙ 是元素式运算,如果 a i j = 1 aij=1 aij=1 或者在 ρ i \rho _i ρi 之后返回具有饱和为零的大指数的负值,则返回 m i j m_{ij} mij; A A A 用作掩码,强制对于图中的节点 i i i,我们仅计算其相邻节点 j ∈ N ( i ) j \in N(i) j∈N(i)的权重。
如Figure 1 (d) 所示,我们可以进一步扩展公式2,通过学习一组 M d ∈ R K × K M_d \in \mathbb{R}^{K\times K} Md∈RK×K,从而将不同的加权矩阵应用于输出节点特征的每个通道 d d d:
X ( l + 1 ) = ∣ ∣ d = 1 D l + 1 σ ( w d → X ( l ) ρ i ( M d ⊙ A ) ) \mathbf{X}^{(l+1)} = ||^{D_{l+1}} _{d=1} \sigma (\overrightarrow{\bf w_d}\mathbf{X}^{(l)}\rho _i(\mathbf{M_d \odot A})) X(l+1)=∣∣d=1Dl+1σ(wdX(l)ρi(Md⊙A))
其中||表示通道级联, w d → \overrightarrow{\bf w_d} wd为变换矩阵 W W W 的第 d d d 行。
Comparison to previous GCNs. aGCN 和 GAT 遵循自我注意策略,通过关注其邻居来计算图中每个节点的隐藏表示。他们的目标是根据边的输入来估计加权函数,以调节整个图中的信息流。相反,我们的目标是学习图结构中代表先验的边的与输入无关的权重,例如,在人体姿势估计中,一个关节如何影响身体的其他部位。ST-GCN 中引入的边缘重要性加权掩模是与我们最相关的工作,但也有两个明显的不同之处。首先,在 ST-GCN 加权后没有利用 Softmax非线性,而我们发现它稳定了训练,并获得了更好的结果,因为节点到邻居的构造是用 Softmax归一化的。其次,ST-GCN只将单个可学习掩码应用于所有信道,但我们的等式3学习边的基于通道的不同权重。因此,我们的模型具有更好的拟合数据映射的能力。
捕捉图中节点之间的全局和远程关系可以有效地解决接受域有限的问题。然而,为了保持 GCNs 的行为,我们通过计算节点之间的响应来控制特征更新机制,而不是学习新的卷积滤波器。因此,我们遵循 non-local 的概念,并将运算定义为:
x i → l + 1 = x i → l + W x K ∑ j = 1 K f ( x i → l , x j → l ) ⋅ g ( x j → l ) \overrightarrow{\textbf{ x}_i}^{l+1} = \overrightarrow{\textbf{ x}_i}^{l} + \frac{W_x}{K}\sum_{j=1}^{K}f(\overrightarrow{\textbf{ x}_i}^{l} , \overrightarrow{\textbf{ x}_j}^{l} )\cdot g(\overrightarrow{\textbf{ x}_j}^{l} ) xil+1= xil+KWxj=1∑Kf( xil, xjl)⋅g( xjl)
其中 W x W_x Wx 被初始化为零; f f f 是计算节点 i i i 和所有其它 j j j 之间的亲和度的函数; g g g 计算节点 j j j 的表示。
基于方程3和4,我们提出了一种新的回归网络体系结构,称为语义图卷积网络(Semantic Graph Convolutional Networks),其中 SemGConv 层和 non-local 层交替以获取节点的局部和全局语义关系。图2展示了一个示例。
在这项工作中,所有块中的 SemGCN 具有相同的结构,由两个具有128个通道的 SemGConv 层和一个 non-local 层构建的一个 residual block。在网络的开始,一个 SemGConv 用于将输入映射到潜在空间;另一个 SemGConv,它将编码的特征投影回输出空间。除最后一个层之外,所有 SemGConv 层之后都进行 batch normalization 和ReLU激活。
如果 SemGConv 层被替换为基础的卷积,并且所有 non-local 层都被移除,则 SemGCN 将降级为ResGCN。
在这一部分中,文章提出了一种新的 end to end 可训练框架,该框架将 SemGCN 结合图像特征进行三维人体姿势回归。