跳转至

SKDream: Controllable Multi-view and 3D Generation with Arbitrary Skeletons

Abstract

  • SKDream 是一个可控的多视图和3D生成框架,能够使用任意骨架结构作为条件进行生成
  • 传统的条件生成方法在描述详细形状结构时受限,而骨架能够有效表示和描述对象解剖结构和姿态
  • 该工作首次将骨架条件生成从人体骨架扩展到任意结构,构建了大规模网格-骨架配对数据集 Objaverse-SK
  • 提出了 Coordinate Color Encoding (CCE) 将 3D 骨架表示为 2D 条件图像,设计了 Skeletal Correlation Module (SCM) 来提取全局骨架特征
  • 在多视图图像生成后,通过大型重建模型生成 3D 资产,并通过 UV 纹理细化阶段提升质量
  • 实现了与给定骨架对齐的多视图和 3D 内容的即时生成,3D 资产可在 20 秒内生成,60 秒内完成细化


Introduction

骨架作为结构条件具有独特优势:

  1. 对象解剖表示:能用稀疏关节和骨头高效表示各种3D结构,而深度图等条件无法表示完整3D解剖结构
  2. 不同姿态的关节运动:骨架在计算机图形学中广泛用于角色动画,具有简单性和高效性
  3. 编辑自由度:用户可自由添加新结构或修改关节和骨头以创建理想形状

挑战

从人体骨架扩展到任意骨架面临两个主要挑战:

  1. 缺乏大规模对象-骨架配对数据:人体姿态估计的广泛研究使人体-骨架配对数据容易获得,但任意骨架结构未知时,从2D图像或视频估计任意骨架因其病态性而具有挑战性
  2. 2D信息不足以描述任意骨架:复杂骨架受自遮挡和歧义影响,需要3D信息来完全捕获其解剖结构和姿态

贡献

  1. 构建首个大规模数据集 Objaverse-SK,包含涵盖多样骨架结构的网格-骨架配对数据,开发了一个从网格生成稀疏骨架的高成功率管道
  2. 提出用于任意骨架的多视图和3D生成管道,包括用于紧凑条件表示的坐标颜色编码和用于有效条件注入的骨架关联模块


可控 2D 生成

基于图像扩散模型的多样化控制条件已被广泛研究:

  • 空间控制:ControlNet 和类似工作训练侧网络处理边缘图、法线图和人体骨架等空间条件
  • 人体图像生成:一些工作专注于从骨架生成人体图像
  • 基于框的实例控制:关注实例级别的控制
  • 概念控制
    • DreamBooth 微调模型将给定主体与文本提示中的标识符绑定
    • IP-Adapter 训练适配器将风格或概念注入模型
    • 一些方法专注于人体ID控制
  • 无需微调的条件生成:部分方法可在不微调的情况下实现条件生成

可控 3D 生成

概念控制:通过结合图像控制方法与图像到 3D 生成可以轻松实现 3D 生成中的概念控制

空间控制:相比概念控制,3D 生成的空间控制更具挑战性

  • 许多工作基于 Score Distillation Sampling (SDS) 范式实现空间控制
  • Coin3D:提出通过形状代理(基本形状组合)控制多视图扩散和 3D 生成的框架
  • Sculpt3D:通过检索的 3D 先验增强文本到 3D 生成
  • Sherpa3D:用 3D 扩散模型生成粗糙形状,然后用SDS细化
  • 人体/头部头像生成:一些工作使用人体骨架或面部关键点作为 2D 或 3D 空间条件
  • 3D原生扩散模型
    • Clay 设计基于Transformer的3D扩散框架,可通过交叉注意力层注入图像和点云等各种条件
    • MVControl 实现利用单视图 2D 空间条件(如法线图、边缘图)的 3D 生成

与本工作的区别

  • MVControl 共享相似工作流程,但专注于单视图 2D 条件,而本工作专注于骨架条件生成
  • AnimatableDreamer 通过 canonical score distillation 生成带有从给定视频提取骨架的 4D 对象,但使用密集关节和非结构化骨头,而本方法使用稀疏关节和结构化骨头,更类似于人工制作的骨架,在形状表示和动画方面更高效

网格骨架化

各种算法被设计用于从 3D 网格提取骨架:

  • 曲线骨架 (C-S):通过迭代网格收缩操作计算曲线骨架
  • 中轴变换骨架 (MAT-S):通过点选择和连接预测提取骨架
  • 人工骨架 (H-S):由于主要目的是动画,H-S只包含稀疏关节和骨头,常与C-S和MAT-S不同
  • 数据驱动方法:一些工作提出从人工标注数据学习网格骨架化的数据驱动方法

本工作采用的方法:尝试了基于学习的方法 RigNet 但结果不理想,因此开发了新管道既生成如 H-S 一样稀疏的骨架,又能够保持 C-S 的形状。


Dataset Construction

Objaverse-SK 数据集

  • 基于 Objaverse 数据集构建,规模比现有最大数据集 ModelResources 大8倍
  • 包含 24k 个 3D 网格:15k 动物、6k 人体形状、3k 植物
  • 重点关注三个主要类别("动物"、"人体形状"和"植物"),因为它们通常可用树状结构骨架表示
  • 使用 Cap3D 生成文本提示

骨架生成管道

设计了一个可靠的管道,达到 80% 成功率,显著优于基于深度学习的方法 RigNet (15%)。

核心步骤:

  1. 曲线骨架提取:使用 Mean Curvature Flow (MCF) 从网格鲁棒生成曲线骨架
  2. 分支分区
    • 从曲线集合构建图,包含密集节点和边
    • 识别交叉节点(度数>1)并按这些节点划分图
    • 每部分用 Douglas-Peucker 算法简化为线段
  3. 树转换
    • 从图构建生成树以消除循环
    • 识别高度交叉节点作为根候选
    • 选择具有最小高度的树以确保根节点位于重要交叉点


Generation Pipeline

骨架条件多视图生成

基于 MVDream 构建条件生成模型,关注两个核心问题:骨架表示方式和条件注入方式。

Coordinate Color Encoding (CCE)

问题:直接将骨架从 3D 投影到 2D 会产生重叠和信息丢失,导致语义和结构歧义。

解决方案:使用空间颜色编码关节坐标来保留 3D 信息

  • 在标准立方体 \([0,1]^3\) 内归一化骨架
  • 立方体中每个位置对应唯一颜色,RGB 值精确匹配位置坐标
  • 骨头颜色基于其中点分配
  • 将骨架的视图相关逆深度归一化值作为 alpha 通道 (CCE-D)

Skeletal Correlation Module (SCM)

针对骨架在空间维度的稀疏性,设计 SCM 来增强条件特征:

  1. 解剖相关性:通过自注意力层提取,为每个视图构建全局骨架特征
  2. 跨视图相关性:通过交叉注意力层建模,提取多个视图间骨架图像的对应关系
  3. 相机姿态融合:使用 adaptive layer normalization 将相机姿态嵌入与骨架特征融合

效果:相关性层显著促进学习,实现 5 倍更快收敛。

多视图图像到 3D 生成

即时重建

通过骨架条件注入扩散模型,得到多视图图像之后,就可以使用大型重建模型(LRM)进行 3D 重建了,具体为使用 InstantMesh 进行快速网格重建。

外观细化

由于重建纹理模糊,引入细化阶段:

  1. 高分辨率升采样:使用 Stable Diffusion + ControlNet-Tile 将 256² 图像升采样 4 倍至 1024²
  2. UV 纹理优化:仅需 15 秒 \(\(L_u = \sum_i ||I_h^i - \mathcal{R}(u, c_i)||_2^2 + \lambda \cdot ||u - u_0||_2^2\)\)

    其中: - \(I_h^i\):高分辨率平铺图像 - \(\mathcal{R}(u, c_i)\):给定相机视图的可微渲染 - \(u_0\):重建纹理初始化 - 正则化项保持未覆盖区域的一致性


Object-Skeleton Alignment Evaluation

Contrastive Object-Skeleton Alignment (COSA)

开发新的评估器来测量对象与骨架的对齐程度:

  1. 特征提取:使用自监督 DINOv2 作为主干 \(F\) 提取对象和骨架特征
  2. 对齐适配器\(G_\theta\) 由多个自注意力层组成,使用 InfoNCE 损失进行对比学习训练
  3. 对齐分数:通过对象图像和骨架图像的特征之间的余弦相似度,来计算骨架对齐分数(SKA) \(\(S_{SKA}(x,y) = \cos(G(F(x)), G(F(y)))\)\)

COSA 引导扩散

基于 COSA 实现另一种条件生成管道:

\[\hat{\epsilon}_t = \epsilon_t + s(t) \cdot \nabla L_{COSA}(\hat{x}_0, y)\]

其中 \(L_{COSA}(\hat{x}_0, y) = 1 - S_{SKA}(\hat{x}_0, y)\)\(\epsilon_t\) 是像 DDIM 中一样的预测噪声,\(s(t)\) 控制引导强度。


Experiments

网格骨架化比较

  • RigNet:约 15% 成功率,倾向于产生对称骨架,灵活性有限
  • 本方法:80% 成功率,支持任意姿态骨架,更好的关节/骨头对齐

多视图生成评估

数据集:Objaverse-SK 评估集包含 108 个骨架实例,覆盖三个主要类别:动物、人体形状和植物

基线方法

  • SDEdit:无监督方法,从条件图像加噪开始生成
  • SDEdit + COSAG:半监督方法,结合 COSA Guidance
  • 本方法(SCM):全监督方法,使用对象-骨架对监督

量化结果

  • SKA 分数:本方法达到 80.43,SDEdit 为 70.13,SDEdit + COSAG 为 72.11
  • PickScore & CLIP Score:本方法在所有指标上持续优于基线方法
  • 动物类别对齐分数最高,植物最低(由于结构复杂性)

3D生成结果

  • 纹理细化:原始重建纹理模糊缺乏细节,细化阶段显著提升纹理质量
  • 装配动画:可直接用于角色动画,生成 4D 动画序列


Ablation Study

骨架条件表示

  • CCE-D(带深度 alpha 的坐标颜色编码)相比原始 Binary 表示有显著提升
  • 更丰富的条件信息帮助模型更好确定内容,避免歧义

骨架相关建模

  • SCM 相比卷积块实现更好对齐分数
  • 自适应层归一化 (AdaLN) 比普通层归一化实现 5 倍更快收敛
  • 全局特征提取对条件图像至关重要

UV 空间正则化

  • 细化外观包含丰富细节(如蛇鳞、木纹),但未覆盖区域可能出现伪影
  • UV 空间正则化有效移除未覆盖区域的伪影,保持一致颜色