https://arxiv.org/pdf/1910.06278.pdf
- 关键点标签编码(encoding)
训练人体姿态估计网络时,考虑到训练代价,通常会将将输入图片做降采样,在降采样后的分辨率上进行训练。为了网络能够以热度图为标签进行训练,需要将基于原图分辨率的关键点坐标,转换为降采样后分辨率下的关键点坐标。并利用高斯模糊进行转换成热度图。我们称这个过程称为坐标编码,从坐标点到热图。
- 关键点热度图解码(decoding)
为了预测关键点在原始图像坐标空间中的位置,在进行热图预测后,需要进行相应的分辨率恢复才能转换回原始坐标空间。我们称这个过程为坐标解码,从热图到坐标点。
现有的解码策略
很少有文章研究关键点的编码和解码过程,然而编码和解码的过程对最终结果的影响很多时候要比改变网络结构还要大。首先介绍下现有的各种主流人体关键点估计网络(比如Hourglass,Hrnet等)都在使用的解码策略。现有的解码策略是用于应对如下所述的固有缺陷的。
如上图a所示,现有的网络训练人体关键点时,受限于计算量等问题,会将人体从原始图像抠出来后进行降采样。如上图d所示,网络训练完后,为了将关键点恢复到原始分辨率下,需要对图像作扩大降采样倍率的操作。而正常情况下,我们将最终预测得到的热度图上的最大点坐标作为最终的关键点位置,然而由于降采样的存在,该过程存在量化误差。直白的说:热度图中最大的激活位置不是关键点的精确定位而是粗定位。现有的解码策略如下:
上述公式中,m表示最大的激活位置,s表示第二大的激活位置。上述公式的目的就是为了补偿降采样导致的量化误差。然而这种策略是凭借直觉且没有理论依据的。本文首次考虑了这个问题,并且提出了一种基于统计策略的新解码策略。
新解码策略
如公式三所示,假设网络预测得到的heatmap和标签heatmap一样都是符合高斯分布的。如公式五所示,利用对数变换对公式三作变换。而整个公式组合的目的是为了求得均值u。利用公式6,7,8,9即可最终计算出均值u,如公式8所示,需要计算D的一阶导数和二阶导数。
相对于仅仅考虑热图中第二个最大激活的标准方法,本文提出的坐标解码充分挖掘了热图的分布统计信息,以更准确地揭示潜在的最大激活。至关重要的是,它是计算友好的,因为它只需要计算一个位置每个热图的一阶导数和二阶导数。因此,现有的人类姿态估计方法可以很容易地受益,没有任何计算成本的障碍。
解码过程还需考虑的一点是,如下图所示,通常预测得到的热度图不会像制作的标签一样完全符合高斯分布,而是一种小区域内的多峰分布。因此作者建议先调整热度图使其符合高斯分布。
新编码策略
与解码过程中分析的一样,编码过程也存在量化误差。如下图所示,显然,由于量化误差的影响,生成的热图是不准确和有偏的,这可能会引入次优的监督信号,导致模型性能下降,特别是对于本文提出的精确坐标解码的情况。当然作者解决的方式很简单,就是将量化前的u,v值用于生成高斯分布。
网友评论