All Projects → chenjun2hao → Centerface.pytorch

chenjun2hao / Centerface.pytorch

unofficial version of centerface, which achieves the best balance between speed and accuracy at face detection

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Centerface.pytorch

Faceboxes
FaceBoxes: A CPU Real-time Face Detector with High Accuracy
Stars: ✭ 473 (+152.94%)
Mutual labels:  face-detection, real-time
jeelizGlanceTracker
JavaScript/WebGL lib: detect if the user is looking at the screen or not from the webcam video feed. Lightweight and robust to all lighting conditions. Great for play/pause videos if the user is looking or not, or for person detection. Link to live demo.
Stars: ✭ 68 (-63.64%)
Mutual labels:  real-time, face-detection
Facekit
Implementations of PCN (an accurate real-time rotation-invariant face detector) and other face-related algorithms
Stars: ✭ 1,028 (+449.73%)
Mutual labels:  face-detection, real-time
realtime-facereccpp
Real time face recognition with tracking (mtcnn detection, kcf tracker, arcface loss)
Stars: ✭ 32 (-82.89%)
Mutual labels:  real-time, face-detection
Jeelizweboji
JavaScript/WebGL real-time face tracking and expression detection library. Build your own emoticons animated in real time in the browser! SVG and THREE.js integration demos are provided.
Stars: ✭ 835 (+346.52%)
Mutual labels:  face-detection, real-time
Realtimefaceapi
This is a demo project showing how to use Face API in Cognitive Services with OpenCV
Stars: ✭ 44 (-76.47%)
Mutual labels:  face-detection, real-time
Sod
An Embedded Computer Vision & Machine Learning Library (CPU Optimized & IoT Capable)
Stars: ✭ 1,460 (+680.75%)
Mutual labels:  face-detection, real-time
Attendance Using Face
Face-recognition using Siamese network
Stars: ✭ 174 (-6.95%)
Mutual labels:  face-detection
Instabotai
Instagram AI bot with face detection. It works without instagram api, need only login and password.
Stars: ✭ 181 (-3.21%)
Mutual labels:  face-detection
Faceboxes Tensorflow
A fast face detector
Stars: ✭ 173 (-7.49%)
Mutual labels:  face-detection
Rekord
A javascript REST ORM that is offline and real-time capable
Stars: ✭ 171 (-8.56%)
Mutual labels:  real-time
Deepstream pose estimation
This is a sample DeepStream application to demonstrate a human pose estimation pipeline.
Stars: ✭ 168 (-10.16%)
Mutual labels:  real-time
Kimera Vio Ros
ROS wrapper for Kimera-VIO
Stars: ✭ 182 (-2.67%)
Mutual labels:  real-time
Dockerface
Face detection using deep learning.
Stars: ✭ 173 (-7.49%)
Mutual labels:  face-detection
Goaccess
GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems or through your browser.
Stars: ✭ 14,096 (+7437.97%)
Mutual labels:  real-time
Human
Human: 3D Face Detection, Body Pose, Hand & Finger Tracking, Iris Tracking and Age & Gender Prediction
Stars: ✭ 172 (-8.02%)
Mutual labels:  face-detection
Opencv Course
Learn OpenCV in 4 Hours - Code used in my Python and OpenCV course on freeCodeCamp.
Stars: ✭ 185 (-1.07%)
Mutual labels:  face-detection
Viseface
简易人脸检测库,不依赖三方库,可快速接入人脸检测功能。
Stars: ✭ 186 (-0.53%)
Mutual labels:  face-detection
Retinaface Tf2
RetinaFace (Single-stage Dense Face Localisation in the Wild, 2019) implemented (ResNet50, MobileNetV2 trained on single GPU) in Tensorflow 2.0+. This is an unofficial implementation. With Colab.
Stars: ✭ 178 (-4.81%)
Mutual labels:  face-detection
Hidden Two Stream
Caffe implementation for "Hidden Two-Stream Convolutional Networks for Action Recognition"
Stars: ✭ 179 (-4.28%)
Mutual labels:  real-time

the real-time face detection Centerface

unofficial version of centerface, which achieves the best balance between speed and accuracy. Centerface is a practical anchor-free face detection and alignment method for edge devices.

The project provides training scripts, training data sets, and pre-training models to facilitate users to reproduce the results. Finally, thank the centerface's author for the training advice.

performance results on the validation set of WIDER_FACE

use the same train dataset without additional data
for multi-scale,set the scale with 0.8,1.0,1.2,1.4, but they also resize to 800*800, so i think it not the real multi-scale test.

Method Easy Medium Hard
ours(one scale) 0.9206 0.9089 0.7846
original 0.922 0.911 0.782
ours(multi-scale) 0.9306 0.9193 0.8008

Requirements

use pytorch, you can use pip or conda to install the requirements

# for pip
cd $project
pip install -r requirements.txt

# for conda
conda env create -f enviroment.yaml

Test

  1. download the pretrained model from Baidu password: etdi

  2. download the validation set of WIDER_FACE password: y4wg

  3. test on the validation set

cd $project/src
source activate torch110
python test_wider_face.py
  1. calculate the accuracy
cd $project/evaluate
python3 setup.py build_ext --inplace
python evaluation.py --pred {the result folder}
    
>>>
Easy   Val AP: 0.9257383419951156
Medium Val AP: 0.9131308732465665
Hard   Val AP: 0.7717305552550734
  1. result
    result

  2. face recognition video
    video

Train

the backbone use mobilev2 as the same with the original paper The annotation file is in coco format. the annotation file and train data can download for Baidu password: f9hh
train

cd $project/src/tools
source activate torch110
python main.py

the train tricks

Training directly with the current code will not achieve the precision of the paper (I have also tested various scenarios).

Here's how I train:

  1. First train with the size of 640×640/514×514

  2. Then fine tune with the size of 800×800

  3. For the easy and hard part, s = s * np.random. Choice (np.arange(0.3, 1.2, 0.1)). The larger the value, the more small samples will be generated

or you can fine tuning on the pretrained model.


Train on your own data

follow the CenterNet


TO DO

  • [ ] use more powerful and small backbone
  • [ ] use other FPN tricks

reference

borrow code from CenterNet

CenterNet
CenterMulti
Star-Clouds/CenterFace

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