
# 无人工标注条件下野外点云的三维人体关键点估计

翁祯祯 $^{1*}$ 亚历山大·S·戈尔班 $^{2}$ 纪经纬 $^{2}$ 马亚尔·纳吉比 $^{2}$ 周寅 $^{2}$ 德拉戈米尔·安古洛夫 $^{2}$

 $^{1}$Stanford University $^{2}$Waymo

## 摘要

以监督方式训练基于点云的三维人体关键点检测器需要大量高质量标注。虽然采集大量人体点云相对容易，但标注三维关键点成本高、主观性强、容易出错，对于长尾场景（罕见姿态行人、骑行者等）尤其困难。在这项工作中，我们提出了GC-KPL——受几何一致性启发的关键点学习方法，这是一种无需人工标注即可从点云学习三维人体关节位置的方案。我们通过针对人体结构和运动设计的新型无监督损失公式实现了这一目标。我们发现，在不使用任何人手工标注关键点的情况下，基于Waymo开放数据集[^21]的大规模训练集训练后，我们的方法可以取得与全监督方法相当的合理性能。此外，骨干网络受益于该无监督训练，可用于下游的关键点少样本学习：仅使用10%的标注训练数据微调就能达到与使用全量数据微调相当的性能。我们证明，在使用全量数据集训练时，GC-KPL大幅优于当前最优方法，能够有效利用大量无标注数据。

### 1. 引言

三维人体姿态估计是计算机视觉领域的重要问题，拥有广泛的应用场景，包括AR/VR、人工智能辅助医疗和自动驾驶[^4] [^29] [^32]。对于自主系统而言，能够从传感器数据（例如激光雷达点云）中感知人体姿态，对感知周边环境、做出安全决策尤其关键。

尽管野外人体姿态估计领域受到广泛关注，仅有少量论文研究了基于点云的户外三维关键点检测任务。一个主要原因是

![Image](images/67f123aa07df9ceb7e92d54923bb2ddb17661e2f73d78179cbed490477703edf.jpg)

<div style="text-align: center;">Figure 1. We present GC-KPL, a novel method for learning 3D human keypoints from in-the-wild point clouds without any human labels. We propose to learn keypoint locations using unsupervised losses that account for the structure and movement of the human body. The backbone learns useful semantics from unsupervised learning and can be used in downstream fine-tuning tasks to boost the performance of 3D keypoint estimation.</div>

训练行人姿态估计模型需要大量带有真值标注的高质量野外数据。在点云数据上标注三维人体关键点成本高、耗时长且容易出错。尽管目前已有少量带有真值人体姿态的点云数据集[^11] [^13] [^21]，但这些数据集的三维标注数量和数据多样性都十分有限。因此，在这类数据集上训练的全监督人体关键点检测器无法很好地泛化到长尾案例上。出于这个原因，以往的行人三维关键点估计方法主要聚焦于利用更容易获取的二维弱监督[^4] [^32]，或是借用其他模态（例如RGB、深度）的信号[^29]。尽管如此，大量无标注激光雷达数据中蕴藏着许多有用信息，而以往人体姿态估计工作并未尝试加以利用。

---

本文提出了一种新颖有效的方法，可在不使用任何人工标注3D关键点的情况下，从野外点云中学习三维人体关键点。我们的方法建立在一项核心观察基础上：人体骨骼大致位于近似刚体的身体部位中心，表面点的位置和运动应当能够解释骨骼的运动，反之亦然。为此，我们设计了新颖的无监督损失项，用于学习人体点云内3D关键点/骨骼的位置，这些位置对应人体主要关节的三维位置。

在本文提出的方法中，我们首先在由随机姿态SMPL人体模型构建的合成数据集上，训练一个用于预测关键点的基于Transformer的回归模型，以及一个用于定位身体部位的语义分割模型 [^15]。随后，我们在整个Waymo开放数据集 [^21] 上开展训练，全程不使用任何人形关键点的3D真值标注。通过无监督训练，关键点预测结果得到优化，网络骨干从大量未标注数据中学习到了有用信息。

综上，本文的贡献如下：

- 本文提出了GC-KPL，这是一种无需任何人工关键点标注即可从野外点云中学习人体三维关键点的方法。

• 我们从人体结构与运动规律中获得启发，提出了三种新颖有效的无监督损失用于优化关键点。我们证明，所提出的损失在Waymo开放数据集的无监督关键点学习任务上效果显著。

• 通过下游微调/少样本实验，我们证明GC-KPL可用于人体点云的无监督表示学习，这为利用几乎无限量的传感器数据提升自动驾驶场景中的人体姿态理解能力提供了可能。

### 2. 相关工作

#### 2.1. 基于点云的三维人体关键点估计

已有若干研究工作[^19] [^31] [^34]围绕从干净、精心整理的点云中估计3D关键点展开研究[^6]，但针对真实无约束场景点云的3D关键点估计仍是一个研究较少的问题。由于缺乏与激光雷达数据配对的真实3D人体姿态标注，基于激光雷达信息的3D人体关键点估计相关研究并不多。在少数带有3D关键点标注的点云数据集中，LiDAR Human26M [^13]捕捉了长距离人体运动，其真实运动由IMU系统采集，姿态信息由拟合到点云的SMPL模型推导得到。它是首批实现激光雷达点云与RGB图像同步的数据集之一，但所有13名受试者的SMPL形状参数完全相同，且不包含真实场景下的行人样本——这类场景通常存在更严重的背景噪声和遮挡。PedX [^11]提供了通过多模态模型拟合得到的自动3D行人标注，该数据集仅从单个交叉路口有效采集，仅包含75名行人（第二个交叉路口仅有218帧数据，第三个场景的标注并未发布）。Waymo开放数据集 [^21]包含来自1000余个不同真实无约束场景的超过3500名受试者，带有高质量的2D和3D人工标注。尽管已有这些数据集，少数针对点云3D姿态估计的研究大多依赖弱监督。HPERL模型 [^4]使用2D真实姿态标注训练，采用重投影损失完成3D姿态回归任务。[^32]中的多模态模型将RGB图像上的2D标注作为弱监督，从标注2D关节的投影生成伪真实3D关节位置。HUM3DIL [^29]结合RGB信息与激光雷达点，通过结合激光雷达信号的3D位置计算像素对齐的多模态特征来完成任务。相比之下，我们的方法不使用任何RGB信息或弱监督。

#### 2.2. 无监督关键点定位

已有诸多研究旨在利用自监督几何推理恢复3D关键点[^12] [^22]，但这类方法仅局限于刚性物体。近年来更多无监督方法可处理来自单目RGB数据[^9] [^10] [^10] [^18] [^20] [^24]、多视图数据[^16]或点云[^27]的关节物体，这类研究的思路是以预测得到的关键点为条件，训练条件生成模型，通过重构损失对关键点进行监督。我们提出了一种更简洁的流程：将我们提出的新型无监督损失直接应用于预测关键点，除关键点预测器本身外无需额外模型。

#### 2.3. 点云的自监督学习

自监督表征学习已被证明在语言[^3] [^17]和二维视觉任务[^2] [^7]中成效显著。随着激光雷达传感器愈发经济普及，针对三维点云的自监督学习正吸引越来越多的研究兴趣。已有研究通过对比学习[^8] [^25] [^30]或重建[^23] [^26] [^28] [^33]学习目标或场景级点云的表征，该方法在下游分类或分割任务中效果良好。相比之下，我们的监督信号来源于人体的独特结构，我们学习得到的骨干网络尤其适用于下游人体关键点估计任务。

---

### 3. 方法

在本节中，我们介绍包含两个阶段的完整训练流程。第一阶段，我们在合成数据集上初始化模型参数（第3.1节），该阶段的目的是为模型赋予合理语义，完成预热。第二阶段将模型泛化到真实世界数据，该阶段我们使用无监督损失优化野外点云的关键点预测结果（第3.2节）。我们的流程概览如图2所示。

#### 3.1. 第一阶段：合成数据上的初始化

在该阶段，我们在通过对随机姿态人体网格模型进行光线投射构建得到的合成数据集上初始化模型（SMPL [^15]）。合成数据生成的细节我们在补充材料中介绍。

该阶段的目标是训练模型f，该模型输入人体点云$\mathbf{P} \in \mathbb{R}^{N \times 3}$，输出关键点的三维位置$\hat{\mathbf{Y}} \in \mathbb{R}^{(J+1) \times 3}$，以及软身体部位分配（或称部位分割）$\hat{\mathbf{W}} \in \mathbb{R}^{N \times (J+1)}$，其中包含每个点i属于身体部位$j \in [J]$或背景的概率。

 $$ \{\hat{\mathbf{Y}},\hat{\mathbf{W}}\}=f(\mathbf{P}) $$

 $$\forall i\in\left[N\right],\sum_{j=1}^{J+1}\hat{\mathbf{W}}_{i,j}=1$$

对于合成数据，部位分割W和关键点位置Y的真值信息是现成可得的。因此我们可以通过L2损失直接监督预测关键点来训练模型，

 $$ \mathcal{L}_{k p}=\big|\big|\hat{\mathbf{Y}}-\mathbf{Y}\big|\big|_{2} $$

并通过交叉熵损失监督预测分割，

 $$ \mathcal{L}_{s e g}=-\sum_{i=1}^{N}\sum_{j=1}^{J+1}\mathbf{W}_{i,j}\log\big(\hat{\mathbf{W}}_{i,j}\big) $$

整体而言，我们最小化

 $$ \mathcal{L}_{s y n}=\lambda_{k p}\mathcal{L}_{\mathrm{k p}}+\lambda_{s e g}\mathcal{L}_{\mathrm{s e g}} $$

值得注意的是，在第4.6节我们证明该阶段并不需要监督——真值W和Y可以替换为代理真值，得到的结果相当。

#### 3.2. 第二阶段：野外数据上的自监督学习

在该阶段，我们使用无监督损失进一步优化网络。损失设计的核心洞见在于：人体由肢体构成，每个肢体都是刚性部件。因此，肢体上的点随肢体运动，在肢体的局部坐标系中应当大致保持位置不变。据此，我们提出了流损失，该损失促使点在肢体局部圆柱坐标系中保持位置不变（即便绕肢体发生旋转）。

我们首先在如下表述中对核心组成部分进行正式定义。在我们的设置中，人体骨架L由肢体组成，每个肢体连接两个关键点。一个肢体$l = (y_a, y_b) \in L$是连接该肢体上的父关键点$y_a$和子关键点$y_b$的线段，该肢体上的所有表面点的分割标签均为a。

本文提出的三个损失均定义在每个预测肢体局部坐标系下的表面点上。因此，我们首先将所有输入点转换到各肢体的局部圆柱坐标系中，计算得到径向坐标和轴向坐标。具体来说，我们将全局坐标系下的点$p \in \mathbf{P}$投影到向量$\hat{y}_{a}\hat{y}_{b}$上，并计算投影向量的范数

 $$ \mathbf{z}(p,\hat{l})=\frac{\left(p-\hat{y}_{a}\right)\cdot\left(\hat{y}_{b}-\hat{y}_{a}\right)}{\left\|\hat{y}_{b}-\hat{y}_{a}\right\|_{2}} $$

以及该点到向量$\hat{y}_{a}\hat{y}_{b}$的距离，

 $$ \mathbf{r}(p,\hat{l})=\|p-\hat{y}_{a}-\mathbf{z}\big(\hat{y}_{b}-\hat{y}_{a},\hat{l}\big)\|_{2} $$

为简化表述，下文中我们使用$\mathbf{z}_{\hat{l}}(p)$表示$\mathbf{z}(p,\hat{l})$，使用$\mathbf{r}_{\hat{l}}(p)$表示$\mathbf{r}(p,\hat{l})$。

接下来，我们详细介绍每个损失函数的定义。

光流损失。光流损失考虑连续两帧的预测结果，促使所有点的径向和高度分量在场景光流下保持一致性——即肢体在帧间运动时，所有点的径向坐标和轴向坐标应保持不变。形式上，我们针对时间戳t和$\mathcal{L}_{ff}$的预测关键点，为肢体$\mathcal{L}_{bf}$和$\hat{l}^{t} = (\hat{y}_{a}^{t}, \hat{y}_{b}^{t})$定义了前向和后向光流损失（分别为$\hat{l}^{t+1} = (\hat{y}_{a}^{t+1}, \hat{y}_{b}^{t+1})$和$t+1$）。

 $$\begin{aligned}\mathcal{L}_{f f}=\frac{1}{N}\sum_{i}\hat{\mathbf{W}}_{i a}^{t}\cdot\left(\left|\mathbf{r}_{\hat{l}^{t+1}}\left(p_{i}^{t}+f_{i}^{t}\right)-\mathbf{r}_{\hat{l}^{t}}\left(p_{i}^{t}\right)\right|+\right.\\\left.\left|\mathbf{z}_{\hat{l}^{t+1}}\left(p_{i}^{t}+f_{i}^{t}\right)-\mathbf{z}_{\hat{l}^{t}}\left(p_{i}^{t}\right)\right|\right)\end{aligned}$$

 $$ \begin{aligned}\mathcal{L}_{bf}=\frac{1}{N}\sum_{i}\hat{\mathbf{W}}_{ia}^{t+1}\cdot\left(\left|\mathbf{r}_{\hat{l}t}\left(p_{i}^{t+1}+b_{i}^{t+1}\right)-\mathbf{r}_{\hat{l}^{t+1}}\left(p_{i}^{t+1}\right)\right|+\right.\\ \left.\left|\mathbf{z}_{\hat{l}t}\left(p_{i}^{t+1}+b_{i}^{t+1}\right)-\mathbf{z}_{\hat{l}^{t+1}}\left(p_{i}^{t+1}\right)\right|\right)\end{aligned} $$

 $f^t$是每个点$p^t \in \mathbf{P}^t$的前向光流，$b^{t+1}$是每个点$p^{t+1} \in \mathbf{P}^{t+1}$的后向光流。我们使用Neural Scene Flow Prior [^14]来估计连续两帧点云的光流。帧t的总体光流损失为

 $$ \mathcal{L}_{f l o w}=\frac{1}{\left|L\right|}\sum_{\hat{l}^{t}}\frac{\mathcal{L}_{f f}+\mathcal{L}_{b f}}{2} $$

---

![Image](images/de0417bdbda237fbeffeec45f4efef278293c2100efaadf7c46f0c553fb34636.jpg)

<div style="text-align: center;">Figure 2. Overview of our method. In Stage I, we warm-up the keypoint predictor and body part segmentation predictor on a small synthetic dataset. Then, in Stage II we refine the 3D keypoint predictions on a large in-the-wild dataset with unsupervised losses. The main losses are depicted on the bottom.</div>

从设计逻辑来看，如果局部坐标系中所有点的径向值和轴向值在连续帧中保持一致，光流损失的取值就不会改变。当肢体在两帧中沿着自身正交方向整体移动相同距离时，就会出现这种情况。理论上，这种情况不太可能发生在所有肢体上，但我们通过实验观察到，仅使用光流损失会导致骨架移出点云范围。因此，我们需要额外的损失项来约束关键点保持在人体内部。

点到肢体损失。对于预测得到的肢体$\hat{l} = (\hat{y}_{a}, \hat{y}_{b})$，我们希望属于该肢体的点靠近该肢体。因此，我们引入点到肢体（p21）损失

 $$ \mathcal{L}_{p2l}^{\hat{l}}=\frac{1}{N}\sum_{i}\hat{\mathbf{W}}_{i a}\mathbf{d}(p_{i},\hat{l}) $$

其中d是点与线段之间的欧氏距离函数。我们对所有点求和，得到总体点到肢体损失，

 $$ \mathcal{L}_{\mathrm{p2l}}=\frac{1}{|L|}\sum_{\hat{l}}\mathcal{L}_{\mathrm{p2l}}^{\hat{l}} $$

对称性损失。对称性损失促使预测得到的肢体$\hat{l}$处于这样一个位置：该肢体周围的所有点大致围绕该肢体对称。也就是说，轴向坐标相近$\mathbf{z}_{\hat{l}}$的点应当具有相近的径向值$\mathbf{r}_{\hat{l}}$。为此，我们引入对称性损失，

 $$ \mathcal{L}_{s y m}^{\hat{l}}=\frac{1}{N}\sum_{i}\hat{\mathbf{W}}_{i a}(\mathbf{r}_{\hat{l}}(p_{i})-\bar{\mathbf{r}}_{\hat{l}}(p_{i}))^{2} $$

其中$\bar{\mathbf{r}}_{\hat{l}}(p_{i})$是轴向坐标与$p_{i}$相近的点的径向值加权平均，

 $$ \bar{\mathbf{r}}_{\hat{l}}(p_{i})=\frac{\sum_{j}K_{h}(\mathbf{z}_{\hat{l}}(p_{i}),\mathbf{z}_{\hat{l}}(p_{j}))(\hat{\mathbf{W}}_{i*}\cdot\hat{\mathbf{W}}_{j*})\mathbf{r}_{\hat{l}}(p_{j})}{\sum_{j}K_{h}(\mathbf{z}_{\hat{l}}(p_{i}),\mathbf{z}_{\hat{l}}(p_{j}))(\hat{\mathbf{W}}_{i*}\cdot\hat{\mathbf{W}}_{j*})} $$

 $K_h$是带宽为h的高斯核，即$K_h(x, y) = e^{-(\frac{x-y}{h})^2} \cdot \hat{\mathbf{W}}_{i^*} \in \mathbb{R}^J$是$i_{th}$的第$\hat{\mathbf{W}}$行，点积$\hat{\mathbf{W}}_{i^*} \cdot \hat{\mathbf{W}}_{j^*}$衡量点i和点j的部件分配相似度，因为我们希望使用与点i属于同一部件的点来计算$\bar{r}_i^k$的值。总体对称性损失对所有点计算，

 $$ \mathcal{L}_{s y m}=\frac{1}{\left|L\right|}\sum_{l\in L}\mathcal{L}_{s y m}^{l} $$

关节到部件损失。此外，我们通过关节到部件损失促使每个关节靠近对应部件点群的中心。

 $$ \mathcal{L}_{j2p}^{j}=\left\|\hat{y}_{j}-\frac{\sum_{i}\hat{\mathbf{W}}_{i j}p_{i}}{\sum_{i}\hat{\mathbf{W}}_{i j}}\right\|_{2} $$

我们对所有关节求和得到总体关节到部件损失。

 $$ \mathcal{L}_{j2p}=\frac{1}{J}\sum_{j}\mathcal{L}_{j2p}^{j} $$

需要注意的是，尽管关节的真实位置并不位于对应部分点的中心，保留该损失对于提升无监督训练的鲁棒性仍然至关重要。

实际训练中，在第二阶段联合优化$\tilde{W}$和$\tilde{Y}$会导致训练曲线不稳定。因此，我们使用预训练好的

---

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

<div style="text-align: center;">Figure 3. Effect of unsupervised losses on perturbed skeleton.</div>

第一阶段得到的分割分支在第二阶段开始时对所有训练样本执行分割推理得到分割标签，$\hat{W}$即为预测分割标签的独热编码。

分割损失。最后我们发现，在该阶段保留分割损失可以进一步对主干网络进行正则化，从而获得更好的定量性能。我们将推理得到的分割结果$\hat{W}$作为替代真值，按照式(4)最小化交叉熵。

训练目标。第二阶段的整体训练目标是最小化

 $$ \begin{aligned}\mathcal{L}=\lambda_{flow}\mathcal{L}_{flow}+\lambda_{\mathrm{p}2\mathrm{l}}\mathcal{L}_{\mathrm{p}2\mathrm{l}}+\lambda_{sym}\mathcal{L}_{sym}\\+\lambda_{\mathrm{j}2\mathrm{p}}\mathcal{L}_{\mathrm{j}2\mathrm{p}}+\lambda_{\mathrm{seg}}\mathcal{L}_{\mathrm{seg}}\end{aligned} $$

为了说明这三种无监督损失（$\mathcal{L}_{flow}$、$\mathcal{L}_{p2l}$和$\mathcal{L}_{sym}$）的效果，我们展示了将这些损失应用于受扰动的真实骨架上的结果（图3）。如图所示，本文提出的无监督损失能够有效将受扰动的骨架移动到更接近真值的位置。

### 4. 实验

#### 4.1. 实现细节

预测模型f由一个Transformer主干网络和分别用于预测关节与分割的全连接层构成。我们使用与HUM3DIL [^29]相同的Transformer主干网络。在Transformer输出头后接一个全连接层，分别回归得到预测的$\hat{W}$和$\hat{Y}$。模型总共有352787个可训练参数。我们将输入LiDAR点的最大数量设置为1024，对于点数不足或超过该值的点云分别进行零填充或下采样。光流通过自监督测试时优化方法[^14]获得。网络在4块TPU上训练。第一阶段训练200个轮次（epoch），第二阶段训练75个轮次，两者的批量大小均为32，基础学习率为$1e^{-4}$，指数衰减率为0.9。第一阶段和第二阶段各自大约需要6小时完成训练。式(5)中的损失权重为$\lambda_{kp} = 0.5$和$\lambda_{seg} = 1$。式(18)中的损失权重为$\lambda_{flow} = 0.02$、$\lambda_{p2l} = 0.01$、$\lambda_{sym} = 0.5$、$\lambda_{j2p} = 2$和$\lambda_{seg} = 0.5$。式(14)中的核带宽为0.1。

#### 4.2. 数据集与评价指标

我们构建了一个包含1000个序列的合成数据集，用于第一阶段训练，每个序列包含16帧光线投射得到的点云。每个序列均以相同的站立姿态开始，以随机姿态结束。我们发现数据增强对于第一阶段训练至关重要。为了模拟真实场景中的噪声背景和遮挡，我们对合成数据应用了多种数据增强操作，包括随机下采样、随机掩码、添加地面点簇、添加背景点簇、添加第二个人物、为每个点添加噪声、缩放人物尺寸。我们在图4中展示了增强后合成数据的示例。

![Image](images/57c58c347d2b12e4526f07403270d7a2855e125c07c34636f267592542e2a69f.jpg)

<div style="text-align: center;">Figure 4. Data augmentations applied to the synthetic point clouds (colored by ground truth segmentation labels). Ground truth skeletons are shown in purple. Background points are in blue.</div>

在第二阶段，我们在整个Waymo开放数据集（WOD）训练集上进行训练，该训练集包含约20万个无标注样本。由于WOD官方测试子集不对公众公开，我们将验证集随机划分为两部分：50%用作验证集，剩余部分用作测试集进行基准测试。我们在每个阶段结束时报告测试集上的平均每关节位置误差（MPJPE）。形式化定义为：对于单个样本，设$\hat{Y} \in \mathcal{R}^{J \times 3}$为预测关键点，$Y \in \mathcal{R}^{J \times 3}$为真值关键点，$v \in \{0,1\}^J$为每个关键点标注的可见性指示器。

 $$ \mathbf{MPJPE}\big(Y,\hat{Y}\big)=\frac{1}{\sum_{j}v_{j}}\sum_{j\in[J]}v_{j}\big|\big|y_{j}-\hat{y}\big|\big|_{2} $$

需要说明的是，在本阶段，我们对每帧的预测关键点和标注关键点进行匈牙利匹配，随后在匹配得到的关键点上报告MPJPE。我们报告匹配后的MPJPE，是因为该方法面向无标注训练数据与下游数据之间关键点对应关系未知的场景设计。

---

![Image](images/dfd434c649ba5643907f3227c5c348082422f7e62b89e0f43a985d4a29f08f3d.jpg)

<div style="text-align: center;">Figure 5. Visualizations of predictions on WOD at the end of Stage I and Stage II. Points are colored by predicted segmentation labels. Ground truth keypoints are in green and predicted keypoints and skeletons are in red.</div>

#### 4.3 实验结果

在本节中，我们在表2中对GC-KPL在第一阶段和第二阶段结束时的性能进行了定量评估，定性结果见图5。如图所示，第一阶段我们在由带姿态人体模型构建、经过精心数据增强设计的合成数据集上完成训练后，已经能够对野外点云预测出合理的人体关键点。在第二阶段，我们提出的新型无监督损失进一步细化了预测的关键点。

#### 4.4 下游任务：小样本3D关键点学习

在本实验中，我们证明了我们模型的骨干网络从大量无标注数据的无监督训练中获益，能够很好地支持下游微调任务。我们以第二阶段训练完成后的预训练骨干网络为起点，使用WOD的标注训练样本进行微调，优化目标为最小化平均每关节误差。我们设置了小样本实验，使用极少量数据（训练集的10%和1%）进行微调，以此模拟标注数据有限的挑战性场景。

我们将仅使用激光雷达的HUM3DIL（WOD上的当前最优模型）[^29]作为强基线。定量结果（表1）表明，我们的骨干网络从野外无标注数据中学习到了有用信息，显著提升了下游任务的性能。与HUM3DIL中使用的随机初始化骨干网络相比，我们的骨干网络在下游微调实验中使MPJPE降低了2厘米以上，这对于3D人体关键点估计任务来说是十分显著的提升。

我们在图6中可视化了不同数据设置下预测得到的关键点。如图所示，从我们的骨干网络初始化进行微调得到的模型能够捕捉手臂的精细细节，整体结果比HUM3DIL更准确。

据我们所知，目前尚无针对点云的完全无监督人体关键点估计的相关研究。我们另外进行了实验，在当前最优点云自监督学习（SSL）方法3D-OAE [^30]学习到的特征之上添加读出层，得到的MPJPE为15厘米，而GC-KPL的MPJPE为10.10厘米。因此我们认为本文采用的基线是强且完备的。在4.6节，我们通过与域适应设置进行对比进一步测试了我们的方法，证明GC-KPL的性能仍然更优。

#### 4.5 域适应

我们这种在第一阶段（Stage I）使用真值标签、第二阶段（Stage II）使用无监督训练的配置可以看作一种域适应（DA）技术。因此，将我们提出的方法与常用的域适应方法进行比较是很有必要的。我们使用真实数据与合成数据的混合集，结合梯度反转层（即DA损失）[^5]训练同一个骨干模型，帮助网络学习域不变的关键点特征。表3（Tab. 3）的结果表明，与DA方法相比，GC-KPL获得了更优异的准确率（MPJPE为10.1cm对比11.35cm）。

#### 4.6. 消融实验

预处理中使用GT边界框的影响。我们从整个场景中裁剪出人体点云，仅保留GT边界框内的点。我们还开展了使用检测边界框训练的实验，这些边界框来自原始LiDAR扫描，由当前最优（SoTA）3D检测器得到。结果表明，GC-KPL对3D检测中的噪声具有鲁棒性，因为各项评估指标没有出现明显变化。

合成数据集规模的影响。在我们的方法中，Stage I是模型初始化步骤，我们发现，搭配选择得当的数据增强，在小规模合成数据集（16000个样本）上训练就足以让模型学习到有用的语义信息。我们进一步研究了Stage I中合成数据集规模的影响。我们使用更大规模的数据集（16万个和160万个样本）进行实验，观察到在Stage I结束时，增大合成数据集规模对MPJPE_{matched}的影响微不足道——该指标仅从17.7cm下降到17.6cm。更大规模数据集没有带来显著提升，很可能是因为合成数据中生成姿态的变化性有限（参见补充材-

---

![Image](images/dbc1930571f624d0340dd6f9de05d218def835f8bb79fa201d96d389a0c68fcb.jpg)

<div style="text-align: center;">Figure 6. Predicted keypoints from fine-tuning with different amount of annotated data. The points are colored by predicted segmentation labels by our model. Predicted keypoints are shown in red.</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;'>Backbone</td><td style='text-align: center; word-wrap: break-word;'>Stage I supervised</td><td style='text-align: center; word-wrap: break-word;'>1% training set MPJPE cm. (gain)</td><td style='text-align: center; word-wrap: break-word;'>10% training set MPJPE cm. (gain)</td><td style='text-align: center; word-wrap: break-word;'>100% training set MPJPE cm. (gain)</td></tr><tr><td rowspan="2">HUM3DIL [^29]</td><td style='text-align: center; word-wrap: break-word;'>Randomly initialized</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>19.57</td><td style='text-align: center; word-wrap: break-word;'>16.36</td><td style='text-align: center; word-wrap: break-word;'>12.21</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Pre-trained on synthetic only</td><td style='text-align: center; word-wrap: break-word;'>☑</td><td style='text-align: center; word-wrap: break-word;'>18.52 (-1.05)</td><td style='text-align: center; word-wrap: break-word;'>15.10 (-1.26)</td><td style='text-align: center; word-wrap: break-word;'>11.27 (-0.94)</td></tr><tr><td rowspan="3">GC-KPL</td><td style='text-align: center; word-wrap: break-word;'>Pre-trained on 5,000 WOD-train</td><td style='text-align: center; word-wrap: break-word;'>☑</td><td style='text-align: center; word-wrap: break-word;'>17.87 (-1.70)</td><td style='text-align: center; word-wrap: break-word;'>14.51 (-1.85)</td><td style='text-align: center; word-wrap: break-word;'>10.73 (-1.48)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Pre-trained on 200,000 WOD-train</td><td style='text-align: center; word-wrap: break-word;'>☑</td><td style='text-align: center; word-wrap: break-word;'>17.80 (-1.77)</td><td style='text-align: center; word-wrap: break-word;'>14.30 (-2.06)</td><td style='text-align: center; word-wrap: break-word;'>10.60 (-1.61)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Pre-trained on 200,000 WOD-train</td><td style='text-align: center; word-wrap: break-word;'>☑</td><td style='text-align: center; word-wrap: break-word;'>17.20 (-2.37)</td><td style='text-align: center; word-wrap: break-word;'>13.40 (-2.96)</td><td style='text-align: center; word-wrap: break-word;'>10.10 (-2.11)</td></tr></table>

<div style="text-align: center;">Table 1. Downstream fine-tuning results. Check marks in “Stage I supervised” mean that we use ground truth part labels in Stage I, otherwise we use KMeans labels.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Training data</td><td style='text-align: center; word-wrap: break-word;'>MPJPE $_{matched}$ ( $\downarrow$)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Synthetic only</td><td style='text-align: center; word-wrap: break-word;'>17.70</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>5,000 WOD-train</td><td style='text-align: center; word-wrap: break-word;'>14.64</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>200,000 WOD-train</td><td style='text-align: center; word-wrap: break-word;'>13.92</td></tr></table>

<div style="text-align: center;">Table 2. Unsupervised learning (Stage II) results.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Domain distribution</td><td style='text-align: center; word-wrap: break-word;'>DA loss</td><td style='text-align: center; word-wrap: break-word;'>MPJPE ( $\downarrow$)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>100% real</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>12.21</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>50/50% real/synthetic</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>12.08</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>50/50% real/synthetic</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>11.35</td></tr></table>

<div style="text-align: center;">Table 3. Unsupervised domain adaptation results evaluated on WOD validation set.</div>

料获取详情）。

合成数据使用真值的影响。尽管我们描述的完整流程不使用任何人工标注，但我们在Stage I确实使用了合成数据集的真值分割和关键点标注，因为这些信息可以直接获取。在此我们进一步测试了一种变体：不在Stage I使用任何真值（对应Tab. 4的第一行）。类似[^1]，我们改用KMeans簇和簇中心作为模型初始化的替代真值。需要说明的是，我们能够建立不同样本的KMeans簇之间的对应关系，因为在我们的数据生成过程中，每个合成序列都以相同的初始站立姿态开始。因此，我们可以在所有序列共享的初始姿态上运行KMeans聚类，对于每个序列中的后续样本，我们使用

---

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td colspan="2"></td><td colspan="3">Stage I</td><td colspan="5">Stage II</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>No.</td><td style='text-align: center; word-wrap: break-word;'>Exp.</td><td style='text-align: center; word-wrap: break-word;'>$\mathcal{L}_{kp}$</td><td style='text-align: center; word-wrap: break-word;'>$\mathcal{L}_{seg}$</td><td style='text-align: center; word-wrap: break-word;'>MPJPE_{matched}</td><td style='text-align: center; word-wrap: break-word;'>$\mathcal{L}_{j2p}$</td><td style='text-align: center; word-wrap: break-word;'>$\mathcal{L}_{seg}$</td><td style='text-align: center; word-wrap: break-word;'>$\mathcal{L}_{sym}$</td><td style='text-align: center; word-wrap: break-word;'>$\mathcal{L}_{p2l}$</td><td style='text-align: center; word-wrap: break-word;'>$\mathcal{L}_{flow}$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>Effect of using KMeans labels in Stage I</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>19.2</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>14.5</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>2</td><td style='text-align: center; word-wrap: break-word;'>Effect of $\mathcal{L}_{kp}$ in Stage I</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>N/A</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>14.2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>3</td><td rowspan="3">Effect of warmup losses in Stage II</td><td rowspan="3"></td><td rowspan="3"></td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>15.0</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>4</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>14.2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>5</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>15.2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>6</td><td rowspan="7">Effect of unsupervised losses in Stage II</td><td rowspan="7"></td><td rowspan="7"></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>30.1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>7</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>15.6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>8</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>25.7</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>9</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>14.3</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>10</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>14.9</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>14.4</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>12</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>14.9</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Full model (GC-KPL)</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>17.7</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>13.9</td></tr></table>

<div style="text-align: center;">Table 4. Ablations studies on the effect of individual loss term in our method. Experiments 3 through 12 are using both losses in Stage I. Full model is using GT labels for Stage I.</div>

簇间Chamfer距离来建立相邻帧簇之间的对应关系。我们观察到，尽管使用替代真值初始化会导致Stage I的性能略有下降，但在Stage II完成损失训练后，性能下降变得非常不明显。总体而言，下游微调性能与我们的最佳模型相当（当使用100%/10%/1%的数据微调时，指标为10.6/14.3/17.8cm对比10.1/13.4/17.2cm，参见Tab. 1）。该实验表明，我们的方法不需要任何真值标注，即使在初始化阶段也不需要。

损失的影响。本节我们进一步研究我们流程中各组件的作用（表4）。首先，我们注意到第一阶段的$\mathcal{L}_{seg}$必不可少，因为我们需要一个初始化的分割模型来获得每个点对应的身体部位分配，才能计算第二阶段的损失。因此，我们仅在不加入$\mathcal{L}_{kp}$的情况下对第一阶段训练的变体进行实验，观察到$\mathcal{L}_{kp}$对于为后续阶段预热骨干网络十分有用。接下来，我们取用第一阶段得到的骨干网络（由$\mathcal{L}_{kp}$和$\mathcal{L}_{seg}$共同训练得到），研究第二阶段中各个损失的单独作用。3/4/5号实验表明，在保留其余三个无监督损失的基础上，加入$\mathcal{L}_{j2p}$和$\mathcal{L}_{seg}$有助于提升效果。在6/7/8号实验中，我们去掉$\mathcal{L}_{j2p}$和$\mathcal{L}_{seg}$，分别研究各个无监督损失的作用。结果显示，如果进一步去掉三个损失中的任意一个，训练会变得相当不稳定。我们从定性观察中发现，评估指标会大幅恶化，因为肢体会很快移出人体范围。3/4/5号实验表明，$\mathcal{L}_{j2p}$和$\mathcal{L}_{seg}$是有效的正则项，能够确保肢体保持在人体范围内，而无监督损失可以通过细化关键点位置进一步提升性能。

#### 4.7. 局限性与未来工作

关键点定位任务可以看作语义分割的对偶问题。在本文工作中，我们使用了一个简单的分割网络，其架构与我们的关键点估计模型相同。使用性能更优的分割模型有望带来进一步的提升。

本文提出的光流损失依赖于激光雷达点的光流估计质量。在这项工作中，我们使用了一种简单合理的方法来估计两帧激光雷达点之间的光流，即Neural Scene Flow prior [^14]。使用专为人体表面点云设计的更先进的光流估计器，可以提升无监督关键点估计的质量。

最后，我们使用了HUM3DIL [^29]模型的一部分，该部分仅以激光雷达点云作为输入。完整的HUM3DIL模型是为多模态输入设计的，能获得更优的性能。因此，另一个值得研究的方向是利用多模态输入。

### 5. 结论

在本文工作中，我们针对野生场景下基于点云的三维人体姿态估计问题开展研究，提出了一种无需任何人工三维关键点标注即可从点云学习三维人体关键点的方法（GC-KPL）。我们证明，所提出的新型损失对于Waymo Open Dataset上的无监督关键点学习十分有效。通过下游实验，我们验证了GC-KPL还可以作为一种自监督表示方法，从大量野生场景的人体点云数据中学习。此外，GC-KPL的表现优于常用的域自适应技术。少样本实验从经验上验证了，仅使用10%的可用三维关键点标注，微调后的模型就能达到与在整个数据集上训练的最新模型相当的性能。这些结果为利用自动驾驶领域海量的传感器数据改进行人三维关键点估计开辟了令人振奋的新可能。

---

## 参考文献

[^1]: Mathilde Caron, Piotr Bojanowski, Armand Joulin, and Matthijs Douze. Deep clustering for unsupervised learning of visual features. In European Conference on Computer Vision, 2018. 7

[^2]: Mathilde Caron, Piotr Bojanowski, Julien Mairal, and Armand Joulin. Unsupervised pre-training of image features on non-curated data. In Proceedings of the IEEE/CVF International Conference on Computer Vision, pages 2959–2968, 2019. 2

[^3]: Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. Bert: Pre-training of deep bidirectional transformers for language understanding. arXiv preprint arXiv:1810.04805, 2018. 2

[^4]: Michael Fürst, Shriya TP Gupta, René Schuster, Oliver Wasenmüller, and Didier Stricker. Hperl: 3d human pose estimation from rgb and lidar. In 2020 25th International Conference on Pattern Recognition (ICPR), pages 7321–7327. IEEE, 2021. 1, 2

[^5]: Yaroslav Ganin and Victor Lempitsky. Unsupervised domain adaptation by backpropagation. In Francis Bach and David Blei, editors, Proceedings of the 32nd International Conference on Machine Learning, volume 37 of Proceedings of Machine Learning Research, pages 1180–1189, Lille, France, 07–09 Jul 2015. PMLR. 6

[^6]: Albert Haque, Boya Peng, Zelun Luo, Alexandre Alahi, Serena Yeung, and Li Fei-Fei. Towards viewpoint invariant 3d human pose estimation. In European conference on computer vision, pages 160–177. Springer, 2016. 2

[^7]: Kaiming He, Haoqi Fan, Yuxin Wu, Saining Xie, and Ross Girshick. Momentum contrast for unsupervised visual representation learning. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages 9729–9738, 2020. 2

[^8]: Siyuan Huang, Yichen Xie, Song-Chun Zhu, and Yixin Zhu. Spatio-temporal self-supervised representation learning for 3d point clouds. In Proceedings of the IEEE/CVF International Conference on Computer Vision, pages 6535–6545, 2021. 2

[^9]: Tomas Jakab, Ankush Gupta, Hakan Bilen, and Andrea Vedaldi. Unsupervised learning of object landmarks through conditional image generation. Advances in neural information processing systems, 31, 2018. 2

[^10]: Tomas Jakab, Ankush Gupta, Hakan Bilen, and Andrea Vedaldi. Self-supervised learning of interpretable keypoints from unlabelled videos. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 8787–8797, 2020. 2

[^11]: Wonhui Kim, Manikandasriram Srinivasan Ramanagopal, Charles Barto, Ming-Yuan Yu, Karl Rosaen, Nick Goumas, Ram Vasudevan, and Matthew Johnson-Roberson. Pedx: Benchmark dataset for metric 3-d pose estimation of pedestrians in complex urban intersections. IEEE Robotics and Automation Letters, 4(2):1940–1947, 2019. 1,2

[^12]: Jiaxin Li and Gim Hee Lee. Usip: Unsupervised stable interest point detection from 3d point clouds. In Proceedings of

发表于IEEE/CVF国际计算机视觉会议，第361–370页，2019年。 2

[^13]: Jialian Li, Jingyi Zhang, Zhiyong Wang, Siqi Shen, Chenglu Wen, Yuexin Ma, Lan Xu, Jingyi Yu, and Cheng Wang. Lidarcap: Long-range marker-less 3d human motion capture with lidar point clouds. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 20502–20512, 2022. 1, 2

[^14]: Xueqian Li, Jhony Kaesemodel Pontes, and Simon Lucey. Neural scene flow prior. Advances in Neural Information Processing Systems, 34:7838–7851, 2021. 3, 5, 8

[^15]: Matthew Loper, Naureen Mahmood, Javier Romero, Gerard Pons-Moll, and Michael J Black. Smpl: A skinned multiperson linear model. ACM transactions on graphics (TOG), 34(6):1–16, 2015. 2, 3

[^16]: Atsuhiro Noguchi, Umar Iqbal, Jonathan Tremblay, Tatsuya Harada, and Orazio Gallo. Watch it move: Unsupervised discovery of 3d joints for re-posing of articulated objects. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 3677–3687, 2022. 2

[^17]: Alec Radford, Jeffrey Wu, Rewon Child, David Luan, Dario Amodei, Ilya Sutskever, et al. Language models are unsupervised multitask learners. OpenAI blog, 1(8):9, 2019. 2

[^18]: Luca Schmidtke, Athanasios Vlontzos, Simon Ellershaw, Anna Lukens, Tomoki Arichi, and Bernhard Kainz. Unsupervised human pose estimation through transforming shape templates. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 2484–2494, 2021. 2

[^19]: Jamie Shotton, Andrew Fitzgibbon, Mat Cook, Toby Sharp, Mark Finocchio, Richard Moore, Alex Kipman, and Andrew Blake. Real-time human pose recognition in parts from single depth images. In CVPR 2011, pages 1297–1304. Ieee, 2011. 2

[^20]: Jennifer J Sun, Serim Ryou, Roni H Goldshmid, Brandon Weissbourd, John O Dabiri, David J Anderson, Ann Kennedy, Yisong Yue, and Pietro Perona. Self-supervised keypoint discovery in behavioral videos. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 2171–2180, 2022. 2

[^21]: Pei Sun, Henrik Kretzschmar, Xerxes Dotiwalla, Aurelien Chouard, Vijaysai Patnaik, Paul Tsui, James Guo, Yin Zhou, Yuning Chai, Benjamin Caine, et al. Scalability in perception for autonomous driving: Waymo open dataset. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages 2446–2454, 2020. 1, 2

[^22]: Supasorn Suwajanakorn, Noah Snavely, Jonathan J Tompson, and Mohammad Norouzi. Discovery of latent 3d keypoints via end-to-end geometric reasoning. Advances in neural information processing systems, 31, 2018. 2

[^23]: Hanchen Wang, Qi Liu, Xiangyu Yue, Joan Lasenby, and Matt J Kusner. Unsupervised point cloud pre-training via occlusion completion. In Proceedings of the IEEE/CVF international conference on computer vision, pages 9782–9792, 2021. 2


## [^24]: Yuefan Wu, Zeyuan Chen, Shaowei Liu, Zhongzheng Ren, and Shenlong Wang. Casa: Category-agnostic skeletal ani


---

mal 重建。arXiv预印本 arXiv:2211.03568，2022年。 2

[^25]: Saining Xie, Jiatao Gu, Demi Guo, Charles R Qi, Leonidas Guibas, and Or Litany. Pointcontrast: Unsupervised pretraining for 3d point cloud understanding. In European conference on computer vision, pages 574–591. Springer, 2020. 2

[^26]: Yaoqing Yang, Chen Feng, Yiru Shen, and Dong Tian. Foldingnet: Point cloud auto-encoder via deep grid deformation. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 206–215, 2018. 2

[^27]: Yang You, Wenhai Liu, Yanjie Ze, Yong-Lu Li, Weiming Wang, and Cewu Lu. Ukpgan: A general self-supervised keypoint detector. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 17042–17051, 2022. 2

[^28]: Xumin Yu, Lulu Tang, Yongming Rao, Tiejun Huang, Jie Zhou, and Jiwen Lu. Point-bert: Pre-training 3d point cloud transformers with masked point modeling. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 19313–19322, 2022. 2

[^29]: Andrei Zanfir, Mihai Zanfir, Alex Gorban, Jingwei Ji, Yin Zhou, Dragomir Anguelov, and Cristian Sminchisescu. Hum3dil: Semi-supervised multi-modal 3d humanpose estimation for autonomous driving. In 6th Annual Conference on Robot Learning, 2022. 1, 2, 5, 6, 7, 8

[^30]: Zaiwei Zhang, Rohit Girdhar, Armand Joulin, and Ishan Misra. Self-supervised pretraining of 3d features on any point-cloud. In Proceedings of the IEEE/CVF International Conference on Computer Vision, pages 10252–10263, 2021. 2, 6

[^31]: Zihao Zhang, Lei Hu, Xiaoming Deng, and Shihong Xia. Weakly supervised adversarial learning for 3d human pose estimation from point clouds. IEEE transactions on visualization and computer graphics, 26(5):1851–1859, 2020. 2

[^32]: Jingxiao Zheng, Xinwei Shi, Alexander Gorban, Junhua Mao, Yang Song, Charles R Qi, Ting Liu, Visesh Chari, Andre Cornman, Yin Zhou, et al. Multi-modal 3d human pose estimation with 2d weak supervision in autonomous driving. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 4478–4487, 2022. 1, 2

刘珅（Shen Liu）、方毅（Yi Fang），以及云表示-

 $^{v}_{iv}$ 预印本

[^34]: Yufan Zhou, Haiwei Dong, and Abdulmotaleb El Saddik. Learning to estimate 3d human pose from point cloud. IEEE Sensors Journal, 20(20):12334–12342, 2020. 2
