All Projects → EricZgw → Pyramidbox

EricZgw / Pyramidbox

A Context-assisted Single Shot Face Detector in TensorFlow

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Pyramidbox

clockon-clockoff-face-recognition
Face Recognize application. Using FaceNet and CoreML
Stars: ✭ 21 (-92.25%)
Mutual labels:  face-detection
mtcnn-pytorch
pytorch implementation of face detection algorithm MTCNN
Stars: ✭ 61 (-77.49%)
Mutual labels:  face-detection
compreface-javascript-sdk
JavaScript SDK for CompreFace - free and open-source face recognition system from Exadel
Stars: ✭ 19 (-92.99%)
Mutual labels:  face-detection
FaceSearch
FaceSearch: Searches for faces in a given image using the Google Reverse Image Search engine.
Stars: ✭ 44 (-83.76%)
Mutual labels:  face-detection
Computer-Vision
Cool Vision projects
Stars: ✭ 51 (-81.18%)
Mutual labels:  face-detection
DRML pytorch
Implementation of Deep Region and Multi-Label Learning for Facial Action Unit Detection.
Stars: ✭ 36 (-86.72%)
Mutual labels:  face-detection
PyRecognizer
"A neural network to rule them all, a neural network to find them, a neural network to bring them all and verify if is you !!" (Face recognition tool)
Stars: ✭ 28 (-89.67%)
Mutual labels:  face-detection
Get Me Through
A Free, Offline, Real-Time, Open-source web-app to assist organisers of any event in allowing only authorised/invited people using Face-Recognition Technology or QR Code.
Stars: ✭ 255 (-5.9%)
Mutual labels:  face-detection
gaze-estimation-with-laser-sparking
Deep learning based gaze estimation demo with a fun feature :-)
Stars: ✭ 32 (-88.19%)
Mutual labels:  face-detection
PVANet-FACE
A face detection model based on PVANet
Stars: ✭ 49 (-81.92%)
Mutual labels:  face-detection
face-detectify
😅 Detect faces in images. Without native modules. It uses tracking.js.
Stars: ✭ 20 (-92.62%)
Mutual labels:  face-detection
Recogcis
Face detection & recognition AR app using the mlmodel to recognize company employees.
Stars: ✭ 28 (-89.67%)
Mutual labels:  face-detection
Face-Detection
本科毕业设计 基于Haar特征与AdaBoost算法的人脸检测的实现
Stars: ✭ 34 (-87.45%)
Mutual labels:  face-detection
Face-Attributes-MultiTask-Classification
Use Cafffe to do Face Attributes MultiTask Classification based on CelebA data sets
Stars: ✭ 32 (-88.19%)
Mutual labels:  face-detection
realtime-facereccpp
Real time face recognition with tracking (mtcnn detection, kcf tracker, arcface loss)
Stars: ✭ 32 (-88.19%)
Mutual labels:  face-detection
Multi-Face-Comparison
This repo is meant for backend API for face comparision and computer vision. It is built on python flask framework
Stars: ✭ 20 (-92.62%)
Mutual labels:  face-detection
OpenCVTest
基于OpenCV实现人脸检测和智能选区截图(仿扫描王APP)的功能
Stars: ✭ 33 (-87.82%)
Mutual labels:  face-detection
Rustface
Face detection library for the Rust programming language
Stars: ✭ 269 (-0.74%)
Mutual labels:  face-detection
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 (-5.9%)
Mutual labels:  face-detection
brfv4 win examples
Windows C++ examples utilizing OpenCV for camera access and drawing the face tracking results.
Stars: ✭ 13 (-95.2%)
Mutual labels:  face-detection

PyramidBox

This is an unofficial Tensorflow re-implementation of PyramidBox: A Context-assisted Single Shot Face Detector, which achieves superior performance among the state-of-the-art on the two common face detection benchmarks, FDDB and WIDER FACE.

Note

There is still a gap in performance from the paper. May be caused by several reasons:

  • Without implementing data-anchor-sampling.
  • Differences of data augmentation from original.
  • The batch size in the paper is 16, but I used 1 because of the limitation of memory.
  • Hyperparameters not mentioned in the paper.
  • Differences of deep learning framework.

Results

Face Detection

Results on WIDER FACE validation set:

This is just a very casual training result. I believe you can achieve better results after trying some other hyperparameters. For example: batch size, learning rate and some parameters related to the loss function,etc.

Method AP Easy AP Medium AP Hard
original 96.1 95.0 88.9
this repo 90.6 88.8 73.4

Usage

Prerequisites

(Only tested on) Ubuntu 16.04 with:

  • Python3
  • Tensorflow-gpu 1.4
  • OpenCV3

Clone the repo

git clone https://github.com/EricZgw/PyramidBox.git
python makedir.py

Download PyramidBox models form BaiduYun or GoogleDrive .

Demo

Run the following script for visualization:

python demo.py

Train on WIDER FACE Datasets

  1. Download pre-trained VGG16 models from here and put it to /checkpoints.
  2. Download WIDER FACE Datasets and convert to VOC format. Path looks like below:
datasets/
       |->widerface/
       |    |->WIDER_train/
       |    |->WIDER_val/
       |    |->WIDER_test/
       |    |->Annotations/
       |    |->JPEGImages/
       |    |...
  1. Run the following script to generate TFRecords:
python datasets/pascalvoc_to_tfrecords.py
You can run `check_data_io.py` to check data. This step is not necessary.
  1. The training strategy is two-stages: First run train_model.py with below setting to train additional PyramidBox layers:
self.fine_tune_vgg16 = False
  1. Then set self.fine_tune_vgg16 =Ture to run train_model.py to train total network.

Validation

Run the following script for evaluation and get mAP:

python widerface_eval.py
cd eval/eval_tools
octave wider_eval.m

TODO

  • Add data-anchor-sampling
  • Try more logical and rigorous data augmentation
  • Transfer to other backbone networks

Reference

SSD-Tensorflow
SSD_tensorflow_VOC

Contact

If you find any problems, welcome to open a new issue or contact [email protected] .

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