Skip to content

Mohsin-Ali-Mirza/Multiple-Face-Recognition

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Multiple-Face-Recognition

Table Of Contents

  1. Face Detection
  2. Face Recognition
  3. Multiple Face Recognition Using Multiple Cameras

Introduction

1. Face Detection

Various libraries were employed for face detection, including OpenCV and Dlib. However, YOLOv8 exhibited superior performance compared to its counterparts. The results are delineated below.

Results

           Guide For Confusion Matrix               Confusion Matrix
           Evaluation Metrics               Real-Time Detection

2. Face Recognition

There are three main components to this project.

  • Server Side: Website for adding registered students/employees to the database
  • Client side: TestBed (Hardware) for visual feedback of the attendance
  • Client side: Face Recognition

Simplified Methodology

Server Side: Website

The website is made using MERN stack (Mongodb, Express, React and NodeJs). The key functionalities of the website are

  1. Admin Authentication
  2. Dashboard UI to show all the registered Students
  3. Supports Registering, Modification and Deletion of Students in the Database
           Guide For Website               Frontend and Database

Client Side: Hardware Implemnetation

Three designated lanes will be provided for users to mark their attendance via camera recognition. Each gate will be equipped with a camera positioned overhead, which will facilitate the attendance marking process for a single student at a time. The camera will capture an image/frame of the user, initiate face detection algorithm, Create facial encodings using face recognition, cross-reference these against registered encodings stored in the database, and subsequently retrieve the pertinent information. Upon successful identification, the LED indicator will illuminate green.

The implementation utilizes the pyfirmata library to interface with the LED indicator on the Arduino board.

Client Side: Face Recognition

The face recognition functionality underwent rigorous testing utilizing two prominent libraries: DeepFace and FaceRecognition. Following thorough evaluation, FaceRecognition emerged as the superior performer, showcasing optimal performance compared to DeepFace.

Results

              Confusion Matrix               Inference Time(seconds)

User Interface

3. Multiple Face Recognition Using Multiple Cameras

Face recognition will be conducted using multiple cameras, with each camera focusing on a single student or employee within its field of view. This system employs multiprocessing, ensuring that each camera instance operates independently of others. Each instance is executed as a separate process, initiated by running the file multiple times in different terminals, specified by

python main.py (name of Camera Instance).

This approach enhances efficiency and scalability by enabling concurrent processing of multiple camera feeds without interference between instances.

Results

The inference time for each of the camera along with the retrieval time of the infromation from the database.

Tech Stack

  • Python
  • OpenCv
  • Pytorch
  • Yolov8
  • React
  • MongoDB
  • Contributors

    © Developed Under the Supervision of

    About

    No description, website, or topics provided.

    Resources

    License

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published