DATE 18 APRIL,2022
Face Detection & Recognition’s
Software Design Description Document
Team Members: Haseeb Malik 31
Shoaib Yaseen 72
Talha Khalid 64
Under the Supervision of Prof. Ali Shan Tariq
VERSION: 1.0
Revision History
Date Description Author Comments
Document Approval
The following Software Requirements Specification has been accepted and
approved by the following:
Signature Printed Name Title Date
Table of Contents
1. INTRODUCTION..........................................................................................................3
1.1 Purpose................................................................................................................. 3
1.2 Scope.....................................................................................................................3
1.3 Overview................................................................................................................3
1.4 Reference Material.................................................................................................3
1.5 Definitions and Acronyms......................................................................................3
2. SYSTEM OVERVIEW..................................................................................................4
2.1 Technologies Used……………………………………………………………………….4
2.2 Application Overview…………………………………………………………………….4
3. Design Languages………………………………………………………………………….. 4
4. SYSTEM ARCHITECTURE......................................................................................... 4
4.1 Architectural Design...............................................................................................4
4.2 Decomposition Description....................................................................................5
5. METHOD…………………………………………………………………………………...…5
6. COMPONENT DESIGN...............................................................................................5
6.1 Modules ………………………………………………………………………………... 5
7. HUMAN INTERFACE DESIGN....................................................................................6
7.1 Overview of User Interface.................................................................................... 6
8. Summary………………………………………………………………………………………6
1. INTRODUCTION
1.1 Purpose
The purpose of this report is to follow up on a 10-week project on face detection and
recognition and give insight on how feasible it is to use a face recognition attendance
system in a university environment.
1.2 Scope
The system should be built to be used for a prolonged period of time anywhere in the
university campus where attendance would be tracked.
1.3 Overview
A face detection and recognition system would certainly speed up the process of
checking student attendance in comparison to other biometrics authentication
methods and in the right circumstances it would be able to match their accuracy.
Nowadays there are a wide variety of software, whether it is a Face API like
Microsoft’s or a library like OpenCV, that makes face detection and recognition
accessible and reliable and is constantly improving. Each software imposes various
restrictions, such as the limited number of calls you can make to Microsoft’s Face API.
However, using more than one software can reduce these restrictions and lead to
better results.
1.4 Reference Material
1. https://www.kaspersky.com/resource-center/definitions/what-is-facial-recognition
2. https://www.thalesgroup.com/en/markets/digital-identity-and-security/
government/biometrics/facial-recognition
1.5 Definitions and Acronyms
Facial recognition is a way of identifying or confirming an individual’s identity using their
face. Facial recognition systems can be used to identify people in photos, videos, or in
real-time. Facial recognition is a category of biometric security. Other forms of biometric
software include voice recognition, fingerprint recognition, and eye retina or iris
recognition. The technology is mostly used for security and law enforcement, though
there is increasing interest in other areas of use.
SDD Document 1.0 Page 3 f
2. SYSTEM OVERVIEW
2.1 Technologies Used
The system is coded with python programming language by using Jupiter Notebook
development environment. We will use Dataset for database train the model and then
predict the unknown and known faces.
2.2 Application Overview
The main goal of the project is to enable the camera and detect the faces and mark the
attendance. Attendance will be mark on excel sheet automatically.
3. Design Languages
T-kinter is used for graphical user interface. It is used to develop a responsive interface
where we can add dataset of different persons and store it into our database.
Camera will detect the recognize person and mark the attendance in the excel sheet.
4. SYSTEM ARCHITECTURE
4.1 Architectural Design
The Figure 1 shows the deployment diagram of our project Face Recognition System.
This system will be deployed as a desktop application and it will:
Provide Graphical User Interface for the user.
User can update the database.
User can open camera which will detect and recognize the face.
System will mark the attendance in a csv file.
Desktop Application
Graphical User Facial
Interface (GUI) Recognition
Model Database/
dataset
Widgets
SDD Document 1.0 Page 5 03/25/25 f
4.2 Decomposition Description
Login and Logout Component:
1. First create the GUI using t-kinter
2. Then train the model using existing dataset
3. Then open the laptop camera and test the image in real time.
4. If Image is already existed then it marks the attendance in the excel sheet.
5. METHOD
Building such a system from Python programming language helped achieve a better
understanding of the field as well as its advantages and disadvantages compared
to other biometric authentication methods. After some research, the decision to do face
detection using the different Modules of Python and OpenCV.
6. COMPONENT DESIGN
6.1 MODULES
Modules are simply files with the “. py” extension containing Python code that can
be imported inside another Python Program. In simple terms, we can consider a
module to be the same as a code library or a file that contains a set of functions that you
want to include in your application.
The modules which we are using the following
NumPy MODULE
It is a Python library used for working with arrays.
OS MODULE
The OS module in Python provides functions for creating and removing a
directory (folder), fetching its contents, changing and identifying the current
directory.
Open CV
OpenCV-Python makes use of NumPy, which is a highly optimized library for
numerical operations with a MATLAB-style syntax. All the OpenCV array structures are
converted to and from NumPy arrays.
SDD Document 1.0 Page 5 03/25/25 f
7. HUMAN INTERFACE DESIGN
7.1 Overview of User Interface
In GUI we will add different functionality by using widgets like enter fields, roll number
and there will be a button which help us to open the camera to capture the image and
save it into the data base same like we have another button on left side to take the
attendance by oping the camera for those students which are enrolled in the class when
it recognizes the face it will mark their attendance.
8. Summary
A face detection and recognition system would certainly speed up the process of
checking student attendance in comparison to other biometrics authentication
methods and in the right circumstances it would be able to match their accuracy.
Nowadays there are a wide variety of software, whether it is a Face API like
Microsoft’s or a library like OpenCV, that makes face detection and recognition
accessible and reliable and is constantly improving. Each software imposes various
restrictions, such as the limited number of calls you can make to Microsoft’s Face API.
However, using more than one software can reduce these restrictions and lead to
better results.
SDD Document 1.0 Page 5 03/25/25 f