BCNet:从单张图像同时重建人体与分层服装(ECCV 2020)

BCNet:从单张图像同时重建人体与分层服装(4D-DRESS 服装重建基线)

一句话结论

BCNet 是「数据驱动、分层服装网格重建」这条路线上的关键基线:它只吃一张近正面视角(near-front view)的 RGB 图像,就能同时输出人体 mesh + 独立的上装/下装 mesh,而且服装的蒙皮权重(skinning weight)不再绑死在 SMPL 身体网格上,改由一个专门的蒙皮权重生成网络来预测。这一改动换来两件别人做不到的事:(1) 支持 6 类服装(shirt / pant / skirt × 长款 / 短款),包括拓扑与身体完全不同的裙子;(2) 服装与身体是分开的 mesh,语义清晰,因此可以直接做 re-pose、服装迁移(garment transfer)、服装贴图(garment texture mapping)。

它也是 4D-DRESS 数据集里「clothing reconstruction」这一项基准的对比方法之一——4D-DRESS 拿它代表「用数据驱动方法重建分层服装 mesh」这一类做法,去和仿真类方法(如 HOOD、PBNS 等)比。理解 BCNet,是理解后续所有「分层服装重建」工作的前提。

论文信息:BCNet: Learning Body and Cloth Shape from A Single Image,Boyi Jiang、Juyong Zhang*、Yang Hong、Jinhao Luo、Ligang Liu(中国科学技术大学 USTC)、Hujun Bao(浙江大学 CAD&CG 国家重点实验室),ECCV 2020,arXiv:2004.00214v2。开源:https://github.com/jby1993/BCNet


1. 要解决什么问题:为什么「绑到身体上」不行

从单图重建着装人体,难度来自三件事叠加:体型多样 + 姿态多样 + 服装类别多样。物理仿真方法(Yang et al. 2018)能算,但又专又慢。

论文把前人路线分成两大派,并逐一指出硬伤:

(A)模板无关(template-free)派——体素 / 隐式函数

  • BodyNet:直接回归体素(voxel)着装人体。分辨率一高显存就爆,高频细节经常丢。
  • PIFu / DeepHuman:用隐式函数(implicit function)或体积回归,能出细节,但可能生成「断胳膊」这类不可行的结果;
  • 更致命的是缺少语义信息,导致「服装迁移」这类应用做不了。

(B)模板派(template-based / SMPL+D)——把服装写成身体顶点的位移

  • SMPL 只能表达不穿衣服的身体(naked body)形状,重建几何被锁死在模型空间里,抓不住复杂衣服形状。
  • 于是前人(Octopus、MGN 等)在 SMPL 每个顶点上加一个位移向量(SMPL+D)来表示衣服,能重建紧身衣。
  • 但作者点出两个致命缺陷:
    1. 抓不住服装边缘(garment edges)的特征;
    2. 把服装绑到 SMPL 顶点上 ⇒ 服装和身体共享同一套蒙皮权重和连接关系(connectivity)。宽松衣服需要大位移,而不合适的蒙皮权重会直接产生 artifacts;更要命的是——裙子这类与身体拓扑不同的衣服,根本超出表示范围。

BCNet 的立场很清楚:像 Bhatnagar et al.(MGN)一样把身体和分层服装分开建模,但服装不绑身体、蒙皮权重由网络学出来。围绕这个目标,作者说有三座大山要翻:(1) 给所有服装学一个共享的蒙皮权重网络;(2) 服装细节推断;(3) 数据集构建。

六类服装定义得很具体:上装(upper garment)、裤子(pants)、裙子(skirts),每一类又分短款 / 长款两个 template,合起来 $2\times3 = 6$ 类。


2. 核心方法

2.1 服装模型(Garment Model)

以 SMPL 为参数化身体模型。SMPL 把形状参数 $\beta \in \mathbb{R}^{10}$、姿态参数 $\theta \in \mathbb{R}^{72}$ 映射到身体网格 $M_b(\beta,\theta) \in \mathbb{R}^{3|V_b|}$:

$$
M_b(\beta,\theta) = W\big(T_b(\beta,\theta),\ J(\beta),\ \theta,\ W_b\big),\qquad
T_b(\beta,\theta) = \mathbf{B} + B_s\beta + B_p\theta
$$

其中 $B_s, B_p$ 是作用在 T 姿势模板网格 $\mathbf{B}$ 上的线性位移基,$W$ 是标准骨架蒙皮操作,$J(\beta) \in \mathbb{R}^{24\times3}$ 是 SMPL 的中性骨架(24 个关节点),$W_b \in \mathbb{R}^{|V_b|\times 24}$ 是身体每个顶点的蒙皮权重。

服装网格 $M_g$ 用同一套蒙皮机制,但在三个地方做了手脚:

$$
M_g(\alpha,\beta,\theta,D) = W\big(T_g(\alpha,D),\ J(\beta),\ \theta,\ W_g(\alpha,\beta)\big),\qquad
T_g(\alpha,D) = \mathbf{G} + B_g\alpha + D
$$

逐项拆开看:

  • $\mathbf{G}$:每个服装类别各自的 T 姿势模板网格,独立于身体 mesh;
  • $B_g\alpha$:PCA 线性位移,$\alpha \in \mathbb{R}^{64}$ 是 64 维 PCA 系数,负责刻画同一类服装的尺码差异(T 姿势下);
  • $D \in \mathbb{R}^{3|V_g|}$:逐顶点的高频位移,负责刻画姿态与衣物-身体交互带来的变化(褶皱等线性模型表达不了的东西);
  • 姿态参数 $\theta$ 与 SMPL 共享,绑定骨架也直接用 SMPL 的 $J(\beta)$;
  • 关键创新:$W_g(\alpha,\beta)$ 不是 SMPL 的权重 $W_b$,而是由神经网络预测出来的服装自身蒙皮权重。

正是这一点让服装 mesh 与 SMPL mesh 解耦:只要给对应的服装训练数据,BCNet 就能支持比 SMPL+D 方法(MGN、Octopus 等)更多种类的服装拓扑(裙子!)。

论文特意说明:为书写简洁,位移写成 $D$,其实它是 $\alpha, \theta$ 等隐变量的函数。

2.2 从图像到着装身体(网络总览)

给定一张近正面视角、人物着特定服装的 RGB 图,网络要预测:身体 $\hat\beta \in \mathbb{R}^{10}$、姿态 $\hat\theta \in \mathbb{R}^{72}$、全局平移 $\hat t \in \mathbb{R}^{3}$,以及服装 $\hat\alpha \in \mathbb{R}^{64}$ 和 $\hat D$。整条 pipeline 有四个模块(论文 Fig.1):

  1. image encoder(图像编码器)
  2. classification module(分类模块)
  3. skinning weight network(蒙皮权重网络)
  4. displacement network(位移网络)

编码器细节:用 ResNet-18 提特征,把最后一层 feature map 做 average pooling 到 $8\times8$,再经一层全连接得到隐特征。然后用四个 FC 层分别预测 $\hat\beta$、$\hat\theta$、$\hat t$,以及共享的服装隐特征 $l \in \mathbb{R}^{256}$。

姿态预测的一个工程技巧:不直接回归轴角(axis-angle)表示 $\hat\theta$,而是预测所有关节的矢量化旋转矩阵 $\hat R(\theta) \in \mathbb{R}^{24\times9}$($R$ 是 Rodrigues 旋转变换),论文说这样训练更稳、更连续。

分类与服装形状:从共享隐特征 $l$ 出发,用两层 FC 分别预测上装分类得分 $\hat u \in \mathbb{R}^{2}$ 和下装分类得分 $\hat d \in \mathbb{R}^{4}$(对应短款/长款的选择)。再把 $\hat\beta$ 和 $l$ 拼接,喂进两层 MLP(对应 PointNet 风格)预测中性服装形状参数 $\hat\alpha$。之后由蒙皮权重网络、位移网络分别得到 $\hat W_g$、$\hat D$,最后用预测的姿态参数把中性身体和带位移的服装 re-pose 到参考姿势。

2.3 蒙皮权重网络(Skinning Weight Network)——本文的灵魂

「给定一个骨架层级,为任意角色估计蒙皮权重」本身是个公开难题。作者受 NeuroSkinning(Liu et al. 2019) 启发,设计了一个网络来给中性服装推断权重,特点是快、可微、且与服装类别无关(garment type independent)。

输入输出:对某个中性服装 $T_g(\hat\alpha, 0)$,绑定到对应中性身体 $T_b(\hat\beta, 0)$ 的骨架 $J$ 上,预测其蒙皮权重。

逐顶点输入特征:

  • 顶点坐标(coordinate)
  • 顶点法向(normal)
  • 该顶点到每个关节点的距离(all distances to each joint point)

结构:用 MLP 变换顶点特征维度(论文称作 MLT / Multi-Layer Transform),再用标准 ResBlock 抽深层特征,并用图卷积聚合邻域信息(补充材料 Fig.8:还会对中间层特征做 max-pooling 拼到最后一层 MLT,可选择性拼接浅层特征以增强高频细节推断力)。

为什么用 GAT:为了让网络对不同服装类别通用,作者选 GAT(图注意力网络,Velickovic et al.) 做图卷积——GAT 的滤波器权重学习不依赖网格连接关系(connectivity-independent),只由顶点输入特征决定,因此适配不同拓扑的服装。

这个模块有多准(第 5.1 节 + 补充 Table 3):

  • 全测试集上蒙皮权重的平均 $\ell_1$ 重建误差 = $6.5\times10^{-4}$;
  • 从 Mocap 采 20 个姿态,分别用预测权重与真值权重做形变,所有服装类别的平均 MED = 0.43 mm。

补充材料 Table 3 更细($\ell_1$ 误差 $\times10^{-3}$,ED 单位 mm):

类型 $\ell_1$ mean $\ell_1$ std ED mean ED std
l-shirt(长衬衫) 0.81 2.83 0.40 0.57
s-shirt(短衬衫) 0.84 2.82 0.43 0.54
l-pant(长裤) 0.45 1.92 0.30 0.36
s-pant(短裤) 0.51 2.23 0.34 0.61
l-skirt(长裙) 0.71 2.88 0.64 2.00
s-skirt(短裙) 0.66 2.55 0.42 0.90

「法向」为什么必要(一个很具体的案例):有些部位的顶点位置很近,但蒙皮权重差很大——裤裆两侧的顶点位置接近,却因为分属左右两条腿而权重完全不同。这时顶点法向能提供区分这些歧义顶点的关键信息。论文的消融(Fig.11)显示:网络不输入法向时,这些模糊顶点的权重预测不准,会产生明显 artifacts;输入法向(完整输入)后问题消失。

2.4 位移网络(Displacement Network)

PCA 系数 $\alpha$ 能表示服装的整体结构,但表示不了特定衣服的细节,也表达不了宽松服装因姿态和重力产生的大尺度形变。所以再训一个非线性位移网络回归每个顶点的位移 $D$。

  • 结构与蒙皮权重网络相似,但为每个服装类别单独训练一个网络(而非一个通用网络),以提升回归能力;
  • 对每个类别用 spiral graph convolution(螺旋图卷积,Bouritsas et al.),这种卷积在连接关系相同的 mesh 上达到 SOTA 回归能力;
  • 为了抓高频信息:把基础服装 $M_g(\hat\alpha,\hat\beta,\hat\theta,0)$ 的每个顶点投影到图像上,裁一个以该顶点为中心的 $32\times32$ patch,用共享 MLP 编码成 latent feature;
  • 该 latent feature 与共享服装隐特征 $l$、预测的 $\hat\beta$、$\hat\alpha$,以及该顶点的坐标/法向/蒙皮变换(skinning transformation)拼接,作为位移网络的输入特征。

论文 Fig.5 给了一个很直观的例子:第一行,预测位移成功捕捉到领带、西装分界线这类细节几何;第二行,腿部弯曲导致裙子发生大尺度形变,位移网络也学到了(还特意给了两个视角展示)。

2.5 损失函数(Loss Function)

因为数据集自带真值形状/姿态参数,所以采用监督训练。记预测 $\hat M_g = M_g(\hat\alpha,\hat\beta,\hat\theta,\hat D)$、$\hat M_b = M_b(\hat\beta,\hat\theta)$。

(1)参数损失——直接 MSE:

$$
L_{Bp} = |\hat\beta - \beta|2^2 + |\hat R(\theta) - R(\theta)|_2^2 + |\hat t - t|_2^2,\qquad
L
= |\hat\alpha - \alpha|_2^2
$$

(2)几何损失——监督重建几何和关节($J_B$ 是从 SMPL body 输出 posed 3D 关节的映射):

$$
L_G = |\hat M_g - M_g|2^2,\qquad
L
= |J_B(\hat M_b) - J_B(M_b)|_2^2
$$

(3)位移损失——对 $D$ 每个顶点用 $\ell_1$,对 $D$ 的拉普拉斯坐标用 $\ell_2$($L$ 是 3D mesh 的拉普拉斯坐标映射):

$$
L_{D1} = |\hat D - D|,\qquad
L_{D2} = |L(\hat D) - L(D)|_2^2
$$

(4)投影损失——用 $\Pi$ 表示相机投影(所有训练数据共享同一相机内参):

$$
L_{B2D} = |\Pi(\hat M_b) - \Pi(M_b)|2^2,\qquad
L
= |\Pi(\hat M_g) - \Pi(M_g)|_2^2
$$

(5)分类损失——标准 softmax loss,惩罚 $\hat u$、$\hat d$ 相对真值服装类别的错误。

(6)互穿损失(interpenetration loss)——分层建模的代价是身体与衣服之间会互穿(比如衣服「插进」身体里),而人眼对此极其敏感。作者用一个简单有效的项来缓解:

$$
L_{int}(P,Q) = \sum_{{i,j}\in C(P,Q)} \mathrm{ReLU}\big(-n_{q_j}^{\top}(p_i - q_j)\big) / N
$$

其中 $P,Q$ 是两个互相穿插的 mesh,$C(P,Q)$ 是过滤后的有效对应点对(按距离和法向夹角筛选)。这项惩罚那些落在对应点 $q_j$ 及其法向 $n_{q_j}$ 所定义局部平面之内的顶点 $p_i$。它同时作用在中性服装-身体和posed 服装-身体两组上:

$$
L_{inters} = L_{int}\big(T_g(\hat\alpha,0), T_b(\hat\beta,0)\big) + L_{int}(\hat M_g, \hat M_b)
$$

(7)蒙皮权重网络损失——每个顶点的权重向量 ${\omega_{ij}}$ 本质是「选不同骨骼的概率」,因此用 KL 散度度量预测分布 $\hat\omega_{ij}$ 与真值分布 $\omega_{ij}$ 的距离:

$$
L_{ws} = \sum_{i=1}^{|V_g|}\sum_{j=1}^{24} \hat\omega_{ij}\Big(\log\frac{\hat\omega_{ij}}{\omega_{ij}}\Big)
$$

训练策略(两阶段):先用 $L_{ws}$ 单独训练蒙皮权重网络,然后冻结它,再联合训练其余部分。


3. 数据集构建(本文另一大贡献)

公开数据集无法满足需求(要有成对的「彩图 + 身体 + 服装几何」),所以作者自建三套数据。

3.1 蒙皮权重数据集

训练蒙皮权重网络需要「带真值权重的中性服装」。作者说网络适配任意权重计算法,为简单起见从着装 SMPL 身体上算服装权重:

  • 对服装顶点 $p_i$,从着装身体 mesh 上按距离 + 法向夹角 + 分割先验(segmentation prior)选 $K$ 个顶点。分割先验很关键:例如右裤腿的对应顶点必须落在身体右腿上。
  • 用 IDW(反距离加权)把这 $K$ 个身体顶点权重的平均作为 $p_i$ 的权重。
  • 全部算完后,用 Laplacian smoothing 去噪去 artifact。

规模:训练集 48000 个中性服装,测试集 6467 个。

3.2 合成数据集(Synthetic Dataset)

用基于物理的仿真造数据,四步:裁剪版型设计 → 中性服装合成 → 着装姿态仿真 → 渲染(扩展自 Wang et al. 2018 的方法)。以裤子为例(Fig.2):先按体型生成随机缝纫版型 → 把前后片缝线连到中性骨架周围并逐渐缩短 → 缝线长度都小于阈值后缝合 → 给骨架充气并加重力模拟真实垂坠 → 用生成的蒙皮权重把中性服装变形到目标姿态 → 充气+重力仿真出 posed 服装。作者假设人体与服装都处于静态稳定状态,因此采样离散姿态而非仿真整段运动。

渲染:身体贴图取自 SURREAL,服装贴图取自 Fabrics 和 DTD,背景取自 Places365-Standard,全局光照取自上百张 HDR,渲染出变化丰富的近正面视角着装图。

实现工具:仿真器 NvFlex + Blender。

规模与来源:
- 身体形状:SPRING 数据集的 3048 个 body shape,在其上随机生成中性衣服;
- posed 服装:从 CMU Mocap 选 55 段运动序列(姿态已用 MoSh 转成 SMPL 姿态参数),每段随机选 10 个不同的人 × 4 套不同服装,每 30 帧采一个姿态;
- 最终:168602 个着装身体作训练,8874 个作测试。

3.3 高清贴图数据集(HD Texture Dataset)

合成图虽然逼真,但和真实图像仍有明显 domain gap。于是作者又处理了一套高清贴图数据:

  • 采购 RenderPeople 104 个 + Axyz 181 个 = 285 个 rigged avatar(绑定好骨架的虚拟人,几何和贴图质量都高);
  • 用 Mixamo 驱动这些 avatar,得到约 89425 个 posed mesh 作训练、4386 个作测试;
  • 用同一套渲染管线出图。

因为买来的扫描 mesh 身体和衣服没有分开、连接关系也不一致,所以要两步处理把它转成 BCNet 的表示:

(a)Rigged registration(绑定姿态配准):把 A/T 姿势的 mesh 分割成服装和皮肤(skin)两部分;优化 $\alpha, D, \beta, \theta, t$ 把表示配准到 avatar 上——对服装和身体都惩罚点到平面距离(point-to-plane),用 Eq.(7) 减少互穿,用 [25] 的渲染轮廓损失做尺码匹配,再加 $\ell_2$ 正则项。完成后还能为每件服装提取贴图。

(b)Posed registration(姿态配准):用上一个结果初始化,先优化姿态 $\theta$、平移 $t$,再微调全部参数得到最终 posed 结果。


4. 实验与结果

4.1 BCNet 自身分析

测试集:分别在 Synthetic 和 HD Texture 测试集上测重建误差,用 Procrustes 变换后的 MED(mean Euclidean distance,cm)。

Table 1:预测形状与真值的 MED(cm)(服装给出「有 / 无位移模块」两组,灰色=带位移,白色=不带):

数据集 shirt(带D) pant(带D) skirt(带D) body shirt(无D) pant(无D) skirt(无D)
Synthetic 0.91 0.75 0.87 1.57 1.72 1.59 2.46
HD Texture 1.71 1.42 1.65 2.93 1.97 1.72 1.87

这张表最重要的信息:去掉位移模块后误差全线上升(合成集 shirt 0.91→1.72、skirt 0.87→2.46),证明位移网络对精度贡献很大——尤其是宽松、易形变的裙子。

互穿消融(Fig.5 左):加入 Eq.(7) 的互穿项后,碰撞问题明显缓解。

4.2 定量对比(Table 2)

在 BUFF 和 Digital Wardrobe(DW) 两个公开集上评测。作者把真值扫描 mesh 分割成上装/下装/身体,用平均点到面欧氏距离 P2S(cm)测上装、下装、整体表面,并算 Chamfer 距离。因为 BCNet 输出的是分开的 body/garment mesh,为公平比较,双方都取所有 mesh 的外表面(outer surface)作代理。

Table 2:误差(cm),灰色=BUFF rough A-pose,白色=Digital Wardrobe

方法 Upper Lower Total Chamfer
MGN-opt-8 1.63 1.91 1.82 1.91
MGN-8 1.78 2.13 1.99 2.08
Octopus-opt-8 1.40 1.35 1.31 1.41
Octopus-8 1.54 1.74 1.70 1.76
Ours 1.07 1.35 1.35 1.34
PIFu 1.59 1.37 1.85 1.61
DeepHuman 2.38 2.46 3.15 2.98
Ours 1.44 1.78 1.80 1.77

BUFF 对比(vs SMPL+D 方法 Octopus / MGN):这些方法默认需要多视角语义分割图 + rough A-pose 的 2D 关节作输入,还要后优化。作者只挑了 21 个 rough A-pose 数据做测试,结论是:

  • 只用一张图的 BCNet,在不做后优化的情况下就能数值上超过 Octopus/MGN 的无优化结果;
  • 和做了优化的 Octopus 打平(Ours Total 1.35 vs Octopus-opt-8 1.31;但 Upper 1.07 明显更优);
  • 作者吐槽后优化很耗时:Octopus 要几秒,MGN 要几分钟;而且 MGN 的后优化会引入不自然的褶皱,BCNet 没有这个问题。
  • MGN 用 PGN 做分割有误差,作者手工改了一些来「照顾」它。

DW 对比(vs 非参数方法 PIFu / DeepHuman):用 94 个 mesh。

  • 单图 PIFu 与 BCNet 精度相近(Total Ours 1.80 vs PIFu 1.85),但 PIFu 把身体和衣服揉成一个 mesh、没有语义信息,而 BCNet 能完全分开控制身体和服装 mesh;
  • DeepHuman 倾向于把腿弯掉,在这个集上误差巨大(Total 3.15)。

4.3 定性结果

  • 重建质量:BCNet 能恢复准确的人体姿态并抓取服装几何,得益于分离表示 + 自适应蒙皮权重,能重建带大边缘的宽松服装。
  • 与 MGN 对比(Fig.7 / Fig.12):MGN 把服装绑在 SMPL 顶点上用 mask 选有效顶点,需要多语义分割图、限制 rough A-pose、还要后优化;不同输入图下 MGN 的衣服风格和尺寸趋于一致(表达能力受限),而 BCNet 能捕捉裤腿长度等尺码变化,预测的身体形状也更贴合输入图。
  • 服装迁移 / 服装互换(garment transfer / switching):可以在两张输入图之间交换服装几何与贴图,甚至跨服装类别(Fig.16–18)——这正是「服装与身体分离表示」带来的应用红利。

5. 局限与未来工作(补充材料 C)

作者自己列了三条,都挺诚实:

  1. 只支持 6 类服装。训练好的模型predict 不了这 6 类之外的服装类型(Fig.19 A)。但方法本身可以按同样策略扩展。
  2. 不考虑头发、鞋子、帽子,也不处理多层衣物(multi-layered clothing)——多层会被当成单层处理(Fig.19 B)。
  3. 对分布外(out-of-domain)图像会过度平滑(over-smooth)。着装人体在布料类型、贴图、体型、光照、背景、相机角度上变化极大,与训练集风格差异大的测试图(例如 Kinect v2 相机拍的两张)会给出过平滑结果(Fig.19 C)。作者认为合成更真实的数据 + 引入更多真实数据可以缓解。

6. 对 3D 视觉 / 服装重建 / 虚拟试衣方向的意义

  1. 「服装蒙皮权重解耦」是这篇最可复用的思想。 后续几乎所有分层服装方法(包括各类 avatar / 服装重建工作)都沿用或呼应「服装 mesh 独立、权重自己学」这条思路——它直接解决了裙子等异拓扑服装的表示问题。
  2. 它是数据驱动分层服装重建的标准 baseline。 4D-DRESS 就把 BCNet 归为「clothing reconstruction」对比方法,用来代表学习式、单图、非仿真的一类做法;与它对照的是 HOOD / PBNS 这类仿真/动态方法。做 4D-DRESS 相关工作,BCNet 是绕不开的参照点。
  3. 损失设计里有几处很实用的 trick:互穿损失 $L_{int}$(简单且有效)、位移的拉普拉斯 $\ell_2$、预测旋转矩阵而非轴角、蒙皮权重的 KL 散度——这些都值得在自己的 pipeline 里直接抄。
  4. 数据集是一条隐藏的护城河。 168602 合成 + 89425 HD 贴图着装 body,加上 48000/6467 的蒙皮权重数据;建数据的能力等于模型的上限,这也解释了后来数据驱动路线为何越做越大(CLOTH3D、4D-DRESS 等)。
  5. 它的短板也很典型:单张近正面视角、不支持多层、没有动态/时序、倾向于出平滑几何。后续工作基本就是围绕这几点逐个突破——多层服装、时序一致性、真实数据 domain gap、动态褶皱仿真。

术语表 / Key Terms

  • layered garment representation — 分层服装表示;把身体和各件衣服建成互相独立的 mesh 层,而非揉成一个表面
  • skinning weight — 蒙皮权重;每个顶点受 24 个关节各自影响的程度($W_g \in \mathbb{R}^{|V_g|\times24}$)
  • skinning weight network — 蒙皮权重网络;本文用 GAT 预测服装自身权重、与身体解耦的关键模块
  • displacement network — 位移网络;逐顶点回归高频位移 $D$ 的非线性网络(每个服装类别单独训练)
  • high-frequency displacement — 高频位移;PCA 表达不了的细节/大形变(褶皱、裙摆)
  • SMPL+D — 在 SMPL 顶点上加位移向量来表示衣服的做法(服装与身体共享拓扑与权重)
  • template mesh — 模板网格;某一类服装的 T 姿势基准几何 $\mathbf{G}$
  • T-posed template — T 姿势模板;模板所处的标准姿态
  • neutral garment — 中性服装;处于 T/中性姿势、尚未 re-pose 的服装
  • PCA coefficients — 主成分系数;64 维 $\alpha$,刻画同一类服装的尺码差异
  • linear displacement bases — 线性位移基;SMPL 的 $B_s, B_p$ 与服装的 $B_g$
  • skinning operation / LBS — 蒙皮运算 / 线性混合蒙皮;用骨架驱动网格变形的经典操作 $W$
  • binding skeleton — 绑定骨架;服装绑定的骨架(这里直接复用 SMPL 的 $J(\beta)$)
  • garment category — 服装类别;本文 6 类(上装/裤/裙 × 短/长)
  • upper garment / lower garment — 上装 / 下装;分类模块分别输出 2 类与 4 类得分
  • GAT (graph attention network) — 图注意力网络;滤波器权重与 mesh 连接关系无关,故可跨服装类别
  • graph convolution — 图卷积;在 mesh 顶点图上聚合邻域信息的卷积
  • spiral graph convolution — 螺旋图卷积;连接关系相同时回归能力强的图卷积(位移网络用)
  • ResBlock — 残差块;标准残差网络单元,用于抽深层特征
  • MLP — 多层感知机;用于逐顶点变换特征维度等
  • latent feature — 隐特征;编码器输出的图像/服装表示(服装共享隐特征 $l \in \mathbb{R}^{256}$)
  • image encoder — 图像编码器;ResNet-18 + 8×8 池化 + FC
  • classification module — 分类模块;预测上装/下装类别的分类得分
  • vectorized rotation matrix — 矢量化旋转矩阵;$\hat R(\theta)\in\mathbb{R}^{24\times9}$,比轴角更稳
  • axis-angle representation — 轴角表示;$\theta \in \mathbb{R}^{72}$,SMPL 的姿态参数形式
  • shape parameter — 形状参数;SMPL 的 $\beta\in\mathbb{R}^{10}$(体型)
  • pose parameter — 姿态参数;SMPL 的 $\theta\in\mathbb{R}^{72}$(关节旋转)
  • interpenetration — 互穿;身体与衣服网格相互穿插的不真实现象
  • interpenetration loss — 互穿损失;惩罚顶点落入对应点局部平面内的项(Eq.7)
  • point-to-surface (P2S) — 点到面距离;预测表面到真值表面的平均欧氏距离(cm)
  • Chamfer distance — 倒角距离;两组点云互相最近邻距离的度量
  • MED (mean Euclidean distance) — 平均欧氏距离;本文表 1 的主要误差指标
  • Procrustes transformation — 普氏对齐;先做旋转/平移/缩放最优对齐再算误差
  • IDW (inverse distance weighting) — 反距离加权;按距离加权平均身体顶点权重来造服装真值权重
  • Laplacian smoothing — 拉普拉斯平滑;去噪去 artifact
  • Laplacian coordinates — 拉普拉斯坐标;位移损失 $L_{D2}$ 用的微分坐标
  • segmentation prior — 分割先验;如「右裤腿顶点必属身体右腿」这类先验约束
  • sewing pattern — 缝纫版型 / 裁剪图;仿真合成服装的起点
  • physics-based simulation — 基于物理的仿真;用 NvFlex 造着装数据
  • rigged registration — 绑定姿态配准;把 BCNet 表示对齐到 A/T 姿势 avatar
  • posed registration — 姿态配准;先优化姿态再微调全参数的配准流程
  • silhouette loss — 轮廓损失;用可微渲染匹配轮廓来做尺码匹配
  • HD texture — 高清贴图;用于缩小合成与真实图像的域差异
  • domain difference / domain gap — 域差异;合成图与真实图之间的分布差
  • over-smooth — 过度平滑;模型对分布外输入倾向于输出过于光滑的几何
  • near-front view — 近正面视角;本文唯一允许的输入视角
  • virtual try-on — 虚拟试衣;本文的目标应用之一
  • garment transfer — 服装迁移;把一件衣服的几何/贴图搬到另一张图的身上
posted @ 2026-09-16 10:17  Quentin_Yws154  阅读(13)  评论(0)    收藏  举报