Skip to content
This repository has been archived by the owner on Oct 5, 2018. It is now read-only.

Software Design Document

utkuozcan edited this page Mar 11, 2018 · 6 revisions

Table of Contents

  1. INTRODUCTION
    • 1.1 Purpose
    • 1.2 Scope of Project
    • 1.3 Glossary
    • 1.4 Overview of Document
    • 1.5 Motivation
  2. ARCHITECTURE DESIGN
    • 2.1 FIRec Design Approach
      • 2.1.1 Class Diagram
    • 2.2 Architecture Design of FIRec
      • 2.2.1 Admin Menu
      • 2.2.2 Registration System
      • 2.2.3 Recognition System
    • 2.3 Activity Diagram
  3. USE CASE REALIZATIONS
    • 3.1 Brief Description of Figure 4
      • 3.1.1 GUI Design
      • 3.1.2 Recognition System Design
  4. DETECTION
    • 4.1 Face and Iris Detection
  5. REFERENCES

List of Figures

  • Figure 1 Gantt Chart of Work Plan
  • Figure 2 Class Diagram of FIRec System
  • Figure 3 Activity Diagram of FIRec System
  • Figure 4 Project Components of FIRec
  • Figure 5 Steps of Face Recognition System Application
  • Figure 6 Steps of Iris Recognition System Application
  • Figure 7 Face Recognition Approach
  • Figure 8 Algorithm of FIRec detection part
  • Figure 9 Taken/white balance corrected image and skin color segmentation
  • Figure 10 Facial Feature Extractions
  • Figure 11 Algorithm of FIRec Recognition Part
  • Figure 12 Acquired Image and Found Employee
  • Figure 13 Facial Features Extraction on Face Employees and Classification of Face Image

1.INTRODUCTION

1.1 Purpose

The purpose of this Software Design Document is providing the details of project titled as “FIRec: Biometric Identification based on Face and Iris Recognition”.

The target audience is especially, technological companies which want to keep in safe their information against threats. FIRec will provide private security to protect companies’ information with using face and iris pattern which employee authorized at the project. We goal to provide consistent, perfect security system for the companies which want to protect their private information.

The purpose of the FIRec project is to design to provide a security system which holds a personal information keep in safe and decrease the rate of information theft against who want to steal your private information. This document includes detailed information about requirements of the project. It also identifies the function and non-functional requirements with a use case diagram. Overall, this document is used for how users interact with the system and understand how the mechanism works at backend without any problems and explains how concerns of the stakeholders are met.

In order to provide a better comprehension, this SDD includes various diagrams such as UML diagram of the project, activity diagram and block diagram.

1.2 Scope

This document contains a complete description of the design of FIRec: Biometric Identification based on Face and Iris Recognition.

Most of the people use a private computer to do their jobs in the company and they may need to hide information in documents which relevant to work. Some information can be public and this files that are not important, if they are seized by someone else, but some files need a special protection system which is in the high-level secret status because people are wasting their time for hours on end and some hacker can steal their information from victim’s computer easily without any protection system and worst of all, people are unprepared for this situation. The application to be improved is Recognition of Human Iris and Face Patterns for Biometric Identification. This project involves developing an iris detection system in order to verify the uniqueness of the human iris and face by detecting the iris pattern from the image.

We offer a high-level security system which is the Biometric based on Face and Iris Recognition for a company who want to save their information from the hacker or information theft. The company should identify chosen workers to the security system according to document while using their iris and face pattern on the camera. After registration done, only chosen workers can access the high- level secret documents, if iris and face recognition can be done correctly. We are using Scale-invariant feature transform (SIFT) which is the fastest and reliable algorithm for working security system process. It is also more accurate than any other descriptors and it is independent of rotation, luminance, and scale, so its acceptable level is higher than other algorithms. Also, the acceptable level of Face and Iris recognition system can be adjustable according to company’s request. While the people registration to the system, SIFT algorithm gets their image as a grayscale and create a matrix according to a pattern of iris and face, then it makes features personally from a created matrix and transfers the features to the database. When the people define their identity on the system, the SIFT algorithm gets current user’s features and it searches that features exist in the database or not. If exist, login can be done correctly, but if not exist in the database, the user cannot access the document which includes high- level secret information.

There are actors in the security system which are the worker and admin. Admin should register worker to the system without any problem and the worker should adjust position during interacting with the iris and face recognition on the camera for capturing best features. In addition, admin should update worker information on the database because some worker can wear a lens or worker can be injured in the face, so the admin should intervene to a situation with manually.

1.3 Glossary

Term Definition
BLOCK DIAGRAM The type of schema which the components in the system are displayed in blocks.
GRAYSCALE A range of grey shades from white to black, as used in a monochrome display or printout [1]
SIFT Fastest and reliable algorithm for using security system process
FEATURES Result of information of the matrix which derive from grayscale image
EMPLOYEE A person whose Iris and Face is to be recognized
SDD Software Design Document
UML DIAGRAM It is a modelling language which is used in Software Engineering

1.4 Overview of Document

The remaining chapters and their contents are listed below.

Section 2 is the Architectural Design which describes the project development phase. Also, it contains class diagram of the system and architecture design of the simulation which describes actors, exceptions, basic sequences, priorities, pre-conditions and post-conditions. Additionally, this section includes activity diagram of scenario generator.

Section 3 is Use Case Realization. In this section, a block diagram of the system, which is designed according to use cases in SRS document, is displayed and explained.

Section 4 is related to Detection. In this section, we have shown the sample images of the employee for how the recognition system determine while scanning the employee face and iris.

1.5 Motivation

We are a group of senior students in computer engineering department who are interested in image processing and security system. As a group, we have taken the course of numerical computations for a better understanding in image acquisition area. We aimed to combine the fields of education, image acquisition, and security systems technologies in this project. We have chosen the MATLAB scripting language and C# programming language which all of the members of the group are already familiar to develop our project.

2. ARCHITECTURE DESIGN

2.1 FIRec Design Approach

While developing the project, we have decided to use Scrum which is an agile software development methodology. Scrum is part of the Agile movement. Agile is a response to the failure of the dominant software development project management and borrows many principles from lean manufacturing [1]. In the scrum, it has a sprint which includes work to do in the project. It takes a while almost between 2 and 4 weeks. If you add work to the sprint, you can not remove that work from the sprint. The team who developed the project should have a daily meeting every morning which should be maximum 10-15 minutes. Scrum has three major roles which are scrum master, project owner, and development team. Scrum master generally manages the development team, product owner delivers the requirements. The development team is the team of developers who work on the project together according to schedule [1]. There are several advantages of Scrum, Firstly, sprint releases end of each sprint. The team does not have to act according to the product owner, the team identifies their priority. Delivery happens according to the velocity of the team and development tools work like cross-functional. The team should use burndown graphics at the project. The scrum board rebuilds while the beginning of each sprint. In addition, the scrum methodology is incremental and iterative, so we can change required changes at project according to customer feedback.

Gantt Chart in Figure 1 includes two parts which are research & documentation part. This Gantt Chart explains the work to be done with using timeboxes. We approximately 50 days are spent using waterfall for research and documentation which include information regarding the project.

2.1.1 Class Diagram

Figure 2 displays information about connections between the systems within the Face and Iris Recognition System. FIRec is the main system, which contains other systems. It is responsible for face and iris recognition and connections between other systems such as Admin and Person. Person class represents all the users who use the system except admin. Admin class is for users who will use the system to manage employee and set some system configurations. Admin class is for actor which manages the system.

2.2 Architecture Design of FIRec

2.2.1 Admin Menu

Summary: System admin will use this system. System admin can login, update personal information and exit from the system. Also, System admin can update a person’s information, delete a person, save a person to the system. In addition, Admin can set matching rate.

Actor: System Admin

Precondition: System admin must run the program and select admin menu.

Basic Sequence:

  1. System admin will enter his/her username and password and login to the system.
  2. System admin can select update from the menu for updating his/her personal information.
  3. System admin can select delete from the menu for deleting a person from the system.
  4. System admin can select requests from the menu to accept or reject registration applications of people.
  5. System admin can select a set face and iris matching rate which is used for verifying an employee.
  6. System admin can select exit button to exit the system.

Exception: Database connection can be failed.

Post Conditions: None

Priority: High

2.2.2 Registration System

Summary: Employee will use this system. The employee can show his/her face and eyes to the camera to create a registration application.

Actor: Employee, system admin

Precondition: Person should not be registered before, and employee should select register button.

Basic Sequence:

  1. An employee can show his/her face and eyes to the camera.
  2. After system reads his/her face and eyes, the employee can enter his/her personal information and then, send the application to the admin by selecting send button.
  3. After system reads his/her face and eyes, the employee can cancel the operation by selecting cancel button.
  4. The employee can exit from the system by selecting exit button.

Exception: Database connection can be failed.

Post Conditions: Application will be accepted or rejected by the system admin.

Priority: High

2.2.3 Recognition System

Summary: Person will use this system. The employee will show his/her face and eyes to the camera and then, the system will verify the user by comparing and matching his/her face and iris features with the features stored in the database. Also, the employee can exit from the system.

Actor: Employee

Precondition: Program should be run and the employee should select verify button.

Basic Sequence:

  1. The employee can show his/her face and eyes to the camera.
  2. The employee can exit from the system by selecting exit button.

Exception: Database connection can be failed.

Post Conditions: Accept or reject message will appear on the screen.

Priority: High

2.3 Activity Diagram

Figure 3 shows how the FIRec works as an activity diagram. When the employee shows his/her face to the camera, then FIRec system finds the features of image and FIRec compares them with the features which stored in the database. If matched features are equal or more than identified correction level of FIRec system, the employee can access to the protected file, else s/he needs to show his/her face to the camera again.

3. USE CASE REALIZATIONS

FIRec Project

3.1 Brief Description of Figure 4

Components of the FIRec Project are shown in Figure 4. Block diagram in the figure shows all designed systems of the FIRec. FIRec contains two main components which have their sub-systems.

3.1.1 GUI Design

GUI design takes responsibilities of interactions between actors and the system. GUI design contains two sub-systems. Sub-systems of GUI design are Main Menu and Admin Menu. The start page is Main Menu. The employee can register and verify his/her face and iris. Admin can login the system to the main menu. There is only one way to reach admin menu, after an admin logins the system, admin menu will appear. Admin can update his/her personal information, approve a person’s register application, update a person’s personal information, delete a person or set matching rate.

3.1.2 Recognition System Design

Responsibilities of recognition part belongs to recognition design for all recognition operations which are used in FIRec in order to verify an employee for other systems security. This system contains Face Recognition and Iris Recognition.

4. DETECTION

4.1 Face and Iris Detection

In this project, image acquisition technique is used to create the face and iris detection in FIRec. Firstly, As seems at Figure 5, when employee stands his/her face in front of the camera, face image acquisition actualize thanks to Matlab, then face detection step is happening, then eventually, employee identity recognized.

In figure 6, when employee stand his/her eye in front of the camera, iris image acquisition actualize thanks to Matlab, then image of localization of the demarcated zones are identified, then we reached iris code of the employee end of the polar representation is converting to Gabor filters.

In figure 7, we draw an approach of the face recognition, In this system, among the many possible approaches, we have decided to use a combination of knowledge-based methods for face detection part and neural network approach for face & iris recognition part. The main reason for this selection is their smooth applicability and reliability issues [2].

Pixel-based skin color segmentation is very sensible to the ambient effect such as difference of illumination. The technique used to here is based on the Gaussian Mixture Model (GMM). Morphological operations copes with tools for taking out image fragments that are utility in the representation and description of form. The containment of morphological reconstruction for both binary and gray-scale images made it possible to improve more complex and helpful morphological algorithms than before.

In figure 8, we design a FIRec Algorithm for detection part. It reduces computational time for searching the whole image. While segmentation is applied, only segmented region is searched whether the segment includes any face, iris or not [2].

In figure 9, white balance of images differs due to change in lighting conditions of the environment while acquiring an image. This situation creates non-skin objects that belong to skin objects. Therefore, white balance of the acquired image should be corrected before segmenting it. Results of segmentation on original image and white balance corrected image [3].

In figure 10, After face cover corner points are calculated, face image can be extracted [4]

In figure 11, a modified face image which is obtained in the Face recognition system, should be classified to identify the person in the database. Face recognition part is composed of preprocessing face image, vectorizing image matrix, database generation, and then classification.

In figure 12 and figure 13, Finally, face detection and recognition parts are merged to implement face recognition system. The system can also handle more than one faces in the acquired image. Code is generated on MATLAB environment [2].

5. REFERENCES

  1. What is Agile? What is Scrum? (2017, August 01). Retrieved December 15, 2017, from https://www.cprime.com/resources/what-is-agile-what-is-scrum/
  2. Gürel, C. and Erden, A. (2013). Face Detection. [online] Research Gate. Available at: https://www.researchgate.net/publication/262875649_Design_of_a_Face_Recognition_System [Accessed 23 Dec. 2017].
  3. P. Peer, J. Kovac, and F. Solina, 2003, “Robust Human Face Detection in Complicated Color Images”, Proc. 2010 The 2nd IEEE International Conference on Information Management and Engineering (ICIME), pp. 218 – 221, Chengdu, China.
  4. C. Gürel, 2011, “Development of A Face Recognition System”, M.S. Thesis in Mechatronics Engineering, Atılım University, Ankara, Turkey.