Single View Garment Reconstruction Using Diffusion Mapping Via Pattern Coordinates
École Polytechnique Fédérale de Lausanne; Mohamed bin Zayed University of Artificial Intelligence; Pinscreen
一句话总结
从一张穿衣人物照片出发,借助”隐式缝纫图(ISP)+ 扩散模型”在 2D UV 空间学到的服装形状先验,并用一个扩散映射模型把图像像素、UV 图坐标、3D 几何三个空间对齐起来,从而重建出高保真、可独立编辑的 3D 服装网格(尤其擅长宽松服装)。
研究背景
- 领域现状:从图像恢复人体与服装已有大量进展,紧身衣的人体姿态与形状估计相对成熟。多数方法用单一 3D 模型同时表示人体和衣服,视觉效果不错。
- 核心痛点:把人体和衣服”融”在一张网格里,无法把服装表面从人体上分离出来,也就无法做真实的布料仿真、虚拟试衣等下游任务;因此需要人体与服装相互独立的模型。而服装是近乎无限自由度的薄壳、款式与形变复杂、真实 3D 数据难采集,宽松服装(远离身体、自由飘动)尤其难重建。基于模板网格或有向/无向距离场(SDF/UDF)的方法各有通用性、精度或鲁棒性上的短板。前作 GaRec 用 ISP 加图像条件形变模型重建宽松衣物,但因为”不同 3D 形状可产生相似图像”,容易过度平滑,难以恢复高频细节与被遮挡区域。
- 本文 idea:引入三套扩散机制来补齐前作短板——用扩散模型学一个能表达复杂服装形状的形状先验;用扩散模型补全图像中被遮挡的部分(如背面);再用一个扩散映射模型把 2D 图像信息映射到 3D 与 UV 空间,从而把观测和先验对齐、拟合出合理的 3D 形状。
方法
整体框架:给定一张穿衣人物图,先估计目标服装的正面法线与 SMPL 人体(用于渲染身体分割图和深度图),再用扩散模型补出背面法线;然后用一个”映射扩散模型”从法线与人体信息预测 UV 坐标图和服装深度图,经相机反投影得到一张不完整的 UV 位置图;最后把这张不完整 UV 图拟合到服装先验模型 DISP,恢复出完整 UV 图与服装网格,并做后细化。
flowchart LR
A[单张穿衣图像] --> B[正面法线估计 + SMPL 人体估计]
B --> C[法线扩散: 补出背面法线]
B --> D[渲染身体分割 S 与深度 D_b]
C --> E[映射扩散: 预测 UV 坐标图 C 与服装深度图 D_g]
D --> E
E --> F[相机反投影 -> 不完整 UV 位置图]
F --> G[拟合 DISP 先验: 恢复完整 UV 图与网格 G]
G --> H[细化: 神经位移场 + 顶点优化 + 物理正则]
H --> I[高保真独立 3D 服装网格]
关键设计:
-
DISP:给缝纫图装上扩散先验。基础是 ISP(隐式缝纫图),它把一件衣服拆成若干 2D 面板并附带缝合信息:用一个全连接网络对 UV 空间中的点 \(u\) 输出到面板边界的有符号距离 \(s\) 和标签 \(l\),即 \((s,l)=I_\Theta(u,z)\);\(s\le 0\) 表示点在面板内,标签编码哪些边界要缝在一起;再用参数化函数把 2D 点映射到 3D 位置 \(X=A_\Phi(u,z)\)。但 ISP 对一件衣服只能给出单一的静止态 UV 位置图,无法表达穿在身上、随人体运动产生的多样形变。作者因此在 ISP 之上加一个扩散模型,学习”合理形变对应的 UV 位置图 \(U\)”的分布,训练时把 UV 图 \(U\) 与面板掩码 \(M\) 沿通道拼接作为样本。扩散模型与 ISP 合起来就是服装表示模型 DISP。
-
背面法线补全。单目图像只能观测到非遮挡区域(通常是正面),背面看不见。作者用正面法线 \(N_F\)、正反面身体分割 \(S\)、身体深度 \(D\) 作为条件,训练一个条件扩散模型来生成背面法线 \(N_B\),为后续拟合提供背面约束、提升重建保真度。
-
像素—3D—UV 三空间映射。法线观测在像素空间,DISP 先验在 UV 空间,服装表面在 3D 空间,必须把三者连起来。到 3D:从法线(以身体深度为条件)估计服装深度图 \(D_g\),对前景像素用相机反投影得到 3D 坐标 \((X,Y,Z)=P^{-1}(x,y,d)\)。到 UV:训练映射扩散模型 \(\epsilon^m_\theta\) 预测 UV 坐标图 \(C[x,y]=(u,v,\sigma)\),其中 \(\sigma\) 的正负指示该像素属于正面还是背面面板。把两者组合即可得到不完整 UV 位置图 \(\tilde U\) 和掩码 \(\tilde M\)(因遮挡而不完整)。
-
拟合与细化。先用不完整掩码 \(\tilde M\) 优化 ISP 的隐码 \(z\) 恢复静止态面板几何(目标同时约束投影点落在面板内、并惩罚过大的面板面积);再以 \(\tilde U\) 和恢复的掩码 \(M\) 作为流形引导,在 DISP 扩散模型的反向过程中恢复完整 UV 图,从而更新出形变网格 \(G\)。为弥合合成到真实的域差、并对齐图像观测,最后做后优化:损失综合掩码、深度、法线、UV 对齐与物理正则(应变、弯曲、重力、碰撞)\(L=\lambda_m L_{mask}+\lambda_d L_{depth}+\lambda_n L_{normal}+\lambda_u L_{uv}+\lambda_p L_{phys}\)。因直接逐顶点优化耦合弱、结果差,作者引入一个 MLP 预测顶点的神经位移场 \(\Delta V=f_\phi(V,\bar V)\) 先优化,再直接优化顶点找回高频细节。此外还会用掩码、关节、深度顺序等项细化 SMPL 人体参数,保证人体在服装内部、与重建一致。
实验结果
训练与评测都基于物理仿真生成的合成数据(源自 CLOTH3D,配合 AMASS 舞蹈动作、用 Blender 与 Marvelous Designer 仿真),覆盖裙子、裤子、衬衫、开襟衫四类;每类各取少量样本、多数用于训练、其余评测。指标为 Chamfer 距离 CD(单位 cm,越低越好)、掩码交并比 IoU(越高越好)、法线一致性 NC(越高越好)。真实图像上做定性评测。
主实验为”四类服装 × 方法”的定量对比,下面各类各取 CD 一项体现趋势(本文均为最优):
| 方法 | 裙子 CD↓ | 裤子 CD↓ | 衬衫 CD↓ | 开襟衫 CD↓ |
|---|---|---|---|---|
| SMPLicit | 3.00 | 1.59 | 6.53 | 2.37 |
| DrapeNet | n/a | 1.38 | 1.93 | 1.76 |
| ISP | 2.51 | 1.53 | 1.92 | 1.90 |
| GaRec | 2.00 | 1.12 | 1.20 | 1.46 |
| 本文 | 1.21 | 0.74 | 0.85 | 1.19 |
在 IoU 与 NC 上本文同样全面领先,例如衬衫上 IoU 达 94.02、NC 达 0.89(对应 GaRec 为 93.20、0.83)。定性对比显示:基于 SMPL 蒙皮的方法(BCNet、SMPLicit、ISP)只能贴身生成;ECON 能生成离体服装但把人和衣做成单一封闭网格;GaRec 生成的独立网格偏平、缺乏褶皱。本文能在正反面都重建出高保真褶皱细节。消融实验表明:神经位移场先优化再直接优化顶点对齐与细节都关键;跳过位移场直接逐顶点优化会得到次优形状;只用正面法线会让背面形变失真。
亮点与局限
- 亮点:
- 把服装与人体解耦成独立模型,重建结果可直接用于重定向(换姿势/换体型)和纹理编辑等下游任务。
- 用扩散先验 + 三空间映射的思路,系统性地解决了单目重建中”遮挡区域缺观测”和”图像到 3D 的歧义”两大难题,宽松服装上细节明显优于前作。
- 仅用合成仿真数据训练,却能较好泛化到真实野外图像,省去昂贵的真实 3D 采集与艺术家标注。
- 局限:
- 依赖可微渲染器的法线损失做插值/近似,会平滑掉极小褶皱;小褶皱对总损失贡献小,梯度易被淹没。
- 无法处理多层结构服装(如多层荷叶边裙),需为 ISP 增设额外面板。
- 需要全身穿衣图像,处理不了局部服装或侧面视角;单图重建固有的深度歧义无法消除,也未完全刻画物理行为;视频输入结果会抖动。
延伸思考
- 方法建立在作者团队一脉相承的工作上(ISP → GaRec/GarmentRecovery → 本文 DISP),核心创新在”用扩散做空间映射 + 形状先验”而非单纯回归,这一”生成式先验补全 + 拟合对齐”的范式对其他单目重建任务(家具、器官、通用薄壳物体)也有借鉴价值。
- 作者提到的视频抖动与时序建模已是明显的下一步方向;检索中可见到同名思路的时空扩展版本(面向图像与视频序列的统一框架),说明把该框架推广到视频是自然的演进。
- 物理正则目前作为软约束参与优化,若能与可微布料仿真更紧耦合,或许能同时改善小褶皱丢失与物理合理性两个问题。