Keras/Tensorflow implementation of face recognition model using triplet loss Quickstart in Colab
The dataset including 84 identities collected automatically from bing image search, check download_data.py for more details.
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).
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
- Pre-trained VGG16 is used to extract feature representation. The feature then is normalized using l2 normalization.
- The model archive accuracy of
62.75%
on test data (16 identities) - T-SNE visualization of learned face embedding on test data
Prediction with bounding boxes