Skip to content

This project aims to modernize attendance practices in multiple organizations, enhancing efficiency and effectiveness with innovative solutions.

Notifications You must be signed in to change notification settings

sanjanhaa-yenugu/Face-Recognition-Attendance-System

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Face-Recognition-Attendance-System

Table of Contents

Overview

This project is an attempt to modernise the current attendance taking practices in several organisations.
Before starting with the project I would like to divide the whole project into two parts:
1. The 'Basics.py' file and the 'ImageBasics' folder as one entity and,
2. The 'Attendance.py', 'Attendance.csv' files along with the 'Students' folder as another.

The first entity matches a particular person in any two photos using Linear Support Vector Machine Classifier.
The file contains the code where as the folder contains the images of both 'to be trained' ones as well as the 'to be matced' ones.
It does so in the following manner:
1. Load a training face image of a kown person.
2. Load another picture of the same known person.
3. Encode both the pictures using Histogram of Gradients (HOG).
4. Calculate the 128 measurements and pass them through the trained model.
5. Then find the Euclidean Distance and if the value is less than a threshold value the face is a match.

The second part of the project is the main deal which captures the faces from your webcam and upon enouuntering a match updates the attendance. The file 'Attendance.py' contains the code, where as the folder 'Students' contains the images of the students of whose faces are to be matched. The 'Attendance.csv' file acts as an attendance sheet marking the attendance of the students whose faces have been matched.

The general skeleton of this entity remains the same, except for a given change i.e. the second point changes as the faces are captured live with the help of the OpenCV library. Also, lastly a part is also added where the csv is updated on matching a face from the database.

Built With

  1. Dlib
  2. face-recognition
  3. OpenCV
  4. SVM

Features

  1. Histogram of Gradients (HOG) marks 128 landmarks on the face.
  2. The system identifies the face in the frame by finding the least Euclidean distance in 128 dimentional space of the encoded faces in the database.
  3. Once a face is identified, it registers the attendance in a CSV file along with the time of identification.
  4. To avoid redundancy, the time gets updated only after 24 hours for repeated identifications.
  5. In case a new face is captured, the model labels it as UNKNOWN and does not enter it in the attendance log.
  6. Another feature to increase the robustness is that once a name is recognised it should remain the same for atleast 3 seconds for it to be entered in the attendance log.

Contact

E-mail: savitraj81597@gmail.com
Linkedin: www.linkedin.com/in/savit-raj
Webpage: https://savit-raj.github.io/Portfolio/

About

This project aims to modernize attendance practices in multiple organizations, enhancing efficiency and effectiveness with innovative solutions.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%