Giter Site home page Giter Site logo

kabilanmohanraj / pointavatar Goto Github PK

View Code? Open in Web Editor NEW

This project forked from zhengyuf/pointavatar

0.0 0.0 0.0 34.4 MB

Official Repository for CVPR 2023 paper PointAvatar: Deformable Point-based Head Avatars from Videos.

License: MIT License

Shell 0.62% Python 99.38%

pointavatar's Introduction

PointAvatar: Deformable Point-based Head Avatars from Videos

Official Repository for CVPR 2023 paper PointAvatar: Deformable Point-based Head Avatars from Videos.

Getting Started

  • Clone this repo: git clone [email protected]:zhengyuf/pointavatar.git
  • Create a conda or python environment and activate. For e.g., conda create -n point-avatar python=3.9; conda activate point-avatar.
  • Install PyTorch 1.11.0 with conda or pip (instructions). This version works with both PyTorch3d and functorch.
  • We made small modifications to PyTorch3d (0.6.2), so clone our version and install:
git clone [email protected]:zhengyuf/pytorch3d.git
cd pytorch3d
git checkout point-avatar
pip install -e .
  • Install other requirements: cd ../pointavatar; pip install -r requirement.txt
  • Download FLAME model, choose FLAME 2020 and unzip it, copy 'generic_model.pkl' into ./code/flame/FLAME2020

Preparing dataset

Our data format is the same as IMavatar. You can download a preprocessed dataset from Google drive (subject 1 and 2) or ETH Zurich server (subject 1, subject 2 and subject 3). You can run download_data.bash to download both datasets and pre-trained models.

If you'd like to generate your own dataset, please follow intructions in the IMavatar repo.

Link the dataset folder to ./data/datasets. Link the experiment output folder to ./data/experiments.

Pre-trained model

Download a pretrained model from ETH Zurich server (subject 1, subject 2 and subject 3). See download_data.bash. Uncompress and put into the experiment folder ./data/experiments.

Training

python scripts/exp_runner.py --conf ./confs/subject1.conf [--is_continue]

Evaluation

Set the is_eval flag for evaluation, optionally set checkpoint (if not, the latest checkpoint will be used) and load_path

python scripts/exp_runner.py --conf ./confs/subject1.conf --is_eval [--checkpoint 60] [--load_path ...]

GPU requirement

We train our models with a single Nvidia 80GB A100 GPU. It's also possible to train PointAvatar with less CUDA memory by limiting the number of points. For e.g., with a 24GB Quadro RTX 6000, you can set train.max_points_training and point_cloud.max_points to 240000. For evaluation, by default the latest checkpoint is used. To reduce memory usage, you can use earlier checkpoints by adding โ€”-checkpoint 60 (or 55).

Citation

If you find our code or paper useful, please cite as:

@misc{Zheng2022pointavatar,
  author    = {Yufeng Zheng and Wang Yifan and Gordon Wetzstein and Michael J. Black and Otmar Hilliges},
  title     = {PointAvatar: Deformable Point-based Head Avatars from Videos},
  publisher   = {arXiv},
  year      = {2022},
}

pointavatar's People

Contributors

zhengyuf avatar kabilanmohanraj avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.