MegaParts: Scaling Part-Aware 3D Object Generation to 300 Parts via Token-Efficient Autoregressive Modeling
Manwen Liao, Xinyu Lian, Jian Mao, Kaixu Chen, Li Luo, Jinghao Yan, Wanshui Gan, Qiao Yu, Weitian Zhang, Chunhua Shen, Guang Chen, Bo Dai, Xudong Xu, Zhaoyang Lyu
cs.CV, cs.GR
2026-08-15
上港大与上海 AI Lab 用率失真优化给每个零件分配自适应长度的离散 token 序列,再用 Qwen3-8B 自回归生成 300 零件、256k token 的结构化序列,部件级 Chamfer 距离 3.01,不到 FullPart 与 XPart 的一半。
可编辑的 3D 资产要按语义零件组装,而不是一整块网格:椅子是四条腿加坐面加靠背,游戏引擎里每个零件才能单独换、单独绑关节。现有零件级生成方法有个硬天花板:零件一多,token 长度和显存开销爆炸,几十个零件就到极限了,像汽车、机械这种上百零件的物体基本生成不了。
病根在表示方式。扩散模型把所有零件的几何摊平在连续潜空间里联合去噪,零件数一多,细节与结构一致性的开销两头涨。自回归路线倒是天然合拍:零件本来就是按顺序装上去的,但前提是每个零件的 token 数压得下来,否则 300 个零件的序列比长篇小说还长,没法训。
MegaParts 的核心是让每个零件按需分配 token 预算,三层设计环环相扣:
训练数据是自己攒的:近 1,000 万零件网格训 VQ-VAE,约 44 万个带零件标注的物体训生成模型(34 万公开加 10 万私有),超 300 个连通分量的物体按包围盒大小迭代合并到 300 以内。代码库基于 Roblox 的 Cube v0.5 初始化,查询 token 和码本都扩到四倍(4096 查询 token、65,536 码本条目)。
| 方法 | 部件 CD(×10⁻²)↓ | 部件 IoU↑ | 包围盒 IoU↑ |
| FullPart | 8.59 | 0.41 | 0.76 |
| XPart | 8.01 | 0.52 | 0.59 |
| MegaParts | 3.01 | 0.63 | 0.94 |
这是零件包围盒条件生成设定(所有方法喂同一份真值包围盒,控制变量)。文本条件生成上 FID 43.40,好于 SAR3D 的 94.69、Cube 的 55.58、TRELLIS-text 的 54.81。
重建端同样领先:同为 1024 token 预算,部件级 CD 0.12×10⁻³ 对 Cube 的 3.95×10⁻³,差 33 倍;token 预算从 512 加到 4096,质量单调上升,证明这套表示有清晰的由粗到细结构。规模上,框架稳定处理 300 零件、256k token 的序列,而 FullPart、XPart 这类基线的评测集还停在个位数到十几零件。
对 3D 内容生产,这是零件级生成第一次摸到真实工业复杂度:一辆车、一台机械设备的零件量级,而非演示用的桌椅。自适应 token 预算这个思路对其他模态也有参考价值,凡是「不同样本复杂度差异巨大」的生成任务,视频块、音频段都适用。对「自回归 vs 扩散」的路线之争,这篇是一份有力证据:压缩离散 token 不只是省算力,还直接抬高了可达的几何保真上限。
按部就班说,文本条件那组对比(FID 43.40)的基线不是专门的零件级方法,更硬的对照是包围盒条件那组;两组合起来看结论才完整。
作者自认两条:长上下文自回归在训练和推理两端都很贵,复杂物体尤甚;只建几何,没有纹理、材质、语义标注,也没有零件间的物理与功能关系(哪个零件能转、哪个承重)。后者离「游戏引擎里直接可用」还有明显距离。
读下来补两点。第一,评测主力 PartObjaverse-Tiny 本身零件数偏少,「300 零件」的主张主要靠附录 C1 的高零件数补充实验支撑,主表没有直接体现这个量级。第二,论文自己提醒 Table 3 的指标会重罚「多个零件熔成一坨」的基线输出,这个设定天然利好按零件建模的方法,跨模态外观对比要结合定性图看,数字不能单独当外观质量排名用。