Artificial Intelligence Based Real-Time Attendance System Using Face Recognition
Artificial Intelligence Based Real-Time Attendance System Using Face Recognition
A PROJECT REPORT
Submitted by
HARIRAM S(191EC156)
GOWTHAM G K(191EC146)
GURURAJ R(191EC152)
MARCH 2023
BONAFIDE CERTIFICATE
SIGNATURE SIGNATURE
Dr C. POONGODI Dr C.RAJU
HEAD OF THE DEPARTMENT, SUPERVISOR,
Professor & Head, Assistant Professor,
Department of ECE, Department of ECE,
Bannari Amman Institute Of Bannari Amman Institute Of
Technology-638401. Technology-638401.
SIGNATURE
Dr C.RAJU
SUPERVISOR,
Assistant Professor,
Department of ECE,
Bannari Amman Institute Of
Technology-638401.
ACKNOWLEDGEMENT
We would like to thank our friends, faculty and non-teaching staff who
have directly and indirectly contributed to the success of this project.
HARIRAM S (191EC156)
GOWTHAM G K (191EC146 )
GURURAJ R (191EC152)
ABSTRACT
CHAPTE
TITL PAGE
R NO
E NO
ABSTRACT v
LIST OF FIGURES xi
1 INTRODUCTION 1
1.1 ADVANTAGES 2
1.2 APPLICATIONS 3
2 LITERATURE SURVEY 4
3 OBJECTIVES AND METHODOLOGY 8
3.1 OBJECTIVES 8
3.2 METHODOLOGY 8
3.2.1 Building Dataset 10
3.2.2 Training Dataset 10
3.2.3 Object Detection Model Testing 11
4 PLATFORMS 12
4.1 SOFTWARE REQUIREMENT 12
4.1.1 H/W System Configuration 12
4.1.2 S/W System Configuration 12
4.2 SOFTWARE ENVIRONMENT 12
4.2.1 Python Technology 12
4.2.2 Python Programing 12
6 EXERIMENTAL PROCEDURE 22
6.1 IMAGE PROCESSOR 22
6.2 IMAGE PREPROCESSING 23
6.3 IMAGE SEGMENTATION 23
6.4 FEATURE EXTRACTION 24
6.5 IMAGE ENHANCEMENT 24
6.6 CLASSIFICATION 24
6.7 API DOCUMENTATION 25
GENERATORS
6.7.1 USES 25
6.8 PANDAS 27
6.8.1 LIBRARY FEATURES 27
28
6.9 CSV READER
7 30
PROCESSOR
30
7.1 INTRODUCTION TO
PROCESSOR
30
7.2 GENERAL PURPOSE
PROCESSOR
7.3 MICROPROCESSOR 30
7.3.1 BASIC COMPONENTS 31
OF PROCESSOR
7.3.2 PRIMARY CPU 31
PROCESSOR OPERATIONS
7.4 TYPES OF PROCESSOR 31
7.4.1 SINGLE CORE 32
PROCESSOR
7.4.2 DUEL CORE 32
PROCESSOR 32
7.4.3 MULTI CORE
PROCESSOR 33
7.4.4 QUAD CORE 33
PROCESSOR
33
7.4.5 OCTA CORE
34
PROCESSOR
7.5 WEB CAM
34
7.5.1 VIDEO CALLING AND
VIDEO CONFRENCING 35
44
ANNEXURE 1 44
ANNEXURE 2
ANNEXURE 3 45
46
47
52
LIST OF FIGURES
FIGURE FIGURE NAME PAGE
NO. NO.
1 Methodology chart 9
2 Labelling and Roboflow 10
3 Flowchart of Dataset to Weight 10
Model
4 Flowchart of Input to Output 11
5 Overall Flowchart 11
6 A Repository Architecture of IDE 17
7 Workflow of a Source Code 19
8 Block Diagram of Fundamental 22
Sequence Involved In An Image
Processing System
9 Software Libraries 27
10 Python Panda Features 28
12 Webcam 33
13 CNN Architecture 39
CHAPTER 1
INTRODUCTION
More than 1000 photos from the user have been gathered. The four crucial
procedures of grayscale conversion, resizing, normalization, and augmentation are
used to preprocess the collected data. The processed data was used to create and
train the CNN architecture. The automated facial detection block stores and uses the
trained model. The created model aids in accurately identifying the faces that have
been trained The attendance will be noted if the face is recognized. Recognizing a
student count as marking him or her as present. To improve system effectiveness,
the procedure is performed several times, and the final findings are recorded in the
excel file. Due to its background operation and minimal to no involvement from
either professors or students, this automatic attendance system helps pupils preserve
their valuable study time.
1.1 ADVANTAGES
• The main advantage of this system is where attendance is marked on the server
which is highly secure where no one can mark the attendance of other.
• Time saving
• Ease in maintaining attendance.
• Reduced paper work.
• Automatically operated and accurate.
• Reliable and user friendly
1.2 APPLICATION
LITERATURE SURVEY
[2] K. Susheel Kumar, Shitala Prasad, Vijay Bhaskar Semwal, R C Tripathi entitled
“Real Time Face recognition using Ada-boost improved fast PCAS Algorithm”.
This work provides an automated method for human face identification in a big
home-made datasets of a person's face in a real-time backdrop setting. The task is
extremely challenging since real-time background removal from an image is still a
problem. In addition, there is a significant range in the size, position, and expression
of the human face. Most of this variation is collapsed by the suggested approach.
Ada-boost with cascade is used to detect human faces in real time, and a quick and
easy PCA and LDA are used to identify the faces found. In our example, the
matching face is then utilized to record attendance in the lab. This biometric system
is a real-time attendance system.
[3] Chengji Liu, Yufan Tao, Jiawei Liang, Kai Li1, Yihang Chen entitled “Object
Detection Based on YOLO Network” proposed that by implementing advanced
degrading techniques on training sets, such as noise, blurring, rotation, and
cropping of pictures, a generic object identification network was created. The
model's generalization and resilience were improved by using degraded training sets
during training. The experiment demonstrated that the model's resilience and
generalization capabilities for degraded pictures are both subpar for sets trained on
standard data. The model was then trained on damaged photos, which increased its
average precision. It was established that the generic degenerative model
outperformed the standard model in terms of average accuracy for deteriorated
photos.
[4] Rumin Zhang, Yifeng Yang entitled “An Algorithm for Obstacle Detection
based on YOLO and Light Field Camera'' displays the concept of The YOLO object
detection algorithm and the light field camera are combined to create a suggested
obstacle detection system for indoor environments. This algorithm will categorize
objects into groups and mark them in the picture. To train YOLO, the photographs
of the typical obstacles were tagged. The unimportant obstruction is eliminated
using the object filter. The usefulness of this obstacle identification algorithm is
illustrated using several scene types, such as pedestrians, chairs, books, and so on.
[6] Swarnendu Ghosh, Mohammed Shafi KP, Neeraj Mogal, Prabhu Kalyan Nayak,
Biswajeet Champaty entitled “Smart Attendance System”It is suggested that the
Android application be restricted to authorized staff in order to track student
attendance and communicate information for library records. The gadget is
extremely secure since only authorized personnel's fingerprints may be used to
activate it.
[7] Vassilios Tsakanikas and Tasos Dagiuklas proposed a paper on title "Video
surveillance systems-current status and future trends" .An effort is made to
document the current state of video surveillance systems in this survey. The
fundamental elements of a surveillance system are provided and carefully
examined. The presentation of algorithms for object detection, object tracking,
object recognition, and item re-identification. The most popular surveillance system
modalities are examined, with a focus on video in terms of available resolutions and
cutting-edge imaging techniques like High Dynamic Range video. Together with
the most popular methods for improving the image and video quality, the most
significant features and statistics are offered.
The most significant deep learning algorithms and the intelligent analytics they
employ are described. Just before examining the difficulties and potential future
directions of surveillance, augmented reality and the function it can play in a
surveillance system are reported.
[8] S. Aravindh, R. Athira, M. J. Jeevitha delivered the idea of automated
attendance through paper titled as "Automated Attendance Management and
Reporting System using Face Recognition ".Manually managing the system for
attendance is challenging. The many biometrics-based smart and automated
attendance systems are frequently used to manage attendance. One of them is face
recognition. This method frequently resolves the issue of proxies and fake
attendance. There were certain drawbacks to the old facial recognition-based
attendance system, such as sun intensity and head posture issues. Thus, a number of
methods, including the illumination invariant, the Viola and Jones algorithm, and
principle component analysis are utilized to overcome these problems. The two
basic processes in this system are face detection and face recognition. After this,
the discovered faces are often compared by cross-referencing with the student face
database. This clever technique will make it easier to keep track of students'
attendance and records. Taking the attendance manually in a classroom full of many
pupils is a laborious and time-consuming operation. As a result, we may put in
place a system that effectively marks pupils' attendance by identifying their faces.
[9] Swarnendu Ghosh, Mohammed Shafi KP, Neeraj Mogal, Prabhu Kalyan Nayak,
Biswajeet Champaty proposed the title of “Automated Attendance System”. For the
best possible use of teaching and learning time, the current study outlines the design
and development of a smart attendance system for students in schools or colleges.
The suggested gadget is a biometric attendance recorder that works with an Arduino
UNO and fingerprint sensor. Through the enrollment procedure, the gadget
recorded the fingerprint prints of all faculty members and students at an institute.
Students' registration fingerprints were compared to the enrolled database
throughout the attendance process. If there was a match, the student's name was
stored in that device and wirelessly communicated to an Android application
created in-lab using Bluetooth protocol service. Only approved staff members have
access to the Android app, which is used to share and track student attendance.The
device is very secure since only the authorised persons concerned may activate it
using their fingerprints (faculties). The gadget is affordable, reliable, transportable,
and user-friendly. The gadget has an advantage over the items already on the market
due to its portability and affordability. The technology shortens class periods,
increasing instructors' and students' important teaching and learning time and
offering them more opportunities to teach and learn, respectively.
CHAPTER 3
3.1 OBJECTIVES
3.2 METHODOLOGY
A JPG/img image collection of images is required to create the dataset, and each
photo is subsequently tagged or annotated using labeling software. The annotation's
output comes in the form of an XML file. For picture pre-processing, The XML
files in the datasets are then concatenated.
The dataset is read, and a class is created to serve as the basis for Yolov5's unique
detection model. The dataset is then trained using this file. When the training is
finished, pictures and videos may be used to test the training's data.
3.2.3 OBJECT DETECTION MODEL TESTING
Using images and videos, the testing step is represented in the above picture. For
testing, images or videos can be used as input. The built-in model is loaded to begin
the detection phase, which is followed by classification and prediction using
bounding boxes and confidence ratings. Prediction boxes, confidence values, and
object classes are shown as the results. Thorough System Testing is the fourth stage.
Comprehensive system testing is carried out by incorporating the three-part sub-
system to represent the comprehensive system testing phase in order to evaluate the
integrated sub-system.
The input begins with a face that the camera has photographed. The built-in model
will then be loaded and used by the detection process to do classification and
prediction utilizing bounding boxes and confidence scores. Prediction boxes,
confidence values, and object classes are shown as the results. The report database
will save the detection results as an object class (cls), and the report page will then
display the data from the report database. The report page is designed to show
information in the form of a number, user name, NPM, attendance date, and time.
CHAPTER 4
PLATFORMS
• processor - INTEL
• RAM - 4 GB (min)
• Hard Disk - 20 GB
YOLO is an algorithm that uses neural networks to provide real time object
detection. The concept of object detection in computer vision includes identifying
different things in digital photos or movies. YOLO is an algorithm that can find and
identify different items in images. On the other hand, the YOLO framework (You
Only Look Once) approaches object identification in a different way. It predicts the
bounding box coordinates and class probabilities for these boxes using the complete
picture in a single instance. The main benefit of adopting YOLO is its outstanding
speed; it can process 45 frames per second. Moreover, YOLO is aware of generic
object representation.
When you feed an image into a YOLO algorithm, it divides the picture into a
SxS grid and utilises it to determine if a given bounding box contains the object (or
portions of it). It then uses this knowledge to determine what class the object
belongs to. We must comprehend how the algorithm creates and specifies each
bounding box before we can go into depth and describe how the method works. The
YOLO algorithm predicts an outcome by using four components and extra value.
2.Width (bw)
3.Height (bh)
The final predicted value is confidence (pc). It displays the likelihood that an
object will be found inside the bounding box. The centre of the enclosing box is
represented by the (x,y) coordinates. As most bounding boxes won't typically
include an item, we must employ computer prediction. Non-max suppression is a
technique we may use to get rid of extra boxes that are unlikely to contain items and
those that share large regions with other boxes.
5.1.1 ADVANTAGES
As a result, object detection networks like R-CNN are slower than YOLO and
are more difficult to improve. YOLO is based on an algorithm that employs just one
neural network to perform all of the task's components, making it quicker (45
frames per second) and simpler to tune than earlier techniques.
5.4 PYTHON
Python is designed to be a language that is simple to read. Its
formatting is visually clean and frequently substitutes English keywords for
punctuation in other languages. It differs from many other languages in that blocks
are not delimited by curly brackets, and the use of semicolons to end statements is
optional. Compared to C or Pascal, it features fewer syntactic exceptions and
special circumstances.
Figure 6: A repository architecture for an IDE
Python gives developers a choice in their development style while aiming for a
simpler, less cluttered syntax and grammar. Python adheres to a "there should be
one and preferably only one obvious way to do it" design ethos as opposed to Perl's
"there is more than one way to do it" maxim. "To label anything as 'smart' is not
considered a praise in the Python culture," argues Alex Martelli, a Fellow of the
Python Software Foundation and author of several Python books.
The Python developers try to avoid over-optimizing code, and they reject changes to
non-critical areas of the Python reference implementation that might result in slight
speed improvements at the expense of readability. When speed is crucial, a Python
programmer can use PyPy, a just-in-time compiler, or relocate time-critical
functions to extension modules written in languages like C. There is also Python,
which converts a Python script into C and allows users to use the Python interpreter
directly from C-level APIs.
The developers of Python prioritise keeping the language enjoyable to use.
This is reflected in the name of the language, which pays homage to the British
comedy group Monty Python, as well as in the language's occasionally lighthearted
approach to tutorials and reference materials, as in the use of examples like spam
and eggs (from a well-known Monty Python sketch) rather than the more traditional
foo and bar.
Duck typing is used in Python, which has typed objects but untyped variable
names. Type constraints aren't checked at build time; instead, actions on an object
could fail because the object's type isn't right. Python is highly typed, despite its
dynamic typing; it forbids operations that are not clearly stated rather than trying
invisibly to make sense of them.
The market still favors technology for quick and efficient web development because
web development isn't showing any signs of slowing down. Together with
JavaScript and Ruby, Python also offers excellent support for creating web apps and
is very well-liked in the web development world thanks to its most well-known web
framework, Django.
It is used for the broadest spectrum of activities and applications for nearly all
possible industries. It ranges from simple automation tasks to gaming, web
development, and even complex enterprise systems. These are the areas where this
technology is still the king with no or little competence:
● Machine learning as it has a plethora of libraries implementing machine learning
algorithms.
● Web development as it provides back end for a website or an app.
● Cloud computing as Python is also known to be among one of the most popular
cloud-enabled languages even used by Google in numerous enterprise-level
software apps.
● Scripting.
● Desktop GUI applications.
CHAPTER 6
EXPERIMENTAL PROCEDURE
KNOWLEDGE RESULT
PREPROCESSING RECOGNITION &
BASE INTERPRETATION
The process begins with picture acquisition, which is done using an imaging
sensor and a digitizer to digitize the image, as shown in the diagram. The following
phase is preprocessing, when the image is enhanced and fed into the other processes
as an input. Preprocessing frequently involves improving, eliminating noise,
isolating regions, etc. Segmentation divides an image into its individual objects or
components. The result of segmentation is often raw pixel data, which either
includes the region's perimeter or the region's individual pixels. The process of
representation involves converting the raw pixel data into a format that can be used
by the computer for further processing. The task of description is to identify key
characteristics that distinguish one class of items from another. Based on the details
provided by an object's descriptors, recognition gives it a label. An ensemble of
identified things must be given meaning in order to be considered as interpreted.
The knowledge base includes the information on a certain problem domain. Each
processing module is guided in its functioning by the knowledge base, which also
regulates how the modules communicate with one another. Not all modules are
required to perform a given function. The application determines how the image
processing system is built. The image processor typically operates at a frame rate of
25 or less per second.
The input image may be of a different size, contain noise, and have a different
colour scheme after preprocessing. These settings must be changed in accordance
with the process' requirements. Picture regions with low signal levels, such as
shadow areas or underexposed photographs, are where image noise is most
noticeable. There are numerous sorts of noise, including film grains, salt and pepper
noise, and others. All of this noise is eliminated using filtering algorithms. Weiner
filter is one of the many filters used. The acquired image will be processed for
accurate output in the preprocessing module. An algorithm was used for pre-
processing. Pre-processing must be done for all photographs in order to improve the
final product.
6.6 CLASSIFICATION:
The relationship between the data and the classifications they are classified into
must be clearly understood in order to classify a piece of data into several classes or
categories. In order for a computer to accomplish this, it must be trained. Training is
essential for categorization success. Techniques for classification were initially
created. Features are characteristics of the data items that serve as the basis for
classifying them into different groups.
1). The picture classifier acts as a discriminant, favoring some classes over others.
2). highest for one class, lower for other classes in the discriminant value
(multiclass) 3). Positive discriminant value for one class and negative for another
(two class).
6.7.1 USES
With the aid of packages like TensorFlow, Keras, and Scikit-learn, Python is
frequently used in artificial intelligence projects. Python is frequently used for
natural language processing because it is a scripting language with a modular
architecture, easy syntax, and rich text processing facilities.
Python is a widely used operating system that comes as standard equipment. It may
be used from the command line and is included with the majority of Linux
distributions, AmigaOS 4, FreeBSD (as a package), NetBSD, OpenBSD (as a
package), and macOS (terminal). Python-based installers are used by several Linux
distributions; Red Hat Linux and Fedora utilise the Anaconda installer, while
Ubuntu uses the Ubiquity installer. Python is used by Gentoo Linux's Portage
package manager.
Python is widely used in the information security sector, notably for the creation of
exploits.
Python is a component of LibreOffice, which seeks to displace Java with it. With
Version 4.0 on the 7th of February 2013, its Python Scripting Provider has become
a key component.
6.8 PANDAS
Pandas is a software library for the Python programming language designed
for data manipulation and analysis in computer programming. It includes specific
data structures and procedures for working with time series and mathematical
tables. It is free software distributed under the BSD license's three clauses. The
word is derived from "panel data," a phrase used in econometrics to refer to data
sets that contain observations for the same persons throughout a range of time
periods.
The CSV (Comma Separated Values) file format is straightforward and used to
store tabular data in spreadsheets and databases. Tabular data (numbers and text) is
stored as plain text in a CSV file. The file's lines each contain a data record. One or
more fields, separated by commas, make up each record. The name of this file
format is derived from the fact that fields are separated by commas.
Python includes a module called csv that may be used to open and read CSV files.
The basic instructions needed to operate a specific computer are responded to and
processed by the processor, which is a chip or logical circuit. The fetching,
decoding, execution, and write-back of an instruction are the processor's primary
tasks. Any system that includes computers, laptops, smartphones, embedded
systems, etc. has a processor, which is also referred to as the system's brain. The
two components of the processors are the CU (Control Unit) and ALU (Arithmetic
Logic Unit). The control unit functions like a traffic cop, managing the command or
the operation of the instructions, while the arithmetic logic unit conducts all
mathematical operations such as additions, multiplications, subtractions, divisions,
etc. The input/output devices, memory, and storage devices that make up the other
components are likewise in communication with the processor.
7.3 MICROPROCESSOR
In embedded systems, the microprocessor is a representation of the general-
purpose processors. There are numerous types of microprocessors from various
manufacturers on the market. The microprocessor is a general-purpose processor
that includes a control unit, ALU, and a number of registers, including control
registers, status registers, and registers for scratchpads. There could be an on-chip
memory as well as ports, interrupt lines, and other lines for the memory and
interfaces for interacting with the outside world. Ports are frequently referred to as
programmable ports since we may programme them to operate as either inputs or
outputs. In the table below, general-purpose processors are listed.
⮚ ALU stands for arithmetic logic unit, which help out to execute all arithmetic
and logic operations.
⮚ FPU (Floating Point Unit) is also called the “Math coprocessor” that helps to
manipulate mathematically calculations.
⮚ Registers store all instructions and data, and it fires operands to ALU and save
the output of all operations.
⮚ Cache memory helps to save more time in travelling data from main memory.
Here, we will discuss about different types of CPU (Processors), which are
used in computers. If you know how many types of CPU (Processors) are there,
then short answer is 5 types of processor.
In Single Core CPU, FIFO (First Come First Serve) model is used, it means that
couple of operations goes to CPU for processing according to priority base, and left
operations get wait until first operation completed.
Two processors make up a dual core processor, and they are connected to one
another like a single integrated circuit (Integrated circuit). Each processor has its
own local cache and controller, enabling it to complete various challenging tasks
faster than a single core CPU.
Intel Core Duo, AMD X2, and the dual-core PowerPC G5 are a few examples of
dual core CPUs in use.
Quad core processor is high power CPU, in which four different processors
cores are combined into one processor. Every processor is capable to execute and
process all instructions own level without taking support to other left processor
cores. Quad core processors are able to execute massive instructions at a time
without getting waiting pools. Quad core CPU help to enhance the processing
power of computer system, but it performance depend on their using computing
components.
A webcam is a video camera that streams or sends its image live to or over a
network of computers. The computer can "capture" a video stream, which can then
be saved, viewed, or shared to other networks via the internet and email as an
attachment. The video feed can be saved, viewed, or further transferred to a remote
destination.
A webcam is typically connected through a USB connection or other similar cable,
or it may be integrated into computer hardware, such as laptops, unlike an IP
camera, which connects using Ethernet or Wi-Fi.
Security cameras can be made from webcams. There is software that enables PC-
connected cameras to listen for sound and detect movement, and record both when
they are found. These recordings can then be downloaded from the Internet, saved
to a PC, or sent via email. In one well-known instance, the owner of the computer
was able to provide authorities with a clear photograph of the burglar's face even
after the computer had been stolen because the burglar e-mailed pictures of himself
while the computer was being stolen. Webcam access without authorization might
cause serious privacy problems (see "Privacy" section below).
Both static images and video can be captured using webcams. For this, a variety of
widely used software programmes can be used, such as Pic Master (for Windows
operating systems), Photo Booth (Mac), or Cheese (with Unix systems). See out
Comparison of webcam software for a more comprehensive list.
A select few particular webcam models with very-low-light capability are used
frequently by astronomers and astro photographers to capture images of the night
sky. These cameras often have manual focus and a somewhat older CCD array
rather than a CMOS array. The cameras' lenses are taken off, and the cameras are
then mounted on telescopes to capture still, moving, or both types of media. In more
recent methods, movies of extremely faint objects are captured for a few seconds,
and then all of the video's frames are "stacked" together to create a still image with
decent contrast.
7.6 OPENCV
7.7 YOLO
In the past, object detection tasks were completed in a pipeline of multi-step series
using techniques like Region-Convolution Neural Networks (R-CNN), including
fast R-CNN. R-CNN trains each component separately while concentrating on a
particular area of the image.
This procedure takes a long time because the R-CNN must categorise 2000 regions
every image (47 seconds per individual test image). As a result, real-time
implementation is not possible. Furthermore, R-CNN employs a fixed selection
method, meaning no learning process takes place at this point and the network may
produce a subpar area recommendation.
As a result, object detection networks like r-cnn are slower than yolo and are more
difficult to improve. Yolo is based on an algorithm that uses just one neural network
to run all of the task's components, making it faster (45 frames per second) and
simpler to optimise than earlier techniques.
In a yolo network, there are three essential components. The algorithm, sometimes
referred to as the predictions vector, comes first. The network, next. The loss works,
thirdly.
This research work describes the image classification using deep neural
network combined with HOG feature extraction with K-means segmentation
algorithm and classifies through SVM classifier for more accuracy. The following
advantage of proposed system
1) The proposed CNN method reduce the number of preprocessing steps
2) Extra shape feature extracted from HOG algorithm for provide the better
accuracy
3) SVM classifier reduced the complexity of work and improved the robustness of
system
CHAPTER 8
RESULTS
8.4 OUTPUT
Fig 17 Result
CHAPTER 9
9.1 CONCLUSION
The previous (manual) method's shortcomings are intended to be lessened by the
automated attendance system. The application of image processing techniques in the
classroom is demonstrated through this attendance system. A wonderful example of
recording student attendance in a classroom is the suggested automated attendance
system using face recognition. Also, this system aids in reducing the likelihood of
proxies and phoney attendance. There are many methods that use biometrics that are
available in the modern world. Yet, due to its great accuracy and minimal need for
human participation, facial recognition emerges as a potential solution. The system's
goal is to offer a high level of security. This technique can enhance an institution's
reputation in addition to simply assisting with the attendance system.
9.2 REFERENCES
Role in the project: Designing UI using Angular JS for creation of login page,
signup page and for all the dashboard visualizations.
Role in the project: data collection , data organization , feature extraction and output
design execution.