SlideShare a Scribd company logo
1 of 76
Download to read offline
THE MAHARAJA SAYAJIRAO UNIVERSITY OF BARODA
FACULTY OF SCIENCE
A PROJECT REPORT
on
Asistencia
for
Maharaja Sayajirao University of Baroda
Submitted by
Naomi Kulkarni
Seat No: 622058
In fulfillment for the award of the degree
of
BACHELOR OF COMPUTER APPLICATIONS
in
The Department of Computer Applications
May, 2018
Guide by:
Mr. Kshitij Tripathi
Team members:
Shreya Dandavate-622021
Amey Mohite-622054
Jigar Patel-622065
Shivani Sharma -622087
Abstract
This research project involves discovering how a Face Recognition based on
artificial neural network related models work under different circumstances and
addressing the issues which occurred during the whole experiment. This has been
done by examining situations such as training and testing on a small self-
accumulated database, clutter, variations in background, noise, occlusion,
computing requirements, etc. In order to test all we assembled a database of
approximately 3000 images of 100 images per person.
The anticipated outcome of this project was the identification of conditions
that affect the recognition of faces. This research has been successful in providing
valuable findings that may be useful in treating these conditions for the purpose of
improving the technology.
Acknowledgement
We take this opportunity to express our gratitude to the people who have
been instrumental in the successful completion of this project. We would like to
thank, Dr. Apurva Shah, for keeping faith in us and giving us the opportunity to
learn and build the system Asistencia.
We would also like to show our greatest appreciation to Mr. Kshitij Tripathi
and Mr. Vishwas Rawal for their tremendous support and help. We would like to
thank Dr. Bharti Trivedi for introducing us to various concepts of Artificial
Intelligence. We are grateful to them for their timely feedback which helped us
track and schedule the process effectively.
We would also like to extend our heartfelt gratitude to Prof. Rakesh S
Srivastava, Head of Department and all the Faculty members at The Department of
Computer Applications, The Maharaja Sayajirao University of Vadodara, for their
constant encouragement and for providing and outstanding academic environment,
also for providing adequate facilities.
A special thanks to Srikumar Sastry for sharing his invaluable knowledge and
for helping us out in our hard times.
Index
1.0 Introduction..........................................................................................................................................1
1.1 Background introduction................................................................................................................ 1
1.2 Current Systems..............................................................................................................................1
1.3 Drawbacks in current systems........................................................................................................ 1
1.4 Using Biometrics........................................................................................................................... 2
1.5 Motivation.......................................................................................................................................2
2.0 Review of the Literature......................................................................................................................3
3.0 Proposed Solution................................................................................................................................ 5
3.1 Proposed System Components....................................................................................................... 5
3.2 Proposed System Outcome.............................................................................................................6
3.3 What contribution would the project make? ...................................................................................6
4.0 Methodology........................................................................................................................................ 7
5.0 Project Charter.....................................................................................................................................9
5.1 Project definition.............................................................................................................................9
5.2 Project scope.................................................................................................................................. 9
6.0 Project Plan.........................................................................................................................................10
6.1 Objectives......................................................................................................................................10
6.2 Goals............................................................................................................................................ 10
6.3 Strategies.......................................................................................................................................11
6.4 Work Division (w.r.t time)............................................................................................................14
6.5 Work Division (w.r.t team members)........................................................................................... 16
6.6 Tools and Technologies................................................................................................................ 17
7.0 System Requirements Specification..................................................................................................20
8.0 System Analysis..................................................................................................................................23
8.1 System Flow..................................................................................................................................23
8.2 System Description...................................................................................................................... 25
8.5 Module Specification......................................................................................................................... 25
8.5.1 Face Detection...................................................................................................................25
8.5.2 Face Recognition...............................................................................................................28
9.0 Database Design................................................................................................................................. 35
10.0 Data Flow Diagrams........................................................................................................................ 35
11.0 System Screenshots and Explanation.............................................................................................39
12.0 Testing...............................................................................................................................................48
12.1 Testing Plan.................................................................................................................................48
12.2 Testing Methods..........................................................................................................................48
12.3 Test Cases................................................................................................................................... 49
12.4 Testing Reports........................................................................................................................... 55
13.0 Conclusion.........................................................................................................................................60
14.0 Features of the System.....................................................................................................................62
15.0 Security Features..............................................................................................................................62
16.0 Benefits..............................................................................................................................................63
17.0 Limitations........................................................................................................................................63
18.0 Future Enhancements......................................................................................................................63
19.0 Experience and Learning................................................................................................................ 64
20.0 References and Bibliography.......................................................................................................... 65
List of Figures
Figure 1 Student Registration Flow......................................................................................................................................................23
Figure 2 Feature Extraction.......................................................................................................................................24
Figure 3 Generating Attendance Flow...................................................................................................................... 24
Figure 4 Types Of Haar Features.............................................................................................................................. 26
Figure 5 Haar Features Applied On An image..........................................................................................................26
Figure 6 DFD : Context Level...................................................................................................................................35
Figure 7 DFD : Level 0............................................................................................................................................. 36
Figure 8 DFD : Level 1(1.0 Student Registration)....................................................................................................37
Figure 9 DFD : Level 1(2.0 Image Acquisition).......................................................................................................37
Figure 10 DFD : Level 1(3.0 Face Detection)...........................................................................................................37
Figure 11 DFD : Level 1(4.0 Face Recognition).......................................................................................................38
Figure 12 System Interface........................................................................................................................................39
Figure 13 Sign Up Page.............................................................................................................................................39
Figure 14 Admin Information in signing up page.....................................................................................................40
Figure 15 Login Page Interface.................................................................................................................................40
Figure 16 Unsuccessful Login...................................................................................................................................41
Figure 17 Successful Login.......................................................................................................................................41
Figure 18 Admin Logged in Page............................................................................................................................. 42
Figure 19 Registration form...................................................................................................................................... 42
Figure 20 Registration form filled.............................................................................................................................43
Figure 21 Face Registration ..................................................................................................................................... 43
Figure 22 Storage of registered images ....................................................................................................................44
Figure 23 Registered student info in Excel sheet......................................................................................................44
Figure 24 Encoding of registered images..................................................................................................................45
Figure 25 Training of registered images................................................................................................................... 45
Figure 26 Attendance time........................................................................................................................................ 46
Figure 27 Unknown face identification.....................................................................................................................46
Figure 28 Generation of Attendance in Excel sheet..................................................................................................47
Figure 29 Email notification to the absentee..............................................................................................47
Notation
External Entity
External entities are objects outside the system, with which the system communicates. External
entities are resources and destinations of the system's inputs and outputs
Data Flow
Dataflow is pipelined through which packets of information flow. Label the arrows with the
name of the data that moves through it.
Process
Transform of incoming data flow(s) to outgoing flow(s).
Data Store
Data stores are repositories of data in the system. They are sometimes also referred to as files,
queue or as sophisticated as a relational database.
Naming and Convention
ANN - Artificial neural networks (ANNs) are biologically inspired computer programs designed
to simulate the way in which the human brain processes information. ANNs gather their
knowledge by detecting the patterns and relationships in data and learn (or are trained) through
experience.
Biometric - Biometrics is the measurement and statistical analysis of people's unique physical
and behavioural characteristics. The technology is mainly used for identification and access
control, or for identifying individuals who are under surveillance.
RFID - RFID (radio frequency identification) is a form of wireless communication that
incorporates the use of electromagnetic or electrostatic coupling in the radio frequency portion
of the electromagnetic spectrum to uniquely identify an object, animal or person.
Machine learning - Machine learning is a method of data analysis that automates analytical
model building. It is a branch of artificial intelligence based on the idea that systems can learn
from data, identify patterns and make decisions with minimal human intervention.
Facial landmarks - Facial landmark detection is a fundamental step for many tasks in computer
vision such as expression recognition and face alignment.
ROI- A region of interest (ROI) is a subset of an image or a dataset identified for a particular
purpose.
Classifiers - refers to the mathematical function, implemented by a classification algorithm, that
maps input data to a category.
Haar cascades - A Haar Cascade is basically a classifier which is used to detect the object for
which it has been trained for, from the source. The Haar Cascade is by superimposing the
positive image over a set of negative images.
HELEN dataset- Landmark detector was originally trained on HELEN dataset.
CNN-convolutional neural network (CNN, or ConvNet) is a class of deep, feed-forward
artificial neural networks that has successfully been applied to analysing visual imagery. CNNs
use a variation of multilayer perceptron’s designed to require minimal pre-processing.
Neuron-artificial- neuron is a mathematical function conceived as a model of biological
neurons, a neural network.
Activation function - activation function of a node defines the output of that node given an
input or set of inputs. A standard computer chip circuit can be seen as a digital network of
activation functions that can be "ON" (1) or "OFF" (0), depending on input.
Softmax- often used in the final layer of a neural network-based classifier. Such networks are
commonly trained under a log loss (or cross-entropy) regime, giving a non-linear variant of
multinomial logistic regression.
Pooling layer - function is to progressively reduce the spatial size of the representation to
reduce the amount of parameters and computation in the network, and hence to also control
overfitting.
Resnet-A pre-trained model has been previously trained on a dataset and contains the weights
and biases that represent the features of whichever dataset it was trained on.
AT&T database - The database consists of images of 40 distinct subjects, each in 10 different
facial positions and expressions.
Department of Computer Application , The M.S. University , Vadodara 1
1.0 Introduction
1.1 Background Introduction
The current method that institutions uses is the faculty passes an attendance sheet or make
roll calls and mark the attendance of the students, which sometimes disturbs the discipline of the
class and this sheet further goes to the admin department, which is then updated to an excel
sheet. This process is quite hectic and time-consuming. Also, for professors or employees at
institutes or organizations, the biometric system serves one at a time. So, why not shift to an
automated attendance system which works on face recognition technique? Be it a classroom or
entry gates it will mark the attendance of the students, professors, employees, etc.
1.2 Current Systems
At present, attendance, marking involves manual attendance on the paper sheet by
professors and teachers, but it is a very time-consuming process and chances of proxy are also
an issue that arises in such type of attendance marking. Also, there is an attendance marking
system such as RFID (Radio Frequency Identification), Biometrics etc. But these systems are
currently not that popular in schools and classrooms for students.
1.3 Drawbacks in existing system
Manual systems put pressure on people to be correct in all details of their work at all
times, the problem being that people aren’t perfect, however, each of us wishes we were.
¬ These attendance systems are manual.
¬ There is always a chance of forgery (one person signing the presence of the other
one) Since these are manually so there is a great risk of error.
¬ More manpower is required.
¬ Calculations related to attendance are done manually (total classes attended in a
month) which is prone to error.
¬ It is difficult to maintain a database or register in manual systems.
¬ It is difficult to search for a particular data from this system (especially if that data,
we are asking for, is of very long ago).
Department of Computer Application , The M.S. University , Vadodara 2
¬ The ability to compute the attendance percentage becomes a major task as manual
computation produces errors, and also wastes a lot of time.
¬ This method could easily allow for impersonation and the attendance sheet could
be stolen or lost.
1.4 Using Biometrics
Biometric Identification Systems are widely used for unique identification of humans mainly for
verification and identification. Biometrics is used as a form of identity access management and
access control. So the use of biometrics in the student attendance management system is a secure
approach. There are many types of biometric systems like fingerprint recognition, face
recognition, voice recognition, iris recognition, palm recognition etc. In this project, we have
used face recognition system.
1.5 Motivation
The main motivation for this project was the slow and inefficient traditional manual attendance
system. So, why not make it automated fast and much efficiently. Also, such face detection
techniques are in use by the department of a criminal investigation where the usage of CCTV
footages and detecting the faces from the crime scene and comparing them with criminal
database to recognize them. It is also becoming as a feature of daily life in China, where
authorities are using it on the streets, in subway stations, and at airports.
Department of Computer Application , The M.S. University , Vadodara 3
2.0 Review of the Literature
Face recognition is such a challenging yet interesting problem that it has attracted researchers
from different backgrounds. It is due to this fact that the literature on face recognition is vast and
diverse. The earliest work on face recognition can be traced back at least to the 1950s
additionally; the research on automatic machine recognition of faces really started in the 1970s,
but a fully automatic face recognition system based on a neural network was reported back in
1997.
The aim of all the researches was to make face recognition as automated and accurate as
possible through various types of inputs such as static images, video clips, etc. so as to increase
its applications in real world. Computational methods of face recognition need to address
numerous challenges. These type of difficulties appear because faces are need to be represented
in such a way that best utilizes the available face information to define a specific face from all
the other faces in the database. Also, extracting such detailed facial features can be used in
slandering the search and enhancing recognition.
The problem of automatic face recognition involves three key steps:
(1) Face Detection
(2) Feature extraction
(3) Recognition
Sometimes, the steps are not totally separated. For example, the facial features used for
face recognition are often used in face detection. Face detection and feature extraction can be
achieved simultaneously. Other than that accuracy depends on various factors such as, the nature
of the application, size of the training and testing database, clutter and variability of the
background, noise, occlusion, and computing requirements, etc. and a fully automatic face
recognition system needs to perform all the three steps accurately.
Department of Computer Application , The M.S. University , Vadodara 4
It’s evident that after more than 30 years of research and development, basic 2D face
recognition and other image processing applications have reached a mature level and many
commercial systems are available for various applications. Some of the major reasons for this
success are faster computers, algorithmic improvements, access to large amounts of research
tools and datasets, advances in machine learning and perception, the increase in affordable
neural networks and now the data-hungry deep learning methods; which have started to
dominate accuracy benchmarks around 2011. Various surveys also present factual data
indicating that error rates in image processing tasks have fallen significantly since 2012 and are
expected to for fall further in near future.
Department of Computer Application , The M.S. University , Vadodara 5
3.0 Proposed Solution
To overcome the problems in the existing attendance system we shall develop a
Biometric based attendance system over simple attendance system. There are many solutions to
automate the attendance management system like thumb based system, simple computerized
attendance system, Iris scanner, but all these systems have limitations overwork and security
point of view. Our proposed system shall be a “Face Recognition Attendance System” which
uses the basic idea of image processing which is used in many security applications like banks,
airports, Intelligence agencies etc.
3.1 Proposed System Components
Following are the main components of the proposed system
1. Student Registration
2. Face Detection
3. Face Recognition
- Feature Extraction
- Feature Classification
4. Attendance management system.
Attendance management will handle:
- Automated Attendance marking
- Manual Attendance marking
- Attendance details of users.
- Email notification for absentees.
Department of Computer Application , The M.S. University , Vadodara 6
3.2 Proposed System Outcome
¬ It will mark attendance of the students via face Id.
¬ It will detect the faces via wireless camera (IP camera)/webcam and then recognize the
faces.
¬ After recognition, it will mark the attendance of the recognized student and update the
attendance record.
¬ The admin will be able to print these record details afterward.
¬ The students will also receive an email on low attendance rate.
3.3 What contribution would the project make?
Face recognition is the most natural biological features recognition technology, according
to the cognitive rule of human beings; its algorithm is ten times more complex than a fingerprint
algorithm. The system will do its work even if one is not in touch with it or forget about it.
Face recognition is featured by the following advantages compared to fingerprint:
1. Accurate and Fast Identification
Industrial Leading Facial Recognition Algorithm, matches more data than a fingerprint,
FAR<0.0001%.
2. High Usability and Security
Failure to enrol and acquire rate is less than 0.0001%, fingerprint technology will have problems
for enrolment with cold, wet, desquamation, elder, and around 5% people cannot get enrolled
with a photo which is captured by the camera, there is no evidence with fingerprint technology
to track the incident.
3. User friendly design
Contactless authentication for ultimate hygiene.
Department of Computer Application , The M.S. University , Vadodara 7
4.0 Methodology
Research Methodology
What Is Research?
Research is a logical and systematic search for new and useful information on a particular
topic. It is an investigation of finding solutions or problems of scientific and social platforms
through objective and systematic analysis. The information might be collected from different
sources like experiences, books, journals, nature, etc.
A research can lead to new contributions to the existing knowledge. Research is done
with the help of study, experiment, observation, analysis, comparison and reasoning. Research is
in fact ubiquitous. For example, we know that cigarette smoking is injurious to health; heroine is
addictive; cow dung is a useful source of biogas, etc. We became aware of all these information
only through research. More precisely, it seeks predictions of events, explanations, relationships
and theories for them.
Research Methods and Research Methodology
Research methods:
Refers to various procedures and schemes researches use in performing research operations.
Research methodology
It is a systematic way to solve a problem. It is a science of studying how research is to be
carried out. Essentially, the procedures by which researchers go about their work of describing,
explaining and predicting phenomena are called research methodology. It is also defined as the
study of methods by which knowledge is gained. Its aim is to give the work plan of research.
Department of Computer Application , The M.S. University , Vadodara 8
What are the Objectives of Research?
The prime objectives of research are:
1. To discover, verify and test new and important facts
2. To analyse an event or process or phenomenon to identify the cause and effect relationship
3. To develop new scientific tools, concepts and theories to understand scientific and non-
scientific problems
4. To find solutions to scientific, non-scientific and social problems and
Various Stages of a Research
A general set of sequential components of research is the following:
¬ Selection of topic
¬ Definition of problem
¬ Literature survey and reference collection
¬ Assessment of current status of the topic chosen
¬ 7. Actual investigation
¬ 8. Data analysis
¬ 9. Interpretation of result
¬ 10. Report
Department of Computer Application , The M.S. University , Vadodara 9
5.0 Project Charter
5.1 Project Definition
Asistencia is face recognition, attendance biometric system which enrols the unique and
permanent facial fine points of people and records them in the database as stencils. Once the
enrolment process is complete, a look at the camera is required to verify the identity and the face
recognition attendance system automatically marks the attendance.
The face recognition, attendance system is an accurate technology for managing
attendance as it hardly gives errors in proper environment with good quality of dataset.
5.2 Project Scope
¬ Provides facility for the automated attendance of students.
¬ Uses live face recognition to recognize each individual and mark their attendance
automatically.
¬ Utilizes video and image processing to provide inputs to the system.
¬ Facility of marking manual attendance.
¬ Notification via email if there is a lack of attendance.
Department of Computer Application , The M.S. University , Vadodara 10
6.0 Project Plan
6.1 Objectives
- Detection of unique face image amidst the other natural component such as walls and other
backgrounds.
- Detection of faces amongst other face characters such as beard, spectacles etc.
- Extraction of unique characteristic features of a face useful in face recognition.
- Effective recognition of unique faces in a class (individual recognition).
- Automated update in the attendance sheet without human intervention.
- To keep the student updated with their attendance ratio.
6.2 Goals
- To help the lecturers, improve and organize the process of tracking and managing student
attendance.
- Provides a valuable attentive service for both teachers and students.
- Reduce manual process errors by providing automated and a reliable attendance system.
- Increase privacy and security which, student cannot present him or his friend while they are not.
- Produce monthly reports for lecturers.
- Flexibility, lectures capability of editing attendance records.
-Reduce time loss as time is a very valuable resource.
Department of Computer Application , The M.S. University , Vadodara 11
6.3 Strategies
1. RecruitedtheRightResources:
Recruited talent with the right skills and relevant experience as it is vital to ensure the
project’s success. We allocated the right work to the appropriate person. Similarly,
invested in tools that enhances efficiency and increases the team’s productivity. The latest
PCs, appropriate updated hardware, development and testing software and platforms, as
well as automated tools has aided team into putting their expertise to the right use and
ensure a robust product.
2. SelectedtheRightDevelopmentProcess:
The development life-cycle depends heavily on the process adopted. The research
methodology, waterfall model, agile methodology, iterative spiral approach are all proven
ways of achieving success. Selected the one that suits our project was of utmost
importance. The actual adherence to and the application of the selected process is what
played out in the success of the project. Made a small prototype to study feasibility and
explored a new technology.
3. MadeSoundEstimations:
Many projects fail or overshoot deadlines due to poor estimations. Made sound planning
on estimates like schedule, budget, resources and efforts. It proved out to be the best
estimation techniques.
4. DefinedSmallerMilestones:
Bigger projects and major milestones was complemented with mini-milestones as it offers
better tractability, improved-control, and better risk mitigation. Team members sat side by
side to discuss and align these mini-milestones with the bigger milestones to meet the
overall schedule and reduce inter-dependency delays.
5. DefinedRequirements:
Effective requirement gathered, formed the basis of aligning the finished product with the
business objectives. Defined primary, derived and implicit requirements, both functional
and non-functional. Functionality was captured via the data-flow scenarios. Performance,
fault tolerance, system, design and architectural requirements was well-addressed.
Department of Computer Application , The M.S. University , Vadodara 12
6. DefinedSystemArchitecture:
Ensured that the suitable architecture is selected, keeping in mind the requirements as well
as the limitations and constraints, if any. Best practices such as identifying the threats and
anti-patterns in the system proved out to be very helpful.
7. OptimizedDesign:
Design turns out to be modular and optimal. Balancing and distributing functionality over
modules can make or break a project. Object oriented approach is one such technique that
ensured modularity. Ensured that the selected approach is applied well so as to achieve
“maximum cohesion, minimal coupling”. Code re usability is often an under-utilized
aspect in design, as it was leveraged well, it saved a lot of effort and reduced costs in the
long run.
8. EffectiveCodeImplementation:
Used smaller modules that are coded, self-tested, unit tested and continuously integrated.
Automating build tools and automated running of regression test suited for each included
functionality, ensured that existing functionality is not broken.
9. RigorousTestingandValidation:
Test planning, test set creation and testing are very important to validate the developed
functionality. In fact, test planning was independent of coding and was done in parallel to
the coding stage. Equally important are test reporting, effective defect reporting, defect
tracking and defect resolution. Use of automated tools as well as well-established
processes for these ensured that bugs were caught at the earliest possible stage and
resolved cost effectively. Unit testing, integration testing, functionality testing, system
testing and performance testing are some of the levels of testing which was performed at
its time. Each level required its own expertise, planning and execution.
10. CompleteDocumentation:
As important as the actual software itself, are the documents that support it –project plan,
requirement specifications, test plans, test reports, status reports and user documentation.
Many a time, these documents are a part of the deliverables specified by the customer or
stakeholders as well. These documents help to maintain understanding of the software,
Department of Computer Application , The M.S. University , Vadodara 13
ensure traceability, and remove dependency upon the core development team. They can be
used as a reference in future by someone else, who might work on or use the software.
11. PlanReviews:
Reviews are found to be as effective and, in fact, much cheaper in catching defects than
testing. Reviews of all deliverables, code and documents was done. Peer reviews as well as
expert reviews were very useful.
12. EffectiveProjectManagement:
Effective project management and leadership leaded to accountability and support of the
team. The project team members facilitated effective planning, tracking, budgeting for the
project and also ensured that appropriate resources are made available to all members.
Risk management and process adherence was achieved through good project management.
13. TrackEfforts:
Track man-hours of every individual within the team which mapped to the estimated and
planned hours and then used for fine-tuning and better risk management. The mini-
milestone planning along with effort tracking provided good feedback and status track for
current as well as future projects.
14. ChangeisInevitable:
It is almost certain that requirements may change while the project is in development or is
deployed. This could be due to a change in user/customer’s expectation, change in
business needs or simply failing to predict a problem at the right time. Instead of resisting
the change, we allowed for a control mechanism to accommodate the necessary changes
without impacting the existing functionality adversely. Having a CCB (Change Control
Board) was one such successful method to accept or reject changes and facilitate the
smooth inclusion of the change into the schedule and plan.
Department of Computer Application , The M.S. University , Vadodara 14
6.4 Work Division (w.r.t time)
Sr
No.
Task achieved w.r.t Time Time Taken
1. Comparison : Matlab vs. Python 26/01/18 – 27/01/18
2. Python Learning 27/01/18 – 30/01/18
3. Comparison : Python vs. Anaconda 01/02/18 – 02/02/18
4. Python IDE + Python Installation 04/02/18 – 08/02/18
5. Library identification for Face Detection 08/02/18 – 09/02/18
6. Comparison : Compatibility of Pycharm – Python 12/02/18 – 14/02/18
7. Face Detection ( OpenCV Haar Cascades vs. Viola Jones) 14/02/18 – 17/02/18
8. Static image Face Detection using OpenCV 20/02/18 – 21/02/18
9. Real-Time Face Detection with Web Camera
( gray-scaled face images )
(a) Normal Screen
(b) Gray-Scaled Screen
22/02/18 – 26/02/18
10. Real-Time Face Detection with IP Camera ( gray-scaled face images ) 27/02/18 – 28/02/18
11. Database Storage
(a) MySQL
(b) SQLite
03/03/18 –
08/03/2018
12. Comparison : Face Dataset concepts
(a) AR Face Database
(b) AT & T Face Database
(c) BioID Face Database
(d) Caltech Face Database
(e) CAS-PEAL Face Database
(f) CMU Multi-PIE Face Database
(g) CVRL Biometrics Face Database
(h) FaceScrub Database
(i) Indian Movie Face Database
(j) JAFFE Database
(k) Labeled Faces in the Wild Database
(l) PUT Face Database
12/03/18 – 14/03/18
13. Multiclass database face storage into secondary memory 14/03/18 – 15/03/18
14. Learning : Neural Network , Tensorflow , Theano , TFLearn , Keras 15/03/18 – 17/03/18
15. Issue Solved : Libraries Compatibility with
(a) Pycharm versions
(b) Python versions
17/03/18 – 19/03/18
16. Formation of Neural Network ( creating neurons for layers ) 19/03/18 – 20/03/18
Department of Computer Application , The M.S. University , Vadodara 15
17. Learning : Neurons Activation Function
(a) Binary Step Function
(b) Linear Function
(c) Sigmoid/ Logistic Function
(d) Tanh – Hyperbolic Tangent Function
(e) ReLu – Rectified Linear Units Function
(f) Leaky ReLu Function
(g) Maxout Function
(h) SoftMax Function
20/03/18 – 21/03/18
18. Comparison : ANN vs. CNN 21/03/18 – 21/03/18
19. Comparison : CNN vs. Capsule Networks 21/03/18 – 21/03/18
20. Learning : Face Recognition Models
(a) LeNet
(b) AlexNet
(c) ZFNet
(d) GoogleLeNet
(e) VGG Net
(f) Inception-v3
(g) ResNet
21/03/18 – 22/03/18
21. Pre-processing Face Dataset 22/03/18 – 23/03/18
22. Issue Solved : Overwriting data in Excel Sheet 23/03/18 – 24/03/18
23. Automatic entry of registered student’s detail in Excel Sheet 24/03/18 – 24/03/18
24. Automatic current date incremented column in existing Excel Sheet 26/03/18 – 27/03/18
25. Learning : Feature Extraction and Classification 27/03/18 – 27/03/18
26. Learning : Methods for training pre-processed face dataset 27/03/18 – 27/03/18
27. Graphical User Interface using PyQT4 and PyQT5 28/03/18 – 30/03/18
28. Issue Solved : conversion of .ui to .py files 30/03/18 – 31/03/18
29. Facial Landmark Detection 31/03/18 – 02/04/18
30. Eye Blink Detection 02/04/18 – 05/04/18
31. Static Face Recognition 07/04/18 – 06/04/18
32. Real-Time Face Classification :
(a) Support Vector Machine
(b) K - Nearest Neighbors
07/04/18 – 10/04/18
33. Real-Time Face Recognition – Residual Network 10/04/18 – 13/04/18
34. Graphical User Interface creation using KIVY 13/04/18 – 19/04/18
35. Automated attendance marking with Identified Label 19/04/18 – 21/04/18
36. E-mail Notification to absentees 23/04/18 – 25/04/18
37. Attendance Report Generation 25/04/18 – 06/04/18
38. Integration of System 26/04/18 – 01/05/18
49. Testing of the System 01/05/18 – 05/05/18
Department of Computer Application , The M.S. University , Vadodara 16
6.5 Work Division (w.r.t team members)
Amey Mohite -Integration of Web camera/IP Camera
-Training .csv and .pkl files
-Automated attendance entry in Excel sheet
-Email-notification
-Live prediction
Jigar Patel -Graphical User Interface
-Face Detection using CNN
-Training .csv and .pkl files
-Automated date increment
-Testing
Naomi Kulkarni -Face detection using CNN
-Encoding registered images
-Live prediction
-Unknown face identification
-Testing
Shivani Sharma -Graphical user interface
-Face detection CNN
-Live prediction
-Creation of automatic Excel sheet and registration of student
information
-Integration
Shreya Dandavate -Face detection using OpenCV
-Capturing 100 images automatically and storage in database
-Face detection using CNN
-Encoding registered images
-Reports generated
Department of Computer Application , The M.S. University , Vadodara 17
6.6 Tools and Technologies
 Tools
¬ Software Components
 PyCharm
 Microsoft Excel
¬ Hardware Components
 IP camera/Web Camera
 Computer
 Technologies
¬ Python
¬ Kivy
¬ PyCharm libraries
 Pandas: A Python package which provides fast, flexible and expressive data
structures and data analysis tools designed to make working with various types of
data both easily and intuitively.
 Pickle: Pickle Module is used for serializing and de-serializing a Python object
structure by pickling being the way to convert it into a character stream for it to be
saved on disk.
 Sklearn: Scikit-learn is a very powerful Python library for machine learning &
predictive modeling.
 NumPy : A library for the Python programming language, adding support for
large, multi-dimensional arrays and matrices, along with a large collection of
high-level mathematical functions to operate with.
 Sip: A tool that has the ability to take existing libraries, written in C or C++ and
making them available as Python extension modules.
Department of Computer Application , The M.S. University , Vadodara 18
 Matplotlib: A plotting library for the Python programming language and its
numerical mathematics extension NumPy.
 Scipy: It is an open-source Python library used for scientific and technical
computing.
 Random: The random module is another library of functions that can extend the
basic features of python.
 Kivy: An open source Python framework for rapid development of applications
that make use of innovative user interfaces, such as multi-touch apps.
 Tensorflow: A Python library for fast numerical computing created and released
by Google. It is a foundation library that can be used to create Neural Network
and Deep Learning models directly or by using wrapper libraries that simplify the
process built on top of Tensorflow.
 Keras: An open source neural network library written in Python. It is capable of
running on top of Tensorflow, Microsoft Cognitive Toolkit, Theano, or MXNet.
Designed to enable fast experimentation with deep neural networks, it focuses on
being user-friendly, modular, and extensible.
 Dlib: Contains a wide range of machine learning algorithms. All designed to be
highly modular, quick to execute, and simple to use. It is used in a wide range of
applications including robotics, embedded devices, mobile phones, and large high
performance computing
 Os: The module provides a portable way of using operating system dependent
functionality.
Department of Computer Application , The M.S. University , Vadodara 19
 OpenCV-Python: A Python wrapper for the original OpenCV C++
implementation. OpenCV-Python makes use of NumPy, which is a highly
optimized library for numerical operations with MATLAB-style syntax. All
the OpenCV array structures are converted to and from NumPy arrays.
 Six: It provides utility functions for smoothing over the differences between
the Python versions with the goal of writing Python code that is compatible on
both Python versions.
 Openpyxl : The Openpyxl module allows your Python programs to read and
modify Excel spreadsheet files.
 Pyexcel : Provides an application programming interface to read, manipulate and
write data in different excel formats and makes information processing involving
excel files less tedious.
Department of Computer Application , The M.S. University , Vadodara 20
7.0 System Requirements Specification
I. Technical Requirement
i. Hardware Requirements
 A standalone computer (i3 5th Gen, 8gb ram or higher)
 High-quality wireless camera to capture images
 Secondary memory to store all the images and database
ii. Software requirements
 PyCharm professional 2017.2.4 or higher
 Python 3.5 or more
 Windows 8 or higher
 Latest version of all libraries
II. Functional Requirements
System functional requirement describes activities and services that must provide.
¬ A user must be able to manage student records.
¬ An only authorized user must be able to use the system.
¬ A system must be attached to wireless camera and face recognition should be
smooth.
¬ The administrator or the person who will be given the access to the system must
login into the system before using it.
¬ The information must be entered and managed properly.
Department of Computer Application , The M.S. University , Vadodara 21
III. Non-Functional Requirements
Non-functional Requirements are characteristics or attributes of the system that can judge
its operation. The following points clarify them:
a. Accuracy and Precision: the system should perform its process with accuracy
and precision to avoid problems.
b. Flexibility: the system should be easy to modify, any wrong should be correct.
c. Security: the system should be secure and saving student's privacy.
d. Usability: the system should be easy to deal with and simple to understand.
e. Maintainability: the maintenance group should be able to cope up with any
problem when occurs suddenly.
f. Speed and Responsiveness: Execution of operations should be fast.
Non–Functional Requirements are as follow:
¬ The GUI of the system will be user-friendly.
¬ The data that will be shown to the users will be made sure that it is correct and is
available for the time being. The system will be flexible to changes.
¬ The system will be extended for changes and to the latest technologies.
¬ Efficiency and effectiveness of the system will be made sure.
¬ The performance of the system will be made sure.
IV. Student Requirements
¬ A student needs to enter the proper details while registering him/her.
¬ He/ She needs to sit properly and capture 10-15 images of himself/herself in
different directions and expressions.
¬ At the time of taking attendance, students need to sit properly facing the camera.
Department of Computer Application , The M.S. University , Vadodara 22
V. Teaching Staff Requirements
¬ The faculty needs to log into the system at the time of attendance.
¬ The faculty needs to enter lecture details before starting the attendance process.
¬ If the entered lecture details don’t match with the ones in the database (excel sheet)
an error dialog will be displayed.
¬ As the students are recognized by the system, the attendance report will be
generated and shown to the faculty.
VI. Administrator Requirements
¬ The administrator needs to log into the system at the time of registering the
students in the face recognition process.
¬ He / She must make sure that the student enters the details properly.
¬ Only the administrator has the rights to manage any changes in the system.
¬ Only the administrator is allowed to view the Training set and the Testing set.
¬ Only the administrator has the rights to manage any changes in the stored data set.
Department of Computer Application , The M.S. University , Vadodara 23
8.0 System Analysis
8.1 System Flow
Admin logins the system
Student registration interface
provided
The camera is enabled for
capturing face images of the student
Student enters details
In real-time the student’s face is
detected and highlighted on the window
On clicking Submit, entered data
is stored in the excel workbook
The detected faces are cropped
Cropped faces are stored in the
respective student’s name folder
Figure 1 Student Registration Flow
Department of Computer Application , The M.S. University , Vadodara 24
8.1.2 Feature Extraction
Figure 2 Feature Extraction
8.1.3 Generating Attendance Flow
Classifier file
is created based on the stored
information
Extraction of facial features for comparison
from training set and test image for face recognition
The extracted facial features and the student’s folder name are stored in separate files
Student glances at the
camera for attendance
Student’s face is detected
in real-time
The facial region of interest
is grabbed from the frame
The test image is then classified and the
face is identified by comparing it with the
training face dataset
An e-mail is sent to the
absentees regarding their absence
The attendance is marked ‘Present’ for
recognized student face, rest remains ‘Absent’
Figure 3 Generating Attendance Flow
Department of Computer Application , The M.S. University , Vadodara 25
8.2 System Description
Asistencia is face recognition, attendance system which consists of various phases
throughout the completion of the process and is accessed by the administrator. The administrator
must be signed up before accessing the system. Login permission is required for the system to be
used.
For the student to be recognized they need to be registered. For registration, a form must
be filled up with the basic details of a student. Once the form is filled up, 100 images of a
student are captured automatically after face being detected as a part of the registration process
and are stored in the training set within the particular student folder.
Encoding of the register images takes place. Followed by training of images inside the
training set which creates .csv and .pkl file for images that are encoded and their labels.
During attendance, webcam is connected, and as students enter the class their faces are
detected and recognized after which, an entry is marked in Excel sheet as a present and other as
absent. Unknown faces are shown as ‘Unknown’.
Reports are generated on the basis of attendance sheet monthly and Email notification is
sent to the students who are absent.
8.5 Module Specification
8.5.1 Face Detection
Detecting facial landmarks is a subset of the shape prediction problem. Facial
landmarks such as eyes, eyebrows, nose, mouth, jaw line were used to localize and
represent salient regions of the face. Given an input image, a shape predictor attempts to
localize key points of interest along the shape. In the context of facial landmarks, our goal
was to detect important facial structures on the face using shape prediction methods.
Detecting facial landmarks is therefore involves localizing the face in the image and
detecting the key facial structures on the face ROI. Dlib and OpenCV were used to detect
facial landmarks in an image.
Face detection has been achieved by us in two ways.
1. Using Opencv’s built-in particular Haar Cascades.
2. Using a model for predicting facial landmarks.
Department of Computer Application , The M.S. University , Vadodara 26
1. Face detection using Opencv’s Haar Cascades
Using the Haar feature-based cascade classifiers is an effective object
detection method proposed by Paul Viola and Michael Jones in their paper, "Rapid
Object Detection using a Boosted Cascade of Simple Features" in 2001. It is a machine
learning based approach where a cascade function is trained from a lot of positive and
negative images. It is then used to detect objects in other images.
Figure 4 Types of Haar Features
Figure 5 Haar features applied on an image
2. Face Detection using a model for predicting facial landmarks.
The algorithm used to detect the face in the image matter less, instead what
matters is given the face region where we can apply facial landmark detector. For
detecting key facial structures in the face region we have used a pre-trained facial
landmark detector which estimates the location of 68 (x, y)-coordinates that map to facial
structures on the face. There are other facial landmark detectors, but all of them try to
localize and label the following facial regions: Mouth, Right eyebrow, Left eyebrow,
Right eye, Left eye, Nose, Jaw, etc.
Department of Computer Application , The M.S. University , Vadodara 27
The indexes of the 68 coordinates can be visualized on the image below:
These annotations are part of the 68 point iBUG 300-W dataset with which the dlib facial
landmark predictor was trained. It’s important to note that other options of facial landmark
detectors exist, including the 194 point model that is trained on the HELEN dataset. Regardless
of which dataset is used, the same dlib framework can be leveraged to train a shape predictor on
the input training data which can be useful if one likes to train facial landmark detectors or
custom shape predictors.
Department of Computer Application , The M.S. University , Vadodara 28
8.5.2 Face Recognition
1. Using the concept of Convolutional Neural Network
CNN is a class of deep, feed-forward artificial neural networks that has successfully been
applied to analysing visual imagery. CNNs have wide applications in image and video
recognition, recommender systems and natural language processing.
Like other neural networks, CNN are made up of neurons with learnable weights and
biases. Each neuron receives several inputs, takes a weighted sum over them, pass it through
an activation function and responds with an output. The whole network has a loss function
and all the tips and tricks developed for neural networks still apply on CNNs.
Unlike neural networks, where the input is a vector, here the input is a multi-channelled
image (3 channelled in this case).
What is a Convolution?
We take the 5*5*3 filter and slide it over the complete image and along the way take the dot
product between the filter and chunks of the input image.
Department of Computer Application , The M.S. University , Vadodara 29
For every dot product taken, the result is a scalar. So, what happens when we convolve the
complete image with the filter?
Department of Computer Application , The M.S. University , Vadodara 30
Now, back to CNNs
The convolution layer is the main building block of a convolutional neural network. Below is an
example of Convolution layer.
The convolution layer comprises of a set of independent filters (6 in the example shown).
Each filter is independently convolved with the image and we end up with 6 feature maps of
shape 28*28*1.CNNs have a couple of concepts called parameter sharing and local connectivity.
Parameter sharing is sharing of weights by all neurons in a particular feature map.
Local connectivity is the concept of each neural connected only to a subset of the input image
(unlike a neural network where all the neurons are fully connected). This helps to reduce the
number of parameters in the whole system and makes the computation more efficient.
Pooling Layers
A pooling layer is another building block of a CNN.
Department of Computer Application , The M.S. University , Vadodara 31
Its function is to progressively reduce the spatial size of the representation to reduce the
amount of parameters and computation in the network. Pooling layer operates on each feature
map independently. The most common approach used in pooling is max pooling.
2. Residual Networks
As per what we have seen so far, increasing the depth should increase the accuracy of the
network, as long as over-fitting is taken care of. But the problem with increased depth is that the
signal required to change the weights, which arises from the end of the network by comparing
ground-truth and prediction becomes very small at the earlier layers, because of increased depth.
It essentially means that earlier layers are almost negligible learned. This is called vanishing
gradient.
The second problem with training the deeper networks is, performing the optimization on
huge parameter space and therefore naively adding the layers leading to higher training error.
Residual networks allow training of such deep networks by constructing the network
through modules called residual models as shown in the figure. This is
called degradation problem.
The plain 34 layer network had higher validation error than the 18 layer plain network.
This is where we realize the degradation problem. And the same 34 layer network when
converted into the residual network has much lesser training error than the 18 layer residual
network.
Department of Computer Application , The M.S. University , Vadodara 32
Department of Computer Application , The M.S. University , Vadodara 33
Residual Networks vs. Other Convolutional Neural Network
Year CNN Developed by Place
Top-5
error rate
No. of
parameters
1998 LeNet(8) Yann LeCun et al 60 thousand
2012 AlexNet(7)
Alex Krizhevsky,
Geoffrey Hinton, IIya
Sutskever
1st
15.3% 60 million
2013 ZFNet()
Matthew Zeilerand
Rob Fergus
1st
14.8%
2014 GoogLeNEet(19) Google 1st
6.67% 4 million
2014 VGG Net(16) Simonyan, Zisserman 2nd
7.3% 138 million
2015 ResNet(152) Kaiming He 1st 3.6%
As we can see that this all started way back in 1998 and the CNN used was LeNet (8).Over a
period of developing phase the least error rate was noticed on ResNet (152) with only 3.6% of
error rate in 2015.
AlexNet: - This architecture was one of the first deep networks to push ImageNet Classification
accuracy by a significant stride in comparison to traditional methodologies. It is composed of 5
convolutional layers followed by 3 fully connected layers.
VGG Net (16):- This architecture is from VGG group, Oxford. It makes the improvement over
AlexNet by replacing large kernel-sized filters (11 and 5 in the first and second convolutional
layer, respectively) with multiple 3X3 kernel-sized filters one after another. With a given
receptive field(the effective area size of input image on which output depends), multiple stacked
smaller size kernel is better than the one with a larger size kernel because multiple non-linear
layers increases the depth of the network which enables it to learn more complex features, and
that too at a lower cost.
Department of Computer Application , The M.S. University , Vadodara 34
GoogLeNet (19):- While VGG achieves a phenomenal accuracy on ImageNet dataset, its
deployment on even the most modest sized GPUs is a problem because of huge computational
requirements, both in terms of memory and time. It becomes inefficient due to large width of
convolutional layers.
For instance, a convolutional layer with 3X3 kernel size which takes 512 channels as input and
outputs 512 channels, the order of calculations is 9X512X512.
AlexNet has parallel two CNN line trained on two GPUs with cross-connections, GoogLeNet
has inception modules, and ResNet has residual connections.
3. Face Recognition using dlib ResNet
Deep metric learning is useful for a lot of things, but the most popular application is face
recognition. The model used is a ResNet network with 29 convolutional layers which is a pre-
trained model. It's essentially a version of the ResNet-34 network from the paper ‘Deep Residual
Learning for Image Recognition’ by He, Zhang, Ren, and Sun with a few layers removed and
the number of filters per layer reduced by half.
The network was trained from scratch on a dataset of about 3 million faces which were
derived from a number of datasets. The face scrub dataset, the VGG dataset, and then a large
number of images scraped from the internet.
This model has an accuracy of 99.38% on the standard labelled Faces in the Wild
benchmark. This is comparable to other state-of-the-art models and means that, given two face
images, it correctly predicts if the images are of the same person 99.38% of the time provided in
good environmental conditions.
The training started by randomly initializing weights and using a structured metric loss that
tries to verify all the identities into non-overlapping balls of radius 0.6. The type loss observed is
a pair-wise hinge loss that runs over all pairs in a mini-batch and includes hard-negative mining
at the mini-batch level.
Department of Computer Application , The M.S. University , Vadodara 35
9.0 Database Design
10.0 Data Flow Diagrams
Figure 6 DFD : Context Level
Department of Computer Application , The M.S. University , Vadodara 36
Figure 7 DFD : Level 0
Department of Computer Application , The M.S. University , Vadodara 37
Figure 9 DFD : Level 1 (2.0 Image Acquisition )
Figure 10 DFD : Level 1 ( 3.0 Face Detection )
Figure 8 DFD : Level 1 ( 1.0 Student Registration )
Department of Computer Application , The M.S. University , Vadodara 38
Figure 11 DFD : Level 1 ( 4.0 Face Recognition )
Department of Computer Application , The M.S. University , Vadodara 39
11.0 System Screenshots and Explanation
Figure 12 System Interface
Figure 13 Sign Up Page
Department of Computer Application , The M.S. University , Vadodara 40
Figure 14 Admin Information in signing up page
Figure 15 Login Page Interface
Department of Computer Application , The M.S. University , Vadodara 41
Figure 16 Unsuccessful Login
Figure 17 Successful Login
Department of Computer Application , The M.S. University , Vadodara 42
Figure 18 Admin Logged in Page
Figure 19 Registration form
Department of Computer Application , The M.S. University , Vadodara 43
Figure 20 Registration form filled
Figure 21 Face Registration
Department of Computer Application , The M.S. University , Vadodara 44
Figure 22 Storage of registered images
Figure 23 Registered student info in Excel sheet
Department of Computer Application , The M.S. University , Vadodara 45
Figure 24 Encoding of registered images
Figure 25 Training of registered images
Department of Computer Application , The M.S. University , Vadodara 46
Figure 26 Attendance time
Figure 27 Unknown face identification
Department of Computer Application , The M.S. University , Vadodara 47
Figure 28 Generation of Attendance in Excel sheet
Figure 29 Email notification to the absentee
Department of Computer Application , The M.S. University , Vadodara 48
12.0 Testing
12.1 Testing Plan
The testing plan includes planning for several functions like:
¬ Login feature
¬ Registration of students
¬ Face detection
¬ Capturing 100 images automatically
¬ Face recognition from registered database
¬ Unknown face detection
¬ Attendance entry in Excel sheet
¬ Reports generation
¬ Email notification
12.2 Testing Methods
Considering the scope of the project and the time limitations, we will be performing
following tests.
a) Unit Test –
This test verifies the program logic and is based on the knowledge of the program
structure.
b) Integration Test –
This test verifies the entire system’s functionality according to the design
specification.
c) Business Requirements –
This test verifies whether specific requirements of the customer are met.
d) Acceptance Testing –
This test verifies whether the system needs to meet the initial objectives and
customer’s expectations.
Department of Computer Application , The M.S. University , Vadodara 49
12.3 Test Cases
ID TC01
TITLE Admin sign up
PREREQUISTE Full Name
Username
Password
TEST ACTION 1. Start Asistencia application
2. Fill in details of sign up page of the admin
EXPECTED RESULT On signing up it should create an admin account.
ID TC02
TITLE Admin log in
PREREQUISTE Username
Password
TEST ACTION 1. Start Asistencia application
2. Log in with the same details which have been
signed up in
EXPECTED RESULT Logging in should check, whether the username is
correct or not and provide access to it or denial warning
message respectively
Department of Computer Application , The M.S. University , Vadodara 50
ID TC03
TITLE Student registration form
PREREQUISTE Roll no
Name
Semester
Email
TEST ACTION 1. Start Asistencia application
2. Admin log in
3. Student registration
EXPECTED
RESULT
Registration form should be filled up according to the
validation set up and any incorrect detail should be
popped as a warning message to the user.
ID TC04
TITLE Storing details of the Registration form
PREREQUISTE Registered from filled up correctly
TEST ACTION 1. Start Asistencia application
2. Admin log in
Student registration
EXPECTED
RESULT
Should check, whether the excel sheet, the name of a sheet
according to the semester and subject is present or not and
store information into that specific sheet or create a new
one of that name and store in it respectively.
Department of Computer Application , The M.S. University , Vadodara 51
ID TC05
TITLE IP camera configuration and integration
PREREQUISTE IP camera
TEST ACTION 1. Start Asistencia application
2. Admin log in
3. Student registration form
4. Student face registration
EXPECTED
RESULT
IP camera should be connected and turned on after filling
up the registration form.
ID TC06
TITLE Registration of faces
PREREQUISTE IP camera
TEST ACTION 1. Start Asistencia application
2. Admin log in
3. Student registration form
4. Student face registration
EXPECTED
RESULT
After connecting IP camera to the system, the face should be
detected and automatically capture 100 images of a particular
student and close automatically with a message of
Registration over.
Department of Computer Application , The M.S. University , Vadodara 52
ID TC07
TITLE Storage of registered face in Training set
PREREQUISTE Training set folder
TEST ACTION 1. Start Asistencia application
2. Admin log in
3. Student registration form
4. Student face registration
EXPECTED
RESULT
Check if the Training set folder is available or not if not create
a new one, in its check whether the name of a student’s folder
is available inside it or not, if not create a new one and store
images into the student’s folder name.
ID TC08
TITLE Encoding registered faces
PREREQUISTE Training set
TEST ACTION 1. Start Asistencia application
2. Admin log in
3. Encode Database
EXPECTED
RESULT
Get the folder names in training-dir as labels
To be encoded in numerical form for Machine learning and if a
file with the same name already exists, backup the old file.
Department of Computer Application , The M.S. University , Vadodara 53
ID TC09
TITLE Training
PREREQUISTE Training set
.csv and .pkl file
TEST ACTION 1. Start Asistencia application
2. Admin log in
3. Train Database
EXPECTED
RESULT
Save encoding file with .csv format and labels in .pkl.
ID TC10
TITLE Live face recognition
PREREQUISTE Encoding and Training should be done before a live
prediction
TEST ACTION 1. Start Asistencia application
2. Admin log in
3. Take Attendance
EXPECTED
RESULT
Camera should be connected and turned on automatically and
detected face of registered students as well of unknown and
name should be printed on the rectangular bounding box.
Department of Computer Application , The M.S. University , Vadodara 54
ID TC11
TITLE Attendance entry in Excel sheet
PREREQUISTE Live prediction should be on.
TEST ACTION 1. Start Asistencia application
2. Admin log in
3. Take Attendance
EXPECTED
RESULT
Check whether today’s date is available or not if not enter
today’s date in a column next to yesterday’s date and match
name which are already printed at the time of registration with
the matched faces labels and mark present besides the name
and under today’s date.
ID TC12
TITLE View Attendance
PREREQUISTE Excel sheet should be present
TEST ACTION 1. Start Asistencia application
2. Admin log in
3. Email Notification
EXPECTED
RESULT
Notifies absentees through email on that particular date
Department of Computer Application , The M.S. University , Vadodara 55
12.4 Testing Reports
TC01
ITERATION EXPECTED RESULT ACTUAL RESULT STATUS
1 On signing up it should create
an admin account.
On signing up it should
create an admin account.
PASS
TC02
ITERATION EXPECTED RESULT ACTUAL RESULT STATUS
1 Logging in should check,
whether the username is
correct or not and provide
access to it or denial warning
message respectively
Logging in should check,
whether the username is
correct or not and provide
access to it or denial
warning message
respectively PASS
TC03
ITERATION EXPECTED RESULT ACTUAL RESULT STATUS
1 Registration form should be
filled up according to the
validation set up and any
incorrect detail should be
popped as a warning message
to the user.
Registration form should
be filled up according to
the validation set up and
any incorrect detail should
be popped as a warning
message to the user.
PASS
Department of Computer Application , The M.S. University , Vadodara 56
TC04
ITERATION EXPECTED RESULT ACTUAL RESULT STATUS
1 Should check, whether the
excel sheet, the name of a
sheet according to the
semester and subject is
present or not and store
information into that specific
sheet or create a new one of
that name and store in it
respectively.
Checks whether the excel
sheet, the name of a sheet
according to the semester
and subject is present or not
and store information into
that specific sheet or create
a new one of that name and
store in it respectively.
PASS
TC05
ITERATION EXPECTED RESULT ACTUAL RESULT STATUS
1 IP camera should be
connected and turned on
after filling up the
registration form.
IP camera is connected
and turned on after
filling up the registration
form.
PASS
TC06
ITERATION EXPECTED RESULT ACTUAL RESULT STATUS
1 After connecting IP
camera to the system, the
face should be detected
and automatically capture
100 images of a particular
student and close
automatically with a
message of Registration
over.
After connecting IP
camera to the system, the
face gets detected and
automatically capture’s
100 images of a particular
student and closes
automatically with a
message of Registration
over.
PASS
Department of Computer Application , The M.S. University , Vadodara 57
TC07
ITERATION EXPECTED RESULT ACTUAL RESULT STATUS
1 Check if the Training set
folder is available or not if
not create a new one, in its
check whether the name of a
student’s folder is available
inside it or not, if not create
a new one and store images
into the student’s folder
name.
Check if the Training set
folder is available or not
if not create a new one, in
its check whether the
name of a student’s
folder is available inside
it or not, if not create a
new one and store images
into the student’s folder
name.
PASS
TC08
ITERATION EXPECTED RESULT ACTUAL RESULT STATUS
1 Get the folder names in
training-dir as labels
To be encoded in numerical
form for Machine learning
and if file with same name
already exists, backup the
old file
Get the folder names in
training-dir as labels
Which is encoded in
numerical form for
Machine learning and if
file with same name
already exists, backup’s
the old file.
PASS
Department of Computer Application , The M.S. University , Vadodara 58
TC09
ITERATION EXPECTED RESULT ACTUAL RESULT STATUS
1 Save encoding file with .csv
format and labels in .pkl.
Save encoding file
with .csv format and
labels in .pkl.
PASS
TC10
ITERATION EXPECTED RESULT ACTUAL RESULT STATUS
1 Camera should be
connected and turned on
automatically and
detected face of registered
students as well of
unknown and name
should be printed on the
rectangular bounding box.
Camera gets connected and
turned on automatically and
detects the face of
registered students but due
to light condition unknown
faces are mismatched and
distance up to 1-2foot
FAIL
2 Camera should be
connected and turned on
automatically and
detected face of registered
students as well of
unknown and name
should be printed on the
rectangular bounding box.
Camera gets connected and
turned on automatically and
detects the face of
registered students as well
of an unknown in proper
lighting condition and
name is printed on the
rectangular bounding box.
PASS
Department of Computer Application , The M.S. University , Vadodara 59
TC11
ITERATION EXPECTED RESULT ACTUAL RESULT STATUS
1 Check whether today’s date
is available or not if not
enter today’s date in a
column next to yesterday’s
date and match name which
are already printed at the
time of registration with the
matched faces labels and
mark present besides the
name and under today’s
date.
Check whether today’s
date is available or not if
not enter today’s date in a
column next to
yesterday’s date and
match name which are
already printed at the time
of registration with the
matched faces labels and
mark present besides the
name and under today’s
date.
PASS
TC12
ITERATION EXPECTED RESULT ACTUAL RESULT STATUS
1
Notifies absentees through
email on that particular
date
Notifies absentees
through email on that
particular date
PASS
Department of Computer Application , The M.S. University , Vadodara 60
13.0 Conclusion
The anticipated outcome of this project was the identification of condition that affects the
recognition of faces and to what extent. The results have been classified into different
parts.
1. Testing with SVM vs K-Nearest
1.1. General Details
SVM K-Nearest Neighbor
 SVM is a framework very
interesting from a machine
learning perspective and is mostly
used for classification and
regression analysis
 A SVM is a linear or non-linear
classifier, which is a mathematical
function that can distinguish two
different kinds of objects.
 The k-nearest neighbor is a
pattern recognition technique for
classifying objects based on
closest training examples in the
problem space
 In k-nearest neighbor an object is
classified by a majority vote of its
neighbors, with the object being
assigned to the class most
common amongst its k nearest
neighbors.
1.2. Result comparison
Accuracy has been calculated by testing 10 faces of each factor and accurate recognition
rates are mentioned in the table below where rates are derived using the formula:
Accuracy % = (correct prediction/ total supplied values) * 100
Average SVM K-nearest neighbor
1.Accuracy of Recognition 90 % 60 %
2.Processing time for
encoding and training(in
Minutes with 30 classes)
26.1 22min min
Department of Computer Application , The M.S. University , Vadodara 61
2. Testing with different datasets
2.1. Encoding and training of Images
The raw data i.e. unstructured and individual listings aren't always clean-cut and
complete, this can be problematic. Thus we selected data for experiment purpose in
CSV format. Time mentioned below is in Minutes.
Images
per
person
Accuracy with i7 4th
Generation
Accuracy with i3 5th
Generation
Accuracy with i5 4th
Generation
SVM K-NN SVM K-NN SVM K-NN
50
Images
17.4 Min 15.3 Min 19.3 Min 16.1 Min 17 Min 14.2 Min
100
Images
31.8 Min 28.5 Min 38 Min 34 Min 34.6 Min 25.5 Min
3. Testing with different quality of Images
3.1. According to pixel value
Accuracy rate measured when images varying of their pixel values were tested.
Pixel Range Accuracy
100-150 80 %
150-300 80 %
300 < 90 %
Department of Computer Application , The M.S. University , Vadodara 62
3.2. Webcam vs IP-Camera
Accuracy rate when input devices were switched between Webcam and IP-Camera.
Device Accuracy
Webcam Totally depends on the pre-defined
resolution and fps of the camera.IP-Camera
3.3. Types of Images
Accuracy rates with training dataset containing and without blur images.
Quality Accuracy
With Blur Images 30 %
Without Blur Images 80 %
4. Difference in models
Dlib’s model with 68 land mark
points
OpenCV Haar-Cascade for face
detection
The pre-trained facial landmark
detector inside the Dlib library is used
to estimate the location of 68 (x, y)-
coordinates that map to facial
structures on the face.
OpenCV comes with a trainer as well
as detector. If the detection window
fails the first stage, discard it and don't
consider remaining features on it. If it
passes, apply the second stage of
features and continue the process. The
window which passes all stages is a
face region.
Department of Computer Application , The M.S. University , Vadodara 63
5. Memory
Memory used Amount of main memory with is used to execute the algorithm is defined
as memory used which is given in MB.
SVM K-nearest neighbor
Memory Used 191 228
6. Conclusion for future work
 After the experiment our findings were that K-NN is a good classifier but when we
applied our dataset there was sharp fluctuation in the prediction rates which lead to
changing performance parameters constantly for every newer condition.
 K-NN kept performing worst as the size of the dataset increased thus concluding
that it’s a best fit for a small dataset.
 SVM is complex classifier but we found that the accuracy and other performance
parameters do not depend much over the size of the training dataset but instead are
dependent on the no of epochs, so SVM was much better when compared with the
K-NN.
MB MB
Department of Computer Application , The M.S. University , Vadodara 64
14.0 Features of the System
¬ Authorized by administrator.
¬ Registration of student details and faces.
¬ Automatically captures 100 images at the time of registration
¬ Creation of student’s folder where images are stored is created automatically.
¬ Face are recognized matching with registered image
¬ Unknown persons are identified
¬ Excel sheet and sheet is created automatically if not created
¬ Reports are generated as an when required
¬ E-mail notification
15.0 Security Features
As Asistencia does not consists of any external database or server-based database.
(AT&T database concept is being used to store in the form of training set.)
This database is generated itself in the computer system, it has a hierarchical architecture of
folders to save the data from our Attendance system.
It can be made secure by giving folders admin rights and locking it with passwords. So,
an unauthorized user would not be able to access the internal data of the system and make any
changes.
Department of Computer Application , The M.S. University , Vadodara 65
16.0 Benefits
¬ Ease of use.
¬ Saves time and efforts
¬ Proxy system is totally eliminated.
¬ Used for security purposes.
¬ Multiple face detection.
¬ Multiple face recognition.
¬ Unknown faces are identified.
¬ As the system stores the faces that are detected during registration and automatically
marks attendance faster. Providing authorized access.
17.0 Limitations
¬ Expensive
¬ Difficulties with big data processing and storing without gpu and RAM below 4GB
¬ Weak camera angle, low-lighting and image quality.
¬ Deluded by identical twins
18.0 Future Enhancement
Asistencia has an immensely boundless scope in future. It can be amended as and when
requirement emerges, as it is versatile in terms of the extension. There are some facets which
can be further modified such as recognized distance can be extended, Graphics processing
unit (GPU) can be used for a large amount of the database and quick processing, data storage
can be made server-based and can be integrated with multiple cameras at the same time.
Department of Computer Application , The M.S. University , Vadodara 66
19.0 Experience and Learning
As the saying goes “The only source of knowledge is experience”. We gained strength, courage
and confidence by every experience, making us ready for facing every challenge ahead of us.
Learning was one of the most fun and challenging part of this project as Artificial Intelligence
was the topic we wanted to explore further. We were offered a chance to strengthen our concepts
regarding varied topics such as Feature Extraction, Face Detection, Face Recognition, Neural
Networks, File Manipulation, Data Security, and substantially many more.
This project helped us getting aware by giving us a brief insight of the challenges that the Tech-
Industry holds and also the ability of handling important projects by applying the most suitable
strategy with considering all the important aspects. The whole experience was similar to reading
a Sherlock Homes book, i.e. upcoming challenges at every step with a touch of uncertainty and
mystery.
It has been such a unique experience where every suffering was worth going through and
without which nothing would have been possible. Furthermore it’s a privilege to have such a
great team where no member is pompous instead is modest and enthusiastic, also the support
that our teachers have shown towards this project by providing us this opportunity is something
we cannot thank them enough for
Department of Computer Application , The M.S. University , Vadodara 67
20.0 Reference and Bibliography
[1] O. M. Parkhi, A. Vedaldi, A. Zisserman Deep Face Recognition British Machine Vision
Conference, 2015.
[2] H.-W. Ng, S. Winkler. A data-driven approach to cleaning large face datasets. Proc. IEEE
International Conference on Image Processing (ICIP), Paris, France, Oct. 27-30, 2014
Beyeler, M. (2017). Machine Learning for OpenCV: Intelligent image processing with Python.
London: Packt Publishing Ltd.
Bruce, P., & Bruce, A. (2017). Practical Statistics for Data Scientists. California: O’Reilly
Media.
Chollet, F. (2018). Deep Learning with Python. New York: Manning Publications Co.
Géron, A. (2017). Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts,
Tools, and Techniques to Build Intelligent Systems. Brooklyn: O′Reilly.
Grus, J. (2015). Data Science from Scratch: First Principles with Python. California: O’Reilly
Media.
Lutz, M. (2013). Learning Python. California: O’Reilly Media.
Matthes, E. (2015). A Hands-On, Project-Based Introduction to Programming . San Francisco:
William Pollock.
McKinney, W. (2017). Python for Data Analysis: Data Wrangling with Pandas, NumPy, and
IPython. California: O’Reilly Media.
Phillips, D. (2014). Creating Apps in Kivy: Mobile with Python. California: O’Reilly .
Solem, J. E. (2012). Programming Computer Vision with Python: Tools and algorithms for
analyzing images. United States: O'Reilly Media.
Sweigart, A. (2015). Automate the Boring Stuff with Python: Practical Programming for Total
Beginners. San Francisco: William Pollock.
Ulloa, R. (2015). Kivy: Interactive Applications in Python. Birmingham : Packt Publishing Ltd.

More Related Content

What's hot

Face Recognition Based Attendance System using Machine Learning
Face Recognition Based Attendance System using Machine LearningFace Recognition Based Attendance System using Machine Learning
Face Recognition Based Attendance System using Machine LearningYogeshIJTSRD
 
Face Recognition Attendance System
Face Recognition Attendance System Face Recognition Attendance System
Face Recognition Attendance System Shreya Dandavate
 
Facial recognition system
Facial recognition systemFacial recognition system
Facial recognition systemDivya Sushma
 
Face recognition attendance system using Local Binary Pattern (LBP)
Face recognition attendance system using Local Binary Pattern (LBP)Face recognition attendance system using Local Binary Pattern (LBP)
Face recognition attendance system using Local Binary Pattern (LBP)journalBEEI
 
Smart application for ams using face recognition
Smart application for ams using face recognitionSmart application for ams using face recognition
Smart application for ams using face recognitioncseij
 
Automatic Attendance System using Deep Learning
Automatic Attendance System using Deep LearningAutomatic Attendance System using Deep Learning
Automatic Attendance System using Deep LearningSunil Aryal
 
Smart attendance system using facial recognition
Smart attendance system using facial recognitionSmart attendance system using facial recognition
Smart attendance system using facial recognitionVigneshLakshmanan8
 
Attendence management system using face detection
Attendence management system using face detectionAttendence management system using face detection
Attendence management system using face detectionSaurabh Sutone
 
Drowsiness Detection Presentation
Drowsiness Detection PresentationDrowsiness Detection Presentation
Drowsiness Detection PresentationSaurabh Kawli
 
Face detection and recognition
Face detection and recognitionFace detection and recognition
Face detection and recognitionDerek Budde
 
Drowsiness State Detection of Driver using Eyelid Movement- IRE Journal Confe...
Drowsiness State Detection of Driver using Eyelid Movement- IRE Journal Confe...Drowsiness State Detection of Driver using Eyelid Movement- IRE Journal Confe...
Drowsiness State Detection of Driver using Eyelid Movement- IRE Journal Confe...Vignesh C
 
FACE RECOGNITION TECHNOLOGY
FACE RECOGNITION TECHNOLOGYFACE RECOGNITION TECHNOLOGY
FACE RECOGNITION TECHNOLOGYJASHU JASWANTH
 
Face recognition attendance system
Face recognition attendance systemFace recognition attendance system
Face recognition attendance systemNaomi Kulkarni
 
Driver DrowsiNess System
Driver DrowsiNess SystemDriver DrowsiNess System
Driver DrowsiNess SystemGurunadh Guru
 
Project final report
Project final reportProject final report
Project final reportALIN BABU
 
Automated attendance system using Face recognition
Automated attendance system using Face recognitionAutomated attendance system using Face recognition
Automated attendance system using Face recognitionIRJET Journal
 
Attendance Using Facial Recognition
Attendance Using Facial RecognitionAttendance Using Facial Recognition
Attendance Using Facial RecognitionVikramaditya Tarai
 
Face recognition with pi
Face recognition with piFace recognition with pi
Face recognition with pihetvi naik
 

What's hot (20)

Face Recognition Based Attendance System using Machine Learning
Face Recognition Based Attendance System using Machine LearningFace Recognition Based Attendance System using Machine Learning
Face Recognition Based Attendance System using Machine Learning
 
Face Recognition Attendance System
Face Recognition Attendance System Face Recognition Attendance System
Face Recognition Attendance System
 
Facial recognition system
Facial recognition systemFacial recognition system
Facial recognition system
 
Face recognition attendance system using Local Binary Pattern (LBP)
Face recognition attendance system using Local Binary Pattern (LBP)Face recognition attendance system using Local Binary Pattern (LBP)
Face recognition attendance system using Local Binary Pattern (LBP)
 
Face recognition
Face recognitionFace recognition
Face recognition
 
Smart application for ams using face recognition
Smart application for ams using face recognitionSmart application for ams using face recognition
Smart application for ams using face recognition
 
Automatic Attendance System using Deep Learning
Automatic Attendance System using Deep LearningAutomatic Attendance System using Deep Learning
Automatic Attendance System using Deep Learning
 
Smart attendance system using facial recognition
Smart attendance system using facial recognitionSmart attendance system using facial recognition
Smart attendance system using facial recognition
 
Attendence management system using face detection
Attendence management system using face detectionAttendence management system using face detection
Attendence management system using face detection
 
Drowsiness Detection Presentation
Drowsiness Detection PresentationDrowsiness Detection Presentation
Drowsiness Detection Presentation
 
Face detection and recognition
Face detection and recognitionFace detection and recognition
Face detection and recognition
 
Drowsiness State Detection of Driver using Eyelid Movement- IRE Journal Confe...
Drowsiness State Detection of Driver using Eyelid Movement- IRE Journal Confe...Drowsiness State Detection of Driver using Eyelid Movement- IRE Journal Confe...
Drowsiness State Detection of Driver using Eyelid Movement- IRE Journal Confe...
 
Mini Project- Face Recognition
Mini Project- Face RecognitionMini Project- Face Recognition
Mini Project- Face Recognition
 
FACE RECOGNITION TECHNOLOGY
FACE RECOGNITION TECHNOLOGYFACE RECOGNITION TECHNOLOGY
FACE RECOGNITION TECHNOLOGY
 
Face recognition attendance system
Face recognition attendance systemFace recognition attendance system
Face recognition attendance system
 
Driver DrowsiNess System
Driver DrowsiNess SystemDriver DrowsiNess System
Driver DrowsiNess System
 
Project final report
Project final reportProject final report
Project final report
 
Automated attendance system using Face recognition
Automated attendance system using Face recognitionAutomated attendance system using Face recognition
Automated attendance system using Face recognition
 
Attendance Using Facial Recognition
Attendance Using Facial RecognitionAttendance Using Facial Recognition
Attendance Using Facial Recognition
 
Face recognition with pi
Face recognition with piFace recognition with pi
Face recognition with pi
 

Similar to Asistencia | Live Face Recognition | Python

Design and development of automated examination system
Design and development of automated examination systemDesign and development of automated examination system
Design and development of automated examination systemShivakant Dubey
 
Design and Development Of Automated Examination System.
Design and Development Of Automated Examination System.Design and Development Of Automated Examination System.
Design and Development Of Automated Examination System.Shivakant Dubey
 
Suriya atipong2013(tentang rfid disertasi)
Suriya atipong2013(tentang rfid disertasi)Suriya atipong2013(tentang rfid disertasi)
Suriya atipong2013(tentang rfid disertasi)Herry Effendy
 
E learning project report (Yashraj Nigam)
E learning project report (Yashraj Nigam)E learning project report (Yashraj Nigam)
E learning project report (Yashraj Nigam)Yashraj Nigam
 
Document Archiving & Sharing System
Document Archiving & Sharing SystemDocument Archiving & Sharing System
Document Archiving & Sharing SystemAshik Iqbal
 
Dormitory management system project report
Dormitory management system project reportDormitory management system project report
Dormitory management system project reportShomnath Somu
 
AUTOMATED FOOTBALL MANAGEMENT SYSTEM
AUTOMATED FOOTBALL MANAGEMENT SYSTEMAUTOMATED FOOTBALL MANAGEMENT SYSTEM
AUTOMATED FOOTBALL MANAGEMENT SYSTEMAbhishek Kumar
 
REPORT ON SUMMER TRAINING IN MEMS AT CSIR-CEERI
REPORT ON SUMMER TRAINING IN MEMS AT CSIR-CEERIREPORT ON SUMMER TRAINING IN MEMS AT CSIR-CEERI
REPORT ON SUMMER TRAINING IN MEMS AT CSIR-CEERIManish Choudhary
 
Iris based Human Identification
Iris based Human IdentificationIris based Human Identification
Iris based Human Identificationdswazalwar
 
DRDO PROJECT REPORT1
DRDO PROJECT REPORT1DRDO PROJECT REPORT1
DRDO PROJECT REPORT1Dikshya Rath
 
Ddos attacks on the data and prevention of attacks
Ddos attacks on the data and prevention of attacksDdos attacks on the data and prevention of attacks
Ddos attacks on the data and prevention of attacksRanganathSri1
 
Dormitory management system project report.pdf
Dormitory management system project report.pdfDormitory management system project report.pdf
Dormitory management system project report.pdfsisaymekonnen5
 
AUTOMATED LIBRARY MANAGEMENT SYSTEM
AUTOMATED LIBRARY MANAGEMENT SYSTEMAUTOMATED LIBRARY MANAGEMENT SYSTEM
AUTOMATED LIBRARY MANAGEMENT SYSTEMAbhishek Kumar
 
Student portal system application -Project Book
Student portal system application -Project BookStudent portal system application -Project Book
Student portal system application -Project BookS.M. Fazla Rabbi
 
Automated Attendance System Based On Facial Recognition
Automated Attendance System Based On Facial RecognitionAutomated Attendance System Based On Facial Recognition
Automated Attendance System Based On Facial RecognitionNat Rice
 
project report face recognition attendance system
project report face recognition attendance systemproject report face recognition attendance system
project report face recognition attendance systemAnkitRao82
 
47533870 final-project-report
47533870 final-project-report47533870 final-project-report
47533870 final-project-reportMohammed Meraj
 
Information Security (Dissertation)
Information Security (Dissertation)Information Security (Dissertation)
Information Security (Dissertation)Akshat Ratanpal
 

Similar to Asistencia | Live Face Recognition | Python (20)

Design and development of automated examination system
Design and development of automated examination systemDesign and development of automated examination system
Design and development of automated examination system
 
Design and Development Of Automated Examination System.
Design and Development Of Automated Examination System.Design and Development Of Automated Examination System.
Design and Development Of Automated Examination System.
 
Suriya atipong2013(tentang rfid disertasi)
Suriya atipong2013(tentang rfid disertasi)Suriya atipong2013(tentang rfid disertasi)
Suriya atipong2013(tentang rfid disertasi)
 
E learning project report (Yashraj Nigam)
E learning project report (Yashraj Nigam)E learning project report (Yashraj Nigam)
E learning project report (Yashraj Nigam)
 
raju
rajuraju
raju
 
Document Archiving & Sharing System
Document Archiving & Sharing SystemDocument Archiving & Sharing System
Document Archiving & Sharing System
 
Dormitory management system project report
Dormitory management system project reportDormitory management system project report
Dormitory management system project report
 
AUTOMATED FOOTBALL MANAGEMENT SYSTEM
AUTOMATED FOOTBALL MANAGEMENT SYSTEMAUTOMATED FOOTBALL MANAGEMENT SYSTEM
AUTOMATED FOOTBALL MANAGEMENT SYSTEM
 
REPORT ON SUMMER TRAINING IN MEMS AT CSIR-CEERI
REPORT ON SUMMER TRAINING IN MEMS AT CSIR-CEERIREPORT ON SUMMER TRAINING IN MEMS AT CSIR-CEERI
REPORT ON SUMMER TRAINING IN MEMS AT CSIR-CEERI
 
Iris based Human Identification
Iris based Human IdentificationIris based Human Identification
Iris based Human Identification
 
DRDO PROJECT REPORT1
DRDO PROJECT REPORT1DRDO PROJECT REPORT1
DRDO PROJECT REPORT1
 
AMI .pdf
AMI .pdfAMI .pdf
AMI .pdf
 
Ddos attacks on the data and prevention of attacks
Ddos attacks on the data and prevention of attacksDdos attacks on the data and prevention of attacks
Ddos attacks on the data and prevention of attacks
 
Dormitory management system project report.pdf
Dormitory management system project report.pdfDormitory management system project report.pdf
Dormitory management system project report.pdf
 
AUTOMATED LIBRARY MANAGEMENT SYSTEM
AUTOMATED LIBRARY MANAGEMENT SYSTEMAUTOMATED LIBRARY MANAGEMENT SYSTEM
AUTOMATED LIBRARY MANAGEMENT SYSTEM
 
Student portal system application -Project Book
Student portal system application -Project BookStudent portal system application -Project Book
Student portal system application -Project Book
 
Automated Attendance System Based On Facial Recognition
Automated Attendance System Based On Facial RecognitionAutomated Attendance System Based On Facial Recognition
Automated Attendance System Based On Facial Recognition
 
project report face recognition attendance system
project report face recognition attendance systemproject report face recognition attendance system
project report face recognition attendance system
 
47533870 final-project-report
47533870 final-project-report47533870 final-project-report
47533870 final-project-report
 
Information Security (Dissertation)
Information Security (Dissertation)Information Security (Dissertation)
Information Security (Dissertation)
 

Recently uploaded

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Recently uploaded (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

Asistencia | Live Face Recognition | Python

  • 1. THE MAHARAJA SAYAJIRAO UNIVERSITY OF BARODA FACULTY OF SCIENCE A PROJECT REPORT on Asistencia for Maharaja Sayajirao University of Baroda Submitted by Naomi Kulkarni Seat No: 622058 In fulfillment for the award of the degree of BACHELOR OF COMPUTER APPLICATIONS in The Department of Computer Applications May, 2018 Guide by: Mr. Kshitij Tripathi Team members: Shreya Dandavate-622021 Amey Mohite-622054 Jigar Patel-622065 Shivani Sharma -622087
  • 2. Abstract This research project involves discovering how a Face Recognition based on artificial neural network related models work under different circumstances and addressing the issues which occurred during the whole experiment. This has been done by examining situations such as training and testing on a small self- accumulated database, clutter, variations in background, noise, occlusion, computing requirements, etc. In order to test all we assembled a database of approximately 3000 images of 100 images per person. The anticipated outcome of this project was the identification of conditions that affect the recognition of faces. This research has been successful in providing valuable findings that may be useful in treating these conditions for the purpose of improving the technology.
  • 3. Acknowledgement We take this opportunity to express our gratitude to the people who have been instrumental in the successful completion of this project. We would like to thank, Dr. Apurva Shah, for keeping faith in us and giving us the opportunity to learn and build the system Asistencia. We would also like to show our greatest appreciation to Mr. Kshitij Tripathi and Mr. Vishwas Rawal for their tremendous support and help. We would like to thank Dr. Bharti Trivedi for introducing us to various concepts of Artificial Intelligence. We are grateful to them for their timely feedback which helped us track and schedule the process effectively. We would also like to extend our heartfelt gratitude to Prof. Rakesh S Srivastava, Head of Department and all the Faculty members at The Department of Computer Applications, The Maharaja Sayajirao University of Vadodara, for their constant encouragement and for providing and outstanding academic environment, also for providing adequate facilities. A special thanks to Srikumar Sastry for sharing his invaluable knowledge and for helping us out in our hard times.
  • 4. Index 1.0 Introduction..........................................................................................................................................1 1.1 Background introduction................................................................................................................ 1 1.2 Current Systems..............................................................................................................................1 1.3 Drawbacks in current systems........................................................................................................ 1 1.4 Using Biometrics........................................................................................................................... 2 1.5 Motivation.......................................................................................................................................2 2.0 Review of the Literature......................................................................................................................3 3.0 Proposed Solution................................................................................................................................ 5 3.1 Proposed System Components....................................................................................................... 5 3.2 Proposed System Outcome.............................................................................................................6 3.3 What contribution would the project make? ...................................................................................6 4.0 Methodology........................................................................................................................................ 7 5.0 Project Charter.....................................................................................................................................9 5.1 Project definition.............................................................................................................................9 5.2 Project scope.................................................................................................................................. 9 6.0 Project Plan.........................................................................................................................................10 6.1 Objectives......................................................................................................................................10 6.2 Goals............................................................................................................................................ 10 6.3 Strategies.......................................................................................................................................11 6.4 Work Division (w.r.t time)............................................................................................................14 6.5 Work Division (w.r.t team members)........................................................................................... 16 6.6 Tools and Technologies................................................................................................................ 17 7.0 System Requirements Specification..................................................................................................20 8.0 System Analysis..................................................................................................................................23 8.1 System Flow..................................................................................................................................23 8.2 System Description...................................................................................................................... 25
  • 5. 8.5 Module Specification......................................................................................................................... 25 8.5.1 Face Detection...................................................................................................................25 8.5.2 Face Recognition...............................................................................................................28 9.0 Database Design................................................................................................................................. 35 10.0 Data Flow Diagrams........................................................................................................................ 35 11.0 System Screenshots and Explanation.............................................................................................39 12.0 Testing...............................................................................................................................................48 12.1 Testing Plan.................................................................................................................................48 12.2 Testing Methods..........................................................................................................................48 12.3 Test Cases................................................................................................................................... 49 12.4 Testing Reports........................................................................................................................... 55 13.0 Conclusion.........................................................................................................................................60 14.0 Features of the System.....................................................................................................................62 15.0 Security Features..............................................................................................................................62 16.0 Benefits..............................................................................................................................................63 17.0 Limitations........................................................................................................................................63 18.0 Future Enhancements......................................................................................................................63 19.0 Experience and Learning................................................................................................................ 64 20.0 References and Bibliography.......................................................................................................... 65 List of Figures Figure 1 Student Registration Flow......................................................................................................................................................23 Figure 2 Feature Extraction.......................................................................................................................................24 Figure 3 Generating Attendance Flow...................................................................................................................... 24 Figure 4 Types Of Haar Features.............................................................................................................................. 26 Figure 5 Haar Features Applied On An image..........................................................................................................26
  • 6. Figure 6 DFD : Context Level...................................................................................................................................35 Figure 7 DFD : Level 0............................................................................................................................................. 36 Figure 8 DFD : Level 1(1.0 Student Registration)....................................................................................................37 Figure 9 DFD : Level 1(2.0 Image Acquisition).......................................................................................................37 Figure 10 DFD : Level 1(3.0 Face Detection)...........................................................................................................37 Figure 11 DFD : Level 1(4.0 Face Recognition).......................................................................................................38 Figure 12 System Interface........................................................................................................................................39 Figure 13 Sign Up Page.............................................................................................................................................39 Figure 14 Admin Information in signing up page.....................................................................................................40 Figure 15 Login Page Interface.................................................................................................................................40 Figure 16 Unsuccessful Login...................................................................................................................................41 Figure 17 Successful Login.......................................................................................................................................41 Figure 18 Admin Logged in Page............................................................................................................................. 42 Figure 19 Registration form...................................................................................................................................... 42 Figure 20 Registration form filled.............................................................................................................................43 Figure 21 Face Registration ..................................................................................................................................... 43 Figure 22 Storage of registered images ....................................................................................................................44 Figure 23 Registered student info in Excel sheet......................................................................................................44 Figure 24 Encoding of registered images..................................................................................................................45 Figure 25 Training of registered images................................................................................................................... 45 Figure 26 Attendance time........................................................................................................................................ 46 Figure 27 Unknown face identification.....................................................................................................................46 Figure 28 Generation of Attendance in Excel sheet..................................................................................................47 Figure 29 Email notification to the absentee..............................................................................................47
  • 7. Notation External Entity External entities are objects outside the system, with which the system communicates. External entities are resources and destinations of the system's inputs and outputs Data Flow Dataflow is pipelined through which packets of information flow. Label the arrows with the name of the data that moves through it. Process Transform of incoming data flow(s) to outgoing flow(s). Data Store Data stores are repositories of data in the system. They are sometimes also referred to as files, queue or as sophisticated as a relational database.
  • 8. Naming and Convention ANN - Artificial neural networks (ANNs) are biologically inspired computer programs designed to simulate the way in which the human brain processes information. ANNs gather their knowledge by detecting the patterns and relationships in data and learn (or are trained) through experience. Biometric - Biometrics is the measurement and statistical analysis of people's unique physical and behavioural characteristics. The technology is mainly used for identification and access control, or for identifying individuals who are under surveillance. RFID - RFID (radio frequency identification) is a form of wireless communication that incorporates the use of electromagnetic or electrostatic coupling in the radio frequency portion of the electromagnetic spectrum to uniquely identify an object, animal or person. Machine learning - Machine learning is a method of data analysis that automates analytical model building. It is a branch of artificial intelligence based on the idea that systems can learn from data, identify patterns and make decisions with minimal human intervention. Facial landmarks - Facial landmark detection is a fundamental step for many tasks in computer vision such as expression recognition and face alignment. ROI- A region of interest (ROI) is a subset of an image or a dataset identified for a particular purpose. Classifiers - refers to the mathematical function, implemented by a classification algorithm, that maps input data to a category. Haar cascades - A Haar Cascade is basically a classifier which is used to detect the object for which it has been trained for, from the source. The Haar Cascade is by superimposing the positive image over a set of negative images. HELEN dataset- Landmark detector was originally trained on HELEN dataset. CNN-convolutional neural network (CNN, or ConvNet) is a class of deep, feed-forward artificial neural networks that has successfully been applied to analysing visual imagery. CNNs use a variation of multilayer perceptron’s designed to require minimal pre-processing.
  • 9. Neuron-artificial- neuron is a mathematical function conceived as a model of biological neurons, a neural network. Activation function - activation function of a node defines the output of that node given an input or set of inputs. A standard computer chip circuit can be seen as a digital network of activation functions that can be "ON" (1) or "OFF" (0), depending on input. Softmax- often used in the final layer of a neural network-based classifier. Such networks are commonly trained under a log loss (or cross-entropy) regime, giving a non-linear variant of multinomial logistic regression. Pooling layer - function is to progressively reduce the spatial size of the representation to reduce the amount of parameters and computation in the network, and hence to also control overfitting. Resnet-A pre-trained model has been previously trained on a dataset and contains the weights and biases that represent the features of whichever dataset it was trained on. AT&T database - The database consists of images of 40 distinct subjects, each in 10 different facial positions and expressions.
  • 10. Department of Computer Application , The M.S. University , Vadodara 1 1.0 Introduction 1.1 Background Introduction The current method that institutions uses is the faculty passes an attendance sheet or make roll calls and mark the attendance of the students, which sometimes disturbs the discipline of the class and this sheet further goes to the admin department, which is then updated to an excel sheet. This process is quite hectic and time-consuming. Also, for professors or employees at institutes or organizations, the biometric system serves one at a time. So, why not shift to an automated attendance system which works on face recognition technique? Be it a classroom or entry gates it will mark the attendance of the students, professors, employees, etc. 1.2 Current Systems At present, attendance, marking involves manual attendance on the paper sheet by professors and teachers, but it is a very time-consuming process and chances of proxy are also an issue that arises in such type of attendance marking. Also, there is an attendance marking system such as RFID (Radio Frequency Identification), Biometrics etc. But these systems are currently not that popular in schools and classrooms for students. 1.3 Drawbacks in existing system Manual systems put pressure on people to be correct in all details of their work at all times, the problem being that people aren’t perfect, however, each of us wishes we were. ¬ These attendance systems are manual. ¬ There is always a chance of forgery (one person signing the presence of the other one) Since these are manually so there is a great risk of error. ¬ More manpower is required. ¬ Calculations related to attendance are done manually (total classes attended in a month) which is prone to error. ¬ It is difficult to maintain a database or register in manual systems. ¬ It is difficult to search for a particular data from this system (especially if that data, we are asking for, is of very long ago).
  • 11. Department of Computer Application , The M.S. University , Vadodara 2 ¬ The ability to compute the attendance percentage becomes a major task as manual computation produces errors, and also wastes a lot of time. ¬ This method could easily allow for impersonation and the attendance sheet could be stolen or lost. 1.4 Using Biometrics Biometric Identification Systems are widely used for unique identification of humans mainly for verification and identification. Biometrics is used as a form of identity access management and access control. So the use of biometrics in the student attendance management system is a secure approach. There are many types of biometric systems like fingerprint recognition, face recognition, voice recognition, iris recognition, palm recognition etc. In this project, we have used face recognition system. 1.5 Motivation The main motivation for this project was the slow and inefficient traditional manual attendance system. So, why not make it automated fast and much efficiently. Also, such face detection techniques are in use by the department of a criminal investigation where the usage of CCTV footages and detecting the faces from the crime scene and comparing them with criminal database to recognize them. It is also becoming as a feature of daily life in China, where authorities are using it on the streets, in subway stations, and at airports.
  • 12. Department of Computer Application , The M.S. University , Vadodara 3 2.0 Review of the Literature Face recognition is such a challenging yet interesting problem that it has attracted researchers from different backgrounds. It is due to this fact that the literature on face recognition is vast and diverse. The earliest work on face recognition can be traced back at least to the 1950s additionally; the research on automatic machine recognition of faces really started in the 1970s, but a fully automatic face recognition system based on a neural network was reported back in 1997. The aim of all the researches was to make face recognition as automated and accurate as possible through various types of inputs such as static images, video clips, etc. so as to increase its applications in real world. Computational methods of face recognition need to address numerous challenges. These type of difficulties appear because faces are need to be represented in such a way that best utilizes the available face information to define a specific face from all the other faces in the database. Also, extracting such detailed facial features can be used in slandering the search and enhancing recognition. The problem of automatic face recognition involves three key steps: (1) Face Detection (2) Feature extraction (3) Recognition Sometimes, the steps are not totally separated. For example, the facial features used for face recognition are often used in face detection. Face detection and feature extraction can be achieved simultaneously. Other than that accuracy depends on various factors such as, the nature of the application, size of the training and testing database, clutter and variability of the background, noise, occlusion, and computing requirements, etc. and a fully automatic face recognition system needs to perform all the three steps accurately.
  • 13. Department of Computer Application , The M.S. University , Vadodara 4 It’s evident that after more than 30 years of research and development, basic 2D face recognition and other image processing applications have reached a mature level and many commercial systems are available for various applications. Some of the major reasons for this success are faster computers, algorithmic improvements, access to large amounts of research tools and datasets, advances in machine learning and perception, the increase in affordable neural networks and now the data-hungry deep learning methods; which have started to dominate accuracy benchmarks around 2011. Various surveys also present factual data indicating that error rates in image processing tasks have fallen significantly since 2012 and are expected to for fall further in near future.
  • 14. Department of Computer Application , The M.S. University , Vadodara 5 3.0 Proposed Solution To overcome the problems in the existing attendance system we shall develop a Biometric based attendance system over simple attendance system. There are many solutions to automate the attendance management system like thumb based system, simple computerized attendance system, Iris scanner, but all these systems have limitations overwork and security point of view. Our proposed system shall be a “Face Recognition Attendance System” which uses the basic idea of image processing which is used in many security applications like banks, airports, Intelligence agencies etc. 3.1 Proposed System Components Following are the main components of the proposed system 1. Student Registration 2. Face Detection 3. Face Recognition - Feature Extraction - Feature Classification 4. Attendance management system. Attendance management will handle: - Automated Attendance marking - Manual Attendance marking - Attendance details of users. - Email notification for absentees.
  • 15. Department of Computer Application , The M.S. University , Vadodara 6 3.2 Proposed System Outcome ¬ It will mark attendance of the students via face Id. ¬ It will detect the faces via wireless camera (IP camera)/webcam and then recognize the faces. ¬ After recognition, it will mark the attendance of the recognized student and update the attendance record. ¬ The admin will be able to print these record details afterward. ¬ The students will also receive an email on low attendance rate. 3.3 What contribution would the project make? Face recognition is the most natural biological features recognition technology, according to the cognitive rule of human beings; its algorithm is ten times more complex than a fingerprint algorithm. The system will do its work even if one is not in touch with it or forget about it. Face recognition is featured by the following advantages compared to fingerprint: 1. Accurate and Fast Identification Industrial Leading Facial Recognition Algorithm, matches more data than a fingerprint, FAR<0.0001%. 2. High Usability and Security Failure to enrol and acquire rate is less than 0.0001%, fingerprint technology will have problems for enrolment with cold, wet, desquamation, elder, and around 5% people cannot get enrolled with a photo which is captured by the camera, there is no evidence with fingerprint technology to track the incident. 3. User friendly design Contactless authentication for ultimate hygiene.
  • 16. Department of Computer Application , The M.S. University , Vadodara 7 4.0 Methodology Research Methodology What Is Research? Research is a logical and systematic search for new and useful information on a particular topic. It is an investigation of finding solutions or problems of scientific and social platforms through objective and systematic analysis. The information might be collected from different sources like experiences, books, journals, nature, etc. A research can lead to new contributions to the existing knowledge. Research is done with the help of study, experiment, observation, analysis, comparison and reasoning. Research is in fact ubiquitous. For example, we know that cigarette smoking is injurious to health; heroine is addictive; cow dung is a useful source of biogas, etc. We became aware of all these information only through research. More precisely, it seeks predictions of events, explanations, relationships and theories for them. Research Methods and Research Methodology Research methods: Refers to various procedures and schemes researches use in performing research operations. Research methodology It is a systematic way to solve a problem. It is a science of studying how research is to be carried out. Essentially, the procedures by which researchers go about their work of describing, explaining and predicting phenomena are called research methodology. It is also defined as the study of methods by which knowledge is gained. Its aim is to give the work plan of research.
  • 17. Department of Computer Application , The M.S. University , Vadodara 8 What are the Objectives of Research? The prime objectives of research are: 1. To discover, verify and test new and important facts 2. To analyse an event or process or phenomenon to identify the cause and effect relationship 3. To develop new scientific tools, concepts and theories to understand scientific and non- scientific problems 4. To find solutions to scientific, non-scientific and social problems and Various Stages of a Research A general set of sequential components of research is the following: ¬ Selection of topic ¬ Definition of problem ¬ Literature survey and reference collection ¬ Assessment of current status of the topic chosen ¬ 7. Actual investigation ¬ 8. Data analysis ¬ 9. Interpretation of result ¬ 10. Report
  • 18. Department of Computer Application , The M.S. University , Vadodara 9 5.0 Project Charter 5.1 Project Definition Asistencia is face recognition, attendance biometric system which enrols the unique and permanent facial fine points of people and records them in the database as stencils. Once the enrolment process is complete, a look at the camera is required to verify the identity and the face recognition attendance system automatically marks the attendance. The face recognition, attendance system is an accurate technology for managing attendance as it hardly gives errors in proper environment with good quality of dataset. 5.2 Project Scope ¬ Provides facility for the automated attendance of students. ¬ Uses live face recognition to recognize each individual and mark their attendance automatically. ¬ Utilizes video and image processing to provide inputs to the system. ¬ Facility of marking manual attendance. ¬ Notification via email if there is a lack of attendance.
  • 19. Department of Computer Application , The M.S. University , Vadodara 10 6.0 Project Plan 6.1 Objectives - Detection of unique face image amidst the other natural component such as walls and other backgrounds. - Detection of faces amongst other face characters such as beard, spectacles etc. - Extraction of unique characteristic features of a face useful in face recognition. - Effective recognition of unique faces in a class (individual recognition). - Automated update in the attendance sheet without human intervention. - To keep the student updated with their attendance ratio. 6.2 Goals - To help the lecturers, improve and organize the process of tracking and managing student attendance. - Provides a valuable attentive service for both teachers and students. - Reduce manual process errors by providing automated and a reliable attendance system. - Increase privacy and security which, student cannot present him or his friend while they are not. - Produce monthly reports for lecturers. - Flexibility, lectures capability of editing attendance records. -Reduce time loss as time is a very valuable resource.
  • 20. Department of Computer Application , The M.S. University , Vadodara 11 6.3 Strategies 1. RecruitedtheRightResources: Recruited talent with the right skills and relevant experience as it is vital to ensure the project’s success. We allocated the right work to the appropriate person. Similarly, invested in tools that enhances efficiency and increases the team’s productivity. The latest PCs, appropriate updated hardware, development and testing software and platforms, as well as automated tools has aided team into putting their expertise to the right use and ensure a robust product. 2. SelectedtheRightDevelopmentProcess: The development life-cycle depends heavily on the process adopted. The research methodology, waterfall model, agile methodology, iterative spiral approach are all proven ways of achieving success. Selected the one that suits our project was of utmost importance. The actual adherence to and the application of the selected process is what played out in the success of the project. Made a small prototype to study feasibility and explored a new technology. 3. MadeSoundEstimations: Many projects fail or overshoot deadlines due to poor estimations. Made sound planning on estimates like schedule, budget, resources and efforts. It proved out to be the best estimation techniques. 4. DefinedSmallerMilestones: Bigger projects and major milestones was complemented with mini-milestones as it offers better tractability, improved-control, and better risk mitigation. Team members sat side by side to discuss and align these mini-milestones with the bigger milestones to meet the overall schedule and reduce inter-dependency delays. 5. DefinedRequirements: Effective requirement gathered, formed the basis of aligning the finished product with the business objectives. Defined primary, derived and implicit requirements, both functional and non-functional. Functionality was captured via the data-flow scenarios. Performance, fault tolerance, system, design and architectural requirements was well-addressed.
  • 21. Department of Computer Application , The M.S. University , Vadodara 12 6. DefinedSystemArchitecture: Ensured that the suitable architecture is selected, keeping in mind the requirements as well as the limitations and constraints, if any. Best practices such as identifying the threats and anti-patterns in the system proved out to be very helpful. 7. OptimizedDesign: Design turns out to be modular and optimal. Balancing and distributing functionality over modules can make or break a project. Object oriented approach is one such technique that ensured modularity. Ensured that the selected approach is applied well so as to achieve “maximum cohesion, minimal coupling”. Code re usability is often an under-utilized aspect in design, as it was leveraged well, it saved a lot of effort and reduced costs in the long run. 8. EffectiveCodeImplementation: Used smaller modules that are coded, self-tested, unit tested and continuously integrated. Automating build tools and automated running of regression test suited for each included functionality, ensured that existing functionality is not broken. 9. RigorousTestingandValidation: Test planning, test set creation and testing are very important to validate the developed functionality. In fact, test planning was independent of coding and was done in parallel to the coding stage. Equally important are test reporting, effective defect reporting, defect tracking and defect resolution. Use of automated tools as well as well-established processes for these ensured that bugs were caught at the earliest possible stage and resolved cost effectively. Unit testing, integration testing, functionality testing, system testing and performance testing are some of the levels of testing which was performed at its time. Each level required its own expertise, planning and execution. 10. CompleteDocumentation: As important as the actual software itself, are the documents that support it –project plan, requirement specifications, test plans, test reports, status reports and user documentation. Many a time, these documents are a part of the deliverables specified by the customer or stakeholders as well. These documents help to maintain understanding of the software,
  • 22. Department of Computer Application , The M.S. University , Vadodara 13 ensure traceability, and remove dependency upon the core development team. They can be used as a reference in future by someone else, who might work on or use the software. 11. PlanReviews: Reviews are found to be as effective and, in fact, much cheaper in catching defects than testing. Reviews of all deliverables, code and documents was done. Peer reviews as well as expert reviews were very useful. 12. EffectiveProjectManagement: Effective project management and leadership leaded to accountability and support of the team. The project team members facilitated effective planning, tracking, budgeting for the project and also ensured that appropriate resources are made available to all members. Risk management and process adherence was achieved through good project management. 13. TrackEfforts: Track man-hours of every individual within the team which mapped to the estimated and planned hours and then used for fine-tuning and better risk management. The mini- milestone planning along with effort tracking provided good feedback and status track for current as well as future projects. 14. ChangeisInevitable: It is almost certain that requirements may change while the project is in development or is deployed. This could be due to a change in user/customer’s expectation, change in business needs or simply failing to predict a problem at the right time. Instead of resisting the change, we allowed for a control mechanism to accommodate the necessary changes without impacting the existing functionality adversely. Having a CCB (Change Control Board) was one such successful method to accept or reject changes and facilitate the smooth inclusion of the change into the schedule and plan.
  • 23. Department of Computer Application , The M.S. University , Vadodara 14 6.4 Work Division (w.r.t time) Sr No. Task achieved w.r.t Time Time Taken 1. Comparison : Matlab vs. Python 26/01/18 – 27/01/18 2. Python Learning 27/01/18 – 30/01/18 3. Comparison : Python vs. Anaconda 01/02/18 – 02/02/18 4. Python IDE + Python Installation 04/02/18 – 08/02/18 5. Library identification for Face Detection 08/02/18 – 09/02/18 6. Comparison : Compatibility of Pycharm – Python 12/02/18 – 14/02/18 7. Face Detection ( OpenCV Haar Cascades vs. Viola Jones) 14/02/18 – 17/02/18 8. Static image Face Detection using OpenCV 20/02/18 – 21/02/18 9. Real-Time Face Detection with Web Camera ( gray-scaled face images ) (a) Normal Screen (b) Gray-Scaled Screen 22/02/18 – 26/02/18 10. Real-Time Face Detection with IP Camera ( gray-scaled face images ) 27/02/18 – 28/02/18 11. Database Storage (a) MySQL (b) SQLite 03/03/18 – 08/03/2018 12. Comparison : Face Dataset concepts (a) AR Face Database (b) AT & T Face Database (c) BioID Face Database (d) Caltech Face Database (e) CAS-PEAL Face Database (f) CMU Multi-PIE Face Database (g) CVRL Biometrics Face Database (h) FaceScrub Database (i) Indian Movie Face Database (j) JAFFE Database (k) Labeled Faces in the Wild Database (l) PUT Face Database 12/03/18 – 14/03/18 13. Multiclass database face storage into secondary memory 14/03/18 – 15/03/18 14. Learning : Neural Network , Tensorflow , Theano , TFLearn , Keras 15/03/18 – 17/03/18 15. Issue Solved : Libraries Compatibility with (a) Pycharm versions (b) Python versions 17/03/18 – 19/03/18 16. Formation of Neural Network ( creating neurons for layers ) 19/03/18 – 20/03/18
  • 24. Department of Computer Application , The M.S. University , Vadodara 15 17. Learning : Neurons Activation Function (a) Binary Step Function (b) Linear Function (c) Sigmoid/ Logistic Function (d) Tanh – Hyperbolic Tangent Function (e) ReLu – Rectified Linear Units Function (f) Leaky ReLu Function (g) Maxout Function (h) SoftMax Function 20/03/18 – 21/03/18 18. Comparison : ANN vs. CNN 21/03/18 – 21/03/18 19. Comparison : CNN vs. Capsule Networks 21/03/18 – 21/03/18 20. Learning : Face Recognition Models (a) LeNet (b) AlexNet (c) ZFNet (d) GoogleLeNet (e) VGG Net (f) Inception-v3 (g) ResNet 21/03/18 – 22/03/18 21. Pre-processing Face Dataset 22/03/18 – 23/03/18 22. Issue Solved : Overwriting data in Excel Sheet 23/03/18 – 24/03/18 23. Automatic entry of registered student’s detail in Excel Sheet 24/03/18 – 24/03/18 24. Automatic current date incremented column in existing Excel Sheet 26/03/18 – 27/03/18 25. Learning : Feature Extraction and Classification 27/03/18 – 27/03/18 26. Learning : Methods for training pre-processed face dataset 27/03/18 – 27/03/18 27. Graphical User Interface using PyQT4 and PyQT5 28/03/18 – 30/03/18 28. Issue Solved : conversion of .ui to .py files 30/03/18 – 31/03/18 29. Facial Landmark Detection 31/03/18 – 02/04/18 30. Eye Blink Detection 02/04/18 – 05/04/18 31. Static Face Recognition 07/04/18 – 06/04/18 32. Real-Time Face Classification : (a) Support Vector Machine (b) K - Nearest Neighbors 07/04/18 – 10/04/18 33. Real-Time Face Recognition – Residual Network 10/04/18 – 13/04/18 34. Graphical User Interface creation using KIVY 13/04/18 – 19/04/18 35. Automated attendance marking with Identified Label 19/04/18 – 21/04/18 36. E-mail Notification to absentees 23/04/18 – 25/04/18 37. Attendance Report Generation 25/04/18 – 06/04/18 38. Integration of System 26/04/18 – 01/05/18 49. Testing of the System 01/05/18 – 05/05/18
  • 25. Department of Computer Application , The M.S. University , Vadodara 16 6.5 Work Division (w.r.t team members) Amey Mohite -Integration of Web camera/IP Camera -Training .csv and .pkl files -Automated attendance entry in Excel sheet -Email-notification -Live prediction Jigar Patel -Graphical User Interface -Face Detection using CNN -Training .csv and .pkl files -Automated date increment -Testing Naomi Kulkarni -Face detection using CNN -Encoding registered images -Live prediction -Unknown face identification -Testing Shivani Sharma -Graphical user interface -Face detection CNN -Live prediction -Creation of automatic Excel sheet and registration of student information -Integration Shreya Dandavate -Face detection using OpenCV -Capturing 100 images automatically and storage in database -Face detection using CNN -Encoding registered images -Reports generated
  • 26. Department of Computer Application , The M.S. University , Vadodara 17 6.6 Tools and Technologies  Tools ¬ Software Components  PyCharm  Microsoft Excel ¬ Hardware Components  IP camera/Web Camera  Computer  Technologies ¬ Python ¬ Kivy ¬ PyCharm libraries  Pandas: A Python package which provides fast, flexible and expressive data structures and data analysis tools designed to make working with various types of data both easily and intuitively.  Pickle: Pickle Module is used for serializing and de-serializing a Python object structure by pickling being the way to convert it into a character stream for it to be saved on disk.  Sklearn: Scikit-learn is a very powerful Python library for machine learning & predictive modeling.  NumPy : A library for the Python programming language, adding support for large, multi-dimensional arrays and matrices, along with a large collection of high-level mathematical functions to operate with.  Sip: A tool that has the ability to take existing libraries, written in C or C++ and making them available as Python extension modules.
  • 27. Department of Computer Application , The M.S. University , Vadodara 18  Matplotlib: A plotting library for the Python programming language and its numerical mathematics extension NumPy.  Scipy: It is an open-source Python library used for scientific and technical computing.  Random: The random module is another library of functions that can extend the basic features of python.  Kivy: An open source Python framework for rapid development of applications that make use of innovative user interfaces, such as multi-touch apps.  Tensorflow: A Python library for fast numerical computing created and released by Google. It is a foundation library that can be used to create Neural Network and Deep Learning models directly or by using wrapper libraries that simplify the process built on top of Tensorflow.  Keras: An open source neural network library written in Python. It is capable of running on top of Tensorflow, Microsoft Cognitive Toolkit, Theano, or MXNet. Designed to enable fast experimentation with deep neural networks, it focuses on being user-friendly, modular, and extensible.  Dlib: Contains a wide range of machine learning algorithms. All designed to be highly modular, quick to execute, and simple to use. It is used in a wide range of applications including robotics, embedded devices, mobile phones, and large high performance computing  Os: The module provides a portable way of using operating system dependent functionality.
  • 28. Department of Computer Application , The M.S. University , Vadodara 19  OpenCV-Python: A Python wrapper for the original OpenCV C++ implementation. OpenCV-Python makes use of NumPy, which is a highly optimized library for numerical operations with MATLAB-style syntax. All the OpenCV array structures are converted to and from NumPy arrays.  Six: It provides utility functions for smoothing over the differences between the Python versions with the goal of writing Python code that is compatible on both Python versions.  Openpyxl : The Openpyxl module allows your Python programs to read and modify Excel spreadsheet files.  Pyexcel : Provides an application programming interface to read, manipulate and write data in different excel formats and makes information processing involving excel files less tedious.
  • 29. Department of Computer Application , The M.S. University , Vadodara 20 7.0 System Requirements Specification I. Technical Requirement i. Hardware Requirements  A standalone computer (i3 5th Gen, 8gb ram or higher)  High-quality wireless camera to capture images  Secondary memory to store all the images and database ii. Software requirements  PyCharm professional 2017.2.4 or higher  Python 3.5 or more  Windows 8 or higher  Latest version of all libraries II. Functional Requirements System functional requirement describes activities and services that must provide. ¬ A user must be able to manage student records. ¬ An only authorized user must be able to use the system. ¬ A system must be attached to wireless camera and face recognition should be smooth. ¬ The administrator or the person who will be given the access to the system must login into the system before using it. ¬ The information must be entered and managed properly.
  • 30. Department of Computer Application , The M.S. University , Vadodara 21 III. Non-Functional Requirements Non-functional Requirements are characteristics or attributes of the system that can judge its operation. The following points clarify them: a. Accuracy and Precision: the system should perform its process with accuracy and precision to avoid problems. b. Flexibility: the system should be easy to modify, any wrong should be correct. c. Security: the system should be secure and saving student's privacy. d. Usability: the system should be easy to deal with and simple to understand. e. Maintainability: the maintenance group should be able to cope up with any problem when occurs suddenly. f. Speed and Responsiveness: Execution of operations should be fast. Non–Functional Requirements are as follow: ¬ The GUI of the system will be user-friendly. ¬ The data that will be shown to the users will be made sure that it is correct and is available for the time being. The system will be flexible to changes. ¬ The system will be extended for changes and to the latest technologies. ¬ Efficiency and effectiveness of the system will be made sure. ¬ The performance of the system will be made sure. IV. Student Requirements ¬ A student needs to enter the proper details while registering him/her. ¬ He/ She needs to sit properly and capture 10-15 images of himself/herself in different directions and expressions. ¬ At the time of taking attendance, students need to sit properly facing the camera.
  • 31. Department of Computer Application , The M.S. University , Vadodara 22 V. Teaching Staff Requirements ¬ The faculty needs to log into the system at the time of attendance. ¬ The faculty needs to enter lecture details before starting the attendance process. ¬ If the entered lecture details don’t match with the ones in the database (excel sheet) an error dialog will be displayed. ¬ As the students are recognized by the system, the attendance report will be generated and shown to the faculty. VI. Administrator Requirements ¬ The administrator needs to log into the system at the time of registering the students in the face recognition process. ¬ He / She must make sure that the student enters the details properly. ¬ Only the administrator has the rights to manage any changes in the system. ¬ Only the administrator is allowed to view the Training set and the Testing set. ¬ Only the administrator has the rights to manage any changes in the stored data set.
  • 32. Department of Computer Application , The M.S. University , Vadodara 23 8.0 System Analysis 8.1 System Flow Admin logins the system Student registration interface provided The camera is enabled for capturing face images of the student Student enters details In real-time the student’s face is detected and highlighted on the window On clicking Submit, entered data is stored in the excel workbook The detected faces are cropped Cropped faces are stored in the respective student’s name folder Figure 1 Student Registration Flow
  • 33. Department of Computer Application , The M.S. University , Vadodara 24 8.1.2 Feature Extraction Figure 2 Feature Extraction 8.1.3 Generating Attendance Flow Classifier file is created based on the stored information Extraction of facial features for comparison from training set and test image for face recognition The extracted facial features and the student’s folder name are stored in separate files Student glances at the camera for attendance Student’s face is detected in real-time The facial region of interest is grabbed from the frame The test image is then classified and the face is identified by comparing it with the training face dataset An e-mail is sent to the absentees regarding their absence The attendance is marked ‘Present’ for recognized student face, rest remains ‘Absent’ Figure 3 Generating Attendance Flow
  • 34. Department of Computer Application , The M.S. University , Vadodara 25 8.2 System Description Asistencia is face recognition, attendance system which consists of various phases throughout the completion of the process and is accessed by the administrator. The administrator must be signed up before accessing the system. Login permission is required for the system to be used. For the student to be recognized they need to be registered. For registration, a form must be filled up with the basic details of a student. Once the form is filled up, 100 images of a student are captured automatically after face being detected as a part of the registration process and are stored in the training set within the particular student folder. Encoding of the register images takes place. Followed by training of images inside the training set which creates .csv and .pkl file for images that are encoded and their labels. During attendance, webcam is connected, and as students enter the class their faces are detected and recognized after which, an entry is marked in Excel sheet as a present and other as absent. Unknown faces are shown as ‘Unknown’. Reports are generated on the basis of attendance sheet monthly and Email notification is sent to the students who are absent. 8.5 Module Specification 8.5.1 Face Detection Detecting facial landmarks is a subset of the shape prediction problem. Facial landmarks such as eyes, eyebrows, nose, mouth, jaw line were used to localize and represent salient regions of the face. Given an input image, a shape predictor attempts to localize key points of interest along the shape. In the context of facial landmarks, our goal was to detect important facial structures on the face using shape prediction methods. Detecting facial landmarks is therefore involves localizing the face in the image and detecting the key facial structures on the face ROI. Dlib and OpenCV were used to detect facial landmarks in an image. Face detection has been achieved by us in two ways. 1. Using Opencv’s built-in particular Haar Cascades. 2. Using a model for predicting facial landmarks.
  • 35. Department of Computer Application , The M.S. University , Vadodara 26 1. Face detection using Opencv’s Haar Cascades Using the Haar feature-based cascade classifiers is an effective object detection method proposed by Paul Viola and Michael Jones in their paper, "Rapid Object Detection using a Boosted Cascade of Simple Features" in 2001. It is a machine learning based approach where a cascade function is trained from a lot of positive and negative images. It is then used to detect objects in other images. Figure 4 Types of Haar Features Figure 5 Haar features applied on an image 2. Face Detection using a model for predicting facial landmarks. The algorithm used to detect the face in the image matter less, instead what matters is given the face region where we can apply facial landmark detector. For detecting key facial structures in the face region we have used a pre-trained facial landmark detector which estimates the location of 68 (x, y)-coordinates that map to facial structures on the face. There are other facial landmark detectors, but all of them try to localize and label the following facial regions: Mouth, Right eyebrow, Left eyebrow, Right eye, Left eye, Nose, Jaw, etc.
  • 36. Department of Computer Application , The M.S. University , Vadodara 27 The indexes of the 68 coordinates can be visualized on the image below: These annotations are part of the 68 point iBUG 300-W dataset with which the dlib facial landmark predictor was trained. It’s important to note that other options of facial landmark detectors exist, including the 194 point model that is trained on the HELEN dataset. Regardless of which dataset is used, the same dlib framework can be leveraged to train a shape predictor on the input training data which can be useful if one likes to train facial landmark detectors or custom shape predictors.
  • 37. Department of Computer Application , The M.S. University , Vadodara 28 8.5.2 Face Recognition 1. Using the concept of Convolutional Neural Network CNN is a class of deep, feed-forward artificial neural networks that has successfully been applied to analysing visual imagery. CNNs have wide applications in image and video recognition, recommender systems and natural language processing. Like other neural networks, CNN are made up of neurons with learnable weights and biases. Each neuron receives several inputs, takes a weighted sum over them, pass it through an activation function and responds with an output. The whole network has a loss function and all the tips and tricks developed for neural networks still apply on CNNs. Unlike neural networks, where the input is a vector, here the input is a multi-channelled image (3 channelled in this case). What is a Convolution? We take the 5*5*3 filter and slide it over the complete image and along the way take the dot product between the filter and chunks of the input image.
  • 38. Department of Computer Application , The M.S. University , Vadodara 29 For every dot product taken, the result is a scalar. So, what happens when we convolve the complete image with the filter?
  • 39. Department of Computer Application , The M.S. University , Vadodara 30 Now, back to CNNs The convolution layer is the main building block of a convolutional neural network. Below is an example of Convolution layer. The convolution layer comprises of a set of independent filters (6 in the example shown). Each filter is independently convolved with the image and we end up with 6 feature maps of shape 28*28*1.CNNs have a couple of concepts called parameter sharing and local connectivity. Parameter sharing is sharing of weights by all neurons in a particular feature map. Local connectivity is the concept of each neural connected only to a subset of the input image (unlike a neural network where all the neurons are fully connected). This helps to reduce the number of parameters in the whole system and makes the computation more efficient. Pooling Layers A pooling layer is another building block of a CNN.
  • 40. Department of Computer Application , The M.S. University , Vadodara 31 Its function is to progressively reduce the spatial size of the representation to reduce the amount of parameters and computation in the network. Pooling layer operates on each feature map independently. The most common approach used in pooling is max pooling. 2. Residual Networks As per what we have seen so far, increasing the depth should increase the accuracy of the network, as long as over-fitting is taken care of. But the problem with increased depth is that the signal required to change the weights, which arises from the end of the network by comparing ground-truth and prediction becomes very small at the earlier layers, because of increased depth. It essentially means that earlier layers are almost negligible learned. This is called vanishing gradient. The second problem with training the deeper networks is, performing the optimization on huge parameter space and therefore naively adding the layers leading to higher training error. Residual networks allow training of such deep networks by constructing the network through modules called residual models as shown in the figure. This is called degradation problem. The plain 34 layer network had higher validation error than the 18 layer plain network. This is where we realize the degradation problem. And the same 34 layer network when converted into the residual network has much lesser training error than the 18 layer residual network.
  • 41. Department of Computer Application , The M.S. University , Vadodara 32
  • 42. Department of Computer Application , The M.S. University , Vadodara 33 Residual Networks vs. Other Convolutional Neural Network Year CNN Developed by Place Top-5 error rate No. of parameters 1998 LeNet(8) Yann LeCun et al 60 thousand 2012 AlexNet(7) Alex Krizhevsky, Geoffrey Hinton, IIya Sutskever 1st 15.3% 60 million 2013 ZFNet() Matthew Zeilerand Rob Fergus 1st 14.8% 2014 GoogLeNEet(19) Google 1st 6.67% 4 million 2014 VGG Net(16) Simonyan, Zisserman 2nd 7.3% 138 million 2015 ResNet(152) Kaiming He 1st 3.6% As we can see that this all started way back in 1998 and the CNN used was LeNet (8).Over a period of developing phase the least error rate was noticed on ResNet (152) with only 3.6% of error rate in 2015. AlexNet: - This architecture was one of the first deep networks to push ImageNet Classification accuracy by a significant stride in comparison to traditional methodologies. It is composed of 5 convolutional layers followed by 3 fully connected layers. VGG Net (16):- This architecture is from VGG group, Oxford. It makes the improvement over AlexNet by replacing large kernel-sized filters (11 and 5 in the first and second convolutional layer, respectively) with multiple 3X3 kernel-sized filters one after another. With a given receptive field(the effective area size of input image on which output depends), multiple stacked smaller size kernel is better than the one with a larger size kernel because multiple non-linear layers increases the depth of the network which enables it to learn more complex features, and that too at a lower cost.
  • 43. Department of Computer Application , The M.S. University , Vadodara 34 GoogLeNet (19):- While VGG achieves a phenomenal accuracy on ImageNet dataset, its deployment on even the most modest sized GPUs is a problem because of huge computational requirements, both in terms of memory and time. It becomes inefficient due to large width of convolutional layers. For instance, a convolutional layer with 3X3 kernel size which takes 512 channels as input and outputs 512 channels, the order of calculations is 9X512X512. AlexNet has parallel two CNN line trained on two GPUs with cross-connections, GoogLeNet has inception modules, and ResNet has residual connections. 3. Face Recognition using dlib ResNet Deep metric learning is useful for a lot of things, but the most popular application is face recognition. The model used is a ResNet network with 29 convolutional layers which is a pre- trained model. It's essentially a version of the ResNet-34 network from the paper ‘Deep Residual Learning for Image Recognition’ by He, Zhang, Ren, and Sun with a few layers removed and the number of filters per layer reduced by half. The network was trained from scratch on a dataset of about 3 million faces which were derived from a number of datasets. The face scrub dataset, the VGG dataset, and then a large number of images scraped from the internet. This model has an accuracy of 99.38% on the standard labelled Faces in the Wild benchmark. This is comparable to other state-of-the-art models and means that, given two face images, it correctly predicts if the images are of the same person 99.38% of the time provided in good environmental conditions. The training started by randomly initializing weights and using a structured metric loss that tries to verify all the identities into non-overlapping balls of radius 0.6. The type loss observed is a pair-wise hinge loss that runs over all pairs in a mini-batch and includes hard-negative mining at the mini-batch level.
  • 44. Department of Computer Application , The M.S. University , Vadodara 35 9.0 Database Design 10.0 Data Flow Diagrams Figure 6 DFD : Context Level
  • 45. Department of Computer Application , The M.S. University , Vadodara 36 Figure 7 DFD : Level 0
  • 46. Department of Computer Application , The M.S. University , Vadodara 37 Figure 9 DFD : Level 1 (2.0 Image Acquisition ) Figure 10 DFD : Level 1 ( 3.0 Face Detection ) Figure 8 DFD : Level 1 ( 1.0 Student Registration )
  • 47. Department of Computer Application , The M.S. University , Vadodara 38 Figure 11 DFD : Level 1 ( 4.0 Face Recognition )
  • 48. Department of Computer Application , The M.S. University , Vadodara 39 11.0 System Screenshots and Explanation Figure 12 System Interface Figure 13 Sign Up Page
  • 49. Department of Computer Application , The M.S. University , Vadodara 40 Figure 14 Admin Information in signing up page Figure 15 Login Page Interface
  • 50. Department of Computer Application , The M.S. University , Vadodara 41 Figure 16 Unsuccessful Login Figure 17 Successful Login
  • 51. Department of Computer Application , The M.S. University , Vadodara 42 Figure 18 Admin Logged in Page Figure 19 Registration form
  • 52. Department of Computer Application , The M.S. University , Vadodara 43 Figure 20 Registration form filled Figure 21 Face Registration
  • 53. Department of Computer Application , The M.S. University , Vadodara 44 Figure 22 Storage of registered images Figure 23 Registered student info in Excel sheet
  • 54. Department of Computer Application , The M.S. University , Vadodara 45 Figure 24 Encoding of registered images Figure 25 Training of registered images
  • 55. Department of Computer Application , The M.S. University , Vadodara 46 Figure 26 Attendance time Figure 27 Unknown face identification
  • 56. Department of Computer Application , The M.S. University , Vadodara 47 Figure 28 Generation of Attendance in Excel sheet Figure 29 Email notification to the absentee
  • 57. Department of Computer Application , The M.S. University , Vadodara 48 12.0 Testing 12.1 Testing Plan The testing plan includes planning for several functions like: ¬ Login feature ¬ Registration of students ¬ Face detection ¬ Capturing 100 images automatically ¬ Face recognition from registered database ¬ Unknown face detection ¬ Attendance entry in Excel sheet ¬ Reports generation ¬ Email notification 12.2 Testing Methods Considering the scope of the project and the time limitations, we will be performing following tests. a) Unit Test – This test verifies the program logic and is based on the knowledge of the program structure. b) Integration Test – This test verifies the entire system’s functionality according to the design specification. c) Business Requirements – This test verifies whether specific requirements of the customer are met. d) Acceptance Testing – This test verifies whether the system needs to meet the initial objectives and customer’s expectations.
  • 58. Department of Computer Application , The M.S. University , Vadodara 49 12.3 Test Cases ID TC01 TITLE Admin sign up PREREQUISTE Full Name Username Password TEST ACTION 1. Start Asistencia application 2. Fill in details of sign up page of the admin EXPECTED RESULT On signing up it should create an admin account. ID TC02 TITLE Admin log in PREREQUISTE Username Password TEST ACTION 1. Start Asistencia application 2. Log in with the same details which have been signed up in EXPECTED RESULT Logging in should check, whether the username is correct or not and provide access to it or denial warning message respectively
  • 59. Department of Computer Application , The M.S. University , Vadodara 50 ID TC03 TITLE Student registration form PREREQUISTE Roll no Name Semester Email TEST ACTION 1. Start Asistencia application 2. Admin log in 3. Student registration EXPECTED RESULT Registration form should be filled up according to the validation set up and any incorrect detail should be popped as a warning message to the user. ID TC04 TITLE Storing details of the Registration form PREREQUISTE Registered from filled up correctly TEST ACTION 1. Start Asistencia application 2. Admin log in Student registration EXPECTED RESULT Should check, whether the excel sheet, the name of a sheet according to the semester and subject is present or not and store information into that specific sheet or create a new one of that name and store in it respectively.
  • 60. Department of Computer Application , The M.S. University , Vadodara 51 ID TC05 TITLE IP camera configuration and integration PREREQUISTE IP camera TEST ACTION 1. Start Asistencia application 2. Admin log in 3. Student registration form 4. Student face registration EXPECTED RESULT IP camera should be connected and turned on after filling up the registration form. ID TC06 TITLE Registration of faces PREREQUISTE IP camera TEST ACTION 1. Start Asistencia application 2. Admin log in 3. Student registration form 4. Student face registration EXPECTED RESULT After connecting IP camera to the system, the face should be detected and automatically capture 100 images of a particular student and close automatically with a message of Registration over.
  • 61. Department of Computer Application , The M.S. University , Vadodara 52 ID TC07 TITLE Storage of registered face in Training set PREREQUISTE Training set folder TEST ACTION 1. Start Asistencia application 2. Admin log in 3. Student registration form 4. Student face registration EXPECTED RESULT Check if the Training set folder is available or not if not create a new one, in its check whether the name of a student’s folder is available inside it or not, if not create a new one and store images into the student’s folder name. ID TC08 TITLE Encoding registered faces PREREQUISTE Training set TEST ACTION 1. Start Asistencia application 2. Admin log in 3. Encode Database EXPECTED RESULT Get the folder names in training-dir as labels To be encoded in numerical form for Machine learning and if a file with the same name already exists, backup the old file.
  • 62. Department of Computer Application , The M.S. University , Vadodara 53 ID TC09 TITLE Training PREREQUISTE Training set .csv and .pkl file TEST ACTION 1. Start Asistencia application 2. Admin log in 3. Train Database EXPECTED RESULT Save encoding file with .csv format and labels in .pkl. ID TC10 TITLE Live face recognition PREREQUISTE Encoding and Training should be done before a live prediction TEST ACTION 1. Start Asistencia application 2. Admin log in 3. Take Attendance EXPECTED RESULT Camera should be connected and turned on automatically and detected face of registered students as well of unknown and name should be printed on the rectangular bounding box.
  • 63. Department of Computer Application , The M.S. University , Vadodara 54 ID TC11 TITLE Attendance entry in Excel sheet PREREQUISTE Live prediction should be on. TEST ACTION 1. Start Asistencia application 2. Admin log in 3. Take Attendance EXPECTED RESULT Check whether today’s date is available or not if not enter today’s date in a column next to yesterday’s date and match name which are already printed at the time of registration with the matched faces labels and mark present besides the name and under today’s date. ID TC12 TITLE View Attendance PREREQUISTE Excel sheet should be present TEST ACTION 1. Start Asistencia application 2. Admin log in 3. Email Notification EXPECTED RESULT Notifies absentees through email on that particular date
  • 64. Department of Computer Application , The M.S. University , Vadodara 55 12.4 Testing Reports TC01 ITERATION EXPECTED RESULT ACTUAL RESULT STATUS 1 On signing up it should create an admin account. On signing up it should create an admin account. PASS TC02 ITERATION EXPECTED RESULT ACTUAL RESULT STATUS 1 Logging in should check, whether the username is correct or not and provide access to it or denial warning message respectively Logging in should check, whether the username is correct or not and provide access to it or denial warning message respectively PASS TC03 ITERATION EXPECTED RESULT ACTUAL RESULT STATUS 1 Registration form should be filled up according to the validation set up and any incorrect detail should be popped as a warning message to the user. Registration form should be filled up according to the validation set up and any incorrect detail should be popped as a warning message to the user. PASS
  • 65. Department of Computer Application , The M.S. University , Vadodara 56 TC04 ITERATION EXPECTED RESULT ACTUAL RESULT STATUS 1 Should check, whether the excel sheet, the name of a sheet according to the semester and subject is present or not and store information into that specific sheet or create a new one of that name and store in it respectively. Checks whether the excel sheet, the name of a sheet according to the semester and subject is present or not and store information into that specific sheet or create a new one of that name and store in it respectively. PASS TC05 ITERATION EXPECTED RESULT ACTUAL RESULT STATUS 1 IP camera should be connected and turned on after filling up the registration form. IP camera is connected and turned on after filling up the registration form. PASS TC06 ITERATION EXPECTED RESULT ACTUAL RESULT STATUS 1 After connecting IP camera to the system, the face should be detected and automatically capture 100 images of a particular student and close automatically with a message of Registration over. After connecting IP camera to the system, the face gets detected and automatically capture’s 100 images of a particular student and closes automatically with a message of Registration over. PASS
  • 66. Department of Computer Application , The M.S. University , Vadodara 57 TC07 ITERATION EXPECTED RESULT ACTUAL RESULT STATUS 1 Check if the Training set folder is available or not if not create a new one, in its check whether the name of a student’s folder is available inside it or not, if not create a new one and store images into the student’s folder name. Check if the Training set folder is available or not if not create a new one, in its check whether the name of a student’s folder is available inside it or not, if not create a new one and store images into the student’s folder name. PASS TC08 ITERATION EXPECTED RESULT ACTUAL RESULT STATUS 1 Get the folder names in training-dir as labels To be encoded in numerical form for Machine learning and if file with same name already exists, backup the old file Get the folder names in training-dir as labels Which is encoded in numerical form for Machine learning and if file with same name already exists, backup’s the old file. PASS
  • 67. Department of Computer Application , The M.S. University , Vadodara 58 TC09 ITERATION EXPECTED RESULT ACTUAL RESULT STATUS 1 Save encoding file with .csv format and labels in .pkl. Save encoding file with .csv format and labels in .pkl. PASS TC10 ITERATION EXPECTED RESULT ACTUAL RESULT STATUS 1 Camera should be connected and turned on automatically and detected face of registered students as well of unknown and name should be printed on the rectangular bounding box. Camera gets connected and turned on automatically and detects the face of registered students but due to light condition unknown faces are mismatched and distance up to 1-2foot FAIL 2 Camera should be connected and turned on automatically and detected face of registered students as well of unknown and name should be printed on the rectangular bounding box. Camera gets connected and turned on automatically and detects the face of registered students as well of an unknown in proper lighting condition and name is printed on the rectangular bounding box. PASS
  • 68. Department of Computer Application , The M.S. University , Vadodara 59 TC11 ITERATION EXPECTED RESULT ACTUAL RESULT STATUS 1 Check whether today’s date is available or not if not enter today’s date in a column next to yesterday’s date and match name which are already printed at the time of registration with the matched faces labels and mark present besides the name and under today’s date. Check whether today’s date is available or not if not enter today’s date in a column next to yesterday’s date and match name which are already printed at the time of registration with the matched faces labels and mark present besides the name and under today’s date. PASS TC12 ITERATION EXPECTED RESULT ACTUAL RESULT STATUS 1 Notifies absentees through email on that particular date Notifies absentees through email on that particular date PASS
  • 69. Department of Computer Application , The M.S. University , Vadodara 60 13.0 Conclusion The anticipated outcome of this project was the identification of condition that affects the recognition of faces and to what extent. The results have been classified into different parts. 1. Testing with SVM vs K-Nearest 1.1. General Details SVM K-Nearest Neighbor  SVM is a framework very interesting from a machine learning perspective and is mostly used for classification and regression analysis  A SVM is a linear or non-linear classifier, which is a mathematical function that can distinguish two different kinds of objects.  The k-nearest neighbor is a pattern recognition technique for classifying objects based on closest training examples in the problem space  In k-nearest neighbor an object is classified by a majority vote of its neighbors, with the object being assigned to the class most common amongst its k nearest neighbors. 1.2. Result comparison Accuracy has been calculated by testing 10 faces of each factor and accurate recognition rates are mentioned in the table below where rates are derived using the formula: Accuracy % = (correct prediction/ total supplied values) * 100 Average SVM K-nearest neighbor 1.Accuracy of Recognition 90 % 60 % 2.Processing time for encoding and training(in Minutes with 30 classes) 26.1 22min min
  • 70. Department of Computer Application , The M.S. University , Vadodara 61 2. Testing with different datasets 2.1. Encoding and training of Images The raw data i.e. unstructured and individual listings aren't always clean-cut and complete, this can be problematic. Thus we selected data for experiment purpose in CSV format. Time mentioned below is in Minutes. Images per person Accuracy with i7 4th Generation Accuracy with i3 5th Generation Accuracy with i5 4th Generation SVM K-NN SVM K-NN SVM K-NN 50 Images 17.4 Min 15.3 Min 19.3 Min 16.1 Min 17 Min 14.2 Min 100 Images 31.8 Min 28.5 Min 38 Min 34 Min 34.6 Min 25.5 Min 3. Testing with different quality of Images 3.1. According to pixel value Accuracy rate measured when images varying of their pixel values were tested. Pixel Range Accuracy 100-150 80 % 150-300 80 % 300 < 90 %
  • 71. Department of Computer Application , The M.S. University , Vadodara 62 3.2. Webcam vs IP-Camera Accuracy rate when input devices were switched between Webcam and IP-Camera. Device Accuracy Webcam Totally depends on the pre-defined resolution and fps of the camera.IP-Camera 3.3. Types of Images Accuracy rates with training dataset containing and without blur images. Quality Accuracy With Blur Images 30 % Without Blur Images 80 % 4. Difference in models Dlib’s model with 68 land mark points OpenCV Haar-Cascade for face detection The pre-trained facial landmark detector inside the Dlib library is used to estimate the location of 68 (x, y)- coordinates that map to facial structures on the face. OpenCV comes with a trainer as well as detector. If the detection window fails the first stage, discard it and don't consider remaining features on it. If it passes, apply the second stage of features and continue the process. The window which passes all stages is a face region.
  • 72. Department of Computer Application , The M.S. University , Vadodara 63 5. Memory Memory used Amount of main memory with is used to execute the algorithm is defined as memory used which is given in MB. SVM K-nearest neighbor Memory Used 191 228 6. Conclusion for future work  After the experiment our findings were that K-NN is a good classifier but when we applied our dataset there was sharp fluctuation in the prediction rates which lead to changing performance parameters constantly for every newer condition.  K-NN kept performing worst as the size of the dataset increased thus concluding that it’s a best fit for a small dataset.  SVM is complex classifier but we found that the accuracy and other performance parameters do not depend much over the size of the training dataset but instead are dependent on the no of epochs, so SVM was much better when compared with the K-NN. MB MB
  • 73. Department of Computer Application , The M.S. University , Vadodara 64 14.0 Features of the System ¬ Authorized by administrator. ¬ Registration of student details and faces. ¬ Automatically captures 100 images at the time of registration ¬ Creation of student’s folder where images are stored is created automatically. ¬ Face are recognized matching with registered image ¬ Unknown persons are identified ¬ Excel sheet and sheet is created automatically if not created ¬ Reports are generated as an when required ¬ E-mail notification 15.0 Security Features As Asistencia does not consists of any external database or server-based database. (AT&T database concept is being used to store in the form of training set.) This database is generated itself in the computer system, it has a hierarchical architecture of folders to save the data from our Attendance system. It can be made secure by giving folders admin rights and locking it with passwords. So, an unauthorized user would not be able to access the internal data of the system and make any changes.
  • 74. Department of Computer Application , The M.S. University , Vadodara 65 16.0 Benefits ¬ Ease of use. ¬ Saves time and efforts ¬ Proxy system is totally eliminated. ¬ Used for security purposes. ¬ Multiple face detection. ¬ Multiple face recognition. ¬ Unknown faces are identified. ¬ As the system stores the faces that are detected during registration and automatically marks attendance faster. Providing authorized access. 17.0 Limitations ¬ Expensive ¬ Difficulties with big data processing and storing without gpu and RAM below 4GB ¬ Weak camera angle, low-lighting and image quality. ¬ Deluded by identical twins 18.0 Future Enhancement Asistencia has an immensely boundless scope in future. It can be amended as and when requirement emerges, as it is versatile in terms of the extension. There are some facets which can be further modified such as recognized distance can be extended, Graphics processing unit (GPU) can be used for a large amount of the database and quick processing, data storage can be made server-based and can be integrated with multiple cameras at the same time.
  • 75. Department of Computer Application , The M.S. University , Vadodara 66 19.0 Experience and Learning As the saying goes “The only source of knowledge is experience”. We gained strength, courage and confidence by every experience, making us ready for facing every challenge ahead of us. Learning was one of the most fun and challenging part of this project as Artificial Intelligence was the topic we wanted to explore further. We were offered a chance to strengthen our concepts regarding varied topics such as Feature Extraction, Face Detection, Face Recognition, Neural Networks, File Manipulation, Data Security, and substantially many more. This project helped us getting aware by giving us a brief insight of the challenges that the Tech- Industry holds and also the ability of handling important projects by applying the most suitable strategy with considering all the important aspects. The whole experience was similar to reading a Sherlock Homes book, i.e. upcoming challenges at every step with a touch of uncertainty and mystery. It has been such a unique experience where every suffering was worth going through and without which nothing would have been possible. Furthermore it’s a privilege to have such a great team where no member is pompous instead is modest and enthusiastic, also the support that our teachers have shown towards this project by providing us this opportunity is something we cannot thank them enough for
  • 76. Department of Computer Application , The M.S. University , Vadodara 67 20.0 Reference and Bibliography [1] O. M. Parkhi, A. Vedaldi, A. Zisserman Deep Face Recognition British Machine Vision Conference, 2015. [2] H.-W. Ng, S. Winkler. A data-driven approach to cleaning large face datasets. Proc. IEEE International Conference on Image Processing (ICIP), Paris, France, Oct. 27-30, 2014 Beyeler, M. (2017). Machine Learning for OpenCV: Intelligent image processing with Python. London: Packt Publishing Ltd. Bruce, P., & Bruce, A. (2017). Practical Statistics for Data Scientists. California: O’Reilly Media. Chollet, F. (2018). Deep Learning with Python. New York: Manning Publications Co. Géron, A. (2017). Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems. Brooklyn: O′Reilly. Grus, J. (2015). Data Science from Scratch: First Principles with Python. California: O’Reilly Media. Lutz, M. (2013). Learning Python. California: O’Reilly Media. Matthes, E. (2015). A Hands-On, Project-Based Introduction to Programming . San Francisco: William Pollock. McKinney, W. (2017). Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython. California: O’Reilly Media. Phillips, D. (2014). Creating Apps in Kivy: Mobile with Python. California: O’Reilly . Solem, J. E. (2012). Programming Computer Vision with Python: Tools and algorithms for analyzing images. United States: O'Reilly Media. Sweigart, A. (2015). Automate the Boring Stuff with Python: Practical Programming for Total Beginners. San Francisco: William Pollock. Ulloa, R. (2015). Kivy: Interactive Applications in Python. Birmingham : Packt Publishing Ltd.