You are on page 1of 61

FACE MASK DETECTION SYSTEM WITH

AUTOMATED DOOR ACCESS CONTROL

A PROJECT REPORT

Submitted by

PRIYADARSHINI A (312417104071)

SUDHARSANA DEVI S (312417104107)

in partial fulfilment for the requirement of award of the degree

of

BACHELOR OF ENGINEERING
IN
COMPUTER SCIENCE AND ENGINEERING

St. JOSEPH’S INSTITUTE OF TECHNOLOGY

CHENNAI - 119

ANNA UNIVERSITY: CHENNAI 600 025

JULY-2021
ANNA UNIVERSITY : CHENNAI 600 025

BONAFIDE CERTIFICATE

Certified that this project report “FACE MASK DETECTION SYSTEM

WITH AUTOMATED DOOR ACCESS CONTROL USING CNN” is the

bonafide work of “PRIYADARSHINI A(312417104071) and SUDHARSANA

DEVI S(312417104107)” who carried out the project under my supervision

SIGNATURE SIGNATURE

Dr. J. DAFNI ROSE M.E, Ph.D., Mrs. S. RAJALAKSHMI, M.E., (Ph.D.),


Professor, Assistant Professor,
Head of the Department, Computer Science and Engineering,
Computer Science and Engineering, St. Joseph’s Institute of Technology,
St. Joseph’s Institute of Technology, Old Mamallapuram road,
Old Mamallapuram road, Chennai - 600 119.
Chennai - 600 119.

i
ACKNOWLEDGEMENT

We also take this opportunity to thank our honourable Chairman Dr. B. Babu
Manoharan, M.A., M.B.A., Ph.D. for the guidance he offered during our tenure in
this institution.

We extend our heartfelt gratitude to our honourable Director Mrs. B. Jessie


Priya, M.com., for providing us with the required resources to carry out this project.

We express our deep gratitude to our honourable CEO Mr. B. Sashi Sekar,
M.Sc (INTL.Business) for the constant guidance and support for our project.

We are indebted to our Principal Dr. P. Ravichandran, M.Tech., Ph.D. for


granting us permission to undertake this project.

Our earnest gratitude to our Head of the Department Dr. J. Dafni Rose, M.E.,
Ph.D., for her commendable support and encouragement for the completion of the
project with perfection.

We express our profound gratitude to our guide Mrs. S. Rajalakshmi, M.E.,


(Ph.D.), for his guidance, constant encouragement, immense help and valuable advice
for the completion of this project.

We wish to convey our sincere thanks to all the teaching and non-teaching
staff of the department of COMPUTER SCIENCE AND ENGINEERING without
whose co-operation this venture would not have been a success.

ii
CERTIFICATE OF EVALUATION

College Name : St. JOSEPH’S INSTITUTE OF TECHNOLOGY


Branch : COMPUTER SCIENCE AND ENGINEERING
Semester VIII

Name of the Supervisor with


Sl.No Name of the Title of designation
Students the Project

PRIYA Face Mask


1
Detection
DARSHINI A Mrs. S. RAJALAKSHMI,
System
(312417104071) M.E., (Ph.D.),
with
Assistant Professor,
automated
2 SUDHARSANA St.Joseph’s Institute Of
door access
DEVI S Technology
control
(312417104107)

The reports of the project work submitted by the above students in partial

fulfilment for the award of Bachelor of Engineering Degree in Computer Science

and Engineering of Anna University were evaluated and confirmed to be reports of

the work done by above students.

(INTERNAL EXAMINER) (EXTERNAL EXAMINER)

iii
ABSTRACT

COVID-19 pandemic caused by novel coronavirus is continuously spreading until now all

over the world. The impact of COVID-19 has been fallen on almost all sectors of

development. The healthcare system is going through a crisis. Many precautionary measures

have been taken to reduce the spread of this disease where wearing a mask is one of them. In

this paper, we propose a system that restrict the growth of COVID-19 by finding out people

who are not wearing any facial mask in a smart city network where all the public places are

monitored with Closed-Circuit Television (CCTV) cameras. While a person without a mask is

detected, the corresponding person and the administrator gets an alert. A deep learning

architecture is trained on a dataset that consists of images of people with and without masks

collected from various sources. The trained architecture achieved 81% accuracy on

distinguishing people with and without a facial mask for previously unseen test data. It is

hoped that our study would be a useful tool to reduce the spread of this communicable disease

for many countries in the world.

iv
TABLE OF CONTENTS
CHAPTER TITLE PAGE
NO NUMBER
ABSTRACT iv
LIST OF FIGURES viii
1. INTRODUCTION 1
1.1 Overview 1
1.2 Problem Statement 2
1.3 Existing System 3
1.3.1 CNN Algorithm for Classification 3
1.3.2 YOLO used for Object Detection 4
1.4 Proposed System 4
1.4.1 Data Acquisition and Annotation 5
1.4.2 RESNET 50 for Feature Extraction 5
1.4.3 YOLO v2 for Object Detection and 5
Classification

2. LITERATURE SURVEY 7
3. SYSTEM DESIGN 12
3.1 Unified Modelling Language 12
3.1.1 Use Case Diagram of Face Mask 12
Detection System with automated door access
control 14
3.1.2 Class Diagram of Face Mask
Detection System with automated door access
control
3.1.3 Sequence Diagram of Face Mask 15
Detection System with automated door access
control

v
3.1.4 Activity Diagram of Face Mask 16
Detection System with automated door access
control
3.1.5 Collaboration Diagram of Face Mask 17
Detection System with automated door access
control
3.1.6 Component Diagram of Face Mask 18
Detection System with automated door access
control
3.1.7 Deployment Diagram of Face Mask 19
Detection System with automated door access
control
3.1.8 Package Diagram of Face Mask 19
Detection System with automated door access
control

4. SYSTEM ARCHITECTURE 21
4.1 Architectural Description 21
4.2 User Module 22
4.3 Server Module 22
4.3.1 Image Augmentation 23
4.3.2 Feature Extraction 23
4.3.3 Object Detection 23
4.3.4 Classification 23

5. SYSTEM IMPLEMENTATION 24
5.1 Implementation of Face Mask Detection 24
System
5.2 Pseudo code for Face Mask Detection System 26

vi
6. CODING AND SCREENSHOT 27
6.1 Face Mask Detection System using CNN 27
6.2 Output and Comparison 45
6.2.1 Training The Model 45
6.2.2 Results 45
6.2.3 Comparison 48

7. CONCLUSION AND FUTURE WORK 49


7.1 Conclusion 49
7.2 Future work 49
REFERENCES 51

vii
LIST OF FIGURES
LIST OF NAME OF THE FIGURE PAGE NO
FIGURES
3.1 Use Case Diagram of Face Mask Detection System 13
with automated door access control
3.2 Class Diagram for Face Mask Detection System with 14
automated door access control
3.3 Sequence Diagram of Face Mask Detection System 15
with automated door access control
3.4 Activity Diagram of Face Mask Detection System 16
with automated door access control
3.5 Collaboration Diagram of Face Mask Detection 18
System with automated door access control
3.6 Component Diagram of Face Mask Detection System 18
with automated door access control
3.7 Deployment Diagram of Face Mask Detection 19
System with automated door access control
3.8 Package Diagram of Face Mask Detection System 20
with automated door access control
4.1 System Architecture for Face Mask Detection 21
System with automated door access control

4.2 Interactions between User, Server and Database 22


6.1 Opening the MATLAB 46
6.2 Browsing the path 46
6.3 Displaying the output 47
6.4 Learning Rate and Total Loss 48
6.5 Precision-Recall Curve 48

viii
CHAPTER 1

INTRODUCTION

Covid-19 pandemic caused by novel corona virus is continuously


spreading until now all over the world. It has made a revolution in 2020. The
sudden emergence of this virus has changed our lives. The impact of Covid-19
has been fallen on almost all sectors of development. The healthcare system is
going through a crisis. To overcome the crisis, many technological system has
been developed.

1.1 OVERVIEW
The coronavirus pandemic is defining global health crisis of our time and
the greatest challenge we have faced since World Wat Two. Since its emergence
in Asia in 2019, the virus has spread to every continent except Antarctic.

We have now reached the tragic milestone of more than two million
deaths, and the human family is suffering under an almost intolerable burden of
loss.

The pandemic is more than a health crisis. It’s also an unprecedented


socio-economic crisis. Stressing every one of the countries it touches, it has the
potential to create devastating social, economic and political effects that will
leave deep and longstanding scars.

The situation now has been under attack and also growing badly in all
over the countries proclaimed by the WHO. According to this epidemic beyond
114 countries being affected by this flu and Million numbers of people getting
sick in one day.

During this disaster time period everyone should raise awareness and
naturally should do some oneself activities. By this issue the country’s
government, social authority and working place should strictly follow necessary
1
rules through continuous measurement and protest people’s health.

The Government’s main aim is to monitor and safeguard the people


through certain measures to prevent the spread of Covid-19. This can also be
done through certain technological ways. A system to monitor the people can be
introduced to decrease the possibility of Covid-19 cases and to ensure the safety
of every individual as much as possible.

1.2 PROBLEM STATEMENT

Wearing a mask in public places is an effective way to keep the


communities safe. As a response to the Covid-19 pandemic, we made a face
mask detection system that uses deep learning algorithms to detect if people are
wearing masks or not. We focused on making our face mask detection system
ready for real-world applications, such as CCTV cameras, where faces are small,
blurry, and far from the camera.

We want to build a system that can detect faces in real-world videos and
identify if the detected faces are wearing masks or not. If you look at the people
in videos captured by CCTV cameras, you can see that the faces are small, blurry
and of low resolution. People are not looking straight to the camera and the face
angles vary from time to time. These real-world videos are entirely different
from the videos captured by webcams or selfie cameras, making the face mask
detection problem much more difficult in practice.

In this system, we are going to detect the image of a person as input and
by using Yolo v2 deep learning algorithm we are going to classify them
accordingly. Also we are going to notify the person by sending alert message to
their mobile.

2
1.3 EXISTING SYSTEM

There are two existing systems. First one is An Automated System to


Limit Covid-19 using Facial Detection in Smart City Network. This paper aims
at designing a system to find out whether a person is using a mask or not and
informing the corresponding authority in a smart city network. Next one is A
Deep Learning Based Assistive System to Classify Covid-19 Face Mask for
Human Safety with YOLO.

1.3.1 CNN ALGORITHM USED FOR CLASSIFICATION

In the first system the learning model is based on CNN which is very
useful for pattern recognition from images. The network comprises an input
layer, several hidden layers and an output layer. The hidden layers consist of
multiple convolution layers that learn suitable filters for important feature
extraction from the given samples. The features extracted by CNN are used by
multiple dense neural networks for classification purposes.

3
1.3.2 YOLO USED FOR OBJECT DETECTION

In the second system YOLO model is used for creating bounding boxes
and object detection. An input here is an image is passed into the YOLO model.
This object detector is going through the image and find the coordinates that
present in an image. It basically divides the input into a grid and from that gird
it will analyze the target object’s features. From the neighboring cells that
features were detected with high confidence rate are add at one place for produce
model output.

1.4 PROPOSED SYSTEM

This proposed system can be used in public places such as offices,


airports, hospitals etc. It can be used in the entrance of the public places to
identify whether the person entering is wearing a mask or not. The image of the
person is being captured through web camera and the image is compared with
the trained datasets. If it matches with the dataset of the person who is wearing
a mask, then the entrance door will be opened otherwise the door remains closed.

4
This is also applicable for the staff members and the workers in the
campus. If any of the staff members is not wearing a mask then an alert is sent
to that corresponding person’s phone stating them to wear a mask. Also the
administrator will also get an alert, the image and the details of the employee
who is not wearing a mask to take necessary actions.

1.4.1 DATA ACQUISITION AND ANNOTATION

Data is really important in data driven techniques like deep learning.


For our purpose of working with YOLO we also need more data and with proper
annotate. So we have collected around 100 images from website. Data
annotation also refers as image annotation. For our model we need to annotate
data very well for object detection model. Detection is very different from
classification tasks. So data should be well annotated. For our model we need
bounding boxes. We have used a tool called Image Labeler to annotate our data.

1.4.2 RESNET 50 FOR FEATURE EXTRACTION

Residual Network 50 is the backbone of YOLO v2 for feature


extraction. It has about 50 convolution layers. The purpose of using RESNET
50 is that it adds additional hidden layers to the architecture and results in more
feature extraction.

1.4.3 YOLO V2 FOR OBJECT DETECTION AND CLASSIFICATION

An input here is an image which passed into the YOLO v2 model. This
object detector is going through the image and find the coordinates that present
in an image. It basically divides the input into a grid and from that gird it will
analyze the target objects features. From the neighboring cells the features that

5
were detected with high confidence rate are added at one place for produce
model output. Finally bounding boxes are created and the image is classified as
‘with mask’ or ‘without mask’.

6
CHAPTER 2

LITERATURE SURVEY

Mohammad Marufur Rahman,Md. Motaleb Hossen Manik, Md.Milon


Islam,Saifuddin Mahmud,Jong-Hoon Kim proposed automated system to limit
Covid-19 using facial mask detection in smart city network. This paper aims at
designing a system to find out whether a person is using a mask or not and
informing the corresponding authority in a smart city network. Firstly, CCTV
cameras are used to capture real-time video footage of different public places in
the city. From that video footage, facial images are extracted and these images
are used to identify the mask on the face. The learning algorithm Convolutional
Neural Network (CNN) is used for feature extraction from the images then these
features are learned by multiple hidden layers. Whenever the architecture
identifies people without face mask this information is transferred through the
city network to the corresponding authority to take necessary actions. The
proposed system appraised promising output on data collected from different
sources. It also represented a system that can ensure proper enforcement of the
law on people who are not following basic health guidelines in this pandemic
situation.

Md.Rafiuzzaman Bhuiyan, Sharun Akter Khushbu, Md.Sanzidul Islam


proposed a deep learning based assistive system to classify Covid-19 face mask
for human safety with YoloV3.The computer vision learning is the actual field
to identify the image, convert descriptive image, output analyze and machine
acquiring. According to image detection it is identified by the numeric number
for ability to understand humans. Vision learning is deeply related to YOLO for
any type of image detection. Furthermore, YOLO detection is flexible in any
place whether group into family members, colleagues and friends in a walk.

7
Declared by the WHO that a potential speech by maintaining distance and
wearing a mask is necessary. Wearing a mask captured by the image detection
where the machine can cover and translate only the mouth portion of the face
part. Computer vision is a following section of Deep learning particularly an
area of convolution neural network (CNN). Added with one main thing is CNN
supports very high configuration Graphic Processing Units (GPU) thus as real
time image or video extraction of visualization is a bitter task. As we require
people mask having or not which call a surveillance system there is a need for
powerful validation such as video stream analysis that is fulfilled by advanced
CNN. Now cloud system real time video or image illustration among R-CNN
getting complex within create unsatisfied occurrence. Accordingly, new phase
included which have consisted 27 CNN layer across 24 convolutional layers that
fully connected algorithm is YOLO (You Only Look Once) as it affordable to
identified tiny objects. YOLO darknet algorithm while introduced to researchers
who covered pretty much different segments of image detection easily specially
face detection entirely grabbed YOLO.

N.Ozkaya and S.Sagiroglu proposed Intelligent Face Mask Prediction


System.A multimodal database that includes Fs&Fs belonging to 120 persons
was established. Fingerprint feature sets were obtained from the fingerprints.
Enhancements, binarization, thinning and feature extraction processes were
applied to the acquired fingerprints to achieve this process. Face feature sets
were obtained from the faces. The face masks are created by using 38 points that
were used to represent for each face. Training and test data sets were established
to train and the test the ANN predictors in the IFPSF. The training sets included
pairs of Fs & Fs while test sets included only fingerprints. Face feature sets of
test persons were used in the evaluation process as the desired outputs.80 data
sets covering pairs pf Fs & Fs were used to train the ANN based IFPSF. The

8
sizes of the input and the output vectors were 298 and 76 respectively. Suitable
ANN structures and training algorithms were selected, parameters of them were
determined. ANN based IFPSF was trained to generate face masks more
realistically until achieving certain accuracy in learning. ANN based system
tested using 40 test sets covering only fingerprints.

Md.Sabbir Ejaz,Md.Rabiul Islam proposed masked face recognition using


convolutional neural network. Face recognition is a promising area of applied
computer vision. This technique is used to recognize a face or identify a person
automatically from given images. In our daily life activates like, in a passport
checking, smart door, access control, voter verification, criminal investigation,
and many other purposes face recognition is widely used to authenticate a person
correctly and automatically. Face recognition has gained much attention as a
unique, reliable biometric recognition technology that makes it most popular
than any other biometric technique likes password, pin, fingerprint, etc. Many
of the governments across the world also interested in the face recognition
system to secure public places such as parks, airports, bus stations, and railway
stations, etc. Face recognition is one of the well-studied real life problems.
Excellent progress has been done against face recognition technology
throughout the last years.

Isunuri B Venkateshwalu, Jagadeesh Kakarla, Shree Prakash proposed


Face mask detection using MobileNet Global and Pooling block. Coronavirus
disease is the latest epidemic that forced an international health emergency. It
spreads mainly from person to person through airborne transmission.
Community transmission has raised the number of cases over the world. Many
countries have imposed compulsory face mask policies in public areas as a
preventive action. Manual observation of the face mask in crowded places is a
9
tedious task. Thus, researchers have motivated for the automation of face mask
detection system. In this paper, they have presented a MobileNet with a global
pooling block for face mask detection. The proposed model employs a global
pooling layer to perform a flatten of the feature vector. A fully connected dense
layer associated with the softmax layer has been utilized for classification. Our
proposed model outperforms existing models on two publicly available face
mask datasets in terms of vital performance metrics.

Truong Quang Vinh and Nguyen Tran Ngoc Anh proposed a system
called Real -Time face mask detector using Yolo v3 algorithm and Haar Cascade
Classifier. This paper proposed a real-time face mask detection system using
Yolo v3 algorithm. In order to increase the processing time and accuracy of the
detector ,Haar cascade detector is used to detect the face region in input images
and then region of interest(ROI) is put into the Yolo v3 to detect the face mask.
The deep learning model has been trained with dataset of 7000 samples. Finally
a whole system was built to demonstrate an application in which people are
checked whether they are wearing face mask or not at the entrance of the door.

Susanto, Febri Alwan Putra, Riska Analia, Ika Karlina Laila Nur proposed
a system called The face mask detection for preventing the spread of Covid-19
at Politenik Negeri Batam. In this work, the object which needs to be detected is
the face mask wearer. The Yolo v4 which has been implemented in this work
consists of two-stages detector. The first-stage detector consists of input,
backbone, neck, and dense prediction. Moreover, the second stage of detector
has sparse prediction to predict the object by understanding the bounding boxes
and the classes on the object. The input image of this work needs to be handled
in the resolution of around 1920x1080 pixel in real-time application to ensure
the detection of the moving object who wear the face-mask properly. In this part,
10
the convolutional layer 3x3 is built and the larger number of parameters will be
selected as the backbone input layer. While at the backbone parts, the Darknet53
has been chosen as a detector method. In this backbone, the input network
resolution will be shrunk into 512x512 with receptive field size of 725x725 and
contains 29 convolutional layers by 3x3 and then each layer will be sent to the
neck detector. The PANet is applied as the neck detector method for
understanding the parameter aggregation from different backbone level detector.
All the aggregation layer from the neck detector will be sent to the sparse
prediction parts as the input layer in this stage. Meanwhile, the last detector
process on stage one is done at the dense prediction. The Yolo v3 model is used
in this stage to generate the prediction which result will be used as the input
prediction at the second-stage predictor. The second stage predictor has sparse
prediction which applies the faster R-CNN as the prediction method. In this
stage, it got the input layer from the neck which is 3x3 layer and the input
prediction from the dense prediction. The result from this stage are two classes
such as face-mask wearer and un-wearer of face-mask.

11
CHAPTER 3

SYSTEM DESIGN

In this chapter, the various UML diagrams for face mask detection system
with automated door access control is represented and the various functionalities
are explained.

3.1 UNIFIED MODELLING LANGUAGE

Unified Modeling language (UML) is a standardized modeling language


enabling developers to specify, visualize, construct and document artifacts of a
software system. Thus, UML makes these artifacts scalable, secure and robust
in execution. It uses graphic notation to create visual models of software
systems. UML is designed to enable users to develop an expressive, ready to use
visual modeling language. In addition, it supports high-level development
concepts such as frameworks, patterns and collaborations. Some of the UML
diagrams are discussed.

3.1.1 USE CASE DIAGRAM FOR FACE MASK DETECTION SYSTEM


WITH AUTOMATED DOOR ACCESS CONTROL

Use case diagrams are considered for high level requirement analysis of a
system. So when the requirements of a system are analyzed the functionalities
are captured in use cases. So it can be said that uses cases are nothing but the
system functionalities written in an organized manner. Now the second things
which are relevant to the use cases are the actors. Actors can be defined as
something that interacts with the system. The actors can be human user, some
internal applications or may be some external applications. Use case diagrams
are used to gather the requirements of a system including internal and external
influences. These requirements are mostly design requirements. Hence, when a
12
system is analyzed to gather its functionalities, use cases are prepared and actors
are identified.

Figure 3.1 Use case diagram for face mask detection system with automated
door access control
The Functionalities are to be represented as a use case in the
representation. Each and every use case is a function in which the user or the
server can have the access on it. The names of the use cases are given in such a
way that the functionalities are preformed, because the main purpose of the
functionalities is to identify the requirements.

13
3.1.2 CLASS DIAGRAM FOR FACE MASK DETECTION SYSTEM WITH
AUTOMATED DOOR ACCESS CONTOL

Class diagram is basically a graphical representation of the static view of


the system and represents different aspects of the application. So a collection of
class diagrams represent the whole system.

Figure 3.2 Class diagram for face mask detection system with automated door
access control

The name of the class diagram should be meaningful to describe the aspect
of the system. Each element and their relationships should be identified in
advance responsibility (attributes and methods) of each class should be clearly
identified for each class minimum number of properties should be specified.

14
3.1.3 SEQUENCE DIAGRAM FOR FACE MASK DETECTION SYSTEM
WITH AUTOMATED DOOR ACCESS CONTOL

UML sequence diagrams model the flow of logic within the system in a
visual manner, enabling to both document and validate the logic, and are
commonly used for both analysis and design purposes.

Figure 3.3 Sequence diagram for face mask detection system with
automated door access control

The various actions that take place in the application in the correct
sequence are shown. Sequence diagrams are the most popular UML for dynamic
modeling.

15
3.1.4 ACTIVITY DIAGRAM FOR FACE MASK DETECTION WITH
AUTOMATED DOOR ACCESS CONTROL

Activity is a particular operation of the system. Activity diagram is


suitable for modeling the activity flow of the system.

Figure 3.4 Activity diagram for face mask detection system with automated
door access control

Activity diagrams are not only used for visualizing dynamic nature of a
system but they are also used to construct the executable system by using
forward and reverse engineering techniques. The only missing thing in activity

16
diagram is the message part.

An application can have multiple systems. Activity diagram also captures


these systems and describes the flow from one system to another. This specific
usage is not available in other diagrams. These systems can be database, external
queues, or any other system.

Activity diagram is suitable for modeling the activity flow of the system.
It does not show any message flow from one activity to another. Activity
diagram is sometime considered as the flow chart. Although the diagrams looks
like a flow chart but it is not. It shows different flow like parallel, branched,
concurrent and single.

3.1.5 COLLABORATION DIAGRAM FOR FACE MASK DETECTION


WITH AUTOMATED DOOR ACCESS CONTROL

The next interaction diagram is collaboration diagram. It shows the object


organization. Here in collaboration diagram the method call sequence is
indicated by some numbering technique. The number indicates how the methods
are called one after another. The method calls are similar to that of a sequence
diagram. But the difference is that the sequence diagram does not describe the
object organization whereas the collaboration diagram shows the object
organization.

Now to choose between these two diagrams the main emphasis is given
on the type of requirement. If the time sequence is important then sequence
diagram is used and if organization is required then collaboration diagram is us

17
Figure 3.5 Collaboration diagram for face mask detection system with
automated door access control

3.1.6 COMPONENT DIAGRAM FOR FACE MASK DETECTION WITH


AUTOMATED DOOR ACCESS CONTROL

A component diagram displays the structural relationship of components


of a software system. These are mostly used when working with complex
systems that have many components such as sensor nodes, cluster head and base
station. It does not describe the functionality of the system but it describes the
components used to make those functionalities.

Components communicate with each other using interfaces. The


interfaces are linked using connectors.

Figure 3.6 Component diagram for face mask detection system with automated
door access control

18
3.1.7 DEPLOYMENT DIAGRAM FOR FACE MASK DETECTION WITH
AUTOMATED DOOR ACCESS CONTROL

A deployment diagrams shows the hardware of your system and the


software in those hardware. Deployment diagrams are useful when your
software solution is deployed across multiple machines such as sensor nodes,
cluster head and base station with each having a unique configuration.

Figure 3.7 Deployment diagram for face mask detection system with
automated door access control

3.1.8 PACKAGE DIAGRAM FOR FACE MASK DETECTION WITH


AUTOMATED DOOR ACCESS CONTROL

Package diagrams are used to reflect the organization of packages and


their elements. When used to represent class elements, package diagrams
provide a visualization of the namespaces. Package diagrams are used to
structure high level system elements. Package diagrams can be used to simplify
complex class diagrams, it can group classes into packages. A package is a

19
collection of logically related UML elements. Packages are depicted as file
folders and can be used on any of the UML diagrams.

Figure 3.8 Package diagram for face mask detection system with automated
door access control

Package is a namespace used to group together elements that are


semantically related and might change together. It is a general purpose
mechanism to organize elements into groups to provide better structure for
system model.

20
CHAPTER 4

SYSTEM ARCHITECTURE

In this chapter, the System Architecture for face mask detection system
with automated door access control is represented and the modules are
explained.

4.1 ARCHITECTURE DESCRIPTION

In system architecture the detailed description about the system modules


and the working of each module is discussed as shown in figure 4.1

Figure 4.1 System Architecture for face mask detection system with automated
door access control

The major modules of this system are User module, Server module, Dataset,
RESNET 50 used for Feature Extraction, YOLO v2 for Object detection and
classification.

21
4.2 Interactions between User, Server and Dataset

In the user module, the image is captured through web camera and sent to
the server module for image augmentation and feature extraction and further
classified into classes using the previously trained datasets.

4.2 USER MODULE

The image is given as input by the user or in real time image is captured
through web camera and further processing are done. Data Acquisition is
performed by the system from the user.

4.3 SERVER MODULE

The system extracts data from the user in the form of image and performs
augmentation, feature extraction , object detection and classification. In
augmentation, size of the dataset is increased. In feature extraction, weights and
bias for input image is extracted. In object detection, bounding boxes are created
22
and object is detected and classified using algorithms.

4.3.1 IMAGE AUGMENTATION

In the real world scenario, we may have a dataset of images taken in a


limited set of conditions. But our target application may exist in a variety of
conditions, such as different orientation, location, scale, brightness etc. We
account for these situations by training our neural network with additional
synthetically modified data. So augmentation helps to increase the amount of
relevant data in your dataset.

4.3.2 FEATURE EXTRACTION

In feature extraction, the image is divided into foreground and


background. The background is ignored and features are extracted from the
foreground image. Feature vector is created using RESNET 50 which has 50
convolution hidden layers.

4.3.3 OBJECT DETECTION

YOLO v2 algorithm treat object detection as a regression problem,


taking a given input image and simultaneously learning bounding box
coordinates and corresponding class label probabilities.

4.3.4 CLASSIFICATION

Yolo is a Clever Convolutional Neural Network (CNN) algorithm which


is used for classification. The image is converted into various layers: input layer,
hidden layer and output layer. Based on the trained data sets, the input image is
classified into various classes.

23
CHAPTER 5

SYSTEM IMPLEMENTATION

In this chapter, the System Implementation for the Face Mask Detection
System model is explained in detail.

5.1 IMPLEMENTATION OF FACE MASK DETECTION SYSTEM

We proposed a face mask detection system to monitor people who are not
using a face mask. In this project, all public places such as schools, colleges and
offices are monitored by CCTV cameras or web cameras. The cameras are used
to capture images from public places; then these images are feed into a system
that identifies if any person without face mask appears in the image. If any
person without a face mask is detected then this information is sent to the
administrator to take necessary actions.

A) Image Preprocessing: The images captured by the CCTV cameras


required preprocessing before going to the next step. In the preprocessing step,
the image is transformed into a grayscale image because the RGB color image
contains so much redundant information that is not necessary for face mask
detection. RGB color image stored 24 bit for each pixel of the image. On the
other hand, the grayscale image stored 8 bit for each pixel and it contained
sufficient information for classification. Then, we reshaped the images into
(224×224) shape to maintain uniformity of the input images to the architecture.
Then, the images are normalized and after normalization, the value of a pixel
resides in the range from 0 to 1. Normalization helped the learning algorithm to
learn faster and captured necessary features from the images.

B) Deep Learning Architecture: The deep learning architecture learns


various important nonlinear features from the given samples. Then, this learned
architecture is used to predict previously unseen samples. To train our deep

24
learning architecture, we collected images from different sources. The
architecture of the learning technique highly depends on YOLO v2. All the
aspects of deep learning architecture are described below.

1) Dataset Collection: Data from two different sources are collected for
training and testing the model. We collected a total of 100 images of people with
masks and without a mask. For training purposes, 70% images of each class are
used and the rest of the images are utilized for testing purposes.

2) Architecture Development: The learning model is based on YOLO v2


which is very useful for Object Detection in images and RESNET 50 is the
backbone for YOLO v2 which is used for feature extraction. The network
comprises an input layer, several hidden layers and an output layer. The hidden
layers consist of multiple convolution layers that learn suitable filters for
important feature extraction from the given samples. The features extracted by
RESNET 50 are used by multiple dense neural networks for classification
purposes. The architecture contains three pairs of convolution layers each
followed by identity block. This layer decreases the spatial size of the
representation and thereby reduces the number of parameters. As a result, the
computation is simplified for the network. Then, a flatten layer reshapes the
information into a vector to feed into the dense network. Three pairs of dense
and dropout layers learn parameters for classification. The dense layer comprises
a series of neurons each of them learn nonlinear features. The dropout layer
prevents the network from overfitting by dropping out units. Finally, a dense
layer containing two neurons distinguishes the classes.

3) Applied YOLOv3: An input here is an image is passed into the


YOLOv3 model. This object detector is going through the image and find the
coordinates that present in an image. It’s basically divides the input into a grid
and from that grid it will analyze the target objects features. From the
neighboring cells that features were detected with high confidence rate are add
25
at one place for produce model output.

4) Screening and Informing the Administrator: The main goal of our


proposed system is screening persons who are not following guidelines of using
a facial mask. The learning architecture identifies whether any input image
contains persons without a face mask. If such a person is detected, then this
information is sent to the administrator. The information about the person along
with the image is sent via SMS to the corresponding administrator. They would
then alert the person by sending them message and take necessary actions. If
proper actions are taken, then people might not come in public places without a
facial mask that would help greatly to limit the growth of COVID-19.

5.2 PSEUDOCODE FOR FACE MASK DETECTION SYSTEM

INPUT: IMAGE OF A PERSON WITH/WITHOUT MASK

OUTPUT: CLASS OF THE MASK

START

ACQUIRE THE IMAGE

PERFORM DATA ANALYSIS

TO DO SEGMENTATION

PERFORM FEATURE EXTRACTION

CLASSIFICATION USING CNN

IDENTIFY THE CLASS

PRODUCE OUTPUT

SUGGEST PRECAUTIONS

STOP

26
CHAPTER 6

CODING AND SCREENSHOTS

The following code corresponds to the face mask detection system using
YOLO v2. The input of the code is image of a person with or without mask. The
output is the class of the mask -> with mask/ without mask.

6.1 FACE MASK DETECTION SYSTEM USING CNN

CODE FOR INPUT WITH STILL IMAGE:

Read a test image into the workspace.

load COVID19_Mask_yolo.mat

Import still image and test the trained model

I = imread("sample.jpg");

resz = [224 224];

Ir = imresize(I, resz);

You can rather select to run 'yolov2_detect_mex' file for inference


acceleration

[bbox,score,label] = detect(detector, Ir, 'threshold', 0.7);

% [bbox,score, label] = yolov2_detect_mex(Ir, 0.7)

Display the results.

if(~isempty(bbox))
27
bboxf = bboxre(bbox, size(I), resz);

detectedImg = insertObjectAnnotation(I, 'rectangle', bboxf,


[string(label)+ " : "+string(score)], 'Color', 'magenta', ...

'Fontsize', 70, 'linewidth', 30, 'textboxopacity', 0.4);

end

detectedImg = insertText(detectedImg, [600, 1], " Door Opens. Get In!


", 'FontSize', 120, 'BoxColor', 'g');

figure

clf

imshow(detectedImg)

function bbox = bboxre(bbox, sz, targetSize)

bbox(:,1) = bbox(:,1)*sz(2)/targetSize(2);

bbox(:,2) = bbox(:,2)*sz(1)/targetSize(1);

bbox(:,3) = bbox(:,3)*sz(2)/targetSize(2);

bbox(:,4) = bbox(:,4)*sz(1)/targetSize(1);

end

CODE FOR INPUT WITH VIDEOS

Test Trained model with sample video

close all; clear

load('COVID19_Mask_yolo.mat');

28
Load test movie

vidobj = VideoReader('sample.mp4');

viewer = vision.DeployableVideoPlayer;

Read each image from the test movie

currAxes = axes;

while(hasFrame(vidobj))

frame = readFrame(vidobj); % read an image

sz = size(frame);

resz =[224 224];

frame1 = imresize(frame, resz);

[bbox, score, label] = detect(detector, frame1, 'Threshold', 0.7,


'ExecutionEnvironment', "auto");

if(~isempty(bbox))

bboxf = bboxre(bbox, sz, resz);

detectedImg = insertObjectAnnotation(frame, 'rectangle', bboxf,


[string(label)+ " : "+string(score)], 'Color', 'magenta', ...

'Fontsize', 30, 'linewidth', 15, 'textboxopacity', 0.4);

end

detectedImg = insertText(detectedImg, [150, 1], " Door Opens ",


'FontSize', 45, 'BoxColor', 'g');

step(viewer, detectedImg);

end

29
function bbox = bboxre(bbox, sz, targetSize)

bbox(:,1) = bbox(:,1)*sz(2)/targetSize(2);

bbox(:,2) = bbox(:,2)*sz(1)/targetSize(1);

bbox(:,3) = bbox(:,3)*sz(2)/targetSize(2);

bbox(:,4) = bbox(:,4)*sz(1)/targetSize(1);

end

CODE FOR INPUT WITH LIVE VIDEO

Live Webcam Simulation

Parameter setting for the execution

cont = 1;

useMex = false;

executionEnvironment = 'cpu';

Connect to webcam and configure the setting

w = webcam();

w.Brightness = 64;

w.Resolution = '1280x720';

viewer = vision.DeployableVideoPlayer();

viewer.Size = "Full-screen";

viewer.Location = [1921 842];

Auxiliary variables

30
fps = 0;

avgfps = [];

Choose the model you trained.

answer = questdlg('Which model do you want to run?', ...

'Mask Detection', 'SSD', 'YOLOv2', 'SSD');

% Handle response

switch answer

case 'SSD'

load COVID19_Mask_SSD.mat

mdl = 'SSD';

case 'YOLOv2'

load COVID19_Mask_yolo.mat

mdl = 'YOLOv2';

end

Running live webcam mask detection

while cont

img = snapshot(w);

sz = size(img);

targetSize = [224 224];

img_r = imresize(img, targetSize);

bbox = [];

31
tic;

if useMex

if strcmp(mdl, 'SSD')

[bbox, score, label] = ssd_detect_mex(img_r, 0.6);

elseif strcmp(mdl, 'YOLOv2')

[bbox, score, label] = yolov2_detect_mex(img_r, 0.6);

label = label';

end

else

[bbox, score, label] = detect(detector, img_r, 'Threshold', 0.55,


'ExecutionEnvironment', "cpu");

end

newt = toc;

fps = .9*fps + .1*(1/newt);

avgfps = [avgfps, fps];

detectedImg = img;

if ~isempty(bbox)

bboxf = bboxre(bbox, sz, targetSize);

num = numel(bboxf(:,1));

label = reshape(label, [num,1]);

detectedImg = insertObjectAnnotation(detectedImg, 'rectangle',


bboxf, [string(label)+ " : "+string(score)], 'Color', 'magenta', ...
32
'Fontsize', 50, 'linewidth', 8, 'textboxopacity', 1);

detectedImg = insertText(detectedImg, [600, 1], " Door


Opens.Get In.Be Safe!! ", 'FontSize', 35, 'BoxColor', 'g');

else

detectedImg = insertText(detectedImg, [600, 1], " Wear a mask


to open the door!! ", 'FontSize', 35, 'BoxColor', 'r');

end

detectedImg = insertText(detectedImg, [1, 1], sprintf('Model = %s, FPS


%2.2f',mdl, mean(avgfps)), 'FontSize', 35, 'BoxColor', 'y', "BoxOpacity", 0.3);

viewer(detectedImg)

cont = isOpen(viewer);

end

release(viewer)

function bbox = bboxre(bbox, sz, targetSize)

bbox(:,1) = bbox(:,1)*sz(2)/targetSize(2);

bbox(:,2) = bbox(:,2)*sz(1)/targetSize(1);

bbox(:,3) = bbox(:,3)*sz(2)/targetSize(2);

bbox(:,4) = bbox(:,4)*sz(1)/targetSize(1);

end

CODE FOR TRAINING THE MODEL

doLabeling = true;

33
if doLabeling

imageLabeler

else

load groundTruth.mat

end

Create table data format from auto-labeled ground truth data

Convert labeled ground truth from Image Labeler app into table data type.

trainingDataset = gTruth.LabelData;

trainingDataset.files = gTruth.DataSource.Source;

trainingDataset = trainingDataset(:, [2, 1]);

head(trainingDataset)

Visualize the training images

Sample image to use during the training.

index = 1;

% Colorized

Iout = imread(trainingDataset.files{index});

for k = 1: width(trainingDataset)-1

bboxes = table2array(trainingDataset(index,k+1));

if ~isempty(bboxes{1})

Iout = insertObjectAnnotation(Iout,'rectangle',bboxes{1}, ...

34
trainingDataset.Properties.VariableNames{k+1},'Color','r','fontsize', 72,
'linewidth', 30);

end

end

figure, imshow(Iout);

Divide training data into Train/Validation/Test set

Set default for reproducible.

rng(1004);

Divide the dataset into training set and test set.

shuffledIndices = randperm(height(trainingDataset));

idx = floor(0.7 * length(shuffledIndices) );

trainingData = trainingDataset(shuffledIndices(1:idx),:);

validationIdx = idx+1 : idx + 1 + floor(0.15 * length(shuffledIndices) );

validationData = trainingDataset(shuffledIndices(validationIdx),:);

testIdx = validationIdx(end)+1 : length(shuffledIndices);

testData = trainingDataset(shuffledIndices(testIdx),:);

Use imageDatastore and boxLabelDatastore to create datastores for


loading the image and label data during training and evaluation.

imdsTrain = imageDatastore(trainingData{:,'files'});
35
bldsTrain = boxLabelDatastore(trainingData(:,2:end));

imdsValidation = imageDatastore(validationData{:,'files'});

bldsValidation = boxLabelDatastore(validationData(:,2:end));

imdsTest = imageDatastore(testData{:,'files'});

bldsTest = boxLabelDatastore(testData(:,2:end));

Combine image and box label datastores.

trainingData = combine(imdsTrain,bldsTrain);

validationData = combine(imdsValidation,bldsValidation);

testData = combine(imdsTest,bldsTest);

Get Ready for the training - Define backbone network

basenetwork = resnet50();

numClasses = width(trainingDataset)-1;

inputSize = [512 512 3];

Anchor Box Estimation - Visualize the Number of Anchor Boxes versus


the Mean IoU

Sweep over a range of values and plot the mean IoU versus number of
anchor boxes to measure the trade-off between number of anchors an mean IoU.

anchorTraining = boxLabelDatastore(trainingDataset(:, 2:end));

maxNumAnchors = 15;
36
meanIoU = zeros([maxNumAnchors,1]);

anchorBoxes = cell(maxNumAnchors, 1);

doTrain = true;

if doTrain

for k = 1:maxNumAnchors

[anchorBoxes{k},meanIoU(k)] =
estimateAnchorBoxes(anchorTraining,k);

end

save AnchorMask anchorBoxes meanIoU

else

load AnchorMask.mat

end

figure

plot(1:maxNumAnchors, meanIoU,'-o')

ylabel("Mean IoU")

xlabel("Number of Anchors")

title("Number of Anchors vs. Mean IoU")

grid on

Choose the number of anchor box

numAnchors = 10;

allBoxes =
round(cell2mat(reshape(table2array(trainingDataset(:,2:end)),[],1)));
37
scale = inputSize(1:2)./size(imread(trainingDataset.files{1}), [1 2]);

anchorBoxes = round(anchorBoxes{numAnchors}.*scale)

meanIoU_chosen = meanIoU(numAnchors)

Choose Network to Train

nettotrain = "YOLOv2";

Create YOLOv2 network

Inspect the layers in the YOLO v2 network and their properties.

if nettotrain == "YOLOv2"

featureLayer = 'activation_40_relu';

lgraph = yolov2Layers(inputSize, numClasses, anchorBoxes,


basenetwork, featureLayer);

Create SSD Network

elseif nettotrain == "SSD"

lgraph = ssdLayers(inputSize, numClasses, 'resnet50');

end

Data Augmentation

augmentedTrainingData = transform(trainingData,@augmentData);

Read the same image multiple times and display the augmented training
data.

augmentedData = cell(4,1);

for k = 1:4
38
data = read(augmentedTrainingData);

augmentedData{k} =
insertShape(data{1},'Rectangle',data{2},'linewidth', 15);

reset(augmentedTrainingData);

end

figure

montage(augmentedData,'BorderSize',10, 'Size', [2 2])

Preprocess Training Data

Preprocess the augmented training data to prepare for training.

preprocessedTrainingData =
transform(augmentedTrainingData,@(data)preprocessData(data,inputSize,
nettotrain));

preprocessedValidationData =
transform(validationData,@(data)preprocessData(data,inputSize, nettotrain));

Configure the network training options.

options = trainingOptions('adam',...

'InitialLearnRate',0.001,...

'Verbose',true,...

'MiniBatchSize',8,...

'MaxEpochs',50,...

'Shuffle','never',...

'VerboseFrequency',10, ...
39
'ValidationData', preprocessedValidationData);

Train the YOLO v2 network.

doTrain = true;

if doTrain

if nettotrain == 1

[detector,info] =
trainYOLOv2ObjectDetector(preprocessedTrainingData,lgraph,options);

save COVID19_Mask_yolo detector

elseif nettotrain == 2

[detector,info] =
trainSSDObjectDetector(preprocessedTrainingData,lgraph,options);

save COVID19_Mask_SSD detector

end

detector

You can verify the training accuracy by inspecting the training loss for
each iteration.

figure

plot(info.TrainingLoss)

grid on

xlabel('Number of Iterations')

ylabel('Training Loss for Each Iteration')

else

Load if you have trained above detector before

if nettotrain == 1
40
load COVID19_Mask_yolo.mat

elseif nettotrain == 2

load COVID19_Mask_SSD.mat

end

end

Read a test image into the workspace.

I = read(testData);

I = imresize(I{1},1);

[bboxes,scores,labels] = detect(detector,I, 'threshold', 0.5);

Display the results.

[~, ind] = ismember(labels, detector.ClassNames);

if(~isempty(bboxes))

I = insertObjectAnnotation(I,'rectangle', bboxes, strcat(string(labels)', "


: ",string(scores)), "LineWidth", 10, "fontsize", 20, 'Color','y');

end

figure

clf

imshow(I)

Evaluate Detector Using Test Set

preprocessedTestData =
transform(testData,@(data)preprocessData(data,inputSize,nettotrain));

Run the detector on all the test images.


41
detectionResults = detect(detector, preprocessedTestData, 'threshold',
0.5);
Evaluate the object detector using average precision metric.

[ap, recall, precision] = evaluateDetectionPrecision(detectionResults,


preprocessedTestData, 0.5);

The precision/recall (PR) curve highlights how precise a detector is at


varying levels of recall. The ideal precision is 1 at all recall levels. The use of
more data can help improve the average precision but might require more
training time. Plot the PR curve.

figure

plot(recall, precision)

xlabel('Recall')

ylabel('Precision')

grid on

temp = sprintf(' = %.3f', ap);

title(sprintf(['AP for ', trainingDataset.Properties.VariableNames{2},


temp]))

Generate CUDA code for accelerating inference speed.

To generate CUDA code for the yolov2_detect.m or ssd_detect.m entry-


point function, create a GPU code configuration object for a MEX target and set
the target language to C++.

cfg = coder.gpuConfig('mex');

cfg.TargetLang = 'C++';
42
cfg.DeepLearningConfig = coder.DeepLearningConfig('cudnn');

if nettotrain == 1

codegen -config cfg yolov2_detect -args {ones(224,224,3,'uint8'),


double(1)} -report -d codegenyolov2

else

codegen -config cfg ssd_detect -args {ones(224,224,3,'uint8'),


double(1)} -report -d codegenssd2

end

Helper Functions

function data = preprocessData(data,targetSize,nettotrain)

% Resize image and bounding boxes to the targetSize.

if nettotrain == 2

scale = targetSize(1:2)./size(data{1},[1 2]);

data{1} = imresize(data{1},targetSize(1:2));

data{2} = bboxresize(data{2},scale);

else

data{1} = imresize(data{1},1);

data{2} = bboxresize(data{2},1);

end

end

function B = augmentData(A)

B = cell(size(A));
43
I = A{1};

sz = size(I);

if numel(sz)==3 && sz(3) == 3

I = jitterColorHSV(I,...

'Contrast',0.2,...

'Hue',0,...

'Saturation',0.1,...

'Brightness',0.2);

end

tform = randomAffine2d('XReflection',true, 'Scale', [1 1.2], 'Rotation', [-


20 20]);

rout = affineOutputView(sz,tform,'BoundsStyle','CenterOutput');

B{1} = imwarp(I,tform,'OutputView',rout);

[B{2},indices] = bboxwarp(A{2},tform,rout,'OverlapThreshold',0.25);

B{3} = A{3}(indices);

if isempty(indices)

B = A;

end end

44
6.2 OUTPUT AND COMPARISON

6.2.1 TRAINING THE MODEL

The following figure is the training taking place in the model after
the augmentation steps. The model uses Yolo v2 for training. Once the data set
is loaded and following the data augmentation , feature extraction the figure
shows the model fitting taking place with 50 epochs.

6.2.2 RESULTS

The Algorithm and the page designs are implemented in the MATLAB
R2019a. Here, the various functionalities required for the applications are
implemented by coding them in Python. The various functionalities used here are
RESNET 50 and YOLO v2

For every end user who uses the Window, open the MATLAB using the run
command. Once the MATLAB is opened, copy the path of the Code Location and
open the particular coding module.

45
6.1 Opening the MATLAB
As a first process we will be copying the path of the code where we saved.

6.2 Browsing the path


Then Run the code. Following output will be displayed.

46
Output for still image:

Output for Video as input:

6.3 Displaying Output

47
6.2.3 COMPARISON

Displaying the learning rate, total loss, and the individual losses (box loss,
object loss and class loss) for every iteration. These can be used to interpret how
the respective losses are changing in each iteration. For example, a sudden spike
in the box loss after few iterations implies that there are Inf or NaNs in the
predictions

6.4 Learning Rate and Total Loss

The precision-recall (PR) curve shows how precise a detector is at varying


levels of recall. Ideally, the precision is 1 at all recall levels.

6.5 Precision-Recall Curve

48
CHAPTER 7

CONCLUSION AND FUTURE WORK

7.1 CONCLUSION

This paper presents a system for a smart city to reduce the spread of
coronavirus by informing the authority about the person who is not wearing a facial
mask that is a precautionary measure of Covid-19. The motive of the work comes
from the people disobeying the rules that are mandatory to stop the spread of
coronavirus. The system contains a face mask detection architecture where a deep
learning algorithm is used to detect the mask on the face. To train the model, labeled
image data are used where the images were facial images with masks and without a
mask. The proposed system detects a face mask with an accuracy of 81.0%. The
decision of the classification network is transferred to the corresponding authority.
The system proposed in this study will act as a valuable tool to strictly impose the
use of a facial mask in public places for all people.

7.2 FUTURE WORK

The developed system faces difficulties in classifying faces covered by hands


since it almost looks like the person wearing a mask. While any person without a
face mask is traveling on any vehicle, the system cannot locate that person correctly.
For a very densely populated area, distinguishing the face of each person is very
difficult. For this type of scenario, identifying people without face mask would be
very difficult for our proposed system. In order to get the best result out of this
system, the city must have a large number of CCTV cameras to monitor the whole
city as well as dedicated manpower to enforce proper laws on the violators. Since
the information about the violator is sent via SMS, the system fails when there is a

49
problem in the network. The proposed system mainly detects the face mask and
informs the corresponding authority with the location of a person not wearing a
mask. Based on this, the authority has to send their personnel to find out the person
and take necessary actions. But this manual scenario can be automated by using
drones and robot technology to take action instantly. Furthermore, people near to the
person not wearing a mask may be alerted by an alarm signal on that location, and
displaying the violators face in a LED screen to maintain a safe distance from the
person would be a further study.

50
REFERENCES

[1] WHO EMRO | About COVID-19 | COVID-19 | Health topics. [Online].


Available: http://www.emro.who.int/health-topics/coronavirus/about-covid-
19.html, accessed on: Jul. 26, 2020.

[2] H. Lau et al., “Internationally lost COVID-19 cases,” J. Microbiol.


Immunol. Infect., vol. 53, no. 3, pp. 454–458, 2020.

[3] Worldometer, “Coronavirus Cases,”. [Online]. Available:


https://www.worldometers.info/coronavirus, accessed on: Jul. 26, 2020.

[4] L. Li et al., “COVID-19 patients’ clinical characteristics, discharge rate,


and fatality rate of meta-analysis,” J. Med. Virol., vol. 92, no. 6, pp. 577–583, Jun.
2020.

[5] M. Z. Islam, M. M. Islam, and A. Asraf, “A Combined Deep CNNLSTM


Network for the Detection of Novel Coronavirus (COVID-19) Using X-ray Images,”
Informatics in Medicine Unlocked, vol. 20, pp. 100412, Aug. 2020.

[6] L. J. Muhammad, M. M. Islam, S. S. Usman, and S. I. Ayon, “Predictive


Data Mining Models for Novel Coronavirus (COVID-19) Infected Patients’
Recovery,” SN Comput. Sci., vol. 1, no. 4, p. 206, Jun. 2020.

[7] L. Liu et al., “Deep Learning for Generic Object Detection: A Survey,”
Int. J. Comput. Vis., vol. 128, no. 2, pp. 261–318, Sep. 2018.

[8] L. Calavia, C. Baladrón, J. M. Aguiar, B. Carro, and A.


SánchezEsguevillas, “A Semantic Autonomous Video Surveillance System for
Dense Camera Networks in Smart Cities,” Sensors, vol. 12, no. 8, pp. 10407–10429,
Aug. 2012.

[9] G. Halegoua, “Smart City Technologies,” Smart Cities, 2020, doi:


10.7551/mitpress/11426.003.0005.
51
[10] L. P. Garcia, “Uso de máscara facial para limitar a transmissão da
COVID-19,” Epidemiol. e Serv. saude Rev. do Sist. Unico Saude do Bras., vol. 29,
no. 2, p. e2020023, 2020.

[11] Z. Allam and D. S. Jones, “On the Coronavirus (COVID-19) Outbreak


and the Smart City Network: Universal Data Sharing Standards Coupled with
Artificial Intelligence (AI) to Benefit Urban Health Monitoring and Management,”
Healthcare, vol. 8, no. 1, p. 46, 2020.

[12] M. Jiang, X. Fan, and H. Yan, “RetinaMask: A Face Mask detector,”


2020. [Online]. Available: http://arxiv.org/abs/2005.03950.

[13] M. Gupta, M. Abdelsalam, and S. Mittal, “Enabling and Enforcing Social


Distancing Measures using Smart City and ITS Infrastructures: A COVID-19 Use
Case,” 2020. [Online]. Available: https://arxiv.org/abs/2004.09246.

[14] J. Won Sonn and J. K. Lee, “The smart city as time-space cartographer
in COVID-19 control: the South Korean strategy and democratic control of
surveillance technology,” Eurasian Geogr. Econ., pp. 1– 11, May. 2020.

52

You might also like