All Projects → wotchin → SmooFaceEngine

wotchin / SmooFaceEngine

Licence: Apache-2.0 license
A high-performance demo for face recognition based on DL. (基于深度学习的高性能人脸识别引擎demo)

Programming Languages

python
139335 projects - #7 most used programming language
Jupyter Notebook
11667 projects

Projects that are alternatives of or similar to SmooFaceEngine

Face-Recognition-Attendance-System
Face Detection | Recognition | Attendance
Stars: ✭ 289 (+186.14%)
Mutual labels:  face-recognition
facenet-pytorch-glint360k
A PyTorch implementation of the 'FaceNet' paper for training a facial recognition model with Triplet Loss using the glint360k dataset. A pre-trained model using Triplet Loss is available for download.
Stars: ✭ 186 (+84.16%)
Mutual labels:  face-recognition
Face Recognition
<NOT ACTIVELY MAINTAINED>A light weight face recognition implementation using a pre-trained facenet model
Stars: ✭ 106 (+4.95%)
Mutual labels:  face-recognition
FaceIDLight
A lightweight face-recognition toolbox and pipeline based on tensorflow-lite
Stars: ✭ 17 (-83.17%)
Mutual labels:  face-recognition
facematch
Facematch is a tool to verifies if two photos contain the same person.
Stars: ✭ 62 (-38.61%)
Mutual labels:  face-recognition
FaceRecognitionCpp
Large input size REAL-TIME Face Detector on Cpp. It can also support face verification using MobileFaceNet+Arcface with real-time inference. 480P Over 30FPS on CPU
Stars: ✭ 40 (-60.4%)
Mutual labels:  face-recognition
bob
Bob is a free signal-processing and machine learning toolbox originally developed by the Biometrics group at Idiap Research Institute, in Switzerland. - Mirrored from https://gitlab.idiap.ch/bob/bob
Stars: ✭ 38 (-62.38%)
Mutual labels:  face-recognition
Face-Recognition-Attendance-System
A simple python script that recognises faces and mark attendance for the recognised faces in an excel sheet.
Stars: ✭ 57 (-43.56%)
Mutual labels:  face-recognition
L Softmax TensorFlow
No description or website provided.
Stars: ✭ 29 (-71.29%)
Mutual labels:  face-recognition
FaceRecognition PyTorch
Implement Face Recognition Code in PyTorch. Such as SphereFace with A-Softmax.
Stars: ✭ 29 (-71.29%)
Mutual labels:  face-recognition
deep utils
An open-source toolkit which is full of handy functions, including the most used models and utilities for deep-learning practitioners!
Stars: ✭ 73 (-27.72%)
Mutual labels:  face-recognition
face-search
A demonstration of face database search implemented in python
Stars: ✭ 36 (-64.36%)
Mutual labels:  face-recognition
ViewFaceCore
C# 超简单的离线人脸识别库。( 基于 SeetaFace6 )
Stars: ✭ 345 (+241.58%)
Mutual labels:  face-recognition
Face-Liveness-Detection-SDK-iOS
Robust, Realtime, On-Device Face Liveness Detection (Face Anti Spoofing) For iOS
Stars: ✭ 48 (-52.48%)
Mutual labels:  face-recognition
Face-Recognition-Jetson-Nano
Recognize 2000+ faces on your Jetson Nano with database auto-fill and anti-spoofing
Stars: ✭ 63 (-37.62%)
Mutual labels:  face-recognition
Mask-Aware-Face-Recognition-SDK-iOS
Fast, Accurate, Mask-Aware Face Recognition SDK with Liveness Detection
Stars: ✭ 113 (+11.88%)
Mutual labels:  face-recognition
FaceRecog
Realtime Facial recognition system using Siamese neural network
Stars: ✭ 47 (-53.47%)
Mutual labels:  face-recognition
GenderRecognizer
Plain Face Detector & Gender Recognizer
Stars: ✭ 57 (-43.56%)
Mutual labels:  face-recognition
PLSC
Paddle Large Scale Classification Tools,supports ArcFace, CosFace, PartialFC, Data Parallel + Model Parallel. Model includes ResNet, ViT, DeiT, FaceViT.
Stars: ✭ 113 (+11.88%)
Mutual labels:  face-recognition
LBCNN
Local Binary Convolutional Neural Network for Facial Expression Recognition of Basic Emotions in Python using the TensorFlow framework
Stars: ✭ 21 (-79.21%)
Mutual labels:  face-recognition

SmooFaceEngine

An open-source face recognition engine.

Support for Tensorflow-2.0.0+ @branch tensorflow2.0.0+.

Further reading: Read more related papers.

勘误表(errate)

Chinese Wiki

Introduction

What is this project?

SmooFaceEngine: an open-source implementation for face recognition.

In the project, SmooFaceEngine implements a face recognition engine with one-shot training.

Principle of SmooFaceEngine

SmooFaceEngine employs several CNNs (VGGNet, VIPL face net, ResNet, XCEPTION, et al.) to recognize face images.

Firstly, SmooFaceEngine employs AM-Softmax loss as the cost function rather than triple-loss or other metric learning methods (e.g., siamese network) since AM-Softmax costs less training time and obtains higher accuracy. Although AM-Softmax is no longer a state-of-the-art model, subsequent not a few approaches follow the primary thought, e.g., SphereFace.

Secondly, SmooFaceEngine uses data augmentation to generate a more robust model. By the way, some GAN approaches have broken through in this field in recent times. Readers could follow the paper list above mentioned.

Finally, SmooFaceEngine has trained a model, but this model is a classification model. Therefore, users cannot compare whether two face images are similar and know the probability. Thus, SmooFaceEngine implements a metric method, which is cosine similarity. Users could supply two images by this method, and SmooFaceEngine generates two vectors to represent the two faces. They are then using cosine similarly to measure the similar probability.

To summarize, SmooFaceEngine cannot give the end-to-end similarity for two face images, which combines classification learning and the measuring method to evaluate similarity. AM-Softmax outperforms the softmax function in this scenario. This is why SmooFaceEngine does not directly use the softmax function as the output layer.

How to use it?

SmooFaceEngine is only a demo. SmooFaceEngine pre-trained a model with small data to see the experimental results. If you want to use this SmooFaceEngine in your production environment directly, you should do more, such as training with lots of samples, training with more batches and epochs.

Training phase

Running the script train.py, like the following:

python3 train.py

Prediction phase

Starting predict.py, then this script will validate some specified images, as follows:

python3 predict.py

Web API

Meanwhile, SmooFaceEngine offers a web interface. Users could have a taste of how the engine works.

http://127.0.0.1:8080/test

Dependencies

Require Python 3.6+.

Other dependencies: 

```
pip3 install -r requirements.txt
```

Reference

Papers

You can search the following papers in Google Scholar

AM-Softmax
Sphere face
FaceNet
ResNet
Xception
MobileNet v1,v2,v3
VIPL Face net

Open source projects

  1. https://github.com/xiangrufan/keras-mtcnn
  2. https://github.com/happynear/AMSoftmax
  3. https://github.com/Joker316701882/Additive-Margin-Softmax
  4. https://github.com/hao-qiang/AM-Softmax
  5. https://github.com/ageitgey/face_recognition
  6. https://github.com/oarriaga/face_classification
  7. https://github.com/seetaface/SeetaFaceEngine
  8. https://github.com/jiankangdeng/handbook

LICENSE

Apache License version 2.0

How to contribute

Send pull requests or issues directly. Thank you big time :)

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