• Stars
    star
    320
  • Rank 130,321 (Top 3 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created 10 months ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Official implementation of "En3D: An Enhanced Generative Model for Sculpting 3D Humans from 2D Synthetic Data"

En3D - Official PyTorch Implementation

Project page | Paper | Video | Online Demo

En3D: An Enhanced Generative Model for Sculpting 3D Humans from 2D Synthetic Data
Yifang Men, Biwen Lei, Yuan Yao, Miaomiao Cui, Zhouhui Lian, Xuansong Xie

En3D is a large 3D human generative model trained on millions of synthetic 2D data, independently of any pre-existing 3D or 2D assets. This repo contains an implementation of En3D and provides a series of applications built upon it. In addition, this repo aims to be a useful creative tool to produce realistic 3D avatars from seeds, text prompts or images, and support automatic character animation FBX production. All outputs are compatible with the modern graphics workflows.

Generative 3D humans

gallery.mp4

Text guided synthesis

demo

Image guided synthesis

demo

More results can be found in project page.

Updates

(2023-01-15) ModelScope and HuggingFace Online demo is available! Try out ModelScope Spaces Hugging Face Spaces.

(2023-01-15) A Rigged & Animated 3D Human library (3DHuman-Syn) is released, containing ~1000 avatars produced by En3D for quick experience. Infinite avatars and actions support will be coming soon!

(2023-01-03) The paper and video are released.

Web Demo

Installation

git clone https://github.com/menyifang/En3D.git
cd En3D
conda create -n en3d python=3.8
conda activate en3d
pip install -r requirements.txt

Quick Start

WebUI usage

[Recommended] A deployed Online Demo

app

With own machine, you can also deploy our demo as below, which provides flexible user interface. Both CPU/GPU are supported for avatar render and animation, only GPU (>24G memory) is supported for avatar generation.

python app.py

Synthetic avatar library

We released a Rigged & Animated 3D Human library (3DHuman-Syn), containing ~1000 characters produced by En3D, and 1000+ actions are provided for animation.

  • Avatar download and rendering
python render.py
  • Avatar animation
python animation.py
  • AR application google colab logo

Convert the generated animation file (.glb) to .usdz format using Sketchfab (upload glb and download usdz) or other tools, and insert the animated avatar to web with model-viewer.

<!-- Import the component -->
<script type="module" src="https://ajax.googleapis.com/ajax/libs/model-viewer/3.3.0/model-viewer.min.js"></script>

<!-- Use it like any other HTML element -->
<model-viewer src="assets/human.glb" camera-controls ar shadow-intensity="1" ios-src="assets/human.usdz"></model-viewer>

AR function is only supported with iPhone, try the AR example in the phone browser and click the right-down icon for AR experience.

Avatar Generation

Training Your Own Model

Citation

If you find this code useful for your research, please use the following BibTeX entry.

@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}}