代码好像没开源,看看得了
BAG: Body-Aligned 3D Wearable Asset Generation
摘要
本文提出了一种名为BAG(Body-Aligned Asset Generation)的方法,用于生成能够自动穿在给定三维人体模型上的三维可穿戴资产。该方法通过利用人体形状和姿态信息控制三维生成过程实现,首先构建了一个从单视图图像到一致多视图图像扩散模型,并在大规模的Objaverse数据集上进行训练以实现多样性和泛化能力。接着训练一个Controlnet来引导多视图生成器产生与人体对齐的多视图图像,这些图像随后被输入到一个原生的三维扩散模型中以生成资产的三维形状。最终通过优化相似性变换并利用多视图轮廓监督以及利用物理模拟器解决资产与人体的穿透问题,三维资产能够准确地适配到目标人体上。实验结果表明,该方法在提示跟随能力、形状多样性和形状质量方面展现出显著优势。
1 引言
三维可穿戴资产,如服装、鞋子和头饰,在数字三维虚拟形象的创建中是至关重要的组成部分。为视频游戏、电影制作以及增强现实和虚拟现实(AR/VR)等众多实际应用生成大量高质量的三维可穿戴资产至关重要。现有的可穿戴资产生成方法主要依赖于缝制图案建模,如DressCode,或基于主成分分析(PCA)的方法,如BCNet。虽然这些方法能够提供生产就绪质量的形状,但它们存在多样性低、提示跟随能力差以及可能无法生成非常复杂的几何结构等问题。另一方面,随着在变换器(transformers)和扩散模型(diffusion models)方面的进展,一般三维形状生成领域取得了显著进展。这些方法在遵循输入图像或文本提示以及生成高度复杂的形状方面表现出色。通过结合额外的网格化工具进行后处理,达到工业标准的三维资产生成成为可能。这促使我们思考:能否利用当今最先进的三维生成模型来生成与人体对齐的可穿戴三维资产呢?一个直接的方法是先生成三维资产,然后将其放置到三维人体模型上。然而,这通常需要人工干预,例如在三维图形用户界面中拖动和变形,这既耗时又昂贵,而且生成的三维资产并不能保证与目标人体模型的形状相匹配,可能导致穿着效果不佳。为了实现将生成的三维资产自动穿到人体模型上的过程,Garment3DGen通过变形预定义的服装模板来匹配生成的三维资产,然后根据服装模板的变形将目标人体模型包裹起来以穿上生成的资产。这种策略受限于可用模板形状的数量。此外,当服装模板的形状与生成的资产形状显著不同时,变形通常会导致严重的表面拉伸。在本文中,我们提出了一种方法,能够直接生成与人体对齐的三维资产,从而使资产能够自动适配给定的人体形状,无需人工干预。具体而言,类似于Zero123+,我们首先构建了一个从单视图图像到一致多视图图像扩散模型,并在大规模的Objaverse数据集上进行训练以实现多样性和泛化能力。然后我们训练一个Controlnet来引导多视图扩散生成与人体对齐的多视图图像。控制信号包括目标人体的多视图二维投影,其中像素值表示人体表面在规范空间中的 X Y Z XYZ XYZ坐标。我们的人体条件多视图生成器产生与人体对齐的多视图图像,这些图像随后被输入到一个原生的三维扩散模型中以生成资产的三维形状。最后,通过优化相似性变换并利用多视图轮廓监督以及利用物理模拟器解决资产与人体的穿透问题,三维资产能够准确地适配到目标人体上。本文的重点是开发一种能够引导先进的三维生成模型直接生成与人体对齐的三维资产的方法。我们的方法在提示跟随能力、形状多样性和形状质量方面展现出显著优势。
2 相关工作
本节对三维形状、服装和三维虚拟形象的生成模型进行了综述。为了清晰起见,在本文中,我们将单视图三维重建视为一个图像条件生成问题。
2.1 一般三维形状生成
早期方法主要利用生成对抗网络(GANs)来建模三维分布,如3DGAN、EG3D和Get3D。然而,这些方法在扩展到更多样化场景时面临挑战。DreamFusion及其后续工作通过利用二维生成模型来获取三维形状,但这些方法耗时且存在双面问题。LRM利用大型变换器模型来重建三维形状的三平面表示。最近的原生三维生成模型采用扩散模型来使用各种表示生成三维内容,例如点云、网格、体素网格、八叉树、三平面、不规则基元、向量集和网络权重等。为了生成具有艺术家风格拓扑的形状,PolyGen及其后续工作采用了自回归模型进行网格生成。形状生成可以通过将视觉特征融入生成过程来遵循图像提示。也可以使用Zero123+等模型将单视图图像转换为一致的多视图图像作为条件信号。类似的技术也被Wonder3D、CLAY、Tripo和Trellis等采用。在本文中,我们引入了人体条件多视图图像生成,并利用先进的原生三维生成模型来生成能够自动穿在三维人体模型上的三维可穿戴形状。
2.2 服装生成
缝制图案是生成服装的广泛采用的几何表示,如Sewformer和DressCode所示。通常会通过物理方法或数据驱动的方法(如DrapeNet)将布料附着在人体上。也有一些工作将服装几何表示为从人体SMPL模型的姿态和形状参数导出的函数,如CAPE、SMPLicit和NeuralTailor。其中,CAPE将服装几何表示为从人体表面网格的顶点偏移量回归得到的结果,SMPLicit将服装生成为以SMPL人体参数为条件的隐式模型。服装也可以使用基于顶点的PCA模型来表示,如MultiGarmentNet、Cloth3D、BCNet和GarverseLOD等,但这些方法受限于基础服装模板的数量。Garment3DGen利用Wonder3D生成参考服装形状,并变形选定的服装模板以适配生成的形状,然而,当参考形状与模板形状显著不同时,这通常会导致表面拉伸。上述方法通常存在提示跟随能力差、生成形状多样性不足以及无法生成复杂几何结构等问题。本文中提到的近期原生三维生成模型在形状多样性和提示跟随能力方面表现出色。在本文中,我们利用原生三维生成模型来生成能够自动穿在三维人体模型上的三维可穿戴形状。
2.3 三维虚拟形象生成
早期的三维虚拟形象生成工作能够生成多样化的人体几何形状或纹理化的虚拟形象,但生成过程无法通过文本描述进行控制。在CLIP和文本到图像扩散模型的帮助下,文本条件虚拟形象生成成为可能。AvatarCLIP利用CLIP空间损失来监督神经人体生成,包括三维几何形状、纹理和动画。一些工作将分数蒸馏采样(SDS)方法扩展到以人类SMPL模型为指导生成虚拟形象,如Dreamavatar、TADA和HumanNorm等。图像条件虚拟形象生成与人体重建密切相关,如PIFu、PAMIR和ICON等。这些方法通常涉及单视图人体姿态和形状估计,随后进行整体形状重建。CharacterGen利用人体姿态控制虚拟形象生成。上述方法将虚拟形象作为一个整体形状生成,而下游应用需要分离的形状,例如分开的头发、服装和身体。在计算机视觉领域,重建人体和服装作为分离的几何形状已被长期研究。著名的作品包括ClothCap和Delta。通过分别为人体、服装和头发进行单独的SDS优化过程,可以实现分层虚拟形象生成。这种技术在TECA和SOSMPL中得到了展示。Frankenstein从单个三平面逆扩散过程中生成虚拟形象的多个部分。这是通过将分层虚拟形象形状压缩到多头三平面表示中实现的。STDGen采用了与LRM架构相似的想法。
3 方法
本文提出的方法概述如图2所示。
3.1 人体条件多视图图像生成
本节概述了构建与人体对齐的多视图一致性图像生成模块的方法。通过利用人体形状和姿态信息控制三维生成过程实现。
3.1.1 一致多视图图像生成
首先,我们构建了一个从单视图图像到一致多视图图像扩散模型,类似于Zero123++。多视图图像通过将四个图像以 2 × 2 2 \times 2 2×2的布局平铺形成一个单一帧来表示。四个训练视图使用正交相机渲染,保持绝对仰角为 0 ∘ 0^\circ 0∘,四个固定的方位角分别为 { 0 ∘ , 9 0 ∘ , 18 0 ∘ , 27 0 ∘ } \{0^\circ, 90^\circ, 180^\circ, 270^\circ\} {0∘,90∘,180∘,270∘}。因此,第一个视图对应于输入的正视图,而其余视图代表物体的相对左、后和右视角。类似于Zero123++,我们重用了Stable Diffusion 2.0的权重,并使用从原始Objaverse数据集中筛选出的 600 k + 600k+ 600k+个对象的渲染图像进行微调。
3.1.2 与人体对齐的多视图生成
现在我们已经拥有了一个通用的多视图生成器,可以控制它来生成与人体对齐的多视图图像。首先,我们构建了一个与人体对齐的三维资产数据集,包括头发、服装、裤子、套装和鞋子等。图3展示了这些资产的示例。每个三维资产都与一个人体SMPLX模型相关联。SMPLX形状参数是从SMPLX Betas空间中随机采样的。姿态参数是通过在T姿态和A姿态之间随机插值得到的。我们将资产重新定位到随机采样的SMPLX人体上,确保资产在三维空间中与人体对齐。重新定位技术基于ClothCap。如图2所示,我们使用一致的正交相机将SMPLX网格投影到平铺的四视图图像上,这些图像作为人体条件信号。这些人体图像中的每个像素值对应于固定规范人体形状中的 X Y Z XYZ XYZ坐标,如图3所示。坐标值被归一化到范围 [ 0 , 1 ] [0, 1] [0,1]。由于三维资产与人体对齐,资产和人体的多视图投影的叠加也对齐。总共,我们获得了 70485 70485 70485对资产-人体对,并将它们按 9 / 1 9/1 9/1的比例划分为训练集和测试集。我们使用该数据集来控制多视图生成。我们训练一个ControlNet来以 X Y Z XYZ XYZ坐标图为条件,从而能够生成与人体对齐的多视图图像。这些与人体对齐的多视图图像随后被输入到一个原生的三维扩散模型中以生成资产的形状。
3.2 相似性变换估计
给定与人体对齐的多视图图像后,我们可以利用多视图条件的原生三维扩散模型进行资产形状生成,例如CLAY和Tripo。本文主要关注与人体对齐的几何形状生成,资产的纹理是使用现成的纹理工具Meshy生成的。由于扩散模型的非确定性,形状生成器无法保证输出形状将与输入的多视图图像对齐。这种不对齐可能表现为尺度、平移和旋转的差异。为了解决这一问题,我们利用多视图图像监督优化相似性变换 S i m ( 3 ) Sim(3) Sim(3),其中 A A A是缩放因子, R R R表示旋转, t t t是平移。我们使用三维轴角向量 κ \boldsymbol{\kappa} κ来参数化旋转。我们使用指数映射 exp : s o ( 3 ) → S O ( 3 ) \exp: \mathfrak{so}(3) \rightarrow SO(3) exp:so(3)→SO(3),将轴角向量转换为矩阵旋转形式,其中 ⋅ \cdot ⋅运算符从三维向量创建一个 3 × 3 3 \times 3 3×3的斜对称矩阵。给定一个生成的资产网格,其顶点集为 V raw = { x i ∈ R 3 ∣ i = 1 , ... , n } V_{\text{raw}} = \{ \mathbf{x}i \in \mathbb{R}^3 | i = 1, \dots, n \} Vraw={xi∈R3∣i=1,...,n},通过以下公式获得变换后的顶点集 V transformed = { y i ∈ R 3 ∣ i = 1 , ... , n } V{\text{transformed}} = \{ \mathbf{y}_i \in \mathbb{R}^3 | i = 1, \dots, n \} Vtransformed={yi∈R3∣i=1,...,n}:
y i = A e κ x i + t \mathbf{y}_i = A e^{\boldsymbol{\kappa}} \mathbf{x}_i + \mathbf{t} yi=Aeκxi+t
我们使用轮廓损失作为监督信号,即渲染的多视图轮廓 S rendered S_{\text{rendered}} Srendered与输入的多视图轮廓 S input S_{\text{input}} Sinput之间的像素级平均绝对差。损失函数为:
L silhouette = 1 N ∑ i = 1 N ∥ S rendered , i − S input , i ∥ L_{\text{silhouette}} = \frac{1}{N} \sum_{i=1}^{N} \| S_{\text{rendered}, i} - S_{\text{input}, i} \| Lsilhouette=N1i=1∑N∥Srendered,i−Sinput,i∥
其中 N N N是像素总数。输入轮廓是通过运行SAM获得的。网格的轮廓是使用PyTorch3D中实现的Phong着色器渲染的。优化使用Adam优化器进行。
3.3 处理资产与人体的穿透问题
经过 S i m ( 3 ) Sim(3) Sim(3)变换的资产可以大致与人体对齐,但资产与人体之间仍然存在一些小的穿透。为了解决这一问题,我们进一步利用基于物理模拟的求解器来解决这些穿透问题。
3.3.1 通过单层代理网格表示资产
我们的原生三维扩散模型将三维几何表示为占用率,并使用Marching Cubes算法提取表面网格。因此,生成的资产是封闭的,但不适合进行物理模拟。例如,生成的服装不是单层网格;它们具有厚度,这可能会在模拟资产与人体的碰撞时出现问题。受ProxyCloth的启发,我们使用单层代理网格来表示资产。具体而言,我们首先在人体周围放置相机,并移除那些无法被相机观察到的三角形。然后我们使用基于Voronoi图的技术简化网格,该技术将顶点聚类到质心Voronoi图中,然后从相邻簇的质心中提取代理。在移除非流形面和非流形顶点后,我们得到了一个均匀的网格表面。图4展示了原始视觉网格与代理网格之间的比较示例。然后我们计算从资产形状到资产代理的线性混合蒙皮(LBS)权重,这可以将潜在的变形传播回视觉网格。
3.3.2 穿透处理
为了物理地解决资产与人体之间的穿透问题,我们开发了一个基于位置的模拟符合约束动力学(XPBD)的布料模拟器。模拟器可以通过资产与人体之间的碰撞响应来处理穿透问题。我们为人体计算一个符号距离场(SDF),以便进行碰撞检测。在每个模拟步骤中,具有负SDF值的资产顶点被识别为穿透到人体内部。这些顶点根据它们的SDF法线和值被投影到无穿透的状态,基于距离的约束。一旦穿透问题得到解决,就会应用一个摩擦位置约束来考虑表面相互作用。此外,还会应用一个基于顶点到顶点距离的碰撞约束来管理资产的自碰撞。为了提高性能,我们使用空间哈希来加速顶点的邻域搜索过程。经过变形且无穿透的资产被视为更新后的静止状态。为了最小化变形并保留资产的形状,在穿透处理过程中省略了重力。模拟是在前面提到的单层代理网格上进行的,然后将得到的变形通过预先计算的LBS权重传播回原始网格。
3.4 输入人体和图像对的获取
我们的方法需要输入的资产图像与人体的正视图对齐。如图5所示,我们确定了四种获取这些输入对的用例。以下是详细内容:
a) 基于图像的SMPLX拟合。给定一张穿着服装的人体图像,我们使用PyMAF中介绍的技术来估计SMPLX参数。
b) 基于草图的建模。用户可以在SMPLX模型的渲染图像上绘制二维资产。然后将草图转换为彩色图像,使用基于SDXL和T2i-适配器的草图到图像生成。
c) 基于图像的虚拟试穿(VTON)。VTON以服装图像作为输入,并生成目标人体穿着该服装的服装化图像。我们使用Kolors作为我们的VTON工具。我们使用纹理化的SMPLX的渲染图像作为目标二维人体。
d) 手动图像组装。用户可以手动将现有二维资产的图像拖动到纹理化的SMPLX模型的渲染图像上。需要注意的是,只有案例{a}需要人体姿态估计;在案例{b, c, d}中,人体参数是提供的。在案例{a, b, c}中,需要对资产图像进行分割,我们使用Grounded SAM来实现。
4 实验
评估指标。使用Chamfer距离(CD)、法线一致性(NC)和平均点到表面欧几里得距离(P2S)来评估形状生成的质量。多视图图像生成使用峰值信噪比(PSNR)、结构相似性(SSIM)和学习感知图像块相似性(LPIPS)指标进行评估。
4.1 与最新技术的比较
我们将我们的方法与最新的单视图服装重建方法进行了定量和定性的比较,包括BCNet、ClothWild、SewFormer、Frankenstein和Garment3DGen。表1显示了定量结果。我们的方法在基线中取得了最佳分数。图6和图10提供了单视图图像条件生成的定性结果。我们将所有方法的结果重新定位到A姿态,以便更好地进行可视化。如观察到的,BCNet、ClothWild和SewFormer无法生成与输入图像对齐的结果。这种限制源于它们仅依赖于服装参数化模型(无论是显式的、隐式的还是基于缝制图案的)。这些参数化模型的有限表示能力阻碍了它们恢复与输入图像对齐的服装形状的能力。尽管Frankenstein采用了更有效的三维三平面表示,但其对训练数据的严格要求使其难以扩展。有限的数据可用性导致训练出的模型泛化能力不足,阻碍了其从图像中有效重建复杂服装的能力。凭借对大型三维模型的先进泛化能力,Garment3DGen可以从图像中重建相对对齐的三维形状。然而,由于缺乏关于人体形状的先验知识,生成的三维服装难以适配到人体模型上,这需要劳动密集型和耗时的人工后期处理以实现服装与人体的对齐。此外,其模板拟合方法限制了拓扑灵活性,阻碍了复杂结构和精细几何细节的恢复。我们的方法在从单视图图像中有效地产生与人体对齐的服装形状以及忠实地捕捉高保真几何细节方面表现出色。
4.2 人体对齐多视图生成的消融研究
为了证明我们的人体条件多视图图像生成的有效性,我们对获得三维资产的各种方法进行了消融研究:1)从单视图到三维资产;2)从单视图到原始多视图(即与人体无关)再到三维资产;3)从单视图到与人体对齐的多视图再到三维资产。图7展示了这三种策略的比较。如观察到的,单视图到三维资产的方法以及与人体无关的多视图方法都会导致服装与人体的对齐问题。单视图到三维资产方法缺乏深度信息,往往会导致人体与资产之间的深度差异。在原始多视图生成中缺乏人体条件,会导致生成的多视图图像与相应的人体渲染图像不对齐,从而在生成的多视图图像与人体渲染图像之间产生明显的偏移。相比之下,我们的人体对齐多视图图像生成确保了资产在多个视角上与人体精确对齐,从而确保最终生成的三维资产始终与三维人体对齐。表2展示了人体无关和人体对齐多视图图像生成之间的定量比较,定量地证明了我们的人体对齐生成表现显著更好,并且能够产生在多个二维视角上与人体对齐的多视图图像。图11展示了更多人体无关和人体对齐多视图生成之间的比较。
4.3 对齐策略的消融研究
为了证明我们资产-人体对齐策略的重要性,我们对Sim(3)优化和穿透处理进行了消融研究。图8展示了我们策略与消融策略之间的比较。如图所示,尽管从多个二维视角来看,生成的多视图图像与人体渲染图像对齐(图8b),但从这些多视图图像生成的三维资产并不能有效地保证与输入图像的对齐(图8c)。这种差异源于不同的多视图到三维扩散模型在训练中采用了不同的技术和归一化策略,以适应其特定的架构和目标。因此,生成的三维网格通常与输入的多视图图像在几何上并不完全一致。这种不对齐表现为重建的三维网格与输入的多视图图像之间在尺度、平移和旋转方面存在差异(图8c)。通过采用Sim(3)优化,三维网格在几何上与多视图观测结果保持一致,从而与人体对齐(图8d);然而,资产与人体之间仍然存在一些穿透。如图d所示,通过应用我们的穿透处理方法,我们可以实现资产与人体的无穿透状态(图8e)。
4.4 结果画廊
图9展示了我们在四种设置下的代表性结果,这展示了我们提出的方法在各种场景下的有效性和多功能性。
5 限制和讨论
本文提出了一种引导先进的三维生成模型直接生成与人体对齐的三维资产的方法。实验结果表明,我们的方法在提示跟随能力、形状多样性和形状质量方面具有显著优势。我们相信我们的方法开启了基于三维生成模型的服装建模的新纪元。然而,仍有一些问题需要解决:1)我们的方法没有明确处理多层服装生成。未来研究的一个潜在方向是在并行中生成多个服装层,然后通过解决资产之间的穿透问题将它们组装在目标人体上,如工业工具MetaTailor所示。我们将在未来的研究中探索这种方法。2)生成资产的网格拓扑基于Marching Cube的输出,尚未达到生产就绪状态。由于角色旨在实现动画化,与静态物体相比,拓扑变得更加关键。最近关于艺术风格网格生成的研究,如Meshtron,为解决网格拓扑问题提供了潜在的解决方案。3)在运行SAM时,人体或其他资产的遮挡可能导致单视图资产输入不完整。虽然可以利用如SDXL这样的修复工具来从遮挡中恢复,但结果并不总是稳定的。未来的研究将专注于开发专门针对人体资产的稳健修复技术。4)我们的当前方法主要关注主体适配。涉及手指等手部细节的精细资产生成,例如手套,在这个版本中没有包括。这可以通过使用精细的手部对齐的三维资产数据集来实现。
该篇文章的笔记
1. 该篇文章的研究目的
1.1 研究目的概述
本文旨在开发一种能够自动生成与人体对齐的三维可穿戴资产(如服装、鞋子、头饰等)的方法。现有方法在生成复杂几何形状、多样性和提示跟随能力方面存在局限性,且通常需要人工干预来适配三维人体模型。因此,本文提出了一种名为BAG(Body-Aligned Asset Generation)的方法,通过利用人体形状和姿态信息直接生成能够自动适配人体的三维资产。
2. 该篇文章的研究方法
2.1 研究方法概述
本文提出了一种基于扩散模型的生成方法,通过以下步骤实现:
- 构建多视图图像生成模型:开发了一个从单视图图像到一致多视图图像的扩散模型,并在大规模的Objaverse数据集上进行训练,以实现多样性和泛化能力。
- 人体条件多视图生成:通过ControlNet引入人体条件信号(如多视图二维投影),生成与人体对齐的多视图图像。
- 三维资产生成:将多视图图像输入到原生的三维扩散模型中,生成三维资产。
- 优化与适配:通过相似性变换优化和物理模拟器解决资产与人体的穿透问题,确保生成的三维资产能够准确适配到目标人体上。
3. 该篇文章的研究内容
3.1 研究内容概述
本文的研究内容主要包括以下几个方面:
- 多视图图像生成:构建了一个能够生成与人体对齐的多视图图像的扩散模型,解决了现有方法中资产与人体对齐困难的问题。
- 三维资产生成与优化:通过原生的三维扩散模型生成三维资产,并利用相似性变换优化和物理模拟器解决资产与人体的穿透问题。
- 实验验证:通过与现有方法的比较,验证了该方法在提示跟随能力、形状多样性和形状质量方面的优势。
- 应用场景:展示了该方法在虚拟试穿、动画制作和游戏开发等领域的潜在应用。
4. 该篇文章的最大创新点
4.1 最大创新点概述
本文的最大创新点在于提出了一种能够直接生成与人体对齐的三维可穿戴资产的方法。具体创新点包括:
- 人体条件多视图生成:通过引入人体形状和姿态信息作为条件信号,生成与人体对齐的多视图图像,解决了现有方法中资产与人体对齐困难的问题。
- 自动适配能力:通过相似性变换优化和物理模拟器解决资产与人体的穿透问题,实现了三维资产的自动适配,无需人工干预。
- 高质量生成:结合先进的扩散模型,生成的三维资产在形状多样性、复杂几何结构和提示跟随能力方面显著优于现有方法。
5. 该篇文章给我们的启发
5.1 启发概述
本文为三维可穿戴资产生成领域提供了新的思路和方法,对相关研究和应用具有重要启发:
- 自动化与效率:该方法通过自动化生成与人体对齐的三维资产,显著提高了生成效率,减少了人工干预,为虚拟试穿、动画制作等领域提供了更高效的技术支持。
- 多样性和复杂性:通过结合先进的扩散模型,本文展示了在生成复杂几何结构和多样化资产方面的潜力,为未来的研究提供了新的方向。
- 跨领域应用:该方法不仅适用于服装生成,还可以扩展到其他可穿戴资产(如头饰、配饰等)的生成,为虚拟现实、增强现实和游戏开发等领域提供了新的可能性。
- 技术改进方向:本文也指出了当前方法的局限性,如多层服装生成和精细资产生成等问题,为后续研究提供了改进的方向。
图例翻译
图1. BAG生成了多种与人体对齐的三维形状,包括单独的可穿戴资产以及多个组件的组合。
图2. 方法流程图。给定输入图像和目标人体,我们使用人体条件图像生成来产生与人体对齐的四视图正交图像(见第3.1节)。四视图图像随后被输入到原生三维扩散模型中以获得资产形状。通过基于轮廓投影的优化估计生成资产的相似性变换(Sim3)(见第3.2节)。最后,在解决资产与人体的穿透问题后,Sim3变换后的资产被适配到人体上(见第3.3节)。获取输入人体和图像对的方法在第3.4节中详细说明。
图3. 规范人体空间(左)和与人体对齐的三维资产数据集示例(右)。人体表面的颜色是通过将规范空间中的 X Y Z XYZ XYZ值缩放到范围 [ 0 − 255 ] [0-255] [0−255]获得的。
图4. 穿透处理。尽管应用了Sim(3)变换,资产与人体之间仍然存在穿透,如"初始对齐"所示。为了解决这一问题,我们使用代理网格,它保留了视觉网格的基本几何形状,并作为布料模拟的代表。"最终对齐"展示了经过模拟后的资产与人体的无穿透状态。
图5. 四种获取输入人体和图像对的方法。a) SMPLX拟合;b) 基于草图的建模;c) 虚拟试穿;d) 手动图像组装。
图6. 资产形状生成的定性结果。
图7. 人体对齐多视图生成的消融研究。
图8. 定性比较我们与消融对齐策略的结果。如图所示,尽管从多个二维视角来看,生成的多视图图像与人体渲染图像对齐(b),但从这些多视图图像生成的三维资产并不能有效地保证与输入图像的对齐(c)。这种差异源于不同的多视图到三维扩散模型在训练中采用了不同的技术和归一化策略。通过采用Sim(3)优化,三维网格在几何上与多视图观测结果保持一致,从而与人体对齐(d),尽管仍存在一些穿透。我们的穿透处理方法,如图(e)所示,实现了资产与人体的无穿透状态。
图9. 结果画廊,涵盖四种设置:(a) 基于单视图重建与拟合的SMPLX;(b) 基于图像的虚拟试穿;© 组装现有二维资产;(d) 基于草图的建模。每张图像后面都跟着重建的资产网格。我们的方法在从输入中有效地生成与人体对齐的资产形状以及忠实地捕捉高保真几何细节方面表现出色。
图10. 定性比较我们与最新技术的结果。对于每一行,输入图像后面跟着的是BCNet [2]、ClothWild [80]、SewFormer [38]、Frankenstein [81]、Garment3DGen [10]和我们的方法生成的结果。
图11. 多视图生成的定性比较。对于每种情况,输入图像和人体条件后面跟着的是人体无关和人体对齐多视图生成的结果。
表例翻译
表1. 定量形状生成结果比较。
方法 | Chamfer距离 (CD) ↓ | 法线一致性 (NC) ↑ | 平均点到表面距离 (P2S) ↓ |
---|---|---|---|
BCNet | 21.031 | 66.728 | 13.673 |
ClothWild | 18.995 | 70.238 | 11.711 |
SewFormer | 23.945 | 66.467 | 15.627 |
Frankenstein | 20.996 | 68.975 | 12.707 |
Garment3DGen | 17.347 | 72.687 | 9.816 |
我们的方法 | 9.688 | 79.361 | 6.398 |
表2. 定量比较我们与替代策略的结果。
方法 | PSNR↑ | SSIM↑ | LPIPS↓ |
---|---|---|---|
无身体条件 | 27.168 | 0.733 | 0.0935 |
有人体条件 | 32.296 | 0.786 | 0.0893 |
1. 相似性变换估计
公式:
y i = A e κ x i + t \mathbf{y}_i = A e^{\boldsymbol{\kappa}} \mathbf{x}_i + \mathbf{t} yi=Aeκxi+t
解释:
这个公式描述了如何通过相似性变换将生成的三维资产与输入的多视图图像对齐。其中:
- y i \mathbf{y}_i yi 是变换后的顶点坐标。
- A A A 是缩放因子。
- e κ e^{\boldsymbol{\kappa}} eκ 是旋转矩阵, κ \boldsymbol{\kappa} κ 是三维轴角向量。
- x i \mathbf{x}_i xi 是原始顶点坐标。
- t \mathbf{t} t 是平移向量。
想法来源:
这个公式来源于计算机图形学中的相似性变换,它允许我们通过缩放、旋转和平移来调整三维模型的位置和大小。在本论文中,这个变换用于确保生成的三维资产与输入的多视图图像在几何上对齐。
2. 轮廓损失函数
公式:
L silhouette = 1 N ∑ i = 1 N ∥ S rendered , i − S input , i ∥ L_{\text{silhouette}} = \frac{1}{N} \sum_{i=1}^{N} \| S_{\text{rendered}, i} - S_{\text{input}, i} \| Lsilhouette=N1i=1∑N∥Srendered,i−Sinput,i∥
解释:
这个公式计算了渲染的多视图轮廓与输入的多视图轮廓之间的平均绝对差。其中:
- L silhouette L_{\text{silhouette}} Lsilhouette 是轮廓损失。
- N N N 是像素总数。
- S rendered , i S_{\text{rendered}, i} Srendered,i 是渲染的轮廓。
- S input , i S_{\text{input}, i} Sinput,i 是输入的轮廓。
想法来源:
这个公式来源于图像处理中的轮廓匹配技术。通过最小化轮廓损失,可以确保生成的三维资产在多个视图上的投影与输入的多视图图像在轮廓上保持一致。
3. 穿透处理
公式:
穿透处理 = 基于距离的约束 + 摩擦位置约束 + 顶点到顶点距离的碰撞约束 \text{穿透处理} = \text{基于距离的约束} + \text{摩擦位置约束} + \text{顶点到顶点距离的碰撞约束} 穿透处理=基于距离的约束+摩擦位置约束+顶点到顶点距离的碰撞约束
解释:
这个公式描述了如何通过物理模拟来解决资产与人体之间的穿透问题。其中:
- 基于距离的约束:将穿透的顶点投影到无穿透的状态。
- 摩擦位置约束:考虑表面相互作用。
- 顶点到顶点距离的碰撞约束:管理资产的自碰撞。
想法来源:
这个公式来源于物理模拟中的碰撞检测和处理技术。通过模拟物理约束,可以确保生成的三维资产在与人体模型接触时不会出现穿透现象。