Conference

LoBoFit: Flexible Garment Refitting via Local Bone Mapping Blending

Meng Zhang, Yu Xin, Feiya Guo, Kaizhang Kang, Mengyu Chu, Ruizhen Hu

Nanjing University of Science and Technology; University of Science and Technology of China; Peking University; Shenzhen University

一句话总结

LoBoFit 把服装几何从”全局顶点坐标”改写成”骨骼局部坐标的线性混合”(LoBoMap Blending),用这个表示得到姿态鲁棒的初始化和良态的优化空间,从而把一件源角色上的服装稳健地重定向到体型/拓扑差异很大的目标角色,同时保留设计特征和细小褶皱。

研究背景

  • 领域现状:服装重定向(garment refitting)要把在参考角色上设计好的服装适配到不同体型、比例、网格拓扑的新角色,广泛用于虚拟试衣、游戏角色制作、影视数字资产。现有路线大致三类:基于物理仿真、数据驱动、几何优化。
  • 核心痛点:三条路线都难以同时兼顾鲁棒性、效率和细节保真。物理仿真昂贵且常绑定特定参数化人体;数据驱动受训练数据限制、难泛化到任意角色;几何优化直接在完整顶点坐标空间里做,问题病态、顶点运动高度相关且不稳定,容易陷入局部最优、破坏细节。最接近的前作 IFGR 用骨骼嵌入减少对稠密对应的依赖,但采用硬性的最近邻骨骼分配,在非标准姿态下容易产生语义错误的归属,使后续优化对初始化极其敏感。
  • 本文 idea:作者判断问题的根子在”表示”——在全局坐标里变形会把顶点非局部地耦合起来,造成复杂且结构差的优化地形。于是把变形空间从全局顶点坐标,换成”每根骨骼局部坐标映射的混合”。

方法

整体框架

给定源角色 \(A_s\)(带骨架 \(B_s\))上的源服装 \(G_s\) 和一个姿态、骨架拓扑相近的目标角色 \(A_t\)(带骨架 \(B_t\)),LoBoFit 先用 LoBoMap Blending 做一次”映射迁移”得到语义正确的初始服装 \(\hat{G}_t\),再对局部坐标残差和混合权重残差做迭代优化,得到既贴合目标身体、又保留源服装褶皱与合身风格的最终服装 \(G_t\)。整个过程不需要源到目标的显式身体对应,也不要求配准到标准姿态。

flowchart LR
  A["源服装 Gs 在源骨架 Bs 上"] --> B["映射 Pbs: 存下骨骼局部坐标"]
  B --> C["逆映射到目标骨骼 Bt 上混合,得到初始化 Ĝt"]
  C --> D["优化局部坐标残差 Δb 与权重残差 Δwb"]
  D --> E["最小化复合损失 L:接触/保形/正则"]
  E --> F["最终服装 Gt"]

关键设计

  1. LoBoMap Blending 表示(核心)。为骨架上每根骨骼 \(b\) 构造一个正交局部坐标系:z 轴取归一化的骨向量,x 轴沿运动学链从父骨骼用 Gram-Schmidt 正交化传播,y 轴叉乘补全右手系(近平行时有回退方案)。映射 \(P_b\) 把顶点 \(g\) 投到该骨骼的局部坐标(除以骨长 \(\ell_b\) 归一),逆映射 \(P_b^{-1}\) 把局部坐标还原回世界位置。服装顶点写成所有骨骼逆映射的加权混合 \(g=\sum_{b\in B} w_b P_b^{-1}(x_b,y_b,z_b)\),权重 \(w_b\) 归一化、继承自最近身体顶点的蒙皮权重。这一表示的关键是等变性:固定局部坐标、只更新骨架(骨长/关节角随体型变化),顶点会自然跟着骨骼相干地运动。

  2. 映射迁移做初始化。把源服装每个顶点的源局部坐标 \(P_{b_s}(g_s)\) 直接搬到目标骨骼上,用目标骨骼的逆映射解码并按源权重混合:\(\hat{g}_t=\sum_{b\in B} w^s_b P_{b_t}^{-1}(x_{b_s},y_{b_s},z_{b_s})\)。借助等变性,即使源和目标同姿态但骨长比例、局部关节角不同,也能得到语义归属一致、贴在目标骨架上的高质量初值。这里假设源/目标骨骼共用一套一致的骨骼索引。

  3. 两组残差变量的优化。在初值基础上优化两类量:骨骼局部坐标残差 \(\Delta_b=(\Delta x_b,\Delta y_b,\Delta z_b)\),以及混合权重残差 \(\Delta w_b\)。局部坐标残差加到源坐标上再解码;权重残差用 \(\Delta w_b=\gamma\tanh(\Delta \hat{w}_b)\)(\(\gamma=0.1\))约束在 \([-0.1,0.1]\) 内后再归一化,避免骨骼影响权重被改得太猛——这对腿部(裆部附近)等骨骼归属有歧义的区域尤为重要。

  4. 复合损失:\(L=\lambda L_{\text{contact}}+L_{\text{pres}}+L_{\text{reg}}\)(\(\lambda=10\))。接触项 \(L_{\text{contact}}=L_{\text{sep}}+\mu_t L_{\text{tight}}\):分离损失以软惩罚方式压制服装-身体穿插(基于带符号距离和阈值 \(\epsilon\)),紧致损失在用户指定的合身控制区域 \(\mathcal{F}\)(如”上躯干”“腰部”)内匹配源/目标带符号距离,从而保持合身风格。保形项 \(L_{\text{pres}}=\mu_l L_{\text{lap}}+L_{\text{bend}}+L_{\text{curv}}\):归一化的拉普拉斯坐标项保留高频褶皱、弯曲项约束二面角抑制虚假折痕、曲率项匹配边界边曲率保持轮廓风格。正则项 \(L_{\text{reg}}=L_{\Delta z}+\mu_w L_{\Delta w}\) 约束沿骨轴的大改动和权重残差,稳住收敛。

  5. 优化策略。用 AdamW(学习率 \(5\times10^{-3}\)、开启 amsgrad),残差全初始化为 0,约 8000 次迭代得到可用结果,每 2000 次迭代更新一次服装-身体接触对。对高分辨率服装采用由粗到细的层次化优化,兼顾鲁棒性和效率。多层服装从内到外逐层重定向,把已优化的内层当作目标碰撞几何。

实验结果

数据用 Mixamo 装配的多种体型目标角色,源服装在 Marvelous Designer 里以 10mm 粒子距离制作(单层 10k–30k 顶点)。单层服装在 RTX 5090 上约 1 分钟完成。论文主要以定性对比和消融为主,核心对比针对一件 16058 顶点的 T 恤,将 LoBoFit 与商业工具 MD、以及最接近的前作 IFGR 比较:

对比维度 LoBoFit(本文) IFGR MD 重仿真工具
非标准姿态下语义归属 等变初始化,归属一致稳定 硬最近邻分配,非标准姿态易错配 需手动搭紧致 cage,常限标准姿态
细节保留 归一化拉普拉斯坐标,随局部形变自适应 全局缩放因子,局部畸变处易过放大 重新仿真,不显式保留原合身风格
16k 顶点服装耗时 约 1 分钟 约 30 分钟 需人工搭 cage + 重仿真
收敛迭代数 约 10k(粗+细) 基于 IPC 膨胀,对网格瑕疵敏感 不适用

补充材料里还用 cycle-consistency 在侧平举姿态上比较:LoBoFit 误差更低,说明更好地保留了源特征;自穿插方面 IFGR 靠 IPC 保证无碰撞,本文只有少量残余穿插。消融表明:去掉紧致损失会破坏比例变化下的合身风格;去掉分离损失出现穿插;去掉拉普拉斯项严重损害褶皱/细节;去掉弯曲/曲率项在下摆出现非自然折叠;去掉剩余正则会导致漂移和错位。LoBoMap Blending 相比直接在全局空间优化,位移分布更紧凑(良态),全局优化即使 40k 次迭代后仍常有伪影。

亮点与局限

  • 亮点:
    • 把重定向的难点从算法层面归因到”表示”层面,用骨骼局部坐标混合同时解决了初始化(等变性→姿态鲁棒、语义正确归属)和优化条件(局部子问题→良态、快收敛)两个关键。
    • 不需要源-目标身体的显式稠密对应,不要求配准到标准姿态,可逐帧处理动态序列、可扩展到多层服装。
    • 效率显著优于 IPC 膨胀路线(约 1 分钟 vs 约 30 分钟),且能在大体型/拓扑差异下保留细褶皱。
  • 局限:
    • 是几何方法而非完整物理解,当特征保留与穿插消解冲突时会残留服装-身体穿插。
    • 逐帧动态重定向纯几何、无时间正则,可能出现时序闪烁。
    • 基于 LBS 表示,在极端形变或大形状差异下可能出现局部体积塌陷等已知伪影。
    • 不显式建模自碰撞,强压缩区域可能残留自穿插。

延伸思考

这项工作与 IFGR 形成有趣对照:IFGR 用硬骨骼分配 + IPC 膨胀保证严格无碰撞但慢且脆,LoBoFit 用软混合 + 可微软惩罚换来效率和鲁棒性,代价是放弃了严格无穿插保证。作者也点明后续方向是”几何初始化 + 物理精修”的组合——LoBoFit 提供强初值,再交给碰撞处理或缝纫版片优化收尾,这可能是把几何法的速度和物理法的正确性结合起来的实际路径。此外,等变的骨骼局部表示本身是一种通用的良态参数化思路,或许可迁移到其他骨骼驱动的表面变形/重定向任务。