This code helps in facial recognition using facenets (https://arxiv.org/pdf/1503.03832.pdf). The concept of facenets was originally presented in a research paper. The main concepts talked about triplet loss function to compare images of different person. This concept uses inception network which has been taken from source and fr_utils.py is taken from deeplearning.ai for reference. I have added several functionalities of my own for providing stability and better detection.
You can install Conda for python which resolves all the dependencies for machine learning.
pip install requirements.txt
A facial recognition system is a technology capable of identifying or verifying a person from a digital image or a video frame from a video source. There are multiples methods in which facial recognition systems work, but in general, they work by comparing selected facial features from given image with faces within a database.
1) Detecting face only when your eyes are opened. (Security measure) 2) Using face align functionality from dlib to predict effectively while live streaming.
1) Network Used- Inception Network 2) Original Paper - Facenet by Google
If you face any problem, kindly raise an issue
βββ Facial-Recognition-using-Facenet (Current Directory)
βββ models : Saved Models
βββ face-rec_Google.h5 : Facenet Model
βββ shape_predictor_68_face_landmarks.dat : Facial Keypoints Model
βββ utils : Utils Folder
βββ fr_utils.py
βββ inception_blocks_v2.py
βββ create_face.py : Store the faces for module
βββ rec-feat.py - Main Application
βββ Train-inception.py : Model Trainer
βββ LICENSE
βββ requirements.txt
βββ readme.md
1) If you want to train the network , run Train-inception.py
, however you don't need to do that since I have already trained the model and saved it as
face-rec_Google.h5
file which gets loaded at runtime.
2) Now you need to have images in your database. The code check /images
folder for that. You can either paste your pictures there or you can click it using web cam.
For doing that, run create-face.py
the images get stored in /incept
folder. You have to manually paste them in /images folder
3) Run rec-feat.py
for running the application.
python3 rec-feat.py