All Projects → xiaochus → Facerecognition

xiaochus / Facerecognition

Licence: mit
OpenCV 3 & Keras implementation of face recognition for specific people.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Facerecognition

Face Identification With Cnn Triplet Loss
Face identification with cnn+triplet-loss written by Keras.
Stars: ✭ 45 (+40.63%)
Mutual labels:  cnn, face-recognition
Face Nn
游戏捏脸,基于神经风格迁移框架生成逼真人脸
Stars: ✭ 192 (+500%)
Mutual labels:  cnn, face-recognition
Deepface
Keras implementation of the renowned publication "DeepFace: Closing the Gap to Human-Level Performance in Face Verification" by Taigman et al. Pre-trained weights on VGGFace2 dataset.
Stars: ✭ 113 (+253.13%)
Mutual labels:  cnn, face-recognition
Deepface
Deep Learning Models for Face Detection/Recognition/Alignments, implemented in Tensorflow
Stars: ✭ 409 (+1178.13%)
Mutual labels:  cnn, face-recognition
Noiseface
Noise-Tolerant Paradigm for Training Face Recognition CNNs
Stars: ✭ 132 (+312.5%)
Mutual labels:  cnn, face-recognition
Dlib face recognition from camera
Detect and recognize the faces from camera / 调用摄像头进行人脸识别,支持多张人脸同时识别
Stars: ✭ 719 (+2146.88%)
Mutual labels:  cnn, face-recognition
Flownet2
FlowNet 2.0: Evolution of Optical Flow Estimation with Deep Networks
Stars: ✭ 938 (+2831.25%)
Mutual labels:  cnn
Mxnet Ir
Image Retrieval Experiment Using Triplet Loss
Stars: ✭ 27 (-15.62%)
Mutual labels:  cnn
Palmnet
Source code for the 2019 IEEE TIFS paper "PalmNet: Gabor-PCA Convolutional Networks for Touchless Palmprint Recognition"
Stars: ✭ 25 (-21.87%)
Mutual labels:  cnn
Fast Shadow Detection
Fast Shadow Detection from a Single Image Using a Patched CNN
Stars: ✭ 24 (-25%)
Mutual labels:  cnn
Rnn Theano
使用Theano实现的一些RNN代码,包括最基本的RNN,LSTM,以及部分Attention模型,如论文MLSTM等
Stars: ✭ 31 (-3.12%)
Mutual labels:  cnn
Kaggle Web Traffic Time Series Forecasting
Solution to Kaggle - Web Traffic Time Series Forecasting
Stars: ✭ 29 (-9.37%)
Mutual labels:  cnn
Neural Image Captioning
Implementation of Neural Image Captioning model using Keras with Theano backend
Stars: ✭ 12 (-62.5%)
Mutual labels:  cnn
Facerec Lock
Face recognition to control servo lock using Raspberry Pi and OpenCV
Stars: ✭ 7 (-78.12%)
Mutual labels:  face-recognition
Sai
SDK for TEE AI Stick (includes model training script, inference library, examples)
Stars: ✭ 28 (-12.5%)
Mutual labels:  cnn
Inverse Style Gan
Looking up a generative latent vectors from (face) reference images.
Stars: ✭ 26 (-18.75%)
Mutual labels:  face-recognition
Compreface
Free and open-source face recognition system from Exadel
Stars: ✭ 947 (+2859.38%)
Mutual labels:  face-recognition
Cnnimageretrieval Pytorch
CNN Image Retrieval in PyTorch: Training and evaluating CNNs for Image Retrieval in PyTorch
Stars: ✭ 931 (+2809.38%)
Mutual labels:  cnn
Dcnv2
Deformable Convolutional Networks v2 with Pytorch
Stars: ✭ 868 (+2612.5%)
Mutual labels:  cnn
Object face detection webcam react
Face/Mood detection using face-api.js
Stars: ✭ 29 (-9.37%)
Mutual labels:  face-recognition

FaceRecognition

OpenCV 3 & Keras implementation of face recognition for specific people.

Requirement

  • Python 3.6
  • Tensorflow-gpu 1.5.0
  • Keras 2.1.3
  • scikit-learn 0.19
  • OpenCV 3.4

Model

Face recognition Model:

We use MobileNetV2 as a feature extraction model. We input the paired face images and output the Euclidean distance between the two image features. The purpose of the training is to minimize the distance of the same category and maximize the distance of the different categories, so the use of the contrast loss as a loss function.

face_net

Experiment

Due to the limited computational resources, we used Face Recognition Data to train and test the model.

device: Tesla K80
dataset: Face Recognition Data - grimace (University of Essex, UK)
optimizer: Adam(lr=0.001, beta_1=0.9, beta_2=0.999, epsilon=1e-08)  
batch_szie: 40 

run the command below to show the experiment result.

python vis.py

Train and val loss

Loss

t-SNE for different people

The extracted face data is reduced to 2D features by t-SNE. It can be seen that the same face features are clustered together.

tsne

Features distance for different people

We use person 1 as the person to be identified, then compare the Euclidean distance between person 1 and the features of the other 4 individuals. It can be seen that it is closest to the features of another photograph of itself and far from other people.

distance

Application

run the command below to train the model.

python train.py

The app use haar cascade classifier or SSD to detect face,use MobileNetv2 to recognize face.

run the command below to run the app to recognize a specific people from video camera.

Press esc to quit window. Press space 5 times to record different gestures of the face. The face id were saved at data\key.npy

python face.py
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].