MCPcopy Index your code
hub / github.com/ant-research/TensorialGaussianAvatar

github.com/ant-research/TensorialGaussianAvatar @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
285 symbols 888 edges 31 files 43 documented · 15%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

CVPR2025 - 3D Gaussian Head Avatars with Expressive Dynamic Appearances by Compact Tensorial Representations

Yating Wang1, Xuan Wang2, Ran Yi1, Yanbo Fan2, Jichen Hu1, Jingcheng Zhu1, Lizhuang Ma1

Shanghai Jiaotong University1, AntGroup Research2

arxiv, project, paper

This is the official implementation of the paper "3D Gaussian Head Avatars with Expressive Dynamic Appearances by Compact Tensorial Representations"

pipeline

Install

  1. clone this repo

git clone https://github.com/ant-research/TensorialGaussianAvatar.git --recursive

  1. install requirements

    ``` conda create -n gsavatar python=3.10

    # install cuda11.6, pytorch1.13.0, torchvision0.14.0

    pip install -r requirements.txt ```


Dataset and Preprocessing

FLAME Model

Our method relies on FLAME face prior model(2023 version). Please download FLAME assets from flame project, put flame2023.pkl(versions w/ jaw rotation) to flame_model/assets/flame/flame2023.pkl and put FLAME_masks.pkl to flame_model/assets/flame/FLAME_masks.pkl. And download files to flame_model/assets/flame/

Test Data

We test our method on NeRSemble multi-view human head videos dataset, which is preprocessed by GaussianAvatars(CVPR2024), please refers to GaussianAvatars to download test data. Unlike GaussianAvatars, we use free performance sequences as the test set and other video segments as the training set.

Usage

Preprocess

# cluster expressions, please modify the dataset root path and test person id 
python expr_analyze.py

#extract jaw rotation basis
python preprocess_jaw.py

Training

./run.sh

Rendering

./render.sh

Acknowledgments

This work was heavily inspired by GaussianAvatars. We use NeRSemble for testing. We also borrow code from the following repositories. Thanks to their impressive work!

  1. Gaussian Splatting: https://github.com/graphdeco-inria/gaussian-splatting

  2. Tri-planes: https://github.com/chiehwangs/gaussian-head

  3. Axis Angle to Quanternion: https://lizhe00.github.io/projects/posevocab/

Cite

If you find our paper or code useful in your research, please cite us with the following BibTeX:

@inproceedings{wang20253d,
  title={3D Gaussian Head Avatars with Expressive Dynamic Appearances by Compact Tensorial Representations},
  author={Wang, Yating and Wang, Xuan and Yi, Ran and Fan, Yanbo and Hu, Jichen and Zhu, Jingcheng and Ma, Lizhuang},
  booktitle={Proceedings of the Computer Vision and Pattern Recognition Conference},
  pages={21117--21126},
  year={2025}
}

Core symbols most depended-on inside this repo

items
called by 22
flame_model/flame.py
load
called by 20
utils/viewer_utils.py
read_next_bytes
called by 13
scene/colmap_loader.py
write
called by 10
utils/general_utils.py
readCamerasFromTransforms
called by 8
scene/dataset_readers.py
pan
called by 7
utils/viewer_utils.py
select_mesh_by_timestep
called by 6
scene/gaussian_model.py
axis_angle_to_quaternion
called by 6
scene/flame_gaussian_model.py

Shape

Method 134
Function 116
Class 35

Languages

Python100%

Modules by API surface

scene/gaussian_model.py33 symbols
utils/viewer_utils.py30 symbols
flame_model/flame.py29 symbols
utils/triplane_utils.py16 symbols
utils/graphics_utils.py15 symbols
scene/flame_gaussian_model.py15 symbols
lpipsPyTorch/modules/networks.py14 symbols
utils/general_utils.py13 symbols
scene/dataset_readers.py12 symbols
scene/colmap_loader.py12 symbols
arguments/__init__.py12 symbols
utils/pytorch3d_load_obj.py10 symbols

For agents

$ claude mcp add TensorialGaussianAvatar \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact