/face-everthing

face detection alignment recognition reconstruction ...

Primary LanguageC++

Face Everthing

face detection alignment recognition reconstruction base on some projects on github, aim to build state of art face system. currently reconstruction is not available, code is not elegant.

Reference

Project

  1. OpenFace
  2. openpose
  3. mtcnn
  4. SeetaFace
  5. FaceAlignment3000
  6. ExplicitShapeRegression
  7. SphereFace

Paper

  1. OpenFace: an open source facial behavior analysis toolkit
  2. Constrained Local Neural Fields for robust facial landmark detection in the wild
  3. Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
  4. Hand Keypoint Detection in Single Images using Multiview Bootstrapping
  5. Convolutional pose machines
  6. Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Neural Networks
  7. SphereFace: Deep Hypersphere Embedding for Face Recognition
  8. Large-Margin Softmax Loss for Convolutional Neural Networks

Features

mtcnn align casia dataset (cpp implement matlab cp2tform)

Success algin 453078 of 455594 images, take about 1.11hour, hope someone can increase detection rate and reduce run time.

  • Aligned example

  • Failed example

put all in one, mtcnn detection, openpose alignment, cln tracking and sphereface recognition

Installation

Requirements

  • OpenCV (>=3.0)
  • Boost (>=1.63)
  • SphereCaffe
  • CUDA (>=8.0)

Complie

  • Install all requirements
  • git clone https://github.com/tpys/face-everthing.git
  • change line 44 & 45 in CMakeList.txt to your spherecaffe corresponding directory
  • cd face-everthing && mkdir build && cd build && make -j4

Run Example

  • Download trained model(https://pan.baidu.com/s/1boOOBNL code: juk3)
  • Modify example/mtcnn_align_dataset.cpp, change the input parameters to yours
  • Modify example/all_in_one.cpp, change the input parameters to yours

TODO:

  • move cln part to tracking modules
  • add recently fan 2d & 3d alignment
  • speed up alignment, maybe batch gpu forward, small model, gpu implementation tracking.
  • train more accurate recognition model

Call for contributions

  • Anything helps this repo, including discussion, testing, promotion and of course your awesome code.