All Projects → deepinx → enhanced-ssh-mxnet

deepinx / enhanced-ssh-mxnet

Licence: other
The MXNet Implementation of Enhanced SSH (ESSH) for Face Detection and Alignment

Programming Languages

python
139335 projects - #7 most used programming language
matlab
3953 projects
Cuda
1817 projects
c
50402 projects - #5 most used programming language
shell
77523 projects
Makefile
30231 projects

Projects that are alternatives of or similar to enhanced-ssh-mxnet

Insightface
State-of-the-art 2D and 3D Face Analysis Project
Stars: ✭ 10,886 (+20059.26%)
Mutual labels:  mxnet, face-detection, face-alignment
iqiyi-vid-challenge
Code for IQIYI-VID(IQIYI Video Person Identification) Challenge Implemented in Python and MXNet
Stars: ✭ 45 (-16.67%)
Mutual labels:  mxnet, face-detection, face-alignment
Awesome Face recognition
papers about Face Detection; Face Alignment; Face Recognition && Face Identification && Face Verification && Face Representation; Face Reconstruction; Face Tracking; Face Super-Resolution && Face Deblurring; Face Generation && Face Synthesis; Face Transfer; Face Anti-Spoofing; Face Retrieval;
Stars: ✭ 3,220 (+5862.96%)
Mutual labels:  face-detection, face-alignment
Facedetection
C++ project to implement MTCNN, a perfect face detect algorithm, on different DL frameworks. The most popular frameworks: caffe/mxnet/tensorflow, are all suppported now
Stars: ✭ 255 (+372.22%)
Mutual labels:  mxnet, face-detection
DeepVTB
🌌 OpenVTuber-虚拟アイドル共享计划 An application of real-time face and gaze analyzation via deep nerual networks.
Stars: ✭ 32 (-40.74%)
Mutual labels:  face-detection, face-alignment
Facepapercollection
A collection of face related papers
Stars: ✭ 241 (+346.3%)
Mutual labels:  face-detection, face-alignment
Img2pose
The official PyTorch implementation of img2pose: Face Alignment and Detection via 6DoF, Face Pose Estimation - CVPR 2021
Stars: ✭ 247 (+357.41%)
Mutual labels:  face-detection, face-alignment
Deepcamera
Open source face recognition on Raspberry Pi. SharpAI is open source stack for machine learning engineering with private deployment and AutoML for edge computing. DeepCamera is application of SharpAI designed for connecting computer vision model to surveillance camera. Developers can run same code on Raspberry Pi/Android/PC/AWS to boost your AI production development.
Stars: ✭ 757 (+1301.85%)
Mutual labels:  mxnet, face-detection
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 (+3794.44%)
Mutual labels:  face-detection, face-alignment
Facerecognition
This is an implematation project of face detection and recognition. The face detection using MTCNN algorithm, and recognition using LightenenCNN algorithm.
Stars: ✭ 137 (+153.7%)
Mutual labels:  mxnet, face-detection
Deep Face Alignment
The MXNet Implementation of Stacked Hourglass and Stacked SAT for Robust 2D and 3D Face Alignment
Stars: ✭ 134 (+148.15%)
Mutual labels:  mxnet, face-alignment
Arcface Multiplex Recognition
适用于复杂场景的人脸识别身份认证系统
Stars: ✭ 200 (+270.37%)
Mutual labels:  mxnet, face-detection
Face.evolve.pytorch
🔥🔥High-Performance Face Recognition Library on PaddlePaddle & PyTorch🔥🔥
Stars: ✭ 2,719 (+4935.19%)
Mutual labels:  face-detection, face-alignment
Face Dataset
Face related datasets
Stars: ✭ 204 (+277.78%)
Mutual labels:  face-detection, face-alignment
Deep Face Recognition
One-shot Learning and deep face recognition notebooks and workshop materials
Stars: ✭ 147 (+172.22%)
Mutual labels:  face-detection, face-alignment
Face
I have published my face related codes in this repository
Stars: ✭ 53 (-1.85%)
Mutual labels:  face-detection, face-alignment
Retinadetector
基于RetinaFace的目标检测方法,适用于人脸、缺陷、小目标、行人等
Stars: ✭ 73 (+35.19%)
Mutual labels:  face-detection, face-alignment
Pyseeta
python api for SeetaFaceEngine(https://github.com/seetaface/SeetaFaceEngine.git)
Stars: ✭ 93 (+72.22%)
Mutual labels:  face-detection, face-alignment
Insightface Just Works
Insightface face detection and recognition model that just works out of the box.
Stars: ✭ 127 (+135.19%)
Mutual labels:  mxnet, face-detection
mxnet-SSH
Reproduce SSH (Single Stage Headless Face Detector) with MXNet
Stars: ✭ 91 (+68.52%)
Mutual labels:  mxnet, face-detection

The MXNet Enhanced SSH (ESSH) for Face Detection and Alignment

The Single Stage Headless (SSH) face detector was introduced in ICCV 2017 paper. This repository includes code for training and evaluating the Enhance SSH (ESSH) face detector, which adds localization of five semantic facial landmarks to the original SSH method and also improves accuracy. You can use this ESSH method for face detection and 2D-5P face alignment.

Pre-trained models can be downloaded on BaiduCloud or GoogleDrive.

Evaluation on WIDER FACE:

Model Easy-Set Medium-Set Hard-Set
Original Caffe SSH 0.93123 0.92106 0.84582
Insightface SSH Model 0.93489 0.92281 0.84525
ESSH-VGG16 Model 0.94228 0.93207 0.87105
ESSH-Resnet50 Model 0.96100 0.95122 0.89610

Note: More accurate pre-trained models will be released soon.

Environment

This repository has been tested under the following environment:

  • Python 2.7
  • Ubuntu 18.04
  • Mxnet-cu90 (==1.3.0)
  • Cython 0.29.6
  • MATLAB R2016b

Installation

  1. Prepare the environment.

  2. Clone the repository.

  3. Type make to build necessary cxx libs.

Testing

  • Download the pre-trained model and place it in ./model/.

  • You can use python test.py to test the pre-trained models.

Training

  1. First, you should train an original SSH model on the WIDER dataset.
  • Download the WIDER face training images from BaiduCloud or GoogleDrive and the face annotations from the dataset website. These files should be decompressed into data/widerface directory.
  • Download MXNet VGG16 ImageNet pretrained model from here and put it under model directory.
  • Edit config.py and type python train.py or using the following command to train your SSH model.
python train.py --network ssh --prefix model/sshb --dataset widerface --gpu 0 --pretrained model/vgg16 --lr 0.004 --lr_step 30,40,50
  1. Then, use the above SSH model as the pre-training model to train the final ESSH model on CelebA Dataset.
  • Download the CelebA dataset from BaiduCloud or GoogleDrive and decompressed it into data/celeba directory.
  • Download our re-annotated bounding box labels from BaiduCloud or GoogleDrive and replace Anno/list_bbox_celeba.txt with this file. Note that our bounding box annotations are more accurate than the original labels, so be sure to download and replace it.
  • Edit config.py and type python train.py or using the following command to train the ESSH model.
python train.py --network essh --prefix model/e2e --dataset celeba --gpu 0 --pretrained model/sshb --lr 0.004 --lr_step 10,15

Evaluation

The evaluation is based on the official WIDER evaluation tool which requires MATLAB. You need to download the validation images and the annotations (if not downloaded for training) from the WIDER dataset website. To evaluate pre-trained models on validation set of the WIDER dataset, you can use python test_on_wider.py to obtain the performance in “easy”, “medium”, and “hard” subsets respectively. We give some examples below.

  1. Evaluate SSH model on validation set of the WIDER dataset without an image pyramid.
python test_on_wider.py --dataset widerface --method_name SSH --prefix model/sshb --gpu 0 --output ./output --thresh 0.05
  1. Evaluate ESSH model on validation set of the WIDER dataset with an image pyramid.
python test_on_wider.py --dataset widerface --method_name ESSH-Pyramid --prefix model/essh --gpu 0 --output ./output --pyramid --thresh 0.05

Results

Results of face detection and 2D-5P face alignment (inferenced from ESSH-Resnet50 model) are shown below.

License

MIT LICENSE

Reference

@inproceedings{Najibi2017SSH,
  title={SSH: Single Stage Headless Face Detector},
  author={Najibi, Mahyar and Samangouei, Pouya and Chellappa, Rama and Davis, Larry S.},
  booktitle={IEEE International Conference on Computer Vision},
  year={2017},
}

@inproceedings{yang2016wider,
  author = {Yang, Shuo and Luo, Ping and Loy, Chen Change and Tang, Xiaoou},
  booktitle = {IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
  title = {WIDER FACE: A Face Detection Benchmark},
  year = {2016}}
  
  @inproceedings{liu2015faceattributes,
  author = {Ziwei Liu and Ping Luo and Xiaogang Wang and Xiaoou Tang},
  title = {Deep Learning Face Attributes in the Wild},
  booktitle = {Proceedings of International Conference on Computer Vision (ICCV)},
  month = December,
  year = {2015} 
}

Acknowledgment

The code is adapted based on an intial fork from the SSH and the mxnet-SSH repository.

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