[CVPR 2024] Gaussian Wardrobe:解耦衣物与人体,开启 3D 虚拟试衣的新范式
Gaussian Wardrobe: Compositional 3D Gaussian Avatars for Free-Form Virtual Try-On
本文提出 Gaussian Wardrobe,一个基于 3D Gaussian Splatting 的组合式人体化身建模框架。通过将人体解构为独立的、与形状无关的(shape-agnostic)神经服装层,实现了高逼真度的动作合成及跨角色的自由虚拟试衣。
TL;DR
传统的 3D 神经化身研究(Neural Avatars)往往把人脸、皮肤、衣服焊死在一起,稍微动一下裙子就会产生离奇的拉伸。Gaussian Wardrobe 打破了这一僵局。它将人体化身彻底解构为“基础骨骼+独立服装层”,利用 3D Gaussian Splatting 技术,实现了衣服在不同 3D 角色之间的自由“拆卸”与“换装”,其渲染精度与动作捕捉能力均刷新了 SOTA 纪录。
1. 痛点:为什么“一锅端”的建模行不通?
在现有的 SOTA 方法中(如 Animatable Gaussians),模型通常学习一个从姿态到像素的映射。这种做法对于紧身背心或许奏效,但面对**宽松衣物(Free-form Garments)**极其无力:
- 动力学错位:裙摆或敞开的夹克并不会严格跟随骨骼运动。
- 不可重用性:即便你极其精细地建模了一件校服,它也无法直接套在另一个模特身上。
- 拓扑限制:当衣物层叠(如 T 恤外穿夹克)时,传统方法容易产生严重的视觉穿层(Penetration)。
2. 核心机理:构建“形状无关”的数字资产
Gaussian Wardrobe 的核心直觉在于:把所有的衣服都拉回到“零号身材”的规范空间中去。
2.1 组合式高斯表示 (Compositional Representation)
团队首先对模板网格进行 3D 分割,划分为上装、下装、外衣和身体。
- Canonicalization:通过移除主体特有的(Subject-specific)形状偏移量 ,将所有组件映射到一个“零形状”空间。
- StyleUNet 预测:为每个层分配独立的神经预测网络,输入当前的姿态图,输出该层对应的 3D Gaussian 原始参数(位置、旋转、不透明度等)。
2.2 物理启发式损失函数
为了让几层 3D Gaussians “听话”地叠在一起而不穿帮,作者引入了:
- Penetration Loss:通过估算高斯点的法向量,约束外层点必须在内层点的法向外侧。
- Segmentation Loss:确保网络不会为了凑像素而把衣服的颜色偷偷学到皮肤上。
图 1:Gaussian Wardrobe 从模板分割到多层渲染的全流程示意图
3. 实验表现:SOTA 与虚拟试衣
在 4D-DRESS(包含 32 个真实穿着复杂衣物的主体)数据集上的表现证明,Gaussian Wardrobe 在处理复杂动力学方面具有显著优势。
3.1 真实感对比
与基线方法 LayGA 相比,本方法在面部细节和衣物褶皱的清晰度上实现了跨越。尤其是在模特旋转、裙摆飞扬的场景下,由于其具备独立的解耦表示,不会出现以往常见的“身体部位半透明”或“衣服贴在皮肤内部”的诡异现象。
图 2:不同方法在多层衣物场景下的渲染效果对比
3.2 穿透修正机制 (Penetration-aware Rendering)
有趣的是,作者并未盲目追求复杂的 3D 几何碰撞解算,而是设计了一个高效的在线修正算法。在渲染时,检测深度图中非正常的“内层遮挡外观”,并实时用外层颜色进行覆盖。这使得系统能够在保持高帧率的前提下,消除 99% 的视觉穿透伪影。
4. 深度洞察:XR 与电商的未来
Gaussian Wardrobe 最具吸引力的点在于其实用性。 以往的 3D 试衣需要极其沉重的物理引擎模拟,而现在,通过存储这种“神经服装资产”,我们可以在毫米级延迟内,为任何虚拟人物更换任何风格的服装。
局限性: 目前该系统仍依赖于实验室环境下的多视图视频输入,且需要预先配准人体姿态。未来若能将其迁移至手机单目视频,将彻底颠覆现有的在线服装零售体验。
总结
这不仅是一个渲染质量更好的算法,更是一种关于“数字资产如何高效重用”的工程思考。它标志着 3D 人体化身从“单体雕塑”向“动态乐高”的转变。
