Ultra3D: Efficient and High-Fidelity 3D Generation with Part Attention¶
会议: ECCV2026
论文: ECCV 原文
项目: Ultra3D
领域: 3D生成与编辑
关键词: 图像到3D、稀疏体素、VecSet、部件注意力、流匹配
一句话总结¶
Ultra3D 先用紧凑 VecSet 确定物体粗布局,再用沿部件边界组织的注意力生成稀疏体素潜特征,在支持 1024 分辨率网格的同时,相对全注意力基线取得部件自注意力 6.7×、DiT 推理 3.3× 的加速。
研究背景与动机¶
稀疏体素生成把物体表示为一组活跃体素坐标及其潜特征:坐标决定表面大致在哪里,特征进一步描述局部几何。 Trellis 一类方法先生成坐标,再为这些位置生成潜特征,因而比单纯用紧凑潜向量表示整个物体更擅长恢复细节。 问题是,“稀疏”不等于序列短:原文指出,生成 1024 分辨率网格时,64 或 128 分辨率稀疏体素分别平均包含约 20K 或 60K 个活跃体素。 如果每个体素都与所有其他体素做注意力,计算仍随 token 数量平方增长,高分辨率带来的细节收益会迅速转化为延迟和显存负担。
两个生成阶段其实不需要同样昂贵的表示。 第一阶段只要把轮廓、孔洞和主要连接关系摆对,没有必要直接用很长的序列预测大量坐标;第二阶段已经拿到了空间布局,更重要的是完善局部表面。 以 128 分辨率体素为目标,原来的第一阶段方案要在 \(32^3\) 稠密网格上建模,约有 32K 个 token;继续压到 \(16^3\) 虽然便宜,却会损害最终几何。 因此,本文并不是把所有层都换成局部注意力,而是先重新分配表示能力:用 VecSet 承担粗结构,用稀疏体素承担精细几何。
局部计算还必须顺着物体结构走。 固定空间窗口可能从同一个部件中间切开,把本应共同建模的表面分到互不通信的组,产生局部风格不一致;部件分组则把几何上相关的体素放到一起。 不过,不同部件仍需维持整体一致性,因此模型保留少量低分辨率全局通信,而不是假设各部件完全独立。 核心 idea:让粗布局决定高分辨率细化时哪些交互值得计算,以紧凑结构生成、部件内细化和低成本跨部件通信替代处处使用全局注意力。
方法详解¶
整体框架¶
输入是一张条件图像,输出是细化后的三维网格。 第一阶段的 VecSet 生成器预测紧凑潜向量集合,解码得到 512 分辨率粗网格和相机参数;随后把网格转成带部件标签的稀疏体素。 第二阶段在这些体素坐标上生成潜特征,并通过稀疏 VAE 解码出最终网格。 默认配置的稀疏体素分辨率是 128,输出网格分辨率是 1024,两者不是同一个网格尺度。
流程中的关键变化依次是 VecSet 粗布局、部件标注、低分辨率跨部件通信与部件注意力。 后两项不是各执行一次,而是在 Part-DiT 内反复交替:每组先经过一个全局通信块,再经过三个部件注意力块。 下图将它们合成同一个重复模块,避免把局部注意力和全局通信误解为两个独立生成器。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400, 'subGraphTitleMargin': {'top': 8, 'bottom': 16}}}}%%
flowchart TD
Image["条件图像"] --> Layout["VecSet 粗布局<br/>粗网格与相机"]
Layout --> Labels["部件标注<br/>带标签的稀疏体素"]
subgraph Refinement["Part-DiT:重复细化块"]
Global["低分辨率跨部件通信"] --> Local["部件注意力<br/>连续三个块"]
end
Labels --> Global
Image -->|DINOv2 图像特征| Local
Local --> Decode["稀疏 VAE 解码<br/>1024 分辨率网格"]
关键设计¶
1. VecSet 粗布局:先生成形状,再取得坐标
VecSet 把物体编码为固定长度的无序潜向量集合,通常只需几千个 token。 本文沿用 Hunyuan3D 2.0 的相关配置,用形状 VAE 编码网格表面采样的点云,再把潜表示解码为符号距离场(SDF)。 生成时先由 VecSet 模型采样形状潜表示,得到粗网格,而不是让第一阶段直接预测高分辨率稀疏坐标。 粗网格随后被体素化,留下第二阶段真正需要的表面空间支撑。 这一步利用了任务要求的不对称性:粗网格不必已经有最终的细纹理几何,只要它在 64 或 128 分辨率体素尺度上提供可信布局即可。
相机参数也被编码到潜向量中,并由 VecSet 解码器在生成时估计。 它们不是为了最终显示视角而附带输出,而是后续把三维部件投到条件图像、选择交叉注意力 token 的必要输入。 这也限定了细化能力的边界:第二阶段是在已有体素坐标上生成特征,不能默认它能修复第一阶段遗漏的大部件或严重错误的拓扑。 后一判断是根据流程作出的分析,不是论文单独测得的失败率。
2. 部件标注:把几何分组转成可用的计算边界
原始网格通常没有部件标签,本文采用 PartField 生成分组依据。 先从网格表面均匀采样点云,输入 PartField 得到三平面特征场,再查询这些点的特征并将网格体素化。 对落入同一体素的点特征取平均,得到体素级部件感知特征,最后做凝聚层次聚类,把活跃体素分成部件组。 训练预处理固定采用 8 组,以避免为每个物体搜索聚类数量的额外开销。 这些组是用于注意力路由的分割区域,并不要求每组都有人工命名的语义类别。
标注不是聚类完成就直接接受,还要排除一个组占据大多数体素以及标签空间碎片化的样本。 令 \(r_k\) 表示第 \(k\) 组占全部活跃体素的比例,原文用各组比例平方和衡量不均衡程度;按文字定义可写为:
实现部分剔除 \(B>0.25\) 的样本,也剔除邻域不一致性超过 25% 的样本。 邻域不一致性衡量体素邻域中标签不一致的程度,但正文没有给出精确邻接模板和计数细则,不能据此补成完全可复现的算子。 包含筛选的标注流程在一张 A800 上每个网格约需 2 秒。 训练时标注真实网格;推理时则对第一阶段生成的粗网格运行同样的标注过程,部件标签并非测试时直接使用真实答案。
3. 低分辨率跨部件通信:保留整体一致性而不全程支付全局代价
完全独立细化每个部件,会削弱不同部件之间的风格与结构协调。 因此,Part-DiT 不删除全部全注意力,而是在残差块中先下采样稀疏体素,再做全注意力,随后上采样特征并融合回原分辨率。 跨部件信息在短序列上交换,高分辨率序列则保留给后续部件注意力。 这与为了省算力而让整个细化阶段一直停留在低分辨率不同:局部细节处理仍能接触较密的活跃体素。
具体结构重复堆叠一个低分辨率全注意力块和三个部件注意力块。 这种结构解释了为什么“部件自注意力加速 6.7×”不能直接当作整个 DiT 的加速比:模型还有全局通信、上采样、下采样及其他计算。 它也解释了本文没有宣称全局依赖毫无价值;真正被削减的是大量高分辨率、跨越无关区域的重复交互。 原文没有提供完全删除全局块的数值消融,因此不能量化这个残差路径单独贡献了多少质量。
4. 部件注意力:同时约束三维内部交互与图像条件交互
部件自注意力只允许一个体素 token 访问同组的其他体素 token。 如果各组大小为 \(n_k\),从注意力配对数看,计算由 \(L^2\) 变为 \(\sum_k n_k^2\);这里 \(L\) 是全部活跃体素数。 当 \(K\) 组接近均衡时,配对数约为全局注意力的 \(1/K\),这是原文接近 \(K\) 倍理论节省的前提,而不是任意分割下的保证。 前面的比例平方和筛选因而不只是“清洗标签”:它还避免一个超大部件使实际计算接近全局注意力。 最后这一联系是根据组大小与复杂度作出的解读。
部件交叉注意力处理的是另一种对应关系:一个三维部件应该读取条件图像中的哪些 token。 模型利用相机参数把每个部件的体素投影到图像,把对应部件标签分配给覆盖到的图像 token。 同一个图像 token 可以关联多个部件,因为遮挡和投影重叠会让不同三维区域落到相同二维位置。 一个体素只访问关联标签集合中包含自身部件的图像 token,不能把这种映射理解成图像上互斥的单标签分割。 训练使用真实相机,推理使用 VecSet 解码器估计的相机,因此投影质量也受到相机预测误差影响。
缓存中的原文公式 (1)、(2) 存在提取损坏,上述解释依据公式附近完整文字,不恢复缺失的掩码取值表达式。 论文的核心机制仍然清楚:自注意力按同部件分组,交叉注意力按部件投影选择图像 token。 固定窗口同样可以减少配对,却不保证沿着部件边界划分,这正是两种局部化方式的区别。
一个完整示例¶
以一张包含座面、椅背与细腿结构的椅子图像为说明性例子,这不是新增实验。 VecSet 首先生成 512 分辨率粗网格,并估计输入相机;体素化与 PartField 标注得到 128 分辨率的空间布局和部件组。 固定 8 组不意味着必须恰好对应 8 个日常命名部件,聚类也可能细分一个较大的表面。 Part-DiT 先在下采样表示上交换全局信息,再让同组体素共同完善表面,并从投影对应的图像 token 中读取条件特征。 即使椅背与椅腿在图像中重叠,一个图像 token 仍能服务多个部件,不必强行指定唯一归属。 经过生成采样后,稀疏潜特征被解码为 1024 分辨率网格;若粗布局没有生成某条椅腿,则不能把局部细化等同于保证补齐缺失结构。
损失函数 / 训练策略¶
生成器沿用条件流匹配训练,形状表示由相应 VAE 学习,本文的主要创新是表示分工和注意力路由,而不是新的损失函数。 条件特征来自 DINOv2 图像嵌入,部件感知 DiT 扩展到 1.8B 参数。 训练数据为包含 1000k 个高质量三维物体的私有数据集,经上述部件标注与筛选处理。 稀疏 VAE 训练使用 32 张 A800、持续 2 天;VecSet-DiT 使用 128 张 GPU、持续 15 天;部件感知 DiT 使用 256 张 GPU、持续 15 天,总 batch size 为 256。 部件感知 DiT 使用 AdamW,学习率为 \(10^{-4}\),不施加 weight decay,EMA 系数为 0.9999。 无条件训练概率设为 0.1,时间步从均值 0、标准差 1 的 Logit-Normal 分布采样。 推理采用 25 步采样,classifier-free guidance 系数为 3.5;部件组数在训练时固定为 8,但推理允许不同组数。
实验关键数据¶
主实验¶
下表整理原文表 1(第 15 页)的效率比较,基线是全注意力,双方都使用 FlashAttention-2。 默认输出为 1024 分辨率网格、128 分辨率稀疏体素;表中没有给出每项计时的完整硬件、token 分布或绝对耗时。
| 测量对象 | 相对全注意力基线的加速比 | 可支持的结论 |
|---|---|---|
| 部件自注意力 | 6.7× | 部件内部交互显著减少注意力计算 |
| 部件交叉注意力 | 4.1× | 投影约束也减少跨模态交互开销 |
| DiT 训练 | 3.1× | 块级节省能够转化为训练加速 |
| DiT 推理 | 3.3× | 模型级收益小于单个注意力算子的收益 |
第 13 页正文另称,全注意力基线生成一个网格经常超过 15 分钟,而本文流程平均约 4 分钟。 前者是“经常超过”,后者是“平均”,不是同一配对计时统计,不能据此重新定义表 1 的加速比。 正文图 5 与 Trellis、Hi3DGen、Direct3D-S2 和匿名商业模型比较几何细节,但没有在本缓存中给出相应质量指标表。
消融实验¶
下表是原文图示消融的整理,不是虚构的数值质量表;来源为图 2(第 3 页)、第 12 页实验说明及图 6(第 14 页)。 缓存不包含论文提及的补充材料,所以用户偏好比例、质量得分和额外定量消融均不在此补写。
| 消融维度 | 原文配置 | 作者报告的观察 | 证据边界 |
|---|---|---|---|
| 注意力替换 | 全注意力 | 质量与部件注意力相近 | 图 2;从部件注意力检查点继续微调 |
| 注意力替换 | 3D 窗口注意力,空间固定分为 8 区 | 几何退化、风格不一致 | 图 2;同样经过继续微调 |
| 注意力替换 | 部件注意力 | 保持几何连续性与局部细节 | 图 2;没有对应数值质量指标 |
| 推理分组数量 | 4、8、12、16 组,训练固定 8 组 | 这些设置下均展示较好的生成质量 | 图 6;不等于测得任意分割都鲁棒 |
关键发现¶
- 最大的局部加速来自部件自注意力,但 DiT 推理的整体加速只有 3.3×,说明不能忽略其余计算。
- 固定窗口与部件分组的差异指向“如何划分局部区域”,而不是仅仅证明局部注意力比全局注意力好。
- 推理组数变化的证据是图示质量保持,并没有报告对应速度曲线、置信区间或部件分割误差扫描。
亮点与洞察¶
- 表示选择服从阶段职责。 VecSet 的细节不足在粗布局阶段不一定是致命问题,稀疏体素的高表达能力则留给真正需要细节的阶段。
- 部件标签成为计算路由。 分割不只是最终输出任务,也能决定哪些注意力交互值得执行;这个思路比简单地增加 token 压缩更贴近三维结构。
- 全局一致性与局部精度使用不同尺度。 少量低分辨率全局块负责跨部件协调,高分辨率局部块负责表面细化,避免二选一地保留或删除全局建模。
局限与展望¶
- 作者承认速度仍不够快:稀疏体素序列很长,局部约束下的注意力仍可能接近稠密计算,平均约 4 分钟也不属于即时交互。
- 方法依赖外部 PartField 和推理时相机估计;粗网格错误、分组破碎或投影错位可能影响后续特征生成,这是流程层面的风险分析。
- 私有 1000k 数据集与较高训练资源使独立复现困难;展示上的几何优势不能单独排除数据规模与模型规模的影响。
- 缓存缺少补充定量实验,不能把摘要中的用户偏好领先扩写成已核验的胜率,也不能把图示鲁棒性当作统计保证。
- 后续可测量分割不均衡、相机扰动和缺失粗结构对质量及速度的影响;这些是读者建议,不是本文已经完成的实验。
相关工作与启发¶
- Trellis: 提供结构化稀疏潜表示和两阶段流匹配范式;Ultra3D 重做坐标生成路径,并改造潜特征阶段的注意力组织。
- 3DShape2VecSet / Hunyuan3D 2.0: 紧凑向量集合适合快速获得整体形状,本文将其接到稀疏体素细化前端,而非要求同一种表示包办全部细节。
- Sparc3D: 本文采用其 SparConv-VAE 作为稀疏形状编解码器,因此精细几何表示并非完全从头提出。
- PartField / PartCrafter: 前者当前提供外部分割,后者代表可直接生成部件感知形状的方向;作者认为这类方法未来可替代外部标注步骤,而非当前已实现的配置。
评分¶
以下为阅读评价,不是论文报告的实验指标。 - 新颖性: 4/5。把混合表示、部件路由和多尺度通信围绕高分辨率生成统一起来,问题定位具体。 - 实验充分度: 3/5。效率收益明确,但当前正文缓存的质量和分组鲁棒性证据以定性展示为主。 - 写作质量: 4/5。阶段职责和设计动机清楚,部分复现细节与量化证据需要补充材料。 - 价值: 4/5。对高分辨率三维生成的计算分配有参考价值,但距离低资源、即时生成仍有差距。