
# OpenPose: 实时多人 2D 姿态估计，利用部分亲和力场

Zhe Cao, Student Member, IEEE, Gines Hidalgo, Student Member, IEEE, Tomas Simon, Shih-En Wei, and Yaser Sheikh

摘要：实时多人 2D 姿态估计是使机器能够理解图像和视频中人物的关键组成部分。 在这项工作中，我们提出了一种实时方法，用于检测图像中多个人的 2D 姿态。 提出的方法使用一种非参数表示，我们称之为“部分亲和力场”（PAFs），以学习将身体部位与图像中的个体相关联。 该自下而上的系统在准确性和实时性能方面都表现出色，无论图像中包含多少人。 在以前的工作中，PAF 和身体部位定位同时在训练阶段进行优化。 我们证明，仅优化 PAF 而不是同时优化 PAF 和身体部位定位，可以显著提高运行时性能和准确性。 我们还提出了第一个结合身体和脚的关键点检测器，该检测器基于我们公开发布的内部注释脚数据集。 我们表明，与顺序运行它们相比，组合检测器不仅可以减少推理时间，而且可以保持每个组件的独立准确性。 这项工作促成了 OpenPose 的发布，OpenPose 是第一个开源的实时系统，用于多人 2D 姿态检测，包括身体、脚、手和面部关键点。

关键词：2D 人体姿态估计、2D 脚关键点估计、实时、多人、部分亲和力场。

## 1 介绍

在本文中，我们考虑了获得对图像和视频中人物的详细理解的一个核心组成部分：人体 2D 姿态估计，或者说是定位解剖关键点或“部分”的问题。 人体姿态估计主要集中在找到个体身体部位。 推断图像中多个人的姿态提出了独特的挑战。 首先，每张图像可能包含未知数量的人，这些人在任何位置或比例下都可能出现。 其次，人与人之间的交互会产生复杂的空间干扰，例如接触、遮挡或肢体运动，这使得关联身体部位变得困难。 第三，运行时间往往随着图像中人数的增加而增加，这使得实时性能成为一个挑战。

一种常见的方法是采用人员检测器，并对每个检测结果执行单人姿态估计。 这些自上而下的方法直接利用现有的单人姿态估计技术，但会受到早期承诺的影响：如果人员检测器失败——尤其是在人们靠近时——则没有补救措施。 此外，它们的运行时间与图像中人数成正比，对于每张人像，都需要运行一个单人姿态估计器。 与之相反，自下而上的方法更具吸引力，因为它们对早期承诺具有鲁棒性，并且有可能解耦运行时间和图像中人数之间的关系。 然而，自下而上的方法没有直接利用来自其他身体部位和其他人群的全局上下文线索。

![Image](images/570a51f3f91bbe6a30afb712f8759d90e5e11a2bf38a0f5c54df81d58f558f50.jpg)

![Image](images/6b99b5d97b721bedf28f1cf7fdcf6044411b1574eb8c29efe64155983d31f6ba.jpg)

<div style="text-align: center;">Fig. 1: Top: Multi-person pose estimation. Body parts belonging to the same person are linked, including foot keypoints (big toes, small toes, and heels). Bottom left: Part Affinity Fields (PAFs) corresponding to the limb connecting right elbow and wrist. The color encodes orientation. Bottom right: A 2D vector in each pixel of every PAF encodes the position and orientation of the limbs.</div>

人群 ([^1]，[^2]) 并没有保留效率方面的优势，因为最终的解析需要代价高昂的全局推理，每张图像需要几分钟。

本文提出了一种高效的多人姿态估计方法，在多个公开基准测试中表现出色。 我们提出了第一个基于部分亲和力场（PAFs）的自下而上的关联分数表示，PAFs是一组2D矢量场，用于编码图像域中肢体的方向和位置。 我们证明，同时推断检测和关联的自下而上表示，可以编码足够的全局上下文，从而使贪心解析能够实现高质量的结果，同时计算成本大大降低。

---

本文已接受该期刊未来一期的发表，但尚未完全编辑。 在最终发表之前，内容可能会发生变化。 引用信息：DOI 10.1109/TPAMI.2019.2929257，IEEE Transactions on Pattern Analysis and Machine Intelligence

<div style="text-align: center;">IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. XXX, NO. XXX, AUGUST YYYY</div>

![Image](images/a8a270583d59ad7869f3ff131107ec0302d62e2e74541f2ff962d9f6d801b180.jpg)

<div style="text-align: center;">(a) Input Image</div>

![Image](images/58f57231bd6447e2b2510c19064776adbdb0b542684b5b076f5dd80f18aa2991.jpg)

<div style="text-align: center;">(c) Part Affinity Fields</div>

![Image](images/6eadbae2c606be22a1fb737f0a3f0fd06052b7937107fb90e5115fe327a241b7.jpg)

<div style="text-align: center;">(d) Bipartite Matching</div>

![Image](images/2b1af6b15e398c254d7968663b8e13d032fcd7e6f6e4ccc6a960493121b4ecc1.jpg)

<div style="text-align: center;">(e) Parsing Results</div>

<div style="text-align: center;">Fig. 2: Overall pipeline. (a) Our method takes the entire image as the input for a CNN to jointly predict (b) confidence maps for body part detection and (c) PAFs for part association. (d) The parsing step performs a set of bipartite matchings to associate body part candidates. (e) We finally assemble them into full body poses for all people in the image.</div>

高质量结果，同时以较低的计算成本实现。

本文稿的早期版本发表于 [^3]。 本版本包含多项新贡献。 首先，我们证明 PAF 优化对于最大化准确性至关重要，而身体部位预测优化并不那么重要。 我们增加了网络深度，但删除了身体部位优化阶段（第 3.1 节和第 3.2 节）。 这种优化的网络将速度和准确性分别提高了约 200% 和 7%（第 5.2 节和第 5.3 节）。 其次，我们展示了一个带有 15,000 个人体足部实例的标注足部数据集 $^{1}$，该数据集已公开发布（第 4.2 节），并表明可以训练一个包含身体和足部关键点的组合模型，同时保持与仅身体模型相同的速度，并保持其准确性（第 5.5 节）。 第三，我们通过将其应用于车辆关键点估计任务，展示了我们方法的通用性（第 5.6 节）。 最后，本工作记录了 OpenPose [^4] 的发布。 这是一个第一个可用的实时多人 2D 姿态检测系统，包括身体、足部、手部和面部关键点（第 4 节）。 我们还包括与 Mask R-CNN [^5] 和 Alpha-Pose [^6] 的运行时比较，展示了我们的自下而上的方法的计算优势（第 5.3 节）。

## 2 相关工作

单人姿态估计：传统的铰接人体姿态估计方法是对身体部位的局部观测和它们之间的空间依赖性进行推断。铰接姿态的空间模型通常基于树结构的图模型，如 [^7]、[^8]、[^9]、[^10]、[^11]、[^12]、[^13]，这些模型参数化地编码了相邻部分之间的空间关系，遵循运动链；或者是非树模型，如 [^14]、[^15]、[^16]、[^17]、[^18]，这些模型通过添加额外的边来增强树结构，以捕获遮挡、对称性和长程关系。为了获得可靠的身体部位局部观测结果，卷积神经网络 (CNN) 已被广泛使用，并显著提高了人体姿态估计的准确性，如 [^19]、[^20]、[^21]、[^22]、[^23]、[^24]、[^25]、[^26]、[^27]、[^28]、[^29]、[^30]、[^31]、[^32]。Tompson 等人 [^23] 使用了一种深度架构，其中图模型的参数与网络一起学习。Pfister 等人 [^33] 进一步使用 CNN 通过设计具有大感受野的网络来隐式捕获全局空间依赖性。Wei 等人提出的卷积姿态机架构 [^20] 使用了一种基于序列预测框架的多阶段架构 [^34]；通过迭代地整合全局上下文来细化部分置信度图，并在每阶段保留来自先前迭代的多模态不确定性。在每个阶段的末尾强制执行中间监督，以解决训练期间的梯度消失问题 [^35]、[^36]、[^37]。Newell 等人 [^19] 还表明，在堆叠漏斗架构中，中间监督是有益的。然而，所有这些方法都假设存在单个人物，并且已知感兴趣人物的位置和比例。

用于多人姿态估计，大多数方法 [^5]，[^6]，[^38]，[^39]，[^40]，[^41]，[^42]，[^43]，[^44] 采用自上而下的策略，首先检测人物，然后独立地对每个检测区域估计人物姿态。 尽管该策略使可以直接将为单人情况开发的技术应用于多人情况，但它不仅受到早期对人物检测的依赖，而且无法捕捉到不同人物之间的空间依赖关系，这些关系需要全局推理。 一些方法开始考虑人物之间的依赖关系。 Eichner 等人 [^45] 将图结构扩展到考虑一组相互作用的人物和深度排序，但仍然需要一个人物检测器来初始化检测假设。 Pishchulin 等人 [^1] 提出了一种自下而上的方法，该方法联合地对部分检测候选进行标注，并将它们与单个人物相关联，并从检测到的部分的空间偏移量中回归出成对得分。 该方法不依赖于人物检测，但是，求解完全连接图中提出的整数线性规划是一个 NP 难问题，因此单个图像的平均处理时间约为数小时。 Insafutdinov 等人 [^2] 基于 [^1]，使用更强大的基于 ResNet [^46] 的部分检测器和基于图像的成对得分，并通过增量优化方法大大提高了运行速度，但该方法仍然需要几分钟才能处理一张图像，最多可处理 150 个部分建议。 [^2] 中使用的成对表示，即每对身体部分之间的偏移向量，很难精确回归，因此需要单独的逻辑回归将成对特征转换为概率得分。

在之前的作品 [^3] 中，我们提出了部分亲和力场 (PAFs)，这是一种表示，由一组流场组成，编码了可变数量的人物之间的非结构化成对关系。 与 [^1] 和 [^2] 相比，我们

---

![Image](images/d1ccb55c552fe441cac37bc7e3cef639c5b52abeceb758410f745e52589f5a5f.jpg)

<div style="text-align: center;">Fig. 3: Architecture of the multi-stage CNN. The first set of stages predicts PAFs  $L^{t}$, while the last set predicts confidence maps  $S^{t}$. The predictions of each stage and their corresponding image features are concatenated for each subsequent stage. Convolutions of kernel size 7 from the original approach [^3] are replaced with 3 layers of convolutions of kernel 3 which are concatenated at their end.</div>

可以有效地从 PAF 中获得成对得分，而无需额外的训练步骤。 这些得分足以进行贪婪解析，以实时性能实现高质量的结果，用于多人估计。 与这项工作同时进行的，Insafutdinov 等人 [^47] 进一步简化了用于单帧模型中更快推理的身体部件关系图，并将姿势人类跟踪表述为对部分建议进行时空分组。 最近，Newell 等人 [^48] 提出了一种关联嵌入，可以将其视为标签，用于表示每个关键点的组。 他们将具有相似标签的关键点分组到单个人物中。 Papandreou 等人 [^49] 提出检测单个关键点，并预测它们之间的相对位移，从而允许贪婪解码过程将关键点分组到人物实例中。 Kocabas 等人 [^50] 提出了一种姿势残差网络，该网络接收关键点和人物检测结果，然后将关键点分配到检测到的人物边界框。 Nie 等人 [^51] 提出了一种将所有关键点检测结果分割的方法，该方法使用从关键点候选到图像中人物中心的密集回归。

在本工作中，我们在之前的工作基础上进行了多次改进 [^3]。我们证明了PAF精炼对于高准确性至关重要且是充分的，同时移除了身体部位置信度图的精炼，并增加了网络深度。这导致了更快速和更准确的模型。我们还提出了第一个结合了身体和脚的关键点检测器，该检测器基于一个经过标注的脚数据集创建，该数据集将公开发布。我们证明，将两种检测方法结合使用，不仅可以减少与独立运行相比的推理时间，而且可以保持其各自的准确性。最后，我们提出了OpenPose，这是第一个用于实时身体、脚、手和面部关键点检测的开源库。

## 3 方法

图2说明了我们方法的总体流程。该系统以大小为 $w \times h$ 的彩色图像作为输入（图2a），并为图像中每个人生成解剖关键点的位置（图2e）。首先，一个前馈网络预测一组2D置信度图 $\mathbf{S}$，用于编码身体部位位置（图2b），以及一组2D向量场 $\mathbf{L}$，用于编码部分关联场（PAFs），这些向量场编码了各个部分之间的关联程度（图2c）。集合 $\mathbf{S} = (\mathbf{S}_1, \mathbf{S}_2, \ldots, \mathbf{S}_J)$ 包含J个置信度图，每个图对应一个部位，其中 $\mathbf{S}_j \in \mathbb{R}^{w \times h}$，$j \in \{1 \ldots J\}$。集合 $\mathbf{L} = (\mathbf{L}_1, \mathbf{L}_2, \ldots, \mathbf{L}_C)$ 包含C个向量场，每个向量场对应一个肢体，其中 $\mathbf{L}_c \in \mathbb{R}^{w \times h \times 2}$，$c \in \{1 \ldots C\}$。为了更清晰，我们将部分对称为肢体，但有些对不是人类肢体（例如，面部）。图像中的每个位置在 $\mathbf{L}_c$ 中编码一个2D向量（图1）。最后，置信度图和PAF通过贪心推理进行解析（图2d），以输出图像中所有人的2D关键点。

### 3.1 网络架构

如图3所示，我们的架构迭代地预测编码部分到部分关联的关联场（蓝色），以及检测置信度图（米色）。迭代预测架构，参考 [^20]，通过在每个阶段进行多次迭代，对预测进行精炼，$t \in \{1, \ldots, T\}$，并在每个阶段进行中间监督。

相对于 [^3]，增加了网络的深度。在原始方法中，网络架构包括几个7x7卷积层。在我们的当前模型中，在保持感受野不变的情况下，通过将每个7x7卷积核替换为3个连续的3x3卷积核，减少了计算量。虽然前一种方式的操作数为 $2 \times 7^2 - 1 = 97$，但后一种方式的操作数只有51。此外，每个3个卷积核的输出被连接，这类似于DenseNet [^52]。非线性层的数量增加了三倍，网络可以同时保留低级和高级特征。第5.2节和第5.3节分析了准确性和运行时速度的改进。

### 3.2 同时检测和关联

图像由一个CNN分析（初始化为VGG-19的前10层 [^53] 并进行微调），生成一组特征图 $\mathbf{F}$，这些特征图作为输入到第一个阶段。在这个阶段，网络生成一组部分关联场（PAFs）$\mathbf{L}^1 = \phi^1(\mathbf{F})$，其中 $\phi^1$ 指的是第1阶段的推理CNN。在每个后续阶段，将前一个阶段的预测和原始图像特征 $\mathbf{F}$ 连接起来，并用于生成精炼的预测。

 $$ \begin{array}{r l r}{{\bf L}^{t}}&{=}&{\phi^{t}({\bf F},{\bf L}^{t-1}),\;\forall2\leq t\leq T_{P},}\end{array} $$

其中，$\phi^{t}$ 指的是用于在第 t 个阶段进行推理的 CNN，而 $T_{P}$ 指的是总的 PAF 阶段数。经过 $T_{P}$ 次迭代后，该过程会重复进行置信图检测，从最新的 PAF 预测开始。

 $$ \begin{array}{r c l}{\mathbf{S}^{T_{P}}}&{=}&{\rho^{t}(\mathbf{F},\mathbf{L}^{T_{P}}),\;\forall t=T_{P},}\\ {\mathbf{S}^{t}}&{=}&{\rho^{t}(\mathbf{F},\mathbf{L}^{T_{P}},\mathbf{S}^{t-1}),\;\forall T_{P}<t\leq T_{P}+T_{C},}\\ \end{array} $$

其中，$\rho^{t}$ 指的是用于在第 t 个阶段进行推理的 CNN，而 $T_{C}$ 指的是总的置信图阶段数。

这种方法与 [^3] 不同，后者在每个阶段都会对 PAF 和置信图分支进行细化。因此，每个阶段的计算量减少了一半。我们在第 5.2 节的实验中观察到，细化的亲和力场预测可以提高置信图的结果，而反之则不然。直观地说，如果我们查看 PAF 通道输出，可以猜测身体部位的位置。但是，如果看到一堆身体部位但没有其他信息，我们就无法将它们识别为不同的人。

图 4 显示了各个阶段的亲和力场的优化。 置信度图的结果预测在...

---

![Image](images/ba9ddafcfb1b10bb046cda6b6e68599904b5b3f31e0f3f3ba2f06011416efe48.jpg)

<div style="text-align: center;">Stage 1</div>

![Image](images/4532507574c3ae09c70c66d2f32c3dc7470f4aa78daf0eb7f148f15e4c6e8992.jpg)

![Image](images/eaed07536a23a1ff52bffc1651aa3bbabdce40a2f998c734de7fce3d8abd166b.jpg)

<div style="text-align: center;">Stage 2</div>

<div style="text-align: center;">Stage 3</div>

<div style="text-align: center;">Fig. 4: PAFs of right forearm across stages. Although there is confusion between left and right body parts and limbs in early stages, the estimates are increasingly refined through global inference in later stages.</div>

最新的、最精细的PAF预测结果，导致在置信度图的各个阶段几乎没有明显的差异。为了引导网络在第一个分支中迭代地预测身体部位的PAF，并在第二个分支中预测置信度图，我们在每个阶段的末尾应用一个损失函数。我们使用一个$L_{2}$损失，用于衡量估计的预测结果和地面真实图之间的差异。在这里，我们对损失函数进行空间加权，以解决一个实际问题，即某些数据集没有完全标注所有的人。具体来说，在阶段$t_{i}$的PAF分支的损失函数和在阶段$t_{k}$的置信度图分支的损失函数是：

 $$ \begin{array}{l l l}{f_{\mathbf{L}}^{t_{i}}}&{=}&{\displaystyle\sum_{c=1}^{\mathbf{C}}\displaystyle\sum_{\mathbf{p}}\mathbf{W}(\mathbf{p})\cdot\|\mathbf{L}_{c}^{t_{i}}(\mathbf{p})-\mathbf{L}_{c}^{*}(\mathbf{p})\|_{2}^{2},}\end{array} $$

 $$ \begin{array}{r l r}{f_{\mathbf{S}}^{t_{k}}}&{=}&{\displaystyle\sum_{j=1}^{j}\displaystyle\sum_{\mathbf{p}}\mathbf{W}(\mathbf{p})\cdot\|\mathbf{S}_{j}^{t_{k}}(\mathbf{p})-\mathbf{S}_{j}^{*}(\mathbf{p})\|_{2}^{2},}\end{array} $$

其中，$\mathbf{L}_c^*$是地面真实PAF，$\mathbf{S}_j^*$是地面真实的部分置信度图，$\mathbf{W}$是一个二元掩码，当像素$\mathbf{W}(\mathbf{p}) = 0$处的标注缺失时，掩码值为$\mathbf{p}$。该掩码用于在训练期间避免惩罚正确的预测。每个阶段的中间监督通过定期补充梯度来解决梯度消失问题[^20]。总目标是

 $$ f=\sum_{t=1}^{T_{P}}f_{\mathbf{L}}^{t}+\sum_{t=T_{P}+1}^{T_{P}+T_{C}}f_{\mathbf{S}}^{t}. $$

### 3.3 用于部分检测的置信度图

为了在训练期间评估方程 (6) 中的 $f_s$，我们从标注的 2D 关键点生成地面真值置信图 $\mathbf{S}^*$。每个置信图是 2D 表示，表示在任何给定像素处，对特定身体部位可能出现位置的置信度。理想情况下，如果图像中出现单个人物，则如果对应的身体部位可见，每个置信图应只有一个峰值；如果图像中出现多个人物，则对于每个图像中的每个可见身体部位 k，都应存在一个峰值。

我们首先为每个人 k 生成独立的置信图 $\mathbf{S}_j, k^*$。令 $\mathbf{x}_{j,k} \in \mathbb{R}^2$ 为图像中人体部位 j 的地面真值位置。在 $\mathbf{p} \in \mathbb{R}^2$ 位置处的 $\mathbf{S}_j, k^*$ 的值为：

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

其中，$\sigma$ 控制峰值的扩散。由网络预测的地面真值置信图是通过最大运算符聚合的各个置信图，

 $$ \mathbf{S}_{j}^{*}(\mathbf{p})=\max_{k}\mathbf{S}_{j,k}^{*}(\mathbf{p}). $$

![Image](images/84c80e9349039bc1cc741545057d5e56f74fc2f66de149cac17b6ca83952c890.jpg)

<div style="text-align: center;">(a)</div>

![Image](images/0604042b41c456005f789253b1736a4d8f73db2b9e65c3f6b56846f88810de70.jpg)

<div style="text-align: center;">(b)</div>

![Image](images/bba7f071f4c45645f84fe25724fc416252239d10f32cd35aabb11d2a40e49a18.jpg)

<div style="text-align: center;">(c)</div>

<div style="text-align: center;">Fig. 5: Part association strategies. (a) The body part detection candidates (red and blue dots) for two body part types and all connection candidates (grey lines). (b) The connection results using the midpoint (yellow dots) representation: correct connections (black lines) and incorrect connections (green lines) that also satisfy the incidence constraint. (c) The results using PAFs (yellow arrows). By encoding position and orientation over the support of the limb, PAFs eliminate false associations.</div>

我们采用置信图的最大值而不是平均值，因为这样可以保持附近峰值的区分度，如图所示。在测试时，我们预测置信图，并通过执行非最大抑制来获得身体部位候选者。

![Image](images/7b4a1f5ce1baa81cfdd5ba278da6b8cffbfccc686da10f1bd54177536b654b13.jpg)

### 3.4 用于部件关联的部件亲和力场

给定一组检测到的身体部位（如图 5a 中所示的红色和蓝色点），我们如何将它们组装成具有未知数量的人的完整身体姿势？我们需要衡量每个身体部位检测对之间的关联置信度，即它们属于同一个人。一种可能的衡量关联的方法是在每个肢体上的每对部位之间检测一个额外的中点，并检查该中点在候选部位检测之间的出现情况，如图 5b 所示。但是，当人们聚集在一起时，这些中点可能会产生虚假关联（如图 5b 中所示的绿色线）。这些虚假关联源于两种表示的局限性：（1）它仅编码每个肢体的位置，而不编码方向；（2）它将肢体的支撑区域减少为单个点。

部件亲和力场 (PAFs) 解决了这些局限性。它们在肢体的支撑区域内保留了位置和方向信息（如图 5c 所示）。每个 PAF 是每个肢体的 2D 向量场，如图 1d 所示。对于属于特定肢体的每个像素，一个 2D 向量编码指向肢体另一部分的方向。每种类型的肢体都具有一个相应的 PAF，将其两个相关的身体部位连接起来。

考虑图中的单个肢体。设 $\mathbf{x}_{j_1, k}$ 和 $\mathbf{x}_{j_2, k}$ 分别是肢体 c 中来自人物 k 的身体部位 $j_1$ 和 $j_2$ 的地面位置。如果点 $\mathbf{p}$ 位于肢体上，则在 $\mathbf{L}_{c, k}^*(\mathbf{p})$ 处的值是一个单位向量，指向从 $j_1$ 到 $j_2$；对于所有其他点，向量为零值。

![Image](images/860bbcd5f03f7d4cb6109b303ed69dfb73a4b72ae75c29b71bfea5c201bb5b4f.jpg)

为了在训练期间评估等式 6 中的 $f_L$，我们定义在图像点 $\mathbf{L}_{c,k}^*$ 处，地面亲和力场 $\mathbf{p}$ 为：

---

IEEE 模式分析与机器智能汇刊，第 XXX 卷，第 XXX 期，YYYY 年八月

![Image](images/10f84918e9083550ad8541f2789efe13e4625bb276a576528a8dd132f01ec569.jpg)

<div style="text-align: center;">(a)</div>

<div style="text-align: center;">(b)</div>

<div style="text-align: center;">(c)</div>

<div style="text-align: center;">(d)</div>

<div style="text-align: center;">Fig. 6: Graph matching. (a) Original image with part detections. (b) K-partite graph. (c) Tree structure. (d) A set of bipartite graphs.</div>

 $$ \mathbf{L}_{c,k}^{*}(\mathbf{p})=\begin{cases}\mathbf{v}&if\mathbf{p}on\operatorname{limb}c,k\\ \mathbf{0}&otherwise.\end{cases} $$

其中，$\mathbf{v} = (\mathbf{x}_{j_2,k} - \mathbf{x}_{j_1,k}) / \|\mathbf{x}_{j_2,k} - \mathbf{x}_{j_1,k}\|_2$ 是肢体方向的单位向量。肢体上的一组点定义为距离线段阈值范围内的点，即，对于距离 p，以下面的条件成立：

 $$ 0\leq\mathbf{v}\cdot(\mathbf{p}-\mathbf{x}_{j_{1},k})\leq l_{c,k}\mathrm{~a n d~}|\mathbf{v}_{\perp}\cdot(\mathbf{p}-\mathbf{x}_{j_{1},k})|\leq\sigma_{l}, $$

其中，肢体宽度 $\sigma_l$ 是像素中的距离，肢体长度是 $l_{c,k} = ||\mathbf{x}_{j_2,k} - \mathbf{x}_{j_1,k}||_2$，$\mathbf{v}_\perp$ 是一个垂直于 $\mathbf{v}$ 的向量。

地面亲和力场对图像中所有人物的亲和力场进行平均，

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

其中，$n_{c}(\mathbf{p})$ 是在点 p 处所有 k 个人物的非零向量数。

在测试期间，我们通过计算连接候选部位位置的线段上的相应 PAF 的线积分来衡量候选部位检测之间的关联。换句话说，我们衡量预测的 PAF 与连接检测到的身体部位形成的候选肢体的对齐程度。具体来说，对于两个候选部位位置 $d_{j_1}$ 和 $d_{j_2}$，我们采样预测的部件亲和力场 $L_c$，以测量其关联的置信度：

 $$ E=\int_{u=0}^{u=1}\mathbf{L}_{c}\left(\mathbf{p}(u)\right)\cdot\frac{\mathbf{d}_{j_{2}}-\mathbf{d}_{j_{1}}}{||\mathbf{d}_{j_{2}}-\mathbf{d}_{j_{1}}||_{2}}d u, $$

其中，$\mathbf{p}(u)$ 线性插值两个身体部位 $d_{j_1}$ 和 $d_{j_2}$ 的位置，

 $$ \mathbf{p}(u)=(1-u)\mathbf{d}_{j_{1}}+u\mathbf{d}_{j_{2}}. $$

实际上，我们通过采样和对均匀间隔的值求和来近似积分。

### 3.5 使用 PAF 的多人物解析

我们对检测置信度图进行非最大抑制，以获得一组离散的人体部位候选位置。 对于每个部位，我们可能存在多个候选对象，这是由于图像中存在多个人或误检造成的（图 6b）。 这些部位候选对象定义了一组可能的肢体。 我们使用线积分计算方法对每个候选肢体进行评分，该方法基于 PAF，定义在公式 11 中。 寻找最佳解析的问题对应于一个 K 维匹配问题，该问题已知是 NP 难问题 [^54]（图 6c）。 在本文中，我们提出了一种贪婪的松弛方法，该方法始终产生高质量的匹配结果。 我们推测原因在于，成对关联分数隐式地编码了全局上下文，这得益于 PAF 网络的较大感受野。

从形式上讲，我们首先获得一组用于多个人的身体部位检测候选对象 $\mathcal{D}_{\mathcal{J}}$，其中 $\mathcal{D}_{\mathcal{J}} = \{ \mathbf{d}_{j}^{m} : j \in \{1 \dots J\}, m \in \{1 \dots N_{j}\} \}$，其中 $N_{j}$ 是部位 j 的候选对象数量，$\mathbf{d}_{j}^{m} \in \mathbb{R}^{2}$ 是身体部位 j 的第 m 个检测候选对象的 location。 这些部位检测候选对象仍然需要与其他来自同一人的部位相关联，也就是说，我们需要找到哪些部位检测候选对象实际上是连接的肢体。 我们定义一个变量 $z_{j_{1},j_{2}}^{mn} \in \{0,1\}$，以指示两个检测候选对象 $\mathbf{d}_{j_{1}}^{m}$ 和 $\mathbf{d}_{j_{2}}^{n}$ 是否连接，目标是找到所有可能的连接的最佳分配，$\mathcal{Z} = \{ z_{j_{1},j_{2}}^{mn} : j_{1}, j_{2} \in \{1 \dots J\}, m \in \{1 \dots N_{j_{1}}\}, n \in \{1 \dots N_{j_{2}}\} \}$。

如果我们考虑一对身体部位 $j_1$ 和 $j_2$（例如，颈部和右髋），用于第 c 个肢体，找到最佳关联就简化为一个最大权重二分图匹配问题 [^54]。 这种情况如图 5b 所示。 在这个二分图匹配问题中，图的节点是身体部位检测候选对象 $\mathcal{D}_{j_1}$ 和 $\mathcal{D}_{j_2}$，边是所有可能的连接。 此外，每条边都根据公式 11（即，部位亲和力聚合）进行加权。 二分图中，匹配是指从边中选择的一组，使得没有两条边共享一个节点。 我们的目标是找到所选边的最大权重匹配。

 $$ \max_{\mathcal{Z}_{c}}E_{c}=\max_{\mathcal{Z}_{c}}\sum_{m\in\mathcal{D}_{j_{1}}}\sum_{n\in\mathcal{D}_{j_{2}}}E_{m n}\cdot z_{j_{1}j_{2}}^{m n}, $$

s.t.

 $$ \forall m\in\mathcal{D}_{j_{1}},\sum_{n\in\mathcal{D}_{j_{2}}}z_{j_{1}j_{2}}^{m n}\leq1, $$

 $$ \forall n\in\mathcal{D}_{j_{2}},\sum_{m\in\mathcal{D}_{j_{1}}}z_{j_{1}j_{2}}^{m n}\leq1, $$

其中 $E_c$ 是匹配的总体权重，$\mathcal{Z}_c$ 是属于类型 c 的 $\mathcal{Z}$ 的子集，$E_{mn}$ 是根据公式 11 定义的，在部位 $\mathbf{d}_{j_1}^m$ 和 $\mathbf{d}_{j_2}^n$ 之间的部位亲和力。 方程 14 和 15 强制执行的条件是，没有两条边共享一个节点，即，没有两条相同类型的肢体（例如，左前臂）共享一个部位。 我们可以使用匈牙利算法 [^55] 来获得最佳匹配。

对于寻找多个人体姿势的完整信息，确定 Z 是一个 K 维的匹配问题。这个问题是 NP 困难的 [^54]，并且存在许多松弛方法。在我们的工作中，我们为优化添加了两种松弛方法，这些方法是针对我们的领域的。首先，我们选择最少的边来获得人体姿势的骨架树，而不是使用完整的图，如图 6c 所示。其次，我们将匹配问题进一步分解为一组双向匹配子问题，并独立地确定相邻树节点的匹配，如图 6d 所示。我们在第 5.1 节中展示了详细的比较结果，这些结果表明，贪婪的推理方法很好地近似了全局解决方案，而计算成本只有其一小部分。原因是，PAF 显式地对相邻树节点之间的关系进行建模，但内部，CNN 对非相邻树节点之间的关系进行隐式建模。这种特性源于 CNN 使用了具有大感受野的训练，并且来自非相邻树节点的 PAF 也影响预测的 PAF。

---

![Image](images/db4e023885d98d1fc6f838044fd1a94efd5637e64bb0e2685ba2f2b1a104f766.jpg)

<div style="text-align: center;">(a) Original Person Parsing</div>

![Image](images/3f900c3cc6c3304dbc5f17b799f0934c55d0ba978a555a85656fb21519cc1693.jpg)

<div style="text-align: center;">(b) PAF-Redundant Parsing</div>

<div style="text-align: center;">Fig. 7: Importance of redundant PAF connections. (a) Two different people are wrongly merged due to a wrong neck-nose connection. (b) The higher confidence of the right ear-shoulder connection avoids the wrong nose-neck link.</div>

通过这些两种松弛方法，优化被简单地分解为：

通过这些两个松弛条件，优化问题被简单地分解为：

 $$ \max_{\mathcal{Z}}E=\sum_{c=1}^{C}\max_{\mathcal{Z}_{c}}E_{c}. $$

因此，我们独立地使用方程 13-15 为每种肢体类型获得肢体连接候选值。通过所有肢体连接候选值，我们可以将共享相同部分检测候选值的连接组合成多个人体姿势。我们的优化方案在树结构上的速度比在完全连接的图上进行优化快几个数量级 [^1]，[^2]。

我们的当前模型还包括冗余的 PAF 连接（例如，耳朵和肩膀之间的连接，手腕和肩膀之间的连接等）。这种冗余特别提高了在拥挤图像中的准确性，如图 7 所示。为了处理这些冗余连接，我们略微修改了多人解析算法。虽然原始方法从一个根组件开始，但我们的算法根据其 PAF 分数对所有可能的成对连接进行排序。如果一个连接试图连接两个已经分配给不同人的身体部位，该算法会意识到这会与具有更高置信度的 PAF 连接相矛盾，因此当前连接将被忽略。

## 4 OPENPOSE

越来越多的计算机视觉和机器学习应用程序需要 2D 人体姿态估计作为其系统的输入 [^56]，[^57]，[^58]，[^59]，[^60]，[^61]，[^62]，[^63]。为了帮助研究社区提高他们的工作，我们公开了 OpenPose [^4]，这是第一个实时多人系统，该系统可以联合检测人体、脚、手和面部关键点（总共 135 个关键点）在单个图像上。图 8 显示了整个系统的示例。

### 4.1 系统

现有的 2D 身体姿态估计库，例如 Mask R-CNN [^5] 或 Alpha-Pose [^6]，需要其用户实现大部分流程，包括他们自己的帧读取器（例如，视频、图像或相机流）、用于可视化结果的显示、以及具有结果的输出文件生成（例如，JSON 或 XML 文件）等。此外，现有的面部和身体关键点检测器是分开的，需要不同的库来实现每个目的。OpenPose 克服了所有这些问题。

![Image](images/de04b8e21b4e44b849633abe8287579cd8ee5a797a468b64911f4ae01f3925b6.jpg)

<div style="text-align: center;">Fig. 8: Output of OpenPose, detecting body, foot, hand, and facial keypoints in real-time. OpenPose is robust against occlusions including during human-object interaction.</div>

这些问题。它可以在不同的平台上运行，包括 Ubuntu、Windows、Mac OSX 和嵌入式系统（例如 Nvidia Tegra TX2）。它还支持不同的硬件，例如 CUDA GPU、OpenCL GPU 和仅 CPU 设备。用户可以选择输入，包括图像、视频、摄像头和 IP 摄像头流。他还可以选择是否显示结果或将其保存到磁盘，启用或禁用每个检测器（身体、脚、面部和手），启用像素坐标归一化，控制使用的 GPU 数量，跳过帧以加快处理速度等。

OpenPose 由三个不同的模块组成：（a）身体-脚部检测，（b）手部检测 [^64]，以及（c）面部检测。核心模块是组合的身体-脚部关键点检测器（第 4.2 节）。它还可以使用在 COCO 和 MPII 数据集上训练的原始身体模型 [^3]。根据身体检测器的输出，可以大致估计从某些身体部位位置推断出的面部边界框，特别是耳朵、眼睛、鼻子和颈部。类似地，手部边界框的生成是基于手臂的关键点。这种方法继承了第 1 节中讨论的自上而下的方法的缺点。手部关键点检测器的算法在 [^64] 中进行了更详细的说明，而面部关键点检测器的训练方式与手部关键点检测器相同。该库还包括 3D 关键点姿态检测，通过使用非线性 Levenberg-Marquardt 优化，对多个同步摄像头视图的结果进行 3D 三角化 [^65]。

OpenPose 的推理时间优于所有最先进的方法，同时保持高质量的结果。它可以在配备 Nvidia GTX 1080 Ti 的机器上以约 22 FPS 的速度运行，同时保持高精度（第 5.3 节）。OpenPose 已经被研究界用于许多计算机视觉和机器人学主题，例如人物重新识别 [^56]、基于 GAN 的视频重定向，用于人类面部 [^57] 和身体 [^58]、人机交互 [^59]、3D 姿态估计 [^60] 和 3D 人体网格模型生成 [^61]。此外，OpenCV 库已将 OpenPose 以及我们基于 PAF 的网络架构包含在其深度神经网络 (DNN) 模块中。

### 4.2 扩展的脚部关键点检测

现有的人体姿态数据集（[^67]，[^68]）包含有限的身体部位类型。MPII 数据集 [^67] 标注了脚踝、

---

![Image](images/9514ab70ccc813479724b1257ce0be6c342eb4e974ddb58e9a6bc8b1951d8dc6.jpg)

<div style="text-align: center;">(a)</div>

![Image](images/27618037695798b9cfe0ec6d77f46375562eca13f9fdfc0ad4f00f7b1e215888.jpg)

<div style="text-align: center;">(b)</div>

![Image](images/c6fb724e785e4d975b9349752d889f442f0072b1b1559ebce646c833502888ef.jpg)

<div style="text-align: center;">Fig. 9: Foot keypoint analysis. (a) Foot keypoint annotations, consisting of big toes, small toes, and heels. (b) Body-only model example at which right ankle is not properly estimated. (c) Analogous body+foot model example, the foot information helps predict the right ankle location.</div>

<div style="text-align: center;">(c)</div>

膝盖、臀部、肩膀、肘部、手腕、颈部、躯干和头部。而 COCO [^68] 也包括一些面部关键点。对于这两个数据集，脚部标注仅限于脚踝位置。但是，例如，用于头像重定向或 3D 人体形状重建（[^61]，[^69]）等图形应用程序需要脚部关键点，例如大脚趾和脚跟。如果没有脚部信息，这些方法会受到“糖果包装”效应、地面穿透和脚部滑动等问题的困扰。为了解决这些问题，使用 Clickworker 平台 [^70] 对 COCO 数据集中的一小部分脚部实例进行标注。它分为 14K 个来自 COCO 训练集的标注和 545 个来自验证集的标注。总共标注了 6 个脚部关键点（见图 9a）。我们考虑的是脚部关键点的 3D 坐标，而不是表面位置。例如，对于脚趾的确切位置，我们标注了连接到指甲和皮肤之间的区域，并且也考虑了深度，通过标注脚趾的中心而不是表面。

使用我们的数据集，我们训练一个脚部关键点检测算法。一个朴素的脚部关键点检测器可以通过使用身体关键点检测器来生成脚部边界框，然后在此基础上训练一个脚部检测器来构建。但是，这种方法会受到第 1 节中描述的自顶向下问题的影响。相反，使用之前为身体估计描述的相同架构来预测身体和脚的位置。图 10 显示了三个数据集（COCO、MPII 和 COCO+foot）的关键点分布。身体+脚模型还包含在臀部之间的插值点，即使上身被遮挡或超出图像范围，也可以连接两条腿。我们发现，脚部关键点检测隐式地有助于网络更准确地预测一些身体关键点，特别是腿部关键点，例如脚踝位置。图 9b 显示了身体专用网络无法预测脚踝位置的示例。通过在训练过程中包含脚部关键点，同时保持相同的身体标注，该算法可以正确地预测图 9c 中的脚踝位置。我们在第 5.5 节中对准确性差异进行定量分析。

## 5 数据集和评估

我们在三个用于多人姿态估计的基准测试中评估我们的方法：（1）MPII多人

![Image](images/d92b38eb7506d37de8457567bf3f1ad113cf2b34db47ceb993842c8fdfb2fe24.jpg)

<div style="text-align: center;">(a) MPII</div>

![Image](images/754d1db8f19d77963475e9c8b89361c17c3c01ecd6046c787573d3f15c632489.jpg)

<div style="text-align: center;">(b) COCO</div>

![Image](images/c2e31471990d2135dee96b634a09ea649f5ee25f316fd80ecc6c3ec95a768084.jpg)

<div style="text-align: center;">(c) COCO+Foot</div>

<div style="text-align: center;">Fig. 10: Keypoint annotation configuration for the 3 datasets.</div>

数据集[^67]，其中包含 3844 个训练组和 1758 个测试组，这些组包含在具有 14 个身体部分的复杂姿势中的多个相互作用的个体；（2）COCO 关键点挑战数据集[^68]，该数据集需要同时检测人物并定位每个人的 17 个关键点（身体部位）（包括 12 个人体部位和 5 个面部关键点）；（3）我们的脚数据集，它是 COCO 关键点数据集中的 15k 个标注的子集。这些数据集收集了在各种场景中的图像，这些图像包含许多现实世界的挑战，例如拥挤、尺度变化、遮挡和接触。我们的方法在具有开创性的 COCO 2016 关键点挑战赛中名列前茅[^71]，并且在 MPII 多人基准上显著超过了之前的最先进结果。我们还提供了与 Mask R-CNN 和 Alpha-Pose 的运行时分析比较，以量化系统的效率并分析主要故障情况。

### 5.1 在 MPII 多人数据集上的结果

为了在 MPII 数据集上进行比较，我们使用工具包[^1]来测量所有身体部分的平均精度 (mAP)，并遵循“PCKh”指标[^67]。表 1 比较了我们的方法和其他方法在官方 MPII 测试集上的 mAP 性能。我们还比较了每张图像的平均推理/优化时间（以秒为单位）。对于 288 张图像的子集，我们的方法优于 8.5% mAP，优于之前的最先进的自下而上的方法[^2]。值得注意的是，我们的推理时间比之前的最先进方法少了 6 个数量级。我们在第 5.3 节中报告了更详细的运行时分析。对于整个 MPII 测试集，我们的方法在不使用尺度搜索的情况下，就已经优于之前的最先进方法，并且差距很大，即 mAP 提高了 13%。使用 3 种尺度搜索（$\times 0.7$、$\times 1$ 和 $\times 1.3$）可以进一步提高性能，达到 75.6% mAP。与之前自下而上方法的 mAP 比较表明，我们的新颖特征表示方法（PAFs）对于关联身体部位是有效的。基于树结构，我们的贪婪解析方法比基于完全连接图结构的图割优化公式更准确[^1]、[^2]。

在表 2 中，我们展示了针对图 6 中所示的不同骨架结构的比较结果。 我们创建了一个自定义验证集，其中包含来自原始 MPII 训练集的 343 张图像。 我们基于完全连接的图来训练我们的模型，并通过选择所有边（图 6b，约通过整数线性规划求解），以及最小树边（图 6c，约通过整数线性规划求解，以及图 6d，通过本文中介绍的贪心算法求解）来比较结果。 两种方法都产生了相似的结果，这表明使用最小边就足够了。 我们训练我们的最终模型仅学习最小边，以充分利用网络容量，如图 6d (sep) 所示。 这种方法优于图 6c 甚至图 6b，同时保持效率。 较少的部件关联通道（树的 13 条边与图的 91 条边）有助于训练收敛。

---

<div style="text-align: center;">IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. XXX, NO. XXX, AUGUST YYYY</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Method</td><td style='text-align: center; word-wrap: break-word;'>Hea</td><td style='text-align: center; word-wrap: break-word;'>Sho</td><td style='text-align: center; word-wrap: break-word;'>Elb</td><td style='text-align: center; word-wrap: break-word;'>Wri</td><td style='text-align: center; word-wrap: break-word;'>Hip</td><td style='text-align: center; word-wrap: break-word;'>Kne</td><td style='text-align: center; word-wrap: break-word;'>Ank</td><td style='text-align: center; word-wrap: break-word;'>mAP</td><td style='text-align: center; word-wrap: break-word;'>s/image</td></tr><tr><td colspan="10">Subset of 288 images as in [^1]</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Deepcut [^1]</td><td style='text-align: center; word-wrap: break-word;'>73.4</td><td style='text-align: center; word-wrap: break-word;'>71.8</td><td style='text-align: center; word-wrap: break-word;'>57.9</td><td style='text-align: center; word-wrap: break-word;'>39.9</td><td style='text-align: center; word-wrap: break-word;'>56.7</td><td style='text-align: center; word-wrap: break-word;'>44.0</td><td style='text-align: center; word-wrap: break-word;'>32.0</td><td style='text-align: center; word-wrap: break-word;'>54.1</td><td style='text-align: center; word-wrap: break-word;'>57995</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>lqbal et al. [^41]</td><td style='text-align: center; word-wrap: break-word;'>70.0</td><td style='text-align: center; word-wrap: break-word;'>65.2</td><td style='text-align: center; word-wrap: break-word;'>56.4</td><td style='text-align: center; word-wrap: break-word;'>46.1</td><td style='text-align: center; word-wrap: break-word;'>52.7</td><td style='text-align: center; word-wrap: break-word;'>47.9</td><td style='text-align: center; word-wrap: break-word;'>44.5</td><td style='text-align: center; word-wrap: break-word;'>54.7</td><td style='text-align: center; word-wrap: break-word;'>10</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DeeperCut [^2]</td><td style='text-align: center; word-wrap: break-word;'>87.9</td><td style='text-align: center; word-wrap: break-word;'>84.0</td><td style='text-align: center; word-wrap: break-word;'>71.9</td><td style='text-align: center; word-wrap: break-word;'>63.9</td><td style='text-align: center; word-wrap: break-word;'>68.8</td><td style='text-align: center; word-wrap: break-word;'>63.8</td><td style='text-align: center; word-wrap: break-word;'>58.1</td><td style='text-align: center; word-wrap: break-word;'>71.2</td><td style='text-align: center; word-wrap: break-word;'>230</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Newell et al. [^48]</td><td style='text-align: center; word-wrap: break-word;'>91.5</td><td style='text-align: center; word-wrap: break-word;'>87.2</td><td style='text-align: center; word-wrap: break-word;'>75.9</td><td style='text-align: center; word-wrap: break-word;'>65.4</td><td style='text-align: center; word-wrap: break-word;'>72.2</td><td style='text-align: center; word-wrap: break-word;'>67.0</td><td style='text-align: center; word-wrap: break-word;'>62.1</td><td style='text-align: center; word-wrap: break-word;'>74.5</td><td style='text-align: center; word-wrap: break-word;'>-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>ArtTrack [^47]</td><td style='text-align: center; word-wrap: break-word;'>92.2</td><td style='text-align: center; word-wrap: break-word;'>91.3</td><td style='text-align: center; word-wrap: break-word;'>80.8</td><td style='text-align: center; word-wrap: break-word;'>71.4</td><td style='text-align: center; word-wrap: break-word;'>79.1</td><td style='text-align: center; word-wrap: break-word;'>72.6</td><td style='text-align: center; word-wrap: break-word;'>67.8</td><td style='text-align: center; word-wrap: break-word;'>79.3</td><td style='text-align: center; word-wrap: break-word;'>0.005</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Fang et al. [^6]</td><td style='text-align: center; word-wrap: break-word;'>89.3</td><td style='text-align: center; word-wrap: break-word;'>88.1</td><td style='text-align: center; word-wrap: break-word;'>80.7</td><td style='text-align: center; word-wrap: break-word;'>75.5</td><td style='text-align: center; word-wrap: break-word;'>73.7</td><td style='text-align: center; word-wrap: break-word;'>76.7</td><td style='text-align: center; word-wrap: break-word;'>70.0</td><td style='text-align: center; word-wrap: break-word;'>79.1</td><td style='text-align: center; word-wrap: break-word;'>-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours</td><td style='text-align: center; word-wrap: break-word;'>92.9</td><td style='text-align: center; word-wrap: break-word;'>91.3</td><td style='text-align: center; word-wrap: break-word;'>82.3</td><td style='text-align: center; word-wrap: break-word;'>72.6</td><td style='text-align: center; word-wrap: break-word;'>76.0</td><td style='text-align: center; word-wrap: break-word;'>70.9</td><td style='text-align: center; word-wrap: break-word;'>66.8</td><td style='text-align: center; word-wrap: break-word;'>79.0</td><td style='text-align: center; word-wrap: break-word;'>0.005</td></tr><tr><td colspan="10">Full testing set</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DeeperCut [^2]</td><td style='text-align: center; word-wrap: break-word;'>78.4</td><td style='text-align: center; word-wrap: break-word;'>72.5</td><td style='text-align: center; word-wrap: break-word;'>60.2</td><td style='text-align: center; word-wrap: break-word;'>51.0</td><td style='text-align: center; word-wrap: break-word;'>57.2</td><td style='text-align: center; word-wrap: break-word;'>52.0</td><td style='text-align: center; word-wrap: break-word;'>45.4</td><td style='text-align: center; word-wrap: break-word;'>59.5</td><td style='text-align: center; word-wrap: break-word;'>485</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>lqbal et al. [^41]</td><td style='text-align: center; word-wrap: break-word;'>58.4</td><td style='text-align: center; word-wrap: break-word;'>53.9</td><td style='text-align: center; word-wrap: break-word;'>44.5</td><td style='text-align: center; word-wrap: break-word;'>35.0</td><td style='text-align: center; word-wrap: break-word;'>42.2</td><td style='text-align: center; word-wrap: break-word;'>36.7</td><td style='text-align: center; word-wrap: break-word;'>31.1</td><td style='text-align: center; word-wrap: break-word;'>43.1</td><td style='text-align: center; word-wrap: break-word;'>10</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Levinko et al. [^72]</td><td style='text-align: center; word-wrap: break-word;'>89.8</td><td style='text-align: center; word-wrap: break-word;'>85.2</td><td style='text-align: center; word-wrap: break-word;'>71.8</td><td style='text-align: center; word-wrap: break-word;'>59.6</td><td style='text-align: center; word-wrap: break-word;'>71.1</td><td style='text-align: center; word-wrap: break-word;'>63.0</td><td style='text-align: center; word-wrap: break-word;'>53.5</td><td style='text-align: center; word-wrap: break-word;'>70.6</td><td style='text-align: center; word-wrap: break-word;'>-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>ArtTrack [^47]</td><td style='text-align: center; word-wrap: break-word;'>88.8</td><td style='text-align: center; word-wrap: break-word;'>87.0</td><td style='text-align: center; word-wrap: break-word;'>75.9</td><td style='text-align: center; word-wrap: break-word;'>64.9</td><td style='text-align: center; word-wrap: break-word;'>74.2</td><td style='text-align: center; word-wrap: break-word;'>68.8</td><td style='text-align: center; word-wrap: break-word;'>60.5</td><td style='text-align: center; word-wrap: break-word;'>74.3</td><td style='text-align: center; word-wrap: break-word;'>0.005</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Fang et al. [^6]</td><td style='text-align: center; word-wrap: break-word;'>88.4</td><td style='text-align: center; word-wrap: break-word;'>86.5</td><td style='text-align: center; word-wrap: break-word;'>78.6</td><td style='text-align: center; word-wrap: break-word;'>70.4</td><td style='text-align: center; word-wrap: break-word;'>74.4</td><td style='text-align: center; word-wrap: break-word;'>73.0</td><td style='text-align: center; word-wrap: break-word;'>65.8</td><td style='text-align: center; word-wrap: break-word;'>76.7</td><td style='text-align: center; word-wrap: break-word;'>-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Newell et al. [^48]</td><td style='text-align: center; word-wrap: break-word;'>92.1</td><td style='text-align: center; word-wrap: break-word;'>89.3</td><td style='text-align: center; word-wrap: break-word;'>78.9</td><td style='text-align: center; word-wrap: break-word;'>69.8</td><td style='text-align: center; word-wrap: break-word;'>76.2</td><td style='text-align: center; word-wrap: break-word;'>71.6</td><td style='text-align: center; word-wrap: break-word;'>64.7</td><td style='text-align: center; word-wrap: break-word;'>77.5</td><td style='text-align: center; word-wrap: break-word;'>-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Fieraru et al. [^73]</td><td style='text-align: center; word-wrap: break-word;'>91.8</td><td style='text-align: center; word-wrap: break-word;'>89.5</td><td style='text-align: center; word-wrap: break-word;'>80.4</td><td style='text-align: center; word-wrap: break-word;'>69.6</td><td style='text-align: center; word-wrap: break-word;'>77.3</td><td style='text-align: center; word-wrap: break-word;'>71.7</td><td style='text-align: center; word-wrap: break-word;'>65.5</td><td style='text-align: center; word-wrap: break-word;'>78.0</td><td style='text-align: center; word-wrap: break-word;'>-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours (one scale)</td><td style='text-align: center; word-wrap: break-word;'>89.0</td><td style='text-align: center; word-wrap: break-word;'>84.9</td><td style='text-align: center; word-wrap: break-word;'>74.9</td><td style='text-align: center; word-wrap: break-word;'>64.2</td><td style='text-align: center; word-wrap: break-word;'>71.0</td><td style='text-align: center; word-wrap: break-word;'>65.6</td><td style='text-align: center; word-wrap: break-word;'>58.1</td><td style='text-align: center; word-wrap: break-word;'>72.5</td><td style='text-align: center; word-wrap: break-word;'>0.005</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours</td><td style='text-align: center; word-wrap: break-word;'>91.2</td><td style='text-align: center; word-wrap: break-word;'>87.6</td><td style='text-align: center; word-wrap: break-word;'>77.7</td><td style='text-align: center; word-wrap: break-word;'>66.8</td><td style='text-align: center; word-wrap: break-word;'>75.4</td><td style='text-align: center; word-wrap: break-word;'>68.9</td><td style='text-align: center; word-wrap: break-word;'>61.7</td><td style='text-align: center; word-wrap: break-word;'>75.6</td><td style='text-align: center; word-wrap: break-word;'>0.005</td></tr></table>

<div style="text-align: center;">TABLE 1: Results on the MPII dataset. Top: Comparison results on the testing subset defined in [^1]. Middle: Comparison results on the whole testing set. Testing without scale search is denoted as "(one scale)".</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Method</td><td style='text-align: center; word-wrap: break-word;'>Hea</td><td style='text-align: center; word-wrap: break-word;'>Sho</td><td style='text-align: center; word-wrap: break-word;'>Elb</td><td style='text-align: center; word-wrap: break-word;'>Wri</td><td style='text-align: center; word-wrap: break-word;'>Hip</td><td style='text-align: center; word-wrap: break-word;'>Kne</td><td style='text-align: center; word-wrap: break-word;'>Ank</td><td style='text-align: center; word-wrap: break-word;'>mAP</td><td style='text-align: center; word-wrap: break-word;'>s/image</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Fig. 6b</td><td style='text-align: center; word-wrap: break-word;'>91.8</td><td style='text-align: center; word-wrap: break-word;'>90.8</td><td style='text-align: center; word-wrap: break-word;'>80.6</td><td style='text-align: center; word-wrap: break-word;'>69.5</td><td style='text-align: center; word-wrap: break-word;'>78.9</td><td style='text-align: center; word-wrap: break-word;'>71.4</td><td style='text-align: center; word-wrap: break-word;'>63.8</td><td style='text-align: center; word-wrap: break-word;'>78.3</td><td style='text-align: center; word-wrap: break-word;'>362</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Fig. 6c</td><td style='text-align: center; word-wrap: break-word;'>92.2</td><td style='text-align: center; word-wrap: break-word;'>90.8</td><td style='text-align: center; word-wrap: break-word;'>80.2</td><td style='text-align: center; word-wrap: break-word;'>69.2</td><td style='text-align: center; word-wrap: break-word;'>78.5</td><td style='text-align: center; word-wrap: break-word;'>70.7</td><td style='text-align: center; word-wrap: break-word;'>62.6</td><td style='text-align: center; word-wrap: break-word;'>77.6</td><td style='text-align: center; word-wrap: break-word;'>43</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Fig. 6d</td><td style='text-align: center; word-wrap: break-word;'>92.0</td><td style='text-align: center; word-wrap: break-word;'>90.7</td><td style='text-align: center; word-wrap: break-word;'>80.0</td><td style='text-align: center; word-wrap: break-word;'>69.4</td><td style='text-align: center; word-wrap: break-word;'>78.4</td><td style='text-align: center; word-wrap: break-word;'>70.1</td><td style='text-align: center; word-wrap: break-word;'>62.3</td><td style='text-align: center; word-wrap: break-word;'>77.4</td><td style='text-align: center; word-wrap: break-word;'>0.005</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Fig. 6d (sep)</td><td style='text-align: center; word-wrap: break-word;'>92.4</td><td style='text-align: center; word-wrap: break-word;'>90.4</td><td style='text-align: center; word-wrap: break-word;'>80.9</td><td style='text-align: center; word-wrap: break-word;'>70.8</td><td style='text-align: center; word-wrap: break-word;'>79.5</td><td style='text-align: center; word-wrap: break-word;'>73.1</td><td style='text-align: center; word-wrap: break-word;'>66.5</td><td style='text-align: center; word-wrap: break-word;'>79.1</td><td style='text-align: center; word-wrap: break-word;'>0.005</td></tr></table>

<div style="text-align: center;">TABLE 2: Comparison of different structures on our custom validation set.</div>

算法在本论文中呈现)。 这两种方法都产生相似的结果，表明仅使用最少数量的边就足够。 我们训练我们的最终模型，仅学习最少数量的边，以充分利用网络的容量，如图 6d (sep) 所示。 这种方法优于图 6c，甚至优于图 6b，同时保持效率。 所需的较少数量的部件关联通道（树的 13 条边与图的 91 条边）有助于训练的收敛。

图 11a 显示了我们在验证集上的消融分析。 对于 PCKh-0.5 的阈值 [^67]，我们的 PAF 方法的准确率比一个中点高 2.9%，比两个中间点高 2.3%，通常优于中点表示法。 PAF 可以编码人体肢体的位置和方向信息，能够更好地区分常见的交叉情况，例如重叠的胳膊。 使用未标记人物的面罩进行训练，可以通过避免在训练过程中对正预测进行惩罚，从而进一步提高性能，提高 2.3%。 如果我们使用我们的解析算法的地面真实的关键点位置，我们可以获得 88.3% 的 mAP。 在图 11a 中，使用我们的解析与 GT 检测获得的 mAP 在不同的 PCKh 阈值下保持不变，因为没有定位误差。 使用 GT 连接和我们的关键点检测可以获得 81.6% 的 mAP。 值得注意的是，我们基于 PAF 的解析算法获得的 mAP 与基于 GT 连接的算法相似（分别为 79.4% 和 81.6%）。 这表明基于 PAF 的解析在关联正确的部件检测方面非常稳健。 图 11b 显示了各阶段的性能比较。 随着迭代细化框架的进行，mAP 呈单调递增。 图 4 显示了预测在各阶段中的定性改进。

COCO 训练集包含超过 10 万个人实例，每个实例都带有超过 100 万个关键点标注。 测试集包含 "test-challenge" 和 "test-dev" 子集，每个子集大约有 2 万张图像。 COCO 评估定义了

COCO 训练集包含超过 10 万个人物实例，并标注了超过 100 万个关键点。测试集包含“test-challenge”和“test-dev”子集，每个子集大约有 2 万张图像。COCO 评估定义了

![Image](images/46afd55b5b46f01d1e342cc21caca253fa46b5821c9cc0e8a6f96e72544b60e0.jpg)

<div style="text-align: center;">(a)</div>

![Image](images/db3fad2efd1a914f2f813268463911ade034b45fc1212aab51c2699ded194d15.jpg)

<div style="text-align: center;">(b)</div>

<div style="text-align: center;">Fig. 11: mAP curves over different PCKh thresholds on MPII validation set. (a) mAP curves of self-comparison experiments. (b) mAP curves of PAFs across stages.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Team</td><td style='text-align: center; word-wrap: break-word;'>AP</td><td style='text-align: center; word-wrap: break-word;'>$AP^{{50}}$</td><td style='text-align: center; word-wrap: break-word;'>$AP^{{75}}$</td><td style='text-align: center; word-wrap: break-word;'>$AP^{{M}}$</td><td style='text-align: center; word-wrap: break-word;'>$AP^{{L}}$</td></tr><tr><td colspan="6">Top-Down Approaches</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Megvii [^43]</td><td style='text-align: center; word-wrap: break-word;'>78.1</td><td style='text-align: center; word-wrap: break-word;'>94.1</td><td style='text-align: center; word-wrap: break-word;'>85.9</td><td style='text-align: center; word-wrap: break-word;'>74.5</td><td style='text-align: center; word-wrap: break-word;'>83.3</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MRSA [^44]</td><td style='text-align: center; word-wrap: break-word;'>76.5</td><td style='text-align: center; word-wrap: break-word;'>92.4</td><td style='text-align: center; word-wrap: break-word;'>84.0</td><td style='text-align: center; word-wrap: break-word;'>73.0</td><td style='text-align: center; word-wrap: break-word;'>82.7</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>The Sea Monsters $^{{*}}$</td><td style='text-align: center; word-wrap: break-word;'>75.9</td><td style='text-align: center; word-wrap: break-word;'>92.1</td><td style='text-align: center; word-wrap: break-word;'>83.0</td><td style='text-align: center; word-wrap: break-word;'>71.7</td><td style='text-align: center; word-wrap: break-word;'>82.1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Alpha-Pose [^6]</td><td style='text-align: center; word-wrap: break-word;'>71.0</td><td style='text-align: center; word-wrap: break-word;'>87.9</td><td style='text-align: center; word-wrap: break-word;'>77.7</td><td style='text-align: center; word-wrap: break-word;'>69.0</td><td style='text-align: center; word-wrap: break-word;'>75.2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Mask R-CNN [^5]</td><td style='text-align: center; word-wrap: break-word;'>69.2</td><td style='text-align: center; word-wrap: break-word;'>90.4</td><td style='text-align: center; word-wrap: break-word;'>76.0</td><td style='text-align: center; word-wrap: break-word;'>64.9</td><td style='text-align: center; word-wrap: break-word;'>76.3</td></tr><tr><td colspan="6">Bottom-Up Approaches</td></tr><tr><td colspan="6">$^{{*}}$Note: $^{{*}}$The numbers are based on the bar chart.</td></tr></table>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>METU [^50]</td><td style='text-align: center; word-wrap: break-word;'>70.5</td><td style='text-align: center; word-wrap: break-word;'>87.7</td><td style='text-align: center; word-wrap: break-word;'>77.2</td><td style='text-align: center; word-wrap: break-word;'>66.1</td><td style='text-align: center; word-wrap: break-word;'>77.3</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>TFMAN $^{*}$</td><td style='text-align: center; word-wrap: break-word;'>70.2</td><td style='text-align: center; word-wrap: break-word;'>89.2</td><td style='text-align: center; word-wrap: break-word;'>77.0</td><td style='text-align: center; word-wrap: break-word;'>65.6</td><td style='text-align: center; word-wrap: break-word;'>76.3</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>PersonLab [^49]</td><td style='text-align: center; word-wrap: break-word;'>68.7</td><td style='text-align: center; word-wrap: break-word;'>89.0</td><td style='text-align: center; word-wrap: break-word;'>75.4</td><td style='text-align: center; word-wrap: break-word;'>64.1</td><td style='text-align: center; word-wrap: break-word;'>75.5</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Associative Emb. [^48]</td><td style='text-align: center; word-wrap: break-word;'>65.5</td><td style='text-align: center; word-wrap: break-word;'>86.8</td><td style='text-align: center; word-wrap: break-word;'>72.3</td><td style='text-align: center; word-wrap: break-word;'>60.6</td><td style='text-align: center; word-wrap: break-word;'>72.6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours</td><td style='text-align: center; word-wrap: break-word;'>64.2</td><td style='text-align: center; word-wrap: break-word;'>86.2</td><td style='text-align: center; word-wrap: break-word;'>70.1</td><td style='text-align: center; word-wrap: break-word;'>61.0</td><td style='text-align: center; word-wrap: break-word;'>68.8</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours [^3]</td><td style='text-align: center; word-wrap: break-word;'>61.8</td><td style='text-align: center; word-wrap: break-word;'>84.9</td><td style='text-align: center; word-wrap: break-word;'>67.5</td><td style='text-align: center; word-wrap: break-word;'>57.1</td><td style='text-align: center; word-wrap: break-word;'>68.2</td></tr></table>

<div style="text-align: center;">TABLE 3: COCO test-dev leaderboard [^74], "*" indicates that no citation was provided. Top: some of the highest top-down results. Bottom: highest bottom-up results.</div>

对象关键点相似性 (OKS)，并使用 10 个 OKS 阈值的平均精度 (AP) 作为主要的比赛指标 [^71]。OKS 在目标检测中起着与 IoU 相同的作用。它根据人物的比例和预测点与 GT 点之间的距离进行计算。表 3 显示了挑战赛中表现最好的团队的结果。值得注意的是，当仅考虑较大尺寸的人物时，我们的方法准确率下降幅度更大（AP $^{L}$）。

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Method</td><td style='text-align: center; word-wrap: break-word;'>AP</td><td style='text-align: center; word-wrap: break-word;'>$AP^{50}$</td><td style='text-align: center; word-wrap: break-word;'>$AP^{75}$</td><td style='text-align: center; word-wrap: break-word;'>$AP^{M}$</td><td style='text-align: center; word-wrap: break-word;'>$AP^{L}$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>GT Bbox + CPM [^20]</td><td style='text-align: center; word-wrap: break-word;'>62.7</td><td style='text-align: center; word-wrap: break-word;'>86.0</td><td style='text-align: center; word-wrap: break-word;'>69.3</td><td style='text-align: center; word-wrap: break-word;'>58.5</td><td style='text-align: center; word-wrap: break-word;'>70.6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SSD [^75] + CPM [^20]</td><td style='text-align: center; word-wrap: break-word;'>52.7</td><td style='text-align: center; word-wrap: break-word;'>71.1</td><td style='text-align: center; word-wrap: break-word;'>57.2</td><td style='text-align: center; word-wrap: break-word;'>47.0</td><td style='text-align: center; word-wrap: break-word;'>64.2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours [^3]</td><td style='text-align: center; word-wrap: break-word;'>58.4</td><td style='text-align: center; word-wrap: break-word;'>81.5</td><td style='text-align: center; word-wrap: break-word;'>62.6</td><td style='text-align: center; word-wrap: break-word;'>54.4</td><td style='text-align: center; word-wrap: break-word;'>65.1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>+ CPM refinement</td><td style='text-align: center; word-wrap: break-word;'>61.0</td><td style='text-align: center; word-wrap: break-word;'>84.9</td><td style='text-align: center; word-wrap: break-word;'>67.5</td><td style='text-align: center; word-wrap: break-word;'>56.3</td><td style='text-align: center; word-wrap: break-word;'>69.3</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours</td><td style='text-align: center; word-wrap: break-word;'>65.3</td><td style='text-align: center; word-wrap: break-word;'>85.2</td><td style='text-align: center; word-wrap: break-word;'>71.3</td><td style='text-align: center; word-wrap: break-word;'>62.2</td><td style='text-align: center; word-wrap: break-word;'>70.7</td></tr></table>

<div style="text-align: center;">TABLE 4: Self-comparison experiments on the COCO validation set. Our new body+foot model outperforms the original work in [^3] by 6.9%.</div>

在表 4 中，我们在 COCO 验证集上报告了自比较结果。如果使用 GT 边界框和单人 CPM [^20]，我们可以获得使用 CPM 的自上而下方法的上限，该上限为 62.7% AP。如果使用最先进的对象检测器，即 Single Shot MultiBox Detector (SSD) [^75]，性能会下降 10%。这个比较表明自上而下方法的性能很大程度上取决于人物检测器的性能。相比之下，我们原始的自下而上方法实现了 58.4% AP。如果我们对每个通过我们方法估计的人物区域应用单人 CPM，以优化结果，我们可以获得 2.6% 的总体 AP 提升。我们仅更新在预测中，两种方法大致一致的估计，从而提高了精度和召回率。新的

---

<div style="text-align: center;">IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. XXX, NO. XXX, AUGUST YYYY</div>

<div style="text-align: center;">architecture without CPM refinement is approximately 7% more accurate than the original approach, while increasing the speed  $\times2$.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Method</td><td style='text-align: center; word-wrap: break-word;'>AP</td><td style='text-align: center; word-wrap: break-word;'>$AP^{50}$</td><td style='text-align: center; word-wrap: break-word;'>$AP^{75}$</td><td style='text-align: center; word-wrap: break-word;'>$AP^{M}$</td><td style='text-align: center; word-wrap: break-word;'>$AP^{L}$</td><td style='text-align: center; word-wrap: break-word;'>Stages</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>5 PAF - 1 CM</td><td style='text-align: center; word-wrap: break-word;'>65.3</td><td style='text-align: center; word-wrap: break-word;'>85.2</td><td style='text-align: center; word-wrap: break-word;'>71.3</td><td style='text-align: center; word-wrap: break-word;'>62.2</td><td style='text-align: center; word-wrap: break-word;'>70.7</td><td style='text-align: center; word-wrap: break-word;'>6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>4 PAF - 2 CM</td><td style='text-align: center; word-wrap: break-word;'>65.2</td><td style='text-align: center; word-wrap: break-word;'>85.3</td><td style='text-align: center; word-wrap: break-word;'>71.4</td><td style='text-align: center; word-wrap: break-word;'>62.3</td><td style='text-align: center; word-wrap: break-word;'>70.1</td><td style='text-align: center; word-wrap: break-word;'>6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>3 PAF - 3 CM</td><td style='text-align: center; word-wrap: break-word;'>65.0</td><td style='text-align: center; word-wrap: break-word;'>85.1</td><td style='text-align: center; word-wrap: break-word;'>71.2</td><td style='text-align: center; word-wrap: break-word;'>62.4</td><td style='text-align: center; word-wrap: break-word;'>69.4</td><td style='text-align: center; word-wrap: break-word;'>6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>4 PAF - 1 CM</td><td style='text-align: center; word-wrap: break-word;'>64.8</td><td style='text-align: center; word-wrap: break-word;'>85.3</td><td style='text-align: center; word-wrap: break-word;'>70.9</td><td style='text-align: center; word-wrap: break-word;'>61.9</td><td style='text-align: center; word-wrap: break-word;'>69.6</td><td style='text-align: center; word-wrap: break-word;'>5</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>3 PAF - 1 CM</td><td style='text-align: center; word-wrap: break-word;'>64.6</td><td style='text-align: center; word-wrap: break-word;'>84.8</td><td style='text-align: center; word-wrap: break-word;'>70.6</td><td style='text-align: center; word-wrap: break-word;'>61.8</td><td style='text-align: center; word-wrap: break-word;'>69.5</td><td style='text-align: center; word-wrap: break-word;'>4</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>3 CM - 3 PAF</td><td style='text-align: center; word-wrap: break-word;'>61.0</td><td style='text-align: center; word-wrap: break-word;'>83.9</td><td style='text-align: center; word-wrap: break-word;'>65.7</td><td style='text-align: center; word-wrap: break-word;'>58.5</td><td style='text-align: center; word-wrap: break-word;'>65.3</td><td style='text-align: center; word-wrap: break-word;'>6</td></tr></table>

<div style="text-align: center;">TABLE 5: Self-comparison experiments on the COCO validation set. CM refers to confidence map, while the numbers express the number of estimation stages for PAF and CM. Stages refers to the number of PAF and CM stages. Reducing the number of stages increases the runtime performance.</div>

我们在表 5 中分析了 PAF 优化对置信度图估计的影响。我们固定计算最多 6 个阶段，这些阶段在 PAF 和置信度图分支之间分布不同。我们可以从这个实验中得出 3 个结论。首先，PAF 需要更多的阶段才能收敛，并且可以从优化阶段中获得更多的好处。其次，增加 PAF 通道数量主要提高了正确预测的数量，即使它们可能不太准确（较高的 $AP^{50}$）。但是，增加置信度图通道的数量进一步提高了定位精度（较高的 $AP^{75}$）。第三，我们证明了当使用 PAF 作为先验时，部件置信度图的精度会大大提高，而相反的结果会导致绝对精度下降 4%。即使是只有 4 个阶段的模型（3 PAF - 1 CM）也比首先预测置信度图的计算成本更高的 6 阶段模型更准确。与 [^3] 不同，我们没有使用 CPM [^20] 来优化当前方法，以避免影响速度。

### 5.3 推理运行时分析

我们比较了3种最先进、维护良好且被广泛

使用的多人姿态估计库：OpenPose [^4]，

基于本文工作实现的Mask R-CNN [^5]，以及Alpha-Pose [^6]。

GitHub 存储库不包含他们使用的的人体检测器，

方法，如图 12 所示。Megvii (Face++) [^43] 和 MSRA [^44]

性能，因此已排除在本次分析中。

Mask R-CNN 仅与 NVIDIA 显卡兼容，因此我们

在具有 NVIDIA 1080 Ti 的系统上执行此分析。作为自上而下方法，Mask R-CNN、Alpha-Pose、Megvii 和 MSRA 的推理

时间大致与图像中人物的数量成正比。

更准确地说，它们与检测器提取的提案数量成正比。相比之下，我们自下而上的方法的推理时间与图像中人物的数量无关。

卡，因此我们在具有 NVIDIA 1080 Ti 的系统上进行分析。作为自上而下的方法，Mask R-CNN、Alpha-Pose、Megvii 和 MSRA 的推理时间

与图像中人物的数量大致成正比。

更准确地说，它们与其人体检测器提取的建议数量成正比。相比之下，我们自下而上的方法的推理时间与图像中

人物的数量无关。

更准确地说，它们与图像中人物的数量无关。

更准确地说，它们与图像中人物的数量无关。

更准确地说，它们与图像中人物的数量无关。

图像中人物的数量。OpenPose 的运行时间由两部分组成：（1）CNN 处理时间，

姿态估计流程主要包含两个部分：(1) CNN处理时间

其复杂度为$O(1)$，在不同数量的

。

![Image](images/d55f0fc4db59ff2ed6faf61efaaa1b63dba43d301b5dba8f980d083b3c6d8880.jpg)

<div style="text-align: center;">Fig. 12: Inference time comparison between OpenPose, Mask R-CNN, and Alpha-Pose (fast Pytorch version). While OpenPose inference time is invariant, Mask R-CNN and Alpha-Pose runtimes grow linearly with the number of people. Testing with and without scale search is denoted as "max accuracy" and "1 scale", respectively. This analysis was performed using the same images for each algorithm and a batch size of 1. Each analysis was repeated 1000 times and then averaged. This was all performed on a system with a Nvidia 1080 Ti and CUDA 8.</div>

<div style="text-align: center;"> $O(n^{2})$, where n represents the number of people. However, the parsing time is two orders of magnitude less than the CNN processing time. For instance, the parsing takes 0.58 ms for 9 people while the CNN takes 36 ms.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Method</td><td style='text-align: center; word-wrap: break-word;'>CUDA</td><td style='text-align: center; word-wrap: break-word;'>CPU-only</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Original MPII model</td><td style='text-align: center; word-wrap: break-word;'>73 ms</td><td style='text-align: center; word-wrap: break-word;'>2309 ms</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Original COCO model</td><td style='text-align: center; word-wrap: break-word;'>74 ms</td><td style='text-align: center; word-wrap: break-word;'>2407 ms</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Body+foot model</td><td style='text-align: center; word-wrap: break-word;'>36 ms</td><td style='text-align: center; word-wrap: break-word;'>10396 ms</td></tr></table>

<div style="text-align: center;">TABLE 6: Runtime difference between the 3 models released in OpenPose with CUDA and CPU-only versions, running in a NVIDIA GeForce GTX-1080 Ti GPU and a i7-6850K CPU. MPII and COCO models refer to our work in [^3].</div>

在表 6 中，我们分析了 OpenPose 中发布的模型（即来自 [^3] 的 MPII 和 COCO 模型）和新的人体 + 足部模型之间的推理时间差异。我们的新组合模型不仅更准确，而且在使用 GPU 版本时，也比原始模型快 $\times2$。有趣的是，与原始模型相比，CPU 版本的运行时间慢 5 倍。新的架构包含更多层，这需要更高的内存，而操作的数量显著减少。显卡似乎更多地受益于操作数量的减少，而 CPU 版本的速度明显较慢，因为内存需求更高。由于它们需要不同的硬件，因此无法直接比较 OpenCL 和 CUDA 的性能，尤其是不同的 GPU 品牌。

### 5.4 Trade-off between Speed and Accuracy

在目标检测领域，Huang 等人 [^76] 证明，基于区域提议的方法（例如 Faster-rcnn [^77]）可以实现更高的准确性，而单次拍摄方法（例如 YOLO [^78]，SSD [^75]）具有更高的运行性能。 类似地，在人体姿态估计中，我们观察到自上而下的方法也比自下而上的方法具有更高的准确性，但速度更慢，尤其是在图像中存在

---

![Image](images/81848ae7dca41a1f5b26932fddb651d4f1b2780a5df92e7c2e4c1279c3510075.jpg)

![Image](images/cfd83131cf96ebe5a0e204f1ee31c130ccf2c738cf3ae7a8a2a0c1abbfdf47c8.jpg)

<div style="text-align: center;">Fig. 13: Trade-off between speed and accuracy for the main entries of the COCO Challenge. We only consider those approaches that either release their runtime measurements (methods with an asterisk) or their code (rest). Algorithms with several values represent different resolution configurations. AlphaPose, METU, and single-scale OpenPose provide the best results considering the trade-off between speed and accuracy. The remaining methods are both slower and less accurate than at least one of these 3 approaches.</div>

多人。自下而上方法准确率更低的主要原因在于其分辨率受限。自上而下方法会单独裁剪出每个检测到的人物，再分别输入网络，而自下而上方法必须一次性输入整张图像，导致单个人物对应的分辨率更小。例如，Moon等人[^79]指出，对我们发表于[^3]的原始工作进行优化（通过使用更大的裁剪图像块）带来的准确率提升幅度，高于对其他自上而下方法的优化。随着硬件运算速度提升、内存容量增大，采用更高分辨率的自下而上方法或许能够缩小它与自上而下方法之间的准确率差距。

此外，当前人体姿态性能指标完全基于关键点准确率，速度因素被完全忽略。为了提供更全面的比较，我们在图13中同时展示了COCO挑战赛顶级参赛方法的速度与准确率。根据这些结果，若追求最高速度应选择单尺度OpenPose，追求最高准确率应选择AlphaPose，若需要平衡二者则可选择METU。其余方法相较于这三种方法中的至少一种都更慢、准确率更低。整体而言，自顶向下方法（例如AlphaPose）在人数较少的图像中效果更好，但在人数较多的图像中其速度会大幅下降。我们还发现，准确率指标可能会产生误导。我们在5.2节中看到，PersonLab [^49]取得了比我们方法更高的准确率。然而，我们的多尺度方法相较于他们公布运行时间的版本，同时具备更高的速度和准确率。请注意，[^49]中并未公布他们准确率最高（但速度更慢）模型的运行时间结果。

### 5.5 足部关键点数据集上的结果

为了评估使用我们的足部关键点数据集获得的结果，我们计算了在10个OKS上的平均精度和召回率，这与COCO评估指标中的做法相同。结合方法和仅使用身体的方法之间的差异很小。在结合训练方案中，存在两个完全独立且相互独立的训练数据集。两个训练数据集中，较大的数据集包含身体标注，而较小的数据集包含身体和足部标注。用于仅使用身体进行训练的批次大小也用于结合训练。但是，它一次只包含来自一个数据集的标注。定义了一个概率比率来选择从中选择每个批次的训练数据集。由于标注数量和多样性更高，因此为从较大的数据集选择批次分配了较高的概率。在仅使用身体的数据集的反向传播过程中，屏蔽了足部关键点，以避免使用未标记的数据对网络造成损害。此外，足部数据集中的身体标注也被屏蔽。保留这些标注会导致准确率略有下降，这可能是由于过拟合，因为这些样本在两个训练集中都重复出现。

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Method</td><td style='text-align: center; word-wrap: break-word;'>AP</td><td style='text-align: center; word-wrap: break-word;'>AR</td><td style='text-align: center; word-wrap: break-word;'>AP $^{75}$</td><td style='text-align: center; word-wrap: break-word;'>AR $^{75}$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Body+foot model (5 PAF - 1 CM)</td><td style='text-align: center; word-wrap: break-word;'>77.9</td><td style='text-align: center; word-wrap: break-word;'>82.5</td><td style='text-align: center; word-wrap: break-word;'>82.1</td><td style='text-align: center; word-wrap: break-word;'>85.6</td></tr></table>

<div style="text-align: center;">TABLE 7: Foot keypoint analysis on the foot validation set.</div>

表7显示了我们验证集中的足部关键点准确率。该验证集是从COCO验证集的子集中创建的，特别是从所有人物的脚踝都可见和标注的图像中创建的。与COCO的验证集相比，这导致了一个更简单的验证集，从而导致比身体检测更高的精度和召回率（表4）。在定性方面，我们发现抖动和检测错误的数量比身体关键点预测要多。我们认为，14K个训练标注不足以训练一个健壮的足部检测器，因为用于身体关键点数据集的实例超过100K。我们尝试使用混合批次，其中可以将样本从两个训练数据集（COCO或COCO+足部）同时输入到同一个批次中，同时保持相同的概率比率。但是，网络准确率略有下降。通过使用不平衡的比例混合训练数据集，我们有效地为足部分配了一个非常小的批次大小，这会阻碍足部的收敛。

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Method</td><td style='text-align: center; word-wrap: break-word;'>AP</td><td style='text-align: center; word-wrap: break-word;'>$AP^{50}$</td><td style='text-align: center; word-wrap: break-word;'>$AP^{75}$</td><td style='text-align: center; word-wrap: break-word;'>$AP^{M}$</td><td style='text-align: center; word-wrap: break-word;'>$AP^{L}$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Body-only (5 PAF - 1 CM)</td><td style='text-align: center; word-wrap: break-word;'>65.2</td><td style='text-align: center; word-wrap: break-word;'>85.0</td><td style='text-align: center; word-wrap: break-word;'>70.9</td><td style='text-align: center; word-wrap: break-word;'>62.1</td><td style='text-align: center; word-wrap: break-word;'>70.5</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Body+foot (5 PAF - 1 CM)</td><td style='text-align: center; word-wrap: break-word;'>65.3</td><td style='text-align: center; word-wrap: break-word;'>85.2</td><td style='text-align: center; word-wrap: break-word;'>71.3</td><td style='text-align: center; word-wrap: break-word;'>62.2</td><td style='text-align: center; word-wrap: break-word;'>70.7</td></tr></table>

<div style="text-align: center;">TABLE 8: Self-comparison experiments for body on the COCO validation set. Foot keypoints are predicted but ignored for the evaluation.</div>

在表8中，我们显示了在COCO测试-开发集上，与仅使用身体标注训练的相同网络架构相比，几乎没有准确率差异。我们比较了由5个PAF和1个置信度图阶段组成的模型，该模型有95%的概率从COCO仅使用身体的数据集中选择批次，以及5%的概率从身体+足部的数据集中选择批次。除了增加输出数量以包含足部置信度图和PAF之外，与仅使用身体的模型相比，没有其他架构差异。

### 5.6 车辆姿态估计

我们的方法不仅限于人体或足部关键点，还可以推广到任何关键点标注任务。为了证明这一点，我们使用了相同的网络架构来执行车辆关键点检测任务 [^80]。 同样，我们使用10个OKS的平均精度进行评估。

---

![Image](images/645f788ce5b59b0b11951eb097d47585d0ff44c3782135f62ab27699cbc1d1fd.jpg)

![Image](images/6edfdd9fc33068f31803a2208d3aff7b58b800e612701f477102eb304900c201.jpg)

![Image](images/f0002976d69d6647e79c523f36f3339ea73f3f498787826e9ad729b4502a8a3b.jpg)

<div style="text-align: center;">Fig. 14: Vehicle keypoint detection examples from the validation set. The keypoint locations are successfully estimated under challenging scenarios, including overlapping between cars, cropped vehicles, and different scales.</div>

![Image](images/e56d8ad80c778c04e4d49826ea449520f608710b3b81dbd4c874ed6027b5e1fa.jpg)

<div style="text-align: center;">a</div>

![Image](images/bc3160e1690e537c396c2886b474aa550fabeb049a30e9109dcaa972e96c7589.jpg)

<div style="text-align: center;">(b)</div>

![Image](images/f0837fb088abd6412f7a87ac9fbf4a0b71375c0afdf1198309c472672c0d665e.jpg)

<div style="text-align: center;">(c)</div>

![Image](images/143906bc16df4fe0f296c5cacbd2dd5188aa5d1b2fca989173ce0c3651222213.jpg)

<div style="text-align: center;">(d)</div>

![Image](images/674e13b2715cd26b4a942e28c784826d35172dc484d7377f876ae76b79c0fc03.jpg)

<div style="text-align: center;">(e)</div>

![Image](images/846b8964fe951815d687563556275aedc3fd49358ac7bb669a2220a86150877e.jpg)

<div style="text-align: center;">(f)</div>

<div style="text-align: center;">Fig. 15: Common failure cases: (a) rare pose or appearance, (b) missing or false parts detection, (c) overlapping parts, i.e., part detections shared by two persons, (d) wrong connection associating parts from two persons, (e-f): false positives on statues or animals.</div>

![Image](images/c05be49db260cd1fd563285eeda5b214c27d2b633d6b4e7e3ced112daa222cbc.jpg)

<div style="text-align: center;">(a)</div>

![Image](images/7d65afc394b0ebd7fbbec73b9f2e0ef2c29e9acdfaa53dd7df231cb4671359b7.jpg)

<div style="text-align: center;">(b)</div>

![Image](images/7568691e45bc2a33bc6df55b86f269ffd730a801d49fe904bc7e837bf860ba33.jpg)

<div style="text-align: center;">(c)</div>

![Image](images/51d137c9808ecfd51030e683b202753c3f2082e7d770b6beaaf1c986f9aac321.jpg)

<div style="text-align: center;">(d)</div>

![Image](images/d70f1f38426c10fea9d71e0e25edc73cb9d5c4e877711ff6eec9ef1aa6a63ac2.jpg)

<div style="text-align: center;">(e)</div>

![Image](images/dd8a21c5eebb04ecfa90721b146adff12d88e66ca35f4b895dd76216ecfcad1b.jpg)

<div style="text-align: center;">(f)</div>

![Image](images/e493d5bddda17181d9b90d8d03b0d95a69647face30c2c2eadada7a8c9bfdbf6.jpg)

<div style="text-align: center;">(g)</div>

<div style="text-align: center;">Fig. 16: Common foot failure cases: (a) foot or leg occluded by the body, (b) foot or leg occluded by another object, (c) foot visible but leg occluded, (d) shoe and foot not aligned, (e): false negatives when foot visible but rest of the body occluded, (f): soles of their feet are usually not detected (rare in training), (g): swap between right and left body parts.</div>

结果显示在表9中。平均精度和召回率都高于人体关键点任务，这主要是因为我们使用的是一个较小且更简单的训练数据集。该初始数据集包含来自19个不同摄像头的图像标注。我们使用前18个摄像头帧作为训练集，并将最后一个摄像头帧作为验证集。没有对模型架构或训练参数进行任何更改。我们在图14中显示了定性结果。

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Method</td><td style='text-align: center; word-wrap: break-word;'>AP</td><td style='text-align: center; word-wrap: break-word;'>AR</td><td style='text-align: center; word-wrap: break-word;'>AP $^{75}$</td><td style='text-align: center; word-wrap: break-word;'>AR $^{75}$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Vehicle keypoint detector</td><td style='text-align: center; word-wrap: break-word;'>70.1</td><td style='text-align: center; word-wrap: break-word;'>77.4</td><td style='text-align: center; word-wrap: break-word;'>73.0</td><td style='text-align: center; word-wrap: break-word;'>79.7</td></tr></table>

<div style="text-align: center;">TABLE 9: Vehicle keypoint validation set.</div>

### 5.7 失败案例分析

我们分析了当前方法在 MPII、COCO 和 COCO+foot 验证集中失败的主要情况。图 15 概述了主要的人体失败情况，而图 16 显示了主要的人脚失败情况。图 15a 显示了非典型姿势和倒置示例，这些示例通常会导致预测失败。增加旋转增强似乎部分解决了这些问题，但全局上，COCO 验证集上的准确率降低了约 5%。另一种选择是使用不同的旋转运行网络，并保留置信度较高的姿势。人体遮挡也可能导致假阴性和高定位误差。这个问题源于数据集的标注，其中未包含遮挡的关键点。在人群密集的图像中，人们会重叠，该方法倾向于将不同人的标注合并，同时会遗漏其他人，因为重叠的 PAF 会导致贪婪的多人解析失败。动物和雕像也经常导致虚假正错误。可以通过在训练期间添加更多负面示例来缓解此问题，以帮助网络区分人类和其他人形生物。

### 6 结论

实时多人 2D 姿态估计是实现机器视觉理解和解释人类及其交互的关键组成部分。在本文中，我们提出了一种显式非参数化的关键点关联表示，该表示编码了人体肢体的姿势和方向。其次，我们设计了一种架构，该架构可以联合学习部分检测和关联。第三，我们证明，贪婪的解析算法足以产生高质量的身体姿势解析，并且在无论有多少人时都能保持效率。第四，我们

---

IEEE 模式分析和机器学习期刊，第 XXX 卷，第 XXX 卷，YYYY 年 8 月

证明 PAF 细化比组合 PAF 和身体部位定位细化更重要，从而大大提高了运行时性能和准确性。第五，我们表明，将身体和脚的估计结合到一个模型中可以提高每个组件的独立准确性，并减少顺序运行它们的推理时间。我们创建了一个包含 15,000 个脚关键点实例的脚关键点数据集，我们将在公共领域发布该数据集。最后，我们以 OpenPose [^4] 的形式开源了这项工作，这是第一个用于身体、脚、手和面部关键点检测的实时系统。该库今天被广泛用于许多涉及人类分析的研究主题，例如人类重新识别、重定向和人机交互。此外，OpenPose 已包含在 OpenCV 库 [^66] 中。

## 致谢

我们感谢 MPII 和 COCO 人体姿势数据集作者的贡献。这些数据集使得在野外环境中进行 2D 人体姿势估计成为可能。本研究由美国情报高级研究项目活动 (IARPA) 通过美国内政部/内政事务中心 (DOI/IBC) 合同编号 D17PC00340 资助。

## 参考文献

[^1]: L. Pishchulin, E. Insafutdinov, S. Tang, B. Andres, M. Andriluka, P. Gehler, and B. Schiele, "Deepcut: Joint subset partition and labeling for multi person pose estimation," in CVPR, 2016.

[^2]: E. Insafutdinov, L. Pishchulin, B. Andres, M. Andriluka, and B. Schiele, "Deepercut: A deeper, stronger, and faster multi-person pose estimation model," in ECCV, 2016.

[^3]: Z. Cao, T. Simon, S.-E. Wei, and Y. Sheikh, "Realtime multi-person 2d pose estimation using part affinity fields," in CVPR, 2017.

[^4]: G. Hidalgo, Z. Cao, T. Simon, S.-E. Wei, H. Joo, and Y. Sheikh, "OpenPose library," <https://github.com/CMU-Perceptual-Computing-Lab/openpose>.

[^5]: K. He, G. Gkioxari, P. Dollár, and R. Girshick, "Mask r-cnn," in ICCV, 2017.

[^6]: H.-S. Fang, S. Xie, Y.-W. Tai, and C. Lu, "RMPE: Regional multi-person pose estimation," in ICCV, 2017.

[^2]: F. Felzenszwalb and D. P. Huttenlocher, "Pictorial structures for object recognition," in IJCV, 2005.

D. Ramanan, D. A. Forsyth, and A. Zisserman, "Strike a Pose: Tracking people by finding stylized poses," in CVPR, 2005.

[^9]: M. Andriluka, S. Roth, and B. Schiele, “Monocular 3D pose estimation and tracking by detection,” in CVPR, 2010.

[^10]: —, “Pictorial structures revisited: People detection and articulated pose estimation,” in CVPR, 2009.

[^11]: L. Pishchulin, M. Andriluka, P. Gehler, and B. Schiele, "Poselet conditioned pictorial structures," in CVPR, 2013.

[^12]: Y. Yang and D. Ramanan, “Articulated human detection with flexible mixtures of parts,” in TPAMI, 2013.

[^13]: S. Johnson and M. Everingham, "Clustered pose and nonlinear appearance models for human pose estimation," in BMVC, 2010.

[^14]: Y. Wang and G. Mori, “Multiple tree models for occlusion and spatial constraints in human pose estimation,” in ECCV, 2008.

[^15]: L. Sigal and M. J. Black, “Measure locally, reason globally: Occlusion-sensitive articulated pose estimation,” in CVPR, 2006.

[^16]: X. Lan and D. P. Huttenlocher, “Beyond trees: Common-factor models for 2d human pose recovery,” in ICCV, 2005.

[^17]: L. Karlinsky and S. Ullman, "Using linking features in learning non-parametric part models," in ECCV, 2012.

[^18]: M. Dantone, J. Gall, C. Leistner, and L. Van Gool, “Human pose estimation using body parts dependent joint regressors,” in CVPR, 2013.

[^19]: A. Newell, K. Yang, and J. Deng, "Stacked hourglass networks for human pose estimation," in ECCV, 2016.

[^20]: S.-E. Wei, V. Ramakrishna, T. Kanade, and Y. Sheikh, “Convolutional pose machines,” in CVPR, 2016.

[^21]: W. Ouyang, X. Chu, and X. Wang, "Multi-source deep learning for human pose estimation," in CVPR, 2014.

[^22]: J. Tompson, R. Goroshin, A. Jain, Y. LeCun, and C. Bregler, "Efficient object localization using convolutional networks," in CVPR, 2015.

[^23]: J. J. Tompson, A. Jain, Y. LeCun, and C. Bregler, "Joint training of a convolutional network and a graphical model for human pose estimation," in NIPS, 2014.

[^25]: A. Toshev and C. Szegedy, “Deeppose: Human pose estimation via deep neural networks,” in CVPR, 2014.

[^26]: V. Belagiannis and A. Zisserman, “Recurrent human pose estimation,” in IEEE FG, 2017.

[^27]: A. Bulat and G. Tzimiroopoulos, “Human pose estimation via convolutional part heatmap regression,” in ECCV, 2016.

[^28]: X. Chu, W. Yang, W. Ouyang, C. Ma, A. L. Yuille, and X. Wang, "Multi-context attention for human pose estimation," in CVPR, 2017.

[^29]: W. Yang, S. Li, W. Ouyang, H. Li, and X. Wang, “Learning feature pyramids for human pose estimation,” in ICCV, 2017.

[^30]: Y. Chen, C. Shen, X.-S. Wei, L. Liu, and J. Yang, “Adversarial posenet: A structure-aware convolutional network for human pose estimation,” in ICCV, 2017.

[^31]: W. Tang, P. Yu, and Y. Wu, “Deeply learned compositional models for human pose estimation,” in ECCV, 2018.

[^32]: L. Ke, M.-C. Chang, H. Qi, and S. Lyu, "Multi-scale structure-aware network for human pose estimation," in ECCV, 2018.

[^33]: T. Pfister, J. Charles, and A. Zisserman, "Flowing convnets for human pose estimation in videos," in ICCV, 2015.

[^34]: V. Ramakrishna, D. Munoz, M. Hebert, J. A. Bagnell, and Y. Sheikh, "Pose machines: Articulated pose estimation via inference machines," in ECCV, 2014.

[^35]: S. Hochreiter, Y. Bengio, and P. Frasconi, "Gradient flow in recurrent nets: the difficulty of learning long-term dependencies," in Field Guide to Dynamical Recurrent Networks, J. Kolen and S. Kremer, Eds. IEEE Press, 2001.

[^36]: X. Glorot and Y. Bengio, "Understanding the difficulty of training deep feedforward neural networks," in AISTATS, 2010.

[^37]: Y. Bengio, P. Simard, and P. Frasconi, "Learning long-term dependencies with gradient descent is difficult," IEEE Transactions on Neural Networks, 1994.

[^38]: L. Pishchulin, A. Jain, M. Andriluka, T. Thormählen, and B. Schiele, “Articulated people detection and pose estimation: Reshaping the future,” in CVPR, 2012.

[^39]: G. Gkioxari, B. Hariharan, R. Girshick, and J. Malik, "Using k-poselets for detecting people and localizing their keypoints," in CVPR, 2014.

[^40]: M. Sun and S. Savarese, “Articulated part-based model for joint object detection and pose estimation,” in ICCV, 2011.

[^41]: U. Iqbal and J. Gall, "Multi-person pose estimation with local joint-to-person associations," in ECCV Workshop, 2016.

[^42]: G. Papandreou, T. Zhu, N. Kanazawa, A. Toshev, J. Tompson, C. Bregler, and K. Murphy, "Towards accurate multi-person pose estimation in the wild," in CVPR, 2017.

[^43]: Y. Chen, Z. Wang, Y. Peng, Z. Zhang, G. Yu, and J. Sun, "Cascaded pyramid network for multi-person pose estimation," in CVPR, 2018.

[^44]: B. Xiao, H. Wu, and Y. Wei, "Simple baselines for human pose estimation and tracking," in ECCV, 2018.

[^45]: M. Eichner and V. Ferrari, “We are family: Joint pose estimation of multiple persons,” in ECCV, 2010.

[^46]: K. He, X. Zhang, S. Ren, and J. Sun, "Deep residual learning for image recognition," in CVPR, 2016.

[^47]: E. Insafutdinov, M. Andriluka, L. Pishchulin, S. Tang, E. Levinkov, B. Andres, and B. Schiele, “Artrack: Articulated multi-person tracking in the wild,” in CVPR, 2017.

[^48]: A. Newell, Z. Huang, and J. Deng, “Associative embedding: End-to-end learning for joint detection and grouping,” in NIPS, 2017.

[^49]: G. Papandreou, T. Zhu, L.-C. Chen, S. Gidaris, J. Tompson, and K. Murphy, "Personlab: Person pose estimation and instance segmentation with a bottom-up, part-based, geometric embedding model," in ECCV, 2018.


## [^50]: M. Kocabas, S. Karagoz, and E. Akbas, "MultiPoseNet: Fast multi-person pose estimation using pose residual network," in ECCV, 2018.


---

[^51]: X. Nie, J. Feng, J. Xing, and S. Yan, "Pose partition networks for multi-person pose estimation," in ECCV, 2018.

[^52]: G. Huang, Z. Liu, K. Q. Weinberger, and L. van der Maaten, "Densely connected convolutional networks," in CVPR, 2017.

[^53]: K. Simonyan and A. Zisserman, "Very deep convolutional networks for large-scale image recognition," in ICLR, 2015.

[^54]: D. B. West et al., Introduction to graph theory. Prentice hall Upper Saddle River, 2001, vol. 2.

[^55]: H. W. Kuhn, “The Hungarian method for the assignment problem,” in Naval research logistics quarterly. Wiley Online Library, 1955.

[^56]: X. Qian, Y. Fu, T. Xiang, W. Wang, J. Qiu, Y. Wu, Y.-G. Jiang, and X. Xue, "Pose-normalized image generation for person re-identification," in ECCV, 2018.

[^57]: A. Bansal, S. Ma, D. Ramanan, and Y. Sheikh, "Recycle-gan: Unsupervised video retargeting," in ECCV, 2018.

[^58]: C. Chan, S. Ginosar, T. Zhou, and A. A. Efros, "Everybody dance now," in ECCV Workshop, 2018.

[^59]: L. Gui, K. Zhang, Y.-X. Wang, X. Liang, J. M. Moura, and M. M. Veloso, “Teaching robots to predict human motion,” in IROS, 2018.

[^60]: P. Panteleris, I. Oikonomidis, and A. Argyros, "Using a single RGB frame for real time 3D hand pose estimation in the wild," in IEEE WACV. IEEE, 2018, pp. 436–445.

[^61]: H. Joo, T. Simon, and Y. Sheikh, “Total capture: A 3d deformation model for tracking faces, hands, and bodies,” in CVPR, 2018.

[^62]: R. Girdhar, G. Gkioxari, L. Torresani, M. Paluri, and D. Tran, "Detect-and-track: Efficient pose estimation in videos," in CVPR, 2018, pp. 350–359.

[^63]: D. Mehta, S. Sridhar, O. Sotnychenko, H. Rhodin, M. Shafiei, H.P. Seidel, W. Xu, D. Casas, and C. Theobalt, "Vnect: Real-time 3d human pose estimation with a single rgb camera," in ACM TOG, 2017.

[^64]: T. Simon, H. Joo, I. Matthews, and Y. Sheikh, "Hand keypoint detection in single images using multiview bootstrapping," in CVPR, 2017.

[^65]: D. W. Marquardt, “An algorithm for least-squares estimation of nonlinear parameters,” Journal of the Society for Industrial and Applied Mathematics, vol. 11, no. 2, pp. 431–441, 1963.

[^66]: G. Bradski, "The OpenCV Library," Dr. Dobb's Journal of Software Tools, 2000.

[^67]: M. Andriluka, L. Pishchulin, P. Gehler, and B. Schiele, “2D human pose estimation: new benchmark and state of the art analysis,” in CVPR, 2014.

[^68]: T.-Y. Lin, M. Maire, S. Belongie, J. Hays, P. Perona, D. Ramanan, P. Dollár, and C. L. Zitnick, "Microsoft COCO: common objects in context," in ECCV, 2014.

[^69] M. Loper, N. Mahmood, J. Romero, G. Pons-Moll, and M. J. Black, "Smpl: A skinned multi-person linear model," in ACM TOG, 2015. [^70] "ClickWorker," <https://www.clickworker.com>.

[^71]: "MSCOCO keypoint evaluation metric," <http://mscoco.org/dataset/#keypoints-eval>.

[^72]: E. Levinkov, J. Uhrig, S. Tang, M. Omran, E. Insafutdinov, A. Kirillov, C. Rother, T. Brox, B. Schiele, and B. Andres, "Joint graph decomposition & node labeling: Problem, algorithms, applications," in CVPR, 2017.

[^73]: M. Fieraru, A. Khoreva, L. Pishchulin, and B. Schiele, “Learning to refine human pose estimation,” in CVPR Workshop, 2018.

[^74]: "MSCOCO keypoint leaderboard," <http://mscoco.org/dataset/#keypoints-leaderboard>.

[^75]: W. Liu, D. Anguelov, D. Erhan, C. Szegedy, and S. Reed, "Ssd: Single shot multibox detector," in ECCV, 2016.

[^76]: J. Huang, V. Rathod, C. Sun, M. Zhu, A. Korattikara, A. Fathi, I. Fischer, Z. Wojna, Y. Song, S. Guadarrama et al., "Speed/accuracy trade-offs for modern convolutional object detectors," in CVPR, 2017.

[^77]: S. Ren, K. He, R. Girshick, and J. Sun, “Faster r-cnn: Towards real-time object detection with region proposal networks,” in NIPS, 2015.

[^78]: J. Redmon and A. Farhadi, “Yolo9000: better, faster, stronger,” in CVPR, 2017.

[^79]: G. Moon, J. Y. Chang, and K. M. Lee, "Posefix: Model-agnostic general human pose refinement network," arXiv preprint arXiv:1812.03595, 2018.

[^80]: N. Dinesh Reddy, M. Vo, and S. G. Narasimhan, "Carfusion: Combining point tracking and part detection for dynamic 3d reconstruction of vehicles," in CVPR, 2018.

![Image](images/7006c24427f15fd1082cd1778e275666a93719981259b8f56ce9611030ccdc3a.jpg)

曹哲（Zhe Cao）是加州大学伯克利分校计算机视觉方向的博士生，导师为Jitendra Malik博士。他于2017年获得卡内基梅隆大学机器人专业硕士学位，导师为Yaser Sheikh博士，2015年获得中国武汉大学计算机科学专业学士学位。他的研究兴趣主要集中在计算机视觉和深度学习领域。

![Image](images/0dee81d21015f980280ab5a5f4c52a9b1b8868879a102ba8a239da020a33b0ef.jpg)

希内斯·伊达尔戈于2014年在西班牙卡塔赫纳理工大学获得电信专业学士学位。目前他正在卡内基梅隆大学攻读机器人方向硕士学位，导师为亚西尔·谢赫。自2014年起，他担任卡内基梅隆大学机器人研究所研究助理。他的研究兴趣包括人体姿态估计、计算高效深度学习以及计算机视觉。

![Image](images/a872270197d4f56434784212c5050fb086e514904e28001c6b0d248457ccadcb.jpg)

托马斯·西蒙是Facebook Reality Labs的研究科学家。他于2017年在卡内基梅隆大学获得博士学位，导师为亚西尔·谢赫和伊恩·马修斯。他拥有瓦伦西亚理工大学电信专业学士学位以及卡内基梅隆大学机器人专业硕士学位，攻读硕士期间他在人类感知实验室工作，导师是费尔南多·德拉托雷。他的研究主要聚焦于利用计算机视觉和机器学习对人脸和人体进行建模。

![Image](images/012ad960b47998bd827243faa3da0cbcc7abe35d1e47b6b6817a7a42e19dba75.jpg)

Shih-En Wei 是一位在 Facebook Reality Labs 担任研究工程师。 他于 2016 年从卡内基梅隆大学获得机器人学硕士学位，导师是 Yaser Sheikh 博士。 他还拥有台湾国立大学通信工程硕士学位和电气工程学士学位，分别位于台北。 他的研究兴趣包括计算机视觉和机器学习。

![Image](images/a5bcd40ecb0b4dbf824ae6193ba8caa8e709cc6e633e93331f8b0213179ac5ca.jpg)

Yaser Sheikh 担任匹兹堡 Facebook Reality Lab 的总监，同时也是卡内基梅隆大学机器人研究所的副教授。 他的研究主要集中在社会行为的机器感知方面，涵盖计算机视觉、计算机图形学和机器学习。 他的研究团队与同事一起获得了《大众科学》“最佳创新”奖、本田创新奖（2010 年）、CVPR 会议的最佳学生论文奖（2018 年）、WACV 会议的最佳论文奖（2012 年）、SAP 会议的最佳论文奖（2012 年）、SCA 会议的最佳论文奖（2010 年）、ICCV THEMIS 会议的最佳论文奖（2009 年）、ECCV 会议的最佳演示奖（2016 年），并在 MSCOCO 关键点挑战赛中获得第一名（2016 年）；他还获得了希尔曼计算机科学研究卓越奖（2004 年）。 Yaser 曾担任计算机视觉、计算机图形学和机器人领域的领先会议（包括 SIGGRAPH（2013 年、2014 年）、CVPR（2014 年、2015 年、2018 年）、ICRA（2014 年、2016 年）、ICCP（2011 年））的资深委员会成员，并担任《计算机视觉与图像理解》杂志的副编辑。 他的研究由美国国家科学基金会（NSF）和美国国防高级研究计划局（DARPA）等政府研究机构以及英特尔公司、华特迪士尼公司、日产、本田、丰田和三星集团等多家工业合作伙伴资助。 他的研究曾在《纽约时报》、《The Verge》、《大众科学》、《BBC》、《MSNBC》、《New Scientist》、《slashdot》和《WIRED》等媒体上报道。

---

![Image](images/66bcf7e44d8f1e841a24dcef6afa13deba0f52d429a6eee6cc932f0b82c6b04a.jpg)

<div style="text-align: center;">Fig. 17: Results containing viewpoint and appearance variation, occlusion, crowding, contact, and other common imaging artifacts.</div>
