Home

Awesome

Detailed Facial Geometry Recovery from Multi-View Images by Learning an Implicit Function

About

In this paper, we propose a novel architecture to recover extremely detailed 3D faces in roughly 10 seconds. Unlike previous learning-based methods that regularize the cost volume via 3D CNN, we propose to learn an implicit function for regressing the matching cost. By fitting a 3D morphable model from multi-view images, the features of multiple images are extracted and aggregated in the mesh-attached UV space, which makes the implicit function more effective in recovering detailed facial shape.

introductions

Our Pipeline

pipeline Our pipeline consists of three parts: base mesh ftting (green blocks), implicit function learning (blue blocks), and mesoscopic recovery (pink block).

Citation

@InProceedings{xiao2022detailed,
author = {Xiao, Yunze and Zhu, Hao and Yang, Haotian and Diao, Zhengyu and Lu, Xiangju and Cao, Xun},
title = {Detailed Facial Geometry Recovery from Multi-View Images by Learning an Implicit Function},
booktitle = {Proceedings of the AAAI Conference on Artificial Intelligence},
year = {2022}
}

How to use

Installation

We recommend to use Python 3.6 for the following instruction

Install psbody-mesh from here.

Download

Models

Before running the scripts, please download the predefined data from here. And unpack them to folder ./predfine_data/
Please download the meso model from here. And put it into folder ./dpmap_pred/checkpoints/

Dataset

Then we recommend to run the following scripts.

Dataset metadata information
{ 
  person_id: {
    expression_id: index_list
  }
}
{
  person_id: {
    expression_id: [scale, Rt]
  }
}

Evaling

Our method consists of several parts in the following order.

If you want to use dpmap to get mesh of mesoscopic prediction, set the folder in dpmap_pred/scripts/dpmap2mesh.py and run python dpmap_pred/scripts/dpmap2mesh.py. It may cost some time to generate results.

You can modifiy the config file options.py or use args --ARGS in command like python eval_if.py --d_size 201
Before running, you should set the dataroot related args(fit_dataroot, if_dataroot, reg_dataroot) as DATA_FOLDER

Traning

We recommend to use a GPU with high memory(>= 24GB) to train our model(implicit function learning stage).

Our method consists of several parts in the following order.