引言
在计算机视觉和机器人技术飞速发展的版图中,理解人类的动作是至关重要的基础。无论是为了虚拟现实 (VR) 、医疗健康监测,还是创建数字替身,机器能够感知、描述并复刻人类肢体语言的能力都必不可少。
传统上,这一领域是割裂的。如果你想从图像中估计 3D 姿态,你需要使用一个特定的模型;如果你想根据“一个人在跑步”这样的文字描述生成 3D 动画,你需要一个完全不同的生成模型;而如果你想编辑一个姿态——比如让一个坐着的人物翘起二郎腿——那又需要另一套专门的系统。
这些任务——理解、生成和编辑——长期以来都是被孤立研究的。此外,大多数系统一次只能处理一种模态 (例如,只有文本到姿态,但没有图像到文本) 。
UniPose 应运而生。

UniPose 是一个新颖的框架,旨在统一这些差异。通过利用大语言模型 (LLM) 的推理能力,UniPose 将人类姿态数据视为一种“外语”,使得单一模型能够在文本、图像和 3D SMPL 表征之间理解、生成和编辑姿态。
在这篇文章中,我们将解构 UniPose 这篇论文。我们将探索研究人员如何将 3D 坐标转化为语言 Token,他们如何克服标准视觉编码器的局限性,以及他们如何修改 LLM 的注意力机制以处理人体骨骼独特的空间特性。
背景: 多模态挑战
在深入架构之前,有必要了解为什么这种统一是困难的。
模态鸿沟
关于姿态的人类交流涉及视觉线索 (看到一个姿态) 、语言描述 (说“他们正跪着”) 和空间理解 (关节的 3D 位置) 之间的无缝转换。
- 姿态理解 (Pose Comprehension) : 需要将视觉或 3D 数据转化为文本 (例如,姿态的图像描述) 。
- 姿态生成 (Pose Generation) : 需要将文本或图像转化为 3D 几何数据。
- 姿态编辑 (Pose Editing) : 需要理解初始状态,解释文本指令,并预测新的空间状态。
最近的多模态大语言模型 (MLLMs) 如 LLaVA 或 GPT-4V 在连接图像和文本方面取得了长足进步。然而,它们通常依赖于像 CLIP 这样的视觉编码器。虽然 CLIP 非常擅长匹配一般语义 (例如,知道照片里有“狗”或“草”) ,但它在细粒度的空间细节上表现挣扎。它可能知道一个人“站着”,但往往无法检测左膝是否轻微弯曲,或者右臂是否向后旋转了 45 度。
表征鸿沟
LLM 是基于离散 Token (单词或子词序列) 运作的。3D 人类姿态通常由 SMPL (Skinned Multi-Person Linear,蒙皮多人线性模型) 参数表示,即代表关节旋转和身体形状的连续数值。将连续数值直接输入到为离散词汇设计的 LLM 中既低效又难以建模。
UniPose 通过三个关键创新解决了这些鸿沟:
- 姿态分词器 (Pose Tokenizer) : 用于对齐 3D 数据与文本。
- 视觉处理器 (Visual Processor) : 用于捕捉细粒度细节。
- 统一的 LLM (Unified LLM) : 用于在单一框架中处理所有任务。
UniPose 框架
UniPose 的核心理念是将所有模态——文本、图像和姿态——引入到一个 LLM 可以处理的共享表征空间中。让我们看看它的高层架构。

如上方的架构图所示,该系统由三个主要组件组成。我们将逐一进行拆解。
1. 姿态分词器: 将姿态视为语言
为了让 LLM “说”姿态语言,研究人员将 3D 骨骼数据视为一种特定类型的语言。他们采用了 VQ-VAE (向量量化变分自编码器) 将连续的 3D SMPL 参数转换为离散的 Token。
工作原理: 分词器接收骨骼的连续旋转参数 (\(\theta\)) ,并通过编码器 (\(\mathcal{E}\)) 将其转换为潜在嵌入 (\(z\)) 。关键步骤是量化 。 模型在一个可学习的离散向量“码本” (\(\mathcal{B}_p\)) 中查找该嵌入的最近匹配项。
\[ \widehat { \boldsymbol { z } } = \underset { b _ { m } \in \mathcal { B } _ { p } } { \arg \operatorname* { m i n } } \left. \boldsymbol { z } - b _ { m } \right. _ { 2 } . \]
这个过程有效地将连续的姿态数据“吸附”到姿态字典中最接近的“单词”上。结果是一系列离散的码本索引,它们的行为与文本 Token 完全一样。
\[ \mathbf { u } = \underset { m \in \{ 1 , \dots , M \} } { \arg \operatorname* { m i n } } \ \| z - b _ { m } \| _ { 2 } . \]
通过扩展 LLM 的词汇表以包含这些姿态 Token,UniPose 创建了一个文本和姿态可以共存的统一空间。LLM 现在可以输出一系列 Token,由反分词器 (解码器 \(\mathcal{D}\)) 将其转换回 3D 人体网格。
2. 视觉处理器: 混合编码器
标准 MLLM 在详细的姿态估计上经常失败,因为它们仅依赖于 CLIP。为了解决这个问题,UniPose 引入了混合视觉编码器 (Mixture-of-Visual-Encoders) 。
视觉分支通过两条并行路径处理图像 \(x\):
- CLIP-ViT (\(f_a\)): 这个冻结的编码器将视觉特征与文本嵌入空间对齐。它提供“宏观”的上下文。
- Pose-ViT (\(f_b\)): 这是一个专门在姿态估计任务 (如 HMR 2.0) 上预训练的 Vision Transformer。它是检测关键点和关节位置的专家。
这两个编码器的输出被拼接并通过一个投影层。这种融合使模型既能理解语义上下文 (“一个人坐在椅子上”) ,又能理解精确的几何配置 (“左腿交叉在右腿上”) 。
3. 混合注意力机制
标准的 LLM 是自回归的。它们一次生成一个词,只看前面的词 (因果注意力) 。这对于从左到右线性流动的语言来说是合理的。
然而,人类姿态是非序列性的。你的手和脚的位置同时存在,并且在空间上相互依赖,而不是因果依赖。将姿态 Token 视为线性序列限制了模型对身体整体进行推理的能力。
UniPose 实施了一种混合注意力策略:
- 文本 Token: 使用标准的因果注意力 (Causal Attention,只看过去) 。
- 姿态 Token: 使用双向注意力 (Bidirectional Attention) 。 在生成或编辑姿态时,姿态 Token 可以同时相互关注。
这是通过在生成过程中使用预定义的“姿态查询向量” (\(Q\)) 来实现的。LLM 在单次前向传递中 (或并行地) 预测所有姿态 Token,这比逐个生成它们显著加快了推理速度。
训练范式
训练 UniPose 是一个多阶段的过程,旨在逐步教会模型对齐这些不同的模态。

第一阶段: 姿态分词器训练
首先,训练 VQ-VAE 以重建 3D 姿态。这建立了姿态的“字典”。一旦训练完成,分词器将被冻结。
第二阶段: 姿态-文本对齐预训练
训练 LLM 理解文本和姿态 Token 之间的关系。模型学习像“姿态到文本” (给骨骼配文) 和“文本到姿态” (根据描述生成骨骼) 这样的任务。
这里的损失函数是标准的对数似然目标,即最大化下一个正确 Token 的概率。例如,对于从姿态 \(u\) 生成文本描述 \(t\):
\[ \mathcal { L } _ { 1 } = \sum _ { i = 1 } ^ { L _ { t } } \log p _ { \theta } \left( t ^ { i } | \mathbf { v } / \mathbf { u } , t ^ { < i } \right) , \]
第三阶段: 视觉投影仪预训练
接下来,训练视觉投影仪以将图像与 LLM 的嵌入空间对齐。模型学习图像到文本和图像到姿态的任务。
第四阶段: 指令微调
最后,使用指令模板 (例如,“你能估计这张图片中人物的 SMPL 姿态吗?”) 对整个模型 (包括视觉编码器) 进行微调。这确保了模型能够遵循自然语言的用户指令。
实验与结果
研究人员在三大类任务中评估了 UniPose: 理解、生成和编辑。
1. 姿态理解
模型能描述它看到的东西吗?团队在从图像生成文本描述以及区分两张图像之间的差异 (Image-Diff) 等任务上测试了 UniPose。
在图像到文本 (Image-to-Text) 的比较中,UniPose 相比 GPT-4V 和 Qwen-VL 等通用 MLLM 显示出了显著优势。因为通用模型缺乏特定的姿态编码器,它们经常会对身体朝向产生幻觉。

在上图的例子中,注意 UniPose (左列) 如何准确地识别出错综复杂的击剑姿势。相比之下,其他模型可能大致了解是“击剑”,但未能正确描述具体的腿部位置或身体朝向。
2. 姿态生成 (文本到姿态)
对于从文本描述生成 3D 姿态,UniPose 与 PoseScript 和 ChatPose 等专用模型进行了比较。

UniPose 在检索指标 (\(R^{T2P}\)) 和重建误差 (MPJPE) 方面均取得了顶尖的结果。作者将这一成功归功于混合注意力机制 , 它允许模型捕捉身体部位之间的双向依赖关系,而不是试图“按顺序”构建骨骼。
3. 姿态估计 (图像到姿态)
这是经典的计算机视觉任务: 拍摄一张照片,输出一个 3D 网格。

如上方的定性结果所示,UniPose 生成的网格与源图像非常吻合,即使是对于复杂的动态动作 (如倒立或武术踢腿) 。
在定量方面,UniPose 以很大优势超越了其他基于 MLLM 的方法 (如 ChatPose) 。

关于精度的说明: 你可能会在表 4 中注意到,专门的回归方法 (如 HMR 2.0) 的误差率 (MPJPE) 仍然略低于 UniPose。这是意料之中的。专用模型纯粹为了坐标回归而优化。然而,UniPose 用少量的几何精度换取了巨大的灵活性——它可以解释为什么选择那个姿态,对其进行编辑,或对其进行描述,而这是 HMR 2.0 无法做到的。
4. 姿态编辑
最后,测试了根据指令编辑姿态的能力 (例如,“举起你的手”) 。

与 PoseFix 相比,UniPose 在编辑方面表现出更优越的性能,实现了更低的关节位置误差 (MPJPE) 和更好的分布匹配 (FID) 。这突显了模型理解语义指令并将其应用于空间 Token 的能力。
讨论与未来意义
UniPose 最令人着迷的能力之一是其零样本泛化能力 , 这得益于其多模态特性。
文本增强的姿态估计
由于模型既懂文本又懂视觉,用户可以指导姿态估计过程。如果模型在处理复杂图像时遇到困难,用户可以提供文本提示来阐明姿态。

在图 5 中,我们看到一个例子,初始预测略有偏差 (“Predicted Pose”) 。通过向模型提供关于姿态的文本描述以及图像 (“Enhanced Prompt”) ,UniPose 优化了其估计,从而更准确地匹配“目标姿态 (Target Pose) ”。这种“人在回路 (human-in-the-loop) ”的能力是使用基于 LLM 框架的一个显著优势。
为什么注意力机制很重要
论文中的消融实验强有力地支持了架构选择。具体来说,从标准的因果注意力切换到提议的混合注意力 (对姿态进行双向关注) 导致了巨大的性能提升和推理延迟的降低。

如表 7 所示,混合注意力将文本到姿态的检索率 (R_T2P) 从 9.0 提高到了 13.8,同时大幅缩减了延迟。
结论
UniPose 代表了以人为中心的 AI 向前迈出的重要一步。通过成功整合姿态分词器、双路视觉处理器和混合注意力 LLM,作者为人类姿态任务创造了一把“瑞士军刀”。
核心要点:
- 统一性: 我们不再需要分别的模型来理解、生成和编辑姿态。
- 细粒度感知: 集成特定于姿态的视觉编码器克服了通用 CLIP 嵌入的局限性。
- 空间-语义对齐: 将姿态视为一种语言使 LLM 能够推理身体力学,而将该语言视为“空间性的” (通过双向注意力) 是高性能的关键。
虽然专用回归模型在原始坐标精度上仍然占据王座,但 UniPose 为我们展示了一个未来: AI 不仅将人类运动理解为数字,而且将其理解为一种丰富的、描述性的和交互式的语言。
](https://deep-paper.org/en/paper/2411.16781/images/cover.png)