Skip to content

Keras implementation of Face recognition using triplet loss

Notifications You must be signed in to change notification settings

ptran1203/face_recognition

Repository files navigation

Face recognition using triplet loss

Keras/Tensorflow implementation of face recognition model using triplet loss Quickstart in Colab

1. Dataset

1.1 Summary

The dataset including 84 identities collected automatically from bing image search, check download_data.py for more details.

data_distribution

1.2 Data preparation

1.2.1 Face extraction

Since the images downloaded from bing search is not suitable for training, to train the face recognition, we have to drop the face of each image in the dataset, to accomplish this, face_recognition module is used to detect face bounding boxes, then we can drop the face to train the face recognizer. However, the module can't detect the face in some images or detect wrong face (we search for Brad Pitt but sometimes we got his wife's face).

1.2.2 Train test split

16 of 84 identities are randomly selected to evaluate the model performance (unseen data) and the remains are training data. So the training and testing examples are disjoint

Model

1. Using pre-trained FaceNet (WIP)

2. Train the model from scratch

  • Pre-trained VGG16 is used to extract feature representation. The feature then is normalized using l2 normalization.

face_model

Result

  • The model archive accuracy of 62.75% on test data (16 identities)
  • T-SNE visualization of learned face embedding on test data

face_representation

Prediction with bounding boxes

chipu

About

Keras implementation of Face recognition using triplet loss

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published