Heatmap关键点检测算法

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

**

Heatmap 方法汇总

高斯热图与坐标回归方法探讨
L1与 L2 Loss的对比分析
关键点之热力图Heatmap与坐标FC回归


Heatmap-based和Regression-based

一般来说我们可以把姿态估计任务分成两个流派Heatmap-based和Regression-based。

其主要区别在于监督信息的不同Heatmap-based方法监督模型学习的是高斯概率分布图即把GroundTruth中每个点渲染成一张高斯热图最后网络输出为K张特征图对应K个关键点然后通过argmax或soft-argmax来获取最大值点作为估计结果。这种方法由于需要渲染高斯热图且由于热图中的最值点直接对应了结果不可避免地需要维持一个相对高分辨率的热图常见的是64x64再小的话误差下界过大会造成严重的精度损失因此也就自然而然导致了很大的计算量和内存开销。

Regression-based方法则非常简单粗暴直接监督模型学习坐标值计算坐标值的L1或L2 loss。由于不需要渲染高斯热图也不需要维持高分辨率网络输出的特征图可以很小比如14x14甚至7x7拿Resnet-50来举例的话FLOPs是Heatmap-based方法的两万分之一这对于计算力较弱的设备比如手机是相当友好的在实际的项目中也更多地是采用这种方法。

说到Regression-based方法的优点那是就是好呀就是好可以简单总结为以下三点

1、没有高分辨率热图无负一身轻。计算成本和内存开销一起大幅降低。
2、输出为连续的不用担心量化误差。Heatmap-based输出的热图最大值点在哪对应到原图的点也就确定了输出热图的分辨率越小这个点放大后对应回去就越不准。Regression-based输出为一个数值小数点后可以有很多位精度不受缩放影响
3、可拓展性高。不论是one-stage还是two-stageimage-based还是video-based2D还是3DRegression-based方法都可以一把梭。此前就有用这种方法来将2D和3D数据放在一起联合训练的文章。这是Heatmap-based方法做不到的因为输出是高度定制化的2D输出必须渲染2D高斯热图3D就必须渲染3D的高斯热图计算量和内存开销也蹭蹭蹭地暴涨。

而Heatmap-based方法通过显式地渲染高斯热图让模型学习输出的目标分布也可以看成模型单纯地在学习一种滤波方式将输入图片滤波成为最终希望得到的高斯热图即可这极大地简化了模型的学习难度且非常契合卷积网络的特性卷积本身就可以看成一种滤波并且这种方式规定了学习的分布相对于除了结果以外内部一切都是黑盒的Regression-based方法对于各种情况遮挡、动态模糊、截断等要鲁棒得多。

基于以上种种优点Heatmap-based方法在姿态估计领域是处于主导地位的SOTA方案也都是基于此这也导致了一种学术研究与算法落地的割裂你在各种数据集和比赛里指标刷得飞起但项目落地时我们工程师却只能干着急因为你用的方法又慢又吃内存真实项目里根本没法用啊。

终于这一天有篇文章站出来说重铸Regression荣光吾辈义不容辞不仅将Regression-based方法提到了超越Heatmap-based方法的高度还保留了其一直以来的节省计算资源和内存资源的优点真正做到了又快又准简直是项目落地算法工程师的福音接下来就让我们一起来学习一下这篇文章。

Human Pose Regression with Residual Log-likelihood Estimation(ICCV 2021 Oral)


SimCC: a Simple Coordinate Classification Perspective for Human Pose Estimation

code|https://github.com/leeyegy/SimCC/blob/main/lib/dataset/JointsDataset.py
论文解读

论文解读2
在这里插入图片描述


Numerical Coordinate Regression with Convolutional Neural NetworksDSNT

论文解读
代码链接

本文提出一种新的处理方法称为differentiable spatial to numerical transform(DSTN)通过DSNT处理没添加额外参数直接对坐标进行监督。DSNT是对heatmap进行处理的思路如下图所示。最后的处理过程就是将heatmap通过softmax得到一个基于heatmap的概率分布再通过这个概率分布与预设好的XY坐标轴进行点乘得到坐标的期望值。监督损失也是建立在这个期望值上的。

目前主流的关键点回归就两种做法

(1) 采用全连接层直接回归坐标点例如yolo-v1。该类做法的优点是输出即为坐标点训练和前向速度可以很快且是端到端的全微分训练缺点是缺乏空间泛化能力也就是说丢失了特征图上面的空间信息。

空间泛化是指模型训练期间在一个位置获得的知识在推理阶段推广到另一个位置的能力 举例来说如果我在训练阶段有一个球一直在图片左上角但是测试阶段球放在了右下角了如果网络能够检测或者识别出来那么就说该模型具备空间泛化能力。可以看出坐标点回归任务是非常需要这种能力的因为我不可能每一个位置的图片都训练到。全卷积模型具备这种能力的原因是权重共享然而对于全连接层在2014年的Network in network论文指出fully connected layers are prone to overfitting, thus hampering the generalization ability of the overall network。也就是说如果采用全连接输出坐标点方式是会极大损害空间泛化能力的其实从理论上也很容易分析出来在训练阶段有一个球一直在图片左上角reshape拉成一维向量后全连接层的激活权重全部在上半部分而下半部分的权重是没有得到训练的当你测试时候输入一张球放在了右下角图片拉成一维向量后由于下半部分权重失效理论上是预测不出来的即没有空间泛化能力。而卷积操作由于权重共享是可以有效避免的。总结一下全连接方式所得权重严重依赖于训练数据的分布非常容易造成过拟合。

(2) 采用预测高斯热图方式然后argmax找出峰值对应的索引即为坐标点例如cornernet、grid-rcnn和cpn等等。以单人姿态估计为例输出是一张仅仅包含一个人的图片输入是所有关键点的高斯热图label是基于每个关键点生成的高斯图。如果每个人要回归17个关键点那么预测输出特征图是(batch,h_o,w_o,17)即每个通道都是预测一个关节点的热图然后对每个通道进行argmax即可得到整数型坐标。
基于高斯热图输出的方式会比直接回归坐标点精度更高原因并不是高斯热图输出方式的表达好而是由于其输出特征图较大空间泛化能力较强导致的那么自然能解释如果我依然采用(1)直接回归坐标的方法预测但是我不再采用全连接而是全卷积的方式依然会出现精度低于高斯热图的现象原因是即使全卷积输出但是像yolo-v2、ssd等其输出特征图很小导致空间泛化能力不如方法(2)。
单从数值上来看肯定是直接回归坐标点方式好啊因为直接回归坐标点的话输出是浮点数不会丢失精度而高斯热输出肯定是整数这就涉及到一个理论误差下界问题了。假设输入图片是512x512输出是缩小4倍即128x128那么假设一个关键点位置是507x507那么缩小4倍后即使没有任何误差的高斯热图还原也会存在最大507-126*4=3个像素误差这个3就是理论误差下界。如果缩小倍数加大那么理论误差下界还会上升。所以目前大部分做法折中考虑速度和精度采用缩小4倍的方式。

该类做法优点是精度通常高于全连接层直接回归坐标点方法缺点也很明显从输入到坐标点输出不是一个全微分的模型因为从heatmap到坐标点是通过argmax方式离线得到的(其实既然argmax不可导那就用soft argmax代替嘛有论文确实是这么做的)。并且由于其要求的输出特征图很大训练和前向速度很慢且内存消耗大。

在heatmap产生坐标的过程中缺点1使用的argmax之类的处理过程是不可微分的不能进行直接学习2heatmap到坐标的过程中存在着量化误差。heatmap与输入分辨率的下采样倍数越大量化误差越大。更值得注意的是监督是建立于heatmap 上的这将导致损失函数与我们的度量坐标上之间相隔开来了。在推理时我们只使用其中的某个某几个像素进行数值坐标计算但在训练时对所有像素都会造成损失。

总结一下虽然高斯热图预测的精度通常高于回归的方法但是其存在几个非常麻烦的问题(1) 输出图很大导致内存占用多、推理和训练速度慢(2) 存在理论误差下界(3) mse loss可能会导致学习出来的结果出现偏移(4) 不是全微分模型

在这里插入图片描述


Hourglass:Stacked Hourglass Networks for Human Pose Estimation

Bottom-Up Human Pose Estimation Via Disentangled Keypoint Regression

Towards accurate multi-person pose estimation in the wild

Distribution-Aware Coordinate Representation for Human Pose Estimation

DARK
参考文章2
后处理实现
在这里插入图片描述

Human Pose Regression with Residual Log-likelihood Estimation(ICCV 2021 Oral)

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6