URL:
NAME: Human Pose Regression with Residual Log-likelihood Estimation
AUTHOR:
YEAR: 2021
PUBLISHED: ICCV
TAG: ((620602d4-e403-40ec-9508-dba5cdc03e26))
CODE: https://github.com/Jeff-sjtu/res-loglikelihood-regression
IN A WORD:
[[RLE CODE]]

why

高斯热图的优势

  1. 全卷积的结构能够完整地保留位置信息,因此高斯热图的空间泛化能力更强。而回归方法因为最后需要将图片向量展开成一个长长的一维向量,reshape 过程中会对位置信息有所丢失。除此之外,全联接网络需要将位置信息转化为坐标值,对于这种隐晦的信息转化过程,其非线性是极强的,因此不好训练和收敛;
  2. 关节点之间存在相互联系。以脖子和肩膀为例,这两个地方常常会挨得比较近,因此空间上是存在相关性的。高斯热图可以在一张图中保留这种相关性,因此已知脖子的位置可以帮助估计肩膀,而已知肩膀的位置也能帮助估计脖子。但是,回归坐标时是对 k 个坐标点分别回归的,没办法照顾到这种关节间的相关性;
  3. 高斯热图有点类似分类问题中的软标注。它在目标位置上加上了一个渐进的分布过程,这能帮助网络更平滑地找到梯度下降的过程。同时软标注也减轻了在标注有误情况下的过拟合情况(应该就是标签平滑技术)。

问题

  1. 基于热图的方法需要大尺寸的热图,所以计算量大。这导致学术研究与算法落地的割裂。
  2. 存在图像缩放导致的量化问题

贡献

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

what

image.png

Heatmap-based

基于热图的方式需要额外预测一个偏移,因为缩放会导致误差。

Standard Regression Paradigm

传统的方法通过maximum likelihood estimation(MLE)实现,整体的预测可以使用公式表示为:
$$\mathcal{L}{mle}=-logP{\Theta}(x|\mathcal{I})|_{x=\mu_g}$$
$\mathcal{I}$表示输入的预测图像,x为GT出现的位置,$\Theta$是网络的可学习参数。输出网络在GT($x=\mu_g$)位置的时候的偏差作为损失。由于我们默认分布的尽头的是高斯分布,而高斯分布需要预测2个值,均值和方差。利用高斯分布表示MLE:
image.png
$\propto$表示近似于的意思,因为高斯分布的写法为$\frac{1}{\sqrt{2\pi}\hat{\sigma}}e^{-\frac{(x-\hat{\mu})^2}{2\hat{\sigma}^2}}$,前面的常量被简化掉了。从高斯图中可以看出来,我们要预测的结果应该尽可能靠近均值,这样是GT位置的概率越大,而方差主要影响曲线的平滑度,所以可以将方差看做常量(对概率的影响较小),这样这个损失能够退化为$L_2 loss$,更进一步,我们假设这个分布是Laplace 分布,那么这个损失将退化为$L_1 loss$。
网络将直接以$\hat{\mu}$作为推理的输出。

缺陷

但是由于网络的潜在分布是未知的,我们很难用这种简单的高斯分布模型去拟合。

Regression with Normalizing Flows

image.png
主体思想就一点:网络能够去预测一个简单的高斯回归分布,那么我们再让这个回归分布去还原出网络的真实分布(通过Normalizing Flow)。这里提出了3种设计方法。

Basic Design

就是先通过回归模型预测简单的分布,然后通过normalizing flow转换为目标复杂函数。但是flow的目的是分布的学习。
缺陷: 网络的目的是学习输出的位置概率,而不是当前分布相对于真实分布的概率,所以这种方式表述的不准确。

Direct likeihood estimation with reparameterization

为了能够更好的利用现有的flow 模型,本文采用了重参数的策略。
image.png
这里主要与b模型图对应,$x$表示实际分布下的位置,$\bar{\mu_g}$是简单分布下的位置。这里涉及到了normalizing flow的设计,不懂,但是这种转换之后,实际的分布的均值和方差也好表达了。
缺陷:虽然当前的模型能够表达位置的概率了,但是它强依赖于回归模型和flow 模型,回归模型又依赖与flow 模型。这使得开始训练的时候,模型的分布是很难训练的。

Residual Log-likelihood Estimation

image.png
进一步的表达成了Q预测的简单分布,G flow网络学习到的分布。s看论文,太长了。

how

利用RealNVP作为flow 模型。
初始假设模型服从Laplace 分布进行训练。在推理的时候,直接将网络的预测$\hat{\mu}$作为输出。

where

学不来了啊,这里的Normal Flow模型怎么训练的都不知道,我学不动啦,救命啊!!!