PoseVocab: Learning Joint-structured Pose Embeddings for Human Avatar Modeling
Tsinghua University
一句话总结
PoseVocab 提出一种”关节结构化位姿嵌入”的编码方式:借鉴 word2vec 的词嵌入思想,为每个关节采样若干关键旋转并给它们分配可学习的位姿嵌入,让网络自己去发现能编码高频动态外观的最优表征,从而从多视角 RGB 视频重建出对新姿态泛化良好、带真实褶皱细节的可驱动人体化身。
研究背景
- 领域现状:可驱动人体化身通常以骨骼姿态为驱动信号,用神经网络(多为 MLP)把姿态映射到带姿态相关动态细节的人体外观。现有方法大多把 SMPL 派生属性(位姿向量、SMPL positional/normal map)当作条件位姿特征。
- 核心痛点:驱动信号(SMPL 派生属性)是低频变化的,而人体外观(尤其衣物褶皱)是高频变化的;再加上 MLP 本身存在低频偏置,导致网络难以学到这种低频到高频的映射,合成结果往往模糊、缺乏细粒度褶皱。此前给每帧分配一个全局隐编码的做法(如 Animatable NeRF、Neural Body)表征能力有限、且全局编码把所有关节的信息纠缠在一起,对新姿态泛化差。
- 本文 idea:与其硬让 MLP 拟合低频到高频的映射,不如把”条件位姿特征”本身变成可学习的嵌入,让低频姿态只承担查询键(key)的角色。并且按关节把这些嵌入拆开、分布在每个关节的旋转域里,解耦不同关节对外观的影响以获得更好的泛化与细节。
方法
整体框架:先用线性混合蒙皮(LBS)把人体从 posed 空间变形到 canonical 空间,把化身表示成一个以位姿特征为条件的神经辐射场(基于 SDF 的 VolSDF 体渲染)。核心在于位姿特征 \(\boldsymbol{f}(\Theta, \boldsymbol{v}_c)\) 的构造:训练阶段基于训练姿态构建 PoseVocab(关节结构化的”关键旋转 → 位姿嵌入”键值对);动画阶段对查询姿态做分层查询、插值出位姿特征,再送入 MLP 解码辐射场做体渲染。
flowchart LR
A["多视角 RGB 视频 + SMPL 位姿"] --> B["构建 PoseVocab: 每关节采样关键旋转 + 分配位姿嵌入(特征线)"]
C["查询姿态 + 3D 位置"] --> D["关节级: 拆分为各关节旋转"]
D --> E["关键旋转级: KNN 搜索 + 混合特征线"]
E --> F["空间级: 正交投影采样位姿特征"]
B --> E
F --> G["条件 NeRF MLP 解码 c, s"]
G --> H["体渲染 → 高保真化身"]
关键设计:
-
关节结构化位姿嵌入:对第 \(j\) 个关节的训练旋转集合,用最远点采样挑出 \(M\) 个关键旋转,旋转间的距离度量基于单位四元数点积:\(d(\theta_1,\theta_2)=1-\lvert q(\theta_1)^{\top} q(\theta_2)\rvert\)。每个关键旋转配一个可学习位姿嵌入。这样把全局位姿嵌入分解到各关节,既解耦不同关节对动态外观的控制,又充当连续位姿特征空间的离散采样点供插值。
-
特征线(Feature Lines):若把每个位姿嵌入表示成体素或三平面,由于嵌入总数超过 5000,显存不可承受。作者改用沿 \(x,y,z\) 三条轴的特征线 \(\boldsymbol{F}_{j,x}^{m}\in\mathbb{R}^{R_x\times D}\) 等,查询点特征取三条线上投影插值结果的拼接。特征线在保留细粒度细节(衣物图案、logo)的同时兼顾显存效率——带特征线的模型 194 MB,全局编码仅 6.9 MB,但前者细节远胜。
-
分层查询(Hierarchical Query):分三级插值。关节级把查询位姿向量拆成各关节旋转;关键旋转级对每个关节旋转做 KNN 搜索、按 \(w(\theta_j,\hat{\theta}_j^{k})=1-d(\theta_j,\hat{\theta}_j^{k})\) 加权混合对应特征线;空间级在插值后的特征线上正交投影采样得到位姿特征,并借鉴 SCANimate 用蒙皮权重感知的注意力抑制无关关节影响。三级分别负责泛化、时序一致性和空间细节。
-
训练:可学习变量是各关节位姿嵌入(特征线)与 NeRF MLP 参数。损失包含 L1 颜色损失、VGG-LPIPS 感知损失、掩码损失、Eikonal 几何正则、以及约束特征线沿空间维连续的 total variation 损失。训练采用先学粗几何、再用深度引导采样聚焦表面、最后开感知损失的三阶段策略。
实验结果
在 THuman4.0 的 subject00 序列上,对训练姿态与新姿态分别与 SLRF、Ani-NeRF、TAVA、ARAH 做定量对比,PoseVocab 在四项指标上全面领先,新姿态下的 FID 优势尤为明显:
| 姿态 | 方法 | PSNR ↑ | SSIM ↑ | LPIPS ↓ | FID ↓ |
|---|---|---|---|---|---|
| 训练 | Ours | 34.226 | 0.986 | 0.014 | 23.957 |
| 训练 | SLRF | 25.270 | 0.971 | 0.024 | 44.492 |
| 训练 | TAVA | 23.934 | 0.967 | 0.029 | 75.464 |
| 新姿态 | Ours | 30.972 | 0.977 | 0.017 | 37.239 |
| 新姿态 | SLRF | 26.152 | 0.969 | 0.024 | 110.651 |
| 新姿态 | TAVA | 26.607 | 0.968 | 0.032 | 99.947 |
其余实验用文字补充:在 DeepCap 的 S2 序列上与 Neural Actor 对比,PoseVocab 在 PSNR/LPIPS/FID 上均更优(25.836 / 0.061 / 15.228 对 23.531 / 0.066 / 19.714),且不像 Neural Actor 那样受 SMPL UV 参数化约束、无需紧身衣。位姿编码方式评估显示 PoseVocab 优于位姿向量、SMPL positional map 与 normal map 三种基线;消融证明特征线相比全局隐编码能保留更多图案细节,分层查询中的关节级对新姿态泛化和细节都有明显帮助;用不同相似度的 AIST++ 驱动姿态测试,PoseVocab 比”用 MLP 拟合姿态到嵌入映射”的基线泛化更好。
亮点与局限
- 亮点:
- 换了个思路——让低频姿态只做查询键、把条件特征改成可学习嵌入,绕开 MLP 低频偏置这一根本瓶颈。
- 按关节拆分嵌入实现解耦,对新姿态的泛化显著优于全局隐编码;关键旋转级的 KNN 平滑混合还带来时序一致性。
- 特征线是一个务实的表征选择,在数千个嵌入规模下兼顾细节表达力与显存开销。
- 端到端训练,不依赖重建、跟踪或布料仿真等预处理步骤。
- 局限:
- 依赖 SMPL 骨骼的逆蒙皮,无法处理长裙等宽松衣物;作者认为 PoseVocab 作为通用位姿编码可嫁接到 DDC、SLRF 等更适合宽松衣物的表征上。
- 单个化身需按主体单独训练,单卡 RTX 3090 约需 1.5~2 天,成本不低。
- 存在被滥用于 Deep Fakes 的社会风险,作者明确提示需谨慎部署。
延伸思考
PoseVocab 的核心洞见——把难学的”低频到高频映射”转化为”低频信号做检索键、可学习嵌入承载高频信息”——与 Instant-NGP 等特征网格思路一脉相承(论文也确实在多尺度上构建 PoseVocab),本质是把网络的表征负担卸载到可学习的显式结构里。它与后续大量涌现的 3D Gaussian Splatting 化身工作形成有趣对照:后者用显式高斯基元承载外观,而 PoseVocab 用关节结构化嵌入承载姿态相关外观,二者能否结合(例如用关节结构化嵌入去调制高斯属性)值得追问。此外,KNN 插值把新姿态隐式投影回训练姿态张成的空间,这解释了它比 MLP 外推更稳,但也暗示对训练姿态分布覆盖不足的极端新姿态仍可能退化,如何主动扩充关键旋转采样是一个可深入的方向。