Skip to content

Repository files navigation

UVFaceFusion

Teaser

Paper: UVFaceFusion: Fast Multi-view Topologically Consistent Face Reconstruction in the Wild via UV-space Neural Fusion (SIGGRAPH Asia 2026 Journal Track)

UVFaceFusion is a system for reconstructing a topologically consistent 3D facial mesh from multi-view face images captured in the wild in less than 3 seconds.

UVFaceFusion can also be called VGGTFace2, because it is the sequel to VGGTFace.

✅ TODO

  • Clean up and reorganize the current codebase. The existing implementation is relatively messy and needs better structure, documentation, and maintainability.
  • Release the detailed inference code. The current implementation only supports mesh reconstruction at the base resolution.
  • Release the training code.

🔗 Online Demo

Try UVFaceFusion in your browser (upload 16 images → reconstruct a mesh in one click)!

Note: The current web demo supports exactly 16 images per reconstruction. We will optimize this soon.

⭐ If you find UVFaceFusion useful, please consider giving this repository a star!

🚀 Getting Started

1. Install Pixel3DMM

First, install Pixel3DMM following the instructions in their official repository: https://github.com/SimonGiebenhain/pixel3dmm.

We rely on its pretrained UV predictor weights, but we do not require FLAME-related assets. Therefore, when running install_preprocessing_pipeline.sh, you only need to download the UV predictor weights. Running download_flame2023.sh is not necessary for UVFaceFusion.

2. Download VGGT pretrained weights

Please download the pretrained weights from the official VGGT repository:

https://github.com/facebookresearch/vggt

After downloading, rename the checkpoint to vggt_weights.pt and place it under:

./pretrained_weights/vggt_weights.pt

Note: Please follow VGGT’s official instructions and license terms when downloading and using the weights.

3. Preprocess multi-view images

To preprocess multi-view images, run:

python preprocess.py --image_folder {image_folder} --output_folder {output_folder}

During preprocessing, we use Pixel3DMM’s UV predictor to estimate a UV map for each image, and use facer to estimate the mask for each image.

Example:

python preprocess.py --image_folder ./examples/example1 --output_folder ./preprocessed_data/example1

Note:

  1. You may need to install pyfacer—just follow the instructions in their official repository: https://github.com/FacePerceiver/facer.

4. Reconstruct facial mesh

After preprocessing, run the reconstruction script:

python infer.py --BASE_PATHS {preprocessed_dir}

Example:

python infer.py --BASE_PATHS ./preprocessed_data/example1

Once finished, you will find result.ply under the corresponding directory, which is the reconstructed mesh.

Batch reconstruction (recommended)

You can also reconstruct multiple multi-view sets sequentially in a single run (so VGGT weights and fusion net weights are loaded only once). Provide multiple directories separated by commas:

python infer.py --BASE_PATHS ./preprocessed_data/example1,./preprocessed_data/example2

📝 Paper

  • Title: UVFaceFusion: Fast Multi-view Topologically Consistent Face Reconstruction in the Wild via UV-space Neural Fusion
  • PDF / arXiv: https://arxiv.org/abs/2607.18798

If you use this work, please consider citing our paper.

👥 Authors & Affiliation

Authors: Xin Ming, Yuxuan Han, Junhai Yong, Feng Xu

Affiliation: BNRist and School of Software, Tsinghua University

📄 License

UVFaceFusion uses the GPL v3 license (see LICENSE).

(Note: VGGTFace uses the MIT license.)

It depends on third-party projects (e.g., Pixel3DMM and VGGT) that are distributed under their own licenses. Please make sure you comply with the corresponding upstream terms when using their code/models.

📬 Contact

Questions, feedback, or collaboration ideas are welcome!

About

Official Code of "UVFaceFusion: Fast Multi-view Topologically Consistent Face Reconstruction in the Wild via UV-space Neural Fusion" (SIGGRAPH Asia 2026 Journal Track)

Resources

Stars

22 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages