Phase | Description |
---|---|
Build datasets | 5_celebrities_dataset family_and_friends family_and_friends_LITE |
Build a face detector | MTCNN-based detector to draw bounding box for each face detected and even crop the face |
Face Embedding | Use FaceNet's inception network to get face embeddings for representing each face captured Transfer learning: fine-tuning the pre-trained FaceNet model |
Build a face classifier | Using SVM to classify face embeddings as one of faces in our dataset |
Integrate system | Integrate detector and classifier into the entire recognition system |
Display control | Use OpenCV VideoCapture() to receive video stream Display bounding box, predicted label, and its probability of each face on the screen |
Compare other models | Use other common pre-trained neural networks (e.g., VGG-16, DeepFace, Haar cascade) to perform our task |
TensorFlow-GPU: version 2.3.0
Keras: version 2.4.3
OpenCV: version 4.2.0
Python: version 3.6.9
FaceNet's Inception Model
MTCNN
Scikit-learn: version 0.23.2
CUDA version 11.1
(1) 《FaceNet: A Unified Embedding for Face Recognition and Clustering》
(2) 《DeepFace: Closing the gap to human-level performance in face verification》
(3) David Sandberg's prominent project: Face Recognition using Tensorflow
(4) MTCNN for face detection
(5) 《Face Detection in Python Using a Webcam》
(6) Transfer Learning and Fine-tuning
(7) 《Face Recognition: Real-Time Face Recognition System using Deep Learning Algorithm and Raspberry Pi 3B》
(8) Dr. Jason Brownlee's article on developing a face recognition system using FaceNet model in Keras
(9) Chapter 14- Face Recognition Digital Image Processing: An Algorithmic Approach with MATLAB, Uvais Qidwai and
C.H. Chen