En3D
En3D 是一款专为生成高质量 3D 人类角色而设计的开源人工智能模型,曾发表于计算机视觉顶级会议 CVPR 2024。它核心解决了传统 3D 角色制作门槛高、依赖昂贵动作捕捉设备或现有资产库的难题。En3D 的独特之处在于,它完全基于数百万合成的 2D 数据进行训练,无需任何预先存在的 3D 模型或真实 2D 素材,即可从零开始“雕刻”出逼真的 3D 数字人。
用户只需输入简单的文本描述、一张参考图片,甚至是一个随机种子,En3D 就能自动生成结构完整、纹理细腻的 3D 虚拟形象(Avatar),并支持自动绑定骨骼和生成动画,直接输出兼容主流图形工作流的 FBX 格式文件。这一流程极大地简化了从创意到成品的路径。
这款工具非常适合游戏开发者、影视特效师、3D 设计师以及从事数字人研究的科研人员使用,能帮助他们快速构建多样化的角色库;同时,其提供的在线演示和简易部署方式,也让对 3D 内容创作感兴趣的普通爱好者能够轻松体验前沿的生成式 AI 魅力。无论是需要批量生产资产的专业团队,还是希望探索个性化虚拟形象的创作者,En3D 都提供了一个高效且灵活的解决方案。
使用场景
某独立游戏开发团队正在为一款奇幻 RPG 制作大量具有独特外观的 NPC 角色,并需要它们具备标准的骨骼动画以适配游戏引擎。
没有 En3D 时
- 建模成本高昂:美术人员需使用 Blender 或 Maya 从零雕刻每个角色的 3D 模型,单个高保真人类角色耗时数天。
- 绑定流程繁琐:模型完成后需手动进行骨骼绑定(Rigging)和权重绘制,极易出现关节变形错误,反复调试耗费大量精力。
- 风格难以统一:不同美术师制作的角色在拓扑结构和画风上存在差异,导致游戏内角色群体视觉不一致。
- 动画资源匮乏:缺乏现成的动作库,需单独购买或制作动画片段,再逐一匹配到新角色上,工作流断裂且低效。
- 创意迭代缓慢:策划提出“增加 50 个不同外貌的村民”需求时,团队因产能限制只能大幅简化模型精度,牺牲视觉效果。
使用 En3D 后
- 生成效率飞跃:通过输入文本提示词(如“穿着破旧斗篷的老法师”),En3D 能在几分钟内直接生成高质量、拓扑规范的 3D 人类模型。
- 自动绑定动画:工具内置自动化流程,生成的模型自带标准骨骼绑定,并可直接输出带动画的 FBX 文件,无需人工干预。
- 数据驱动一致性:基于数百万合成数据训练,En3D 生成的所有角色天然保持统一的几何标准和画风,完美契合项目需求。
- 工作流无缝衔接:输出的资产完全兼容现代图形工作流,可直接导入 Unity 或 Unreal 引擎,实现了从创意到可玩资产的闭环。
- 无限创意扩展:面对批量角色需求,团队只需调整种子或提示词即可快速产出数百个差异化角色,让策划的创意得以完整落地。
En3D 将原本需要数周的传统 3D 角色生产流程压缩至小时级,真正实现了低成本、高质量的 3D 人类资产规模化生成。
运行环境要求
- Linux
- 必需,1-8 张高端 NVIDIA GPU(测试使用 V100, RTX3090, A100)
- 生成和渲染需显存>24GB,动画支持 CPU/GPU
未说明

快速开始
En3D - 官方 PyTorch 实现
项目页面 | 论文 | 视频 | 在线演示
En3D:一种基于 2D 合成数据生成 3D 人体的增强型生成模型
门一芳、
雷碧雯、
姚远、
崔妙妙、
连周辉、
谢宣松
收录于:CVPR 2024
En3D 是一个大型 3D 人体生成模型,基于数百万张合成 2D 数据进行训练,完全不依赖任何现有的 3D 或 2D 资产。
本仓库包含 En3D 的实现,并提供了一系列基于该模型的应用。此外,本仓库旨在成为一个实用的创作工具,能够根据种子、文本提示或图像生成逼真的 3D 头像,并支持自动生成角色动画的 FBX 文件。所有输出均兼容现代图形工作流程。
生成式 3D 人像
https://github.com/menyifang/En3D/assets/47292223/8b57a74d-6270-4b37-ae1e-ee2c0baad51d
文本引导合成

图像引导合成

更多结果请参见 项目页面。
更新
(2024-10-29) 头像生成与动画代码现已开放。
(2024-10-29) 预训练权重已通过 Modelscope 提供。
(2024-01-15) ModelScope 和 HuggingFace 在线演示已上线!快来体验吧!
。
(2024-01-15) 我们发布了一个带绑定和动画的 3D 人类库 (3DHuman-Syn),其中包含约 1000 个由 En3D 生成的头像,供用户快速体验。未来还将提供更多无限的头像和动作!
(2024-01-03) 论文和视频正式发布。
网页演示
已将在线演示集成到 ModelScope 中。快来试用并享受乐趣吧!
已将在线演示集成到 Huggingface Spaces 🤗 中。快来试用并享受乐趣吧!
环境要求
- 为获得最佳性能和兼容性,我们建议使用 Linux 系统。
- 1–8 张高端 NVIDIA 显卡。我们的所有测试和开发均在 V100、RTX3090 和 A100 显卡上完成。
- 64 位 Python 3.8 和 PyTorch 1.11.0(或更高版本)。PyTorch 的安装说明请参阅 https://pytorch.org。
- CUDA 工具包 11.3 或更高版本。我们使用了 StyleGAN3 仓库中的自定义 CUDA 扩展。详情请参阅 故障排除。
- Python 库:具体依赖库请参阅 requirements.txt。您可以使用以下命令通过 Anaconda 创建并激活您的 Python 环境:
cd En3dconda create -n en3d python=3.8conda activate eg3dpip install -r requirements.txt
快速入门
WebUI 使用
[推荐] 部署好的 在线演示

如果您有自己的机器,也可以按照以下方式部署我们的演示程序,它提供了灵活的用户界面。头像动画支持 CPU/GPU,而头像生成和渲染仅支持 GPU(显存需大于 24GB)。
python app.py
合成头像库
我们发布了一个带绑定和动画的 3D 人类库 (3DHuman-Syn),其中包含约 1000 个由 En3D 生成的角色,并提供了 1000 多种动作用于动画制作。
- 头像下载与渲染
python render.py
- 头像动画
python animation.py
将生成的动画文件 (.glb) 使用 Sketchfab(上传 glb 并下载 usdz)或其他工具转换为 .usdz 格式,然后使用 model-viewer 将动画头像插入网页中。
<!-- 导入组件 -->
<script type="module" src="https://ajax.googleapis.com/ajax/libs/model-viewer/3.3.0/model-viewer.min.js"></script>
<!-- 像其他 HTML 元素一样使用 -->
<model-viewer src="assets/human.glb" camera-controls ar shadow-intensity="1" ios-src="assets/human.usdz"></model-viewer>
AR 功能仅支持 iPhone,请在手机浏览器中打开 AR 示例,点击右下角图标即可体验 AR 效果。
头像生成
下载
- 从 链接 下载完整的
models文件夹,并将其放置在根目录下。
python download_models.py
生成 360° 渲染图
bash run_seed_pretrained.sh
文本引导合成
bash run_text_synthesis.sh
https://github.com/user-attachments/assets/7ca89be8-9f5c-410d-9168-9f241778a197
图像引导合成
首先将人物图像调整为标准的 A 字形姿势,然后使用以下命令生成 3D 头像。
bash run_img_synthesis.sh
https://github.com/user-attachments/assets/10ddc739-3ed5-4875-a6d0-908c8dbfcb31
头像动画
为生成的 3D 头像自动绑定骨骼并制作动画
bash run_animate.sh
https://github.com/user-attachments/assets/581089a4-971d-4431-a272-e9663fe5bad5
致谢
我们受益匪浅的优秀资源包括:
- Multiview-Avatar 用于 2D 头像合成
- EG3D 提供通用的 3D GAN 结构和 3D 表示方法
- Fantasia3D 用于 DMTET 优化
- ICON 用于法线估计
引用
如果您觉得此代码对您的研究有所帮助,请使用以下 BibTeX 条目。
@inproceedings{men2024en3d,
title={En3D: An Enhanced Generative Model for Sculpting 3D Humans from 2D Synthetic Data},
author={Men, Yifang and Lei, Biwen and Yao, Yuan and Cui, Miaomiao and Lian, Zhouhui and Xie, Xuansong},
journal={arXiv preprint arXiv:2401.01173},
website={https://menyifang.github.io/projects/En3D/index.html},
year={2024}}
相似工具推荐
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
ragflow
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。
PaddleOCR
PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来,转换成计算机可读取的结构化数据,让机器真正“看懂”图文内容。 面对海量纸质或电子文档,PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域,它扮演着连接图像与大型语言模型(LLM)的桥梁角色,能将视觉信息直接转化为文本输入,助力智能问答、文档分析等应用场景落地。 PaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显:不仅支持全球 100 多种语言的识别,还能在 Windows、Linux、macOS 等多个系统上运行,并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目,PaddleOCR 既能满足快速集成的需求,也能支撑前沿的视觉语言研究,是处理文字识别任务的理想选择。
awesome-machine-learning
awesome-machine-learning 是一份精心整理的机器学习资源清单,汇集了全球优秀的机器学习框架、库和软件工具。面对机器学习领域技术迭代快、资源分散且难以甄选的痛点,这份清单按编程语言(如 Python、C++、Go 等)和应用场景(如计算机视觉、自然语言处理、深度学习等)进行了系统化分类,帮助使用者快速定位高质量项目。 它特别适合开发者、数据科学家及研究人员使用。无论是初学者寻找入门库,还是资深工程师对比不同语言的技术选型,都能从中获得极具价值的参考。此外,清单还延伸提供了免费书籍、在线课程、行业会议、技术博客及线下聚会等丰富资源,构建了从学习到实践的全链路支持体系。 其独特亮点在于严格的维护标准:明确标记已停止维护或长期未更新的项目,确保推荐内容的时效性与可靠性。作为机器学习领域的“导航图”,awesome-machine-learning 以开源协作的方式持续更新,旨在降低技术探索门槛,让每一位从业者都能高效地站在巨人的肩膀上创新。
scikit-learn
scikit-learn 是一个基于 Python 构建的开源机器学习库,依托于 SciPy、NumPy 等科学计算生态,旨在让机器学习变得简单高效。它提供了一套统一且简洁的接口,涵盖了从数据预处理、特征工程到模型训练、评估及选择的全流程工具,内置了包括线性回归、支持向量机、随机森林、聚类等在内的丰富经典算法。 对于希望快速验证想法或构建原型的数据科学家、研究人员以及 Python 开发者而言,scikit-learn 是不可或缺的基础设施。它有效解决了机器学习入门门槛高、算法实现复杂以及不同模型间调用方式不统一的痛点,让用户无需重复造轮子,只需几行代码即可调用成熟的算法解决分类、回归、聚类等实际问题。 其核心技术亮点在于高度一致的 API 设计风格,所有估算器(Estimator)均遵循相同的调用逻辑,极大地降低了学习成本并提升了代码的可读性与可维护性。此外,它还提供了强大的模型选择与评估工具,如交叉验证和网格搜索,帮助用户系统地优化模型性能。作为一个由全球志愿者共同维护的成熟项目,scikit-learn 以其稳定性、详尽的文档和活跃的社区支持,成为连接理论学习与工业级应用的最
keras
Keras 是一个专为人类设计的深度学习框架,旨在让构建和训练神经网络变得简单直观。它解决了开发者在不同深度学习后端之间切换困难、模型开发效率低以及难以兼顾调试便捷性与运行性能的痛点。 无论是刚入门的学生、专注算法的研究人员,还是需要快速落地产品的工程师,都能通过 Keras 轻松上手。它支持计算机视觉、自然语言处理、音频分析及时间序列预测等多种任务。 Keras 3 的核心亮点在于其独特的“多后端”架构。用户只需编写一套代码,即可灵活选择 TensorFlow、JAX、PyTorch 或 OpenVINO 作为底层运行引擎。这一特性不仅保留了 Keras 一贯的高层易用性,还允许开发者根据需求自由选择:利用 JAX 或 PyTorch 的即时执行模式进行高效调试,或切换至速度最快的后端以获得最高 350% 的性能提升。此外,Keras 具备强大的扩展能力,能无缝从本地笔记本电脑扩展至大规模 GPU 或 TPU 集群,是连接原型开发与生产部署的理想桥梁。