EmbodiedGen: Towards a Generative 3D World Engine for Embodied Intelligence

🌐 Project Page 📄 arXiv 🎥 Video 🤗 Hugging Face 🤗 Hugging Face 🤗 Hugging Face

Overall Framework

EmbodiedGen generates interactive 3D worlds with real-world scale and physical realism at low cost.


Table of Contents of EmbodiedGen

🚀 Quick Start

git clone https://github.com/HorizonRobotics/EmbodiedGen
cd EmbodiedGen
conda create -n embodiedgen python=3.10.13 -y
conda activate embodiedgen
pip install -r requirements.txt --use-deprecated=legacy-resolver
pip install -e .

🟢 Setup GPT Agent

Update the API key in file: embodied_gen/utils/gpt_config.yaml.

You can choose between two backends for the GPT agent:

  • gpt-4o (Recommended) Use this if you have access to Azure OpenAI.
  • qwen2.5-vl An open alternative with free usage via OpenRouter (50 free requests per day)

🖼️ Image-to-3D

🤗 Hugging Face Generate physically plausible 3D asset from input image.

Local Service

Run the image-to-3D generation service locally. The first run will download required models.

# Run in foreground
python apps/image_to_3d.py
# Or run in the background
CUDA_VISIBLE_DEVICES=0 nohup python apps/image_to_3d.py > /dev/null 2>&1 &

Local API

Generate a 3D model from an image using the command-line API.

python3 embodied_gen/scripts/imageto3d.py \
    --image_path apps/assets/example_image/sample_04.jpg apps/assets/example_image/sample_19.jpg \
    --output_root outputs/imageto3d/

# See result(.urdf/mesh.obj/mesh.glb/gs.ply) in ${output_root}/sample_xx/result

📝 Text-to-3D

🤗 Hugging Face Create 3D assets from text descriptions for a wide range of geometry and styles.

Local Service

Run the text-to-3D generation service locally.

python apps/text_to_3d.py

Local API

bash embodied_gen/scripts/textto3d.sh \
    --prompts "small bronze figurine of a lion" "带木质底座,具有经纬线的地球仪" "橙色电动手钻,有磨损细节" \
    --output_root outputs/textto3d/

🎨 Texture Generation

🤗 Hugging Face Generate visually rich textures for 3D mesh.

Local Service

Run the texture generation service locally.

python apps/texture_edit.py

Local API

Generate textures for a 3D mesh using a text prompt.

bash embodied_gen/scripts/texture_gen.sh \
    --mesh_path "apps/assets/example_texture/meshes/robot_text.obj" \
    --prompt "举着牌子的红色写实风格机器人牌子上写着“Hello”" \
    --output_root "outputs/texture_gen/" \
    --uuid "robot_text"

🌍 3D Scene Generation

🚧 Coming Soon


⚙️ Articulated Object Generation

🚧 Coming Soon


🏞️ Layout Generation

🚧 Coming Soon


📚 Citation

If you use EmbodiedGen in your research or projects, please cite:

Coming Soon

🙌 Acknowledgement

EmbodiedGen builds upon the following amazing projects and models:


⚖️ License

This project is licensed under the Apache License 2.0. See the LICENSE file for details.

Description
No description provided
Readme 28 MiB
Languages
Python 97.9%
Shell 2%
Dockerfile 0.1%