《HigherHRNet:Scale-Aware Representation Learning for Bottom-Up Human Pose Estimation》论文笔记

参考代码:HigherHRNet

1. 概述

导读:在bottom-up类型的人体关键点检测算法中,人物目标密集和人物目标过小都是算法表现不好的场景,对此这篇文章从特征提取的角度,在HRNet的基础上(用HRNet的输出并使用trasnpose卷积进行上采样)引入特征金字塔优化关键点检测算法HigherHRNet,算法从高分辨的特征金字塔学习scale-aware表达(train的时候是scale-aware的,infer的时候是将heatmap融合预测的),因而这样对尺度带来的检测问题有了一定的优化。文章的关键点检测算法在COCO test-dev数据集上达到了70.5% AP,对应在密集数据集CrowdPose上达到了67.6% AP。

关键点检测算法中top-down的检测方法由于会在检测结果的基础上进行crop和resize因而适当减轻了目标scale对关键点检测的影响,相对来说整体的流程比较慢。但是在bottom-up的检测算法中是先单独检测关键点位置,之后再通过关键点之间的关联性将关键点组合成不同的instance,因而对于instance尺度带来的影响较为敏感,但是优势就是速度快。

因而对于bottom-up的关键点检测算法对于小目标的检测性能一部分程度上是依赖于提供检测的特征图,这篇文章也是从这个点出发进行特征图提取改进。将文章的方法与之前的一些方法进行比较见下图所示:
在这里插入图片描述
在上图中是从特征分辨率的角度对关键点检测算法进行优化,其中

  • 1)是构建了一个图像金字塔,从产生的特征基础上进行检测;
  • 2)是将图像进行上采样之后再进行特征提取与检测;
  • 3)是文章提出的方法,在HRNet输出(stride=4)的基础使用trnasposed卷积对特征进行上采样,得到高分辨率的特征金字塔。之后train的时候是scale-aware的,infer的时候是merge的;

2. 方法设计

2.1 HigherHRNet

这篇文章的特征提取网络是在HRNet的基础上改进得到的,其结构见下图所示:
在这里插入图片描述
输入的图像首先经过stem(几个stride=2的 3 ∗ 3 3*3 33卷积)之后特征图的stride=4,之后就一直保持这个分辨率,并且参考HRNet加入2个平行分支得到网络的主体backbone,在这个输出基础上使用transpose卷积对输出的特征图进行上采样,得到stride=2的特征图。因而网络就是在stride=2和4的特征图上进行关键点回归的。

对于关键点检测数据的回归标注一般使用高斯函数分布的形式,这样的情况对于scale较大的关键点没有什么问题,但是对于较小scale的关键点就不行了,有人提出的办法是减小标准差的大小,从而使得高斯半径减小,但是这样的方法也是效果有限,最实际的办法是增大关键点预测的scale,这也是文章为什么要使用更大尺寸(特征图stride=2)的特征图做预测的原因。

对于上面提到的stride=2的特征图文章是通过deconvolution的方式得到的(后面跟着BN和ReLU,之后使用4个残差模块优化上采样的特征),它的输入是HRNet的输出与stride=4预测出来的heatmap,从而生成stride=4的特征用于更大尺寸的预测。文章只使用了2种尺寸的特征图进行预测,在实际过程中要是有很多的小目标需要检测则可以更近一步上采样特征图,增加对于小目标的适应能力。文章对于COCO这样的数据集就只使用了2种分辨率的特征图。

2.2 网络的训练

在这篇文章中是在所有(stride=2和4)的特征图上进行预测的,之后将这些特征图预测得到的结果与对应的GT计算均方误差,从而实现预测的监督。

不同大小的目标一个自然的想法就是借鉴FPN网络的特性将不同scale的关键点使用不同分辨率的特征图进行预测,而在这篇文章中却不这么做,对此文章给出的理由是:

  • 1)由于数据集(图像中人物与其他目标的scale分布)与所使用的网络结构(文章中为HRNet,且只有2个尺度的特征)不尽相同,因而使用FPN的那套机制并不适合;
  • 2)由于关键点回归标注使用的是高斯函数,因而这些点(像素点)是具有相关性关联的,进而就很难将其解耦并划分到不同的scale上进行预测;

对于关键点之间的关联性预测(文章成为tagmap)是在stride=4的特征图上进行预测的,这样的原因是关联性预测需要更大的“感受野”从而能更好得到关键点之间的关联性。

2.3 网络的预测

文章中将所有预测得到的特征图统统使用双线性插值的方式缩放到原始输入尺寸大小,并对大于1个的预测结果进行均值加权处理。

3. 实验结果

3.1 COCO数据集上的表现

在这里插入图片描述
在这里插入图片描述

3.2 消融实验

文章所实验过方法与不同的网络结构:
在这里插入图片描述
对应的性能比较:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m_buddy/article/details/108674449