• Stars
    star
    199
  • Rank 196,105 (Top 4 %)
  • Language
    Jupyter Notebook
  • License
    Other
  • Created almost 7 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

In The Wild 3D Morphable Models

In The Wild 3D Morphable Models

The repository provides the source code of the algorithm of 3D reconstruction of "In-the-Wild" faces in images and videos, as outlined in the following papers:

3D Reconstruction of "In-the-Wild" Faces in Images and Videos --- J. Booth, A. Roussos, E. Ververas, E. Antonakos, S. Ploumpis, Y. Panagagakis, S. Zafeiriou. Transactions on Pattern Analysis and Machine Intelligence (T-PAMI), accepted for publication (2018).

3D Face Morphable Models “In-the-Wild” --- J. Booth, E. Antonakos, S. Ploumpis, G. Trigeorgis, Y. Panagagakis, S. Zafeiriou. CVPR 2017.

If you use this code, please cite the above papers.

The following topics are covered, each one with its own dedicated notebook:

  1. Building an "in-the-wild" texture model
  2. Creating an expressive 3DMM
  3. Fitting "in-the-wild" images
  4. Fitting "in-the-wild" videos

Release Notes (28/06/2018)

  • There has been a major update in the code and the problems of the previous preliminary version have been addressed. The current version is fully functional.

Prerequisites

To leverage this codebase users need to independently source the following items to construct an "in-the-wild" 3DMM:

  • A collection of "in-the-wild" images coupled with 3D fits
  • A parametric facial shape model of identity and expression

And then to use this model, users will need to provide data to fit on:

  • "in-the-wild" images or videos with iBUG 68 annotations

Examples are given for working with some common facial models (e.g. LSFM) and it shouldn't be too challenging to adapt these examples for alternative inputs. Just bear in mind that fitting parameters will need to be tuned when working with different models.

Notes

Please note that this public version of our code has some differences compared to what is described in our aforementioned papers (TPAMI and CVPR):

  • The default parameters provided here work in generally quite well, but in our papers these had been fine-tuned in different sets of experiments.
  • The "in-the-wild" texture model that can be extracted following Notebook 1 is a simplified version of the texture model used in our papers. This is because Notebook 1 uses a smaller set of images coming only from (Zhu, Xiangyu, et al. CVPR 2016). Also, the video fitting in Notebook 4 is still using this texture model, instead of the video-specific texture model described in our TPAMI paper.
  • The video fitting in Notebook 4 uses a simpler initialisation than the one described in our TPAMI paper and corresponding supplementary material: this initialisation comes from a per-frame 3D pose estimation using the mean shape of the adopted parametric facial shape model.

These differences result to a simplified version of our image and video fitting algorithms. In practice, we have observed that these simplifications do not have a drastic effect on the accuracy of the results and result to acceptable results.

Installation

  1. Follow the instructions to install the Menpo Project with conda.
  2. Whilst in the conda environment containing menpo, run pip install git+https://github.com/menpo/itwmm.
  3. Download a copy of the code into your Downloads folder.
  4. Run jupyter notebook and navigate to the notebooks directory in the downloaded folder.
  5. Explore the notebooks in order to understand how to use this codebase.

Evaluation Code

We are also providing evaluation code under the folder "evaluation". This will help you evaluate and compare 3D face reconstruction methods using our 3dMDLab & 4DMaja benchmarks (available in our iBug website) or other similar benchmarks.

Please see the demo Notebook evaluation/demo.ipynb ("Reconstruction Evaluation Demo"), where you can also find detailed comments.

More Repositories

1

lsfm

Large Scale Facial Model (LSFM) - an automatic pipeline for constructing 3D Morphable Models from large collections of facial meshes
Python
503
star
2

menpo

A statistical modelling toolkit, providing all the tools required to build, fit, visualize, and test deformable models.
Python
325
star
3

menpo3d

Tools for manipulating 3D meshes within the Menpo project.
Python
166
star
4

menpofit

Menpo's 2D deformable modelling toolkit (AAMs/CLMs/SDMs)
Python
128
star
5

landmarker.io

Image and mesh annotation web application
JavaScript
114
star
6

cyvlfeat

A thin Cython wrapper around select areas of vlfeat
Python
110
star
7

conda-opencv3

Automated building of OpenCV3 Python bindings
Shell
54
star
8

menpodetect

Simple object detection for Menpo images
Python
24
star
9

menpo-notebooks

Examples and documentation for the menpo project.
Jupyter Notebook
16
star
10

menpobench

Standardized deformable model benchmarking
Python
11
star
11

conda-opencv

Conda build scripts for OpenCV 2.x
Shell
10
star
12

landmarkerio-server

The Menpo landmarker.io server
Python
10
star
13

conda-dlib

Conda recipe for the dlib pacakge
Python
9
star
14

cyassimp

Fast Cython bindings for the Open Asset Import Library
Python
7
star
15

landmarker-app

Desktop app landmarker.io varient based around election-shell
TypeScript
6
star
16

menpowidgets

Stores all the Jupyter notebook widgets for the Menpo Project (http://www.menpo.org/)
Python
5
star
17

cypico

A Cython wrapping of the pico face detection project.
Python
5
star
18

condaci

A simple Python script for setting up a miniconda environment on AppVeyor and Travis CI
Python
4
star
19

cyrasterize

Simple fast OpenGL offscreen rasterizing in Python
Python
3
star
20

conda-metis

Builds metis 5.1.0 using conda
C
3
star
21

conda-boost

Conda recipe for the boost library
Shell
3
star
22

lfpw-train

The trainset of Labelled Face Parts in the Wild (LFPW)
2
star
23

conda-suitesparse

Building Suite Sparse For Conda
C
2
star
24

cyffld2

Cython wrapper of ffld2
Python
2
star
25

menpocli

Command Line Interface (CLI) for the Menpo Project. Includes the menpofit command.
Python
2
star
26

menpofit-notebooks

IPython notebooks for menpofit
Jupyter Notebook
2
star
27

menpo.github.io

Next generation Menpo website based around gitbook
HTML
2
star
28

shogun

Opinionated Typed Configuration
Python
2
star
29

conda-vtk

Conda recipe for building VTK
Batchfile
2
star
30

menpo3d-notebooks

1
star
31

workerbee

Simple functional framework for embarrassingly parallel jobs
Python
1
star
32

conda-recipes

The Conda recipes for our Python packages
Shell
1
star
33

vrml97

A fork of the PyVRML97 project with a correct setup.py
Python
1
star
34

docker

Docker Images for the Menpo Project
1
star
35

conda-pcl

Shell
1
star
36

h5it

Efficient serialisation interface from ndarray-focused objects to HDF5.
Python
1
star
37

menpo.github.io-old

The menpo pages site
HTML
1
star
38

conda-mayavi

A conda recipe of mayavi that works with numpy 1.10
Batchfile
1
star
39

conda-flann

Batchfile
1
star