You are on page 1of 31

E-Attendance using Face Recognition

Submitted in partial fulfillment of the requirements


of the degree

BACHELOR OF ENGINEERING IN COMPUTER

ENGINEERING

By

Omkar Sudam Patole PRN:191041018


Sarth Ajit Patil PRN-191041031
Abhijeet Suresh Malabadi PRN-191041044
Harshal Sanjay Pawar PRN-191041045

Supervisor
Prof. Shilpali Bansu

Department of Computer Engineering


A.C. Patil College of Engineering Kharghar,
Navi Mumbai
University of Mumbai (AY 2020-21)
CERTIFICATE

This is to certify that the Mini Project entitled “E-Attendance using Face

Recognition”is bonafide work of OMKAR SUDAM PATOLE PRN-191041018,

SARTH AJIT PATIL PRN-191041031 ,ABHIJIT SURESH MALABADI

PRN-191041044 ,HARSHAL SANJAY PAWAR PRN-191041045

submitted to the University of Mumbai in partial fulfillment of the requirement for

the award of the degree of “Bachelor of Engineering” in “Computer

Engineering”.

(Prof._________________ )

Supervisor

(Prof.____________) (Dr. V.N.Pawar )


Head of Department Principal

Mini Project Approval

This Mini Project entitled “Face Recognition for E-attendance” by

OMKAR SUDAM PATOLE ,SARTH AJIT PATIL ,ABHIJIT

SURESH MALABADI,HARSHAL SANJAY PAWAR is

approved for the degree of Bachelor of Engineering in Computer

Engineering.

Examiners

1………………………………………
(Internal Examiner Name & Sign)

2…………………………………………
(External Examiner name & Sign)

Date:

Place:
Contents

Abstract

Acknowledgments

1 Introduction

1.1 Introduction
1.2 Motivation
1.3 Problem Statement & Objectives

2 Literature Survey

2.1 Survey of Existing System


2.2 Limitation Existing system or research gap
32.3 Mini Project Contribution

3 Proposed System (eg New Approach of Data Summarization )

3.1 Introduction
3.2 Architecture/ Framework
3.3 Algorithm and Process Design
3.4 Details of Hardware & Software
3.5 Code Testing and Results
3.5 Conclusion and Future work.
4 References
Abstract
To maintain the attendance record with day to day activities is a
challenging task. The conventional method of calling the name
of each student is time consuming and there is always a chance
of proxy attendance. The following system is based on face
recognition to maintain the attendance record of students. The
daily attendance of students is recorded subject wise which is
stored already by the administrator. As the time for
corresponding subjects arrives the system automatically starts
taking snaps and then applying face detection and recognition
techniques to the given image and the recognized students are
marked as present and their attendance updated with
corresponding time and subject id. We have used deep learning
techniques to develop this system, histogram of oriented gradient
method is used to detect faces in images and deep learning
method is used to compute and compare facial features of
students to recognize them. Our system is capable of identifying
multiple faces in real time.
Acknowledgments

Special thanks to Mrs. Shilpali Pankaj Basu madam for her


guidance and support.She helped throughout the project.We
thank our Principal for their support.We thank our group
members for their contribution and cooperation for making this
project.This Project was made from the support and contribution
of our group members.So we will thank each of us.
1.Introduction

1.1Introduction

As we all know, the Attendance system is not a new


concept. The attendance system was discovered way back
when the concept of schools was also not there.But ,then as
well as now the attendance system plays an important role.
At first the attendance system was used by factory owners
to keep track of worker hours.This was one of the major
reasons behind the start of the attendance system.
From then the attendance system is been used for various
Purposes.

Traditionally the attendance was taken manually by using


attendance sheets given by faculty members. We observed
that the technique has many demerits such as wastage of
paper, interruption in classroom . Then the biometric
system was introduced.The biometric system was good but
it would also consume a lot of time,as each one had to wait
in line for the purpose of attendance. As well, biometric
systems would have a lot of physical contact. And as we
have seen the current situation, THE PANDEMIC physical
contact is hazardous.
Previously a system has been proposed which improves the
performance for the estimation of the attendance.
Implementation of the system has to be carried out in
accordance with some techniques named as FACE
DETECTION AND FACE RECOGNITION. Face
detection and face recognition are very advanced in terms
of computer authentication technology.
1.2Motivation
● The main motto of this project is to design a project which
will help the schools ,colleges, institutes to manage the
attendance /records of students.
● To help them out with reducing the manual work.
● To save the time required for managing this manually.
● Traditionally , on an average it takes 5- 10 mins every
lecture for a lecturer to take attendance physically. It may
not seem much but if we calculate the time spent in the
whole year just for taking attendance it sums up to a
considerable amount of time, the time which can be utilized
for further teaching. This was also one of the main
motivations for developing this project.
1.3 Problem Statement & Objectives
● The issue of taking attendance each and every period by the
teacher is very time consuming and tiring as well.
Attendance management of students in any institution is a
very lengthy process and even time consuming.

● Furthermore, a biometrics attendance system is also


available. These methods too are time consuming, since
each time a student has to form a queue for scanning their
thumb using a real time camera.
● There is a risk of human error.
● Employees can commit time theft.
● Manual time entry is very time-consuming.
● Are ineffective and outdated.
● Keyboard and printing errors.
● No review of your eligibility requirements.
● Incorrect Entry of Times.
● Too much paperwork.
Objectives
● Detection of unique face image amidst the other natural
components such as walls,backgrounds etc.
● Extraction of unique characteristic features of a face useful
for face recognition.
● Detection of faces amongst other face characters such as
beard, spectacles etc.
● Effective recognition of unique faces in a crowd(individual
recognition in crowd).
● Automated update in the database without human
intervention.
2.Literature Survey
2.1 Survey of Existing System
As shown in figure ,84.2% of lecturers do not like the existing
systems. We should take into consideration this percentage and
develop a new attendance system.

As can be seen from the figure , 84.2% of the lecturers see the
existing system as not suitable for all people like deaf. This is
one of the drawbacks of the existing system, and there are more
such as:
● There is always a chance of forgery (one person signing the
presence of the other one)
● More manpower is required (some person to take
attendance)

To overcome the problems in the existing system, we will


develop a face recognition attendance system.
The majority of lecturer sees as in the figure above, if we
replace the current system with a biometric system it will be
successful. Overall these statistics, the lecturer is not satisfied
with the existing attendance system.
2.2 Limitation of Existing system

In the school, colleges and universities attendance systems


are used to keep the record of a student's presence and
absence. It is true that Taibah University has an electronic
system but still needs manual intervention.
There are two case to attend students:
● First, add students’ attendance directly to the
attendance web page.
● Second, write attendees’ names on a paper then move
it to the web page.
These two cases have drawbacks such as in the first case,
there is a possibility to disconnect the connection and
choose the wrong date. In the second case, there is a chance
to lose the paper and it is a waste of resources.
The aim of this questionnaire is to determine the
satisfaction of the current system. Here are some questions
and their statistics.
2.3 Mini Project Contribution
Following are the contributions of E-Attendance using face
recognition towards Society:-
1. Hassle free Attendance processes
The most wrecking part of any traditional attendance
system is that it is very complicated to keep track of. The
purpose of the E-Attendance system is to make this process
very simple and easy to track and search.

One of the biggest features of the E-Attendance system is


the automatic updation of the attendance sheet as the face is
detected and matched.

2. Managing student information


With students come a lot of data and information. It can be
overwhelming for the school administrators to handle
student registration and to analyse academic progress
manually.
Going paperless is now easy with an efficient E-Attendance
system. Keeping track of all student attendance across the
years in one place, maintaining course information and
grade book is super easy.

3. Redundant human errors


Education institutions will have a lot of data. While done
manually, there are chances for errors to creep in, which
affects the student’s entire year. Such things are ruled out
with the help of automatic attendance management where
you can track the percentage of attendance throughout the
year, in a single go.

4. Easy Access to All


One of the major benefits of the E-attendance these days is
that they can be accessed and used easily by all the
lecturers and that too with a great degree of convenience!

So, our project E-Attendance system was developed by all four


of us. We, a team of four people, took a step-by-step approach in
order to reach our goal. We applied the knowledge we gained
from our teacher and developed this project “E-Attendance
using face recognition”.
3.Proposed System
3.1Introduction
Our proposed system helps to remove all the limitations which
are caused by traditional attendance systems.The time
requirement of physically taking attendance is also gone by this
project.
In our project we make use of the following modules:
1. OpenCV(cv2)
2. Numpy
3. OS module
4. Face-recognition module

1. OpenCV(cv2)
OpenCV-Python is a library of Python bindings designed to
solve computer vision problems
In our project we have used the cv2 module for converting
RGB images into BGR images as while encoding the faces
the face recognition module does not understand RGB
images.
Hence by the use of some of the functions of this module
we convert RGB to BGR .

2. Numpy
NumPy is a Python library used for working with arrays.

It also has functions for working in the domain of linear


algebra, fourier transform, and matrices.

NumPy stands for Numerical Python.

In our Project, we use numpy while drawing a rectangle


around the face after face detection.

3. OS module
The OS module in Python provides functions for
interacting with the operating system. OS comes under
Python’s standard utility modules. This module provides a
portable way of using operating system-dependent
functionality.
We use many functions from this module to interact with
the file system.
4. Face Recognition Module
We use the face-recognition module for application of our
proposed system.

The face recognition Module can

1. Find faces in a picture


2. Manipulate facial features of a picture
3. Identify faces in a given image
4. Encode faces from an images into distances

In our E-Attendance Project we will make use of some of the


features from these modules.
3.2Architecture/ Framework
3.3Algorithm and Process Design
Step1: Finding all the Faces

The first step in our project is face detection. Obviously we need


to locate the faces in a photograph before we can try to tell them
apart

Face detection is a great feature for cameras. When the camera


can automatically pick out faces, it can make sure that all the
faces are in focus before it takes the picture. But we’ll use it for
a different purpose — finding the areas of the image we want to
pass on to the next step in our project.
To find faces in an image, we’ll start by making our image black
and white because we don’t need color data to find faces.To find
faces in an image, we’ll make our image black and white
because we don’t need color data to find faces.

Then we’ll look at every single pixel in our image one at a time.
For every single pixel, we want to look at the pixels that directly
surround it.
To do this, we’ll break up the image into small squares of 16x16
pixels each. In each square, we’ll count up how many gradients
point in each major direction (how many point up, point
up-right, point right, etc…). Then we’ll replace that square in
the image with the arrow directions that were the strongest.

Step 2: Posing and Projecting Faces

We isolated the faces in our image. But now we have to deal


with the problem that faces turned in different directions look
totally different to a computer.

The basic idea is we will come up with 68 specific points (called


landmarks) that exist on every face — the top of the chin, the
outside edge of each eye, the inner edge of each eyebrow, etc.
Then we will train a machine learning algorithm to be able to
find these 68 specific points on any face

Now that we know where the eyes and mouth are, we’ll simply
rotate, scale and shear the image so that the eyes and mouth are
centered as best as possible. We are only going to use basic
image transformations like rotation and scale that preserve
parallel lines .Now no matter how the face is turned, we are able
to center the eyes and mouth in roughly the same position in the
image. This will make our next step a lot more accurate.

Step 3: Encoding Faces

The simplest approach to face recognition is to directly compare


the unknown face we found in Step 2 with all the pictures we
have of people that have already been tagged. When we find a
previously tagged face that looks very similar to our unknown
face, it must be the same person.

For this purpose,we are using a face-recognition module which


already has several functions which help us to automatically
encode image for us.

All we have to do is to call different functions from the module


to do so.

Step 4: Comparing the Images.


Once we encode the images from the webcam then these two
images are compared.
After the comparison is done, if the encoded images from the
webcam matches any of the images ,then the name of the image
in the database is printed.

Step 5: Marking Attendance


The names are printed as comma separated values (.csv)files .
We can then export this data into an excel file and thus the
project is successful.
3.4 Details of Hardware & Software:
Hardware Requirements:
● Processor –Core i3, 5th gen
● Hard Disk – 1TB
● Memory – 8GB RAM
● Standard LED Monitor
● Keyboard
● 4 GB
● Webcam

Software Requirement:
● Windows 7 or higher
● Python IDLE (3.7.7)
● Pycharm
● Microsoft Excel/Google Sheets
3.5Code Testing and Results.
From the above images ,you can see that:
1. The system recognizes the images from the webcam and
forms a rectangle around the face and names the image.
2. The system will only recognize images which are already
uploaded in the root folder.
3. If the image from the webcam matches with any of the
images of our root folder,the system will then print the
name of the image in Attendance.csv along with the exact
time at which the image was recognized.
4. We can then export this data into an excel file or we can
modify the system and add features of google(sheets)
which will automatically record the attendance and save it
in google sheets.
3.6 Conclusion and Future Work
Conclusion
● There may be various types of lighting conditions, seating
arrangements and environments in various classrooms.
Most of these conditions have been tested on the system
and the system has shown 100% accuracy for most of the
cases. There may also exist students portraying various
facial expressions, varying hair styles, beard, spectacles etc.
All of these cases are considered and tested to obtain a high
level of accuracy and efficiency.

● Thus, it can be concluded that a reliable, secure, fast and


an efficient system has been developed replacing a manual
and unreliable system. This system can be implemented for
better results regarding the management of attendance and
leaves.

● The system will save time, reduce the amount of work the
administration has to do and will replace the stationery
material with electronic apparatus and reduce the amount of
human resource required for the purpose. Hence a system
with expected results has been developed but there is still
some room for improvement.
Future work
In Future we can add many features to our Project
according to the requirements of the people.
1. We can further modify this system and integrate it with
CCTV cameras , so that attendance can be taken with more
ease.
2. Further, 2 or more IP cameras can be employed and each
image can be processed separately. The results of these can
be merged to obtain better results and accuracy in denser
classrooms.
References

https://medium.com/@ageitgey/machine-learning-is-fun-part-4-
modern-face-recognition-with-deep-learning-c3cffc121d78

https://www.youtube.com/

www.wikipedia.com

You might also like