跳转至

Seg3DParts: Segmentation-Grounded Controllable Part-Level 3D Generation

会议: NeurIPS2026(任务清单归属;所读版本为 arXiv v1)
arXiv: 2609.36918
领域: 3D 视觉
关键词: 部件级生成、分割条件、结构化潜变量、跨部件注意力、规范坐标空间

一句话总结

Seg3DParts 将外部提供的部件分割分别注入两阶段 3D 生成器,并让各部件潜变量交换结构信息,在保留训练时相对坐标的空间中直接输出独立网格;其优势是可指定分解方式且减少部件互穿,而不是自动发现未知部件。

研究背景与动机

一个完整的 3D 网格可以用于展示,却不一定适合编辑或重新组合:椅背、座面和椅腿如果融成同一表面,就没有稳定的操作单位。已有方案通常先从图像生成完整物体,再分割表面并逐件补全,例如 Hunyuan3D、PartField 与 HoloPart 的组合。它能得到显式部件,但局部补全看到的是不完整表面;遮挡严重时,部件各自生成得合理,也可能大小不一致、位置冲突或彼此穿插。

联合生成方法则让多个部件共享生成过程。PartCrafter 通过局部与全局注意力建模部件关系,PartPacker 利用双体积表示保持几何分离,因此本文并不是首次引入部件协同。它强调的剩余问题是控制接口:如果部件身份由潜变量槽位隐式决定,用户就难以指定哪个槽对应椅背,也难以要求同一图像按不同粒度拆分。整物体分割条件仍可能让生成器自行决定区域怎样分配给部件。

本文把“生成哪些部件”改成输入约束,再把“这些部件怎样相互配合”交给联合建模。二维 mask 提供可见区域与部件对应关系,却不能凭空提供被遮挡的三维结构;后者依赖数据先验、整图上下文与其他部件。核心 idea:用逐部件分割明确指定生成身份,以局部条件保持对应关系,同时在两阶段 VAE 与 DiT 内加入跨部件信息交换,学习在同一坐标空间中生成可直接组合的部件网格。

方法详解

整体框架

输入是一张 RGB 图像及一组部件分割,分割来自外部模型(如 SAM)或用户标注,不是 Seg3DParts 自己发现的部件。输出是与这些条件对应的多个独立网格。主干沿用 TRELLIS 的两阶段结构:先生成各部件的粗稀疏体素占据,再在这些空间位置上生成细几何潜变量,并解码成表面。

本文对两阶段都作了部件化改造。分割定位条件将局部图像特征送入对应部件的 AdaLN,整图特征则通过图像交叉注意力提供上下文;部件感知两阶段生成让 VAE 与 DiT 保留独立的部件表示并交换信息。共享规范空间解码的基础是训练数据保留原物体的相对位置与尺度,而不是在生成结束后预测一个装配变换。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    I["RGB 图像 + 外部部件 mask"] --> C["分割定位条件"]
    C --> S["部件感知两阶段生成<br/>阶段 1:稀疏结构"]
    S --> L["部件感知两阶段生成<br/>阶段 2:细几何潜变量"]
    L --> D["共享规范空间解码"]
    D --> O["独立部件网格"]
    T["训练监督:对齐部件网格"] -.->|占据监督与目标潜变量| S
    T -.->|几何监督与目标潜变量| L
    T -.->|保留相对尺度和位置| D

实线是推理数据流,虚线只表示训练监督。阶段 1 与阶段 2 均使用部件感知 VAE 和 rectified-flow DiT;两阶段中的跨部件交互安排不同,不能把它理解为只在最终装配前的一次注意力。

关键设计

1. 分割定位条件:给每组潜变量一个可控制的图像对应关系

每个部件 mask 从整图取得对应区域,形成部件条件图像。冻结的 DINOv2 提取局部视觉特征,再由可训练的轻量 MLP 得到紧凑外观嵌入。该嵌入与时间步嵌入、总部件数编码组合成部件条件向量,用于产生 AdaLN 的缩放、平移和门控参数。附录明确说明,这些参数通过索引广播只作用于所属部件的 token,避免把某个区域的条件无差别施加给所有部件。

与此同时,原始整图也经过 DINOv2,其全局特征通过交叉注意力进入 DiT。局部 AdaLN 与全局图像交叉注意力承担不同职责:前者回答“现在生成哪个图像区域对应的部件”,后者提供物体类别、整体轮廓以及可见结构的共同背景。两个阶段使用相同的部件条件设计,因此身份约束不仅影响最后的细节,也影响粗占据结构。

这种控制是二维区域定位,不等于输入了语义名称或完整三维形状。换一组 mask,可以改变分解边界和粒度;但论文没有给出任意 mask 都能实现合理分解的保证。尤其是完全不可见的部件,必须先由外部输入明确其存在和部件数,空图像条件本身不能承担未知部件发现。

2. 部件感知两阶段生成:先决定各部件占据哪里,再联合细化表面

阶段 1 的 VAE 在 \(64^{3}\) 体素占据网格上表示粗结构,每个部件作为批维度中的独立元素,编码器和解码器共享权重。层次化 3D 卷积把占据压缩为高斯潜变量,解码器恢复二值占据。跨部件交互只放在紧凑的潜变量瓶颈,高分辨率编码与解码仍逐部件执行;这样既能交流空间范围,又不必让所有局部体素一直全局混合。对应 DiT 在 \(16^{3}\) 网格表示上建模粗结构,不能将这个潜空间分辨率误写成最终占据分辨率。

阶段 2 以稀疏结构为条件,为各部件生成包含精细几何的稀疏潜变量。本文将 TRELLIS 的体素特征投影替换成网格表面编码;附录给出稀疏 Transformer 编码器和解码器,各有 12 个块,并在二者中对称插入跨部件交互块。阶段 2 DiT 处理的是 \(64^{3}\) 坐标空间中的稀疏特征,而不是每个部件都生成一个稠密的完整体积。表面编码有利于保留细节,但原文没有用单独消融量化其贡献。

两阶段 DiT 都有 24 个 Transformer 块、隐藏维度 1024 和 16 个注意力头。大多数块执行部件内自注意力、全局图像交叉注意力和前馈变换;少量多部件块在部件内自注意力之后额外插入跨部件注意力。原文说采用固定的稀疏交错安排,却未列出具体层号,不能据此假定每隔固定数量的块交互一次。

跨部件注意力让当前部件查询其他部件的 token,而不是把部件表示先合并为一个无身份的整体。其残差机制为:

\[ \mathbf{X}^{k}_{\text{out}}=\mathbf{X}^{k}+\mathrm{Attn}\!\left(\mathbf{Q}=\mathbf{X}^{k},\;\mathbf{K}=[\mathbf{X}^{j}]_{j\neq k},\;\mathbf{V}=[\mathbf{X}^{j}]_{j\neq k}\right). \]

其中方括号表示沿 token 维拼接,\(\mathbf{X}^{k}\) 是当前部件的潜变量 token。部件内注意力先维护本部件的表面或占据信息,再借其他部件更新尺度、位置与接触关系。这解释了为何单独生成各件再拼接不等价:其他部件的状态会在几何形成过程中影响当前部件。附录还规定单部件时退化为自注意力,这是实现层面的特殊处理,而不是直接把上式的空键值集合拿来计算。

3. 共享规范空间解码:学习原有相对位置,而不是事后求装配位姿

数据构建时,部件从完整物体中分离,但保留在原物体中的尺度和位置。编码、生成和解码都使用这种对齐表示;阶段 2 最终通过 FlexiCubes 提取每个部件的网格。因此输出文件虽然相互独立,却以同一规范坐标为参照,无须再对每件执行平移、缩放或优化对齐。

关键是“独立输出”不代表“独立决定坐标”。跨部件交互在训练和生成时帮助各件学习相对关系,统一的训练坐标则告诉模型正确的位置应在哪里。附录所说的解码值归一化用于监督稳定性,并明确保留规范对齐;不能将其解释为把各部件分别居中缩放后仍自动保有装配位置。

这是一种学习到的空间一致性,而非硬几何约束。它没有显式保证网格一定无碰撞、接触严密或满足可制造性;主实验的部件重叠 IoU 也不是零。因此“不需要事后对齐”描述的是推理流程,不应扩展成任意输入下都能正确装配的保证。

一个完整示例

以一张存在遮挡的椅子图像为解释性例子,假设外部输入指定座面、椅背和四条椅腿,共 6 个部件。这只是流程示例,不是论文新增实验。可见部件各自取得局部条件图像,每组 token 接收自己的 AdaLN 参数,同时共享整图上下文;阶段 1 为 6 个部件联合确定粗占据,阶段 2 在这些位置上生成几何并相互参考其他部件的状态。

如果一条后腿完全不可见,附录 F 的做法是仍为它保留一个部件条件,并输入全黑条件图像。训练中完全隐藏的部件也如此处理,让模型把黑图理解为“没有视觉证据”,而不是“没有这个部件”。该腿的形状和位置只能依赖可见结构及训练先验推断,不能说它的真实几何已由 mask 确定。最终 6 个网格处于同一坐标空间;如果用户把座面与椅背合成一个区域,控制接口允许提供不同粒度,但论文只用定性图展示这种变化,没有报告分解可控性的独立定量指标。

损失函数 / 训练策略

两个 VAE 先学习几何的潜变量表示,两阶段 DiT 再以 flow matching 学习从噪声到目标潜变量的速度场。阶段 1 VAE 使用 Dice 占据重建损失与 KL 正则,KL 权重为 \(10^{-3}\)。阶段 2 VAE 同时监督渲染轮廓、深度、截断符号距离场和法线,KL 权重为 \(10^{-6}\);法线监督结合逐像素 \(\ell_{1}\)、SSIM 与 LPIPS,以兼顾局部数值和感知结构。

阶段 2 的深度、TSDF、法线 SSIM、法线 LPIPS 权重分别为 10.0、0.01、0.2、0.2。原文把深度项写为 Smooth-\(\ell_{1}\),但未给出轮廓项与 TSDF 项的全部计算细节,也未列出 flow matching 的时间采样分布等细节;这里不补写一套猜测的精确损失定义。

两个 VAE 使用 8 张 A800 训练约 2 天,两个阶段的 DiT 使用 16 张 A800 训练约 1 周;原文未清楚拆分每个模型各自的时长。推理采用 rectified-flow 积分,两个阶段分别为 50 步和 30 步,图像条件的 classifier-free guidance(CFG)强度为 3.0,不使用测试时优化或后处理。

实验关键数据

主实验

PartObjectNet 汇集 Objaverse、Texverse 和 PartNet,经自动筛选及人工整理保留含 2–15 个部件的对象。数据集正文描述为约 200K 个物体,摘要称超过 200K 个物体及 1M 个标注部件,但未提供可核对的精确计数。内部测试集随机留出 500 个对象,另在作者声明独立于训练数据的 PartObjaverse-Tiny 上测试;所读全文没有给出该外部测试集的样本数。

全局几何将所有部件网格拼接后,与真值在共同的 \([-1,1]^{3}\) 空间比较,各表面均匀采样 16K 点。[email protected] 是距离阈值 0.1 下表面点匹配精确率和召回率的调和平均;CD 为双向最近邻表面距离,论文未明确其平方形式和额外缩放。部件级指标对有明确对应关系的部件计算,IoU 使用 \(64^{3}\) 体素网格。重叠 IoU 则是生成部件两两体积 IoU 的平均,越低越好,与部件对真值 IoU 的方向相反。

下表选取主文表 1 的代表对比,不把全局几何更好直接当成部件身份更准确。

方法 PartObjectNet [email protected] ↑ CD ↓ 重叠 IoU ↓ PartObjaverse-Tiny [email protected] ↑ CD ↓ 重叠 IoU ↓
PartCrafter 0.698 0.248 0.050 0.731 0.182 0.049
PartPacker 0.876 0.115 0.033 0.802 0.138 0.033
OmniPart 0.885 0.108 0.057 0.763 0.168 0.041
Hunyuan3D2.1 + PartField + HoloPart 0.858 0.121 0.067 0.796 0.143 0.041
Seg3DParts 0.917 0.085 0.012 0.810 0.128 0.018

内部测试相较 OmniPart,全局 FS 增加 0.032,CD 减少 0.023;外部测试相较 PartPacker,全局 FS 仅增加 0.008。应把整体保真度、部件控制和重叠分开看,而不是用单一领先幅度概括所有优势。

表 2 仅比较支持显式部件对应关系的 OmniPart 与 Seg3DParts。主文图 3 说明二者输入真值部件分割,因此这些结果不能当作外部分割器产生噪声 mask 后的端到端性能。

数据集 方法 部件 [email protected] ↑ 部件 CD ↓ 部件 IoU ↑
PartObjectNet OmniPart 0.565 0.417 0.551
PartObjectNet Seg3DParts 0.774 0.192 0.781
PartObjaverse-Tiny OmniPart 0.455 0.418 0.429
PartObjaverse-Tiny Seg3DParts 0.639 0.310 0.702

内部部件 FS 增加 0.209,外部部件 IoU 增加 0.273。它们支持在已给定对应关系下更准确地生成部件,但没有评估自动发现部件的准确率;其他方法未列入此表也不等于其部件质量为零。

消融实验

主文表 3 的所有变体只在随机采样的 1K 个物体上训练 5K 步。这是共同的小规模设置,完整模型这一行不是上面全量训练模型,数值不能横向混为同一实验。

配置 全局 FS ↑ 全局 CD ↓ 重叠 IoU ↓ 部件 FS ↑ 部件 CD ↓ 部件 IoU ↑
完整模型 0.856 0.129 0.054 0.631 0.467 0.649
去掉跨部件交互 0.838 0.138 0.103 0.531 0.534 0.434
单一整物体分割条件 0.840 0.137 0.126 0.488 0.589 0.444

去掉交互将所有多部件块替换成单部件块;整物体条件变体则将逐部件条件替换为一个整物体分割图。前者让重叠 IoU 增加 0.049、部件 FS 减少 0.100,后者让重叠 IoU 增加 0.072、部件 FS 减少 0.143。这个对照说明只看整体形状容易漏掉部件级失效,但尚不能推断全量训练时的精确贡献大小。

关键发现

  • 两个消融的全局 FS 只降低 0.018 和 0.016,部件指标却退化更明显。整体轮廓相近不代表分解正确,也不代表部件之间没有互穿。
  • 逐部件条件对身份定位、跨部件交互对几何协同各有作用;消融支持二者互补,但未分别拆出每阶段 VAE 和 DiT 交互的贡献。
  • 图 5 展示同图不同分割的定性控制,附录 F 展示完全遮挡部件的恢复示例。二者均缺少专项规模、误差统计和对照,证据强度弱于主几何评测。

亮点与洞察

  • 控制粒度可以交给输入而不是固定潜槽解释。逐部件 AdaLN 让输入区域与 token 组保持对应,而整图交叉注意力仍保留理解物体所需的共同背景。
  • 协同应发生在表示学习与生成内部。VAE 就学习带关系的潜空间,DiT 再在生成中交换状态,比最后仅对独立部件求位姿更能影响缺失几何的形成。
  • 统一坐标是数据与模型共同承担的约束。保留训练对象的相对尺度和位置,使“网格分开输出”不再意味着必须重新装配;这可借鉴到有显式区域条件的组合式资产生成。

局限与展望

  • 作者承认对输入分割质量敏感,附录 G 给出低质量或语义含混边界下的失败案例。主定量结果使用真值分割,后续应分别报告自动 mask、人工 mask 和受控扰动 mask 的表现。
  • 完全隐藏部件仍需外部指定其存在,并以黑图提供缺视觉证据的信号。附录只有定性示例,未统计遮挡比例、类别或几何误差;不能据此声称系统会自行发现所有隐藏部件。
  • 训练筛选范围是 2–15 个部件,未测试超出范围的可靠性、推理时延或显存随部件数增长的曲线。其他部件 token 拼接可能带来扩展成本,但全文没有给出复杂度实测。
  • 低重叠不等于接触正确或功能可用。可以补充接触面误差、装配稳定性和部件编辑后的一致性指标,而不是仅靠整体 FS 和体积 IoU。
  • 复现信息仍有缺口:未说明精确交互层安排、所有重建项细节、推理成本或所读版本中的代码链接。正文和附录把网格编码称为 TripoSF [34],但参考文献 [34] 标为 Sparseflex;正文基线称 Hunyuan3D 2.1,而 [14] 是 Hunyuan3D 2.0。这里保留原文实验名称,不擅自统一版本。

相关工作与启发

  • vs TRELLIS:沿用稀疏结构与结构化潜变量的两阶段主干,变化在于逐部件表示、局部条件和跨部件协同。不能把该主干或 rectified flow 本身算成本文新提出。
  • vs PartCrafter / PartPacker:它们已经联合建模多个部件;本文重点是用外部分割提供显式区域对应,代价是输入依赖更强。双体积或部件注意力与分割定位也不是必然互斥的设计。
  • vs OmniPart:同样可利用分割,但本文将逐部件图像嵌入注入对应 token 的 AdaLN,而不是主要通过全局分割和部件空间预测决定分配。真值 mask 下的部件级对照是本文最直接的控制相关量化证据。
  • vs Hunyuan3D + PartField + HoloPart:先生成整体再分割补全与本文的过程内协同不同。启发是把后处理阶段才能知道的部件关系提前放入几何生成过程,而不是假设独立补全后总能得到一致装配。

评分

  • 新颖性: 4/5。将显式逐部件图像定位与两阶段跨部件协同结合,增量清楚,但骨干和联合建模已有基础。
  • 实验充分度: 3/5。内部及外部几何对比完整,控制、完全遮挡和 mask 噪声评估仍以定性证据为主。
  • 写作质量: 3/5。方法逻辑清晰,附录补充了结构与权重,但参考模型名和部分实现细节尚不明确。
  • 价值: 4/5。对可编辑的部件级资产生成有实际意义,使用时必须考虑外部分割质量和空间一致性的学习边界。