You are on page 1of 22

An Independent Project Report

submitted in partial fulfilment


of the regulations governing
the award of the
[Bs.c(Hons)], [2018]

[Facial Recognition Attendance System]


[SHEKHAR SAUD]

[1001849611]

Faculty of Business & Information Science (School of IT)


UCSI University
[Month, Year]

Authorship Declaration
Except where reference is made in the references, this report contains no material
published elsewhere or extracted in whole or in part from a dissertation or report
presented by me for another degree or diploma.
No other person’s work has been used without due acknowledgement in the content
of the report.

Signature: ______________ Date: 2/9/2020


[Shekhar Saud]
Table of Contents

Title.......................................................................................................................................................1
Background...........................................................................................................................................2
Problem statement.................................................................................................................................3
Aim........................................................................................................................................................3
Objective...............................................................................................................................................5
Justification...........................................................................................................................................6
Project scope.........................................................................................................................................7
Approach and deliverables....................................................................................................................9
Major Milestones.................................................................................................................................11
Constraints and Assumption................................................................................................................14
Resources............................................................................................................................................15
Major Risks.........................................................................................................................................16
Project plan..........................................................................................................................................17
References...........................................................................................................................................19
Title

Facial Recognition Attendance System


Background
Checking the presence of students, staffs and maintaining the attendance is a regular process
for institute at morning and evening. Methods of taking attendance is different in each
institute as per their methods like calling names or checking the name list. Several popular
automatic attendance systems currently in use are RFID, iris, fingerprint etc. However,
making queue is essential in these cases thus requires more time and it is intrusive in nature.
If there is any damage to RFID card, it may result in an improper attendance. Apart from this
deploying these systems on large scale is not cost efficient and also takes lot of time to post
attendance. Since face is people's preliminary scheme of person identification, the suitable
solution to have both time and cost efficiency with no human involvement is facial
recognition. With the rapid development in the fields of image processing, the efficiency of
this system is keep on increasing. Here I’m trying my best to provide simple facial
recognition attendance system for my university project.

In this system we will be scanning the face of the students and the images will be stored in
database. The main benefit of this system is that user will get his/her attendance in zero
effort. In this project I proposed an automated attendance management system which tackles
the difficulties of recognition of faces in biometric systems subject to different real time
scenarios such as illumination, rotation and scaling. This model incorporates a camera that
captures input image, an algorithm to detect a face from the input image, encode it and
recognize the face and mark the attendance in database. The camera captures the image and
sends it to the server where faces are recognized and attendance is calculated on basis of it.
Problem statement
Talking about the problems, there are few problems appear in the system. system is just done
for the project although it is done with full effort, there’s appear some issues/problems.
System sometime fail to detect multiple faces at a time. Main issue is that it cannot detect
your face in the presence of beard or moustache longer than before. Well these can be say as
natural challenges. It can also perform error during sun glasses in our eyes. These are the
common problems. Let’s check long terms problems that has been challenging the system
since the evolution of the system.

Pose variations: face recognition usually scan your front face and it store the image in the
database. During the time of taking attendance if your face posture is different during the
time of image scanning, it might not detect your face.[ CITATION DRM19 \l 1033 ] System is just
a machine it cannot detect until it is taught. Face recognition system can perform error in the
condition of pose variations.

Facial expression changes: problem in face recognition could also be caused by changes of
facial expressions induced by varying person's emotional states. Hence, efficiently and
automatically recognizing the different facial expressions is important for both the evaluation
of emotional states and the automated face recognition. In particular, human expressions are
composed of macro expressions, which could express, e.g., anger, disgust, fear, happiness,
sadness and surprise.[ CITATION Shi18 \l 1033 ]

Aim
As I mentioned that different institute, school, colleges, hospitals or organizations use
different methods to keep records of attendance of staffs and students. The aim of this project
is to introduce facial recognition attendance among all of us. Traditional methods of taking
attendance is time consuming, less secure and more effort. For now, this is for college
project, with the help of this I want to encourage my junior to learn about facial recognition
system in order to enhance the system. Keeping records in books is widely use attendance
system which is not secure way. Facial recognition is the secure means of attendance system
than fingerprint scanner, FRID etc. to overcome the weakness and to root out the leakages of
attendance system, facial recognition attendance system has been evolved.[ CITATION Jar19 \l
1033 ]
Objective
Talking about the objective of my project they are given below in some points:
i. To keep records without any interaction of users which saves time and effort.
ii. To maintain sustainable and proportional way of attendance system.
iii. To Provide a valuable attendance service for both staffs and administration.
iv. To Reduce manual process errors by provide automated and a reliable attendance
system uses face recognition technology.
v. To Increase privacy and security which users cannot presenting himself or his friend
while they are not.
vi. To Produce monthly reports for administrators.
vii. To make flexibility, administrator capability of editing attendance records.
viii. To Calculate absent days and display.
Justification

About the significant of my study, I am quite optimistic that my work will be very helpful for
the researcher in near future. I have done many research for this projects. I took some of the
latest articles as references. Talking about the programming that I will be using for the project
is Pycharm and its libraries. Python is very highly demanded programming language these
day, which is popular for artificial intelligence. People will come to know about the
importance of python after going through my project and reports that I will be submitting.

Those attendance systems which are being used nowadays are not secure. Facial recognition
attendance is the most secure and reliable methods of keeping record of attendance of
students and staffs in college. Administrator of the offices, colleges and others organization
may focus on this project and they may execute it in their company. My projects and reports
also will be the suitable references for those who will be researching on facial recognition
system in coming days.
Project scope

My project targets the staffs and students of different academic levels, organization and
faculty members. The main constraint we faced is distinguishing between identical twins.
This situation is still a challenge to biometric systems especially facial recognition
technology. According to Phillips and his co-researcher paper to get the best results of the
algorithms your system employed, they should run under certain conditions for taken pictures
(i.e. age, gender, expressions, studio environmental etc. otherwise, the problem is still
ongoing. Some points regarding project scope are:

 Provides facility for the automated attendance of the students.


 Utilizes image processing to provide inputs to the system.
 Facility of marking manual attendance

Talking about the working mechanisms of the system it performs its functions using
pycharm. Web camera is use to scan the face of the user. First of all, user will have to come
in the cover area of the camera. After it camera will start to scan the face of the user. System
will compare the scan face with the images in database/server. If the face matches will the
images stored in database, it will mark the student name as present in Microsoft excel. In the
condition of the not matching the scan face and images of database it will pop up message
saying “sorry face not detected”. There will also be the option of adding new users in
database. Admin can also add new users in the database.
Fig: Use-Case Diagram
Approach and deliverables

Prototype Methodology

There are many more methodologies for software development. I choose prototype
methodology for my system development. It is a specialized software development
procedure that initiates developers towards making only the sample of the resolution to
validate its functional essence to the customers and make essential changes before creating
the authentic final solution. In fact, the best part of this methodology is that it tends to resolve
a set of diversifying issues occurring with the waterfall method.
Altogether I went through the 8 phases of prototype methodology. Phases and their detail of
working are given below:

Planning and requirements: This is the first phase of my system development. In this phase
I decided what system to be choose. I choose facial recognition system after knowing keeping
the problems of attendance in my college. After choosing what system to be done I started to
gather the required information. I choose pycharm to build my system. I also gather software
and hardware requirements that will be needed for further system.

Review and updating: After the successful planning and collection of requirements I start to
review it. I found some unwanted requirements as well as some mistakes, I update them with
new requirement.

Evaluation: After those two phases I evaluate the information that whether it is suitable for
my project or not. I also shared my ideas with my seniors, I took help and some useful
information from them. I got positive review from them as well.

Design: In this phase I will be working very deeply. After the product completes all the
iterations of the update, it is presented to the stakeholders of the project. The design has been
done quickly as the requirements are cleared from both ends in providing and receiving end.
It is used to construct the prototype. It includes the important aspects of the software that is
input and output but mainly focused on visible aspects than planned activities. The response
is accumulated in an organized way so that they can be used for further system
enhancements.
Fig: Sequence diagram

Fig: Activity Diagram


Overall the working mechanisms of the system is shown with the help of figures above with
the point of view of administrator and user as well. Figure is showing how user interact with
the system and how system gives the output to admin. Talking about the first step, comes
with user stand in the cover area of the system’s camera. Start camera means the camera is
ready to scan the face, in second step it captures the images and extracted images, predicted
images, compare images and identify the face.

Prototyping: This phase is the actual starting and challenging phase for me. Prototype of the
system decide that how system gone be look after it completion. In this phase I will be
working for my system interface and its interior. We can also say that prototype is the blue
print of the system.

Development: In phase the development of the system is started according to the prototype.
Before development, the client evaluates the software and if the client is not satisfied then it
is refined according to the client’s requirements. This process goes on until the point client

requirements do not accomplish. This is the most important and time consuming phase. So, I
will be mainly focusing in this phase.

Test: After the development of the system it is tested whether it works as per the
requirements and planning that was done before. I will be testing my software in order to
check whether it automatically mark student as present after recognizing the face or not. If it
works, I will be submitting my system to the respected lecturer.

Maintenance: After the testing phase if the system occurs error it must be fixed. I will be
there to fix those errors that will be seen in my system.

Report Writing: Report is necessary after the completion of any project. Report includes all
the functions of the project in details. I will be submitting my report with my system.
Major Milestones

Tasks 2nd 3r
d
ID Months 1st
4th 5th 6th 7th 8th 9th 10th 11th 12th
1 Planning &
Requirements
2 Review and
updating
3 Evaluation

4 Prototyping

5 Design

6 Development

7 Test

8 Maintenance

9 Report Writing

Here I have mentioned the Gantt chart in order to show my working days of the projects. It
will nearly take 12 months to complete my full project. For planning and requirements
gathering it will take 1 month. So, for the first month I will plan and gather necessary
requirements for the project. It is very necessary to make effective plans and collect reliable
requirements in order to build successful system.

Working days for second month it will be for review and updating the gather requirements. In
this period of 1 month I will go through my all collected requirements, whether they are
suitable for the project or not. If not, I will update those requirements for the new. This phase
also plays vital role to run the project towards the path of the success.

For the evaluation work I will go for third month. This phase is time to evaluate the updated
requirements and executing the plans.

Now it’s time for prototyping. I have separate 3 months for prototyping as it is going to
decide that how my system is going to look. We can also say that it is the blueprint of y
system. I will be working for 3 months on this phase. The essential idea is that even when
code features are complete on a project, the software, which is still in development, may have
many bugs and user problems.

In fifth step it’s come for the design part. It has separated 2 months for this step. It includes
the important aspects of the software that is input and output but mainly focused on visible
aspects than planned activities. In this phase I will be working very deeply.

In next step it is time for development time. I have separated 3 months for it. As it is the most
time consuming and difficult step due to which I will be working for 3 months on it. In phase
the development of the system is started according to the prototype. Before development, the
client evaluates the software and if the client is not satisfied then it is refined according to the
client’s requirements. This process goes on until the point client requirements do not
accomplish.

In next step it come turn for testing. I have estimated it for 1 month. I will be completing this
step within a month. In this period of time I will be testing the developed system. I will check
whether the system works as per the requirements or not.

After the testing I have separated two months for the maintenance of the system. no one is
perfect in this world. everybody does mistake. To solve those errors that will occurs in the
system I have separated the time period of two months.

Last but not the least it comes time for the report writing. I have separated two months for the
report writing. In this time period of two months I will be writing report on my system in
detail. Report of any project shows the tidiness of the project. So, report must be neat, clean
and easy to understand to all.
Constraints and Assumption
This system is just a part of the project although I will try my best to build an effective
system. facial recognition attendance systems are not widely used in our region. Talking
about the future of this system, almost all of the offices, schools, colleges and organizations
will be using it as attendance taking system. facial recognition system is being enhanced day
by day to make it more secure and easier for the users and administrators as well. I believe
that a time will come when our face will be our id card. I will also try to enhanced my system
in near future with high budget, using best accessories.

After the successful evaluation of facial recognition attendance system, I ’am pretty sure that
it will replace all the methods of taking attendance that are being used nowadays. As I
already said that our face will be our id card in future. It is sustainable and reliable means of
attendance record keeping. Our face is unique, and it takes attendance without any interaction
of the user which saves time and efforts.
Resources

Software Components
There is different software used for different. These software component plays vital role to
run the system towards the path of facial recognition.
 Pycharm:
Pycharm is an integrated development environment (IDE) used in computer
programming, specifically for the Python language. It is developed by the Czech
company JetBrains. It provides code analysis, a graphical debugger, an integrated unit
tester, integration with version control systems, and supports web development with
Django as well as Data Science with Anaconda. Python will be use as programming
language in a system.

 Microsoft Excel:
Microsoft Excel is a spreadsheet developed by Microsoft for Windows, mac OS, Android
and iOS. It features calculation, graphing tools, pivot tables, and a macro programming
language called Visual Basic for Applications. It has been a very widely applied
spreadsheet for these platforms. In this system excel is use to keep record of attendance of
a user. If a face is recognized it will mark as present in a excel.

Hardware Components
 Web Camera:
A webcam is a video camera that feeds or streams an image or video in real time to or
through a computer to a computer network, such as the Internet. Webcams are typically
small cameras that sit on a desk, attach to a user's monitor, or are built into the hardware.
In this system web camera is use for scanning the face of a user.

 Laptop:
Laptop is the main hardware that is frequently used during the time of system building.
All the activities are performed via laptop.
Major Risks

Talking about the major risk I did not find such great risk during my overall work. But after
going through all the phases of prototype methodology I came to know about some minor
risk that may be occur. In the planning and requirements phase those requirements I collected
were not accurate and some of them were not suitable for the system. The major risk will be
less research articles as well. Going through the evaluation phase many information collected
may found inaccurate for the system. Talking about the risk occurs in design and
development phase is lack of k knowledge in python programming and lack of software
designing may lead to bad formation of system at the end.
Project plan
Before going about my project plan let’s talk about how idea was firstly emerged. After
keeping in mind about the burning problem of attendance system in our college I think about
the idea of facial recognition attendance system. After choosing what system to be done I
started to gather the required information. I choose pycharm to build my system. I also
gather software and hardware requirements that will be needed for further system. after
collecting necessary requirements, I will be going through reviews of those collected
information and requirements. I will check whether the collected requirements are suitable
for the system or not. If information is not suitable I will update them. After updating and
reviewing those requirements I will evaluate them and execute them. After analyzing them I
will be go for design portion. It is used to construct the prototype. It includes the important
aspects of the software that is input and output but mainly focused on visible aspects than
planned activities. After it I will implement them all to build the proper system. after the
implementation I will check whether it works as per requirements or not. If not, I will go
through maintenance phase. I will solve all the errors occurs.

Besides of this project plan there are some goals that I want to fulfill through this system.
some goals are mentioned below in points:

 To help the client, improve the process of taking and keeping records of attendance.
 Reduce time and efficiency as it automatically marks present if face is detected.
 Produce absent and present days in total.
 Provide Secure way of attendance system to clients.[ CITATION Nan19 \l 1033 ]

To implement any plans for the project, strategies is necessary. Without strategies it is very
hard to execute ideas in real world project. Here I have mentioned some strategies that I
follow to complete my project successfully.

Good and effective strategy leads to good output. In order to make my project best I will go
through some best strategies. Before going to start the project first of all I have glance on my
strategies that I will be going to follow. Here I mentioned some of them:

 Selected the right development process


 Made sound estimations because many projects fail due to poor estimations.
Therefore, it is necessary to made sound planning on estimates like schedule, budget,
resources and efforts.
 Define medium time milestone. It is also necessary to decide milestone according to
the size of the project.
 Gathering of effective requirements.
 Implementation of effective code.
 Effective testing
 Preparation of best documentation
 Reviews

References
[1] D. M. P. ARAKERI, "Automatic Student Attendance System Using Face Recognition," p. 10, 2019.

[2] S. Singh, "Techniques andChallenges of Face Recognition," p. 8, 2018.

[3] J. Vamsikrishna, "An Advanced Attendance Marking system using facial Recognition," p. 7, 2019.

[4] D. Nandhini R, "Face Recognition Based Attendance System," p. 4, 2019.

You might also like