Safetensors
qwen3
Ex-Omni / README.md
lemonade666's picture
Upload folder using huggingface_hub
0cfe3e6 verified
|
Raw
History Blame Contribute Delete
5.86 kB
metadata
extra_gated_eu_disallowed: true

Ex-Omni: Enabling 3D Facial Animation Generation for Omni-modal Large Language Models

Haoyu Zhang1, Zhipeng Li2, Yiwen Guo3†, Tianshu Yu1†
1The Chinese University of Hong Kong, Shenzhen    2LIGHTSPEED    3Independent Researcher
†Corresponding Authors

arXiv 2602.07106 CKPT License


Ex-Omni is an public release for omni-modal response generation. Given text or speech input, the system can produce response text, speech units / decoded audio, and 52-dimensional facial blendshape coefficients, with optional rendering into a talking-face video.

πŸ“– Table of Contents

πŸ—‚οΈ Repository Structure

.
β”œβ”€β”€ asset/                              # Download the mesh templates here
β”œβ”€β”€ ckpt/                               # Download the checkpoints here
β”œβ”€β”€ cosyvoice/                          # Runtime audio decoder modules
β”œβ”€β”€ deploy.py                           # Main Gradio entrypoint
β”œβ”€β”€ deploy_base.py                      # Shared inference pipeline and UI logic
β”œβ”€β”€ ex_omni/
β”‚   β”œβ”€β”€ constants.py                    # Runtime constants
β”‚   β”œβ”€β”€ flow_inference.py               # Audio decoder wrapper
β”‚   β”œβ”€β”€ render_utils.py                 # Blendshape rendering utilities
β”‚   └── model/
β”‚       β”œβ”€β”€ language_model/             # Omni model wrapper
β”‚       β”œβ”€β”€ speech_encoder/             # Whisper speech encoder
β”‚       β”œβ”€β”€ speech_projector/           # Speech projector
β”‚       β”œβ”€β”€ speech_generator/           # Speech generator
β”‚       └── blendshape_generator/       # Blendshape generator
β”œβ”€β”€ requirements.txt                    # Python dependencies
└── LICENSE.txt                         # License file

βš™οΈ Quick Start

Installation

# 1. Create and activate environment
conda create -n Ex-Omni python=3.10 -y
conda activate Ex-Omni

# 2. Install PyTorch (example: CUDA 12.6)
pip install torch torchaudio --index-url https://download.pytorch.org/whl/cu1216

# 3. Install project dependencies
pip install -r requirements.txt

# 4. Install pytorch3d separately according to your CUDA / PyTorch version
# See official pytorch3d installation instructions

Checkpoints and Assets

Prepare the following assets before running inference:

Component Expected Path Source
Ex-Omni checkpoint ckpt/Ex-Omni/ Hugging Face
Flow decoder checkpoint ckpt/glm-4-voice-decoder/flow.pt Hugging Face
HiFT decoder checkpoint ckpt/glm-4-voice-decoder/hift.pt Hugging Face
EmoTalk mesh template asset/EmoTalk.npz GitHub
Claire mesh template asset/claire.npz Hugging Face Datasets

For EmoTalk template, please download the resources.zip from UniTalker and extract the EmoTalk.npz file. For Claire template, please obtain the original Claire asset yourself and convert it into the .npz format.

Launch the Demo

python deploy.py \
  --model-path ckpt/Ex-Omni \
  --flow_ckpt_path ckpt/glm-4-voice-decoder/flow.pt \
  --hift_ckpt_path ckpt/glm-4-voice-decoder/hift.pt \
  --template_type emotalk \
  --port 8080

Then open:

http://localhost:8080

πŸ™ Acknowledgements

We would like to thank the authors of OpenOmni, LLaMA-Omni2, EmoTalk and UniTalker. Parts of the implementation and overall system design were developed with reference to their open-source release.

πŸ“„ Citation

If you use this project, please cite our paper:

@misc{zhang2026exomnienabling3dfacial,
      title={Ex-Omni: Enabling 3D Facial Animation Generation for Omni-modal Large Language Models}, 
      author={Haoyu Zhang and Zhipeng Li and Yiwen Guo and Tianshu Yu},
      year={2026},
      eprint={2602.07106},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2602.07106}, 
}