论文阅读|HRNet

Deep High-Resolution Representation Learning for Human Pose Estimation

原文:https://arxiv.org/pdf/1902.09212.pdf

参考资料:

HRNet阅读笔记及代码理解 - SegmentFault 思否

一文读懂HRNet - 知乎 (zhihu.com)

【论文阅读笔记】HRNet--从代码来看论文_花噜噜酱的博客-CSDN博客

目录

Abstract

Introduction

Related Work

High-to-low and low-to-high

Multi-sacle fusion

Intermediate supervision

Our approach

Approach

Sequential multi-resolution subnetworks 顺序多分辨率子网

Parallel multi-resolution subnetworks 并行多分辨率子网

Repeated multi-scale fusion 重复多尺度融合

Heatmap estimation 热图估算

Network instantiation 网络实例化

消融实验

Repeated multi-scale fusion

Resolution maintenance

Representation resolution

Conclusion

Abstract

在这篇论文中,我们主要研究人的姿态问题(human pose estimation problem),着重于输出可靠的高分辨率表征(reliable highresolution representations)。现有的大多数方法都是从高分辨率到低分辨率网络(high-to-low resolution network)产生的低分辨率表征中恢复高分辨率表征。相反,我们提出的网络能在整个过程中都保持高分辨率的表征

我们从高分辨率子网络(high-resolution subnetwork)作为第一阶段开始,逐步增加高分辨率到低分辨率的子网,形成更多的阶段,并将多分辨率子网并行连接。我们进行了多次多尺度融合multi-scale fusions,使得每一个高分辨率到低分辨率的表征都从其他并行表示中反复接收信息,从而得到丰富的高分辨率表征。因此,预测的关键点热图可能更准确,在空间上也更精确。通过 COCO keypoint detection 数据集和 MPII Human Pose 数据集这两个基准数据集的pose estimation results,我们证明了网络的有效性。此外,我们还展示了网络在 Pose Track 数据集上的姿态跟踪的优越性。

Introduction

二维人体姿态估计 2D human pose 是计算机视觉中一个基本而又具有挑战性的问题。目标是定位人体的解剖关键点(如肘部、腕部等)或部位。它有很多应用,包括人体动作识别、人机交互、动画等。本文着力于研究single-person pose estimation,这是其他相关问题的基础,如multiperson pose estimation,video pose estimation and tracking[49,72].

我们提出了一种新的架构,即高分辨率网络(HRNet),它能够在整个过程中维护高分辨率的表示。我们从高分辨率子网作为第一阶段始,逐步增加高分辨率到低分辨率的子网(gradually add high-to-low resolution subnetworks),形成更多的阶段,并将多分辨率子网并行连接。在整个过程中,我们通过在并行的多分辨率子网络上反复交换信息来进行多尺度的重复融合。我们通过网络输出的高分辨率表示来估计关键点。生成的网络如图所示。

论文阅读|HRNet_第1张图片

与现有的广泛用于姿态估计(pose estimation)的网络相比,我们的网络有两个好处:

  • 我们的方法是并行连接高分辨率到低分辨率的子网,而不是像大多数现有解决方案那样串行连接。因此,我们的方法能够保持高分辨率,而不是通过一个低到高的过程恢复分辨率,因此预测的热图可能在空间上更精确。parallel high-to-low resolution subnetworks
  • 大多数现有的融合方案都将低层和高层的表示集合起来。相反,我们使用重复的多尺度融合,利用相同深度和相似级别的低分辨率表示来提高高分辨率表示,反之亦然,从而使得高分辨率表示对于姿态的估计也很充分。因此,我们预测的热图可能更准确。multi-resolution subnetworks (multi-scale fusion)

我们通过实验证明了在两个基准数据集(Benchmark): COCO关键点检测数据集(keypoint detection)和MPII人体姿态数据集(Human Pose dataset)上优越的关键点检测性能。此外,我们还展示了我们的网络在PoseTrack数据集上视频姿态跟踪的优势。

Related Work

传统的单人体姿态估计大多采用概率图形模型或图形结构模型,近年来通过深度学习对一元能量和对态能量unary and pair-wise energies进行更好的建模或模仿迭代推理过程,对该模型进行了改进。

目前,深度卷积神经网络提供了主流的解决方案。主要有两种方法:回归关键点位置regressing the position of keypoints和估算关键点热图estimating keypoint heatmaps,然后选择热值最高的位置作为关键点.

大多数用于关键点热图估计的卷积神经网络由一个类似于分类网络的词干子网络组成,它降低了分辨率,一个主体产生与其输入具有相同分辨率的表示,然后是一个估计热图的回归器,其中估计关键点位置,然后转换为 完整的决议。 主体主要采用由高到低、由低到高的框架,可能辅以多尺度融合和中(深)监督。

High-to-low and low-to-high

高到低过程旨在生成低分辨率和高级别表示,而低到高过程旨在产生高分辨率表示。这两个过程都可能重复几次以提高性能,具有代表性的网络设计模式包括:

  • Symmetric high-to-low and low-to-high processes。Hourglass及其后续论文[40,14,77,31]将low-to-high proces设计为high-to-low process的镜子。
  • Heavy high-to-low and light low-to-high。high-to-low process是基于ImageNet分类网络,如[11,72]中使用的ResNet,low-to-high process是简单的几个双线性上采样[11]或转置卷积[72]层。
  • Combination with dilated convolutions。在[27,51,35]中,ResNet或VGGNet在最后两个阶段都采用了扩张性卷积来消除空间分辨率的损失,然后采用由light low to-high process来进一步提高分辨率,避免了仅使用dilated convolutions的昂贵的计算成本[11,27,51]。图2描述了四种具有代表性的姿态估计网络。

论文阅读|HRNet_第2张图片

  • (A)沙漏[40]  从高到低和从低到高的网络是对称的
  • (B)级联金字塔网络[11]
  • (C)SimpleBaseline[72]:用于从低到高处理的转置卷积。
  • (D)与扩张的卷积相结合[27]。右下角图例:REG。=规则卷积,扩张=扩张卷积,反转。=转置卷积,跨距=跨距卷积,并列。=串联

在(A)中,从高到低和从低到高的过程是对称的,(B)、(C)和(D)项中,作为分类网络(ResNet或VGGNet)的一部分,从高到低的过程较重,而从低到高的过程较轻。在(A)和(B)中,高到低和低到高过程的相同分辨率层之间的跳跃连接(虚线)主要是为了融合低层和高层特征。在(B)中,右边的部分,细分网络,结合了通过卷积处理的低级和高级特征

Multi-sacle fusion

多尺度融合:最简单的方法是将多分辨率图像分别馈送到多个网络中,然后聚合输出响应图。

(a)图:沙漏[40]及其延伸[77,31]通过跳跃连接将从高到低过程中的低级特征逐渐组合成从低到高过程中的相同分辨率的高级特征

(b)图:在级联金字塔网络[11]中,GlobalNet将从高到低的过程中的低到高特征逐步组合成从低到高的过程,然后通过卷积将低到高的特征组合在一起。

我们的方法重复多尺度融合,这部分受到深度融合及其扩展的启发。

Intermediate supervision

还采用了早期用于图像分类的中间监督或深度监督,以帮助深层网络进行训练,提高热图估计质量,如[69,40,64,3,11]。沙漏方法[40]和卷积姿态机器方法[69]将中间热图处理为剩余子网的输入或输入的一部分。

Our approach

我们的网络并行连接从高到低的子网。它在整个过程中都保持了高分辨率的表示,以实现空间上精确的热图估计。它通过反复融合由高到低的子网产生的表示来生成可靠的高分辨率表示。我们的方法不同于大多数现有的工作,它需要单独的从低到高的上采样过程,并聚集低层和高层的表示。该方法无需中间热图监控,在关键点检测精度、计算复杂度和参数效率等方面具有较高的优势。

我们的工作在一定程度上受到了其中一些问题的启发[56,24,83,55],而且存在明显的差异,使得它们不适用于我们的问题。Convolutional neural fabrics[56]和interlinked CNN[83]由于缺乏对每个子网络(depth, batch)的合理设计和多尺度融合,分割结果的质量不高。grid network[18]是多个权重共享U-Nets组合,由两个多分辨率表示的独立融合过程组成;第一阶段,信息仅从高分辨率发送到低分辨率;在第二阶段,信息只从低分辨率发送到高分辨率,因此竞争力较低。Multi-scale densenets[24]没有目标,无法生成可靠的高分辨率表示。

Approach

人体姿态估计(Human pose estimation),即关键点检测,旨在从一个W*H*3大小的图像中检测K个部分关键点的位置(例如,手肘、手腕等)。最新的方法是将这个问题转变为估计K热图的大小W'×H',{H1,H2,H3…Hk},其中每个热图 Hk 表示第k个关键点的位置置信度。

我们遵循广泛采用的流水线[40,72,11],使用卷积网络来预测人体关键点,该网络由两个降低分辨率的跨度卷积组成,主体输出特性映射具有相同的分辨率作为它的输入特征图,和一个回归量估算的热图关键点位置选择和转换为完整的分辨率。我们重点介绍了主体的设计,并介绍了我们的高分辨率网络(HRNet),如图1所示。

Sequential multi-resolution subnetworks 顺序多分辨率子网

现有的姿态估计网络是通过串联高、低分辨率子网来构建的,每个子网由一系列卷积组成,相邻子网之间有一个下采样层以使分辨率减半。

论文阅读|HRNet_第3张图片

设Nsr为第s阶段的子网,r为分辨率指标(其分辨率为第一个子网分辨率的\frac{1}{2^{r}-1}。具有S(例如,4)级的从高到低的网络表示如图所示 。

Parallel multi-resolution subnetworks 并行多分辨率子网

我们从一个高分辨率子网开始,作为第一阶段,逐步增加高到低分辨率的子网,形成新的阶段,并将多分辨率子网并行连接。因此,后一阶段的并行子网络的分辨率由前一阶段的分辨率和一个额外的较低的分辨率组成。一个包含4个并行子网的网络结构示例如下:

论文阅读|HRNet_第4张图片

Repeated multi-scale fusion 重复多尺度融合

我们引入了跨并行子网的交换单元,使得每个子网都可以重复地接收来自其他并行子网的信息。下面是一个展示信息交换方案的示例。我们将第三阶段划分为3交换块,每个块由3个并行卷积单元组成,这些并行单元之间有一个交换单元,这给出如下所示:

论文阅读|HRNet_第5张图片

C_{sr}^{b}代表卷积单元,s代表第级,r代表分辨率,b代表第个交换块,\varepsilon _{s}^{b}为相应的交换单元

我们将在图3中说明交换单元,并在下文中给出公式。为了便于讨论,我们去掉下标s和上标b。

 论文阅读|HRNet_第6张图片

论文阅读|HRNet_第7张图片

输入是s个响应映射:{X1,X2,.,Xs}。输出为s响应图:{Y1,Y2,…,Ys},其分辨率和宽度与输入相同。

每个输出是输入映射的集合

跨级交换单元有一个额外的输出映射

函数a(Xi,k)由从分辨率i到分辨率k对Xi上采样或下采样组成。我们采用3×3卷积进行下采样。例如,一个3×3的卷积,步长为2,实现2倍的下采样;两个连续的3×3的卷积,步长为2的卷积实现4倍的下采样。

对于上采样,我们采用最简单的最近邻抽样,从1×1卷积校准通道的数量。如果i = k,则a(.,.)只是一个识别连接

FuseLayer部分以绿色框为例,融合前为pre,融合后为post,静态构建一个二维矩阵,然后将pre和post对应连接的操作一一填入这个二维矩阵中。以上图为例,图1的pre1和post1的操作为,pre2和post1的操作为2倍上采,pre3和post1的操作为4倍上采;图2的pre1和post2的操作为3x3卷积下采,pre2和post2的操作为,pre3和post2的操作为2倍上采;图3的pre1和post3的操作为连续两个3x3卷积下采,pre2和post3的操作为3x3卷积下采,pre3和post的操作为

论文阅读|HRNet_第8张图片

Heatmap estimation 热图估算

我们简单地从最后一个交换单元输出的高分辨率表示回归热图,这在经验上是有效的。损失函数定义为均方误差,用于比较预测的热图和groundtruth heatmpas。groundtruth heatmaps是采用二维高斯分布,以每个关键点的grouptruth位置为中心,标准差为1像素生成的。

Network instantiation 网络实例化

论文阅读|HRNet_第9张图片

左图对应于resnet-18/34使用的基本块,右图是50/101/152所使用的

论文阅读|HRNet_第10张图片 

论文阅读|HRNet_第11张图片

主体,即我们的 HRNet,包含四个阶段和四个并行子网络,其分辨率逐渐降低到一半,因此宽度(通道数)增加到两倍。

第一阶段包含 4 个残差单元,每个单元与 ResNet-50 相同,由宽度为 64 的瓶颈形成,然后是一个 3×3 卷积,将特征图的宽度减小到 C。第二、第三、第四 stage 分别包含 1、4,3 个交换块。 一个交换块包含 4 个残差单元,其中每个单元在每个分辨率中包含两个 3×3 卷积和一个跨分辨率的交换单元。 综上所述,总共有8个交换单元,即进行了8次多尺度融合。

在我们的实验中,我们研究了一个小网和一个大网:HRNet-W32和HRNet-W48,其中32和48分别代表最后三个阶段的高分辨率子网的宽度(C)。HRNet-W32和HRNet-W48的其他三个并行子网络的宽度分别为64、128、256和96,192,384。

消融实验

研究了该方法中各分量对COCO关键点检测数据集的影响。除对输入尺寸影响的研究外,其余结果均在256×192的输入尺寸范围内得到。

Repeated multi-scale fusion

对重复多尺度融合的效果进行了实证分析。我们研究了我们网络中的三个变量。

  • W/O中间交换单元(1个融合):除最后一个交换单元外,多分辨率子网之间没有交换。
  • 仅W/跨级交换单元(3个融合):每个级内的并行子网络之间没有交换。
  • 跨级和级内交换单元(共8个融合):这是我们建议的方法。所有的网络都是从头开始训练的。

表6给出的COCO验证集表明,多尺度融合是有益的,融合越多,性能越好

论文阅读|HRNet_第12张图片

Resolution maintenance

我们研究了HRNet的一种变体的性能:所有四个高分辨率到低分辨率的子网都是在开始时添加的,而且深度相同;融合方案与我们的相同。我们的HRNet-W32和变体(类似的#Params和GFLOPs)都是从零开始训练,并在COCO验证集上进行测试。变体的AP为72.5,低于我们的小型net HRNet-W32的73.4 AP。我们认为,其原因是在低分辨率子网的早期阶段提取的低层特征没有那么有用。此外,在没有低分辨率并行子网的情况下,参数和计算复杂度相似的简单高分辨率网络的性能要低得多。

Representation resolution

研究了表示分辨率对姿态估计性能的影响,主要从两个方面进行了研究:从高分辨率的特征图出发,对热图的质量进行检测并研究了输入大小对质量的影响。我们训练我们的小的和大的网络初始化的模型预训练的ImageNet分类。我们的网络从高到低输出四个响应映射。低分辨率响应图的热图预测质量过低,AP评分低于10分。图5报告了AP在其他三个地图上的得分。对比表明,分辨率对关键点预测质量有一定的影响

论文阅读|HRNet_第13张图片

1×、2×、4×分别对应于高、中、低分辨率的表示。

论文阅读|HRNet_第14张图片

图6显示了与SimpleBaseline (ResNet50)相比,输入图像大小如何影响性能[72]。我们可以发现,较小的输入大小的改进比较大的输入大小的改进更为显著,例如,256 x 192的改进为4.0分,128 x 96的改进为6.3分。原因是我们始终保持高分辨率。这意味着我们的方法在实际应用中更有优势,计算成本也是一个重要因素。另一方面,HRNet中输入大小为256×192的方法优于输入大小为384 x 288的SimpleBaseline[72]。

Conclusion

在这篇文章中,我们提出了一个高分辨率的人体姿态估计网络,产生了精确的和空间精确的关键点热图。该方法的成功来源于两个方面:(1)在不恢复高分辨率的情况下,全程保持高分辨率;(2)多分辨率表示的重复融合,得到可靠的高分辨率表示。

未来的工作包括应用于其他密集预测任务,如语义分割、图标检测、人脸对齐、图像翻译,以及研究以一种不那么轻量的方式聚合多分辨率表示。 

你可能感兴趣的:(人体姿态估计,深度学习,计算机视觉,人工智能)