You are on page 1of 23

RESEARCH PAPER

On

ATTENDANCE MARKING SYSTEM

Anushka (20BCS5646)

Srishti Jain (20BCS5634)

BACHELOR OF ENGINEERING

COMPUTER SCIENCE & ENGINEERING

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING


CHANDIGARH UNIVERSITY, GHARUAN
MAY 2022

I
ABSTRACT

The main purpose of this project is to create a face recognition-based attendance monitoring
System for institution to boost and upgrade the present attendance system into more economical
and effective as compared to before. The present old system contains a ton of ambiguity that
caused inaccurate and inefficient of attendance taking. Several issues arise once the authority is
unable to enforce the regulation that exist within the recent system. The technology operating
behind is going to be the face recognition system. The face is one of the natural traits which will
unambiguously determine an individual. Therefore, it is accustomed trace identity because the
possibilities for a face to deviate or being duplicated is low. During this project, face databases
are going to be created to pump information into the recognizer algorithmic program. Then,
throughout the attendance taking session, faces are compared against the information to hunt for
identity. Once an individual is known, its attendance is going to be taken down automatically
saving necessary info into an excel sheet. At the end of the day, the excel sheet containing
attendance data concerning all individuals are mailed to the respective school.

Keywords- Smart Attendance System, NFC, RFID, OpenCV, Numpy

I. INTRODUCTION

This is a project concerning Facial Recognition-Based attendance System for academic institutes.
In this chapter, the matter and motivation, analysis objectives, project scope, project
contributions and also the background data of the project are mentioned thoroughly.

I.1 Problem Statement and Motivation


According to the previous attendance management system, the accuracy of the data
collected is the biggest issue. This is often because the attendance may not be recorded in
person by the original person, in another word, the attendance of a specific person may be
taken by a 3rd party without the realization of the establishment which violates the
accuracy of the information. For instance, student A is lazy to attend a specific class,
therefore student B helped him/her to sign for the attendance that in reality student A

2
didn’t attend the class, however the system overlooked this matter because of no social
control practiced. Supposing the institution establish a social control, it ought to waste
heaps of human resource and time that successively won't be sensible in the slightest
degree. Thus, all the recorded attendance within the previous system isn't reliable for
analysis usage. The second drawback of the previous system is wherever it is too time
consuming. Assuming the time taken for a student to sign his/her attendance on a 3-4
paged name list is just about one minute. In 1 hour, solely just about sixty students will
sign their group action that is clearly inefficient and time consuming. The third issue is
with the accessibility of these data by the legitimate involved party. For associate
example, most of the oldsters are very involved to trace, actual whereabouts to confirm
their child really attend the classes in college/school. But within the previous system,
there is no ways for the oldsters to access such data. Therefore, evolution is required to be
done to the previous system to enhance potency, knowledge accuracy and provides
accessibility to the data for those legitimate party.

I.2 Research Objectives


In order to resolve the drawbacks of the previous system expressed in 1.1, the prevailing
system can have to be compelled to evolve. The planned system can cut back the work
where attendance can now not involve any manual recording. The new system will cut
back the whole time required to do attendance recording. The new system will acquire
individual attendance by means of face recognition to secure knowledge accuracy of the
attendance.

The following are objectives of the project:


▪ To develop a conveyable smart attendance System that is handy and self-powered.
▪ To confirm the speed of the attendance recording method is quicker than the previous
system which may go as fast as some three second for every student.
▪ Have enough memory house to store the information.
▪Able to acknowledge the face of a personal accurately supported the face information.
▪ enable oldsters, to trace group action.
▪ Develop an information for the attendance management system.
▪ offer an easy interface for admins to access the attendance information and for non-
admins (parents) to check their child’s attendance by mailing the group action.

3
▪ enable new students or workers to store their faces within the database by employing a
graphical user interface.
▪ Able to show a sign to the user whether or not the face- recognition method is
flourishing or not.

I.3 Project Scope and Direction


The main intention of this project is to unravel the problems encountered within the
previous attending system whereas reproducing a different innovative sensible system
that may offer convenience to the establishment. During this project, an application are
going to be developed that is capable of recognizing the identity of every individuals
associated eventually record down the information into a information system. Excluding
that, associate surpass sheet is formed that shows the scholars attendance and is directly
armored to the revered college.

The followings are the project scopes:


▪ The targeted teams of the attendance monitoring system area unit the scholars and
employees of an academic institution.
▪ The information of the attendance management system can hold up to 2000 individual’s
information.
▪ The identity verification method will solely be done for one person at a time.
▪ An excel sheet is formed that contains the coed group action and is armored to the
revered college.
▪ The project must work below a Wi-Fi coverage space or below local area network
association, because the system ought to update the information of the group action
system perpetually.
▪ The device on that the application is running is powered up by power bank to enhance
the immovableness’ of the application.

I.4 Impact, Significance and contributions


Many attendance management systems that exist these days are lack of potency and
knowledge sharing.
Therefore, during this project, those limitations are going to be overcome and conjointly
more improved and square measure as follows:

4
 Students are going to be a lot of punctual on attending categories. This often be
because of the attendance of a student can solely be taken in person wherever any
absentees are going to be detected by the system. This will not solely train the
coed to be punctual yet as avoids any immoral ethics like linguistic
communication the attending for his or her friends.
 The establishment will save tons of resources as social control square measure
currently done by suggests that of technology instead of human oversight which
can waste tons of human resource for associate degree insignificant method.
 The appliance will treat any device at any location as long as there's Wi-Fi
coverage or local area network connection that makes the attending system to be
transportable to be placed at any supposed location. For an example, the device
may be placed at the doorway of the room to require the attending.
 It saves tons of value within the sense that it had eliminated the work utterly.
 The system is additionally time effective as a result of all calculations square
measure all automatic. In short, the project is developed to solve the present
problems within the previous attending system.

I.5 Historical development prior to the project


Back within the years, attendance management system in school/colleges was done by
manual coverage where the student’s group action were recorded by inserting a mark or
signature beside their name during a name list to indicate their presence during a explicit
category. Whereas the workers within the establishment can report their attendance
through the punched card machine that even have to be done manually. Later on, a
number of those attendance systems had evolved into exploitation smart cards to switch
signature markings wherever every students/staff are needed to report their attendance
employing a charge account credit embedded with a singular identification chip.

II. LITERATURE

2.1 Attendance System Using NFC Technology with Embedded Camera on Mobile Device
According to analysis journal “Attendance System victimization NFC (Near Field
Communication) Technology with Embedded Camera on Mobile Device” (Bhise, Khichi, Korde,

5
Lokare, 2015). The attendance system is improved by using NFC technology and mobile
application. Consistent with the analysis paper, each student is given a NFC tag that features a
distinctive ID throughout their enrollment into the school. Attendance of every class will then be
taken by touching or moving these tags on the lecturer mobile. The embedded camera on the
Phone can then capture the student’s face to send all the info to the school server to try to
validation and verification. The benefits of this technique is wherever the NFC is easy to use, and
therefore the speed of association establishment is extremely high. It so quickens the attendance
taking method heaps. However, this technique couldn’t mechanically spot the violation once the
NFC tag isn't in person labeled by the first owner. Apart from that, the convenience of the system
that uses the mobile because the NFC reader was truly associate degree inconvenience to the
lecturer. Imagine if the lecturer had forgotten to bring their mobile phones to figure, what
Would be the backup procedure for the group action to be recorded? What is more, most of the
lecturer won't seemingly to like their personal good phones to be employed in this manner
because of privacy matter. Hence, distinctive data about the scholar like biometry or face
recognition, that is guanine for a student ought to be employed in replacement of the NFC tag.
This may guarantee group action to be taken originally by the particular student.

2.2 Face Recognition Based Attendance Marking System


The second analysis journals “Face Recognition based attendance Marking System”
(SenthamilSelvi, Chitrakala, Antony Jenitha, 2014) relies on the identification of face
recognition to resolve the previous attendance attending problems. This technique uses camera to
capture the photographs of the worker to try to face detection and recognition. The captured
image is compared one by one with the face information to go looking for the worker’s Face
wherever attending are going to be marked once a result's found within the face information. The
most advantage of this system is wherever attending is marked on the server that is extremely
secure wherever nobody will mark the attendance of different. Moreover, during this planned
system, the face detection algorithmic rule is improved by victimization the skin classification
technique to extend the accuracy of the detection method. Though additional efforts are invested
within the accuracy of the face detection algorithmic rule, the system is nonetheless not
transportable. This technique needs a standalone laptop which is able to would like a continuing
power offer that produces it not transportable. This sort of system is only appropriate for marking
staff’s attending as they solely have to be compelled to report their presence once daily, unlike

6
Student’s that need to report their attending at each category on a selected day, it'll be
inconvenient if the attendance marking system isn't transportable. Thus, to resolve this issue, the
total attending management system can be developed on an transportable module in order that it
are often work simply by execution the python program.

2.3 Fingerprint Based Attendance System Using Microcontroller and Lab View
Microcontroller and LabView The third analysis journal “Fingerprint primarily based attendance
System using Microcontroller and LabView” (Kumar Yadav, Singh, Pujari, Mishra, 2015)
projected an answer of using fingerprint to mark the attendance. This technique is using two
microcontrollers to contend with the fingerprint recognition method. Firstly, the fingerprint
pattern are obtained through a fingerprint detector, then the knowledge are transmitted to
microcontroller one. Next microcontroller one can pass the knowledge to microcontroller two to
try and do the checking with the info that resides in it. When finding a student’s match, the main
point’s square measure sent to the computer through serial communication to be displayed. This
style is nice because it accelerates development whereas maintaining style flexibility and
simplifies testing. But again, this technique is hooked up to a computer that build it not
moveable. Other than that, the info data can't be accessible simply. Which means that, for the
fogeys whom square measure interested in knowing their child’s group action cannot simply or
handily access the knowledge. Therefore, to provide accessibility of the student’s data to the
legitimate involved party, the knowledge will be uploaded to an online server for straightforward
access. Whereas the authentication for the acceptable access will be enforced through a login
screen.

2.4 RFID based Student Attendance System


Authors of RFID have proposed an automated system presence model. The model focuses on
face recognition combined with Radio Frequency Identification (RFID) to identify authorized
students and count as they enter and exit to form a classroom. The system maintains an accurate
record of every registered student. The program also saves the data of every student who enrolled
for a particular course in the attendance log and provides the necessary information as needed.

7
II. SYSTEM DESIGN

The design a part of the attending watching system is split into 2 sections that incorporates the
Hardware and therefore the code half. Before the code the planning half is developed, the
hardware half is initially completed to produce a platform for the code to figure. Before the code
half we want to put in some libraries for effective operating of the applying. We tend to install
OpenCV and Numpy through Python.

3.1 Hardware Development


 Camera Module with good mega pixels.
 Power Supply Cable
 16Gb Micro SD Card Class 10

3.2 Libraries Development


3.2.1 OpenCV
Open CV (Open Source Computer Vision Library) is an open source computer vision software
library. Open CV was developed to serve the purpose of computer vision applications and to
stimulate the usage of machine perception in commercially viable products. The library contains
more than 2500 advanced algorithms including an extensive set of both typical and state-of-the-
art computer vision and machine learning algorithms. These algorithms can be employed for the
detection and recognition of faces, identification of objects, extraction of 3D models of objects,
production of 3D point clouds from stereo cameras, stitching images together for production of a
high resolution image of an entire scene, finding similar images from an image database,
removing red eyes from images taken using flash, following eye movements, recognition of
scenery and establishing markers to overlay it with intensified reality etc. It includes C++,
Python, Java and MATLAB interfaces and supports Windows, Linux, Android and Mac OS. A
full-featured CUDA and Open CL interfaces are being progressively developed. There are over
500 algorithms and about 10 times functions that form or back those algorithms. Open CV is
written inherently in Python and has a template interface that works harmoniously with STL
containers.

8
In the early days of OpenCV, the goals of the project were described as:
 Advance vision analysis by providing not only open however additionally optimized code
for basic vision infrastructure.
 No additional reinventing the wheel.
 Disseminate vision information by providing a standard infrastructure that developers
might rest on, so that
 Code would be a lot of pronto decipherable and transferable.
 Advance vision-based business applications by creating moveable, performance-
optimized code offered
 For free – with a license that failed to need code to be open or free itself.
 OpenCV's application areas include:
 2D and 3D feature toolkits
 Ego motion estimation
 Facial recognition system
 Gesture recognition
 Human–computer interaction (HCI)
 Mobile robotics
 Motion understanding
 Object identification
 Segmentation and recognition
 Stereopsis stereo vision: depth perception from 2 cameras
 Structure from motion (SFM)
 Motion tracking
 Augmented reality
 To support some of the above areas, OpenCV includes a statistical machine learning
library that contains:
 Boosting
 Decision tree learning
 Gradient boosting trees
 Expectation-maximization algorithm
 k-nearest neighbor algorithm
 Naive Bayes classifier
 Artificial neural networks

9
 Random forest
 SVM

Versions of OpenCV:
 Deep neural networks (DNN)The initial alpha version of OpenCV was free to the general
public at the IEEE Conference on laptop Vision and Pattern Recognition in 2000, and 5
betas were released between 2001 and 2005. The primary one.0 version was free in 2006.
A version 1.1 "pre-release" was free in October 2008.
 The second major unleash of the OpenCV was in October 2009. OpenCV 2 includes
major changes to the C++ interface, aiming at easier, additional type-safe patterns, new
functions, and higher implementations for existing ones in terms of performance
(especially on multi-core systems). Official releases currently occur each six months
associated development is currently done by an freelance Russian team supported by
industrial corporations.
 In August 2012, support for OpenCV was confiscated by a non-profit foundation
OpenCV.org, which maintains a developer and user website.
 On might 2016, Intel signed associate degree agreement to a mass, a number one
developer of OpenCV.

Programming Language:
There are bindings in Python, Java and MATLAB/OCTAVE. The API for these interfaces is
Found within the on-line documentation. Wrappers in different languages like C#, Perl, Ch,
Haskell, and Ruby have been developed to encourage adoption by a wider audience. Since
version 3.4, OpenCV.js is a JavaScript binding for chosen set of OpenCV functions for the net
platform.

Operating System Support:


All of the new developments and algorithms in OpenCV runs on the subsequent desktop
operational systems: Windows, Linux, macOS, FreeBSD, NetBSD, OpenBSD. OpenCV runs on
the subsequent mobile operating systems: android, iOS, Maemo, BlackBerry 10. The user will
get official releases from SourceForge or take the most recent sources from GitHub. OpenCV
uses CMake

10
3.2.2 NumPy
NumPy could be a package that defines a multi-dimensional array object and associated quick
mathematics functions that operate it. It additionally provides easy routines for algebra and fit
and complicated random-number generation. NumPy replaces each Numeric and Numarray.
The numpy namespace includes all names below the numpy.core and numpy.lib namespaces
additionally. Thus, import numpy also will import the names from numpy.core and numpy.lib.
This is often the suggested means to use numpy.

IV. SOFTWARE DEVELOPMENT

There are 2 major system flows within the software system development section as shown
below:
 The creation of the face information
 The method of attendance taking
Both processes mentioned on top of square measure essential as a result of they created up the
backbone of the attending management system. During this section, the method of each flows are
going to be shortly represented. Meanwhile, their full functionality, specific necessities and
additionally the methods/approach to accomplish such objectives are going to be discussed
within the future chapter.

11
4.1 The creation of the face database:

The face information is a very important step to be done before any further method will be
initiated. This is because the face information acts as a comparison issue throughout the
popularity method which is able to be mentioned in later section. Within the method on top of, a
csv file is formed to assist the method of image labelling as a result of there'll be more than one
portrait hold on for every student, thus, so as to cluster their portraits underneath the name of
identical person, labels are accustomed distinguish them. After that, those pictures are inserted
into a recognizer to try and do its training. Since the coaching method is incredibly time intense
because the face information grew larger, the coaching is simply done right once there's a batch
of recent addition of student’s portraits to confirm the coaching is completed as minimum as
attainable.

12
4.2 The process of attendance taking:

V. METHODOLOGY

Before the attendance management system can work, there are a collection of knowledge
required to be inputted into the system that basically, incorporates basic data that is their ID and
their faces. The first procedure of portrait acquisition may be done by using the Camera to
capture the faces of the individual. In this method the system can 1st observe the presence of a
face within the captured image, if there are not any face detected, the system can prompt the user
to capture their face once more till it meets sure variety of portraits which is able to be ten
needed portraits during this project for every student. The choice of storing solely ten portrait per
student is due to the thought of the restricted space for storing within the raspberry pi as a result
of the whole quantity of scholars in the university is taken into account significantly. Then, the
photographs can bear many pre-processing procedures to get a grayscale image and cropped

13
faces of equal sized pictures as a result of those are the stipulations of mistreatment the Eigen
Faces Recognizer. Each of the processes mentioned on top of may be delineate within the
diagram below.

Image Acquisition and Pre-processing procedures


After the photographs are being processed, they're hold on into a go into a hierarchy manner.
During this project, all the faces are hold on in a very hierarchy manner below the „database‟
folder. Once increasing through the database folder, there'll comprises several sub-folders that
each of them will represent an individual wherever a series of face portrait happiness to identical
individual are hold on in this explicit sub-folder. The subfolders that represent every individual
are named upon the ID no. of that individual that is exclusive for each single individual within
the establishment. The complete method of image retrieval, pre-processing, storing mechanism is
done by the script named create_database.py

14
Hierarchy manner of the face database:
After a fortunate retrieval of facial pictures into the individual folder, a CSV files created to
assist the next method of pumping the faces into the recognizer for the training method. The
creation of the CSV file can be done supported a script named create_csv.py. During this project,
the content of CSV file can seem like the following format:

Structure of the content in the csv file


After having enough pictures within the information, those pictures can then be inserted into a
training mechanism. There are usually three differing kinds of training mechanism provided in

15
OpenCV 3.4 that are EigenFaces, FisherFaces, and local Binary Patterns Histograms (LBPH).
The recognizer which will be centered in this project are the EigenFaces recognizer. The thought
behind EigenFaces is easy – it acknowledges a particular face by catching the utmost deviation
in a very face then turning those known variations into information to be compared once a
replacement face arrives. Within the training method, the csv file are scan to produce the path to
all or any of the pictures wherever those images and labels are loaded into an inventory variable.
Then, the list can be passed into the coaching perform wherever the coaching method can take a
measurable time to run. The larger the face information, the longer the time are required to coach
those pictures.

VI. FLOW CHART OF THE IMAGE ACQUISITION PROCESS

The development of the face information is a very important section before any facial
recognizing method will be disbursed. It acts as a library to match against with whenever the
system needed to spot someone. In the image retrieval method, the system can initial prompt for
associate input from the user to enter their ID number. The system can then validate the entered
input then check for duplication within the system. So as to proceed, the entered input should
contain solely twelve digits of variety. Aside from that, the ID inputted ought to be a non-
registered ID to make sure no duplication. After that, a directory is formed for every individual
wherever their portraits are stored inside it. It's an obligatory to store ten - thirty portraits per
person within the file. When the acquisition of image is completed, the pictures endure a pre-
processing before storing it into the several folder.

16
17
Flow Chart of the image retrieval process
The above flow diagram is barely the program flow for the image acquisition method that
describes the program flow for the script create_database.py. There are 2 additional python
scripts that accountable for the remaining execution which is able to be explained within the next
sub-section.

VII. FILES INCLUDED

There are in total five python scripts, one bash file, 1 csv file, one yml file and one folder
required within the face database creation part. Three of the python scripts are going to be
enclosed within the bash file for two reasons. Firstly, it is to provide convenience to the user
whenever they wished to register pictures for brand new students. By running those script in
bash, the user will avoid some ambiguous steps like standardization to the CV setting before the
script is being able to run from terminal as a result of the bash file can handle the setting
standardization. Secondly, the csv file creation and conjointly the coaching method are often
machine-driven once the photographs are value-added. This operate is crucial because it forces
the yml file to be up up to now before any recognition method is completed simply just in case
the user erroneously lost this step.

Python scripts: firstpage.py, dataset_capture.py, recognizer.py, training_dataset.py, mail.py


Bash file: prepare_gallery.sh (stored in /usr/local/bin/)
Yml file:trainer.yml
Folder name: data

18
Relationships between these files:

VIII. OVERVIEW

The planned system may be a package that will mark attending exploitation automatic face
recognition. In this project we tend to used OpenCV module integrated with Python which is
able to helps the establishment to form the attending process simple and economical. The system
includes of laptop, HD Video Camera and Wi-Fi module or Internet

Steps of Working:
- Initiate the firstpage.py python script.
- produce a DATASET of the scholar by getting into his ID range.
- Train the dataset, an yml file is made.
- An image of the category is taken, and therefore the RECOGNIZER python file is initiated.

19
- Attendance is taken by cropping the faces within the image and examination with the faces
within the information.
- If a face is matched, the responding name with present status is marked in An EXCEL file with
the present date and time.
- The stand out file will be armored by getting into the e-mail when initiating the MAIL python
script.

IX. RESULTS

20
21
CONCLUSION

Before the development of this project. There are several loopholes within the method of taking
attendance using the recent technique that caused several troubles to most of the establishments.
Therefore, the automatic face recognition feature embedded within the attendance monitoring
system can't solely guarantee attendance to be taken accurately and additionally eliminated the
issues within the previous system. By using technology to beat the defects cannot just save
resources however additionally reduces human intervention within the whole method by
handling all the difficult task to the machine. The sole value to the current answer is to possess
decent house in to store all the faces into the information storage. Fortuitously, there's such
existence of small SD which will compensate with the degree of the information. In this project,
the face information is with success engineered. Aside from that, the face recognizing system is
additionally operating
Well. At the end, the system not solely resolve troubles that exist within the recent model
however additionally give convenience to the user to access the knowledge collected by mailing
the attendance sheet to the revered college.

22
XI. REFERENCES

[1]. “Attendance System Using NFC Technology with Embedded Camera on Mobile Device”
(Bhise, Khichi, Korde, Lokare, 2015)
[2]. K.Senthamil Selvi, P.Chitrakala, A.Antony Jenitha, "Face Recognition Based Attendance
Marking System", IJCSMC, Vol. 3, Issue.
2, February 2014.
[3]. “Fingerprint Based Attendance System Using Microcontroller and LabView” (Kumar
Yadav, Singh, Pujari, Mishra, 2015)
[4]. “RFID based Student Attendance System” (Hussain, Dugar, Deka, Hannan, 2014)
[5]. OpenCvDocumentation -https://opencv.org
[6]. Numpy - https://numpy.org

23

You might also like