SRS Documentation

Download as pdf or txt
Download as pdf or txt
You are on page 1of 61

VISVESVARAYA TECHNOLOGICAL UNIVERSITY

"Jnana Sangama", Belgavi-590 018, Karnataka, India

A
PROJECT REPORT
on
“Smart Attendance System in Crowded Classroom”
Submitted in Partial Fulfillment of the requirements for the award of the degree of

BACHELOR OF ENGINEERING
IN
COMPUTER SCIENCE AND ENGINEERING
Submitted By
Palash Ghosh 1SJ18CS068
Pichili Sai Charan Reddy 1SJ18CS072
Veera Jaswanth Reddy 1SJ18CS115
Yuvraj Naorem 1SJ18CS124
Carried out at
B G S R&D Centre,
Dept of CSE,
SJCIT

Under the guidance of


Dr. Murthy SVN
Associate Professor,
Dept. of CSE, SJCIT.

S J C INSTITUTE OF TECHNOLOGY
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
CHIKKABALLAPUR-562 101
2021-2022
DECLARATION

We Palash Ghosh (1SJ18CS068), Pichili Sai Charan Reddy (1SJ18CS072), Veera


Jaswanth Reddy (1SJ18CS115), Yuvraj Naorem (1SJ18CS124) Students of VIII
semester B.E in Computer Science and Engineering at S.J.C Institute of Technology,
Chickballapur, hereby declare that this dissertation work entitled “Smart Attendance
System in Crowded Classroom” has been carried out at B.G.S R&D Centre, Dept. of
CSE, SJCIT under the guidance of guide Dr. Murthy SVN, Associate Professor, Dept.
of CSE, SJC Institute of Technology, Chickballapur and submitted in the partial
fulfilment for the award of degree Bachelor of Engineering in Computer Science and
Engineering of Visvesvaraya Technological University, Belagavi during the academic
year 2021-2022. We further declare that the report had not been submitted to another
university for the award of any other degree.

Place: Chickballapur Palash Ghosh (1SJ18CS068)


Date: Pichili Sai Charan Reddy (1SJ18CS072)
Veera Jaswanth Reddy (1SJ18CS115)
Yuvraj Naorem (1SJ18CS124)

i
ABSTRACT

Affecting the learning process of students, which has predisposed many of them to
become familiar with this new teaching process, making the use of virtual platforms more
common. Many educational centres have come to rely on digital tools such as: Discord,
Google Meet, Microsoft Team, Skype and Zoom for tracking students attendance. Face
is the crucial part of the human body that uniquely identifies a person. Using the face
characteristics as biometric, the face recognition system can be implemented. The most
demanding task in any organization is attendance marking. In traditional attendance
system, the students are called out by the teachers and their presence or absence is marked
accordingly. However, the traditional techniques are time consuming and tedious. In this
project, the Open CV based face recognition approach has been proposed. This model
integrates a camera that captures an input image, an algorithm for detecting face from an
input image, encoding and identifying the face, marking the attendance in a spreadsheet
and storing in system. The training database is created by training the system with the
faces of the authorized students. The cropped images are then stored as a database with
respective labels. The features are extracted using LBPH algorithm. The primary
objective of this project is to create a automated attendance system that can provide
information to teachers.

ii
ACKNOWLEDGEMENT

With reverential pranam, we express my sincere gratitude and salutations to the feet
of his holiness Paramapoojya Jagadguru Byravaikya Padmabhushana Sri Sri Sri Dr.
Balagangadharanatha Maha Swamiji, his holiness Paramapoojya Jagadguru Sri Sri
Sri Dr. Nirmalanandanatha Maha Swamiji, and Sri Sri Sri Mangalnath Swamiji , Sri
Adichunchanagiri Mutt for their unlimited blessings.
First and foremost we wish to express our deep sincere feelings of gratitude to our
institution, Sri Jagadguru Chandrashekaranatha Swamiji Institute of Technology, for
providing us an opportunity for completing the Project Work Phase-II successfully.
We extend deep sense of sincere gratitude to Dr. G T Raju, Principal, S J C Institute
of Technology, Chickballapur, for providing an opportunity to complete the Project Work
Phase-II.
We extend special in-depth, heartfelt, and sincere gratitude to HOD Dr. Manjunatha
Kumar B H, Head of the Department, Computer Science and Engineering, S J C
Institute of Technology, Chickballapur, for his constant support and valuable guidance
of the Project Work Phase-II.
We convey our sincere thanks to Project Guide Dr. Murthy SVN, Associate
Professor, Department of Computer Science and Engineering, S J C Institute of
Technology, for his constant support, valuable guidance and suggestions of the Project
Work Phase-II.
We also feel immense pleasure to express deep and profound gratitude to Project Co-
ordinators Prof. PradeepKumar G M and Prof. Shrihari MR, Assistant Professors,
Department of Computer Science and Engineering, S J C Institute of Technology, for
their guidance and suggestions of the Project work.
Finally, we would like to thank all faculty members of Department of Computer
Science and Engineering, S J C Institute of Technology, Chickaballapur for their support.
We also thank all those who extended their support and co-operation while bringing
out this Project Work Phase-II

PALASH GHOSH (1SJ18CS068)

PICHILI SAI CHARAN REDDY (1SJ18CS072)

VEERA JASWANTH REDDY (1SJ18CS115)

YUVRAJ NAOREM (1SJ18CS124)


iii
TABLE OF CONTENTS
Declaration i

Abstract ii

Acknowledgement iii

Table of Contents iv

List of Figures vii

List of Tables viii

CHAPTER NO. CHAPTER TITLE PAGE NO.

1 INTRODUCTION 1-3

1.1 Overview 1

1.2 Problem Statement 2

1.3 Significance and Relevance of Work 2

1.4 Objectives 3

1.5 Methodology 3

1.6 Organization of the Report 3

2 LITERATURE SURVEY 4-7

3 SYSTEM REQUIREMENTS AND 8-11


SPECIFICTAION

3.1 System Requirement and Specification 8

3.1.1 Specific Requirement 8

3.1.2 Hardware Specification 9

3.1.3 Software Specification 9

3.1.4 Functional Requirements 9

3.1.5 Non – Functional Requirements 10

3.1.6 Performance Requirements 10

4 SYSTEM ANALYSIS 12-13

iv
4.1 Existing System 12

4.1.1 Limitations 12

4.2 Proposed System 12

4.2.1 Advantages 12

5 SYSTEM DESIGN 14-18

5.1 Project Modules 14

5.2 Activity Diagram 14

5.3 Use Case Diagram 15

5.4 Data Flow Diagram 17

5.5 Sequence Diagram 18

6 IMPLEMENTATION 19-25

6.1 HARR Cascade Face Detection 19

6.2 LBPH Face Reorganization 19

Source code 20

7 TESTING 26-31

7.1 Testing and its types 26

7.2 Methods of Testing 26

7.2.1 Code Testing 26

7.2.2 Specification Testing 27

7.2.3 Unit Testing 27

7.2.3.1 Black Box Testing 28

7.2.3.2 White Box Testing 29

7.2.4 Integration Testing 29

7.2.5 System Testing 31

Test Cases 30

8 PERFORMANCE ANALYSIS 32-33

v
9 CONCLUSION AND FUTURE 34
ENHANCEMENT

BIBLIOGRAPHY 35-36

APPENDIX 37-39

Appendix A: Screen Shots 37

Appendix B: Abbreviations 39

PAPER PUBLICATION DETAILS 40

v
LIST OF FIGURES
FIGURE NO. FIGURE TITLE PAGE NO.
5.2 Activity Diagram 15

5.3 Use Case Diagram 16

5.4 Data Flow Diagram 17

5.5 Sequence Diagram 18

A1 Register Page 37

A2 Registering Face 37

A3 Trained Images 38

A4 Student Details 38

vii
LIST OF TABLES
TABLE NO. TABLE TITLE PAGE NO.
7.1.4.1 Test Case 1 30

7.1.4.2 Test Case 2 30

7.1.5.1 Test Case 3 31

8.1 Performance analysis with existing systems 33

viii
CHAPTER – 1
INTRODUCTION
INTRODUCTION
1.1 Overview

Every day, the CCTV system operates to monitor the inside of a building for security.
The system’s resources allow developers to build computer vision-based applications to
integrate with CCTV. Face recognition is an excellent biometric technique for identity
authentication. It is possible to apply FR technology for automatic attendance taking at
schools. There are several benefits from attendance considering using the existing
camera system, such as save time and effort, provide striking evidence for quality
assurance and human resource management tasks, avoid intermediary of infectious
diseases. The existing attendance taking system that uses fingerprint recognition is facing
several challenges due to large intra-class variability and substantial inter-class similarity
mentioned by Dyre and Sumathi. Ngo et al. combined the data from the academic portal
with different FR techniques for the task of taking attendance in the classroom. The result
shows that their system works smoothly. However, the investment costs for procurement,
camera installation at the school, and a large number of video processing are expensive.

In the last decade, crowd counting and localization attract much attention of researchers
due to its wide-spread applications, including crowd monitoring, public safety, space
design, etc. Many Convolutional Neural Networks (CNN) are designed for tackling this
task. However, currently released datasets are so small-scale that they cannot meet the
needs of the supervised CNN-based algorithms. Compared with other real-world
datasets, it contains various illumination scenes and has the largest density range.
Besides, a benchmark website is developed for impartially evaluating the different
methods, which allows researchers to submit the results of the test set. Based on the
proposed dataset, we further describe the data characteristics, evaluate the performance
of some mainstream state-of-the-art methods, and analyse the new problems that arise
on the new data.

1
Smart Attendance System in Crowded Classroom Introduction

1.2 Problem Statement


Every organization has adopted its own method for AMS. Some continue with the
traditional method for taking attendance manually while some have adopted the
biometric techniques. Thetraditional method makes it difficult to verify students one-by-
one in a large classroom environment. Moreover, the manual labour involved in
computing the attendance percentage becomes a major task.

The Radio Frequency Identification (RFID) helps to identify a large number of crowds
using radio waves. It has high efficiency and hands- free access control. But it is observed
that it canbe misused.

1.3 Significance and Relevance of Work


The significance of this study is to move from manual student attendance to
Computerized attendance taking system for easy retrieval, storage, accuracy and
security. This research work will offer the following advantages to the various
departments in the university:

• Reduced Storage: The cost of commercial property and the need to store
documentation for e.g. retrieval, regulatory compliance means that paper based
project storage competes with people for space within an organization. Scanning
projects and integrating them into a project management system can greatly reduce
the amount of primes to rage space required by paper.
• Flexible Indexing: Indexing paper in more than one way can be done, but it is
awkward, costly and time-consuming. Images of projects stored within a attendance
management system can be indexed in several different ways simultaneously.
• Improved, faster and more flexible attendance taking: Smart attendance
management systems can retrieve files by any word or phrase in the document –
known as full text search -a capability that is impossible with paper.
• Improved Security: A attendance management system can provide better, more
flexible control over sensitive projects.
• Disaster Recovery: A Attendance management system provides an easy way to
back-up attendance for offsite storage and disaster recovery providing failsafe
archives and an effective disaster recovery strategy.

Dept. Of CSE, SJCIT. 2 2021-22


Smart Attendance System in Crowded Classroom Introduction

1.4 Objectives

• To avoid the manual errors while taking attendance. To build an automated


attendance taking system.
• To build an unaware automated attendance system.

1.5 Methodology
In this project we are using the two algorithms

• Haar cascade Classifier


• Local Binary Pattern Histogram(LBPH)

1.6 Organization of the Report


The project report is organized as follows:

• Introduction
This chapter tells about the problem statement, background of the project, motivation,
its existing system and its effect as well as proposed system with its theoretical
outline.
• Literature Survey
Gives brief overview of the paper and the research sources that have been studied to
establish through an understanding of the under consideration.
• System Requirements
Discuss in detail about the different kind of requirements needed to successfully
complete the project.
• Expected Outcome
Gives details about expected outcome of the project, like what is the format of the
last process output, in this case it is result of students data filled in csv file where
admin can download it for documental proof.
• Advantages and Application
Gives the description of the project advantages and application. It will save time
which is gradually more in manual way of taking attendance and since it is
machine generatedthere is less scope of errors.

Dept. Of CSE, SJCIT. 3 2021-22


CHAPTER – 2
LITERATURE SURVEY
LITERATURE SURVEY
A literature survey is a text of a scholarly paper, which includes the current knowledge including
substantive findings, as well as theoretical and methodological contributions to a particular topic.
Literature reviews use secondary sources, and do not report new or original experimental work.
Most often associated with academic-oriented literature, such as a thesis, dissertation or a peer-
reviewed journal article, a literature ere view usually precedes the methodology and results sectional
though this is not always the case. Literature reviews are also common in are search proposal or
prospectus.

1. Title: Max-margin object detection


Author: King, Davis
Abstract: Most object detection methods operate by applying a binary classifier to sub- windows
of an image, followed by anon-maximum suppression step where detections on overlapping sub-
windows are removed. Since the number of possible sub-windows in even moderately sized image
datasets is extremely large, the classifier is typically learned from only a subset of the windows.
This avoids the computational difficulty of dealing with the entire set of sub windows, however, as
we will show in this paper, it leads to sub-optimal detector performance.

In particular, the main contribution of this paper is the introduction of a new method, Max- Margin
Object Detection (MMOD), for learning to detect objects in images. This method does not perform
any sub-sampling, but instead optimizes over all sub-windows. MMOD can be used to improve any
object detection method which is linear in the learned parameters, such as HOG or bag-of-visual-
word models.

Advantages:
MMOD optimizes the overall accuracy of the entire detector, taking into account information
which is typically ignored when training a detector.
Disadvantages:
It is not support for more-complex scoring functions, possibly by using kernels.

4
Smart Attendance System in Crowded Classroom Literature Survey
2. Title: Face Recognition-Based Mobile Automatic Classroom Attendance System
Author: Samet, Refik, and Muhammed Tanriverdi
Abstract: Classroom attendance check is a contributing factor to student participation and the final
success in the courses. Taking attendance by calling out names or passing around an attendance
sheet are both time-consuming, and especially the latter is open to easy fraud. As an alternative,
RFID, wireless, fingerprint, and iris and face recognition-based methods. disadvantage. The present
paper aims to propose a face recognition-based mobile automatic classroom attendance
management system needing no extra equipment. To this end, a filtering system based on
Euclidean distances calculated by three face recognition techniques, namely Eigen faces, Fisher
faces and Local Binary Pattern, has been developed for face recognition. The proposed system
includes three different mobile applications for teachers, students, and parents to be installed on
their smartphones to manage and perform the real- time attendance-taking process. The proposed
system wasted among students at Ankara University, and the results obtained were very satisfactory.

Advantages:
• System eliminates the cost for extra equipment, minimizes attendance-taking time, and allows
users to access the data anytime and anywhere.
• Smart devices are very user friendly to perform classroom attendance monitoring.
• Teachers, students, and parents can use the application without any restrictions and in real-time.
Disadvantages:
• Detection and recognition processes could be performed on smart devices once their processor
capacity is sufficiently increased.

3.Title: Attendance system using hybrid face recognition techniques.


Author: Jayant, Nazare Kanchan, and Surekha Borra
Abstract: Attendance recording of a student in an academic organization plays a vital role in
judging students performance. As manual labor involved in this process is time consuming,an
automated Attendance Management System (AMS) based on face detection and facerecognition
techniques is proposed in paper. The system employs modified Viola-Jones algorithm for face
detection, and alignment- free partial face recognition algorithm for face recognition.

Dept of CSE, SJCIT 5 2021-22


Smart Attendance System in Crowded Classroom Literature Survey
Advantages:
• Automatic tracking of there cords of the students

• Minimizing the manual labour and pressure on the lecturers for accurate marking of the
attendance
• Minimizing the time required for marking attendance and maximizing the time requiredfor
actual teaching process.
Disadvantages:
• It requires huge space and huge training data.

4. Title: FSR Net: End-to-End Learning Face Super-Resolution with FacialPriors


Author: Yu Chen1, Ying Tai, Xiaoming Liu, Chunhua Shen, Jian Yang
Abstract: Face Super-Resolution(SR)is a domain- specific super resolution problem. Thefacial
prior knowledge can be leveraged to better super-resolve face images. We present anovel deep
end-to-end trainable Face Super-Resolution Network, which makes useof the geometry prior, i.e.
facial landmark heat maps and parsing maps, to super resolve verylow- resolution (LR) face
images without well aligned requirement. Specifically, we firstconstruct a coarse SR network
to recover a coarse high-resolution (HR) image. Then, thecoarse HR image is sent to two
branches:, and estimates landmark heatmaps/parsing mapsrespectively. Both image features and
prior information are sent to a fine SR decoder torecover the HR image. To generate realistic
faces, we also propose the Face Super-Resolution .

Advantages:
• It helps to improve the photometric recovery in terms of PSNR/SSIM.
• Provides a solution for accurate geometry estimation directly from very LR images.
Disadvantages:
• It recognize a single face only.

5.Title: Trunk-branch ensemble convolutional neural networks for video-based face recognition
Author: C. Ding and D. Tao
Abstract: Human faces in surveillance videos often suffer from severe image blur, dramatic pose
variations, and occlusion. In this paper, we propose a comprehensive framework based on

Dept of CSE, SJCIT 6 2021-22


Smart Attendance System in Crowded Classroom Literature Survey
Convolutional Neural Networks (CNN) to overcome challenges in video-based face
recognition(VFR). First, to learn blur-robust face representations, we artificially blur training data
composed of clear still images to account for a shortfall in real-world video training data. Using
training data composed of both still images and artificially blurred data, CNN isencouraged to learn
blur-in sensitive features automatically. Second, to enhance robustness of CNN features to pose
variations And occlusion, we propose a Trunk – Branch Ensemble CNNmodel(TBE-CNN),which
extracts complementary information from holistic face images and patches cropped around facial
components. TBE-CNN is an end-to-end model that extracts features efficiently by sharing the low-
and middle-level convolutional layers between the trunk and branch networks. Third, to further
promote the discriminative power of the representations learnt by TBE-CNN, we propose an
improved triplet loss function. Systematic experiments justify the effectiveness of the proposed
techniques. Most impressively, TBE- CNN achieves state-of-the-art performance on three popular
video face databases : COX Face, and YouTube Faces. With the proposed techniques, we also
obtain the first placein the BTAS 2016Video Person Recognition Evaluation.

Advantages:
• It improves the accuracy upto 85%.
Disadvantages:
• There is no automated attendance system.

6.Title: University attendance based on deep learning


Author: R. Fu, D. Wang, D. Li, and Z. Luo.
Abstract: Attendance is an important part of classroom evaluation. This paper develops a university
classroom automatic attendance system by integrating two deep learning algorithms MTCNN face
detection and Centre-Face face recognition. A large number of experimental results show that: (1)
The system can record such three violations of classroom discipline for automatic attendance, that
is absence, lateness and leaving early. An attendance table about all students learning status after
class is immediately recorded. (2)

Advantages:
• It improves accuracy in attendance upto 93.7%.
Disadvantages:
It consumes large set of dataset and huge resources.

Dept of CSE, SJCIT 7 2021-22


CHAPTER – 3
SYSTEM REQUIREMENTS
AND
SPECIFICATION
SYSTEM REQUIREMENTS AND SPECIFICATION

3.1 System Requirement and Specification


System Requirement Specification is a central report, which frames the establishment of
the product advancement process. It records the necessities of a framework as well as has
a depiction of its significant highlight. An SRS is essentially an association's seeing (in
composing) of a client or potential customer's frame work necessities and conditions at
a specific point in time (generally) before any genuine configuration or improvement
work. It's a two-way protection approach that guarantees that both the customer and the
association comprehend alternate's necessities from that viewpoint at a given point in
time.

The SRS talks about the item however not the venture that created it, consequently the
SRS serves as a premise for later improvement of the completed item. The SRS may
need to be changed, however it does give an establishment to proceed with creation
assessment. In straightforward words, programming necessity determination is the
beginning stage of the product improvement action. The SRS means deciphering the
thoughts in the brains of the customers – the information, into a formal archive – the
yield of the prerequisite stage. Subsequently the yield of the stage is a situated of formally
determined necessities, which ideally are finished and steady, while the data has none of
these properties.

3.1.1 Specific Requirement


Requirement Specification provides a high secure storage to the web server efficiently.
Software requirements deal with software and hardware resources that need to be
installed on a serve which provides optimal functioning for the application. These
software and hardware requirements need to be installed before the packages are
installed. These are the most common set of requirements defined by any operation
system. These software and hardware requirements provide a compatible support to the
operation system in developing an application.

8
Smart Attendance System in Crowded Classroom Requirements And Specification

3.1.2 Hardware Specification


The hardware requirement specifies each interface of the software elements and the
hardware elements of the system. These hardware requirements include configuration
characteristics.

Processor Type : Intel Core i5


Speed : 2.4 GHZ

RAM :8 GB RAM

Hard disk : min 80GB HDD

3.1.3 Software Specification


The software requirements specify the use of all required software products like data
management system. The required software product specifies the numbers and version.
Each interface specifies the purpose of the interfacing software as related to this software
product.

Operating System : Windows 64-bit

Technology : Python

IDE : Python IDLE, Juputer Notebook

Tools : Anaconda

Python Version : Python v 3.6.0

3.1.4 Functional Requirements


• The functional requirement refers to the system needs in an exceedingly
computer code engineering method.
• The key goal of determinant “functional requirements” in an exceedingly product
style and implementation is to capture the desired behaviour of a software
package in terms of practicality and also the technology implementation of the
business processes.

Dept. Of CSE, SJCIT. 9 2021-22


Smart Attendance System in Crowded Classroom Requirements And Specification

3.1.5 Non Functional Requirements


All the other requirements which do not form a part of the above specification are
categorized as Non-Functional needs. A system perhaps needed to gift the user with a
show of the quantity of records during info. If the quantity must be updated in real time,
the system architects should make sure that the system is capable of change the displayed
record count at intervals associate tolerably short interval of the quantity of records
dynamic. Comfortable network information measure may additionally be a non-
functional requirement of a system.
The following are the features:

• Accessibility
• Availability
• Backup
• Certification
• Compliance
• Configuration Management
• Documentation
• Disaster Recovery
• Efficiency(resource consumption for given load)
• Interoperability

3.1.6 Performance Requirements


Performance is measured in terms of the output provided by the application. Requirement
specification plays an important part in the analysis of a system. Only when the
requirement specifications are properly given, it is possible to design a system, which
will fit into required environment. It rests largely with the users of the existing system to
Give the requirement specifications because they are the people who finally use the
system. This is because the requirements have to be known during the initial stages so
that the system can be designed according to those requirements. It is very difficult to
change the system once it has been designed and on the other hand designing a system,
which does not cater to the requirements of the user, is of no use.

• The requirement specification for any system can be broadly stated as given below:

Dept. Of CSE, SJCIT. 10 2021-22


Smart Attendance System in Crowded Classroom Requirements And Specification
• The system should be able to interface with the existing system
• The system should be accurate
• The system should be better than the existing system

Dept. Of CSE, SJCIT. 11 2021-22


CHAPTER – 4
SYSTEM ANALYSIS
SYSTEM ANALYSIS

4.1 Existing System


In traditional classroom environment, students’ attendance management is one of the key
factors to analyse the students’ learning process and also to keep track of other factors
like discipline, engagement and leads to effective learning and increase the success rate.
There are several works in attendance management system to overcome the difficulties
faced in a traditional classroom environment by using finger print, RFID, iris, wireless
and face recognition-based methods. Also, there are many face detection based
attendance management systems available in which they place a camera in a classroom,
capture the image/video, recognize the students using face detection techniques.

4.1.1 Limitations
• The automated system requires a continuous power supply to function. As such, if
you face power cut off, for say 3 to 4 days, you will not be able to record the
attendance of people.
• Existing methods do not deal with accuracy Though the automated system has some
drawbacks, with proper maintenance, you can keep it running without any errors and
enjoy an increased profit.

4.2 Proposed System


we propose a method to overcomes the drawbacks of the existing techniques. Automating
a system, without the students being aware of the attendance process and thus taking the
attendance in a real classroom environment, makes the proposed application unobtrusive.
In this work, we explain the proposed algorithm for Student Attendance System. It
consists of five steps: 1.enrollment, 2.capture of classroom images, 3. face detection and
description, 4. query database and 5. matching algorithm.

4.2.1 Advantages of Proposed System


• Proposed application is helps to develop automated attendance system.
• Proposed application helps to avoid the manual error while taking attendance.

12
Smart Attendance System in Crowded Classroom System Analysis
• Helps in saving time of teacher for respective class.
• Teachers can take lecture without thinking about manual way of taking attendance
that actually helps improving effective ways of teachings.

Dept of CSE, SJCIT 13 2021-22


CHAPTER – 5
SYSTEM DESIGN
SYSTEM DESIGN

The system “design” is defined as the process of applying various requirements and
permits physical realization. Various design features are followed to develop the system
the design specification describes the features of the system, the opponent or elements of
the system and their appearance to the end-users.

5.1 Modules

• Client: This application is run by teacher where camera will open and student’s
video is captured on screen. Details of each frame are shared is sent to other modules
for processing and analysing with trained model.
• Server Module: This module is executed to track details of student and analyse
actual performance. Each frame is sent to face processing module for checking with
trained model. Server Module is used to process data between client and face
processing module.
• Face Processing Module: This module each frame is taken as input and shape
predictor model is used to predict various aspects of features like (jawline aspect
ratio, mouth aspect ratio, head pose. After calculating these values are sent to server
module.

5.2 Activity Diagram


Activity diagrams are graphical representations of workflows of stepwise activities and
actions with support for choice, iteration and concurrency. In the Unified Modelling
Language, activity diagrams can be used to describe the business and operational step-
by-step workflows of components in a system. An activity diagram shows the overall
flow of control.

14
Smart Attendance System in Crowded Classroom System Design

Figure 5.2 : Activity Diagram

5.3 Use Case Diagram


A use case diagram in the Unified Modelling Language (UML) is a type of behavioural
diagram defined by and created from a Use-case analysis. Its purpose is to present a
graphical overview of the functionality provided by a system in terms of actors, their
goals (represented as use cases), and any dependencies between those use cases. The
main purpose of a use case diagram is to show what system functions are performed for
which actor. Roles of the actors in the system can be depicted.

Dept of CSE, SJCIT 15 2021-22


Smart Attendance System in Crowded Classroom System Design

Start this
application

Capture Frames

Preproces
s

Training
Admin

Face recognize

Mark
Attendance

Save in excel sheet

System

Figure 5.3 : Use Case Diagram

Dept. Of CSE, SJCIT. 16 2021-22


Smart Attendance System in Crowded Classroom System Design

5.4 Data Flow Diagram

Features 2.1

2.
2
Read

2.1
Traine
d 2.
Data 3

matches
? Train
Mac
hine

Save
attendan
ce

Figure 5.4 : Data Flow Diagram

Dept. Of CSE, SJCIT. 17 2021-22


Smart Attendance System in Crowded Classroom System Design
5.5 Sequence Diagram
A sequence diagram in Unified Modelling Language (UML) is a kind of interaction
diagram that shows how processes operate with one another and in what order. It is a
construct of a Message Sequence Chart. Sequence diagrams are sometimes called event
diagrams, event scenarios, and timing diagrams.

Figure 5.5 : Sequence Diagram

Dept. Of CSE, SJCIT. 18 2021-22


CHAPTER – 6
IMPLEMENTATION
IMPLEMENTATION
To conduct studies and analyses of an operational and technological nature, and to
promote the exchange and development of methods and tools for operational analysis as
applied to defence problems.

6.1 HARR Cascade Face Detection


Haar Cascade is a machine learning object detection algorithm used to identify objects
in an image or video and based on the concept of features proposed by Paul Viola and
Michael Jones in their paper "Rapid Object Detection using a Boosted Cascade of Simple
Features" in 2001. It is a machine learning based approach where a cascade function is
trained from a lot of positive and negative images. It is then used to detect objects in
other images.

The algorithm has four stages:


• Haar Feature Selection
• Creating Integral Images
• Adaboost Training
• Cascading Classifiers
It is well known for being able to detect faces and body parts in an image, but can be
trained to identify almost any object.

6.2 LBPH Face Reorganization:


Local Binary Patterns Histogram algorithm was proposed in 2006. It is based on local
binary operator. It is widely used in facial recognition due to its computational simplicity
and discriminative power.
The steps involved to achieve this are:
• creating dataset
• face acquisition
• feature extraction
• classification
The LBPH algorithm is a part of opencv.

19
Smart Attendance System in Crowded Classroom Implementation
SOURCE CODE

import tkinter as tk
from tkinter import Message ,Text
import cv2,os
import shutil
import csv
import numpy as np
from PIL import Image, ImageTk
import pandas as pd
#import datetime
import time
from datetime import datetime

##import font
##import Tkinter.ttk as ttk

#from tkfontchooser import askfont


##import Tkinter.font as font

window = tk.Tk()
#helv36 = tk.Font(family='Helvetica', size=36, weight='bold')
window.title("Face_Recogniser")

dialog_title = 'QUIT'
dialog_text = 'Are you sure?'
#answer = messagebox.askquestion(dialog_title, dialog_text)

#window.geometry('1280x720')
window.configure(background='blue')

#window.attributes('-fullscreen', True)

window.grid_rowconfigure(0, weight=1)
window.grid_columnconfigure(0, weight=1)

message = tk.Label(window, text="Face-Recognition" ,bg="Green" ,fg="white"


,width=50 ,height=3,font=('times', 30, 'italic bold underline'))

message.place(x=200, y=20)

lbl = tk.Label(window, text="Enter ID",width=20 ,height=2 ,fg="red" ,bg="yellow"


,font=('times', 15, ' bold ') )
lbl.place(x=400, y=200)

txt = tk.Entry(window,width=20 ,bg="yellow" ,fg="red",font=('times', 15, ' bold '))


txt.place(x=700, y=215)

lbl2 = tk.Label(window, text="Enter Name",width=20 ,fg="red" ,bg="yellow"


,height=2 ,font=('times', 15, ' bold '))
lbl2.place(x=400, y=300)

Dept. Of CSE, SJCIT. 20 2021-22


Smart Attendance System in Crowded Classroom Implementation
txt2 = tk.Entry(window,width=20 ,bg="yellow" ,fg="red",font=('times', 15, ' bold ') )
txt2.place(x=700, y=315)

lbl3 = tk.Label(window, text="Notification : ",width=20 ,fg="red" ,bg="yellow"


,height=2 ,font=('times', 15, ' bold underline '))
lbl3.place(x=400, y=400)

message = tk.Label(window, text="" ,bg="yellow" ,fg="red" ,width=30 ,height=2,


activebackground = "yellow" ,font=('times', 15, ' bold '))
message.place(x=700, y=400)

def clear():
txt.delete(0, 'end')
res = ""
message.configure(text= res)

def clear2():
txt2.delete(0, 'end')
res = ""
message.configure(text= res)

def is_number(s):
try:
float(s)
return True
except ValueError:
pass

try:
import unicodedata
unicodedata.numeric(s)
return True
except (TypeError, ValueError):
pass

return False

def TakeImages():
co=['Id']
df=pd.read_csv("StudentDetails\StudentDetails.csv",names=co)

namess = df['Id']
ides=[]

#print'Id:'
#print namess

Id=(txt.get())

ides=Id
#print 'Id='
Dept. Of CSE, SJCIT. 21 2021-22
Smart Attendance System in Crowded Classroom Implementation
#print ides
name=(txt2.get())
estest=0
if ides in namess:
estest=1
else:
estest=0
#print estest
if (estest==0):
if(is_number(Id) and name.isalpha()):
cam = cv2.VideoCapture(0)
harcascadePath = "haarcascade_frontalface_default.xml"
detector=cv2.CascadeClassifier(harcascadePath)
sampleNum=0
while(True):
ret, img = cam.read()
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = detector.detectMultiScale(gray, 1.3, 5)
for (x,y,w,h) in faces:
cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
#incrementing sample number
sampleNum=sampleNum+1
#saving the captured face in the dataset folder TrainingImage
cv2.imwrite("TrainingImage\ "+name +"."+Id +'.'+ str(sampleNum) + ".jpg",
gray[y:y+h,x:x+w])
#display the frame
cv2.imshow('frame',img)
#wait for 100 miliseconds
if cv2.waitKey(100) & 0xFF == ord('q'):
break
# break if the sample number is morethan 100
elif sampleNum>200:
break
cam.release()
cv2.destroyAllWindows()
res = "Images Saved for ID : " + Id +" Name : "+ name
row = [Id , name]
with open('StudentDetails\StudentDetails.csv','a+') as csvFile:
writer = csv.writer(csvFile)
writer.writerow(row)
csvFile.close()
message.configure(text= res)
else:
if(is_number(Id)):
res = "Enter Alphabetical Name"
message.configure(text= res)
if(name.isalpha()):
res = "Enter Numeric Id"
message.configure(text= res)

else:
res = "Already Id Exist"
message.configure(text= res)
Dept. Of CSE, SJCIT. 22 2021-22
Smart Attendance System in Crowded Classroom Implementation

def TrainImages():
recognizer = cv2.face_LBPHFaceRecognizer.create()#recognizer =
cv2.face.LBPHFaceRecognizer_create()#$cv2.createLBPHFaceRecognizer()
harcascadePath = "haarcascade_frontalface_default.xml"
detector =cv2.CascadeClassifier(harcascadePath)
faces,Id = getImagesAndLabels("TrainingImage")
recognizer.train(faces, np.array(Id))
recognizer.save("TrainingImageLabel\Trainner.yml")
res = "Image Trained"#+",".join(str(f) for f in Id)
message.configure(text= res)

def getImagesAndLabels(path):
#get the path of all the files in the folder
imagePaths=[os.path.join(path,f) for f in os.listdir(path)]
#print(imagePaths)

#create empth face list


faces=[]
#create empty ID list
Ids=[]
#now looping through all the image paths and loading the Ids and the images
for imagePath in imagePaths:
#loading the image and converting it to gray scale
pilImage=Image.open(imagePath).convert('L')
#Now we are converting the PIL image into numpy array
imageNp=np.array(pilImage,'uint8')
#getting the Id from the image
Id=int(os.path.split(imagePath)[-1].split(".")[1])
# extract the face from the training image sample
faces.append(imageNp)
Ids.append(Id)
return faces,Ids

def TrackImages():
recognizer =
cv2.face.LBPHFaceRecognizer_create()#cv2.createLBPHFaceRecognizer()
recognizer.read("TrainingImageLabel\Trainner.yml")
harcascadePath = "haarcascade_frontalface_default.xml"
faceCascade = cv2.CascadeClassifier(harcascadePath);
df=pd.read_csv("StudentDetails\StudentDetails.csv")
cam = cv2.VideoCapture(0)
font = cv2.FONT_HERSHEY_SIMPLEX
col_names = ['Id','Name','Date','Time']
co=['name']
attendance = pd.DataFrame(columns = col_names)
namess=""

for index, row in df.iterrows():


namess+= row['Name']+" "
aa=""

Dept. Of CSE, SJCIT. 23 2021-22


Smart Attendance System in Crowded Classroom Implementation

attendance1 = pd.DataFrame(columns = co)


while True:
ret, im =cam.read()
gray=cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
faces=faceCascade.detectMultiScale(gray, 1.2,5)
for(x,y,w,h) in faces:
cv2.rectangle(im,(x,y),(x+w,y+h),(225,0,0),2)
Id, conf = recognizer.predict(gray[y:y+h,x:x+w])
if(conf < 50):
ts = time.time()
date = datetime.fromtimestamp(ts).strftime('%Y-%m-%d')
timeStamp = datetime.fromtimestamp(ts).strftime('%H:%M:%S')
aa=df.loc[df['Id'] == Id]['Name'].values
#print str(aa)
aaa=''.join(e for e in aa if e.isalnum())
#print aaa
tt=str(Id)+"-"+aa
attendance.loc[len(attendance)] = [Id,aa,date,timeStamp]
attendance1.loc[len(attendance)] = [aa]

namess=namess.replace(aaa, " ")

else:
Id='Unknown'
tt=str(Id)
if(conf > 75):
import os
noOfFile=len(os.listdir("ImagesUnknown"))+1
#cv2.imwrite("ImagesUnknown\Image"+str(noOfFile) + ".jpg",
im[y:y+h,x:x+w])
cv2.putText(im,str(tt),(x,y+h), font, 1,(255,255,255),2)
attendance=attendance.drop_duplicates(subset=['Id'],keep='first')
cv2.imshow('im',im)
#from datetime import datetime
local = datetime.now()
aa= local.strftime("%M")
#print aa
status=0

#break
if (cv2.waitKey(1)==ord('q')):
cam.release()
cv2.destroyAllWindows()

break

Dept. Of CSE, SJCIT. 24 2021-22


Smart Attendance System in Crowded Classroom Implementation

clearButton = tk.Button(window, text="Clear", command=clear ,fg="red" ,bg="yellow"


,width=20 ,height=2 ,activebackground = "Red" ,font=('times', 15, ' bold '))
clearButton.place(x=950, y=200)
clearButton2 = tk.Button(window, text="Clear", command=clear2 ,fg="red"
,bg="yellow" ,width=20 ,height=2, activebackground = "Red" ,font=('times', 15, ' bold
'))
clearButton2.place(x=950, y=300)
takeImg = tk.Button(window, text="Take Images", command=TakeImages ,fg="red"
,bg="yellow" ,width=10 ,height=3, activebackground = "Red" ,font=('times', 15, ' bold
'))
takeImg.place(x=350, y=500)

trainImg = tk.Button(window, text="Train Images", command=TrainImages ,fg="red"


,bg="yellow" ,width=10 ,height=3, activebackground = "Red" ,font=('times', 15, ' bold
'))
trainImg.place(x=500, y=500)
trackImg = tk.Button(window, text="Detect Face", command=TrackImages ,fg="red"
,bg="yellow" ,width=10 ,height=3, activebackground = "Red" ,font=('times', 15, ' bold
'))
trackImg.place(x=800, y=500)

quitWindow = tk.Button(window, text="Quit", command=window.destroy ,fg="red"


,bg="yellow" ,width=20 ,height=3, activebackground = "Red" ,font=('times', 15, ' bold
'))
quitWindow.place(x=1100, y=500)
copyWrite = tk.Text(window, background=window.cget("background"),
borderwidth=0,font=('times', 30, 'italic bold underline'))
copyWrite.tag_configure("superscript", offset=10)
copyWrite.insert("insert", "Developed by Mindsoft","", "TEAM", "superscript")
copyWrite.configure(state="disabled",fg="red" )
copyWrite.pack(side="left")
copyWrite.place(x=800, y=750)

window.mainloop()

Dept. Of CSE, SJCIT. 25 2021-22


CHAPTER – 7
TESTING
TESTING

7.1 Testing

Testing is the process of evaluating a system or its component(s) with the intent to find
whether it satisfies the specified requirements or not. In simple words, testing is
executing a system in order to identify any gaps, errors, or missing requirements in
contrary to the actual requirements.

The different types of testing are:

• Unit Testing
• Integration Testing
• Regression Testing
• Smoke Testing
• Alpha Testing
• Beta Testing
• System Testing

7.2 Methods of Testing


Testing is the debugging program is one of the most critical aspects of the computer
programming triggers, without programming that works, the system would never
produce an output of which it was designed. Testing is best performed when user
development is asked to assist in identifying all errors and bugs. The sample data are
used for testing. It is not quantity but quality of the data used the matters of testing.
Testing is aimed at ensuring that the system was accurately an efficiently before live
operation commands.

7.2.1 Code Testing:


This examines the logic of the program. For example, the logic for updating various
sample data and with the sample files and directories were tested and verified.

26
Smart Attendance System in Crowded Classroom Testing

7.2.2 Specification Testing:


Executing this specification starting what the program should do and how it should
performed under various conditions. Test cases for various situation and combination of
conditions in all the modules are tested.

7.2.3 Unit Testing:


In the unit testing we test each module individually and integrate with the overall system.
Unit testing focuses verification efforts on the smallest unit of software design in the
module. This is also known as module testing. The module of the system is tested
separately. This testing is carried out during programming stage itself. In the testing
step each module is found to work satisfactorily as regard to expected output from the
module. There are some validation checks for fields also. For example the validation
check is done for varying the user input given by the user which validity of the data
entered. It is very easy to find error debut the system.
Each Module can be tested using the following two Strategies:

• Black Box Testing


• White Box Testing

Dept Of CSE, SJCIT 27 2021-22


Smart Attendance System in Crowded Classroom Testing
7.2.3.1 Black Box Testing
What is Black Box Testing? Black box testing is a software testing techniques in which
functionality of the software under test (SUT) is tested without looking at the internal
code structure, implementation details and knowledge of internal paths of the software.
This type of testing is based entirely on the software requirements and specifications. In
Black Box Testing we just focus on inputs and output of the software system without
bothering about internal knowledge of the software program.

The above Black Box can be any software system you want to test. For example : an
operating system like Windows, a website like Google ,a database like Oracle or even
your own custom application. Under Black Box Testing , you can test these applications
by just focusing on the inputs and outputs without knowing their internal code
implementation.
Black box testing - Steps
Here are the generic steps followed to carry out any type of Black Box Testing.

• Initially requirements and specifications of the system are examined.


• Tester chooses valid inputs (positive test scenario) to check whether SUT processes
them correctly. Also some invalid inputs (negative test scenario) are chosen to verify
that the SUT is able to detect them.
• Tester determines expected outputs for all those inputs.
• Software tester constructs test cases with the selected inputs.
• The test cases are executed.
• Software tester compares the actual outputs with the expected outputs.
• Defects if any are fixed and re-tested.

Types of Black Box Testing


There are many types of Black Box Testing but following are the prominent ones -
• Functional Testing – This black box testing type is related to functional
requirements of a system; it is done by software testers.
• Non - Functional Testing – This type of black box testing is not related to testing of
a specific functionality, but non-functional requirements such as performance,
scalability, usability.

Dept Of CSE, SJCIT 28 2021-22


Smart Attendance System in Crowded Classroom Testing
7.2.3.2 White Box Testing
White Box Testing is the testing of a software solution's internal coding and
infrastructure. It focuses primarily on strengthening security, the flow of inputs and
outputs through the application, and improving design and usability. White box testing
is also known as clear, open, structural, and glass box testing.
It is one of two parts of the "box testing" approach of software testing. Its counter-part,
black-box testing, involves testing from an external or end-user type perspective. On the
other hand, Whitebox testing is based on the inner workings of an application and
revolves around internal testing. The term "white-box" was used because of the see-
through box concept. The clear box or white-box name symbolizes the ability to see
through the software's outer shell (or "box") into its inner workings. Likewise, the "black
box" in "black box testing" symbolizes not being able to see the inner workings of the
software so that only the end-user experience can be tested.
White box testing involves the testing of the software code for the following:
• Internal security holes
• Broken or poorly structured paths in the coding processes
• The flow of specific inputs through the code
• Expected output
• The functionality of conditional loops
• Testing of each statement, object and function on an individual basis
The testing can be done at system, integration and unit levels of software development.
One of the basic goals of white-box testing is to verify a working flow for an application.
It involves testing a series of predefined inputs against expected or desired outputs so
that when a specific input does not result in the expected output, you have encountered
a bug.

7.2.4 Integration Testing


Integration testing is a level of software testing where individual units are combined and
tested as a group. The purpose of this level of testing is to expose faults in the interaction
between integrated units. Test drivers and test stubs are used to assist in Integration
Testing. Integration testing is defined as the testing of combined parts of an application
to determine if they function correctly. It occurs after unit testing and before validation
testing. Integration testing can be done in two ways: Bottom up integration testing and
Top down integration testing.

Dept. Of CSE, SJCIT. 29 2021-22


Smart Attendance System in Crowded Classroom Testing

Sl # Test Case : TC1

Name of Test: Accuracy calculation

Item being tested: If accuracy of each algorithm is calculated

Sample Input: Test x and test y

Expected output: Accuracy of each algorithm

Actual output: Accuracy of each model

Remarks: Pass.

Table 7.1.4.1: Test Case 1

S2 # Test Case : TC2

Name of Test: Check student face detected

Item being tested: If eye, pose detected

Sample Input: Live video

Expected output: Yawn, eye, pose Detected

Actual output: Student face detected with matched features

Remarks: Pass.

Table 7.1.4.2: Test Case 2

Dept. Of CSE, SJCIT. 30 2021-22


Smart Attendance System in Crowded Classroom Testing
7.2.5 System Testing

System testing of software or hardware is testing conducted on a complete, integrated


system to evaluate the system's compliance with its specified requirements. System
testing falls within the scope of Blackbox testing, and as such, should require no
knowledge of the inner design of the code or logic. System testing is important because
of the following reasons:

• System testing is the first step in the Software Development Life Cycle, where the
application is tested as a whole.
• The application is tested thoroughly to verify that it meets the functional and
technical specifications.
• The application is tested in an environment that is very close to the production
environment where the application will be deployed .
• System testing enables us to test, verify, and validate both the business requirements
as well as the application architecture.
• System Testing is shown in below tables.

S3 # Test Case : - TC3

Name of Test: - System testing in various versions of OS

Item being tested: - OS compatibility.

Sample Input: - Execute the program in windows XP/ Windows-7/8

Expected output: - Performance is better in windows-7

Same as expected output, performance is better in windows-7


Actual output: -

Remarks: - Pass

Table 7.1.5.1: Test Case 3

Dept. Of CSE, SJCIT. 31 2021-22


CHAPTER – 8
PERFORMANCE ANALYSIS
PERFORMANCE ANALYSIS

In this section, we compare the performance of recognising student faces using HAAR
cascade and LBPH with the voiceprint recognition system proposed by Yang et al,
fingerprint recognition system proposed by Adeniji et al and the RFID-based system
proposed by Rjeib te al in terms of technologies, time consumption, data accuracy, costs
and privacy sensitivity. The results are shown in Table 1.

From Table 8.1, first of all, it can be seen from the table that the average time
consumption of proposed system is better than of Adeniji’s systems. It is because the
biometrics-based system needs to collect the biological characteristics of students in an
on-site manner. The recognition technologies usually require specific devices, and could
not be used in mobile devices. Moreover it requires students to line up to collect
biological information everyday, which will spend more time. In the proposed system,
the tasks functions such as location submission and crowdsensing are relatively simple.
Additionally, proposed system is involved in user privacy. Compared to the system
presented by Adeniji, proposed system can ensure the high accuracy of attendance data
through mutual verification between students. Proposed system only needs to install
application on the teachers personal computers, so the deployment cost is much lower.

In summary compared to the other systems, proposed system has the advantages of low
time consumption, low deployment cost, and is not involved in personal data. It is
suitable for attendance checking with a large number of students.

32
Smart Attendance System in Crowded Classroom Performance Analysis

System Technologies Time Data Costs Privacy


Consumption Accuracy Sensitive

Yang et al Voiceprint/GPS 5 minutes Software- Yes


based

Adeniji et Fingerprint 7 minutes Fingerprint Yes


al Reader

Rejeib et RFID 2 minutes RFID No


al Reader

Proposed Crowd-sensing 2 minutes High Software- No


system based

Table 8.1: Performance analysis with existing systems.

Comparison to existing system


We propose a method to overcomes the drawbacks of the existing techniques.
Automating a system, without the students being aware of the attendance process and
thus taking the attendance in a real classroom environment, makes the proposed
application unobtrusive. In this work, we explain the proposed algorithm for Student
Attendance System. It consists of five steps: 1.enrollment, 2.capture of classroom
images, 3. face detection and description, 4. query database and 5. matching algorithm.

The disadvantage of the existing system:


That means, number of sessions, number of enrolled face images per subject, days
between enrolment and testing, etc. are not clearly reported. It seems, that many of these
recognition experiments have been conducted on images taken in only one session.
Moreover, the subjects that are present in the query images are no more than 20, in many
cases less than 10.

Dept of CSE, SJCIT 33 2021-22


CHAPTER – 9
CONCLUSION
AND
FUTURE ENHANCEMENT
CONCLUSION AND FUTURE ENHANCEMENT

A machine learning methods were used to evaluate the student's observable actions in
the classroom teaching system. The evaluation was created right after the live feed
review. Several models have been produced. Such models were tested using map to
decide which model is appropriate for object detection. The map (mean average
accuracy) is a common measure used to determine the precision of the artifacts being
observed. The experimental testing shows that model accuracy is 88.606%. Tests
indicate that this method offers reasonable pace of identification and positive outcomes
for the detecting student faces dependent on observable student actions in classroom
instruction. The suggested approach is often versatile and responsive to different
situations, since more students would be interested in greater room sizes, utilizing a
higher form of camera with certain enhancements such as IP camera for continuously
capturing images of the students, detect the faces in images and compare the detected
faces with the database. It may be used such as greater input picture measurements,
anchor box dimensions ideal for different situations and further training details.

The Facial recognition database can be improved by adding more images and variable
poses of the students to make recognition full proof. The Web based architecture can be
utilized further by maintaining the databases on a remote server and the application will
be accessible via the Internet.

34
BIBLIOGRAPHY
BIBLIOGRAPHY

1. T. Ahonen, A. Hadid, and M. Pietikinen. Face description with local binary patterns:
application to face recognition. IEEE Trans Pattern Anal Mach Intell, 28(12):2037–2041,
dec 2006.
2. B. Amos, B. Ludwiczuk, and M. Satyanarayanan. Openface: A general-purpose face
recognition library with mobile applications. Technical report, CMU-CS-16-118, CMU
School of Computer Science, 2016.
3. P. Assarasee, W. Krathu, T. Triyason, V. Vanijja, and C. Arpnikanondt. Meerkat: A
framework for developing presence monitoring software based on face recognition. In 2017
10th International Conference on Ubi-media Computing and Workshops (Ubi- Media),
pages 1–6, Aug 2017.
4. S. Baker and T. Kanade. Hallucinating faces. In Automatic Face and Gesture Recognition,
2000. Proceedings. Fourth IEEE International Conference on, pages 83–88, 2000.
5. S. Biswas, K. Bowyer, and P. Flynn. Multidimensional scaling for matching low- resolution
face images. IEEE Transactions on Pattern Analysis and Machine Intelligence,
34(10):2019– 2030, 2012.
6. A. Bulat and G. Tzimiropoulos. Super-FAN: Integrated facial landmark localization and
super-resolution of real-world low resolution faces in arbitrary poses with GANs. In 2018
IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2018.
7. L. Chen, R. Hu, Z. Han, Q. Li, and Z. Lu. Face super resolution based on parent patch prior
for VLQ scenarios. Multimed Tools Appl, 76(7):10231–10254, apr 2017.
8. Y. Chen, Y. Tai, X. Liu, C. Shen, and J. Yang. FSRNet: End-to-end learning face
superresolution with facial priors. In 2018 IEEE Conference on Computer Vision and
Pattern Recognition (CVPR). IEEE, 2018.
9. S. Chintalapati and M. V. Raghunadh. Automated attendance management system based on
face recognition algorithms. In 2013 IEEE International Conference on Computational
Intelligence and Computing Research, pages 1–5. IEEE, dec 2013.
10. G. G. Chrysos and S. Zafeiriou. Deep face deblurring. In 2017 IEEE Conference on
Computer Vision and Pattern Recognition Workshops (CVPRW). IEEE, 2017.
11. A. Creswell, T. White, V. Dumoulin, K. Arulkumaran, B. Sengupta, and A. A. Bharath.

35
Smart Attendance System in Crowded Classroom Appendix

12. Generative adversarial networks: an overview. IEEE Signal Process Mag, 35(1):53–65,
jan 2018.
13. N. Dalal and B. Triggs. Histograms of oriented gradients for human detection. In
Computer Vision and Pattern Recognition, 2005. CVPR 2005. IEEE Computer Society
Conference on, volume 1, pages 886–893. IEEE, 2005.
14. C. Ding and D. Tao. Trunk-branch ensemble convolutional neural networks for video-
based face recognition. IEEE Trans Pattern Anal Mach Intell, 40(4):1002–1014, apr 2018.
15. S. Dodge and L. Karam. Understanding how image quality affects deep neural networks.
In 2016 Eighth International Conference on Quality of Multimedia Experience (QoMEX),
pages 1–6. IEEE, jun 2016.
16. ] J. Flusser, S. Farokhi, C. Hoschl, T. Suk, B. Zitova, and M. Pedone. Recognition of
images degraded by gaussian blur. IEEE Trans Image Process, dec 2015.
17. R. Fu, D. Wang, D. Li, and Z. Luo. University classroom attendance based on deep
learning. In 2017 10th International Conference on Intelligent Computation Technology
and Automation (ICICTA), pages 128–131. IEEE, oct 2017.
18. R. Gonzalez and R. Woods. Digital Image Processing. Pearson, Prentice Hall, third
edition, 2008.
19. R. Gopalan, S. Taheri, P. Turaga, and R. Chellappa. A blurrobust descriptor with
applications to face recognition. IEEE Trans Pattern Anal Mach Intell, 34(6):1220–1226,
jun 2012. seo/benefits-of-seo.php.
20. M. Vladoiu and Z. Constantinescu, “Learning during covid-19 pandemic: Online
education community, based on discord,” in 2020 19th RoEduNet Conference:
Networking in Education and Research (RoEduNet), 2020, pp. 1–6.
21. C. Marconi, C. Brovetto, I. Mendez, and M. Perera, “Learning through videoconference.
research on teaching quality,” in 2018 XIII Latin American Conference on Learning
Technologies (LACLO), 2018, pp. 37–40.
22. F. Lu, X. Chen, X. Ma, Z. Liu, and Y. Chen, “The exploration and practice of it solutions
for online classes in higher education during covid-19 pandemic,” in 2020 International
Symposium on Educational Technology (ISET), 2020, pp. 298–302.
23. J. Nainggolan, G. Christian, K. Adari, Y. Bandung, K. Mutijarsa, and L. B. Subekti,
“Design and implementation of virtual class box 5.0 for distance learning in rural areas,”
in 2016 8th International Conference on Information Technology and Electrical
Engineering (ICITEE), 2016, pp. 1–6

Dept of CSE, SJCIT 36 2021-22


APPENDIX
Smart Attendance System in Crowded Classroom Appendix

Appendix A : Screen Shots

Figure A1 : Register Page

Figure A2 : Registering Face

Dept of CSE, SJCIT 37 2021-22


Smart Attendance System in Crowded Classroom Appendix

Figure A3 : Trained Images

Figure A4 : Student Details

Dept of CSE, SJCIT 38 2021-22


Smart Attendance System in Crowded Classroom Appendix

Appendix B : Abbreviations

LBPH – Local Binary Pattern Histogram


IDE – Integrated Development Environment
RAM – Random Access Memory
CCTV – Closed Circuit Television
RFID – Radio Frequency Identification

Dept of CSE, SJCIT 39 2021-22


PAPER PUBLICATION DETAILS

You might also like