用于人体姿势估计的深度高分辨率表示学习
paper题目:Deep High-Resolution Representation Learning for Human Pose Estimation
paper是中国科学技术大学发表在CVPR 2019的工作
paper地址
Abstract
在本文中,我们对人体姿势估计问题感兴趣,重点是学习可靠的高分辨率表示。大多数现有方法从高分辨率到低分辨率网络产生的低分辨率表示中恢复高分辨率表示。相反,我们提出的网络在整个过程中保持高分辨率表示。
我们从高分辨率子网络作为第一阶段开始,逐步添加从高分辨率到低分辨率的子网络以形成更多阶段,并将多分辨率子网络并行连接。我们进行重复的多尺度融合,使得每个从高到低分辨率的表示一遍又一遍地接收来自其他并行表示的信息,从而产生丰富的高分辨率表示。因此,预测的关键点热图可能更准确且空间更精确。我们通过两个基准数据集(COCO 关键点检测数据集和 MPII 人体姿势数据集)的优异姿势估计结果,凭经验证明了我们网络的有效性。此外,我们还展示了我们的网络在 PoseTrack 数据集上的姿势跟踪方面的优越性。代码和模型已在 https://github.com/leoxiaobin/deep-high-resolution-net.pytorch 上公开提供。
1. Introduction
二维人体姿态估计一直是计算机视觉中的一个基本但具有挑战性的问题。目标是定位人体解剖关键点(例如肘部、手腕等)或部位。它有很多应用,包括人体动作识别、人机交互、动画等。本文对单人姿态估计感兴趣,这是其他相关问题的基础,例如多人姿态估计[6,26,32 , 38, 46, 55, 40, 45, 17, 69],视频姿态估计和跟踪[48, 70]等。
最近的发展表明深度卷积神经网络已经实现了最先进的性能。大多数现有方法通过网络传递输入,通常由串联连接的从高分辨率到低分辨率的子网络组成,然后提高分辨率。例如,Hourglass [39]通过对称的从低到高的过程恢复高分辨率。 SimpleBaseline [70] 采用一些转置卷积层来生成高分辨率表示。此外,扩张卷积还用于放大从高到低分辨率网络的后面层(例如 VGGNet 或 ResNet)[26, 74]。
我们提出了一种新颖的架构,即高分辨率网络(HRNet),它能够在整个过程中保持高分辨率表示。我们从高分辨率子网作为第一阶段开始,逐步添加从高分辨率到低分辨率的子网以形成更多阶段,并将多分辨率子网并行连接。我们通过在整个过程中一遍又一遍地在并行多分辨率子网络之间交换信息来进行重复的多尺度融合。我们估计网络输出的高分辨率表示的关键点。生成的网络如图 1 所示。
图 1. 说明了所提出的 HRNet 的架构。它由并行的高到低分辨率子网络组成,并在多分辨率子网络之间重复信息交换(多尺度融合)。水平和垂直方向分别对应于网络的深度和特征图的比例。
与现有广泛使用的姿势估计网络[39,26,74,70]相比,我们的网络有两个好处。 (i) 我们的方法并行连接高分辨率到低分辨率的子网,而不是像大多数现有解决方案那样串联连接。因此,我们的方法能够保持高分辨率,而不是通过从低到高的过程恢复分辨率,因此预测的热图在空间上可能更精确。 (ii) 大多数现有的融合方案聚合了低层和高层表示。相反,我们执行重复的多尺度融合,以借助相同深度和相似级别的低分辨率表示来增强高分辨率表示,反之亦然,从而导致高分辨率表示对于姿态估计也很丰富。因此,我们预测的热图可能更准确。
我们凭经验证明了优于两个基准数据集的关键点检测性能:COCO 关键点检测数据集 [35] 和 MPII 人体姿势数据集 [2]。此外,我们在 PoseTrack 数据集 [1] 上展示了我们的网络在视频姿势跟踪方面的优越性。
2. Related Work
大多数传统的单人姿态估计解决方案采用概率图模型或图像结构模型[76, 49],最近通过利用深度学习来改进,以更好地建模一元和成对能量[9, 63, 44]或者模仿推理过程中的迭代[13]。如今,深度卷积神经网络提供了主导解决方案[20,34,60,41,42,47,56,16]。有两种主流方法:回归关键点的位置[64,7],估计关键点热图[13,14,75],然后选择热值最高的位置作为关键点。
大多数用于关键点热图估计的卷积神经网络由类似于分类网络的主干子网络组成,它会降低分辨率,主体产生与其输入相同分辨率的表示,然后是估计关键点位置的热图的回归器。估计然后转换为全分辨率。主体主要采用从高到低、从低到高的框架,可能会增加多尺度融合和中(深)监督。
从高到低和从低到高。从高到低的过程旨在生成低分辨率和高级表示,而从低到高的过程旨在生成高分辨率表示[4,11,22,70,39,60]。这两个过程都可能重复多次以提高性能[74,39,14]。
代表性的网络设计模式包括: (i) 对称的从高到低和从低到高的过程。 Hourglass 及其后续[39,14,74,30]将从低到高的过程设计为从高到低的过程的镜像。 (ii) 从高到低重,从低到高轻。从高到低的过程是基于ImageNet分类网络,例如[11, 70]中采用的ResNet,而从低到高的过程只是一些双线性上采样[11]或转置卷积[70]层。 (iii) 与扩张卷积的组合。在[26,50,34]中,ResNet或VGGNet的最后两个阶段采用扩张卷积来消除空间分辨率损失,随后进行轻量级从低到高的处理以进一步提高分辨率,避免昂贵的计算成本仅使用扩张卷积[11,26,50]。图 2 描述了四个代表性的姿态估计网络。
图 2.依赖于从高到低和从低到高框架的代表性姿态估计网络的图示。 (a)沙漏[39]。(b) 级联金字塔网络[11]。 © SimpleBaseline [70]:用于从低到高处理的转置卷积。 (d) 与扩张卷积的组合[26]。右下图例:reg。 = 常规卷积,扩张 = 扩张卷积,反式。 = 转置卷积、跨步 = 跨步卷积、连接。 =串联。在(a)中,从高到低和从低到高的过程是对称的。在(b)、©和(d)中,作为分类网络(ResNet或VGGNet)的一部分的从高到低的过程是重的,而从低到高的过程是轻的。在(a)和(b)中,高到低和低到高过程的相同分辨率层之间的跳跃连接(虚线)主要旨在融合低级和高级特征。在(b)中,右侧部分finenet结合了通过卷积处理的低级和高级特征。
多尺度融合。最直接的方法是将多分辨率图像分别输入多个网络并聚合输出响应图[62]。 Hourglass [39] 及其扩展 [74, 30] 通过跳跃连接逐步将从高到低过程中的低级特征组合成从低到高过程中的相同分辨率的高级特征。在级联金字塔网络[11]中,globalnet将从高到低的过程中从低到高的级别特征逐步组合到从低到高的过程中,然后细化网络将处理后的从低到高的级别特征组合起来通过卷积。我们的方法重复多尺度融合,部分受到深度融合及其扩展的启发[65,71,57,77,79]。
中级监督。早期为图像分类而开发的中间监督或深度监督[33, 59]也被用来帮助深度网络训练和提高热图估计质量,例如[67, 39, 62, 3, 11]。沙漏方法[39]和卷积姿态机方法[67]将中间热图处理为剩余子网络的输入或输入的一部分。
我们的方法。我们的网络并行连接从高到低的子网络。它在整个过程中保持高分辨率表示,以实现空间精确的热图估计。它通过重复融合从高到低的子网络产生的表示来生成可靠的高分辨率表示。我们的方法与大多数现有作品不同,后者需要单独的从低到高的上采样过程并聚合低级和高级表示。我们的方法在不使用中间热图监督的情况下,在关键点检测精度方面具有优越性,并且在计算复杂性和参数方面具有高效性。
有相关的多尺度网络用于分类和分割[5,8,72,78,29,73,53,54,23,80,53,51,18]。我们的工作部分受到其中一些[54,23,80,53]的启发,并且存在明显的差异,使得它们不适用于我们的问题。由于每个子网络(深度、批量归一化)和多尺度融合缺乏适当的设计,卷积神经结构[54]和互连的CNN[80]无法产生高质量的分割结果。网格网络[18]是许多权重共享的U-Net的组合,由两个跨多分辨率表示的独立融合过程组成:在第一阶段,信息仅从高分辨率发送到低分辨率;在第二阶段,信息仅从高分辨率发送到低分辨率;在第二阶段,信息仅从高分辨率发送到低分辨率。在第二阶段,信息仅从低分辨率发送到高分辨率,因此竞争性较差。多尺度密集网络[23]没有目标,也无法生成可靠的高分辨率表示。
3. Approach
人体姿态估计,又名关键点检测,旨在从尺寸为 W × H × 3 W \times H \times 3 W×H×3的图像 I \mathbf{I} I中检测 K K K个关键点或部位(例如肘部、手腕等)的位置。最先进的方法将这个问题转化为估计 K K K个大小为 W ′ × H ′ , { H 1 , H 2 , … , H K } W^{\prime} \times H^{\prime},\left\{\mathbf{H}_1, \mathbf{H}_2, \ldots, \mathbf{H}_K\right\} W′×H′,{H1,H2,…,HK}的热图,其中每个热图 H k \mathbf{H}_k Hk表示第 k k k个关键点的位置置信度。
我们遵循广泛采用的管道[39,70,11],使用卷积网络来预测人类关键点,该网络由一个由两个跨步卷积组成的茎组成,降低了分辨率,一个主体输出与以下分辨率相同的特征图:它的输入特征图,以及估计热图的回归器,其中选择关键点位置并将其转换为完整分辨率。我们重点关注主体的设计,并介绍我们的高分辨率网络(HRNet),如图 1 所示。
顺序多分辨率子网。现有的姿态估计网络是通过串联连接从高到低分辨率的子网络来构建的,其中每个子网络形成一个阶段,由一系列卷积组成,并且相邻子网络之间有一个下采样层以将分辨率减半。
设
N
s
r
\mathcal{N}_{s r}
Nsr为第
s
s
s阶段的子网,
r
r
r为分辨率索引(其分辨率为第一个子网分辨率的
1
2
r
−
1
\frac{1}{2^{r-1}}
2r−11)。具有
S
S
S(例如4)级的从高到低的网络可以表示为:
N
11
→
N
22
→
N
33
→
N
44
\mathcal{N}_{11} \rightarrow \mathcal{N}_{22} \rightarrow \mathcal{N}_{33} \rightarrow \mathcal{N}_{44}
N11→N22→N33→N44
并行多分辨率子网。我们从高分辨率子网络作为第一阶段开始,逐步添加高分辨率到低分辨率子网络,形成新的阶段,并将多分辨率子网络并行连接。因此,后一级并行子网的分辨率由前一级的分辨率和一个较低的分辨率组成。
包含 4 个并行子网的示例网络结构如下:
反复进行多尺度融合。我们在并行子网之间引入交换单元,以便每个子网重复接收来自其他并行子网的信息。这是一个显示信息交换方案的示例。我们将第三阶段分为几个(例如3个)交换块,每个块由3个并行卷积单元组成,并行单元之间有一个交换单元,如下所示:
其中
C
s
r
b
\mathcal{C}_{s r}^b
Csrb表示第
s
s
s阶段第
b
b
b块的第
r
r
r分辨率下的卷积单元,
E
s
b
\mathcal{E}_s^b
Esb是对应的交换单元。
图 3. 说明交换单元如何从左到右分别聚合高分辨率、中度和低分辨率的信息。右图例:strided 3×3 = strided 3×3 卷积,上采样。 1×1 = 1 × 1 卷积后的最近邻上采样。
我们在图 3 中说明了交换单元,并在下面介绍了公式。为了讨论方便,我们去掉下标 s s s和上标 b b b。输入是 s s s个响应图: { X 1 , X 2 , … , X s } \left\{\mathbf{X}_1, \mathbf{X}_2, \ldots, \mathbf{X}_s\right\} {X1,X2,…,Xs}。输出是 s s s个响应图: { Y 1 , Y 2 , … , Y s } \left\{\mathbf{Y}_1, \mathbf{Y}_2, \ldots, \mathbf{Y}_s\right\} {Y1,Y2,…,Ys},其分辨率和宽度与输入相同。每个输出都是输入映射的聚合, Y k = ∑ i = 1 s a ( X i , k ) \mathbf{Y}_k=\sum_{i=1}^s a\left(\mathbf{X}_i, k\right) Yk=∑i=1sa(Xi,k)。跨阶段的交换单元有一个额外的输出映射 Y s + 1 \mathbf{Y}_{s+1} Ys+1: Y s + 1 = a ( Y s , s + 1 ) \mathbf{Y}_{s+1}=a\left(\mathbf{Y}_s, s+1\right) Ys+1=a(Ys,s+1)。
函数 a ( X i , k ) a\left(\mathbf{X}_i, k\right) a(Xi,k)包括从分辨率 i i i到分辨率 k k k对 X i \mathbf{X}_i Xi进行上采样或下采样。我们采用跨步 3 × 3 3 \times 3 3×3卷积进行下采样。例如,一个步幅为 2 的 3 × 3 3 \times 3 3×3卷积用于 2 × 2 \times 2×下采样,两个连续的步幅为 2 的 3 × 3 3 \times 3 3×3卷积用于 4 × 4 \times 4×下采样。对于上采样,我们采用简单的最近邻采样和 1 × 1 1 \times 1 1×1卷积来对齐通道数。如果 i = k , a ( ⋅ , ⋅ ) i=k, a(\cdot, \cdot) i=k,a(⋅,⋅)只是一个恒等连接: a ( X i , k ) = X i a\left(\mathbf{X}_i, k\right)=\mathbf{X}_i a(Xi,k)=Xi。
热图估计。我们简单地根据最后一个交换单元输出的高分辨率表示来回归热图,这在经验上效果很好。损失函数定义为均方误差,用于比较预测热图和真实热图。真实值 heatmpas 是通过应用 2D 高斯生成的,标准偏差为 1 像素,以每个关键点的组真实位置为中心。
网络实例化。我们通过遵循 ResNet 的设计规则来实例化用于关键点热图估计的网络,将深度分配给每个阶段以及每个分辨率的通道数。
主体,即我们的 HRNet,包含四个阶段和四个并行子网络,其分辨率逐渐降低到一半,相应的宽度(通道数)增加到两倍。第一阶段包含 4 个残差单元,每个单元与 ResNet-50 相同,由宽度为 64 的瓶颈形成,后面是一个 3×3 卷积,将特征图的宽度减少到 C。第二,第 3、4 级分别包含 1、4、3 个交换块。一个交换块包含 4 个残差单元,其中每个单元在每个分辨率下包含两个 3 × 3 卷积,以及一个跨分辨率的交换单元。综上,总共有8个交换单元,即进行了8次多尺度融合。
在我们的实验中,我们研究了一小网和一大网:HRNet-W32和HRNet-W48,其中32和48分别表示最后三个阶段高分辨率子网的宽度(C)。其他三个并行子网络的宽度对于HRNet-W32为64、128、256,对于HRNet-W48为96、192、384。