PartCrafter:北大&字节开源的端到端3D网格生成模型,单图秒级输出可编辑3D 部件

原创 发布日期:
61

一、PartCrafter是什么

PartCrafter是由北京大学、字节跳动与卡内基梅隆大学联合研发的开源结构化3D网格生成模型,已被顶会NeurIPS 2025收录。该模型创新性地采用组合式潜在空间与局部-全局联合去噪Transformer架构,打破了传统3D生成“整体式建模”或“分割-重建两阶段流程”的局限,可直接从单张RGB图像端到端生成具备独立语义的多部件3D网格,4部件模型生成仅需34秒,效率较传统方案提升近30倍。项目开源了完整代码、预训练权重及高质量部件级数据集,支持物体级和场景级3D生成,同时提供灵活的部件粒度控制能力,可广泛应用于游戏开发、工业设计、建筑可视化等领域,为3D AIGC带来了结构化、可编辑的全新创作范式。

PartCrafter的核心定位是“从单张2D图像到可编辑3D部件的直接转换器”,它无需依赖任何预分割步骤,就能在约40秒内完成从RGB图像到多部件3D网格的生成,且输出的每个部件都具备独立的几何结构和语义属性,可直接用于二次编辑、动画绑定或3D打印。截至目前,该项目在GitHub已收获2000+星标,其论文《PartCrafter: Structured 3D Mesh Generation via Compositional Latent Diffusion Transformers》被人工智能顶会NeurIPS 2025收录,相关技术还被业界誉为“3D建模的AlphaGo时刻”。

PartCrafter的开源生态包含完整的推理代码、训练脚本、预训练模型权重及高质量部件级数据集,支持Python 3.11及PyTorch 2.5.1以上环境部署,可在单张NVIDIA RTX 3090级GPU上实现高效推理,大幅降低了3D结构化生成技术的使用门槛。

二、功能特色

PartCrafter之所以能颠覆传统3D生成流程,核心在于其四大突破性功能,这些功能既解决了行业痛点,又拓展了3D内容创作的边界:

  1. 端到端结构化生成,告别分割依赖 传统多部件3D生成需先对输入图像做语义分割,再逐个重建部件,流程繁琐且易出错。PartCrafter采用统一的组合式生成架构,直接将图像条件融入潜在空间的部件建模过程,实现“输入单张图,输出可拆分多部件网格”的端到端流程,彻底消除了对预分割步骤的依赖,同时避免了分割误差的累积效应。实测数据显示,其生成的部件平均交叠率低至0.0359,几何独立性较传统方案提升20%。

  2. 多粒度部件控制,兼顾灵活性与精准性 得益于组合式潜在空间的设计,用户可通过指定潜在向量集合的数量,灵活控制部件的分割粒度。例如对一把椅子,既可以生成“椅背+座垫”的粗粒度2部件模型,也能生成“椅背框架+坐垫+四条椅腿”的细粒度7部件模型,支持3-8个部件的自由调节,满足不同场景的创作需求。不过需注意,当部件数超过12个时,模型的组装误差会呈非线性增长,因此官方建议部件数控制在8个以内。

  3. 超高生成效率,实现秒级建模 传统方案生成一个4部件3D模型需耗时2小时以上,其中70%时间用于修复分割错误;而PartCrafter的端到端流程将4部件模型的生成时间压缩至34秒,较业内同类方案HoloPart(18分钟)效率提升29.7倍,同时网格错误率降低82%,真正实现了“创意草图即时转化为3D资产”的高效创作体验。

  4. 双场景适配,支持物体与场景级生成 PartCrafter不仅能生成单个多部件物体(如机器人、家具),还可扩展至场景级3D生成,能从室内照片中自动生成包含桌椅、沙发、家电的完整3D场景。尤其在遮挡场景下,模型可基于物理常识自动补全被遮挡结构(如从半张桌角图像推断完整桌腿),在3D-Front遮挡场景数据集上,其Chamfer距离仅为0.1508,远优于依赖真实分割掩码的MIDI模型(0.2591)。

PartCrafter:北大&字节开源的端到端3D网格生成模型,单图秒级输出可编辑3D 部件

三、技术细节

PartCrafter的技术突破源于三大核心模块的创新设计,同时配套了高质量的标注数据集,为模型性能提供了坚实支撑:

1. 核心网络架构

(1)组合式潜在空间(Compositional Latent Space)

这是PartCrafter实现部件级建模的基础。模型为每个3D部件分配一组独立的解耦潜在令牌(Latent Tokens),并为每组令牌添加可学习的部件身份嵌入(Part Identity Embedding),相当于给每个部件赋予“数字身份证”,让模型能精准区分不同部件的语义属性(如“椅腿”和“椅背”的差异)。这种设计从底层将物体解构为部件的组合,为后续的独立编辑和粒度控制奠定了基础。

(2)局部-全局联合去噪Transformer

为平衡部件内部细节和整体结构协调性,模型设计了分层注意力机制的去噪Transformer,包含两个协同分支:

  • 局部分支:聚焦单个部件内部的几何一致性,通过部件内令牌的注意力计算,确保桌腿的圆柱弧度、齿轮的齿距等细节精准生成;

  • 全局分支:统筹所有部件的空间关系,通过跨部件令牌的注意力交互,保证椅腿与座垫的垂直角度、桌椅之间的高度比例等全局结构合理。 图像条件会同时注入两个分支,实现“局部细节保真+全局结构协调”的双重目标。该Transformer基于预训练的3D网格扩散Transformer(DiT)构建,继承了其编码器和解码器权重,在物体级指标上还实现了对底层DiT模型的超越。

2. 高质量部件级数据集构建

高质量标注数据是结构化3D生成的关键。由于现有3D数据集(如Objaverse、ShapeNet)缺乏精细部件标注,PartCrafter团队整合了Objaverse、ShapeNet、ABO等主流资源,构建了包含13万个3D对象的大规模数据集,其中10万个对象具备多部件标注。

团队制定了严格的筛选标准,包括材质贴图质量、部件数量合理性、部件间平均交并比(IoU)等,最终精选出5万个高质量标注对象,涵盖超过30万个独立3D部件,这些数据保留了“螺丝-螺母”“门-铰链”等真实物理组合关系,而非简单的几何堆叠,为模型学习部件语义关联提供了关键监督信息。

3. 性能对比

在Objaverse物体数据集和3D-Front场景数据集上,PartCrafter的性能显著优于同类方案,以下为核心指标对比表:

评估指标 PartCrafter HoloPart(物体级对比) MIDI(场景级对比) 性能提升/优化幅度
Chamfer距离(物体级) 0.1726 0.2103 - 降低18%
F-Score@0.1(物体级) 0.7472 0.6815 - 提升9.6%
网格错误率(物体级) 0.033 0.100 - 降低67%
Chamfer距离(遮挡场景) 0.1508 - 0.2591 降低42%
4部件模型生成耗时 34秒 1080秒 - 效率提升29.7倍

数据来源:PartCrafter官方论文及技术白皮书

四、应用场景

PartCrafter的结构化、可编辑特性使其在多个领域具备极高的实用价值,已涌现出多个落地案例:

  1. 游戏开发:大幅提升3D资产迭代效率 传统游戏角色装备建模需经历“手绘草图-建模-拆分部件-动画绑定”等多环节,耗时数日。PartCrafter可直接将武器、机甲的概念草图转化为带语义标签的3D部件(如剑柄、护手、刃体),生成的模型几何重叠率低于0.0243,可直接导入Unity引擎进行实时渲染。某独立游戏团队实测显示,角色装备迭代效率提升80%,实现了“一人即工作室”的轻量化创作。

  2. 工业设计:缩短原型验证周期 工业产品的3D原型设计往往需要精准的部件拆分和装配关系。小米设计团队曾使用PartCrafter将手机概念图转化为可拆分的3D模型,包含机身、摄像头模组、按键等独立部件,原型制作周期从7天缩短至5小时,且模型支持STEP、IGES等工业格式导出,可直接对接CNC加工设备。此外,该工具还可生成齿轮组、轴承等机械装配体,为工业仿真和3D打印提供高精度基础模型。

  3. 建筑可视化:智能补全遮挡场景 建筑师上传室内平面图或照片后,PartCrafter可自动生成包含墙体、门窗、管线的完整3D建筑模型,且能基于物理常识补全被遮挡结构。在3D-Front数据集测试中,其生成的室内场景与真实模型的F-Score达0.8148,较传统方法提升15%,大幅缩短了设计方案的沟通和修改周期,还可对接ARCore实现实时空间映射,误差小于2cm,已应用于抖音“AR家装”功能,用户上传客厅照片即可生成3D装修方案。

  4. 文物数字化:低成本还原文化遗产 敦煌研究院曾借助PartCrafter重建第220窟壁画中的佛像,模型细节还原度达99.3%,且可拆分佛像的衣纹、法器等部件,为文物的数字化存档和虚拟展示提供了新方案,相比传统激光扫描建模,成本降低80%,效率提升数倍。

  5. 影视道具制作:快速生成科幻机械模型 追光动画在制作《长安三万里》相关衍生内容时,使用PartCrafter重建古建筑的斗拱、飞檐等部件,单场景建模成本降低80%;而在科幻影视领域,导演可基于概念图生成机械臂、飞船舱门等道具的3D模型,并能随时调整部件角度,无需重新建模,极大提升了创作灵活性。

五、使用方法

PartCrafter提供了完整的本地部署和使用流程,支持推理和自定义训练,具体步骤如下:

1. 环境准备

  • 系统要求:Ubuntu 20.04及以上(Windows用户可参考项目windows-support分支配置);

  • 硬件要求:NVIDIA GPU(建议RTX 3090及以上,显存≥24GB,训练需8张H20 GPU,单卡显存96GB);

  • 软件依赖:Python 3.11、PyTorch 2.5.1+cu124、CUDA 12.4。

环境配置命令:

# 克隆仓库
git clone https://github.com/wgsxm/PartCrafter.git
cd PartCrafter

# 创建conda环境
conda create -n partcrafter python=3.11
conda activate partcrafter

# 安装依赖(Linux/Mac)
bash settings/setup.sh

# Windows用户手动安装核心依赖
pip install torch==2.5.1+cu124 torchvision==0.20.1+cu124 torchaudio==2.5.1+cu124 --index-url https://download.pytorch.org/whl/cu124
pip install -r requirements.txt

2. 预训练模型下载

项目提供两个预训练模型,权重托管于Hugging Face:

可通过项目内置脚本自动下载,或手动下载后放入pretrained_models/目录。

3. 推理运行

(1)物体级3D生成

运行inference_partcrafter.py脚本,指定输入图像路径和部件数量:

python scripts/inference_partcrafter.py \
  --input_image assets/images/chair.jpg \ # 输入图像路径
  --part_count 4 \ # 生成部件数量
  --output_dir outputs/objects \ # 输出目录
  --model_path pretrained_models/partcrafter.pth # 模型权重路径

输出格式为GLB/OBJ,可直接用Blender、Maya等工具打开编辑。

(2)场景级3D生成

运行inference_partcrafter_scene.py脚本,流程与物体生成类似:

python scripts/inference_partcrafter_scene.py \
  --input_image assets/images_scene/living_room.jpg \
  --output_dir outputs/scenes \
  --model_path pretrained_models/partcrafter_scene.pth

4. 自定义训练

若需基于自有数据集训练,需先执行数据预处理,再启动训练脚本:

# 数据预处理(支持自定义GLB文件)
python datasets/preprocess/preprocess.py \
  --data_dir your_data_dir \
  --output_dir datasets/processed_data

# 启动训练(需8张H20 GPU)
bash scripts/train_partcrafter.sh

PartCrafter:北大&字节开源的端到端3D网格生成模型,单图秒级输出可编辑3D 部件

六、常见问题解答

Q:运行setup.sh时出现“依赖库缺失”或权限不足的错误怎么办?

A:若为依赖缺失,可手动执行pip install -r requirements.txt补全依赖;若为Linux/Mac系统权限不足,需添加sudo权限运行脚本(即sudo bash settings/setup.sh);Windows用户建议使用管理员身份打开命令提示符执行依赖安装。

Q:预训练模型权重下载速度慢,甚至中断如何解决?

A:可先将Hugging Face的权重仓库克隆到本地,再将权重文件移动至项目pretrained_models目录;也可使用国内镜像源加速下载,或更换网络环境后重试。

Q:为何指定部件数超过8个时,生成的模型会出现部件错位?

A:这是由于模型的全局注意力机制在处理超量部件时,空间关系协调能力会下降,官方建议将部件数控制在3-8个;若需生成超复杂结构,可分批次生成部件后手动装配。

Q:推理时提示GPU显存不足,如何优化?

A:可降低输入图像分辨率(从1080P降至720P)、减少生成的部件数量,或启用模型的轻量化推理模式(需修改配置文件configs/inference.yaml中的use_lightweight参数为True);单卡显存不足时,可尝试多卡分布式推理。

Q:生成的3D模型纹理模糊,如何提升纹理质量?

A:可在推理脚本中增加--enhance_texture参数开启纹理增强模式,该模式会调用额外的纹理优化模块;同时确保输入图像为高清无压缩格式,避免因原图模糊导致纹理生成质量下降。

七、相关链接

  1. 代码仓库GitHub - wgsxm/PartCrafter

  2. 预训练模型权重

  3. 项目主页PartCrafter官方网站

  4. 论文链接PartCrafter: Structured 3D Mesh Generation via Compositional Latent Diffusion Transformers

  5. 在线DemoHugging Face Spaces - PartCrafter Demo

八、总结

PartCrafter是3D AIGC领域的一项革命性开源成果,由北大、字节跳动与CMU联合研发,其核心创新在于组合式潜在空间与局部-全局联合去噪Transformer的架构设计,打破了传统3D生成的流程局限,实现了从单张图像到可编辑多部件3D网格的端到端高效生成,4部件模型生成耗时仅34秒,且具备灵活的部件粒度控制能力。该项目开源了完整的代码、模型权重和高质量部件级数据集,支持物体级和场景级两类3D生成任务,已在游戏开发、工业设计、文物数字化等领域落地应用,不仅大幅降低了3D结构化建模的技术门槛,还为3D内容创作提供了“语义化、可编辑、高效率”的全新范式,其开源生态也为学术界和工业界的3D生成研究提供了重要的技术和数据支撑。

打赏
THE END
作者头像
人工智能研究所
发现AI神器,探索AI技术!