
# LPFormer：结合多任务网络的LiDAR位姿估计Transformer

叶东强子 $^{\dagger 1}$，谢宇飞 $^{\dagger 1}$，陈纬佳 $^{\dagger 1}$，周子翔 $^{\dagger 2}$，葛凌婷 $^{1}$，哈桑·福罗什 $^{2}$

 $^{1}$ 图森未来，$^{2}$ 中佛罗里达大学

摘要——由于获取大规模三维人体关键点标注的难度较大，以往的三维人体位姿估计（HPE）方法通常依赖二维图像特征和序列二维标注。此外，这类网络的训练通常预先假设已经得到人体边界框预测，且三维点云与二维图像已完成准确对齐，这导致该类方法难以直接应用于真实场景。本文提出了用于端到端三维人体位姿估计的$1^{st}$框架，命名为LPFormer，该框架仅以LiDAR及其对应的三维标注作为输入。LPFormer由两个阶段组成：第一阶段检测人体边界框并提取多层级特征表示；第二阶段利用基于Transformer的网络，基于上述特征预测人体关键点。我们的方法证明，三维HPE可以无缝集成到高性能LiDAR感知网络中，并从该网络提取的特征中获益。在Waymo Open Dataset上的实验结果表明，本文方法取得了当前最优性能，相比以往的多模态方案也实现了提升。

## 一、引言

人体位姿估计（HPE）因应用范围广泛，在图像和视频领域得到了大量研究关注。然而，由于获取准确三维标注的难度较大，基于LiDAR点云这类三维数据的位姿估计得到的关注相对较少。因此，以往基于LiDAR的HPE方法[^1]、[^2]、[^3]通常依赖使用二维标注的弱监督方案，这类方案通常假设相机与LiDAR传感器之间已经完成精确标定。但在真实场景中，标注或标定的微小误差会在三维空间中累积为显著误差，进而影响网络训练。此外，由于透视视角存在差异，仅通过将二维标注升维到三维空间，难以准确恢复重要的可见性信息。

在基于图像的HPE中，主流方法是自上而下法[^4]，流程为先检测人体边界框，再基于裁剪后的特征预测单人位姿。然而，二维检测器和三维检测器的骨干网络之间存在显著差异。大多数LiDAR目标检测器利用投影得到的鸟瞰图（BEV）特征检测目标，这有助于降低计算成本，但该过程会丢失对人体位姿估计至关重要的高度维度可分特征。如何将学习得到的目标特征有效用于HPE，目前仍未得到充分探索。

![Image](images/128cd6e54608be360b3d354dbea01ada0b107b3e96cac698279781d5a635df03.jpg)

<div style="text-align: center;">Fig. 1: Our method can predict 3D keypoints (red points with yellow wireframes), 3D bounding boxes, and 3D semantic segmentation in a single framework.</div>

本文提出了LPFormer，这是一个完整的两阶段自上而下3D人体姿态估计框架，仅以LiDAR点云作为输入，且仅使用3D标注训练。在第一阶段，我们采用了先前最优LiDAR多任务网络[^5]、[^6]的设计，该设计可准确预测人体目标边界框，同时在更小尺度上生成细粒度体素特征。第二阶段从每个预测边界框内部的点云中提取点级、体素级和目标级特征，并在轻量级关键点Transformer网络中回归得到关键点。我们的方法证明，复杂的HPE任务可以无缝集成到LiDAR多任务学习框架中（如图1所示），无需图像特征或图像标注即可实现最优性能。本文的主要贡献总结如下：

• 我们提出了仅依赖LiDAR输入和3D标注的$1^{st}$端到端3D HPE网络。

- 我们提出的关键点Transformer可集成到统一LiDAR感知网络中，仅以极小的计算开销即可将先前提出的强大多任务框架扩展到HPE任务。

- 我们在大规模数据集上的实验结果表明该方法取得了最优性能。值得注意的是，LPFormer目前在Waymo Open Dataset姿态估计排行榜上取得$1^{st}$名的成绩。我们的方法在验证集上也优于所有以往基于相机的方法和多模态方法。

### 二、相关工作

基于图像的3D人体姿态估计 仅基于相机图像的3D人体姿态估计（HPE）已得到广泛研究

---

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

<div style="text-align: center;">Fig. 2: Main Architecture of LPFormer. Our network aims to estimate the 3D human pose for the entire frame based on the LiDAR-only input. It is comprised of two main components. The left part (blue) represents our powerful multi-task network, LidarMultiNet [^5], which generates accurate 3D object detection and provides rich voxel and bird's-eye-view (BEV) features. The right part (green) corresponds to our Keypoint Transformer (KPTR), predicting the 3D keypoints of each human box using various inputs from our first-stage network.</div>

，人体姿态被表示为参数网格模型（如SMPL [^7]）或基于骨架的关键点。该领域的以往研究大致可分为两类主要方法：自上而下方法[^4]、[^8]和自下而上方法[^9]、[^10]。自上而下方法将姿态估计问题解耦为：使用现成目标检测网络进行单人检测，然后在裁剪出的目标区域进行单人姿态估计。相比之下，自下而上方法先估计不区分实例的关键点，再将其分组[^9]，或利用基于中心的特征表示直接回归关节参数[^10]。近年一些研究[^11]、[^12]借鉴DETR [^13]中的集合匹配设计，探索使用Transformer解码器以端到端方式估计人体姿态。然而，基于图像的3D HPE存在精度不足的问题，并且由于频繁遮挡和深度估计难度大，普遍认为不适用于大规模户外场景。

基于LiDAR的3D人体姿态估计 为了解决深度歧义问题，一些研究人员[^14]、[^15]探索了使用深度图像进行3D HPE。与深度图像相比，LiDAR点云覆盖范围更大，尤其适用于户外场景，例如自动驾驶应用。Waymo Open Dataset [^16]近期发布了关联2D图像和3D LiDAR点云上的人体关键点标注。然而，由于缺乏足够的3D标注，以往研究[^1]、[^3]主要聚焦于半监督学习方法。这类方法将2D标注提升到3D空间，并依赖图像和LiDAR特征融合完成HPE任务。

### III. 方法

LPFormer是一款专为3D位姿估计设计的纯激光雷达两阶段模型。图2给出了本文框架的整体概览。LPFormer的输入仅包含点云，表示为一组激光雷达点 $P = \{p_i | p_i \in \mathbb{R}^{3+C_{point}}\}_{i=1}^N$，其中N表示点的数量， $C_{point}$包含每个点的强度、伸长率、时间戳等附加特征。在第一阶段，我们采用了一个强大的多任务网络 [^5]，该网络可准确预测3D目标检测和3D语义分割结果，并融合了有意义的语义特征。受近期一项研究 [^3]的启发，我们的第二阶段采用了基于Transformer的模型。该模型以第一阶段的各类输出为输入，生成3D人体关键点 $Y_{kp} \in \mathbb{R}^{N_{kp} \times 3}$ 以及对应的可见性标记 $Y_{vis} \in \mathbb{R}^{N_{kp}}$，其中 $N_{kp}$ 是3D关键点的数量。

### A. 第一检测阶段

我们LPFormer的第一阶段采用LidarMultiNet [^5] 的方法从原始点云P中提取点云特征。如图2所示，该结构由3D编码器-解码器结构构成，二者之间设有全局上下文池化（Global Context Pooling，GCP）模块。3D检测头连接在密集的二维BEV特征图上，通过该检测头预测得到3D目标边界框。

利用多级特征嵌入丰富点特征。在每个检测得到的边界框内，点会

---

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

<div style="text-align: center;">Fig. 3: Illustration of Keypoint Transformer (KPTR). In the initial stage of our KPTR, we start by compressing the feature dimension of the box features. These compressed box features are then repeated and concatenated with the point features and point voxel features. The keypoint queries are generated from learnable embedding features. Then L sequences of KPTR operations are performed on the keypoint queries and point tokens. Finally, the keypoint queries are passed through three distinct MLPs to learn the XY offsets, and the visibilities of the 3D keypoints. Simultaneously, the point tokens are processed by an MLP to learn the point-wise segmentation labels for the 3D keypoints, which serves as an auxiliary task.</div>

经过包含平移和旋转的局部坐标变换处理。变换后的点随后会与对应的原始点特征拼接，得到 $P_{point} \in \mathbb{R}^{M \times N_{max} \times (3 + C_{point})}$，其中M是边界框的数量， $N_{max}$ 代表每个边界框内允许的最大3D点数量。对于每个边界框，我们随机移除多余的点；如果框内点的数量少于 $N_{max}$，则用零填充。此外，我们通过对应体素化索引从解码器中采集3D稀疏特征，生成点体素特征 $P_{voxel} \in \mathbb{R}^{M \times N_{max} \times C_{voxel}}$，其中 $C_{voxel}$ 表示解码器最后阶段的通道大小。与CenterPoint [^17]类似，对于每个边界框，我们提取二维BEV特征图中框中心以及各边中心处的BEV特征作为框特征 $B \in \mathbb{R}^{M \times (5 \times C_{BEV})}$。

### B. 关键点Transformer第二阶段

借助鲁棒的第一阶段模型LidarMultiNet [^5]的能力，我们的第二阶段能够利用有价值的语义特征捕捉复杂的目标细节，包括人体3D位姿。与LidarMultiNet [^5]不同，我们选择Transformer架构而非类PointNet [^18]结构作为第二阶段，以便通过注意力机制利用局部点信息，对3D关键点进行有效建模。我们第二阶段的细节如图3所示。

具体而言，我们的第二阶段从局部点特征$r_{point}$、语义体素级点特征$P_{voxel}$和框级特征B中提取各类特征，为每个行人或骑行者包围盒预测3D关键点。给定框级特征B，我们首先使用多层感知机（MLP）将其维度从$\mathbb{R}^{5 \times C_{BEV}}$压缩至$\mathbb{R}^{C_{compressed}}$。随后该压缩后的框级特征被复制为$P_{box} \in \mathbb{R}^{N_{max} \times C_{compressed}}$，并与点级特征$P_{point}$和$P_{voxel}$融合，得到$P_{cat} \in \mathbb{R}^{N_{max} \times (3 + C_{point} + C_{voxel} + C_{compressed})}$。融合后的点级特征经过简单矩阵乘法得到$X_{point} \in \mathbb{R}^{N_{max} \times C_{tr}}$，该结果作为关键点Transformer（KPTR）的一部分输入。KPTR的另一部分输入是可学习的3D关键点查询$X_{kp} \in \mathbb{R}^{N_{kp} \times C_{tr}}$。接下来，我们使用由L个多头自注意力块和前馈网络块组成的KPTR学习内部特征$X'_{point}$和$X'_{kp}$。最后，关键点内部特征$X'_{kp}$被输入三个独立的MLP，分别预测X轴和Y轴方向的3D关键点偏移量$\hat{Y}_{xy} \in \mathbb{R}^{N_{kp} \times 2}$、Z轴方向的3D关键点偏移量$\hat{Y}_{z} \in \mathbb{R}^{N_{kp} \times 1}$以及3D关键点可见性$\hat{Y}_{vis} \in \mathbb{R}^{N_{kp}}$。此外，点级内部特征$X'_{point}$经过MLP处理，用于估计点级关键点分割结果$\hat{Y}_{kpseg} \in \mathbb{R}^{N_{max} \times (N_{kp} + 1)}$。

在最终预测阶段，我们将预测得到的三维

在最终预测阶段，我们结合预测得到的三维关键点偏移量$\hat{Y}_{xy}$、$\hat{Y}_{z}$以及预测得到的三维关键点可见性$\hat{Y}_{vis}$，生成每个包围盒对应的人体姿态。随后我们进行逆坐标变换，将预测得到的人体姿态从局部

---

坐标系转换到全局激光雷达坐标系。此外，预测得到的点级关键点分割结果$\hat{Y}_{kpseg}$作为辅助任务，帮助KPTR学习点级局部信息，并通过注意力机制提升3D关键点回归的效果。在实验章节中，我们将证明该辅助任务可以显著提升模型的整体性能。

### C. 训练与损失函数

在训练阶段，我们使用标注了3D关键点标签的真值包围盒替换预测得到的包围盒。这种替换是必要的，因为只有有限数量的真值包围盒标注了3D关键点标签。采用该方法可以简化并加速训练过程。此外，受[^1]启发，我们引入点级关键点分割任务作为辅助任务，提升3D关键点回归的性能。伪分割标签$Y_{kpseg} \in \mathbb{R}^{N_{max} \times (N_{kp}+1)}$通过将每个3D关键点的类别分配给其K个最近邻点生成，该辅助任务使用交叉熵损失进行监督，形式为$\mathcal{L}_{kpseg}$。

为了更好地进行3D关键点回归，我们将其拆分为两个分支：一个分支负责X轴和Y轴方向的回归，另一个分支负责Z轴方向的回归。该拆分基于我们的观察：Z轴方向偏移量的预测相对X轴和Y轴更加简单。我们使用平滑L1损失对这两个回归分支进行监督，分别记为$\mathcal{L}_{xy}$和$\mathcal{L}_{z}$。请注意，只有可见的3D关键点会对回归损失产生贡献。此外，我们将关键点的可见性视为二分类问题，使用二元交叉熵损失进行监督，记为$\mathcal{L}_{vis}$。

LidarMultiNet的第一阶段按照[^5]中的说明进行预训练，并在3D关键点训练阶段保持冻结。我们为每个损失分量引入权重因子，最终损失函数的形式如下：

 $$ \mathcal{L}_{t o t a l}=\lambda_{1}\mathcal{L}_{x y}+\lambda_{2}\mathcal{L}_{z}+\lambda_{3}\mathcal{L}_{v i s}+\lambda_{4}\mathcal{L}_{k p s e g} $$

其中$\lambda_{1}, \lambda_{2}, \lambda_{3}, \lambda_{4}$为权重因子，分别固定为5、1、1和1。

### 四、实验

### A. 数据集

Waymo开放数据集（Waymo Open Dataset, WOD）在v1.3.2版本中发布了人体关键点标注，该版本数据集包含LiDAR距离图像及对应的相机图像。我们使用v1.4.2版本进行训练和验证。用于评估的14类关键点定义为：鼻子、左肩、左肘、左手腕、左髋、左膝、左脚踝、右肩、右肘、右手腕、右髋、右膝、右脚踝和头中心。与同样依赖图像的方法对比时需要注意，数据集中共有144709个带2D关键点标注的目标，但仅有8125个带3D关键点标注的目标可用于训练。

### B. 评估指标

我们采用平均关节位置误差（mean per-joint position error, MPJPE）和姿态估计指标（Pose Estimation Metric, PEM）作为评估我们方法的指标。在MPJPE中，某组人体关键点j的第i个预测关节的可见性由$v_{i}^{j} \in [0,1]$表示，指示该关节是否存在真值。因此，整个数据集的MPJPE计算如下：

 $$ \mathbf{M}\mathbf{P}\mathbf{J}\mathbf{P}\mathbf{E}(Y,\hat{Y})=\frac{1}{\sum_{i,j}v_{i}^{j}}\sum_{i,j}v_{i}^{j}||Y_{i}^{j}-\hat{Y}_{i}^{j}||_{2}, $$

其中Y和$\hat{Y}$分别是关键点的真实3D坐标和预测3D坐标。

PEM是专门为WOD姿态估计挑战赛设计的新指标。除了关键点定位误差和可见性分类准确率之外，该指标还对目标检测的假阳性率和假阴性率敏感，同时对目标检测的交并比（Intersection over Union, IoU）不敏感。PEM由可见匹配关键点的MPJPE与未匹配关键点的惩罚项加权求和得到，形式如下：

 $$ \mathbf{P E M}(Y,\hat{Y})=\frac{\sum_{i\in M}\|y_{i}-\hat{y}_{i}\|_{2}+C|U|}{|M|+|U|}, $$

其中M是匹配关键点的索引集合，U是未匹配关键点的索引集合，C = 0.25是未匹配关键点的常数惩罚项。鉴于WOD关键点数据为部分标注，MPJPE仅评估匹配关键点的定位准确率，而PEM同时衡量关键点定位准确率和目标检测质量，更符合实际应用场景。

### C. 实现细节

在所有实验中，我们使用预训练的LidarMultiNet [^5]作为我们框架的第一阶段，该阶段在第二阶段的训练过程中保持冻结。关于第一阶段的更多网络和训练细节，请参考LidarMultiNet [^5]。

对于KPTR，输入的维度即$C_{point}$、$C_{voxel}$和$C_{BEV}$分别设置为3、32和512。压缩特征的大小记为$C_{compressed}$，值为32。我们将每个边界框内的最大点数限制为1024。对于Transformer架构，和近期工作[^3]类似，我们使用$L = 4$个阶段，嵌入尺寸为$C_{tr} = 256$，前馈网络的内部通道数为256，多头注意力（MultiHeadAttention）层使用8个注意力头。3D关键点的总数$N_{kp}$为14。经计算，KPTR的参数量仅为9.61M，占总参数量的22.4%。

在训练过程中，我们采用了多种数据增强方法，包括标准随机翻转、全局缩放、旋转和平移。需要注意的是，点云翻转会影响3D关键点标注之间的关系，效果类似镜像。当沿X轴或Y轴执行翻转操作时，3D关键点的左侧部分会与右侧部分发生交换。

---

<div style="text-align: center;">TABLE I: PEM and MPJPE results on the test split of WOD.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Model</td><td colspan="2">shoulders</td><td colspan="2">elbows</td><td colspan="2">wrists</td><td colspan="2">hips</td><td colspan="2">knees</td><td colspan="2">ankles</td><td colspan="2">head</td><td colspan="2">all</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>PEM</td><td style='text-align: center; word-wrap: break-word;'>MPJPE</td><td style='text-align: center; word-wrap: break-word;'>PEM</td><td style='text-align: center; word-wrap: break-word;'>MPJPE</td><td style='text-align: center; word-wrap: break-word;'>PEM</td><td style='text-align: center; word-wrap: break-word;'>MPJPE</td><td style='text-align: center; word-wrap: break-word;'>PEM</td><td style='text-align: center; word-wrap: break-word;'>MPJPE</td><td style='text-align: center; word-wrap: break-word;'>PEM</td><td style='text-align: center; word-wrap: break-word;'>MPJPE</td><td style='text-align: center; word-wrap: break-word;'>PEM</td><td style='text-align: center; word-wrap: break-word;'>MPJPE</td><td style='text-align: center; word-wrap: break-word;'>PEM</td><td style='text-align: center; word-wrap: break-word;'>MPJPE</td><td style='text-align: center; word-wrap: break-word;'>PEM</td><td style='text-align: center; word-wrap: break-word;'>MPJPE</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>baseline</td><td style='text-align: center; word-wrap: break-word;'>0.2323</td><td style='text-align: center; word-wrap: break-word;'>0.1894</td><td style='text-align: center; word-wrap: break-word;'>0.2354</td><td style='text-align: center; word-wrap: break-word;'>0.2083</td><td style='text-align: center; word-wrap: break-word;'>0.2391</td><td style='text-align: center; word-wrap: break-word;'>0.2240</td><td style='text-align: center; word-wrap: break-word;'>0.2334</td><td style='text-align: center; word-wrap: break-word;'>0.1807</td><td style='text-align: center; word-wrap: break-word;'>0.2327</td><td style='text-align: center; word-wrap: break-word;'>0.1934</td><td style='text-align: center; word-wrap: break-word;'>0.2345</td><td style='text-align: center; word-wrap: break-word;'>0.2250</td><td style='text-align: center; word-wrap: break-word;'>0.2376</td><td style='text-align: center; word-wrap: break-word;'>0.1984</td><td style='text-align: center; word-wrap: break-word;'>0.2349</td><td style='text-align: center; word-wrap: break-word;'>0.2022</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>KTD</td><td style='text-align: center; word-wrap: break-word;'>0.2261</td><td style='text-align: center; word-wrap: break-word;'>0.1876</td><td style='text-align: center; word-wrap: break-word;'>0.2301</td><td style='text-align: center; word-wrap: break-word;'>0.2065</td><td style='text-align: center; word-wrap: break-word;'>0.2349</td><td style='text-align: center; word-wrap: break-word;'>0.2227</td><td style='text-align: center; word-wrap: break-word;'>0.2276</td><td style='text-align: center; word-wrap: break-word;'>0.1790</td><td style='text-align: center; word-wrap: break-word;'>0.2267</td><td style='text-align: center; word-wrap: break-word;'>0.1919</td><td style='text-align: center; word-wrap: break-word;'>0.2290</td><td style='text-align: center; word-wrap: break-word;'>0.2237</td><td style='text-align: center; word-wrap: break-word;'>0.2328</td><td style='text-align: center; word-wrap: break-word;'>0.1973</td><td style='text-align: center; word-wrap: break-word;'>0.2295</td><td style='text-align: center; word-wrap: break-word;'>0.2007</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>LPFormer</td><td style='text-align: center; word-wrap: break-word;'>0.1428</td><td style='text-align: center; word-wrap: break-word;'>0.0462</td><td style='text-align: center; word-wrap: break-word;'>0.1511</td><td style='text-align: center; word-wrap: break-word;'>0.0578</td><td style='text-align: center; word-wrap: break-word;'>0.1771</td><td style='text-align: center; word-wrap: break-word;'>0.0951</td><td style='text-align: center; word-wrap: break-word;'>0.1519</td><td style='text-align: center; word-wrap: break-word;'>0.0562</td><td style='text-align: center; word-wrap: break-word;'>0.1477</td><td style='text-align: center; word-wrap: break-word;'>0.0578</td><td style='text-align: center; word-wrap: break-word;'>0.1479</td><td style='text-align: center; word-wrap: break-word;'>0.0663</td><td style='text-align: center; word-wrap: break-word;'>0.1544</td><td style='text-align: center; word-wrap: break-word;'>0.0443</td><td style='text-align: center; word-wrap: break-word;'>0.1524</td><td style='text-align: center; word-wrap: break-word;'>0.0594</td></tr></table>

<div style="text-align: center;">TABLE II: The comparison on the WOD val split. *: reported by [^3], where the result is tested on randomly selected 50% of subjects from the WOD val split. "L", "CL" denote LiDAR-only, camera & LiDAR fusion methods.</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;'>Modal</td><td style='text-align: center; word-wrap: break-word;'>gt box</td><td style='text-align: center; word-wrap: break-word;'>MPJPE(cm) $\downarrow$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>ContextPose [^19] $^{{*}}$</td><td style='text-align: center; word-wrap: break-word;'>C</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>10.82</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Multi-modal [^1]</td><td style='text-align: center; word-wrap: break-word;'>CL</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>10.32</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>GC-KPL [^1]</td><td style='text-align: center; word-wrap: break-word;'>L</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>10.10</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>THUNDR [^20] $^{{*}}$</td><td style='text-align: center; word-wrap: break-word;'>C</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>9.62</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>THUNDR [^20] w/ depth $^{{*}}$</td><td style='text-align: center; word-wrap: break-word;'>CL</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>9.20</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Bauer et al. [^21]</td><td style='text-align: center; word-wrap: break-word;'>CL</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>8.58</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HUM3DIL [^3] $^{{*}}$</td><td style='text-align: center; word-wrap: break-word;'>CL</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>6.72</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>LPFormer</td><td style='text-align: center; word-wrap: break-word;'>L</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>6.16</td></tr></table>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Baseline</td><td style='text-align: center; word-wrap: break-word;'>2nd</td><td style='text-align: center; word-wrap: break-word;'>seg aux</td><td style='text-align: center; word-wrap: break-word;'>transformer</td><td style='text-align: center; word-wrap: break-word;'>box feat</td><td style='text-align: center; word-wrap: break-word;'>PEM $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>MPJPE $\downarrow$</td></tr><tr><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;'>0.1908</td><td style='text-align: center; word-wrap: break-word;'>0.1801</td></tr><tr><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;'>0.1176</td><td style='text-align: center; word-wrap: break-word;'>0.0865</td></tr><tr><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;'>0.1149</td><td style='text-align: center; word-wrap: break-word;'>0.083</td></tr><tr><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;'>0.1044</td><td style='text-align: center; word-wrap: break-word;'>0.0703</td></tr><tr><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;'>0.0976</td><td style='text-align: center; word-wrap: break-word;'>0.0616</td></tr></table>

<div style="text-align: center;">TABLE III: The ablation of improvement of each component on the WOD val split.</div>

为训练我们的模型，我们使用AdamW优化器配合单周期学习率调度器，总共训练20个epoch。训练过程设置的最大学习率为3e-3，权重衰减为0.01，动量范围为0.85至0.95。所有实验均在8块Nvidia A100 GPU上开展，批量大小设置为16。

### D. 姿态估计主要结果

我们在官方在线测试提交平台上测试了模型性能。我们使用Waymo训练集与验证集拆分后的组合数据集训练模型。结果如表I所示，证明我们的LPFormer性能出色，PEM为0.1524，MPJPE为0.0594，在排行榜上排名$1^{st}$位。值得注意的是，我们的LPFormer在所有类别的PEM和MPJPE两项指标上均优于所有其他方法。

为全面分析我们LPFormer的性能，我们在验证集上将其与其他SOTA方法进行对比，结果如表II所示。需要注意的是，所有已有方法都是在WOD验证拆分的子集上完成评估的。此外，这些方法在测试时会将真值3D边界框和对应的真值2D边界框作为输入，简化了问题。尽管其中部分方法采用了相机与激光雷达融合或2D弱监督，我们的LPFormer仍在MPJPE指标上优于所有这些方法，取得了6.16cm的优异结果。

<div style="text-align: center;">TABLE IV: The ablation of training with GT boxes or predicted boxes on the WOD val split. "gt box" denotes training with GT boxes only, "pred box" denotes training with predicted boxes, "multiple box" denotes assigning multiple predicted boxes to each GT through their IoUs, and "add gt" denotes training with predicted boxes and GT boxes.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>gt box</td><td style='text-align: center; word-wrap: break-word;'>pred box</td><td style='text-align: center; word-wrap: break-word;'>multiple box</td><td style='text-align: center; word-wrap: break-word;'>add gt</td><td style='text-align: center; word-wrap: break-word;'>PEM $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>MPJPE $\downarrow$</td></tr><tr><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;'>0.0976</td><td style='text-align: center; word-wrap: break-word;'>0.0616</td></tr><tr><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;'>0.1009</td><td style='text-align: center; word-wrap: break-word;'>0.0659</td></tr><tr><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;'>0.1005</td><td style='text-align: center; word-wrap: break-word;'>0.0645</td></tr><tr><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;'>0.0995</td><td style='text-align: center; word-wrap: break-word;'>0.0633</td></tr></table>

<div style="text-align: center;">TABLE V: The ablation of point features selections on the WOD val split.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>point features</td><td style='text-align: center; word-wrap: break-word;'>voxel features</td><td style='text-align: center; word-wrap: break-word;'>PEM $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>MPJPE $\downarrow$</td></tr><tr><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;'>0.0976</td><td style='text-align: center; word-wrap: break-word;'>0.0616</td></tr><tr><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;'>0.0992</td><td style='text-align: center; word-wrap: break-word;'>0.0639</td></tr><tr><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;'>0.1003</td><td style='text-align: center; word-wrap: break-word;'>0.0652</td></tr></table>

### E. 消融实验

表III展示了第一阶段与LPFormer的性能对比，以及第二阶段各组件对整体性能的贡献。第一阶段的结果直接由BEV特征图后的center head输出。由于BEV特征图主要由检测任务驱动，且分辨率较低，缺乏细粒度特征，因此性能表现一般。第二阶段与LidarMultiNet [^5]中的第二阶段优化模块类似，在引入逐点细粒度特征后性能得到了显著提升。通过添加关键点分割辅助任务、采用transformer结构以及融入边界框特征，性能得到了进一步提升，所有这些组件都对模型性能提升有不同程度的贡献。

表IV的结果表明，将真值边界框融入训练过程不仅高效，还能提升模型性能。仅使用与对应真值边界框IoU最高的预测边界框进行训练会导致性能下降。允许每个真值边界框匹配多个预测边界框可以提升性能；当将这些预测框与真值边界框结合使用时，性能会进一步提升。不过，仅使用真值边界框仍然能取得最佳性能。

表V展示了针对点特征和体素特征的消融实验。本文中，点特征指的是强度、伸长率、时间戳等额外特征，而点的xyz坐标会被保留。在

---

![Image](images/b1ecf3d42550397157af66676d31545954e1525404a700478a7295640246e51e.jpg)

![Image](images/809898078b7e2c779d31aa201ad3b1ded70cd3f536872ae329a6c24dd5a36cd1.jpg)

<div style="text-align: center;">Fig. 4: Prediction results on the whole scene with a significant number of pedestrians in the validation set.</div>

![Image](images/bb3cfbed6ef1d16325b02cabed18b6228701f3e7d483935a28f6db365951304c.jpg)

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

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

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

<div style="text-align: center;">Fig. 5: Prediction results compared to the Ground Truth and the 1st stage results.</div>

在KPTR框架中，我们观察到当点特征和体素特征结合使用时性能达到最优，移除任意一种特征都会导致性能下降。

### F. 定性结果

图1展示了我们的模型对验证集中某一帧从特定角度观测得到的预测输出。模型输入仅为3D LiDAR点云。值得注意的是，我们的网络可同时输出3D语义分割、3D bounding box结果，另外为便于可视化，还会输出对应的3D关键点（红色）和相应线框（黄色）。我们的模型还会预测可见性，例如从左数第二个人的左膝被预测为不可见，左脚为可见；从右数第三个人的双脚都被预测为不可见；从右数第六个人的右肘被预测为不可见，但右手为可见。图4展示了验证集中整幅场景的部分预测结果。

图5展示了验证集上的部分预测结果。从左到右，三列分别代表真值、第一阶段预测结果和LPFormer的预测结果。每一行展示同一组目标。可以看到，三组结果中LPFormer的性能都明显优于第一阶段的输出。第一行展示了一名真值标注极其有限的骑行者，尽管标注数量有限，LPFormer仍然输出了有意义的结果。第二行中，除了左侧行人的右手可见性被误判为FN之外，LPFormer的结果与真值惊人地接近。第三行表明，即使对于没有真值标注的行人，LPFormer仍然能产出令人满意的结果：对于右侧正在跑步的行人，LPFormer的表现非常出色，但左侧行人的头中心是一例FP案例，并且在相似真值标注数量较少的情况下，双手交叉的姿态本身就是一个难点案例。

### V. 结论

以往基于LiDAR的3D人体姿态估计方法通常将该问题作为独立任务处理，忽视了利用其他LiDAR感知网络学习到的有效特征的潜力。本文提出了仅基于LiDAR的端到端$1^{st}$3D人体姿态估计解决方案。我们提出的LPFormer不仅在大规模Waymo开放数据集上取得了当前最优性能，更重要的是，它证明了3D人体姿态估计可以仅以3D点云作为输入、仅使用有限数量的3D标注就能解决。LPFormer还证明了，主流LiDAR感知任务可以学习到鲁棒的特征表示，这些表示能够惠及人体姿态估计这类其他细粒度任务。未来工作中，我们计划通过广泛融合LiDAR和相机数据进一步改进LPFormer方法，此外还将探索2D弱监督方向。

---

## 参考文献

[^1]: J. Zheng, X. Shi, A. Gorban, J. Mao, Y. Song, C. R. Qi, T. Liu, V. Chari, A. Cornman, Y. Zhou, et al., “Multi-modal 3d human pose estimation with 2d weak supervision in autonomous driving,” in CVPRW, 2022.

[^2]: P. Cong, Y. Xu, Y. Ren, J. Zhang, L. Xu, J. Wang, J. Yu, and Y. Ma, "Weakly supervised 3d multi-person pose estimation for large-scale scenes based on monocular camera and single lidar," in AAAI, 2023.

[^3]: A. Zanfir, M. Zanfir, A. Gorban, J. Ji, Y. Zhou, D. Anguelov, and C. Sminchisescu, “Hum3dil: Semi-supervised multi-modal 3d humanpose estimation for autonomous driving,” in CoRL, 2022.

[^4]: K. Sun, B. Xiao, D. Liu, and J. Wang, “Deep high-resolution representation learning for human pose estimation,” in CVPR, 2019.

[^5]: D. Ye, Z. Zhou, W. Chen, Y. Xie, Y. Wang, P. Wang, and H. Foroosh, "Lidarmultinet: Towards a unified multi-task network for lidar perception," in AAAI, 2023.

[^6]: Z. Zhou, D. Ye, W. Chen, Y. Xie, Y. Wang, P. Wang, and H. Foroosh, "Lidarformer: A unified transformer-based multi-task network for lidar perception," in ICRA, 2024.

[^7]: M. Loper, N. Mahmood, J. Romero, G. Pons-Moll, and M. J. Black, "Smpl: A skinned multi-person linear model," ACM transactions on graphics (TOG), 2015.

[^8]: Z. Li, J. Liu, Z. Zhang, S. Xu, and Y. Yan, "Cliff: Carrying location information in full frames into human pose and shape estimation," in ECCV, 2022.

[^9]: B. Cheng, B. Xiao, J. Wang, H. Shi, T. S. Huang, and L. Zhang, "Higherhrnet: Scale-aware representation learning for bottom-up human pose estimation," in CVPR, 2020.

[^10]: Y. Sun, Q. Bao, W. Liu, Y. Fu, M. J. Black, and T. Mei, “Monocular, one-stage, regression of multiple 3d people,” in ICCV, 2021.

[^11]: D. Shi, X. Wei, L. Li, Y. Ren, and W. Tan, “End-to-end multi-person pose estimation with transformers,” in CVPR, 2022.

[^12]: J. Yang, A. Zeng, S. Liu, F. Li, R. Zhang, and L. Zhang, “Explicit box detection unifies end-to-end multi-person pose estimation,” in ICLR, 2023.

[^13]: N. Carion, F. Massa, G. Synnaeve, N. Usunier, A. Kirillov, and S. Zagoruyko, “End-to-end object detection with transformers,” in ECCV, 2020.

[^14]: C. Zimmermann, T. Welschehold, C. Dornhege, W. Burgard, and T. Brox, "3d human pose estimation in rgbd images for robotic task learning," in ICRA, 2018.

[^15]: F. Xiong, B. Zhang, Y. Xiao, Z. Cao, T. Yu, J. T. Zhou, and J. Yuan, "A2j: Anchor-to-joint regression network for 3d articulated pose estimation from a single depth image," in ICCV, 2019.

[^16]: P. Sun, H. Kretzschmar, X. Dotiwalla, A. Chouard, V. Patnaik, P. Tsui, J. Guo, Y. Zhou, Y. Chai, B. Caine, et al., “Scalability in perception for autonomous driving: Waymo open dataset,” in CVPR, 2020.

[^17]: T. Yin, X. Zhou, and P. Krahenbuhl, “Center-based 3d object detection and tracking,” in CVPR, 2021.

[^18]: C. R. Qi, H. Su, K. Mo, and L. J. Guibas, “Pointnet: Deep learning on point sets for 3d classification and segmentation,” in CVPR, 2017.

[^19]: X. Ma, J. Su, C. Wang, H. Ci, and Y. Wang, “Context modeling in 3d human pose estimation: A unified perspective,” in CVPR, 2021.

[^20]: M. Zanfir, A. Zanfir, E. G. Bazavan, W. T. Freeman, R. Sukthankar, and C. Sminchisescu, “Thundr: Transformer-based 3d human reconstruction with markers,” in ICCV, 2021.

[^21]: P. Bauer, A. Bouazizi, U. Kressel, and F. B. Flohr, “Weakly supervised multi-modal 3d human body pose estimation for autonomous driving,” in 2023 IEEE Intelligent Vehicles Symposium (IV), 2023.
