All Projects → goodluckcwl → Face Alignment Mobilenet V2

goodluckcwl / Face Alignment Mobilenet V2

Face Alignment by Mobilenetv2

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Face Alignment Mobilenet V2

2d And 3d Face Alignment
This repository implements a demo of the networks described in "How far are we from solving the 2D & 3D Face Alignment problem? (and a dataset of 230,000 3D facial landmarks)" paper.
Stars: ✭ 772 (+319.57%)
Mutual labels:  face-alignment
Facedet
实现常用基于深度学习的人脸检测算法
Stars: ✭ 109 (-40.76%)
Mutual labels:  face-alignment
Deep Face Alignment
The MXNet Implementation of Stacked Hourglass and Stacked SAT for Robust 2D and 3D Face Alignment
Stars: ✭ 134 (-27.17%)
Mutual labels:  face-alignment
Facekit
Implementations of PCN (an accurate real-time rotation-invariant face detector) and other face-related algorithms
Stars: ✭ 1,028 (+458.7%)
Mutual labels:  face-alignment
Pyseeta
python api for SeetaFaceEngine(https://github.com/seetaface/SeetaFaceEngine.git)
Stars: ✭ 93 (-49.46%)
Mutual labels:  face-alignment
Tenginekit
TengineKit - Free, Fast, Easy, Real-Time Face Detection & Face Landmarks & Face Attributes & Hand Detection & Hand Landmarks & Body Detection & Body Landmarks & Iris Landmarks & Yolov5 SDK On Mobile.
Stars: ✭ 2,103 (+1042.93%)
Mutual labels:  face-alignment
Face Alignment
🔥 2D and 3D Face alignment library build using pytorch
Stars: ✭ 5,417 (+2844.02%)
Mutual labels:  face-alignment
Prnet pytorch
Training & Inference Code of PRNet in PyTorch 1.1.0
Stars: ✭ 149 (-19.02%)
Mutual labels:  face-alignment
Deep Alignment Network Tensorflow
A re-implementation of Deep-Alignment-Network using TensorFlow
Stars: ✭ 107 (-41.85%)
Mutual labels:  face-alignment
Face Alignment Training
Training code for the networks described in "How far are we from solving the 2D & 3D Face Alignment problem? (and a dataset of 230,000 3D facial landmarks)" paper.
Stars: ✭ 127 (-30.98%)
Mutual labels:  face-alignment
Dense Head Pose Estimation
[ECCV 2020] Reimplementation of 3DDFAv2, including face mesh, head pose, landmarks, and more.
Stars: ✭ 59 (-67.93%)
Mutual labels:  face-alignment
Insightface
State-of-the-art 2D and 3D Face Analysis Project
Stars: ✭ 10,886 (+5816.3%)
Mutual labels:  face-alignment
Hyperlandmark
Deep Learning Based Free Mobile Real-Time Face Landmark Detector. Contact:[email protected]
Stars: ✭ 1,528 (+730.43%)
Mutual labels:  face-alignment
Lab
[CVPR 2018] Look at Boundary: A Boundary-Aware Face Alignment Algorithm
Stars: ✭ 956 (+419.57%)
Mutual labels:  face-alignment
Binary Face Alignment
Real time face alignment
Stars: ✭ 145 (-21.2%)
Mutual labels:  face-alignment
Hrnet Facial Landmark Detection
This is an official implementation of facial landmark detection for our TPAMI paper "Deep High-Resolution Representation Learning for Visual Recognition". https://arxiv.org/abs/1908.07919
Stars: ✭ 647 (+251.63%)
Mutual labels:  face-alignment
3ddfa v2
The official PyTorch implementation of Towards Fast, Accurate and Stable 3D Dense Face Alignment, ECCV 2020.
Stars: ✭ 1,961 (+965.76%)
Mutual labels:  face-alignment
Stylealign
[ICCV 2019]Aggregation via Separation: Boosting Facial Landmark Detector with Semi-Supervised Style Transition
Stars: ✭ 172 (-6.52%)
Mutual labels:  face-alignment
Deep Face Recognition
One-shot Learning and deep face recognition notebooks and workshop materials
Stars: ✭ 147 (-20.11%)
Mutual labels:  face-alignment
Mdm
A TensorFlow implementation of the Mnemonic Descent Method.
Stars: ✭ 120 (-34.78%)
Mutual labels:  face-alignment

Face-alignment-mobilenet-v2

Face Alignment by MobileNetv2. Note that MTCNN is used to provided the input boundingbox. You need to modify the path of images in order to run the demo.

Network Structure

The most important part of the mobilenet-v2 network is the design of bottleneck. In our experiments, we crop the face image by the boundingbox and resize it to , which is the input size of the network. Based on this, we can design the structure of our customized mobilenet-v2 for facial landmark lacalization. Note that the receptive field is a key factor to the design of the network.

Input Operator t channels n stride
conv2d - 16 1 2
bottleneck 6 24 1 2
conv2d 6 24 1 1
conv2d 6 32 1 2
conv2d 6 32 1 1
conv2d 6 64 1 2
conv2d 6 64 1 1
inner product - 200 1 -
200 inner product - 200 1 -
200 inner product - 50 1 -
50 inner product - 136 1 -

Note that this structure mainly has two features:

  • Use LeakyReLU rather than ReLU.
  • Use bottleneck embedding, which is 50 in our experiments.

Training

The training data including:

  • Training data of 300W dataset
  • Training data of Menpo dataset

Data Augmentation

Data augmentation is important to the performance of face alignment. I have tried several kinds of data augmentation method, including:

  • Random Flip.
  • Random Shift.
  • Random Scale.
  • Random Rotation. The image is rotated by the degree sampled from -30 to 30.
  • Random Noise. Gaussian noise is added to the input images.

Performance

The performance on 300W is not good enough. May be I need to try more times. If you have any ideas, please contact me or open an issue.

Method Input Size Common Challenge Full set Training Data
VGG-Shadow(With Dropout) 70 * 60 5.66 10.82 6.67 300W
Mobilenet-v2-stage1 64 * 64 6.07 10.60 6.96 300W and Menpo
Mobilenet-v2-stage2 64 * 64 5.76 8.93 6.39 300W and Menpo

Dataset

Dataset Number of images for training
300-W 3148
Menpo 12006

Result on 300W

The ground truth landmarks is donated by white color while the predicted ones blue.

Pre-train Models

The pre-train models can be downloaded from baiduyun or GoogleDisk.

Demo

I write a demo to view the alignment results. Besides, the yaw, row and pitch parameters are estimated by the predicted landmarks. To run the domo, please do:

  1. Download and compile caffe. Compile pycaffe.
  2. Use MTCNN to detect face of the images and save the boundingbox of faces.
  3. Modified the path in demo.py.
  4. Run.

Dependence

To use my code to reproduce the results, you need to use my caffe. I have added some useful layers.

Reference:

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].