Report
Report
INTRODUCTION
Face detection is a critical component in the broader domain of computer vision and
machine learning. It enables machines to perceive and identify human faces from
images and videos a foundational step before further analysis such as face
recognition, emotion detection, demographic estimation, or behavioural tracking.
Historically, face detection began with relatively simple techniques like skin colour
filtering and edge detection, which were eventually replaced by more robust statistical
methods and machine learning models.
One of the most influential early algorithms was the Viola-Jones object detection
framework (2001), which used Haar-like features and a cascade classifier. It became
popular due to its real-time performance and decent accuracy under constrained
conditions. However, it struggled under real-world variabilities such as different
lighting conditions, multiple face angles, occlusions (e.g., glasses or masks), and
background clutter.
Deep Learning and the Rise of DNNs->With the advent of Deep Neural Networks
(DNNs) and the availability of large-scale datasets like FACE NET, the performance
and reliability of face detection systems drastically improved. CNNs are capable of
learning hierarchical feature representations directly from raw image data — from
simple edges in early layers to complex face patterns in deeper layers — enabling
higher generalization and robustness.
While detection systems focus on finding faces, recognition systems aim to verify or
identify individuals. This is where Face Net comes into play. Developed by
researchers at Google in 2015, Face Net introduced a revolutionary approach to face
recognition and clustering by learning a compact 128-dimensional embedding vector
for each face using a deep CNN.
Rather than using classification, Face Net uses a triplet loss function, where it learns
to map faces such that:
This approach allows Face Net to perform face verification and recognition without
retraining the model — a major advantage. In many systems, face detection precedes
1
Face Net’s embedding extraction step, making it an essential component of pipelines
for applications like:
- Attendance systems
- Airport security checks
- Mobile phone unlocking
- Smart surveillance
Though Face Net itself is not directly used for detection, its accuracy depends on
precise face localization — which is the primary goal of this project.
This project focuses on creating a real-time face detection system using a laptop’s
webcam, powered by OpenCV and deep learning models. The aim is not just to detect
faces in still images but to process live video streams with low latency and high
accuracy. By leveraging models like Res10 SSD with Caffe backend, which are pre-
trained for high-speed performance, this system can serve as a backbone for more
advanced facial analysis applications.
Additionally, this system lays the groundwork for seamless integration with Face Net
or similar models for face recognition, providing a modular and extensible
architecture. For example, after face detection, the system could be expanded to
extract embeddings using Face Net and perform identity verification or emotion
detection in real-time.
Technology Stack
- Language: Python
- Library: OpenCV, Scikit-Learn
- Model: DNN (DEEP NEURAL NETWORK)
- Input Device: Laptop webcam, Input files
The project showcases how high-end functionality can be achieved using open-source
tools on commodity hardware, making it accessible for educational, research, and
small-scale commercial purposes.
2
The face detection system developed in this project using OpenCV and deep learning
techniques demonstrates the potential of real-time facial analysis on consumer-grade
hardware. Its primary scope lies in the detection of human faces from live video
streams using a laptop webcam, but its applications extend far beyond this initial
capability. This modular and scalable solution can serve as a foundational building
block for advanced face-based systems such as facial recognition, emotion detection,
gesture analysis, high-end biometric verification, and also for the security reasons
where we can keep track of all the peoples in our country and their availability which
prevents from getting spied.
Functional Scope
- Real-Time Detection: The system efficiently identifies human faces in real-time
using the webcam feed, with bounding boxes and detection confidence levels.
- Multiple Faces: It can detect multiple faces simultaneously in a frame, making it
suitable for group settings such as classrooms or meetings.
- Modular Architecture: The model's architecture allows for easy integration with
other AI-based services such as Face Net for recognition, drowsiness detection, or
mood inference modules.
- Cross-Platform Deployment: As the implementation relies on open-source libraries,
it can run on Windows, Linux, or macOS, making it platform-independent and
deployable in varied environments.
Application Scope-:
This face detection system is versatile and can be deployed across various domains:
3. Smart Attendance Systems: Educational institutions and workplaces can use this
system for automatic attendance marking based on face detection and recognition,
eliminating the need for manual input or RFID cards.
4. E-Commerce and Retail: In retail analytics, face detection can help analyze
customer demographics, attention span, and emotional response to improve product
placement and marketing strategies.
5. Access Control and IoT Devices: Smart home systems and IoT devices can utilize
face detection for personalized access control, user preference management, or even
greeting systems based on recognized individuals.
6. Online Education and Proctoring: During virtual classes or exams, this system can
detect if the user is present, attentive, or attempting to violate exam guidelines
through multiple face detection or distraction detection.
3
7. Entertainment and AR/VR: In gaming and AR environments, face detection
enhances user engagement by enabling character control, expression mirroring, or
avatar customization.
The face detection system presented in this project is built using deep learning models
integrated into the OpenCV framework. It leverages the power of a standard laptop
webcam to identify human faces in real time. The system is optimized for speed,
accuracy, and extensibility, offering a robust and adaptable platform for a wide range
of applications, including security, attendance, healthcare, and personalized user
interfaces. Below are the detailed features that define the functionality and advantages
of this system.
One of the core features of the system is its ability to detect faces in real time using
live video streams. By utilizing the webcam as the input source and processing each
frame as it arrives, the system is capable of identifying human faces instantly. This
real-time operation is made possible through the use of efficient deep learning models
such as SSD (Single Shot Multibox Detector) with a lightweight ResNet-10 backbone,
trained on datasets like WIDER FACE and deployable through OpenCV’s DNN
module. This enables fast frame-by-frame inference while maintaining high accuracy.
The system can detect and distinguish multiple faces appearing within the same video
frame. This feature is crucial for environments like group surveillance, online
meetings, classrooms, or public monitoring where more than one person may be
present at any time. Each face is encapsulated within a bounding box, accompanied
by a confidence score, ensuring clarity and traceability. The bounding boxes update
dynamically with movement, supporting tracking across frames.
Thanks to the deep learning backbone, the system can handle challenges such as
partial occlusion, varying lighting, different face angles, and facial accessories like
glasses or masks. The model has been trained on diverse datasets, making it resilient
to natural variance in human faces. Furthermore, pre-processing techniques such as
grayscale conversion, histogram equalization, and image normalization can be used to
enhance detection under low-light or noisy conditions.
The system is designed to run on typical laptops without requiring external GPU
resources. The deep learning models used are optimized for CPU inference using
OpenCV’s `cv2.dnn` module. This makes the solution portable, efficient, and
4
deployable even in edge computing scenarios or in areas where high-performance
computing infrastructure is not available.
The architecture of this system is modular and extensible. While it currently performs
face detection, it can be easily extended to include face recognition using Face Net or
Deep Face, emotion analysis using CNN-based models, or facial landmark detection
for gesture recognition. The modular pipeline structure also enables integration with
access control systems, attendance logs, alert mechanisms, and cloud services like
Firebase for real-time data syncing.
6. Cross-Platform Compatibility
Users can choose from various input sources beyond a laptop webcam, such as
external USB cameras or IP cameras via RTSP streams. The output (detection results)
can be displayed on the screen, saved to disk, or sent to a web server. This flexibility
makes the system adaptable for use in kiosks, surveillance stations, or mobile
monitoring units.
The system has been developed with user experience in mind. It includes a
lightweight graphical or command-line interface to start and stop the camera feed,
visualize bounding boxes, and optionally log timestamps. This makes it usable for
non-technical personnel in domains like healthcare or education, where simplicity is a
key requirement.
The system does not store or transmit any sensitive data unless explicitly designed to
do so. All processing happens locally, ensuring data privacy—an essential
requirement for healthcare and security-based deployments. If integration with cloud
services like Firebase is enabled, encrypted channels and authentication mechanisms
can be added for secure data transmission.
5
CHAPTER – 2
WORK DONE IN THIS AREA
- Objective:
To provide a real-time face detection algorithm that can operate on low-processing
hardware with high-speed performance.
- Methodology:
- Uses Haar-like features to represent visual characteristics.
- Applies the AdaBoost algorithm to select a small number of critical features from
thousands.
- Uses a cascade classifier to quickly eliminate non-face regions and focus
computation on promising areas.
- Novelty:
- It was the first real-time face detection algorithm.
- Efficient even on limited hardware and webcams.
- Introduced a pipeline that balances speed and accuracy by rejecting negative
regions early.
- Contribution:
- Widely adopted in early computer vision systems and webcams.
- Formed the base for many consumer and surveillance applications.
- Still used in some embedded systems due to its lightweight nature.
- Objective:
To improve detection accuracy over simple Haar-like features, especially under
varying lighting and pose conditions.
- Methodology:
- Extracts edge direction histograms (HOG descriptors) to represent facial structure.
- Applies a linear SVM classifier for detecting faces from feature vectors.
- Performs sliding window detection across different image scales.
- Novelty:
- Captures rich spatial gradient information, making it more robust to lighting.
- Works well in detecting frontal faces.
6
- Contribution:
- Used as a standard feature-extraction technique in several machine learning
pipelines before CNNs.
- A foundational technique in OpenCV’s Dlib library.
- Objective:
To detect faces and align facial landmarks accurately and quickly using deep
learning.
- Methodology:
- Consists of three CNN stages: Proposal Network (P-Net), Refinement Network (R-
Net), and Output Network (O-Net).
- Jointly predicts bounding boxes and five facial landmarks (eyes, nose, mouth).
- Applies Non-Maximum Suppression (NMS) at each stage to eliminate overlapping
detections.
- Novelty:
- Performs face detection and alignment simultaneously.
- Multi-stage network improves precision incrementally.
- Contribution:
- Became a benchmark for many face detection projects and applications.
- Often used in mobile and embedded systems due to its small size and reliability.
- Objective:
To generate high-quality face embeddings that can be used for verification,
recognition, and clustering.
- Methodology:
- Uses a deep convolutional neural network trained with triplet loss.
- Projects face images into a 128-dimensional embedding space where Euclidean
distance reflects facial similarity.
- Embeddings are learned directly for identity discrimination without requiring
intermediate detection stages.
- Novelty:
- First to propose embedding-based face recognition instead of classifying each
identity.
- Handles millions of identities using a distance-based thresholding approach.
- Contribution:
- Revolutionized face recognition systems with embedding-based methods.
- Still forms the backbone for many modern face recognition APIs and products.
7
2.5. Deep Face – 2014 (Facebook AI Research)
- Objective:
To achieve near-human-level face verification accuracy using deep learning.
- Methodology:
- Utilized a nine-layer deep neural network trained on 4 million images.
- Introduced 3D face alignment for normalization before recognition.
- Trained using a large-scale labeled dataset of real-world photos.
- Novelty:
- Among the first deep learning-based face verification systems with large-scale
training.
- Introduced 3D alignment into the pipeline to handle pose variance.
- Contribution:
- Achieved 97.35% accuracy on Labeled Faces in the Wild (LFW) benchmark.
- Paved the way for social media face tagging, friend suggestions, and more.
- Objective:
To detect faces with high precision under extreme conditions like occlusion, blur,
and different angles.
- Methodology:
- Builds on RetinaNet architecture with single-shot detection.
- Detects both bounding boxes and 5-point facial landmarks.
- Uses a feature pyramid network (FPN) backbone for detecting faces at various
scales.
- Novelty:
- Performs pixel-wise dense face localization.
- Integrates contextual attention modules to improve detection under occlusion.
- Contribution:
- State-of-the-art face detector used in the Insight Face toolkit.
- Widely used in research, surveillance, and authentication systems.
8
CHAPTER - 3
SYSTEM ANALYSIS
3.1 USER REQUIREMENTS
1. Introduction
•Purpose of the Document: Explain the objective of the face detection system.
•Target Audience: Identify who the users are (e.g., security personnel, retail business
owners, smartphone users).
Marketing insights.
Healthcare (e.g., monitoring emotions for mental health diagnosis)
Inaccuracy under challenging conditions (poor lighting, partial occlusion,
etc.).
Data privacy concerns.
3. User Requirements
• Functional Requirements:
• Platform Requirements:
• Ease of Use:
9
Intuitive user interface.
Minimal configuration required.
• Accuracy Expectations:
• Performance Expectations:
• Hardware Requirements:
• Compliance:
• Summary: Reiterate key user requirements and how the system addresses
them.
Essential Hardware:
- Laptop/Desktop
- Minimum:
- CPU: Intel i5 (8th Gen or above) or AMD Ryzen 5
- RAM: At least 8 GB (16 GB recommended for smoother performance)
- Storage: 10+ GB free space (for model files, images, and libraries)
- Recommended:
10
- GPU (Optional but ideal): NVIDIA GPU with CUDA support (GTX 1050 or
above) – for faster deep learning inference.
- Webcam
- In-built laptop webcam or an external USB camera (720p or 1080p resolution
preferred).
- Raspberry Pi 4 (with 4GB or 8GB RAM) – If you want to deploy this project on a
small embedded device.
- Camera Module (for Raspberry Pi) – Pi Camera or USB webcam.
- External Display – For Raspberry Pi or if testing on another embedded system.
- USB to TTL cable – For serial communication if deploying on microcontrollers.
- Power Supply/UPS – For stable runtime, especially in deployment.
---
2. Software Requirements
Operating System:
> Linux is generally preferred for ease in Python + deep learning environment setups.
- Dlib (optional) – For facial landmark detection (if using HOG/SVM based models)
Install using: `pip install dlib`
11
Install using: `pip install scikit-learn`
- VS Code / PyCharm – Python IDEs for writing and testing scripts locally.
- Git / GitHub – For version control and downloading FaceNet or other pre-trained
models.
Miscellaneous Requirements
12
CHAPTER – 4
FLOWCHART
13
Low Level Design (LLD)
Deployment
1. Platform Flexibility
The model can be deployed on a variety of platforms including laptops, desktops,
embedded systems like Raspberry Pi, or cloud platforms like AWS, Google Cloud, or
Azure. This allows the solution to be tailored for smart surveillance systems, home
automation, or industrial applications.
2. Real-time Integration
The model integrates seamlessly with OpenCV to access the webcam for live feed
processing. It can be run locally or on a remote edge device using TensorFlow Lite or
ONNX formats for reduced inference time. Real-time performance is critical in
surveillance, attendance systems, and security checkpoints.
4. Hardware Acceleration
NVIDIA GPUs or TPUs can be used to accelerate the deployment. TensorRT or Open
VINO toolkits are also compatible with the Face Net model for enhanced performance
in edge devices.
Security
1. Data Encryption
Any data transferred between modules, especially over a network, must be encrypted
using TLS/SSL protocols. User images, video frames, and logs must be encrypted
during storage and transit.
14
The system should have multi-level access control. Admin privileges should be
required for editing models, training datasets, or altering system configurations, while
general users can only view logs or access detection outputs.
3. Spoof Detection
Implementing liveness detection can help prevent spoofing attempts using photos,
videos, or deepfakes. Techniques like blink detection, depth analysis, or IR imaging
can be introduced to enhance security.
Usability
Usability determines how easily users can interact with and operate the system,
regardless of their technical background.
1. User-friendly Interface
The GUI can be designed with minimal elements to show live video, recognized
faces, logs, and options to train new faces or access history. This reduces the learning
curve for non-technical users.
2. Customizable Features
The model should allow users to adjust settings such as recognition confidence
threshold, webcam resolution, frame rate, etc. This flexibility is useful for adapting to
different use cases.
3. Platform Independence
Since the software is built in Python with OpenCV and TensorFlow, it can run across
Windows, Linux, and macOS. This enhances the portability and usability across
different devices.
15
Interactions
Interaction refers to how the user and system communicate and how various
components of the system interact.
1. Real-Time Feedback
Users receive immediate feedback on detection status, recognition confidence, and
errors via UI alerts or audio prompts. This interactive experience boosts user trust.
3. API Support
RESTful APIs can be implemented to allow other systems or modules to interact with
the detection system—for example, integration with attendance or access control
systems.
5. Sensor-based Interactions
Optional integration with hardware like IR sensors, PIR sensors, or smart doors can
enable automated actions such as unlocking a door upon successful face recognition.
Maintenance
1. Model Updates
The pre-trained Face Net model or any custom models used must be updated
periodically to ensure accuracy and adapt to evolving environments or image
qualities.
2. Library Upgrades
OpenCV, TensorFlow, and Python packages must be kept up to date to address
performance improvements, bug fixes, or security vulnerabilities.
16
4. Dataset Expansion
The system should allow periodic addition of new face data to keep it up to date. For
instance, employee face data in a corporate setting must be maintained as people join
or leave.
Challenges
Every face detection project comes with a unique set of challenges that must be
mitigated for robust performance.
1. Lighting Conditions
Poor lighting or backlit environments severely affect detection accuracy. Advanced
pre-processing or IR-based systems can help overcome this.
2. Pose Variations
Significant head tilts or side profiles are hard to recognize using standard models.
Techniques like 3D face mapping or pose-invariant embeddings are required.
3. Computation Load
Running deep learning models in real time demands high computational resources.
Devices without GPUs may experience lag, making optimization essential.
4. False Positives/Negatives
There’s always a chance of incorrect detections—either failing to detect a face or
misidentifying one. Threshold tuning and multi-model verification can help reduce
these.
5. Privacy Concerns
Face data is highly sensitive. In environments like schools, offices, or public spaces,
explicit consent and secure handling of biometric data is mandatory to avoid
legal repercussions.
17
SCREEN-SHOT DIAGRAM
18
CHAPTER – 5
CODING
ML code:
import NumPy as np
import cv2
import so
from keras_facenet import FaceNet
from sklearn.preprocessing import LabelEncoder
from sklearn.model_selection import train_test_split
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout
from keras.models import load_model
def get_face_embedding(image_path):
"""Detects a face, extracts it, and returns FaceNet embedding."""
img = cv2.imread(image_path)
if img is None:
print(f"❌ Error: Could not load {image_path}")
return None
if len(faces) == 0:
print(f"❌ No face detected in {image_path}")
19
return None
import os
import numpy as np
if os.path.isdir(person_path):
for img_name in os.listdir(person_path):
img_path = os.path.join(person_path, img_name)
20
image_paths.append(img_path)
import numpy as np
from sklearn.preprocessing import LabelEncoder
from sklearn.model_selection import train_test_split
def predict_face(image_path):
"""Detects face, extracts FaceNet embedding, and predicts the
person's name."""
if embedding is None:
print("❌ No face detected! Try another image.")
return
23
CHAPTER – 6
TRAINIG AND TESTING
In a face detection system, the training phase refers to the learning process where a
deep learning model is taught to recognize patterns and features specific to human
faces. It involves feeding large amounts of labeled data into a neural network so that it
can learn the spatial hierarchies and visual cues that constitute a face.
In this project, FaceNet or MTCNN + FaceNet architecture is used as the core, where
FaceNet is responsible for generating face embeddings and MTCNN (or Haar
Cascades) for initial detection. Training typically involves two main components:
- Pre-training (done on large datasets like VGGFace2, CASIA-WebFace)
- Fine-tuning (optional, using your own small dataset)
The trained model will then be used to detect and recognize individuals through live
webcam streams in real-time.
These models may already be pre-trained, but you can retrain or fine-tune them to
work more efficiently for your dataset or target environment.
Datasets Used
For training a robust face detection and recognition system, a high-quality dataset is
crucial. Popular datasets include:
- LFW (Labeled Faces in the Wild) – 13,000 images from 5,749 people
Preprocessing Steps
1. Face Detection: Using MTCNN or OpenCV’s Haar cascade to crop only the face
region.
2. Resize Images: Standardized to 160x160 pixels.
24
3. Normalization: Pixel values are scaled between 0–1 or normalized using mean-
variance.
4. Face Alignment: Optional but helps with better accuracy.
5. Labeling: Images are grouped under directories named after the person
(/dataset/John/, /dataset/Jane/).
These augmentations simulate real-world conditions to make the model more robust.
FaceNet Architecture
The loss function minimizes the distance between A and P while maximizing the
distance between A and N.
This loss ensures better discrimination in embedding space, thus enabling reliable
recognition even in unseen conditions.
25
Testing Process
After training, the system enters the testing phase where new, unseen images are
evaluated:
- Faces are detected and cropped.
- Embeddings are generated using the trained model.
- These embeddings are compared with saved vectors in the database (using cosine
similarity or Euclidean distance).
- If similarity is high, the face is labeled; otherwise, marked unknown.
Evaluation Metrics
Sample Results
Person IMMAGE ACCUREC FALSE TIME/FACE
Y POSETIVE
SUMAN 500 97.2% 1 0.09
KRITI 500 98.2% 2 0.08
ADITYA 500 96.5% 1 0.09
PIYUSH 500 93.4% 3 0.09
AKASH 500 93.6% 2 0.08
SUBHAM 500 98.3% 3 0.09
Once training is complete, the model is integrated into a real-time webcam stream
using OpenCV’s cv2.VideoCapture() function.
Steps:
1. Capture frame from webcam.
2. Detect faces using MTCNN/Haar cascade.
3. Preprocess face and generate embedding.
4. Compare with known embeddings.
5. Draw bounding box and label.
Continuous Learning
26
- Capture multiple images from the live stream.
- Generate and store embeddings.
Model Robustness and Failure Handling
---
Training and testing form the backbone of this face detection system. Through
carefully curated datasets, advanced preprocessing, and powerful embedding
generation, the model becomes highly accurate and efficient. The real-time testing
ensures smooth user experience, and features like continuous learning and live camera
feed make this project practical for day-to-day use in schools, offices, or smart
surveillance environments.
COMPARATIVE ANALYSIS
27
2. Comparison of Face Recognition Models
CHAPTER – 7
28
CONCLUSION & LIMITATIONS
7.1 Conclusion
The development and deployment of a real-time Face Detection System using Deep
Learning and OpenCV signifies a pivotal step in integrating intelligent systems into
everyday computing environments. This project aimed to leverage advanced deep
learning models, specifically FaceNet for recognition and MTCNN for detection,
combined with the versatility of OpenCV, to create a robust and accessible system
capable of identifying and verifying human faces via a simple webcam interface.
Technological Significance
The system developed in this project reflects the evolution of computer vision from
traditional pixel-based techniques to intelligent learning-based architectures. The
incorporation of MTCNN enabled accurate and efficient detection of facial landmarks
even in challenging conditions, such as varying lighting, angles, or partially occluded
faces. Meanwhile, FaceNet offered a powerful approach to face recognition by
transforming faces into fixed-length embeddings, allowing comparison and
verification through straightforward distance metrics like Euclidean distance.
Future-Readiness
This face detection system serves as a foundation upon which future functionalities
can be built. It can be further evolved into a face expression recognizer, emotion
detector, or even a behavior monitoring tool for mental health insights. Additionally,
the integration of this system with mobile devices or Raspberry Pi boards can promote
its use in IoT-based smart environments.
Real-World Applicability
29
- Affordable – no need for expensive GPUs, paid APIs, or cloud servers,
The project has also highlighted the crucial balance between technical excellence and
ethical responsibility. Face recognition, while powerful, must always be guided by
transparency, fairness, and user autonomy—principles this system strongly upholds.
This project exemplifies how cutting-edge deep learning technologies can be distilled
into accessible, practical, and privacy-aware solutions that serve genuine human
needs. The Face Detection System built in this report is not just a technological
construct—it’s a proof of concept that intelligent vision systems can be deployed
responsibly, effectively, and enjoyably.
7.2 Limitations
30
While the system is designed for affordability, running deep learning models on low-
end devices can:
• Slow down real-time detection speed,
• Consume considerable CPU and RAM resources,
• Cause application lags on older machines or embedded systems.
Mitigation Possibility: Incorporating TensorFlow Lite or ONNX models could
improve performance on edge devices.
6. No Multi-Factor Verification
The current model relies solely on facial data for identification. This may not be
sufficient for high-security applications, as:
• Deepfakes or photo spoofing might deceive the system,
• No secondary authentication (like voice or OTP) is in place.
Mitigation Possibility: Implementation of liveness detection and multimodal
biometrics would improve security.
31
• Algorithmic bias (based on skin tone, gender, etc.).
Mitigation Possibility: Including transparency notices, consent prompts, and
continuous auditing would help meet ethical and regulatory standards like GDPR.
CHAPTER – 8
32
BIBLIOGRAPHY
8.1 WEBSITES
1. GitHub repositories and Stack Overflow threads used for specific code
references:
GitHub Repository
Stack Overflow
2. Bootstrap. Bootstrap Framework. https://getbootstrap.com/.
3. Python Software Foundation. Python Programming Language.
https://www.python.org/.
4. Scikit-learn Developers. Scikit-learn: Machine Learning in Python.
https://scikit-learn.org/.
5. W3Schools. HTML, CSS, and Web Design Tutorials.
https://www.w3schools.com/.
6. Pandas Development Team. Pandas: Python Data Analysis Library.
https://pandas.pydata.org/.
7. Matplotlib Developers. Matplotlib: Visualization with Python.
https://matplotlib.org/.
8. NumPy Developers. NumPy: Fundamental Package for Scientific Computing.
https://numpy.org/.
9. FACENET_MODEL Dataset. https://github.com/davidsandberg/facenet
10. OPENCV OpenCV - Open Computer Vision Library
33