0% found this document useful (0 votes)
285 views61 pages

Attendance Using Face Detection

This document describes a student project titled "Attendance Using Face Detection" conducted under the supervision of Mrs. Tilotamma. The project aims to develop an automated attendance system using face recognition technology. The system would detect students' faces and match them to a database of enrolled students to mark attendance. This would save time compared to conventional manual attendance marking methods. The project report includes sections on the system description, hardware and software requirements, system workflow, features, testing plan, and conclusions about benefits, limitations, and potential future enhancements.

Uploaded by

Gulshan Verma
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
285 views61 pages

Attendance Using Face Detection

This document describes a student project titled "Attendance Using Face Detection" conducted under the supervision of Mrs. Tilotamma. The project aims to develop an automated attendance system using face recognition technology. The system would detect students' faces and match them to a database of enrolled students to mark attendance. This would save time compared to conventional manual attendance marking methods. The project report includes sections on the system description, hardware and software requirements, system workflow, features, testing plan, and conclusions about benefits, limitations, and potential future enhancements.

Uploaded by

Gulshan Verma
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 61

Attendance Using Face Detection

Attendance Using Face Detection

By

MUSKAN TALWAR

Enrollment No. A1833317120

Supervisor

Mrs. Tilotamma

Submitted To

BACHELORS OF BUSINESS ADMINISTRATION

Amity University,

Uttar Pradesh

1
Attendance Using Face Detection

CANDIDATE’S DECLARATION

I Muskan Talwar certify that the work embodied in this Bachelor’s

dissertation is my own bonafide work carried out by me under the

supervision of Tilotamma Singh at Amity School of Physical Education and

Sports Sciences, Amity University, Uttar Pradesh.

I declare that I have faithfully acknowledged, given credit to and referred

the research workers wherever their works have been cited in the text and

the body of the dissertation. I further certify that I have not willfully lifted

up some other’s work, paragraph, text, data, results etc. reported in the

journals, books, magazines, reports, dissertations, thesis etc. or available at

web-sites and include them in this dissertation as my own work.

Date:………………….. (Signature of the Candidates)

Place:…………………. (Name of the Candidates)

2
Attendance Using Face Detection

“CERTIFICATE FROM SUPERVISOR”

“Typically to confirm that the work entitled, “Attendance Using Face Detection” is a piece

of examine work done by Muskan Talwar under my guidance and supervision for the

degree of Bachelor of Physical Education (BPES) at Amity School of Physical Education

and Sports Sciences, Amity University, Uttar Pradesh”.

Date:………………….. (Signature of the Supervisor)

Place:…………………. (Name & Designation

3
Attendance Using Face Detection

ACKNOWLEDGEMENTS

Nothing concrete can be achieved without an optimum combination of inspection and

perspiration. The idea of presenting this material without adequate thanks to those who give it to

us or pointed in the right direction seems simply indefensible. Generating this piece has been

time consuming and an arduous task and has involved various contributions.

It is my pleasure to acknowledge the help I have received from different individuals, Project

Guide and all the Staff of the Company during the project.

My first sincere appreciation and gratitude goes to respected Guide Name, Project guide, college

Name for his guidance, constructive comments, valuable suggestions and inspirations. During

the entire training session, I have received endless help from him.

Also, it gives me immense pleasure to express my sincere and whole hearted thank to Director

Name(H.O.D. Computer Science & IT) for giving us the required guidance.

Student Name

4
Attendance Using Face Detection

Table of Contents
ABSTRACT................................................................................................................................................6
INTRODUCTION.......................................................................................................................................7
Background Introduction.......................................................................................................................10
Project Charter...........................................................................................................................................16
Project Definition..................................................................................................................................16
Project Scope.........................................................................................................................................16
Project Plan...............................................................................................................................................17
Objectives..............................................................................................................................................17
Goals.....................................................................................................................................................17
SYSTEM DESCRIPTION...............................................................................................................................18
Software................................................................................................................................................18
Hardware...............................................................................................................................................19
System Flow..............................................................................................................................................24
Functional Requirements.......................................................................................................................28
Non-Functional Requirements...............................................................................................................28
Features of Face Recognition based Attendance System...........................................................................30
Module Specification.................................................................................................................................34
Data Flow Diagrams..................................................................................................................................37
Context Level Diagram.........................................................................................................................37
Database Design........................................................................................................................................42
Screen Shot................................................................................................................................................43
Testing Plan...............................................................................................................................................44
CONCLUSION.............................................................................................................................................50
Benefits.....................................................................................................................................................51
Limitations.................................................................................................................................................52
Future Enhancement.................................................................................................................................53
Experience and Learning...........................................................................................................................54

5
Attendance Using Face Detection

ABSTRACT
The face is one of the easiest ways to distinguish the individual identity of each other. Face

recognition is a personal identification system that uses personal characteristics of a person to

identify the person's identity. Human face recognition procedure basically consists of two phases,

namely face detection, where this process takes place very rapidly in humans, except under

conditions where the object is located at a short distance away, the next is the introduction,

which recognize a face as individuals. Stage is then replicated and developed as a model for

facial image recognition (face recognition) is one of the much-studied biometrics technologies

and developed by experts.

Uniqueness or individuality of an individual is his face. In this project, face of an individual is

used for the purpose of attendance making automatically. Attendance of the student is very

important for every college, universities and school.

Conventional methodology for taking attendance is by calling the name or roll number of the

student and the attendance is recorded.

Time consumption for this purpose is an important point of concern. Assume that the duration

for one subject is around 60 minutes or 1 hour & to record attendance takes 5 to 10 minutes. For

every tutor this is consumption of time. To stay away from these losses, an automatic process is

used in this project which is based on image processing.

In this project face detection and face recognition is used. Face detection is used to locate the

position of face region and face recognition is used for marking the understudy’s attendance. The

database of all the students in the class is stored and when the face of the individual student

matches with one of the faces stored in the database then the attendance is recorded.

6
Attendance Using Face Detection

INTRODUCTION
Face recognition is the task of identifying an already detected object as a known or unknown

face. Often the problem of face recognition is confused with the problem of face detection Face

Recognition on the other hand is to decide if the "face" is someone known, or unknown, using

for this purpose a database of faces in order to validate this input face.

Humans have been using physical characteristics such as face, voice, etc. to recognize each other

for thousands of years. With new advances in technology, biometrics has become an emerging

technology for recognizing individuals using their biological traits. Now, biometrics is becoming

part of day to day life, where in a person is recognized by his/her personal biological

characteristics. Our goal is to develop an inexpensive security surveillance system, which will be

able to detect and identify facial and body characteristics in adverse weather conditions. There

are many factors which influence this type of methods i.e. lighting condition background noise,

fog and rain.

Maintaining attendance is very important in all learning institutes for checking the performance

of students. In most learning institutions, student attendances are manually taken by the use of

attendance sheets issued by the department heads as part of regulation. The students sign in these

sheets which are then filled or manually logged in to a computer for future analysis. This method

is tedious, time consuming and inaccurate as some students often sign for their absent colleagues.

This method also makes it difficult to track the attendance of individual students in a large

classroom environment. In this project, we propose the design and use of a face detection and

recognition system to automatically detect students attending a lecture in a classroom and mark

their attendance by recognizing their faces.

7
Attendance Using Face Detection

While other biometric methods of identification (such as iris scans or fingerprints) can be more

accurate, students usually have to queue for long at the time they enter the classroom. Face

recognition is chosen owing to its non-intrusive nature and familiarity as people primarily

recognize other people based on their facial features. This (facial) biometric system will consist

of an enrollment process in which the unique features of a persons’ face will be stored in a

database and then the processes of identification and verification. In these, the detected face in an

image (obtained from the camera) will be compared with the previously stored faces captured at

the time of enrollment.

8
Attendance Using Face Detection

WHAT IS FACE RECOGNITION?

Face recognition is the task of identifying an already detected object as a known or unknown

face.

Often the problem of face recognition is confused with the problem of face detection.

Face Detection is to identify an object as a "face" and locate it in the input image.

Face Recognition on the other hand is to decide if the "face" is someone known, or unknown,

using for this purpose a database of faces in order to validate this input face.

The face is our primary focus of attention in social life playing an important role in conveying

identity and emotions. We can recognize a number of faces learned throughout our lifespan and

identify faces at a glance even after years of separation. This skill is quite robust despite of large

variations in visual stimulus due to changing condition, aging and distractions such as beard,

glasses or changes in hairstyle.

Computational models of face recognition are interesting because they can contribute not only to

theoretical knowledge but also to practical applications. Computers that detect and recognize

faces could be applied to a wide variety of tasks including criminal identification, security

system, image and film processing, identity verification, tagging purposes and human-computer

interaction. Unfortunately, developing a computational model of face detection and recognition

is quite difficult because faces are complex, multidimensional and meaningful visual stimuli.

9
Attendance Using Face Detection

Face detection is used in many places now a days especially the websites hosting images like

Picasa, photo bucket and face book. The automatically tagging feature adds a new dimension to

sharing pictures among the people who are in the picture and also gives the idea to other people

about who the person is in the image. In our project, we have studied and implemented a pretty

simple but very effective face detection algorithm which takes human skin color into account.

Our aim, which we believe we have reached, was to develop a method of face recognition that is

fast, robust, reasonably simple and accurate with a relatively simple and easy to understand

algorithms and techniques. The examples provided in this thesis are real-time and taken from our

own surroundings.

Background Introduction
The current method that colleges use is that the faculty passes a sheet or make roll calls and mark

the attendance of the students and this sheet further goes to the admin department with updates in

the final 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 class

room or entry gates it will mark the attendance of the students, professors, employees, etc.

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 use of biometrics in student attendance management system is a secure

approach. There are many types of biometric systems like fingerprint recognition, face

10
Attendance Using Face Detection

recognition, voice recognition, iris recognition, palm recognition etc. In this project, we used

face recognition system.

11
Attendance Using Face Detection

The Problems with Current System

The problem with this approach in which manually taking and maintains the attendance record is

that it is very inconvenient task. Traditionally, student attendances are taken manually by using

attendance sheet given by the faculty members in class, which is a time consuming event.

Moreover, it is very difficult to verify one by one student in a large classroom environment with

distributed branches whether the authenticated students are actually responding or not. 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.

Drawbacks in existing system:

 These attendance systems are manual

 There is always a chance of forgery (one person signing the presence of the other one)

Since these are manual so there is great risk of error

 More man-power is required (some person to take attendance)

 Calculations related to attendance are done manually (total classes attended in month)

which is prone to error. It is difficult to maintain database or register in manual systems

 It is more costly (price of register, pen and the salary of person taking attendance)

12
Attendance Using Face Detection

Proposed Solution

To overcome the problems in existing attendance system we shall develop a Biometric based

attendance system over simple attendance system. Interactive system over static one Digitized

attendance system over file system. There are many solutions to automate the attendance

management system like thumb based system, simple computerized attendance system but all

these systems have limitations over work 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 secure applications like banks, airports etc.

13
Attendance Using Face Detection

FACE LIBRARY FORMATION PHASE


In this phase, the acquisition and the pre-processing of the face images that are going to be added

to the face library are performed. Face images are stored in a face library in the system. We call

this face database a "face library" because at the moment, it does not have the properties of a

relational database. Every action such as training set or Supervised Machine Learning formation

is performed on this face library. Face library is

Initially empty. In order to start the face recognition process, this initially empty face library has

to be filled with face images. The proposed face recognition system operates on image files of

any resolution. In order to perform image size conversions and enhancements on face images,

there exists the "pre-processing" module. This module automatically converts every face image

to 200 x 180 (if necessary) and based on user request, it can modify the dynamic range of face

images (histogram equalization) in order to improve face recognition performance. After

acquisition and pre-processing, face image under consideration is added to the face library. Each

face is represented by two entries in the face library: One entry corresponds to the face image

itself (for the sake of speed, no data compression is performed on the face image that is stored in

the face library) and the other corresponds to the weight vector associated for that face image.

Weight vectors of the face library members are empty until a training set is chosen and

Supervised Machine Learning are formed.

TRAINING PHASE

After adding face images to the initially empty face library, the system is ready to perform

training set and Supervised Machine Learning formations. Those face images that are going to be

training set are chosen from the entire face library. Now that the face library entries are

14
Attendance Using Face Detection

normalized, no further pre-processing is necessary at this step. After choosing the training set,

Supervised Machine Learning are formed and stored for later use. Supervised Machine Learning

are calculated from the training set, keeping only the M images that correspond to the highest

eigen values. These M Supervised Machine Learning define the M-dimensional "face space". As

new faces are experienced, the Supervised Machine Learning can be updated or recalculated.

The corresponding distribution in the M-dimensional weight space is calculated for each face

library member, by projecting its face image onto the "face space" spanned by the Supervised

Machine Learning. Now the corresponding weight vector of each face library member has been

updated which were initially empty. The system is now

ready for the recognition process. Once a training set has been chosen, it is not possible to add

new members to the face library with the conventional method that is presented in "phase 1"

because, the system does not know whether this item already exists in the face library or not. A

library search must be performed.

15
Attendance Using Face Detection

Project Charter
Project Definition
Face Recognition is a biometric method of identifying an individual by comparing live capture or

digital image data with the stored record for that person.

Face Recognition Attendance System is marking of attendance based on this technology.

Project Scope

 Provides an automated attendance system that is practical, reliable and eliminate

disturbance and time loss of traditional attendance systems.

 Present a system that can accurately evaluate student’s performance depending on their

recorded attendance rate.

16
Attendance Using Face Detection

Project Plan
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 for face recognition.

 Effective recognition of unique faces in a class (individual recognition).

 Automated update in the attendance sheet without human intervention.

 To detect faces real time.

 To recognize the detected faces by the use of a suitable algorithm.

 To update the class attendance register after a successful match.

 To design an architecture that constitutes the various components working harmoniously.

Goals

 To help the lecturers, improve and organize the process of track and manage student

attendance.

 Provides a valuable attendance service for both teachers and students.

 Reduce manual process errors by provide 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.

17
Attendance Using Face Detection

18
Attendance Using Face Detection

SYSTEM DESCRIPTION
The system consists of a camera that captures the images of the classroom and sends it to the

image enhancement module. After enhancement the image comes in the Face Detection and

Recognition modules and then the attendance is marked on the database server.

At the time of enrolment templates of face images of individual students are stored in the Face

database known as Training Set. Here all the faces are detected from the input image and the

algorithm compares them one by one with the face database. If any face is recognized the

attendance is marked on the server from where administrator can access and use it for different

purposes. This system uses a protocol for attendance. A time table module is also attached with

the system which automatically gets the subject, class, date and time. Teachers come in the class

and just press a button to start the attendance process and the system automatically gets the

attendance without even the intensions of students and teacher. In this way a lot of time is saved

and this is highly securing process no one can mark the attendance of other.

Software
 Phyton verson 3.6.2

 MYSQL

 Recognize and manipulate faces from Python or from the command line with the world’s

simplest face recognition library.

 Built using dlib’s state-of-the-art face recognition

 Built with deep learning. The model has an accuracy of 99.38% on the

 Labeled Faces in the Wild benchmark.

 This also provides a simple face recognition command line tool that lets

19
Attendance Using Face Detection

Hardware

 Processor : Pentium 4 processor

 Memory : 1 GB RAM

 Display : 14’’ LCD

 Hard disk Drive : 80 GB

 A standalone computer needs to be installed in the office room where the system is to be

deployed.

 High quality camera must be positioned in the office room to obtain the snapshots.

 Optimum resolution: 512 by 512 pixels.

 Secondary memory to store all the images and database

20
Attendance Using Face Detection

Python is a widely used general-purpose, high level programming language. It was initially

designed by Guido van Rossum in 1991 and developed by Python Software Foundation. It was

mainly developed for emphasis on code readability, and its syntax allows programmers to

express concepts in fewer lines of code.

Python is a popular programming language. It was created in 1991 by Guido van Rossum.

It is used for:

 web development (server-side),

 software development,

 mathematics,

 system scripting.

What can Python do?

 Python can be used on a server to create web applications.

 Python can be used alongside software to create workflows.

 Python can connect to database systems. It can also read and modify files.

 Python can be used to handle big data and perform complex mathematics.

 Python can be used for rapid prototyping, or for production-ready software development.

Why Python?

 Python works on different platforms (Windows, Mac, Linux, Raspberry Pi, etc).

 Python has a simple syntax similar to the English language.

21
Attendance Using Face Detection

 Python has syntax that allows developers to write programs with fewer lines than some

other programming languages.

 Python runs on an interpreter system, meaning that code can be executed as soon as it is

written. This means that prototyping can be very quick.

 Python can be treated in a procedural way, an object-orientated way or a functional way.

Good to know

 The most recent major version of Python is Python 3, which we shall be using in this

tutorial. However, Python 2, although not being updated with anything other than

security updates, is still quite popular.

 In this tutorial Python will be written in a text editor. It is possible to write Python in an

Integrated Development Environment, such as Thonny, Pycharm, Netbeans or Eclipse

which are particularly useful when managing larger collections of Python files.

Python Syntax compared to other programming languages

 Python was designed to for readability, and has some similarities to the English language

with influence from mathematics.

 Python uses new lines to complete a command, as opposed to other programming

languages which often use semicolons or parentheses.

 Python relies on indentation, using whitespace, to define scope; such as the scope of

loops, functions and classes. Other programming languages often use curly-brackets for

this purpose.

22
Attendance Using Face Detection

23
Attendance Using Face Detection

MY SQL

MySQL is a Relational DataBase Management System (RDBMS). - DB stands for Database, a

repository for the information store. The data in a database is organized into tables, and each

table is organized into rows and columns.

1. Speed: Ofcourse, the speed at which a server side program runs depends primarily on the

server hardware. Given that the server hardware is optimal, MySQL runs very fast. It supports

clustered servers for demanding applications.

2. Ease of use: MySQL is a high-performance, relatively simple database system. From the

beginning, MySQL has typically been configured, monitored, and managed from the command

line. However, several MySQL graphical interfaces are available as described below:

i. MySQL Administrator: This tool makes it possible for administrators to set up, evaluate,

and tune their MySQL database server. This is intended as a replacement for mysqladmin.

ii. MySQL Query Browser: Provides database developers and operators with a graphical

database operation interface. It is especially useful for seeing multiple query plans and result sets

in a single user interface.

iii. Configuration Wizard: Administrators can choose from a predefined list of optimal

settings, or create their own.

iv. MySQL System Tray: Provides Windows-based administrators a single view of their

MySQL instance, including the ability to start and stop their database servers.

3. Cost:MySQL is available free of cost. MySQL  is a "Open Source" database. MySQL is part

of LAMP (Linux, Apache, MySQL, PHP / Perl / Python) environemtn, a fast growing open

24
Attendance Using Face Detection

source enterprise software stack. More and more companies are using LAMP as an alternative to

expensive proprietary software stacks because of its lower cost, reliability, and documentation.

4. Query Language Support:MySQL understands standards based SQL (Structured Query

Language).

5. Capability :Many clients can connect to the server at the same time. Clients can use multiple

database simultaneously. You can access MySQL using several interfaces such as command-line

clients, Web browsers.

6. Connectivity and security: MySQL is fully networked, and database can be accessed from

anywhere on the Internet, so you can share your data with  anyone, anywhere. The connectivity

could be achieved with Windows programs by using ODBC drivers. By using the ODBC

connector to MySQL, any ODBC-aware client application (for example, Microsoft Office, report

writers, Visual Basic) can connect to MySQL.

7. Portability: MySQL runs on many varieties of UNIX, as well as on other non-UNIX systems,

such as Windows and OS/2. MySQL runs on hardware from home PCs to high-end server.

MySQL can be installed on Windows XP, Windows Server 2003, Red Hat Fedora Linux, Debian

Linux, and others.

25
Attendance Using Face Detection

System Flow
Student Registration

26
Attendance Using Face Detection

System Flow (Taking Attendance)

27
Attendance Using Face Detection

Feature Extraction

System Flow (Generate Attendance)

28
Attendance Using Face Detection

SYSTEM ARCHITECTURE

29
Attendance Using Face Detection

Functional Requirements
System functional requirement describes activities and services that must provide. Taking and

tracking student attendance by facial recognition in specific time. Sending the names of the

absent student directly to the lecturer permitting the lecturer to modify the student absent or late.

Showing the names of who is absent or late in the screen to avoid errors.

 User must be able to manage student records.

 User must be able to see details of attendance of students for specified date.

 Only authorized user must be able to use the system.

 System must be attached to webcam and face recognition should be smooth.

 The administrator or the person who will be given the access to the system must login

into system before using it.

 The information must be entered and managed properly.

Non-Functional Requirements
Non-functional Requirements are characteristics or attributes of the system that can judge its

operation. The following points clarify them:

 Accuracy and Precision: the system should perform its process in accuracy and precision

to avoid problems.

 Flexibility: the system should be easy to modify, any wrong should be correct.

 Security: the system should be secure and saving student's privacy.

 Usability: the system should be easy to deal with and simple to understand.

 Maintainability: the maintenance group should be able to cope up with any problem when

occurs suddenly.

 Speed and Responsiveness: Execution of operations should be fast.

30
Attendance Using Face Detection

Student Requirements

 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

direction and expressions.

 At the time of taking attendance, students need to sit properly facing the camera.

Teaching Staff Requirements


 The faculty needs to login the system at the time of attendance.

 The faculty needs to enter lecture details before starting the attendance process.

 If the entered lecture details doesn’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 generate and

shown to the faculty.

Administrator Requirements
 The administrator needs to login the system at the time of registering the students for 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.

31
Attendance Using Face Detection

Features of Face Recognition based Attendance System


 Automatically identify or verify a person from a digital image from a video source.

 Reduces cost and time

 This system is digitized

 It is more secure than manual one (face recognition)

 It uses biometrics which is even more secure method than simple security systems

(password oriented)

 It uses less man power i.e. it does not require a person to take attendance

 It can store more databases.

 It gives calculations more easily and in less time

32
Attendance Using Face Detection

System Algorithm
Supervised learning is the machine learning task of learning a function that maps an input to an

output based on example input-output pairs. It infers a function from labeled training

data consisting of a set of training examples. In supervised learning, each example is

a pair consisting of an input object (typically a vector) and a desired output value (also called

the supervisory signal). A supervised learning algorithm analyzes the training data and produces

an inferred function, which can be used for mapping new examples. An optimal scenario will

allow for the algorithm to correctly determine the class labels for unseen instances.

In order to solve a given problem of supervised learning, one has to perform the following steps:

1. Determine the type of training examples. Before doing anything else, the user should

decide what kind of data is to be used as a training set. In case of handwriting analysis,

for example, this might be a single handwritten character, an entire handwritten word, or

an entire line of handwriting.

2. Gather a training set. The training set needs to be representative of the real-world use of

the function. Thus, a set of input objects is gathered and corresponding outputs are also

gathered, either from human experts or from measurements.

3. Determine the input feature representation of the learned function. The accuracy of the

learned function depends strongly on how the input object is represented. Typically, the

input object is transformed into a feature vector, which contains a number of features that

are descriptive of the object. The number of features should not be too large, because of

the curse of dimensionality; but should contain enough information to accurately predict

the output.

33
Attendance Using Face Detection

4. Determine the structure of the learned function and corresponding learning algorithm. For

example, the engineer may choose to use support vector machines or decision trees.

5. Complete the design. Run the learning algorithm on the gathered training set. Some

supervised learning algorithms require the user to determine certain control parameters.

These parameters may be adjusted by optimizing performance on a subset (called

a validation set) of the training set, or via cross-validation.

6. Evaluate the accuracy of the learned function. After parameter adjustment and learning,

the performance of the resulting function should be measured on a test set that is separate

from the training set.

The algorithm consists of the following steps

 Image acquisition

 Histogram normalization

 Skin classification

 Face detection

 Face recognition

 Attendance

In the first step image is captured from the camera. There are illumination effects in the

captured image because of different lighting conditions and some noise which is to be

removed before going to the next steps. Histogram normalization is used for contrast

enhancement in the spatial domain.

 Image Acquisition

Image is acquired from the camera that is connecting above the board.

34
Attendance Using Face Detection

 Histogram Normalization

Colour image is converted to grace scale image for increasing contrast.

 Skin Classification

It is use for the increasing the efficiency of the face detection algorithm it’s related with

binary image use the thresholding of skin colours.

 Face Detection

 In this stage faces are detected by marking the rectangle on the faces of the student.

 After the detection of faces from the next step is cropping of each detected face.

 Initially face detection algorithm tested on variety of images algorithm was applied

to detect face from a image source.

 The algorithm use the technique of increasing the speed of algorithm each crop

image is assign to a separate thread for the recognition.

 Face and recognition and attendance

 After the face detection next step is face recognition this can be done by cropping

the detected faces of students sitting in the class and compare them with the

images stored in the Training Set at the time of registration.

 In this way face of student is verified one by one and attendance is marked in the

excel sheet and the report is generated to the faculty.

35
Attendance Using Face Detection

Module Specification
Face Detection
Face detection is defined as finding the position of the face of an individual. In other word it can

be defined as locating the face region in an image. After detecting the face of human its facial

features extracted and has wide range of application like facial expression recognition, face

recognition, observation systems, human PC interface and so forth.

Detecting face in an image of single person is easy but when we consider a group image of an

image containing multiple faces, the task becomes difficult. For the application of face

recognition, detection of face is very important and the first step. After detecting face the face

recognition algorithm can only be functional. Face detection itself involves some complexities

for example surroundings, postures, enlightenment etc.

The problem of face recognition is all about face detection. This is a fact that seems quite bizarre

to new researchers in this area. However, before face recognition is possible, one must be able to

reliably find a face and its landmarks. This is essentially a segmentation problem and in practical

systems, most of the effort goes into solving this task. In fact the actual recognition based on

features extracted from these facial landmarks is only a minor last step.

There are two types of face detection problems:

1) Face detection in images

2) Real-time face detection.

Most face detection systems attempt to extract a fraction of the whole face, thereby eliminating

most of the background and other areas of an individual's head such as hair that are not necessary

for the face recognition task.

36
Attendance Using Face Detection

Face Detection in Images

With static images, this is often done by running a 'window' across the image. The face detection

system then judges if a face is present inside the window. Unfortunately, with static images there

is a very large search space of possible locations of a face in an image. Faces may be large or

small and be positioned anywhere from the upper left to the lower right of the image. Most face

detection systems use an example based learning approach to decide whether or not a face is

present in the window at that given instant. A neural network or some other classifier is trained

using supervised learning with 'face' and 'non-face' examples, thereby enabling it to classify an

image (window in face detection system) as a 'face' or 'non-face'.

Unfortunately, while it is relatively easy to find face examples, how would one find a

representative sample of images which represent non-faces? Therefore, face detection systems

using example based learning need thousands of 'face' and 'non-face' images for effective

training.

There is another technique for determining whether there is a face inside the face detection

system's window - using Template Matching. The difference between a fixed target pattern (face)

and the window is computed and threshold. If the window contains a pattern which is close to the

target pattern (face) then the window is judged as containing a face. An implementation of

template matching called Correlation Templates.

It uses a whole bank of fixed sized templates to detect facial features in an image. By using

several templates of different (fixed) sizes, faces of different scales (sizes) are detected. The

other implementation of template matching is using a deformable template. Instead of using

37
Attendance Using Face Detection

several fixed size templates, we use a deformable template (which is non-rigid) and thereby

change the size of the template hoping to detect a face in an image. A face detection scheme that

is related to template matching is image invariants.

Here the fact that the local ordinal structure of brightness distribution of a face remains largely

unchanged under different illumination conditions is used to construct a spatial template of the

face which closely corresponds to facial features. In other words, the average grey-scale

intensities in human faces are used as a basis for face detection. For example, almost always an

individual’s eye region is darker than his forehead or nose. Therefore an image will match the

template if it satisfies the 'darker than' and 'brighter than’ relationships.

Real-time face detection

It involves detection of a face from a series of frames from a video capturing device. While the

hardware requirements for such a system are far more stringent, from a computer vision stand

point, real-time face detection is actually a far simpler process than detecting a face in a static

image. This is because unlike most of our surrounding environment, people are continually

moving. Since in real-time face detection, the system is presented with a series of frames in

which to detect a face, by using spatiotemporal filtering (finding the difference between

subsequent frames), the area of the frame that has changed can be identified and the individual

detected. Furthermore, exact face locations can be easily identified by using a few simple rules,

such as,

1) The head is the small blob above a larger blob -the body

2) Head motion must be reasonably slow and contiguous -heads won't jump around erratically.

38
Attendance Using Face Detection

Data Flow Diagrams


Context Level Diagram

DFD Level 0

39
Attendance Using Face Detection

DFD Level 1

DFD Level 1 2.0

40
Attendance Using Face Detection

DFD Level 1 3.0

USE CASE DIAGRAM

41
Attendance Using Face Detection

42
Attendance Using Face Detection

ACTIVITY DIAGRAM

43
Attendance Using Face Detection

SEQUENCE DIAGRAM

44
Attendance Using Face Detection

Database Design
Sign Up

Attendance

45
Attendance Using Face Detection

Screen Shot

46
Attendance Using Face Detection

47
Attendance Using Face Detection

48
Attendance Using Face Detection

Testing Plan
A test plan is a great reminder and to-do list. It’s a way to keep track of everything you need to

do to ensure you have the right participants at the right time in the right location with the right

setup and the right set of tasks to perform. Having a test plan is also important when you

communicate with the rest of the team. It’s one document that tells everyone involved what's

going on, when, and why. The term "test plan" sounds quite formal, but really all that your plan

is doing is listing out the decisions you've made and the things that need to happen for the

usability test to take place.

Test methods

 Unit Testing

Unit testing is the testing of an individual unit or group of related units. It falls under the

class of white box testing.

It is often done by the programmer to test that the unit he/she has implemented is

producing expected output against given input.

 Integration Testing

Integration testing is testing in which a group of components are combined to produce

output.

Also, the interaction between software and hardware is tested in integration testing if

software and hardware components have any relation.

It may fall under both white box testing and black box testing.

 Functional Testing

49
Attendance Using Face Detection

Functional testing is the testing to ensure that the specified functionality required in the

system requirements works. It falls under the class of black box testing.

 System Testing

 System testing is the testing to ensure that by putting the software in different

environments (e.g., Operating Systems) it still works.

 System testing is done with full system implementation and environment. It falls under

the class of black box testing.

 Stress Testing

 Stress testing is the testing to evaluate how system behaves under unfavorable conditions.

 Testing is conducted at beyond limits of the specifications. It falls under the class of

black box testing.

 Performance Testing

 Performance testing is the testing to assess the speed and effectiveness of the system and

to make sure it is generating results within a specified time as in performance

requirements.

 It falls under the class of black box testing.

 Usability Testing

 Usability testing is performed to the perspective of the client, to evaluate how the GUI is

user-friendly? How easily can the client learn? After learning how to use, how

proficiently can the client perform? How pleasing is it to use its design? This falls under

the class of black box testing.

 Acceptance Testing

50
Attendance Using Face Detection

 Acceptance testing is often done by the customer to ensure that the delivered product

meets the requirements and works as the customer expected.

 It falls under the class of black box testing.

 Regression Testing

 Regression testing is the testing after modification of a system, component, or a group of

related units to ensure that the modification is working correctly and is not damaging or

imposing other modules to produce unexpected results.

 It falls under the class of black box testing.

 Beta Testing

 Beta testing is the testing which is done by end users, a team outside development, or

publicly releasing full pre-version of the product which is known as beta version.

 The aim of beta testing is to cover unexpected errors. It falls under the class of black box

testing.

 Black box testing

 Black box testing is a testing technique that ignores the internal mechanism of the system

and focuses on the output generated against any input and execution of the system.

 It is also called functional testing.

 Software testing

 Software testing is the process of evaluation a software item to detect differences

between given input and expected output. Also to assess the feature of A software item.

Testing assesses the quality of the product. Software testing is a process that should be

done during the development process.

 In other words software testing is a verification and validation process.

51
Attendance Using Face Detection

 Verification

 Verification is the process to make sure the product satisfies the conditions imposed at

the start of the development phase.

 In other words, to make sure the product behaves the way we want it to.

 Validation

 Validation is the process to make sure the product satisfies the specified requirements at

the end of the development phase.

 In other words, to make sure the product is built as per customer requirements.

52
Attendance Using Face Detection

53
Attendance Using Face Detection

54
Attendance Using Face Detection

55
Attendance Using Face Detection

56
Attendance Using Face Detection

CONCLUSION
We are currently extending the system to deal with a range of aspects (other than full frontal

views) by defining a small number of classes for each known person corresponding to

characteristic views. Because of the speed of the recognition, the system has many chances

within a few seconds to respond to attempt to recognize many slightly different views.

In this project we store a set of images in the database, whenever we input an image that we want

to test and if it is in the database will be recognized using the Eigen face algorithm and the

reconstructed face will the output image. Here we are not using any filters but we are simply

recognizing by reconstructed images of the input. And parallel the Euclidean distances also will

be measured.

57
Attendance Using Face Detection

Benefits
 The system stores the faces that are detected and automatically marks attendance. Provide

authorized access.

 Ease of use.

 Multiple face detection.

 Used for secure purposes.

 It saves their time and efforts.

 The software stores the faces that are detected and automatically marks attendance.

 The system is convenient and secure for the user.

58
Attendance Using Face Detection

Limitations

 Expensive

 Difficulties with big data processing and storing

 Strong influence of the camera angle, lighting and image quality

 Fooled by identical twins

59
Attendance Using Face Detection

Future Enhancement
The project "FACE RECOGNITION ATTENDANCE SYSTEM" has been done taking into

consideration all the factors of SRS and without any major redundancy. There are some aspects

which can be further modified in future if the changes are required. The enhancements may be

like we can modify recognition algorithms into 3D live streaming using neural network and

Machine Language for higher accuracy and with SMS notifications to send details of attendance

to the respective mobile numbers of students.

60
Attendance Using Face Detection

Experience and Learning


From scratch to working software, Carrying out real-world software projects in our academic

studies helps us to understand what we have to face in industry,

And working in a team collaboratively taught us how to work as a team together as almost every

software projects are done by group of people working together to achieve single goal.

We have learned most of the industrial strategies used for completion of project by keeping

accounts of time, quality, and budget.

It was a wonderful experience working on "Face Recognition Attendance System" with

enthusiastic and like-minded people wherein we explored a part of Artificial Intelligence, i.e.

image processing, which relates to our system from capturing images, detecting faces, storing

them in a database, extracting the facial features, recognizing them and generating attendance

through different algorithms, books, websites and with the guidance of our guide.

61

You might also like