Skip to content

About

[CVPR 2025] Arc2Avatar: Generating Expressive 3D Avatars from a Single Image via ID Guidance

Resources

Stars

63 stars

Watchers

1 watching

Forks

Repository files navigation

Arc2Avatar: Generating Expressive 3‑D Avatars from a Single Image via ID Guidance

Method overview placeholder

Dimitrios Gerogiannis, Foivos Paraperas Papantoniou, Rolandos Alexandros Potamias, Alexandros Lattas, Stefanos Zafeiriou
Imperial College London, UK

Project Page arXiv Paper


✨ Introduction

Arc2Avatar is an SDS-based method that generates a complete 3D head from a single image, delivering:

  • 🔥 avatars of unprecedented realism, detail, and natural color fidelity, while avoiding the common color issues of SDS.
  • 🔥 first approach to leverage a human face foundation model as guidance.
  • 🔥 full 3DMM integration, enabling expression control and refinements within the same framework.
  • 🔥 state-of-the-art identity preservation and superior overall quality, supported by both quantitative and qualitative results.

🗞️ News and Updates

  • ✅ 14 June 2025 – Initial public release: Training code and models are now available. This release reflects a small but important revision of the original paper, which addresses failure cases noted in the original version and further improves the fidelity and consistency of the generated avatars.
  • 📌 Coming soon – Expression‑control and refinement code will be added in a follow‑up commit.
  • 📌 Coming soon – Paper revision will be uploaded to arXiv very soon.

⚙️ Installation

1 · Clone CUDA submodules

cd submodules
git clone --recursive https://github.com/YixunLiang/diff-gaussian-rasterization.git
git clone --recursive https://github.com/YixunLiang/simple-knn.git
cd ..

2 · Create and activate conda environment (Python 3.9.16, CUDA 11.8, tested on NVIDIA RTX 4090)

conda create -n arc2avatar python=3.9.16 cudatoolkit=11.8
conda activate arc2avatar

3 · Install dependencies

pip install -r requirements.txt

4 · Build local CUDA extensions

pip install submodules/diff-gaussian-rasterization/
pip install submodules/simple-knn/

5 · Download required models for Arc2Face

python download_models.py

🚀 Usage

1 · Create a subject directory

Make a new folder for your subject (e.g. subject_id) and place a single image of the individual inside it.
subject_id refers to a path to this subject-specific directory.

2 · Run the training script

python train.py --opt ./configs/config.yaml --subject subject_id --batch_size 4

3 · Track optimization progress

During training, a subfolder named splat/ is automatically created inside subject_id/.
This directory contains the evolving 3D Gaussian avatar, allowing you to visually monitor the SDS process from start to finish.


🙏 Acknowledgements

This work builds upon prior efforts. Our code is based on:


📚 Citation

If you find Arc2Avatar useful for your research, please consider citing our paper:

@InProceedings{Gerogiannis_2025_CVPR,
    author    = {Gerogiannis, Dimitrios and Papantoniou, Foivos Paraperas and Potamias, Rolandos Alexandros and Lattas, Alexandros and Zafeiriou, Stefanos},
    title     = {Arc2Avatar: Generating Expressive 3D Avatars from a Single Image via ID Guidance},
    booktitle = {Proceedings of the Computer Vision and Pattern Recognition Conference (CVPR)},
    month     = {June},
    year      = {2025},
    pages     = {10770-10782}
}

About

[CVPR 2025] Arc2Avatar: Generating Expressive 3D Avatars from a Single Image via ID Guidance

Resources

Stars

63 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages