FACULTY OF COMPUTER SCIENCE AND INFORMATION TECHNOLOGY Automated Attendance System (AAS) Using Facial Recognition
SHEIKH MOHD AFIQ AHLAMI BIN MOHD NOOR
Bachelor of Computer Science with Honours (SOFTWARE ENGINEERING)
2019
Automated Attendance System (AAS) Using Facial Recognition
SHEIKH MOHD AFIQ AHLAMI BIN MOHD NOOR
This project is submitted in partial fulfilment of the Requirements for the degree of
Bachelor of Computer Science with Honours (SOFTWARE ENGINEERING)
Faculty of Computer Science and Information Technology UNIVERSITI MALAYSIA SARAWAK
2019
1
2
ACKNOWLEDGEMENT
I would like to express my greatest appreciation to my supervisor, Dr Stephanie Chua Hui Li, for her valuable and constructive suggestions during the planning and development of this project. I am thankful for the invaluable and fruitful experiences I had gained from her through preparing and writing of the scientific papers for the project. Her guidance and encouragements had encouraged me to keep on moving forward during the project phase. I would also like to thank my examiner, Dr Hamimah Binti Ujir, for her valuable feedback on my project. My thanks are also extended to our Final Year Project Coordinator, Prof Dr Wang Yin Chai for providing useful tips in completing my Final Year Project and all my family, friend, squad and also my best friend Fatanah Amira Binti Azmi for their support.
3
ABSTRACT
Attendance taking plays a significant role in the university classrooms to ensure effective teaching and learning through face to face lectures, tutorials, and laboratory sessions. In most University, standard attendance taking is still usual practices. Therefore, many traditional ways were already implemented such as calling every name on a list, and the concerned party will respond or sign the list manually. These approaches, however, are a long and tedious routine.
In college or university, many students manage to manipulate such manual systems easily by sign the Attendance on behalf of others who did not attend classes. Attendance is not for locking out the students, and its sole purpose is to ensure that the students come to Class and sometimes can be used as a record for the student's whereabouts. A more modern style of Attendance is using QR code. The problem with this method is that the lecturer needs to spend at least five minutes to show the QR code on the big screen for all students to scan the code. If some student is late, it may take another five minutes. If some students forget to scan the QR code or are not there when the QR code is displayed, then their Attendance will be denoted as absent. Hence, a web-based automated attendance system is proposed to solve this issue by using facial recognition.
Keywords: automated; Attendance; facial recognition; web application
4
ABSTRAK
Mengambil kedatangan mempunyai peranan penting untuk kelas di universiti dan memastikan keberkesanan pengajaran dan pembelajaran Bersama pensyarah.Tidak hanya untuk kelas tetapi juga sesi-sesi lain. Kebanyakan universiti masih mengunakan , pengambilan kehadiran secara tradisional seperti memanggil setiap nama dalam senarai dan pihak yang berkenaan akan membalas atau menandatangani senarai itu secara manual. pendekatan ini, bagaimanapun, adalah rutin yang panjang dan membosankan. Di kolej atau universiti, kebanyakan pelajar akan memanipulasi sistem manual seperti ini dengan mudah dengan menanda tanganani kehadiran bagi pihak orang lain yang tidak menghadiri kelas. Kehadiran bukan untuk menyekat pelajar, tujuan utamanya adalah untuk memastikan bahawa pelajar datang ke kelas dan kadang kala boleh digunakan sebagai satu rekod untuk pelajar.Pemeriksaan Kehadiran yang lebih moden adalah menggunakan kod QR. Masalah dengan kaedah ini adalah bahawa pensyarah perlu meluangkan sekurang-kurangnya lima minit untuk menunjukkan kod QR pada skrin besar untuk semua pelajar untuk mengimbas kod dan Jika beberapa pelajar lewat, ia mungkin mengambil masa lima minit lagi. Jika sesetengah pelajar sama sekali lupa untuk mengimbas kod QR atau tidak berada di sana apabila kod QR dipaparkan, maka kehadiran mereka akan ditandakan sebagai tidak hadir. Oleh itu, sistem kehadiran automatik berasaskan web adalah dicadangkan untuk menyelesaikan isu ini dengan menggunakan pengecaman wajah.
Kata kunci: automatik; kehadiran; pengecaman wajah; applikasi web
5
Contents
ACKNOWLEDGEMENT ... 2
ABSTRACT ... 3
ABSTRAK ... 4
Contents ... 5
LIST OF TABLES... 8
LIST OF FIGURES ... 10
LIST OF ABBREVIATIONS... 13
CHAPTER 1: INTRODUCTION ... 15
1.1 Background ... 15
1.2 PROBLEM STATEMENT ... 16
1.3 PROJECT SCOPE ... 17
1.4 PROJECT OBJECTIVES ... 17
1.5 BRIEF METHODOLOGY ... 18
1.6 SIGNIFICANCE OF PROJECT ... 19
1.7 PROJECT SCHEDULE ... 20
1.8 EXPECTED OUTCOME ... 21
1.9 Project Outline ... 21
1.9.1 Chapter 1: Introduction ... 21
1.9.2 Chapter 2: Background Study ... 21
1.9.3 Chapter 3: Requirement Analysis and Design ... 21
1.9.4 Chapter 4: Implementation and Testing ... 22
1.9.5 Chapter 5: Conclusion and Future Works ... 22
1.10 Summary ... 22
CHAPTER 2: BACKGROUND STUDY ... 23
2.1 Introduction ... 23
2.2 Background of Existing System ... 23
2.2.1 Automated Attendance Monitoring System using Android Platform ... 23
2.2.2 Bluetooth Smart based Attendance Management System ... 25
2.2.3 A Students Attendance System Using QR Code... 26
2.3 Proposed and Existing System Comparison... 28
2.4 hardware and software review ... 29
2.4.1 software review... 29
2.4.2 hardware review ... 30
2.5 Summary ... 31
CHAPTER 3: REQUIREMENT AND DESIGN ... 32
3.1 Introduction ... 32
6
3.2 Methodology... 32
3.3 Requirement Analysis ... 34
3.3.1 System Requirements ... 34
3.3.2 Functional Requirement ... 35
3.4 Non-functional Requirements... 37
3.4.1 Performance Requirements ... 37
3.4.2 Safety and Security Requirements ... 37
3.4.3 Software Quality Attributes ... 37
3.4.3.1 Availability ... 37
3.4.3.2 Usability ... 38
3.4.3.3 Portability ... 38
3.4.3.4 Maintainability ... 38
3.5 System Architecture & Design ... 38
3.5.1 System Design ... 39
3.5.1.1 Software Design ... 40
3.5.1.2 Hardware Design ... 41
3.6 Module Design ... 42
3.6.1 Activity Diagram ... 43
3.6.1.1 Login ... 43
3.6.1.2 View Course... 45
3.6.1.3 View Lecturer ... 47
3.6.1.4 View Student ... 49
3.6.1.5 View Class ... 51
3.6.1.5 View Class ... 53
3.7 Database Design ... 55
3.8 Interface design ... 56
3.9 Summary ... 59
Chapter 4: System Implementation ... 60
4.1 Introduction ... 60
4.2 System Implementation ... 60
4.3 Overview of System... 61
4.3.1 User Roles ... 61
4.4 Functions and Features ... 62
4.6 Summary ... 72
CHAPTER 5: SYSTEM TESTING ... 73
5.1 Introduction ... 73
5.2 Test Strategy ... 73
7
5.2.1 Unit Testing ... 73
5.2.2 Integration Testing ... 73
5.2.3 System Testing... 74
5.3 Test Result and Analysis ... 74
5.3.1 Functional Testing ... 74
5.3.2 Usability Testing ... 84
5.4 Summary ... 87
CHAPTER 6: CONCLUSION AND FUTURE WORKS ... 88
6.1 Introduction ... 88
6.2 Achievement ... 88
Limitations and Constraints ... 89
6.4 Future works ... 89
6.4.1 Improve API call ... 89
6.4.2 Improve the processing time of captured faces ... 89
6.4.3 Improve algorithm to check-in Attendance ... 90
6.4.4 Include Report Generation ... 90
6.5 Summary ... 90
REFERENCES ... 91
8
LIST OF TABLES
Table 1. 1: FYP 1 Schedule ... 20
Table 2. 1: Systems comparison ... 28
Table 3. 1: Systems Requirement ... 35
Table 5. 1: Test plan for Login ... 75
Table 5. 2: Test plan for Logout ... 75
Table 5. 3: Test plan for add courses ... 76
Table 5. 4: Test plan for Edit courses ... 76
Table 5. 5: Test plan for Delete Courses... 77
Table 5. 6: test plan for Add student ... 77
Table 5. 7 : Test plan for Edit student ... 78
Table 5. 8 : Test plan for Delete Student ... 78
Table 5. 9 : Test plan for Registered Student ... 79
Table 5. 10 : Test Plan for Delete Registered Student ... 79
Table 5. 11 : test plan for Add Classes ... 80
9
Table 5. 12 : Test plan for Edit Classes ... 81
Table 5. 13 : Test plan for delete classes ... 81
Table 5. 14 : Test plan for Register lecturer Account ... 82
Table 5. 15 : Test plan for Add attendance manually ... 83
Table 5. 16 : Test plan for Auto attendance ... 83
Table 5. 17: a result of usability testing AAS ... 85
Table 5. 18: result for ease of uses ... 86
Table 5. 19: expert satisfaction toward AAS ... 87
Table 6. 1: Project and Achievements ... 88
10
LIST OF FIGURES
Figure 1. 1 : Scrum methodology ... 18
Figure 2. 1: (AMS) System architecture ... 24
Figure 2. 2: Flowchart of Attendance Management System... 25
Figure 2. 3:Flowchart of Attendance Management System... 27
Figure 3. 1: Scrum methodology Phase ... 32
Figure 3. 2: System Overview ... 39
Figure 3. 3: System Architecture ... 40
Figure 3. 4: Hardware Connections ... 41
Figure 3. 5: Use Case of Automated Attendance System (AAS)... 42
Figure 3. 6: Login Activity diagram ... 43
Figure 3.6 1: Login Sequence Diagram ………..44
Figure 3. 7: Admin(course) activity diagram ... 45
Figure 3.7. 1: Admin(course) sequence diagram ... 46
Figure 3. 8: Admin(lecturer) activity diagram ... 47
Figure 3.8 1: Admin(lecturer) Sequence diagram... 48
Figure 3. 9: Admin(student) activity diagram... 49
11
Figure 3.9 1: Admin(student) sequence diagram ………..50
Figure 3. 10: Admin (Class) activity diagram ... 51
Figure 3.10. 1: Admin (Class) sequence diagram ... 52
Figure 3. 11: Lecturer activity diagram ……….53
Figure 3.11 1: Lecturer Sequence diagram ... 54
Figure 3. 12: Class Diagram ...………..55
Figure 3. 13: Main Page Interface ... 56
Figure 3. 14: Login Page Interface ... 57
Figure 3. 15: Course View ... 57
Figure 3. 16: Attendance list Interface ... 58
Figure 4. 1 : User register forms ... 62
Figure 4. 2:Login ... 63
Figure 4. 3:Admin Homepage ... 63
Figure 4. 4 : Course modules page ... 64
Figure 4. 5:Edit Course ... 65
Figure 4. 6:Add new courses ... 65
12
Figure 4. 7:List of Lecturer... 65
Figure 4. 8:List of Classes ... 66
Figure 4. 9:Class create form ... 67
Figure 4. 10:Edit form for Class ... 67
Figure 4. 11:List of students ... 68
Figure 4. 12:Add new Student ... 68
Figure 4. 13:Lecturer Homepages. ... 69
Figure 4. 14:list of class ... 70
Figure 4. 15:Automatic Attendance Taking ... 71
Figure 4. 16:Add Attendance manually ... 72
13
LIST OF ABBREVIATIONS
No Abbreviations Explanations
1 QR Code Quick Response code
2 AAS Automated Attendance System
3 API Application programming interface
4 SCRUM Framework for project management that emphasizes teamwork, accountability and iterative progress toward a well-defined goal.
5 AMS Automated Attendance Monitoring System using Android Platform
6 SMS Short Message Service
7 SQL Structured Query Language
8 MYSQL Relational Database Management System.
A Free version of SQL server.
9 PHPMYADMIN Relational Database Management System that handle php
10 JAVA is a general-purpose programming language that is class-based, object-oriented, and designed to have as few implementation
dependencies as possible
11 Wi-Fi wireless fidelity
12 RFID radio-frequency identification
14
13 MVC Model-View-Controller
14 LARAVEL PHP Framework
15 C# Programing language
16 HTML Hypertext Mark-up Language
17 SSMS SQL Server Management Studio
18 IIS Internet Information Services
19 CRUD Create,Read,Update,Delete
20 MCO Movement Control Order
15
CHAPTER 1: INTRODUCTION
1.1 Background
Attendance taking plays a significant role in the university classrooms to ensure effective teaching and learning through face to face lectures, tutorials and laboratory sessions.
In most University, regular attendance taking is still the norm. Some problems with this method include false sign in for members that do not attend the class and some of it disturbing the class time for attendance taking.
Facial recognition is a technology that can detect peoples face from the collection of pictures containing people. This collection of data then be trained to a data model. Every face that is detected will be compared with this model, and then all variable will be calculated by the algorithm to justify which model that really satisfy this face. Anthony(2014) reports that, because of the outstanding ability of the human mind to get close to the identification of pictures and identity verification of people, this has drawn much attention for researchers to invest time to find algorithms that may replicate effective face recognition on electronic systems to be used by humans.
A more modern style of Attendance is using QR code. The problem with this method is that the lecturer needs to spend at least five minutes to show the QR code on the big screen for all students to scan the code and. If some student is late, it may take another five minutes.
If some students totally forget to scan the QR code or are not there when the QR code is displayed, then their Attendance will be denoted as absent.
16 1.2 PROBLEM STATEMENT
Attendance system will always be a part of any institution or organization across the world. It plays an important role in checking the presence of members of the organization or institution.
Therefore, many traditional ways were already implemented, such as calling every name on a list, and the concerned party will respond or sign the list manually. These approaches, however, are a long and tedious routine. In college or university, many students manage to manipulate such manual systems easily by sign the Attendance on behalf of others who did not attend classes. Attendance is not for locking out the students, and its sole purpose is to ensure that the students come to Class and sometimes can be used as a record for the student's whereabouts.
Nowadays, we are entering the digital era, where the manual ways can be improved with technology. Some universities started using the QR code systems for Attendance where the students cannot cheat and sign for another member who is absent. However, these systems consume time, and student can scan only at a specific location at certain times. In addition, all students or staff must have a smartphone and internet access So, it is not appropriate to make the student take the fall because the system itself is not user-friendly, does not act in natural ways and time-consuming.
17 1.3 PROJECT SCOPE
Automated Attendance System (AAS) using facial recognition is a system to automatically recognize the face of a person who walks through the classroom door. After the recognizing process, the system will check in the database for matching record. The web portal for lecturer will show the number of students that have already check-in and that are still absent.
From the lecturer's web portal, the lecturer also can manually check in the student in case the student's face is not recognized.
In this project, the proposed AAS is using facial recognition. The Camera used to capture the Attendance is put at either the front or at the door of the Class. This Camera will capture the Image of the students who come into class. The captured face will be sent to face API to compared with the face in the database and find a match. All the unmatched faces will appear on the lecturer systems so then the lecturer can either manually check in this unmatched face or if this unmatched face is a student who is not registered in the Class.
The users for this system are the Systems Admin who will oversee and manage the system. Another user is the Admin clerk who will have access to adding courses, classes and mapping the lecturers to their respective Class. The lecturer user is the academic staff who will take Attendance for the classes.
1.4 PROJECT OBJECTIVES
1. To design an Automated Attendance System (AAS) using facial recognition technology.
2. To develop a prototype for the proposed AAS.
3. To test the prototype of the AAS.
18 1.5 BRIEF METHODOLOGY
The methodology adopted for this project is the Scrum methodology. Scrum is a sprint-based methodology where the project is divided into small tasks and be distributed among a team member and need to be done based on the day that is provided for each task. Each sprint usually takes 1-3 weeks. For every sprint, each day, the members will have a stand-up meeting where the team discusses what they had completed yesterday and working on today. Time is split into short work cadences, referred to as sprints, generally one weeklong.
Figure 1. 1: Scrum methodology
Based on Figure 1, Scrum methodology has four phases. The first phase is the product backlog which is where all the project requirements are put in the list. Team members will select the priority task to be put on top of the list.
The second phase is the sprint backlog (sprint planning). Here all the team members will determine the time allocation that will take to complete every single task. Every task may have a different time to complete. Usually, this is measured using the working day standard.
The number of tasks distributed to one person for one sprint will be based on the time allocated
19
for that task. Each of the sprints does not have a specific volume of task, but it is based on the time that we allocate to each of the tasks. The sprint backlog is also the phase to determine all the tasks to be done from a current and previous sprint to make sure all the task is in the right timeline.
The third phase is the sprint week. Sprint is 1-3-week time box where all the team members are committed to doing all the task that are distributed in a sprint backlog phase.
During the sprint phase, the daily stand-up meeting can be done for the team to discuss what they completed yesterday and what they will be working on today as well as any blocked tasks in their current tasks.
The last phase is the sprint review. Every end of the sprint, all team members will sit with the scrum master to review the current progress. This to ensure the system is developed accordingly on track and move towards the objectives, so that is in line with what the project requirement needs.
1.6 SIGNIFICANCE OF PROJECT
Upon the establishment of the Automated Attendance System (AAS), the time for taking Attendance can be reduced. With this system, Attendance for any kind of event will be hassle- free with minimal intervention from a human. The student will never be bothered with the Internet to scan the QR code. Also, with these systems, the lecturer can get attendance data more accurately. All the student is also free from the late arrival problem or misses out the QR code scan time.
20
1.7 PROJECT SCHEDULE
Table 1. 1: FYP 1 Schedule
21 1.8 EXPECTED OUTCOME
The expected outcome of this project is an Automated Attendance System using Facial recognition with a web application interface.
1.9 Project Outline
1.9.1 Chapter 1: Introduction
Chapter 1 is the introduction of an Automated Attendance System (AAS) using facial recognition.
The key points of this chapter are the problem statement, project objective, methodology, project scope, significant of project, project schedule and the expected outcome of this project.
1.9.2 Chapter 2: Background Study
In this chapter, three or more existing systems will be reviewed and compared. From the comparison with other existing system features, the strengths and the weaknesses of the proposed system will be justified. This chapter also covers the review of selected tools, software and technique used in this project.
1.9.3 Chapter 3: Requirement Analysis and Design
The methodology applied for the development of this entire project is discussed in this chapter. It includes user, hardware and software requirements to develop the Automated attendance system (AAS). The functional and non-functional requirement, the design also be
22
discussed in this chapter. To have a high rate of success in conducting this project, Scrum is used as the methodology adopted.
1.9.4 Chapter 4: Implementation and Testing
In this chapter, the implementation and testing will be done after the prototype has been designed. Functional testing will be conducted in order to determine the usability of the system or detect any errors in the system. The test results will be recorded to improve and upgrade the performance and usability of the system if necessary.
1.9.5 Chapter 5: Conclusion and Future Works
This chapter concludes that the entire project and the outcome of the system will be discussed by determining whether the objectives and the project scope have been accomplished and attained. Besides that, suggestion which can improve the functionality and performance of this system are discussed in this chapter as future works.
1.10 Summary
The Automated attendance system (AAS) is designed to get hassle-free attendance system and to saved time from the automated process. This chapter has given an overview of the project.