CAL:低分辨率姿态估计

date
Jun 3, 2023
Last edited time
Jun 3, 2023 01:42 PM
status
Published
slug
CAL低分辨率姿态估计
tags
DL
CV
summary
转载
type
Post
Field
Plat
notion image
论文名称:Low-resolution Human Pose Estimation
论文地址:https://arxiv.org/pdf/2109.09090v1.pdf
今天无意中刷到的一篇论文,感觉整体的思想有点接近于 RLE,但是提出的方法和取得的效果又不如 RLE,所以大致上算一个低配版 RLE 吧,不过也因此比 RLE 容易理解一些,我感觉可以结合 RLE 进行对比介绍。另一方面,本文的实验重心放在了低分辨率姿态估计的分析上,我觉得有一些有意思的东西,所以分享一下。
因为内容比较简单,而且我一贯的风格是喜欢用自己的话来转述,所以这篇笔记就随意一点了~ 感觉总结下来一句话:低分辨率和轻量化场景的关键点定位任务,提点主要看概率分布的拟合。

0. 背景介绍

在姿态估计任务中,Heatmap-based 方法的精度很大程度上受输入图片尺寸的影响,用专业术语来说叫量化误差(quantization error),简单来说就是,输入图片越大,最终输出的 Heatmap 就越大(因为模型的下采样率是固定的),那么 argmax 操作能够获得的坐标数值就越大(argmax 返回的是整数),因此放大还原到输入尺寸下的误差就越小。
以上如果还不好理解的话,我给一个极端的例子:假如输入图片尺寸为 64x64,经过网络 32 倍下采样,输出的 heatmap 尺寸就会是 2x2,那么 argmax 能得到的结果就只有 0 和 1,在这样一张图上模型拟合得再好也没用。
尽管 Heatmap-based 方法有量化误差带来的弊端,但它实在太香了,训练收敛快、精度高,所以大家还是想用它,于是提出了很多改进方案,而本文作者认为最有效的方案是 offset-based 方法。
那么,作者为什么认为 offset-based 方法最好呢?

1. Why offset-based methods?

作者在 Heatmap-based 方法上做了一个实验,对比了输入图片尺寸变化,对不同 Heatmap-based 方法的影响,结果如下:
notion image
可以看到尽管随着输入尺寸变小,所有方法都在掉点,但是 UDP 方法能显著缓解这个问题,换句话说,UDP 在低分辨率图片上表现更好。
用 UDP 作者介绍的原话来说,UDP 包含两个主要的思想:一是在数据处理的时候,使用单位长度去度量图像的大小,而非像素的多少。二是引入一种在理想情况下无统计误差的编码解码方法。
关于 UDP 我打算之后专门写一篇笔记,这里暂时可以理解为 UDP 通过对偏移进行建模,解决了数据处理过程中向下取整引入的数值误差。
由于 UDP 在低分辨率上优秀的表现,作者认为对 offset 进行建模的方法对低分辨率姿态估计是好用的。

2. Offset-based Methods

notion image
所谓 offset-based 方法,简单来说就是先用 heatmap-based 方法预测一个粗略的位置,然后再用 regression-based 方法预测粗略位置的一个偏移,用粗略位置加偏移得到最终的预测结果。
这种思路可以总结为一种 “检测 + 回归” 的方法,也可以说是“定位 + 偏移”,很直观也很简单,在目标检测中也普遍用到:检测目标中心点,然后回归得到物体的长宽。
本文指出,传统的 offset-based 方法是有局限性的:训练和测试不一致
在训练时,监督是逐像素的,模型预测的 Heatmap 会跟渲染出的 Target Heatmap 进行逐像素的比较,要求每个像素都能预测出正确的概率值,换句话说,每个像素同样重要,是平等对待的。
但是在测试阶段,我们的 argmax 操作其实只关注最大值点,至于其他部分的预测准确与否我们根本不 care,这是不一致的体现其一
其二是,在网络结构上,Heatmap 和 offset 的预测分属于两个不同的头部,在结构上它们是解耦的。换句话说,训练时模型在解决两个独立的任务,但在测试时却要把二者的结果加起来作为最终预测。这样的不一致很容易导致,模型对两个任务的优化程度不同,使得最终的结果不是最优的。
这里我个人提一嘴,目标检测中其实也存在这种不一致问题,目标的分类质量预测和 bbox 预测也是两个独立的头部和任务在进行优化,但最终进行分数评估时却会把两个分数合并。在 GFLv2 中指出了这个问题,并通过一个基于 bbox 表征的统计量回归权重,加权到分类分支上,使得两个独立的任务建立了关联。
而本文解决不一致问题的方案称为 Confidence-Aware Learning(CAL)。

3. Confidence-Aware Learning

简单来说,CAL 的做法也是将两个独立的头部建立关联,而建立关联的思想非常简单:既然我们只关心最大值点的位置正确与否,那么在训练时,越靠近目标点的像素,学习权重是不是应该越高?
说起来,这个地方有点套娃的嫌疑。因为 Heatmap-based 方法本身其实也是基于类似的先验假设设计出来的,我们认为越靠近目标点的像素,概率值应该越大,所以才用高斯分布渲染 Target Heatmap 来进行监督。
而本文更进一步指出,监督信息上的确是越近的像素数值越高了,但每个像素的重要性不一样啊,所以我们还得给每个像素的损失加个权,越靠近目标点的像素,损失权重也得越大
说白了,我们只关心最大值点的偏移修正,其他位置上的修正因为用不到,所以需要抑制这部分的损失值的干扰。
那么这个权重怎么得来呢?网络本身干的活是啥,就是预测高斯分布嘛,现成的结果,我加权我自己,有点自注意力内味了。

4. Gaussian offset weighing

别急,以上思路虽然说得通,但需要注意的是,不同像素上 offset 的分布是什么样,是需要实验验证的。
本文作者设计了一个实验,统计 Heatmap 粗略预测的坐标,跟 GT 的偏差值范围的分布:
notion image
根据偏差值的大小进行了分段统计,最终得出了一个我们都能预料到的结论:这个偏差值果然符合高斯分布。
但是需要注意的是,这个高斯分布跟我们网络预测的 Heatmap 的目标高斯分布并不是一回事(或者说,这两个高斯分布的 mu 和 sigma 并不一定相同),所以我们不能直接用网络预测的 Heatmap 来 “我加权我自己”。
本文采用的是一种更加数学的方法:通过高斯混合模型(GMM)来预测 offset 权重。
简单来说,我们的训练数据只是对真是数据分布的一个采样,采样数据的分布跟真实数据分布总是存在差异的。 要想得到靠谱的真实数据分布,我们可以通过训练高斯混合模型来拟合真实分布,具体而言,就是用每次粗略预测的坐标值跟 GT 计算 offset,用 offset 作为采样点来训练一个初始高斯混合模型,然后用高斯混合模型预测的概率值作为权重来进行损失加权。
到了这里,“对 offset 进行建模得到真实数据分布” 这个思想,有没有觉得很有 RLE 的感觉?RLE 中是建模数据真实分布跟简单分布之间的误差的分布,这里是建模粗略预测跟真实 GT 分布之间的误差的分布。
不过差异也很明显,RLE 中 flow 模型学到的分布可是任意的,相当于在简单的高斯分布或拉普拉斯分布基础上叠加一个差异分布,以拟合真实分布;而本文的方法都是建立在高斯分布的假设基础上,认为预测值跟真实分布的差异也是一个高斯分布,这会导致最终拟合的 “真实分布” 准确性上就输了一筹。
但好处是这个方法很简单容易理解,处理流程如下图所示:
notion image
即,先用网络输出的 Heatmap 作为粗略预测值,跟 GT 计算 offset,然后把 offset 送进 GMM,用 EM 算法迭代拟合,然后基于 GMM 得出的归一化高斯分布值偏移到图像坐标系下进行加权。

5. 训练与测试

由于设计思想上不如 RLE,最终本文的方法在操作上也更繁琐一些。首先比较让人不 happy 的是,本文的方法是二阶段的。
这是非常无可奈何的,因为 GMM 拟合的前提是,粗略预测的关键点需要正确,而在训练的初期,模型预测的结果是不可靠的,并不能用于训练 GMM。
在 RLE 中同样存在类似的问题,即在训练初期 flow 模型的预测不准确,不能直接作为学习目标进行回归,于是作者设计出了残差结构,让 flow 模型在初期预测不准的影响大大减弱。
在本文的方法中,第一阶段模型先训练 Heatmap 分支和 offset 分支:
notion image
在公式中可以看到,第一阶段的 offset 权重用的是 GT 响应值作为权重。
当 Heatmap 的预测足够准确后,再进入第二阶段的训练:
notion image
可以看到训练只改变了 offset 的加权值,变为了基于 GMM 预测的真实高斯分布概率值。

6. 实验结果

最后卖一下结果:
notion image
在低分辨率输入的情况下,CAL 方法能取得比 UDP 更好的结果。
而这种加权方式的改进带来的收益有多少呢:
notion image
其实说实话也不是很高,只能说还不错吧。
本文还实验了一个有意思的东西,用超分模型来对低分辨率图片提高分辨率,从 64x48 提升到 256x192:
notion image
从结果来看,超分模型的确能带来还不错的提升,不过生成出来的也还是比不上原装的图片精度高。并且 CAL 方法由于是基于概率分布的预测,直接使用低分辨率图片依然取得了更好的结果。
本文同时也探索了 GMM 拟合时设置的高斯分布数量对结果的影响:
notion image
其实我感觉多个高斯分布拟合带来的提升非常有限,还是用单个就足够好了,多个反而有过拟合的嫌疑。
notion image
相比之下,在高分辨率输入时 CAL 能带来的提升就比较有限了,虽然还是能带来些许提升,但总体而言,本方法还是更适用于低分辨率场景。

7. 结语

本文提出的方法在我看来虽然不是最优的,但对 offset-based 方法做了一个比较详细的介绍,并指出了 heatmap 方法监督上的一个局限,我觉得这是一个可以学习的点。
相比于 RLE 激进地直接回归,这种 “检测 + 回归” 的范式很大程度上其实降低了回归任务的难度,在直觉上我感觉是有机会超越纯 RLE 方法的,我们也可以很容易地将 RLE 迁移到本文的方法中,用 flow 模型预测的概率分布作为权重来替换 GMM。后续有时间的话也许我会实验一下。

© Lazurite 2021 - 2024