Distribution-Aware Coordinate Representation for Human Pose Estimation 姿态估计 CVPR2019 论文翻译,学习笔记,论文梗概
论文原文点这
这篇文章是该团队基于2018年工作的改进,2018年那个论文翻译点这
Abstract
姿态估计使用热度图来定位已成为惯例,但是据作者所知并没有文献对热度图进行系统的研究,本文将填补这个空白。特别是关注热度图的坐标表示。发现热度图解码坐标点时最为关键,因而我们探讨现有的标准坐标解码方法的局限性,提出可感知的分布解码方法(a more principled distribution-aware decoding method)
改进了标准坐标编码过程,制定了DARK(Aware coordinate Representation of Keypoint )分布感知坐标方法,在MPII和COCO上达到有效效果。该项目位于:https://ilovepose.github.io/coco/
Introduction
姿态估计是在无限制的图像中定位人体空间位置,由于不同风格的肢体外观差别大,因而任务艰巨(原本我以为这是一篇口水文章,直到下面公式推导我看不懂了。好吧我错了)
类似于图像分类的one-hot形式向量进行标签表示,Pose也需要标签来编码关键点坐标标签,一遍训练时量化和计算监督学习损失函数,推断坐标。实际的标准标签表示形式是坐标热图,它以二维高斯分布/内核为中心,以每个关节的标记坐标为中心生成(Tompson等人,2014)。 它是从坐标编码过程(从坐标到热图)获得的。
热图的特点是在地面位置周围提供空间支持,不仅要考虑上下文线索,还要考虑目标位置固有的歧义性。 重要的是,与类标签平滑正则化的类似,这可以有效地减少模型在训练中的过拟合风险(Szegedy等人,2016)。 所以,最新的姿势模型(Newell,Yang和Deng 2016; Xiao,Wu和Wei 2018; Sun等2019)基于热图表示坐标。
对于热图标签表示,一个主要障碍是,计算成本是输入图像分辨率的二次函数,从而使CNN模型无法处理通常的高分辨率原始图像数据。为了在计算上可以负担得起,一种标准策略(参见图1)是在将数据以人为姿态估计模型输入之前,使用数据预处理程序将所有人包围盒图像以任意较大的分辨率下采样为带前缀的小分辨率。为了预测关节在原始图像坐标空间中的位置,在进行热图预测之后,需要相应的分辨率恢复才能转换回原始坐标空间。最终预测被认为是具有最大激活的位置。我们将此过程称为从热图到坐标的坐标解码。值得注意的是,在上述分辨率降低期间可能引入量化误差。为了缓解这个问题,在现有的坐标解码过程中,通常根据从最高激活到次高激活的方向执行手工移位操作(Newell,Yang和Deng,2016年)。
Methodology方法论
我们考虑了人体姿态估计中的坐标表示问题,包括编码和解码。目的是预测给定输入图像中的关节坐标。为此,我们需要学习从输入图像到输出坐标的回归模型,并且在模型训练和测试期间,热图通常被用作坐标表示。具体来说,我们假设可以访问一组训练图像。为了促进模型学习,我们将关节的标记的地面真实坐标编码为热图作为有监督的学习目标。在测试过程中,我们需要将预测的热图解码为原始图像坐标空间中的坐标。在下文中,我们首先描述解码过程,着重于对现有标准方法的局限性分析和新解决方案的开发。然后,我们进一步讨论并解决编码过程的局限性。最后,我们描述了现有人体姿势估计模型与所提出方法的集成。
Coordinate Decoding
The standard coordinate decoding method 标准的坐标解码方法 根据模型性能进行经验设计。具体的,我们在训练好的模型给定热度图h上,首先确定最大响应的点m和第二大的响应的点s,关键点位置则被预测为公式1:
p
=
m
+
0.25
s
−
m
∥
s
−
m
∥
2
\boldsymbol{p}=\boldsymbol{m}+0.25 \frac{\boldsymbol{s}-\boldsymbol{m}}{\|\boldsymbol{s}-\boldsymbol{m}\|_{2}}
p=m+0.25∥s−m∥2s−m
就是说往第二大响应的方向偏移0.25像素,公式2:
p
^
=
λ
p
\hat{\boldsymbol{p}}=\lambda \boldsymbol{p}
p^=λp
其中
λ
\lambda
λ是resolution reduction ratio.分辨率降低率
The proposed coordinate decoding method 公式3:
G
(
x
;
μ
,
Σ
)
=
1
(
2
π
)
∣
Σ
∣
1
2
exp
(
−
1
2
(
x
−
μ
)
T
Σ
−
1
(
x
−
μ
)
)
\mathcal{G}(\boldsymbol{x} ; \boldsymbol{\mu}, \Sigma)=\frac{1}{(2 \pi)|\Sigma|^{\frac{1}{2}}} \exp \left(-\frac{1}{2}(\boldsymbol{x}-\boldsymbol{\mu})^{T} \Sigma^{-1}(\boldsymbol{x}-\boldsymbol{\mu})\right)
G(x;μ,Σ)=(2π)∣Σ∣211exp(−21(x−μ)TΣ−1(x−μ))
提出的坐标解码方法探索了预测热图的分布结构,以推断潜在的最大激活。 这与上面依靠手工设计的偏移量预测的标准方法大不相同,几乎没有设计依据和理由。 具体来说,为了获得亚像素度的准确位置,我们假定预测的热图遵循2D高斯分布,与真实的热图相同。 因此,我们将预测的热图表示为公式3
x是预测得到的热度图的像素位置,µ是将要被预测的关键点位置的高斯核均值。Σ指的是一个对角矩阵,与坐标编码时的矩阵一样:公式4:
Σ
=
[
σ
2
0
0
σ
2
]
\Sigma=\left[\begin{array}{cc}{\sigma^{2}} & {0} \\ {0} & {\sigma^{2}}\end{array}\right]
Σ=[σ200σ2]
σ是两个方向的标准差
根据对数似然优化原则(Goodfellow,Bengio和Courville 2016),我们通过对数变换G以促进推理,同时保持最大激活的原始位置为(公式5):
P
(
x
;
μ
,
Σ
)
=
ln
(
G
)
=
−
ln
(
2
π
)
−
1
2
ln
(
∣
Σ
∣
)
−
1
2
(
x
−
μ
)
T
Σ
−
1
(
x
−
μ
)
\begin{aligned} \mathcal{P}(\boldsymbol{x} ; \boldsymbol{\mu}, \Sigma)=\ln (\mathcal{G})=&-\ln (2 \pi)-\frac{1}{2} \ln (|\Sigma|) \\ &-\frac{1}{2}(\boldsymbol{x}-\boldsymbol{\mu})^{T} \Sigma^{-1}(\boldsymbol{x}-\boldsymbol{\mu}) \end{aligned}
P(x;μ,Σ)=ln(G)=−ln(2π)−21ln(∣Σ∣)−21(x−μ)TΣ−1(x−μ)
(个人分析:原本就是按比例映射到原图像素,但是这样误差比较大,确实。现在按照某个有先验知识的分布来映射回去,不是死板的按比例,就准多了)
(也就是说,加了先验知识,模型映射信息更多了,聪明多了,不光能小跑,还能大跳了,智商又占领高地了。)
(后面细节就是如何确定一些拟合模型的参数的工作了)
我们的目标是估计µ。 作为分布的一个极端点,众所周知,位置µ的一阶导数满足以下条件(公式6):
D
′
(
x
)
∣
x
=
μ
=
∂
P
T
∂
x
∣
x
=
μ
=
−
Σ
−
1
(
x
−
μ
)
∣
x
=
μ
=
0
\left.\mathcal{D}^{\prime}(\boldsymbol{x})\right|_{\boldsymbol{x}=\boldsymbol{\mu}}=\left.\frac{\partial \mathcal{P}^{T}}{\partial \boldsymbol{x}}\right|_{\boldsymbol{x}=\boldsymbol{\mu}}=-\left.\Sigma^{-1}(\boldsymbol{x}-\boldsymbol{\mu})\right|_{\boldsymbol{x}=\boldsymbol{\mu}}=0
D′(x)∣x=μ=∂x∂PT∣∣∣∣x=μ=−Σ−1(x−μ)∣∣x=μ=0
我们用泰勒定理来分析,形式上,我们通过泰勒级数(直到二次项)近似估算活化热P(µ),其中泰勒级数是在预测热图的最大活化度m下估算的,即(公式7):
P
(
μ
)
=
P
(
m
)
+
D
′
(
m
)
(
μ
−
m
)
+
1
2
(
μ
−
m
)
T
D
′
′
(
m
)
(
μ
−
m
)
\mathcal{P}(\boldsymbol{\mu})=\mathcal{P}(\boldsymbol{m})+\mathcal{D}^{\prime}(\boldsymbol{m})(\boldsymbol{\mu}-\boldsymbol{m})+\frac{1}{2}(\boldsymbol{\mu}-\boldsymbol{m})^{T} \mathcal{D}^{\prime \prime}(\boldsymbol{m})(\boldsymbol{\mu}-\boldsymbol{m})
P(μ)=P(m)+D′(m)(μ−m)+21(μ−m)TD′′(m)(μ−m)
其中D’’(m)表示二阶导数(Hessian导数)在m处评估的P的形式定义为(公式8):
D
′
′
(
m
)
=
D
′
′
(
x
)
∣
x
=
m
=
−
Σ
−
1
\mathcal{D}^{\prime \prime}(\boldsymbol{m})=\left.\mathcal{D}^{\prime \prime}(\boldsymbol{x})\right|_{\boldsymbol{x}=\boldsymbol{m}}=-\Sigma^{-1}
D′′(m)=D′′(x)∣x=m=−Σ−1
…
怎么说呢,后面的公式推导也看不太懂了,公式推导自己看论文吧