Advertisement

论文笔记:OpenPose(Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields)

阅读量:

Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

    • 1、主要成果
  • 2、算法实现

    • 2.1、算法的基本原理
  • 2.2、算法的具体实现

    • 2.2.1、网络架构设计
  • 2.2.2、损失函数定义

  • 2.2.3、基于置信图的生成过程

  • 2.2.4、PAFs 的生成流程

  • 2.2.5、多场景分析机制

  • 2.2.6、实验结果展示

    • 3、总结
    • 4、感想

1、主要成果

开发了一种能够将人体解剖部位与个体特征关联起来的无参数建模方法—PAFs。通过自顶向下的深度学习架构实现实时的人体姿态估计,在运行效率和模型准确率方面均达到了当时最高的水平。


2、算法细节

2.1、算法原理

首先通过模型预测一组图像中人体部位位置的二维(2D)置信图集合 S 同时生成一组表示各部位之间相似性关系的二维(2D)矢量场集合 L 这些矢量场用于表征各部位之间的关联程度 集合 S=\left(\mathbf{S}_{1}, \mathbf{S}_{2}, \ldots, \mathbf{S}_{J}\right) 其中 \mathbf{S}_{j} \in \mathbb{R}^{w \times h} 表示第j个置信图j\in\left\{1,\ldots,J\right\} 集合 \boldsymbol{\mathcal{L}}=\left(\boldsymbol{\ell}_{1},\boldsymbol{\ell}_{2},\ldots,\boldsymbol{\ell}_{C}\right) 包含了C个矢量场 分别对应于身体的不同部位 其中 \boldsymbol{\ell}_c\in\mathbb{R}^{w\times h\times 2} 表示第c个矢量场所占的空间区域 并且其中每个空间位置都被编码为一个二维向量 最后采用贪心算法对置信度图与亲和力场进行解析 得到图像中所有人体关键点的位置信息

在这里插入图片描述

2.2、实现细节

2.2.1、网络结构
在这里插入图片描述
  1. 使用 VGG-1910 层提取图像特征 \mathbf{F}
  2. \mathbf{F} 输入到 stage-1 置信图分支网络和亲和场分支网络,分别输出 \mathbf{S}^{1}=\rho^{1}(\mathbf{F})\mathbf{L}^{1}=\phi^{1}(\mathbf{F})
  3. 重复 stage-1,输入为前一阶段的 \mathbf{S^t}\mathbf{L^t} 以及图像特征 \mathbf{F}Concatenate。即,\begin{aligned} \mathbf{S}^{t} &=\rho^{t}\left(\mathbf{F}, \mathbf{S}^{t-1}, \mathbf{L}^{t-1}\right), \forall t \geq 2 \\ \mathbf{L}^{t} &=\phi^{t}\left(\mathbf{F}, \mathbf{S}^{t-1}, \mathbf{L}^{t-1}\right), \forall t \geq 2 \end{aligned}

2.2.2、损失函数

分别对每一个阶段的两个分支网络单独构建对应的损失函数,并对其结果进行加权融合以缓解数据集难以标注所有人的问题。
其中,

\begin{aligned} f_{\mathrm{S}}^{t} &= \sum_{j=1}^{J} \sum_{\mathrm{p}} \mathbf{W}(\mathbf{p}) \cdot \| \mathbf{S}_{j}^{t}(\mathbf{p}) - \mathbf{S}_{j}^{*}(\mathbf{p}) \|_{2}^{2}, \\ f_{\mathrm{L}}^{t} &= \sum_{c=1}^{C} \sum_{\mathbf{p}} \mathbf{W}(\mathbf{p}) \cdot \| \mathbf{L}_{c}^{t}(\mathbf{p}) - \mathbf{L}_{c}^{*}(\mathbf{p}) \|_{2}^{2} \end{aligned}

表示该算法中的权重矩阵\mathbf{W}是一个二进制掩码矩阵,在图像位置p未被标注时取值\mathbf{W(p)=0}以避免惩罚\textit{\texttt{\textBF}}预测正确的正样本(TP)。此外,在每个训练阶段通过定期补充梯度信息有效缓解梯度消失问题;而总损失则定义为各阶段损失之和:

f = \sum_{t=1}^{T}\left(f_{\mathrm{S}}^{t} + f_{\mathrm{\texttt{\texttt{\textBF}}}}}^{\mathrm{T}} \right)


2.2.3、GT 置信图生成

基于人体关键点标注的位置信息构建置信图,在多个实例中取其一进行描述。对于第k个人体的姿态实例而言,在其第j个可见部位上生成对应的置信图表示为\mathbf{S}_{j,k}^*

\mathbf{S}_{j,k}^*(\boldsymbol p) = \exp\left(-\frac{\|\boldsymbol p - \boldsymbol x_{j,k}\|_2^2}{\sigma^2}\right)

其中\boldsymbol p \in \Bbb R^2表示二维平面上任意一点的位置坐标向量,
\boldsymbol x_{j,k}代表关键点的标注位置坐标向量。
进而得到每个位置的最大置信度值:

\boldsymbol S_j^*(\boldsymbol p) = \max_k \,\,\boldsymbol S_{j,k}^*(\boldsymbol p)


2.2.4、PAFs 生成
在这里插入图片描述
在这里插入图片描述

当点 p 位于肢体 ck 处时,
\mathbf{L}_{c,k}^{*}(\mathbf{p}) 其值等于从关键点 j_1 至关键点 j_2 的归一化向量,
而其余情况则为零向量。
该约束条件需满足以下形式:
其与 \mathbf{x}_{j_1,k} 之差的内积在区间 [0, l_{c,k}] 内,
且与其垂直方向上的投影绝对值不超过 \sigma_l
其中,
l_{c,k} 被定义为 \mathbf{x}_{j_2,k}\mathbf{x}_{j_1,k} 之间的欧氏距离,
\sigma_l 则表示像素间距。
通过计算所有人体的关键点处亲和场的平均值得到最终得到的亲和场:

\mathbf{L}_{c}^{*}(\mathbf{p})=\frac{1}{n_c(\mathbf{p})}\sum_{k=1}^{K}\mathbf{L}_{c,k}^{*}(\mathbf{p})

其中,
n_c(\mathbf{p}) 表示在位置 \mathbf{p} 处产生非零向量的人数,
K 则代表所有人体的数量。

在测试阶段中基于连接候选部位位置的线段计算相应 PAF 上的线积分以评估候选部位检测之间的关联。在实际应用中通过对 u 均匀采样然后求和来近似积分 \int E=\int_{u=0}^{u=1} \mathbf{L}_{c}(\mathbf{p}(u)) \cdot \frac{\mathbf{d}_{j_{2}}-\mathbf{d}_{j_{1}}}{\left\|\mathbf{d}_{j_{2}}-\mathbf{d}_{j_{1}}\right\|_{2}} d u 其中 \mathbf{p}(u) 代表两个人体部位 d_{j1}d_{j2} 的位置插值由 \mathbf{p}(u)=(1-u) \mathbf{d}_{j_{1}}+u \mathbf{d}_{j_{2}} 给出


2.2.5、PAFs 多人分析

通过将非最大值抑制应用于检测置信度图中的各个区域,在此过程中获得了多个离散的位置坐标点集合。随后将这些位置坐标点进行组合筛选,在此基础上得到了大量潜在的手臂段候选项。对于每一个潜在的手臂段候选项都需要通过计算该段在对应的物理属性场(PAF)上的线积分来进行评估其是否存在以及可信程度如何的问题。最终确定最优解的过程等同于求解一个已被证明属于NP难的K维匹配问题。

在这里插入图片描述

在文章中阐述了一种贪婪的简化方法,并总能产生高质量匹配;归因于成对关联分数编码了全局上下文这一现象。这是因为 PAF 网络的感受野覆盖范围较大所导致的。

当面对人体多个人体姿态的整体姿势寻获时,将 Z 视为一个 K 维匹配问题类是可以理解的。这一问题是 NP 类型难题并且包含多种松弛形态存在。为了提升解决方案的有效性,在现有松弛类型基础上增添了两个新的松弛形式

  1. 采用最少数量的边以获取人体姿态的生成树结构,并无需完整图的方法(如图 6c 所示)。
  2. 进一步地将匹配问题拆分为一系列二分匹配子问题,并分别确定相邻树节点之间的匹配关系(如图 6d 所示)。

研究表明最小贪婪推理能够较好地逼近全局解仅需计算一小部分的成本原因则在于卷积神经网络在建模相邻节点关系时采用了显式的参数化方法而对非相邻节点之间的关系则通过残差传播机制进行隐式的建模这种特性源于卷积神经网络具有较大的感受野范围并且来自非相邻树节点的参数化前馈项也会对预测值产生影响基于此我们就可以将复杂的优化问题分解开来

针对所有的肢体连接候选者我们可以将共享相同部位检测候选的连接进行筛选最终组合出一组完整的多个人体姿态

值得注意的是通过将优化问题分解到不同的层次不仅大大降低了计算复杂度而且也显著提高了算法的整体效率


2.2.6、结果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、总结

主要贡献——PAFs:

部位置信图生成:针对图像中所有人身体部位同一类别的高斯分布置信度计算其上界值。
亲和场生成:基于图像中所有人身体部位同一类别的距离测度计算其平均值。
预测结果生成

  1. 将人体各部位间的全局连接关系简化为层次结构模型(类似于传统姿态估计中的树状结构)。

  2. 进一步将其拆分为二分图结构进行优化处理。

  3. 运用匈牙利算法确定最优配对方案以实现最大权重匹配的节点分配策略。

  4. 边权重值的确立:沿着各部位位置连接形成的线段部分,在 PAF 上进行线积分运算即可得到各边对应的权重值。

4、感想

主要贡献体现在PAFs领域。论文中对于深度学习实现细节的探讨较为单薄,在这一领域仍具有改进余地。建议在研究过程中探索融合新型深度学习架构与优化损失函数的技术。

全部评论 (0)

还没有任何评论哟~