This project is a face recognition system using VGG16. The system is able to recognize faces in a video stream and draw a bounding box around the face. I use feature extraction technique to extract the features from the face and then use cosine similarity to compare the features with the features of the faces in the dataset. If the similarity is greater than 0.92 then the system will recognize the face otherwise it will show unknown.
User can add new person to the dataset if the system is not able to recognize the face. The system will prompt the user to enter the name of the person and then it will start capturing the face and train the model automatically.
⚠️ Note: This project uses cuda enabled GPU for face detection and recognition. Without GPU the project will work very slow.
system dependent (google it)
pip3 install wheel
python3 -m venv venv
source venv/bin/activate
pip3 install -r req.txt
mkdir faces
mkdir faces/test
mkdir faces/train
python3 make_face_data_webcam.py <person name>
python3 train.py
feature_vector_genration.py
python3 face_detction.py