All Projects → nabeel3133 → combining3Dmorphablemodels

nabeel3133 / combining3Dmorphablemodels

Licence: MIT license
Project Page of Combining 3D Morphable Models: A Large scale Face-and-Head Model - [CVPR 2019]

Programming Languages

matlab
3953 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to combining3Dmorphablemodels

Universal Head 3DMM
This is a Project Page of 'Towards a complete 3D morphable model of the human head'
Stars: ✭ 138 (+72.5%)
Mutual labels:  regression, registration, pca, morphable
Cranium
🤖 A portable, header-only, artificial neural network library written in C99
Stars: ✭ 501 (+526.25%)
Mutual labels:  matrix, regression
matrix-register-bot
Bot that offers two step registrations to a matrix-synapse server
Stars: ✭ 25 (-68.75%)
Mutual labels:  matrix, registration
Non-rigid-ICP
Non-rigid iterative closest point, nricp.
Stars: ✭ 66 (-17.5%)
Mutual labels:  registration, nicp
wink-statistics
Fast & numerically stable statistical analysis
Stars: ✭ 36 (-55%)
Mutual labels:  regression, covariance
Ailearning
AiLearning: 机器学习 - MachineLearning - ML、深度学习 - DeepLearning - DL、自然语言处理 NLP
Stars: ✭ 32,316 (+40295%)
Mutual labels:  regression, pca
Owl
Owl - OCaml Scientific and Engineering Computing @ http://ocaml.xyz
Stars: ✭ 919 (+1048.75%)
Mutual labels:  matrix, regression
Nanny
A tidyverse suite for (pre-) machine-learning: cluster, PCA, permute, impute, rotate, redundancy, triangular, smart-subset, abundant and variable features.
Stars: ✭ 17 (-78.75%)
Mutual labels:  matrix, pca
Cloud Volume
Read and write Neuroglancer datasets programmatically.
Stars: ✭ 63 (-21.25%)
Mutual labels:  matrix, mesh
Math Php
Powerful modern math library for PHP: Features descriptive statistics and regressions; Continuous and discrete probability distributions; Linear algebra with matrices and vectors, Numerical analysis; special mathematical functions; Algebra
Stars: ✭ 2,009 (+2411.25%)
Mutual labels:  matrix, regression
Correlation
🔗 Methods for Correlation Analysis
Stars: ✭ 192 (+140%)
Mutual labels:  matrix, regression
Mathnet Numerics
Math.NET Numerics
Stars: ✭ 2,688 (+3260%)
Mutual labels:  matrix, regression
Cilantro
A lean C++ library for working with point cloud data
Stars: ✭ 577 (+621.25%)
Mutual labels:  registration, pca
matrix-registration
a token based matrix registration api
Stars: ✭ 182 (+127.5%)
Mutual labels:  matrix, registration
Yannl
Yet another neural network library
Stars: ✭ 37 (-53.75%)
Mutual labels:  matrix, regression
Peroxide
Rust numeric library with R, MATLAB & Python syntax
Stars: ✭ 191 (+138.75%)
Mutual labels:  matrix, regression
elm-3d-camera
Camera type for doing 3D rendering in Elm
Stars: ✭ 12 (-85%)
Mutual labels:  matrix, point
100DaysOfMLCode
No description or website provided.
Stars: ✭ 19 (-76.25%)
Mutual labels:  pca
EasyTextView
🌈 🍀支持Java和Xml设置Shape、IconFont、IconFont+String、Span等具有丰富Api的TextView
Stars: ✭ 71 (-11.25%)
Mutual labels:  shape
MachineLearning
An easy neural network for Java!
Stars: ✭ 125 (+56.25%)
Mutual labels:  matrix

Combining 3D Morphable Models: A Large scale Face-and-Head Model

License: MIT GitHub repo size

This repository provides a MATLAB implementation of the CVPR 2019 Paper - Combining 3D Morphable Models: A Large scale Face-and-Head Model. It is implemented only till the Regression Matrix Calculation part.

Paper

Combining 3D Morphable Models: A Large scale Face-and-Head Model

Dependencies

Usage

1. Cloning the repository

git clone https://github.com/nabeel3133/combining3Dmorphablemodels.git

2. Downloading the models

  • LYHM: Liverpool York Head Model
    • After you have acquired LYHM, extract the lyhmPublic.zip and go to lyhmPublic/lyhmModels/, copy LYHM_male.mat and put it in the Regression Matrix Calculation folder.
  • BFM09: Basel Face Model 2009
    • After you have acquired BFM, extract the BaselFaceModel.tgz and go to "PublicMM1" folder, copy 01_MorphableModel.mat and put it in the Regression Matrix Calculation folder.

3. Running the code

In order to run the code, launch MATLAB and follow the steps given below:

  1. Open the file Steps1to3.m located in combining3Dmorphablemodels/Regression Matrix Calculcation and run it. (Keep in mind that there is a variable named total_heads on line #7, you can change it to as much head shape parameters you want the regression matrix to learn from).
  2. After it is done executing, open the file nricp_run.m located in combining3Dmorphablemodels/Non Rigid Iterative Closest Point (NICP)/nricp-master/demos and run it. It will save Regression_Matrix.mat in the directory combining3Dmorphablemodels/Regression Matrix Calculcation.

4. Getting a Predicted Head

  • In order to get a predicted head of a BFM face, you need to have the .obj file of the BFM face for which you want to predict the head. Make sure to have your .obj file named as Input_Face.obj. Locate to the directory combining3Dmorphablemodels/Prediction and run the following command:
python head_prediction.py
  • In order to generate a random BFM face from BFM model and then predict the head for that randomly generated face, locate to the directory combining3Dmorphablemodels/Prediction and run the following command:
python head_prediction_rand_bfm.py

Both of the codes will output a file named Output_Head.obj located in the same directory. python head_prediction_rand_bfm.py will also save a file named Input_Face.obj which will contain the randomly generated BFM face.

Citation

If this work is useful for your research or if you use this implementation in your academic projects, please cite the following papers:

@InProceedings{ploumpis2019combining,
author = {Stylianos Ploumpis and Haoyang Wang and Nick Pears and William A. P. Smith and Stefanos Zafeiriou},
title = {Combining 3D Morphable Models: A Large Scale Face-And-Head Model},
booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2019}
}
@InProceedings{amberg2007optimal,
  title={Optimal Step Nonrigid ICP Algorithms for Surface Registration},
  author={Amberg, Brian and Romdhani, Sami and Vetter, Thomas},
  booktitle={Computer Vision and Pattern Recognition, 2007. CVPR'07. IEEE Conference on},
  pages={1--8},
  year={2007},
  organization={IEEE}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].