目录
一、总述
1. 要解决的问题
该篇论文主要探讨了自下而上的人体姿态估计问题。具体来说,论文关注于解决多人姿态估计中的尺度变化挑战,特别是在小尺度人体姿态估计方面的困难。
要解决的核心问题:在多人姿态估计中,由于人体尺度不同,不同人体在图像中存在大小差异,自下而上的方法往往难以准确预测小个体的正确姿态。这主要是由于先前的方法主要使用单一分辨率的特征图来预测关键点的热图,忽略了尺度变化的挑战。
特征图(Feature map):特征图可以被视为卷积层对输入数据进行特定类型特征提取后的结果。每个卷积核在输入图像上执行卷积操作,其输出即为一张特征图。这些特征图实质上是二维数组,每个元素代表一个特征值,反映了输入图像中某个局部区域的特定特征。
单一分辨率的特征图:仅使用一种尺寸或分辨率的特征图来进行关键点的预测。这种特征图往往无法有效地捕捉到图像中不同尺度的人体姿态信息。多分辨率特征图允许模型在不同尺度上提取和整合信息,从而更准确地定位不同大小的人体姿态关键点。这种方法能够增强模型对不同尺度人体的适应能力,提高姿态估计的准确性和鲁棒性。在HigherHRNet方法中,通过引入反卷积操作和多分辨率监督训练,模型能够生成并利用多分辨率的特征图进行姿态估计。这种设计使得模型能够更有效地学习并处理尺度变化,从而提高了人体姿态估计的性能。
举例:假设我们有一张包含多个人的图像,其中有的人距离相机较近,显得较大,而有的人则距离较远,显得较小。我们的任务是准确地估计出每个人的姿态,即关键点的位置。如果我们使用单一分辨率的特征图来进行姿态估计,那么模型会基于这个固定尺寸的特征图来预测所有人的关键点。然而,由于不同人体在图像中的大小不同,这个固定尺寸的特征图可能无法同时捕捉到大型人体和小型人体的细节信息。对于大型人体,特征图可能过于粗糙,无法精确定位关键点的具体位置;而对于小型人体,特征图可能又包含了过多的无关信息,导致关键点的预测不准确。相比之下,HigherHRNet通过构建多分辨率的特征图来解决这个问题。它使用不同尺寸的特征图来提取不同尺度的信息。对于大型人体,模型可以利用较低分辨率的特征图来捕捉整体结构;而对于小型人体,模型则可以利用高分辨率的特征图来捕捉更精细的细节。这样,模型就能够更好地适应不同尺度的人体,并更准确地估计出每个人的姿态。
2. 使用的方法
为了解决这个问题,论文提出了HigherHRNet方法。HigherHRNet在HRNet原本输出的特征图基础上,额外加入了一个反卷积操作,从而提高了模型的输出尺寸,使得pose estimation效果更好。此外,HigherHRNet还具有多分辨率监督训练和多分辨率聚合推理功能。多分辨率监督用于训练,有助于模型更好地学习不同尺度的特征;而多分辨率聚合用于推理,可以更有效地整合不同尺度的信息,从而更精确地定位关键点。
3. 取得的成果
HigherHRNet方法在小尺度的人体姿态估计上相比之前的方法有了显著的提升,高出了2.5%AP。此外,在CrowdPose测试集上,HigherHRNet甚至超过了所有的自上而下(top-down)方法,达到了67.6%AP,这显示了其对拥挤场景的鲁棒性。这些成果都证明了HigherHRNet方法在处理尺度变化问题上的有效性。
二、摘要
自下而上的HPE在预测小个体的正确姿态方面存在困难,故提出HigherHRNet——使用高分辨率特征金字塔学习尺度感知表示。通过高分辨率特征金字塔和多分辨率监督与聚合,解决了尺度变化带来的挑战,实现了更精确的关键点定位,尤其在处理小个体时表现优异。
特征金字塔的主要思想是通过构建多尺度的特征表示,使得模型能够在不同尺度下对目标进行预测。
三、介绍
二维人体姿态估计旨在定位人体的关键点或部位,是理解人类行为的重要技术。目前的方法主要分为自上而下和自下而上两类。自上而下方法依赖人体检测器,将问题简化为单人姿态估计,对尺度变化不太敏感,性能较好,但计算量大且不是端到端系统。自下而上方法先定位所有无身份的关键点,再分组为人体实例,速度快且有望实现实时估计,但处理尺度变化时性能与自上而下方法存在差距,特别是在小尺度人体上。
在预测小个体的关键点时,主要面临两大挑战。一是处理尺度变化问题,即在不牺牲大个体性能的前提下提高小个体的性能。另一个挑战是生成高质量的高分辨率热图,以便精确定位小个体的关键点。之前的自下而上方法主要关注于关键点分组,但忽视了尺度变化问题。通过提高输入分辨率可以提高小个体的性能,但过大的分辨率会牺牲大个体的性能。因此,关键在于以不增加计算成本的方式生成更准确且尺度感知的热图,以改进自下而上的关键点预测。
本文提出了一种名为HigherHRNet的尺度感知高分辨率网络,用于解决预测小个体关键点时的尺度变化和高分辨率热图生成挑战。HigherHRNet采用高分辨率特征金字塔模块,直接从最高分辨率特征开始并生成更高分辨率的特征图。通过多分辨率监督策略,该网络能够处理尺度变化,并在推理时通过多分辨率热图聚合策略生成尺度感知的高分辨率热图。这种方法旨在提高小个体关键点的定位精度,同时保持计算效率。具体做法:在HRNet的1/4分辨率(网络中的最高分辨率特征)路径上构建高分辨率特征金字塔,以提高效率。为了使HigherHRNet能够处理尺度变化,进一步提出了一种多分辨率监督策略,将不同分辨率的训练目标分配给相应的特征金字塔级别。最后在推理过程中引入了一个简单的多分辨率热图聚合策略,以生成尺度感知的高分辨率热图。
本文在COCO关键点检测数据集上验证了提出的HigherHRNet方法,并展示了其出色的性能。该方法无需后处理即可实现高AP值,并显著优于现有的自下而上方法。特别是对于中等大小的人物,HigherHRNet表现出更高的AP,同时保持了对大人物的检测性能。此外,HigherHRNet在拥挤场景的CrowdPose数据集上也取得了显著成绩,验证了自下而上方法在该场景中的优势。这些结果证明了HigherHRNet在解决尺度变化挑战方面的有效性。
总结贡献:
1. 解决尺度变化挑战在之前的自下而上多人姿态估计中很少被研究。
2. 它通过在训练阶段采用多分辨率监督生成高分辨率特征金字塔,并在推理阶段进行多分辨率热图聚合,以预测对尺度敏感的高分辨率热图,这对小人物的检测非常有利
3. 模型超越了所有其他自下而上的方法。特别观察到对于中等大小的人物,性能有了大幅提升。
4. 在CrowdPose数据集上取得了新的最先进结果,这表明在拥挤场景中,自下而上的方法相比自上而下的方法更具鲁棒性
四、相关工作
1. 自上而下:自上而下方法通过先检测人体边界框,然后在这些边界框内检测单个人的关键点(人体边界框由目标检测器生成)。Mask R-CNN和G-RMI是其中的代表方法,前者直接在目标检测器的基础上添加关键点检测分支,后者则将人体检测和姿态估计分为两个独立步骤进行。这些方法在姿态估计任务中发挥了重要作用。
2. 自下而上:自下而上方法首先检测图像中所有人的身体关节点,然后利用不同的分组策略将这些关节点分配给不同的个体。OpenPose使用部分亲和字段进行分组,而Newell等人则采用关联嵌入的方法。PersonLab和PifPaf则通过直接学习关键点之间的偏移场或关联字段来实现分组。这些方法在多人姿态估计任务中显示出较高的性能。
3. 特征金字塔:特征金字塔是处理尺度变化的有效方法,在物体检测和分割任务中得到了广泛应用。然而,在自下而上的多人姿态估计中,这种金字塔式表示的应用相对较少。本文提出了一种高分辨率特征金字塔,通过扩展金字塔到不同方向并生成更高分辨率的特征金字塔,以更好地处理尺度变化问题。(特征金字塔网络[26]通过添加自顶向下的路径来扩展骨干模型,该路径使用双线性上采样和横向连接逐步将特征分辨率从1/32恢复到1/4。它们的共同动机是让来自不同金字塔级别的特征预测不同尺度的实例。)
4. 高分辨率特征图:生成高分辨率特征图的方法主要有:① 编码器-解码器结构——在编码路径中捕获上下文信息,并在解码路径中恢复高分辨率特征。解码器通常包含一系列双线性上采样操作,并与具有相同分辨率的编码器特征进行跳跃连接。② 空洞卷积——用于移除几个步长卷积/最大池化操作以保留特征图分辨率。空洞卷积防止了空间信息的丢失,但引入了更多的计算成本。③ 反卷积(转置卷积)——在网络末尾以序列形式使用,以有效地增加特征图的分辨率。SimpleBaseline表明反卷积可以为热图预测生成高质量的特征图。
5. HRNet:高分辨率网络(HRNet)是一种在整个网络中保持高分辨率传递的有效方法。HRNet由多个不同分辨率的分支组成。较低分辨率的分支捕获上下文信息,而较高分辨率的分支保留空间信息。通过分支之间的多尺度融合,HRNet可以生成具有丰富语义信息的高分辨率特征图。
本文采用HRNet作为基础网络,并结合反卷积模块,提出了一个名为HigherHRNet的模型,旨在高效生成用于热图预测的高分辨率特征图。
五、高分辨率网络
1. HigherHRNet
i. HRNet
HRNet在第一阶段开始时就有一个高分辨率分支。在每个后续阶段,都会在当前分支的基础上并行添加一个新的分支,其分辨率是当前分支中最低分辨率的1/2。随着网络阶段的增加,它将拥有更多具有不同分辨率的并行分支,并且前一阶段的分辨率在后续阶段中都被保留。
HigherHRNet 以与 HRNet 相似的方式实例化骨干网络。该网络从一个包含两个步长为2的3×3卷积核开始,将分辨率降低到1/4。第一阶段包含4个残差单元,每个单元由一个宽度(通道数)为64的瓶颈结构组成,后跟一个3×3卷积,将特征图的宽度减少到C。第二、第三、第四阶段分别包含1、4和3个多分辨率块。这四个分辨率的卷积宽度分别为C、2C、4C和8C。多分辨率组卷积中的每个分支包含4个残差单元,每个单元在每个分辨率上都有两个3×3卷积。我们通过设置C为32和48,分别实验了两个具有不同容量的网络。
HRNet最初是为自上而下的人体姿态估计设计的。在这项工作中,我们通过添加一个1×1卷积来预测热图和标签图,从而将其应用于自下而上的方法。
ii. HigherHRNet
在人体姿势估计中,热图的分辨率对于小人物的关键点预测至关重要。传统方法使用高斯平滑热图来预测关键点,但对于小人物,这可能导致关键点定位的混淆。减少这种混淆的一个微不足道的解决方案是减小高斯核的标准偏差。然而这样做会使优化变得更加困难,并导致更糟糕的结果。为了解决这个问题,本文在不同分辨率下保持标准偏差不变地预测高分辨率热图。HigherHRNet模型在最高分辨率的特征图上添加了一个反卷积模块,以生成高质量和高分辨率的特征图,同时保持热图的准确性。这个模型还使用了热图聚合策略来提高预测精度。
如果需要更高的分辨率,可以添加更多的反卷积模块。我们发现反卷积模块的数量取决于数据集中人物尺度的分布。一般来说,包含较小人物的数据集需要更高分辨率的特征图来进行预测,反之亦然。在实验中发现在COCO数据集上,添加单个反卷积模块即可实现最佳性能。
2. 分组
最近的研究工作表明,通过使用关联嵌入(associative embedding)的方法,可以实现高精度的人体部位分组。实验结果[30]显示,在COCO关键点检测数据集中,使用预测标签的地面真实检测结果将COCO关键点检测数据集[27]中500张训练图像的AP从59.2提高到94.0。我们遵循[30]的方法,使用关联嵌入来进行关键点分组。该分组过程将无身份信息的关键点通过标签之间的L2距离较小距离的关键点分组,从而识别个体。
3. 反卷积模块
本文提出了一种反卷积模块,用于生成高质量的特征图,其分辨率是输入特征图的两倍。我们使用4×4的反卷积(也称为转置卷积),随后是批量归一化和ReLU激活函数,来学习对输入特征图进行上采样。同时也可以在反卷积之后添加几个基础残差块,以进一步细化上采样的特征图。本文在HigherHRNet中添加了4个残差块。与[42]不同,本文反卷积模块的输入是特征图和来自HRNet或先前反卷积模块的预测热图的拼接。每个反卷积模块的输出特征图也用于以多尺度方式预测热图。
4. 多分辨率监督
与其他自下而上的方法不同,他们只对最大分辨率的热图应用监督, 我们在训练过程中引入了一种多分辨率监督来处理尺度变化。
(1)因为特征金字塔的不同分辨率适合于预测不同尺度的关键点,故此处不调整高斯核的标准偏差(默认使用标准差=2),在更高分辨率的特征图上,相对较小的标准偏差(与特征图的分辨率相比)有助于更精确地定位小人物的关键点。
(2)在HigherHRNet的每个预测尺度上,通过计算该尺度预测热图与其关联的真实热图之间的均方误差,从而得出热图的最终损失。热图的最终损失是所有分辨率均方误差的总和。
(3)本文没有将不同尺度的人员分配给特征金字塔中的不同级别。原因如下:
a. 用于分配训练目标的启发式方法取决于数据集和网络架构。很难将FPN的启发式方法转换为HigherHRNet,因为数据集(人物的尺度分布与所有对象的尺度分布)和架构(HigherHRNet只有2级金字塔,而FPN有4级)都发生了变化。
b. 由于本文应用了高斯核,地面真实关键点目标彼此之间存在交互作用。因此,仅仅通过设置忽略区域来解耦关键点是非常困难的。我们相信模型具有在特征金字塔的不同级别上自动关注特定尺度的能力。(不将不同尺度的人物分配给特征金字塔的不同级别,而是让模型自动关注不同尺度。)
Tagmaps:在HigherHRNet中,Tagmaps的训练与热图不同。我们只在最低分辨率上预测Tagmaps,而不是使用所有分辨率。这是因为学习Tagmaps需要全局推理,并且更适合在较低分辨率下预测Tagmaps。因此,本文在输入图像的1/4分辨率的特征图上训练Tagmaps。
5. 热图聚合策略
本文使用双线性插值将所有不同分辨率的预测热图 上采样 到输入图像的分辨率,并对所有尺寸的热图进行平均,以进行最终预测。这一策略与以前的方法有很大的不同,该策略充分利用了所有尺度的信息,而不仅仅是单一尺度或阶段的信息。
热图聚合的目的是为了实现尺度感知的姿势估计,因为底部向上的方法需要考虑不同尺度以便从所有尺度检测关键点。在HigherHRNet中,不同尺度的热图能够更好地捕获具有不同尺度的关键点。例如,较低分辨率热图中遗漏的小人物关键点可以在较高分辨率热图中恢复。因此,对不同分辨率的预测热图进行平均使HigherHRNet成为一个尺度感知的姿势估计器。
六、实验
1. COCO数据集关键点预测
(1)DataSet:COCO数据集。CrowdPose
(2)评估指标:标准评估指标基于OKS(Object Keypoint Similarity—关键点相似度),平均精度和召回分数:
相关人体关键点评价指标可参考如下两个博客:
https://blog.csdn.net/Murdock_C/article/details/83827554
https://blog.csdn.net/lyx_323/article/details/107463923
ground truth:指的是为这个测试收集适当的目标数据的过程。“ground truth”一词指的是训练集对监督学习技术的分类的准确性。总的来说就是就是把ground-truth当成一个标准,一个看看误差,看看效果好坏的值。简单来说就是有效的正确的数据。
(3)训练:使用随机旋转的数据扩充([-30◦ , 30◦ ]), 随机缩放([0.75,1.5])、随机平移([-40,40])以裁剪大小为512×512的输入图像块以及随机翻转。如第3.4节所述,我们生成了两个分辨率分别为128×128和256×256的地面实况热图。本文使用Adam优化器。基本学习率设置为1e−3,在第200个和第260个时期分别降至1e−4和1e−5。我们总共训练了300个时期的模型。为了平衡热图损失和分组损失,我们将这两个损失的权重分别设置为1和1e−3。
(4)测试:首先将输入图像的短边调整为512,并保持纵横比。热图聚合是通过将所有预测的热图调整为输入图像的大小,并取平均值来完成的。遵循[30]的做法,我们在所有实验中都使用了翻转测试。所有报告的数字均是使用单一模型而非模型组合获得的。
表1总结了在COCO2017测试开发集上的结果。从结果中我们可以看出,使用HRNet本身已经是底层方法的一个简单且强大的基准(64.1 AP)。本文的基准方法仅使用单一尺度测试的HRNet表现优于Hourglass[30]使用多尺度测试,而HRNet在参数和FLOPs方面的计算要比Hourglass少得多。然而配备轻量级反卷积模块的HigherHRNet(66.4 AP)相比于HRNet有了+2.3 AP的提升,参数仅有轻微增加(+0.4%),FLOPs增加了23.1%。HigherHRNet可以与PersonLab的性能相媲美,但参数仅为其50%,FLOPs为其11%。如果我们进一步使用多尺度测试,我们的HigherHRNet可以达到70.5 AP,在很大程度上优于所有现有的底层方法。本文也没有对计算结果使用像[3,30]中自上而下的方法进行细化的后处理操作
表2列出了COCO2017测试开发集上的自下而上和自上而下的方法。HigherHRNet进一步缩小了自下而上和自上而下方法之间的性能差距。
2. 消融实验
我们在COCO2017[27]val数据集上进行了大量消融实验,以分析尺度感知高分辨率网络(HigherHRNet)
(1)HRNet vs. HigherHRNet
作者对HRNet和HigherHRNet进行了消融研究。他们首先将HRNet作为基线,使用特征步幅为4的底层基线达使AP值达到了64.4。然后,通过为HigherHRNet添加一个反卷积模块,以特征步幅为2的方式,使AP值达到了66.9,相比HRNet提高了2.5个百分点。此外,提升主要来自对中等尺度人物的部分的改进,其中APM从HRNet的57.1提高到HigherHRNet的61.0。
研究结果表明,HigherHRNet在小尺度上的表现更好,这得益于其更高分辨率的热图。作者还发现,大尺度人物姿势的AP值没有下降,这主要是因为他们在预测中也使用了较小分辨率的热图,这表明了:1)在更高分辨率上进行预测有利于底层姿势估计;2)尺度感知的预测是重要的。
在研究中,作者尝试在HRNet后添加两个反卷积模块序列,以生成与输入图像相同分辨率的特征图。然而,他们观察到性能从仅添加一个反卷积模块的66.9 AP下降到了66.5 AP。虽然中等人物的改进微小(+0.1 AP),但大人物的性能下降很大(-0.8 AP)。作者推测这是因为特征图尺度与对象尺度之间的错位。较高分辨率的特征图(特征步幅=1)适合检测更小人物的关键点,但在COCO数据集中,小人物并不适用于姿势估计。因此,建议在COCO数据集上默认仅使用一个反卷积模块。同时,级联反卷积模块的数量应该根据数据集而定。
(2)HigherHRNet gain breakdown.
为了更好地理解所提出各种组件的增益,作者对每个单独的组件进行了详细的消融研究。
图3展示了实验的所有架构,实验结果如表4所示。
反卷积模块的影响(b):作者通过消融研究评估了添加反卷积模块以生成更高分辨率热图的效果。他们仅使用最高分辨率的特征图生成用于预测的热图,发现HRNet在基线上达到了64.4的AP。然而,通过添加一个反卷积模块,模型的性能提高到了66.0的AP,比基线提高了1.6个百分点。这一改进主要归因于在更大、更高质量的特征图上进行预测。结果验证了预测在更高分辨率的特征图上对底层姿势估计的重要性。
特征串联的影响(c):作者将来自HRNet的预测热图与特征图串联作为反卷积模块的输入,性能进一步提高到了66.3的AP。并且还观察到中等尺度人物的表现有了很大的提升,而大尺度人物的表现则下降了。将方法(a)和(c)进行比较,预测更高分辨率热图的增益主要来自中等尺度人物(+3.7个APM)。此外,大人物的降低(-1.6个AP)证实了之前的说法,即不同分辨率的特征图对不同尺度的人物敏感。
热图聚合的影响(d):使用热图聚合策略,对推理过程使用了所有分辨率的热图,相比仅使用最高分辨率热图,AP提高到了66.9。热图聚合的增益主要来自大尺度人物(+1.7个AP),其性能甚至略优于在较低分辨率下进行预测的情况,这表明热图聚合策略能够真正实现尺度感知。
额外残差块的影响(e):在反卷积模块中添加4个残差块,最佳模型的AP达到了67.1。添加残差块有助于进一步优化特征图,并且对中等尺度人物和大尺度人物的AP都有提升。
(3)使用更大的图像尺寸进行训练
思考:使用更大的输入尺寸是否可以进一步提高性能?为了回答这个问题,作者使用640×640和768×768的尺寸训练HigherHRNet,训练结果如表5,所有三个模型都是使用训练图像尺寸进行测试的。结果发现:通过使用640×640的图像尺寸进行训练,性能获得了显著的提升,提高了1.4个AP。这主要来自中等人的改善,但大人的性能略有下降。进一步增加训练图像尺寸到768×768后,整体AP没有进一步改变,但中等尺度人物有微小的改善,而大尺度人物的性能下降。
(4)更大的骨干网络
在之前的实验中,作者使用HRNet-W32(1/4分辨率特征图有32个通道)作为骨干网络,而后又尝试使用更大的骨干网络HRNet-W40和HRNet-W48,结果表明这些更大的骨干网络在中等人和大人的性能上都有提升。结果见表6
3. CrowdPose
CrowdPose数据集包含20,000张图像,约80,000个人物。训练、验证和测试子集的比例分别为5:1:4。与COCO关键点数据集相比,CrowdPose的场景更加拥挤,给姿势估计方法带来了更多挑战。评估指标与COCO相同。
自上而下方法的一个强假设是,每个人的检测框仅包含一个位于中心的人,在拥挤场景中这个假设不再成立。如表7所示,在COCO上表现良好的自上而下的方法[16,15]在CrowdPose数据集上失败。然而自下而上的方法在拥挤的场景中自然具有优势。
为了验证HigherHRNet在拥挤场景中的鲁棒性,并为自下而上的方法建立强大的基线。作者在CrowdPose的训练集和验证集上训练了表现最佳的HigherHRNet-W48模型,并在测试集上报告了性能。所有训练参数与COCO相同,使用640×640的裁剪尺寸。
结果显示,HigherHRNet在CrowdPose数据集上的性能显著优于传统的自上而下的方法,并且提高了6.6个AP。HigherHRNet还优于先前最佳方法,其性能提高了1.6个AP,大部分增益来自于包含最拥挤图像的APM(+1.8AP)和APH(+1.5AP)。即使没有进行多尺度测试,HigherHRNet在APH上也比SPPE提高了0.5个AP。
七、结论
本文提出了一个尺度感知的高分辨率网络(HigherHRNet),用于解决自下而上的多人姿势估计问题中的尺度变化挑战,特别是对小人物的关键点进行精确定位。本文发现多尺度图像金字塔和更大的输入尺寸在一定程度上可以解决这个问题,但这些方法存在高计算成本的问题。为了解决这个问题,本文提出了一种基于HRNet的高效高分辨率特征金字塔,并使用多分辨率监督进行训练。在推理过程中,使用多分辨率热图聚合的HigherHRNet能够有效地生成多分辨率和更高分辨率的热图,从而实现更准确的人体姿势估计。HigherHRNet在具有挑战性的COCO数据集上明显优于所有现有的底部方法,特别是对小尺度人物的情况。