Numerical Coordinate Regression with Convolutional Neural Networks 阅读笔记
基于卷积神经网络的数值坐标回归
摘要: 本文研究从输入图像中推断兴趣点数字坐标的深度学习方法。现有的基于卷积神经网络的解决方案要么采用热图匹配方法,要么使用全连接输出层回归数值坐标。 这两种方法都不理想,前者不完全可微,后者缺乏内在的空间泛化性。 本文提出可微空间数值变换(differentiable spatial to numerical transform:DSNT)来应对此问题。DSNT层不添加可训练参数,完全可微,具有良好的空间泛化能力。 与热图匹配不同,DSNT在热图分辨率较低的情况下也表现良好,因此它可以作为一个输出层加入到现有的各种完全卷积体系结构中。与现有技术相比,DSNT在推理速度和预测精度之间提供了更好的权衡。当使用DSNT取代 sota 姿态估计方法中使用的热图匹配法时,DSNT为所有测试的模型提供了更好的预测精度。
文章目录
-
基于卷积神经网络的数值坐标回归
-
1. Introduction
-
2. Related Work
-
- 2.1. Human pose estimation
- 2.2. Spatial Transformer Networks
-
3. Main idea
-
4. The Differentiable Spatial to Numerical Transform 可微空间到数值转换
-
- 4.1. Heatmap activation
-
5. Loss function
-
- 5.1. Regularization
-
- 5.1.2 Distribution regularization 分布正则化
-
6. Experiments
-
- 6.1. Model base
- 6.2. Output strategy
- 6.3. Dataset and training
- 6.4. Results
-
7. Conclusion
1. Introduction
近年来,深度卷积神经网络(CNN)成为许多计算机视觉问题的高效通用模型。坐标回归是计算机视觉问题之一,主要预测输入图像兴趣点对应的确定数量的位置坐标。一个众所周知的坐标回归例子是人体姿态估计,人体姿态估计的sota方法也是基于CNN的。本文以单人姿态估计任务为例,研究基于CNN的坐标回归解决方案,此解决方案可能表现出空间泛化性 and/or 端到端可微性的理想特性。
空间泛化性是指模型在推理时能够将训练期间在一个位置获得的知识泛化到另一个位置的能力。 一个具有空间泛化性的模型在训练期间观察到图像左上角的网球,它应该能够在新图像中先前没看见的位置(如右下角)成功定位类似的网球。空间泛化性会正面影响坐标回归模型的整体泛化性,因为坐标回归模型的目标就是在图像的任意位置定位目标。一般而言,CNN的成功是空间共享参数提供的高泛化能力的结果。 为了最大限度地发挥这一优势,必须注意避免会过拟合全局结构的可训练层。 Lin等人指出,“全连接层容易过拟合,妨碍整个网络的泛化能力”。
端到端可微模型可以与其他可微层组成一个更大的模型,而不会失去使用反向传播进行训练的能力。对于坐标回归,端到端可微意味着能将梯度从输出的数字坐标一直反向传播到输入图像。 不完全可微的情况下也可以训练坐标回归模型,例如可将预测热图与从 ground truth 位置生成的目标热图相匹配,但这种方法不能用于将数字坐标作为中间值进行隐式学习的体系结构(包括 Spatial Transformer Networks)。
其他计算机视觉任务,如分类和语义分割,有许多基于CNN的解决方案,它们同时表现出空间泛化性和端到端可微性。但现有的坐标回归解决方案却牺牲了其中一个特性。
现有最成功的坐标回归方法是将损失直接应用于输出热图,而非数值坐标。通过渲染以 ground truth 坐标为中心的 spherical 2D Gaussian ,为每个训练实例生成合成热图。利用均方误差损失对模型进行训练,生成与合成热图相似的输出图像。在推理过程中,通过计算像素值的 argmax ,从模型的输出中获得数值坐标,这是一种不可微操作。虽然这种方法有很好的空间泛化能力,但也有一些缺点。最值得注意的是,梯度流从热图开始,而不是从数值坐标开始(图1a),这导致正在优化的损失函数(热图之间的相似性)与实际需要的度量(预测坐标和GT坐标之间的距离)之间的脱节。 推理时仅使用最亮的像素(高斯峰值)计算数值坐标,但训练过程中所有像素都会导致loss。由于坐标的精度与热图的分辨率有关 ,基于argmax进行预测还引入了量化问题(quantization issue) 。
另一种坐标回归方法是添加一个用于生成数字坐标的全连接的层。该方法的一个有趣(有时也是必要的)特性是,它可以从预测的数字坐标一直反向传播到输入图像。然而,全连接层的权重高度依赖训练期间输入的空间分布。 为说明这一点,考虑一种极端情况:训练集完全由位于图像左半部的坐标组成,许多全连接的层的输入激活将无用,那么对应于图像右侧的权重将无法正确训练。因此,尽管模型的卷积部分在空间上不变,但作为一个整体,模型将不能很好地推广到图像右侧的目标。这是对训练数据的一种低效使用,导致在小数据集上特别差的性能。
本文提出可微空间数值变换(differentiable spatial to numerical transform:DSNT)层替代现有方法。DSNT层可用于调整现有的CNN架构,如预训练的ResNet,来协调回归问题。DSNT在不引入额外参数的情况下,完全保留了模型的空间泛化性和端到端可微性。 图1 阐述了与全连接法(FC)和热图匹配(HM)方法相比,DSNT层如何作为一个整体融入模型。表1总结了DSTN构成的特征,这些特征有选择地出现在基于全连接(FC)和热图匹配(HM)的方法中。

图1. 坐标回归模型架构的比较。箭头表示推断(黑色)和梯度流(红色虚线)

表1:热图匹配(HM)、全连接输出(FC)和可微空间数值变换(DSNT)中存在的理想特性对比。
我们发现,在MPII数据集上,DSNT在多种体系结构上的性能始终优于热图匹配和全连接法,因此在大多数情况下 DSNT 是一种合适的替代方法。实验表明,当用DSNT代替热图匹配时,sota 堆叠沙漏模型可以获得更高的精度。对于ResNet-34 模型,DSNT比7×7像素的热图匹配性能高90.5%,比 56×56 像素热图性能高 2.0%。低分辨率热图使用DSNT的精度更好,因此可以用更广泛有效的体系结构进行坐标回归。例如,带有 DSNT 的 ResNet-50网络在精度上与 8-stack hourglass 网络相当,但在推理过程中,DSNT 比ResNet-50 推理速度快三倍且内存使用仅为其一半。
本文介绍的DSNT层与 Luvizon 等人的 soft argmax 操作非常相似,该操作是与我们自己的工作并行开发的。然而,我们通过提出一种提高预测精度的正则化策略 进一步扩展了这一想法。此外,我们还进行了一系列全面的实验,探索该操作的配置和属性,以及对完整姿态估计模型的精度和推理速度间的权衡。
2. Related Work
现有问题(包括人体姿态估计和 Spatial Transformer Networks)的解决方案中,热图匹配和全连接层应用广泛。以下部分描述现有坐标回归方法在这些场景下的应用。虽然本文将姿态估计作为DSNT层功能的一个示例,但我们的方法广泛适用于任何坐标回归问题。
2.1. Human pose estimation
DeepPose 是最早进行人体姿态估计任务的 CNN 模型之一,开创了深度学习在这一领域的主导地位。为了预测姿态关节位置,DeepPose使用全连接输出的多级级联CNN,级联的第一阶段预测关节位置的绝对坐标,随后的阶段通过生成相对位置增量来优化预测。作者认为,级联排列能够在更高的层次上推理人体姿态,因为 later stages 能分析全局结构。
DeepPose发表后不久,Tompson等人提出了一个使用热图匹配来计算损失的更高精度的模型。热图匹配在人体姿态估计模型中具有压倒性的主导地位,包括 sota 堆叠沙漏结构。堆叠沙漏网络中的每个 “hourglass” 使用其层的前半部分来下采样激活,后半部分上采样恢复到原始大小。通过将多个沙漏堆叠在一起,网络能够以重复的自下而上、自上而下的方式处理数据,实现与DeepPose的级联类似的效果。整个体系结构中广泛使用 skip 层,无论是在单个沙漏内部还是在各个沙漏之间,使模型更易于使用反向传播进行训练。
最近的研究表明,对抗性训练通过让鉴别器学习连贯姿态和无意义姿态间的差异,有助于预测可能的关节位置。 虽然我们在本文中没有进行这样的实验,但我们观察到对抗性训练与我们的发现是正交的,并且可以作为未来的工作与我们的DSNT层相结合。
2.2. Spatial Transformer Networks
Spatial Transformer Networks 的内部 Localisation Network 组件使用全连接层来预测平移变换参数,这些参数实际上只是二维位置坐标。这样的模型中不可能使用热图匹配,因为梯度必须通过坐标计算来反向传播。相比之下,DSNT层可以用作计算平移参数的替代。
3. Main idea
我们引入了一个新的可微层来适应全卷积网络(fully convolutional networks:FCN)进行坐标回归。FCN是一类广泛的CNN,它仅依赖于空间不变操作来产生其输出,因此自然具有空间泛化性。大多具有全连接输出层的 CNN 网络只需移除全连接层就能转换为 FCNs。FCN具有空间泛化性,且是端到端可微的,所以我们以这种方式设计我们的 DSNT 层来保持这两个理想的特性。DSNT层放在FCN的输出端,将空间热图转换为数字坐标。
整个FCN中,激活是空间表示的,这对输出是空间的语义分割之类的任务非常有用。然而,像人体姿态估计这样的坐标回归任务,输出需要是坐标对。 这就引出了一个问题:我们如何将空间激活转换为数字坐标,以便我们仍可有效训练模型?
考虑在输入图像中定位人的颈部的情况。该位置在空间上可表示为一个单通道热图(图2b),可以通过FCN学习。DSNT层的目的是将这样的热图转换为坐标回归所需的输出形式:数字坐标。然而,我们必须小心设计DSNT,因为我们希望该层成为端到端可训练模型的一部分。例如,若我们只取最亮像素的位置,那么我们就无法在训练期间计算有意义的梯度。因此,我们设计DSNT层,使其能够将平滑的梯度从数值坐标传播回所有热图像素。
相比与热图匹配技术,我们不直接将损失应用于FCN的热图输出(类似图2b),而是通过优化应用于模型整体输出的预测坐标的损失来间接学习热图。 这意味着在训练过程中,热图将通过DSNT层生成精确的坐标。如图2c所示为隐式学习的热图示例。

图2:颈部位置示例的空间表示。图像(b)是在 ground truth 位置渲染的2D高斯图像,而(c)是通过模型自由学习的。
4. The Differentiable Spatial to Numerical Transform 可微空间到数值转换
本节描述可微空间到数值变换(DSNT)层的技术细节。DSNT层没有可训练的参数,是完全可微的,并且具有空间泛化性。因此,可以将 DSNT 层作为CNN模型的一部分输出数字坐标,而不牺牲反向传播的端到端学习。
DSNT的输入是 m×n 的 单通道归一化热图: \hat{Z},m、n是热图的分辨率。正则化(归一化)意味着 \hat{Z} 的所有元素是非负的,且求和为一(该条件与概率分布必须满足的条件相同)。使用这种正则化热图可以确保预测坐标始终位于热图本身的空间范围内。应用一个热图 activation 函数:\hat{Z}=\phi(Z) 来正则化 FCN 输出的非正则化热图 Z。 4.1节会讨论 \phi(Z) 的合适的选择。
X 和 Y 是 m×n 的矩阵,X_{i,j}=\frac{2j-(n+1)}{n},Y_{i,j}=\frac{2i-(m+1)}{m},也就是说,X 和 Y 的每个条目都分别包含其自己的 x-坐标和 y-坐标,scaled后的图像的左上角位于(−1,−1) 右下角位于(1,1)。通过对 \hat{Z}进行概率解释,可以将坐标 c 表示为离散的双变量随机向量, mass function p(c) (质量函数:离散随机变量在各特定取值上的概率。)定义为:

在坐标回归的热图匹配方法中,预测的数值坐标类似于 c 的mode。对于DSNT层,预测值取为 c 的平均值,表示为:µ=E[c],不同于 mode,平均值可以:a)计算其导数,允许通过DSNT层反向传播;b)以 sub-pixel 精度预测坐标。Equation 1 详细说明了如何计算期望值,并因此定义了DSNT操作,用 <·,·>_F 表示Frobenius内积,它等价于向量矩阵的标量点积。

图3举例说明了DSNT操作。注意热图的对称的 off-center 值在计算中是如何相互抵消的。 实际上,此属性往往导致网络学习预测位置大致对称的热图。

图3:使用可微空间到数值变换(DSNT)进行坐标计算。
4.1. Heatmap activation
heatmap activation function:\phi(Z) 用于在应用 DSNT 之前正则化热图。这里通过将 activation 分解为两部分来描述此函数的几种选择。首先,输入图像 Z 的每个元素都进行校正以产生非负输出,然后能够使用 L_1 正则化来正则化校正后的图像 Z’ 使元素和为一(例如,\hat{Z}=(\sum Z'_{i,j})^{-1}Z')。
表2显示了一些可能选择的校正函数,以及MPII人体姿态数据集上的验证集PCKh精度测量。这些结果是使用在 ImageNet 上预训练的 ResNet-34 模型收集的,扩张后生成 28×28 像素分辨率的热图。未使用正则化。虽然校正函数的选择似乎对结果没有太大影响,但实验表明 softmax 效果最好。

表2:热图激活函数及其相应的人体姿态估计结果。
5. Loss function
由于DSNT层输出数字坐标,因此可直接计算预测 µ 和 groundtruth p之间的二维欧氏距离,利用这一事实来制定损失函数的核心项(Equation2)。

欧几里德损失函数的优点是可以直接优化预测位置和实际位置之间的距离(实际关心的度量)。
这与热图匹配中使用的均方误差(MSE)损失形成对比,后者优化了输出和从 ground truth 位置生成的合成热图间的 pixel-wise 相似性,而pixel-wise MSE 损失是间接优化 我们实际关心的度量(坐标)的方法。训练期间,模型完全忽视了坐标预测仅基于最亮的热图像素。另一种说法是:尽管当MSE损失 = 0 时,欧几里德 loss 具有全局最小值,但我们不能保证用于改善 MSE loss 的优化步骤会改善我们的结果。图4显示改进 MSE loss 会降低模型预测精度的一个示例,在这种情况下,可以看出,位于正确位置的单像素输出具有更差的MSE,但与几乎完美匹配热图最亮的像素的错误位置相比,有更好的预测位置。

图4:热图匹配时,尽管像素级MSE有所改善,但预测可能会恶化。
5.1. Regularization
有许多不同的可能热图,会导致从DSNT层输出相同的坐标。例如,热图的spread 对输出没有影响:具有大方差和小方差的类似的二维高斯 blobs 可生成相同的坐标。尽管这种自由可能被视为有益的,但一个潜在的缺点是该模型在训练期间没有通过热图强监督 pixel-wise 梯度。实验发现,通过正则化提供这样的监督可以显著提高 vanilla DSNT 的性能。
Equation 3 显示了正则化如何并入DSNT损失函数,正则化系数λ用于设置正则化器 L_{reg} 的强度。

5.1.2 Distribution regularization 分布正则化
或者,我们可以对热图的外观施加更严格的规则化,以直接鼓励形成某种形状,具体而言,为使热图类似于 spherical 高斯分布,可以最小化生成热图与适当目标正态分布间的散度(divergence)。 Equation 6 定义了分布正则化项,D(·||·) 是一个散度测量( 如 Jensen-Shannon divergence)。

添加这种形式的正则化项类似于将通常的热图匹配目标合并到DSNT损失函数中。
选择最佳正则化
为了确定性能最好的正则化项,我们使用 ResNet-34@28px 模型在MPII人体姿态数据集上进行了一系列实验。
首先,我们比较了正则化函数 L_{reg} 的不同选项:方差正则化,以及具有Kullback-Leibler(KL)和JensenShannon(JS)发散的分布正则化。表3的姿态估计结果表明,JS分布正则化可达到最高精度。图5所示的热图示例图像说明了正则化项的选择能显著改变热图外观。例如,分布正则化(使用KL或JS散度)能有效产生明显的高斯形状的 blobs(斑点)。σ_t=2 的方差正则化导致了一种有趣的策略:将热图分割为关节周围的四个斑点。

表3:不同正则化项的姿态估计结果,使用 ResNet-34@28px 模型

图5:使用不同正则化项训练的模型的热图外观(红色=右腕,蓝色=左腕)
我们进行了进一步的实验以确定最佳正则化超参数(图6),发现模型的精度对正则化强度:λ(Equation3) 具有鲁棒性。目标高斯标准差:σ_t ,值在半个像素到一个像素范围内表现良好。

为 JS 正则化调整 Gaussian size 和正则化强度
6. Experiments
6.1. Model base
我们使用两种不同的完全卷积模型架构对坐标回归网络的CNN部分进行了实验(见图1)。
ResNet ResNet架构以在分类任务中表现出色。通过移除最终连接的分类层,将 ImageNet 上预训练的 ResNet 模型转换为完全卷积网络(FCN)。这种模型产生 7×7px 的空间热图输出,但能使用扩张卷积来调整FCN的热图分辨率。具体而言,我们在一个或多个下采样阶段将卷积步长从2更改为1,然后在后续层中使用扩张的卷积来保持感受野的大小。以这种方式修改的每个下采样阶段,热图分辨率将增加两倍。
Stacked hourglass: 堆叠沙漏结构目前是人类姿势估计的sota技术(2018)。该体系结构输出的热图分辨率为64×64px。
6.2. Output strategy
Heatmap matching (HM) MSE pixel-wise 损失直接应用于FCN的输出。推理过程中,根据热图的最亮像素计算数字坐标,并根据相邻像素的亮度对位置进行微调。
Fully connected (FC) 将softmax热图激活应用于FCN的输出,然后接一个全连接层生成数字坐标。该模型采用 Euclidean loss 进行训练。
DSNT 与 FC 相同,但使用 DSNT层代替全连接层。
DSNT with regularization (DSNTr) 与DSNT相同,但在损失函数中包含正则化项。我们选择的正则化方法是在实验上表现最好的 σ_t=1 且 λ=1 的JensenShannon散度。
6.3. Dataset and training
我们使用MPII人体姿态数据集来评估DSNT层的有效性。该数据集包含28883人的图像,每个人最多有16个关节标注,以及近似的人体位置和尺度标签,以便于裁剪单人姿态。
在训练期间,使用与 Newell 等人相同的方案增加数据集的样本,该方案包括水平翻转、75%-125%缩放、±30度旋转和60%-140%通道像素值缩放。由于测试集标签不是公共的,因此我们在[22]和[4]中使用的固定验证集上进行评估。
使用 RMSProp 优化模型,初始学习率为 2.5×10^{−4}。每个模型都经过120个epoch的训练,在60和90个epoch,学习率降低了10倍(一个 epoch 是训练集的一次完整 pass over)。训练在单个Maxwell architecture NVIDIA Titan X GPU上完成。
我们基于ResNet的网络使用每个32个样本的mini-batches 进行训练,但内存密集型配置除外(例如ResNet-101@28px)。使用每个6个样本的mini-batches 训练堆叠沙漏模型。
6.4. Results
PCKh 性能指标是预测位置与 gt 距离不超过 head segment length 一半的关节的百分比。根据MPII提供的评估规范,我们从平均总PCKh中排除骨盆和胸部关节。
为了比较坐标回归的不同方法,我们使用基于ResNet-34的网络进行了一系列实验(图7)。热图匹配在 7×7px 热图分辨率下实现了非常低的 44%的PCKh(超出了图的界限)。随着分辨率的提高,热图匹配的性能相对于其他方法有所提高,证明通过像素级 argmax 计算坐标所固有的量化效应,表明热图匹配不适用于生成低分辨率热图的模型,而 DSNT对热图尺寸具有很强的鲁棒性。在较高分辨率下,全连接方法的性能最差。由于DSNT产生的预测精度不依赖于像素大小,因此DSNT方法在所有分辨率(甚至7×7 px)上都表现出良好的性能。

图7:ResNet-34的输出分辨率和策略。
所有情况下正则化都能提高DSNT的精度,但分辨率最低的情况除外,在这种情况下边界效应会发挥作用(即,在一个 7×7px 图像中绘制的1像素标准偏差高斯图像可能会被严重剪裁,这会对DSNT计算产生不利影响)。研究发现,在较高分辨率下,全连接输出比热图匹配差,总体上比DSNT差。
我们使用基于 ResNet 的模型进行进一步的实验来评估深度对性能的影响。图8的结果表明,在任何深度下,较高的热图分辨率都是有益的。然而,增加分辨率(Increasing Resolution With Distribution)的折衷办法会对内存消耗和计算成本产生巨大影响。所以,我们无法训练ResNet-101@56px。PCKh随着深度的增加而显著增加,直到ResNet50,当深度进一步增加到ResNet-101时,仅观察到轻微的增加。

图8:为DSNTr变换 ResNet 深度和热图分辨率
除了ResNet外,我们还训练了堆叠沙漏网络。尽管堆叠沙漏结构是使用热图匹配开发的,但我们发现使用带正则化的DSNT训练的模型始终可以获得更好的结果(图9)。对误分类示例的分析表明,DSNT在预测非常靠近图像边界的边缘情况接缝时精度较低。

图9:沙漏模型的不同输出策略和 stack 数。
图10直接比较了使用热图匹配训练的堆叠沙漏网络和使用带正则化DSNT训练的ResNet的网络。虽然发现8层沙漏网络具有最高的总体精度,但基于ResNet的模型速度更快,精度方面也不遑多让。ResNet-50@28px参数减少8%,在训练过程中需要的内存不到一半,推理速度比HG8快3倍以上,同时仍达到约99%的PCKh分数。

图10:验证精度与推断时间的关系,越靠近左上角越好。标签显示热图分辨率(ResNet模型)或堆栈计数(沙漏模型)。
空间泛化性通过训练集大小受限且无数据扩充的训练模型进行测试。图11结果表明,全连接输出的空间泛化能力非常差,在1024个样本上进行训练时,PCKh得分极低,为22%。DSNT和热图匹配在样本较少的情况下表现更好,表明泛化效果更好。

为 ResNet-34@28px 模型变化训练样本数(无增强)。
最后,我们评估了我们的 ResNet-50@28px 测试集上的DSNTr 模型。表4的结果表明,我们的解决方案使用了更小、更简单的模型(ResNet50),能够与更复杂的模型具有相当的精度。较小模型与表中所示的所有其他方法相比:ResNet-50@28px 推理速度更快,使用的内存更少。注意,我们通过下载预训练模型来确定其他方法的运行时间和内存使用情况。

表4:MPII人体姿态测试集PCKh精度和推理时间效率结果。
7. Conclusion
有多种方法可将CNN用于数值坐标回归任务,每种方法都以不同的方式影响模型的行为:全连接的输出层降低了空间泛化性,热图匹配引入了可微性和量化问题。相比之下,我们提出的DSNT层可以适应坐标回归的完全卷积网络,而不引入这些问题。我们已经证明,使用DSNT构建的模型可以在真实的人体姿态数据上取得有竞争力的结果,而无需复杂的特定于任务的体系结构,从而形成强大的baseline。相比与堆叠沙漏模型,此类模型在推理速度权衡方面也提供了更好的精度。
未来工作的有趣方向是将DSNT与复杂的姿态估计方法相结合(例如对抗训练),或者将DSNT用作需要中间坐标预测的模型的内层(例如Spatial Transformer Networks)。
引自另一博客:之所以DSNT能直接得到坐标,又能同时具有空间泛化能力,是在于两点:(1)其对heatmap进行了监督,监督对象为高斯分布,具有对称性;(2)其对坐标轴对象X,Y进行了精心设计,分别是1 ∗ n 和 n ∗ 1 的单方向性,使其在两个坐标轴具有对称性。
