HRNet详解

论文信息: Ke Sun,USTC & MSRA, CVPR2019
代码链接: https://github.com/leoxiaobin/deep-high-resolution-net.pytorch
整体信息: HRNet(High Resolution Network)由一个中科大的学生在MSRA实习时的一篇工作。这篇工作设计了一种新的人体姿态估计模型。在姿态估计中,图像feature map的分辨率大小至关重要,以往的姿态估计方法都是采用串行的高—>低—>高的方式来获得语义信息强的高分辨feature map。而HRNet不同的是,其自始至终都保持的高分辨率。并且这非常有效。刷新 COCO keypoint detection数据集和the MPII Human Pose数据集。

上图表示的姿态估计方法中几种经典结构,(a)是Hourglass中的结构,(b)是CPN中的结构,(c)是simpleBaseline,(d)则是DeepCut结构,可以看这几种经典的结构中,图像的feature map都经历了high-to-low和low-to-high的两个变化过程,前者的目的在于生成低分辨率(low-resolution)以及高层表示(high-level representation),后者目的则是生成高分辨率表示(high-resolution representation),feature map大小变化是串行的。而且,从高到低和从低到高是分开的。

其实这些网络的设计模式不外乎:1)对称的high-to-low和low-to-high过程,比如hourglass;2)Heavy high-to-low 和 light low-to-high过程;后者这类方法high-to-low过程一般采用分类网络(比如ResNet,VGG)是一个heavy部分,而low-to-high过程则是简单地堆叠 bilinear-upsampling层或者或者transpose卷积层。

HRNet


HRNet的网络结构如上图所示,非常清晰易懂。一共有三个不同feature map大小的branch。每个branch在前向传播过程中,feature map大小不发生变化。三个branch虽然有着不同大小feature map但是每个branch之间会存在信息的交流。例如在前向的过程中,上面branch会把自己的feature map大小减半,然后传入到下面的branch中,而下面的branch也会通过upsample把变大后的feature送给上面的branch,两个操作可以在同一个阶段同时进行。

可以看出,不同于其他方法,HRNet通过并行的方式连接高-低分辨率特征图,因此可以直接在高分辨率的特征图上预测姿态,而不需要通过降采样再升采样来预测姿态,而且在整个过程中,不停地融合各种不同尺度的表征,实现了多尺度融合,提高了高分辨率的语义信息。

实验结果,在两种输入分辨率上,大模型HRNet-W48和小模型HRNet-W32,都刷新了COCO纪录。其中,大模型在384x288的输入分辨率上,拿到了76.3的mAP。

姿态估计评估指标

最后提一下姿态估计中一些常用的评估指标。不得不提的两个指标就是OKS和PCK。

OKS(Object Keypoint Similarity)

这个是coco姿态估计挑战赛提出的一个评估指标,基于对象关键点相似度的mAP,常用于coco姿态估计中。

其中,di表示预测的关键点与ground truth之间的欧式距离。vi是ground truth的可见性标志,s是目标尺度,此值等于该人在ground truth中的面积的平方根,ki控制衰减的每个关键点常量。

简而言之,OKS扮演的角色与IoU在目标检测中扮演的角色相同。它是根据人的尺度标准化的预测点和标准真值点之间的距离计算出来的。在coco官网可以看到和目标检测一样的评估指标AP[0.5:0.95]和AR[0.5:95]。从官网目前给出的leaderboard可以看到mAP最高是0.764。

PCK(Probability of Correct Keypoint)

预测的关键点与其对应的 groundtruth 之间的归一化距离小于设定阈值的比例。如果预测关节与真实关节之间的距离在特定阈值内,则检测到的关节被认为是正确的。阈值可以是:

  • PCK@0.2表示以躯干(torso size)直径最为归一化参考,如果归一化后的距离大于阈值0.2,则认为改点预测正确。FLIC数据集评估指标采用的就是PCK@0.2。
  • PCKh@0.5表示以头部长度(head length)作为归一化参考,如果归一化后的距离大于阈值0.5,则认为改点预测正确。MPII数据集的评估指标采用的就是PCKh@0.5,目前MPII数据集PCKh最高为92.5;