BSD 2-Clause "Simplified" License

项目介绍

LizhenWangT/FaceVerse 是一个托管在 GitHub 上的开源项目,主要使用 Python 编写,采用 BSD 2-Clause "Simplified" License 许可证,目前获得 527 个 Star、71 次 Fork。

仓库全名
LizhenWangT/FaceVerse
开源许可证
BSD 2-Clause "Simplified" License
Star 数
527
Fork 数
71
未关闭 Issue
29

README 摘要

FaceVerse FaceVerse: a Fine-grained and Detail-controllable 3D Face Morphable Model from a Hybrid Dataset Lizhen Wang, Zhiyuan Chen, Tao Yu, Chenguang Ma, Liang Li, Yebin Liu CVPR 2022 Tsinghua University & Ant Group [[Dataset]](https://github.com/LizhenWangT/FaceVerse-Dataset) [[Project Page]](http://www.liuyebin.com/faceverse/faceverse.html) [[Arxiv]](https://arxiv.org/abs/2203.14057) Abstract We present…

完整内容见 GitHub 原始 README 或本页 。

常见问题

FaceVerse 用什么语言开发?

主要使用 Python 编写,采用 BSD 2-Clause "Simplified" License 许可证,目前有 527 个 Star。

FaceVerse 可以免费商用吗?

仓库采用 BSD 2-Clause "Simplified" License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 FaceVerse 的源码?

可以直接克隆仓库:git clone https://github.com/LizhenWangT/FaceVerse.git;安装与运行步骤见仓库 README。

FaceVerse 最近还在维护吗?

仓库最近一次更新为 2024年12月20日,当前有 29 个未关闭 Issue;Star 数为 527,可作为社区活跃度的参考。

关于

FaceVerse: a Fine-grained and Detail-controllable 3D Face Morphable Model from a Hybrid Dataset (CVPR2022)

描述取自 GitHub 官方 API,中文内容由 GitRead 中文社区 编辑团队整理。

简要分析

热度分
1196
价值分
388
活跃状态
活跃

语言占比

C++
Cuda
Python

README

FaceVerse

FaceVerse: a Fine-grained and Detail-controllable 3D Face Morphable Model from a Hybrid Dataset

Lizhen Wang, Zhiyuan Chen, Tao Yu, Chenguang Ma, Liang Li, Yebin Liu CVPR 2022

Tsinghua University & Ant Group

[Dataset] [Project Page] [Arxiv]

teaser

Abstract

We present FaceVerse, a fine-grained 3D Neural Face Model, which is built from hybrid East Asian face datasets containing 60K fused RGB-D images and 2K high-fidelity 3D head scan models. A novel coarse-to-fine structure is proposed to take better advantage of our hybrid dataset. In the coarse module, we generate a base parametric model from large-scale RGB-D images, which is able to predict accurate rough 3D face models in different genders, ages, etc. Then in the fine module, a conditional StyleGAN architecture trained with high-fidelity scan models is introduced to enrich elaborate facial geometric and texture details. Note that different from previous methods, our base and detailed modules are both changeable, which enables an innovative application of adjusting both the basic attributes and the facial details of 3D face models. Furthermore, we propose a single-image fitting framework based on differentiable rendering. Rich experiments show that our method outperforms the state-of-the-art methods.

results Fig.1 Single-image fitting results using FaceVerse model.

FaceVerse version 4

:balloon::balloon::balloon:Updated on December 19, 2024

We have provided an easy-to-use and faster version in this new Git (https://github.com/LizhenWangT/FaceVerse_v4), which can directly predict parameters by a ResNet50.

FaceVerse PCA model and pre-trained checkpoints

Please download the zip file of version 0 or version 1 (recommended) and unzip it in the ./data folder.

FaceVerse V3, full head model and jittor-based tracking, has been released now.

FaceVerse version 0 Download:[Google Drive] [Baidu Netdisk](6l10): paper version.

v0

Fig.2 Single-image reconstruction results of version 0 (base model, detail model and expression refined final model).

FaceVerse version 1

Download:[Google Drive] [Baidu Netdisk](x6wk):

  • Refine the shape of the base PCA model: symmetrical and more detailed.

  • Remove the points inside the mouth.

  • Refine the expression PCA components.

v1

Fig.3 Single-image reconstruction results of version 1 (base model, detail model and expression refined final model).

FaceVerse version 2

Download:[Google Drive] [Baidu Netdisk](9n9e) (only the PCA base model for video tracking, please use version 1 for image fitting):

  • Fit the expression components to the 52 blendshapes defined by Apple. Please check ‘exp_name_list’ in faceverse_simple_v2.npy for the mapping relation.

  • Provide a simplification option (normal with 28632 vertices, simplified with 6335 vertices): you can use the selected points of FaceVerse v2 by:

python tracking_online.py  --version 2 --use_simplification
python tracking_offline.py --input example/videos/test.mp4 --res_folder example/video_results --version 2 --use_simplification
  • Refine the shape of the base PCA model: orthogonalization.

Fig.4 Real-time online tracking results (30 fps) of version 2. This version is accelerated by point-base rendering using cuda (this version can be used in version 3).

FaceVerse version 3

Full head model & jittor-based tracking has been released now, See FaceVersev3 in faceversev3_jittor for more details.

v3

Fig.5 FaceVerse version 3.

Requirements for v1&v2

  • Python 3.9
  • PyTorch 1.11.0
  • torchvision 0.11.1
  • PyTorch3D 0.6.0
  • Cuda 11.3
  • ONNX Runtime
  • OpenCV
  • Numpy
  • tqdm
  • ninja

You need to compile the ops provided by stylegan2-pytorch using ninja:

cd third_libs/stylegan_ops
python3 setup.py install

Single-image fitting for v1

Reconstructing a 3D face from a single image. There are three processes: (a) reconstructed by PCA model; (b) refined by the detailed generator; © refined by the expression generator.

An example input with a image folder (sampled from the FFHQ dataset):

python3 fit_images.py --version 1 --input example/images --res_folder example/image_results --save_ply --align

Note: the detailed refinement is based on differentiable rendering, which is quite time-consuming (over 10 minutes). --align is used to crop the input image.

Video-based tracking using our PCA base model for v1&v2

offline_tracking

Offline tracking input with a video (our code will crop the face region using the first frame, --use_simplification can be only used for version >= 2):

python tracking_offline.py --input example/videos/test.mp4 --res_folder example/video_results --version 2

Online tracking using your PC camera (our code will crop the face region using the first frame, --use_simplification can be only used for version >= 2):

python tracking_online.py  --version 2

online_tracking

Note: the tracking is based on differentiable rendering and only has 2 fps.

Citation

If you use this dataset for your research, please consider citing:

@InProceedings{wang2022faceverse,
title={FaceVerse: a Fine-grained and Detail-controllable 3D Face Morphable Model from a Hybrid Dataset},
author={Wang, Lizhen and Chen, Zhiyua and Yu, Tao and Ma, Chenguang and Li, Liang and Liu, Yebin},
booktitle={IEEE Conference on Computer Vision and Pattern Recognition (CVPR2022)},
month={June},
year={2022},
}

Contact

Acknowledgement & License

The code is partially borrowed from 3DMM-Fitting-Pytorch, stylegan2-pytorch and OpenSeeFace. And many thanks to the volunteers participated in data collection. Our License can be found in LICENSE.

评论

暂无评论