Professional Documents
Culture Documents
On
Anushka (20BCS5646)
BACHELOR OF ENGINEERING
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
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.
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.
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.
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