Conference PaperPDF Available

Smart Security System Using Face Recognition on Raspberry Pi

Authors:

Abstract and Figures

Privacy and Security are two of the most important universal rights. To ensure security in our daily life through technology, a lot of research is going on. Among them facial recognition is a popular and well-established technology. In this technology, faces are detected and identified out of images and with the help of Internet of Things (IoT), it becomes even more useful and precise. Using face recognition and IoT, we aim to create a smart door, which secures the gateway on the basis of who we are. In our proof of the concept of such a smart security system, we have used Viola-Jones method to detect faces and Eigenfaces method to recognize people. A Raspberry Pi has been used as the microprocessor for ensuring low-cost and small size of the system. The door will open automatically for the known person upon receiving command from the processor. On the other hand, photo of the unknown will be uploaded to a webserver while an email is sent to the owner of the place containing a link to the image. From the website of the system, the owner can then allow/block entry and also trigger an alarm from anywhere in the world.
Content may be subject to copyright.
978-1-7281-2741-5/19/$31.00 ©2019 IEEE
Smart Security System Using Face Recognition on
Raspberry Pi
Fahim Faisal
Dept. of Computer Science and Engineering
Daffodil International University
Dhaka, Bangladesh.
embeddedfahim@gmail.com
Syed Akhter Hossain
Dept. of Computer Science and Engineering
Daffodil International University
Dhaka, Bangladesh.
aktarhossain@daffodilvarsity.edu.bd
AbstractPrivacy and Security are two of the most
important universal rights. To ensure security in our daily life
through technology, a lot of research is going on. Among them
facial recognition is a popular and well-established technology.
In this technology, faces are detected and identified out of
images and with the help of Internet of Things (IoT), it becomes
even more useful and precise. Using face recognition and IoT,
we aim to create a smart door, which secures the gateway on the
basis of who we are. In our proof of the concept of such a smart
security system, we have used Viola-Jones method to detect faces
and Eigenfaces method to recognize people. A Raspberry Pi has
been used as the microprocessor for ensuring low-cost and small
size of the system. The door will open automatically for the
known person upon receiving command from the processor. On
the other hand, photo of the unknown will be uploaded to a
webserver while an email is sent to the owner of the place
containing a link to the image. From the website of the system,
the owner can then allow/block entry and also trigger an alarm
from anywhere in the world.
KeywordsViola-Jones face detection method,
Microprocessor, PCA, Eigenvector, Covariance matrix, Euclidean
distance, Eigenface, Microcontroller
I. INTRODUCTION
Human beings can be precisely identified by their unique
facial characteristics. Nowadays, automatic person
identification in access control has become popular by using
biometric data instead of using cards, passwords or patterns.
Most of the biometric data have to be collected by using
special hardware such as fingerprint scanners, palm print
scanners, DNA analyzers etc. But face recognition, in this
particular area, has some advantages. It’s hassle-free in a
sense that one doesn’t need to touch anything in order to be
identified or recognized. As a result, in the field of biometrics,
face recognition technology is one of the fastest growing
fields. This recent interest in face recognition can be
attributed to the increase of commercial interest and the
development of feasible technologies to support the
development of face recognition. Major areas of the
commercial use of face recognition include biometrics, law
enforcement and surveillance, human-computer interaction,
multimedia management (for example, automatic tagging of
a particular individual within a collection of digital
photographs), smart cards, passport check, criminal
investigations, access control etc. However, face detection
can be a bit challenging at times owing to some unstable
characteristics of a human face. For example, glasses and
beard will affect the detecting accuracy. Moreover, different
kinds and angles of lighting will generate uneven brightness
on the face, which will have influence on the detection
process. To overcome these problems, the system used Viola-
Jones method [1] for face detection and Eigenfaces method
[2] for face recognition. Eigenfaces are generated using a
mathematical process called Principal Component Analysis
(PCA). If a face is recognized, it is known and if not, it is
unknown. Since PCA reduces the dimensions of facial images
without losing important features, facial images for many
people can be stored in the database without losing significant
efficiency. Therefore, face recognition using PCA is more
useful for home/office security systems than other face
recognition techniques [3].
II. RELATED WORKS
Face recognition in an automatic manner started to gain
popularity from the 1960s. During 1964 and 1965, Bledsoe,
along with Helen Chan and Charles Bisson, worked on using
the computer to recognize human faces (Bledsoe 1966a,
1966b; Bledsoe and Chan 1965) [4]. Several modern systems
including the implementation of automatic face detection and
recognition have been developed since then.
Paul Viola and Michael J. Jones, in their paper, discussed
about a new face detection framework that is capable of
processing images extremely rapidly while achieving high
detection rates [1]. Ole Helvig Jensen’s paper documents all
relevant aspects of the implementation of the Viola-Jones
face detection algorithm [5]. M. A. Turk and A. P. Pentland.
introduced a new technique for image representation in order
to recognize faces in an unsupervised manner [2]. Daniel
Georgescu introduced a system which is capable of
performing real-time face detection, face recognition and
sending an e-mail notification to interested institutions [6].
Liton Chandra Paul and Abdulla Al Sumam, in their paper,
addressed the building of a face recognition system by using
Principal Component Analysis (PCA) [7]. Shervin Emami
and Valentin Petruț Suciu, in their paper, have introduced a
face recognition system using OpenCV and Microsoft’s .NET
framework [8]. Hteik Htar Lwin, Aung Soe Khaing and Hla
Myo Tun, in their paper, discussed about an automatic door
lock system using OpenCV on MATLAB [3]. I.Yugashini, S.
Vidhyasri and K. Gayathri Devi, in their paper, discussed
about a face recognition and detection process implemented
by modifying principal component analysis (PCA) approach
to fast based principal component analysis (FBPCA)
approach [9]. Prathamesh Timse et al., in their paper,
demonstrated the implementation of Viola-Jones and
Eigenfaces method in C# in the development of a face
recognition system. The system can upload photos of
unauthorized people to a remote webserver [10]. Ayushi
Gupta et al., used Viola-Jones method and Principal
Component Analysis to develop a face recognition system
[11].
III. METHODOLOGY
Face recognition can be divided into a few simple stages
and those stages can be further divided into more
sophisticated stages. At first, images are captured with the
help of a camera and then the images are taken as inputs.
Faces are differentiated from the images and only the
important features of a face are kept in the database which
reduces space complexity and in turn the overall
computational complexity. After that, the machine is trained
with these features for further evaluation. A simple face
recognition procedure is shown in the flowchart in Fig. 1.
Fig. 1: A Simple Face Recognition Flowchart.
A. Viola-Jones Face Detection Method and AdaBoost
Algorithm
This method can be divided into three main steps. The first
step of the Viola-Jones face detection algorithm is to turn the
input image into a new image representation called an integral
image that allows a very fast feature evaluation. The used
features are comparable to Haar-basis functions. The Viola-
Jones method analyzes a 24 * 24 sub-window using features
consisting of two or more rectangles. Each feature results in
a single value which is obtained by subtracting the sum of the
white rectangle(s) from the sum of the black rectangle(s) [5].
The different types of features are shown in Fig. 2.
Fig. 2: Different types of features.
For a fast processing of these features, we used a new image
representation method, called the integral image
representation. This is accomplished by making each pixel
equal to the entire sum of all pixels above and to the left of
the concerned pixel [6]. It is calculated by the following
equation,
g(x, y) = ∑x’≤x, y’≥y i(x’, y’) ………. [1]
Where g(x, y) is the integral image and i(x , y) is the original
image. The integral image can be computed in one pass over
the original image by using the following pair of equations:
s(x, y) = s(x, y 1) + i(x, y) ...………. [2]
g(x, y) = g(x 1, y) + s(x, y) ....…… [3]
Where s(x, y) is the cumulative row sum, s(x, −1) = 0, and
g(1, y) = 0. The second step is constructing a classifier in
order to select a small number of important features using the
AdaBoost learning algorithm. AdaBoost is a machine
learning boosting algorithm, which is capable of constructing
a strong classifier by using a weighted combination of weak
classifiers [5]. A weak classifier is calculated by the following
equation,
h(x, f, p, θ) = {   

where x is a 24 * 24 pixels sub-window of an image, f is the
applied feature, p indicates the direction of the inequality, and
θ is a threshold that decides whether x should be classified as
a positive (face) or a negative (non-face). The final strong
classifier is obtained after applying the AdaBoost algorithm
described in equation 1. In the third step, the cascaded
classifier is used to determine whether a given sub-window
classifier is definitely not a face or maybe a face. The
cascaded classifier is composed of stages where each consists
of a strong classifier. The concept is illustrated with two
stages in figure 3.
Fig. 3: Cascaded Classifier.
B. Principal Component Analysis and Eigenfaces Method
To extract the relevant features of facial images, Principal
Component Analysis (PCA) method is used. As mentioned
earlier, face recognition based on PCA is generally referred
to as the use of Eigenfaces. Eigenfaces are principal
components of the distribution of faces, or equivalently, the
Eigen vectors of the covariance matrix of the set of the
training images, where an image with N by N pixels is
considered as a point in N2 dimensional space. The PCA
algorithm is shown in the following steps:
Step 1: The image matrix I of size (N × N) pixels is
converted to the image vector Γ of size (P × 1) where
P = (N × N).
Training set,
θ = [θ1θ2 … θM]
Step 2: Average face image is calculated by,
=
 , where M is the total number
of images.
Each face differs from the average by,
i = θi , where i is the i-th difference.
Difference matrix,
A = [1 2 M]
Step 3: A covariance matrix C, is constructed as,
C = T, where size of C is (P × P).
This covariance matrix is huge in dimension, which
increases computational complexity. In order to
work with this covariance matrix, we need to reduce
its dimensions. Such a covariance matrix L with
reduced dimensionality is,
L = T, where size of L is (M × M).
For obtaining the Eigenvectors of the original
covariance matrix, it can be calculated by the
following equations:
Ti = ii
By multiplying both sides of the above equation with
A,
T = iiT(i) = i(i)
i are the Eigenvectors of the covariance matrix
which is denoted by i and eigenvalues i are the
same for the two covariance matrices.
Step 4: A face image can be projected into this face space
by,
Ωk = kTi
Step 5: Test image vector = θt, Mean subtracted image
vector,
t = θt
The test image is projected onto the face space to
obtain a vector,
Ω = kTt
Step 6: The last step is finding the minimum distance
between the test image and the training images. The
face with minimum Euclidian distance shows
similarity to the test image. The distance of test
image Ω to each training image is called the
Euclidean distance and is defined by,
k2 = || Ω Ωk ||2
By choosing a threshold value α, that is the
maximum acceptable value for known images and
comparing it with the minimum k, test image can be
recognized as known or unknown face.
If k(min) α, the test image is recognized as an
unknown face.
If k(min) < α, the test image is a known face.
C. Internet of Things and Alarm System
Whenever the system detects an unknown person, the image
of the unknown is uploaded to a remote webserver, an email
is sent to the owner/client and at the same time the
microprocessor commands the microcontroller to trigger the
buzzer [12], which acts as the alarm system. The alarm beeps
with 0.25 second delay between two consequent beeps. This
beeping continues for 10 seconds and then it stops
automatically.
The web address of the system is sss.embeddedfahim.com,
which is hosted on the aforementioned remote server. The
uploaded image is retrieved and displayed on the homepage.
The email that is sent to the owner/client, also contains a link
to the image. Upon visiting the link, the owner is taken to the
login page. From there the homepage can be accessed after
typing in the required credentials, i.e. username and
password. The credentials can be collected from the system
administrator.
Additionally, the website contains two buttons which can be
used to open and close the door remotely, from anywhere
around the world. These buttons each hold a value and the
value is passed on to a text file placed inside the server. The
microprocessor has an infinite loop running inside it, which
continuously checks the value inside this text file. As soon as
the buttons are pressed the value stored inside the text file is
updated and the microprocessor detects the updated value and
commands the microcontroller to open or close the door
accordingly. The microcontroller then generates appropriate
signals to rotate the servos which are attached to the door.
Fig. 4: Partial Python Code (For Web Control).
Fig. 5: System Algorithm Flowchart.
IV. HARDWARE COMPONENTS
The main controller of the system is the single board
computer Raspberry Pi 3 [13]. In other words, it’s the brain
of the system. An Arduino Uno [14] has been used to assist
the Pi with handling sensors, servo motors and other
electronic components. The Arduino Uno [14] has a logic
level of 5V whereas the Raspberry Pi [13] has a logic level of
3.3V, which some modules and sensors don’t accept.
Moreover, the Arduino Uno [14] can generate powerful Pulse
Width Modulation (PWM) signals which are required to
control the servo motors [15], the Pi can also generate PWM
signals but adjusting the duty cycle [16] with the Pi is slightly
inefficient.
Fig. 6: Raspberry Pi 3 Model B.
Fig. 7: Different PWM Signals for Servo Control.
A custom-built 5V Lithium-Ion rechargeable power
supply has been used to power the system. Two 2000 mAh
18650 Li-Ion batteries [17] have been used in parallel in the
power supply. The 3.7V of the batteries is further boosted in
the Battery Management System (BMS) [18]. It has 5V
output and can deliver 4A of current at any instance through
two channels, 2A per channel. One channel provides power
to the servo motors, buzzer and the 20x4 LCD [19]. The Pi
needs steady voltage to operate thus it is given power through
a separate channel of the power supply. The servo motors,
buzzer and the LCD, all require 5V to perform properly. So,
all of them are given 5V. The Arduino Uno [14] is connected
to the Raspberry Pi [13] via an USB A-to-B cable, hence it
receives 5V directly from the Pi. The BMS has its own
voltage regulators on each channel so additional voltage
regulation wasn’t required.
Fig. 8: Raspberry Pi Camera Module (5 MP).
There is a button which works as the shutter for the camera.
It is connected to the Pi through a pull-down resistor [20] and
thus receives power directly from the Pi. The 5 MP camera
module [21] is powered through the Camera Serial Interface
(CSI) port on the Raspberry Pi [13]. Two 1-Watt LEDs [22]
have been used for additional brightness while capturing
images. These LEDs are driven by two BC547 N-P-N Bipolar
Junction Transistors (BJT). In average, the total power
consumption of the system is around 5W. The used power
supply can handle the load flawlessly. The system can run on
batteries for 4 hours straight in case of power failure. The
Battery Management System (BMS) [18] automatically
switches to live power from the power adapter when
electricity comes on.
Fig. 9: Connection Diagram.
V. SOFTWARE AND COMMUNICATION
The Viola-Jones face detection algorithm and the
Eigenfaces algorithm, both are pre-included in Intel’s
OpenCV [23] library, which is offered in multiple
programming languages, including Python [24]. The official
programming language for the Raspberry Pi [13] is also
Python [24]. As such, Python [24] was used to program the
Pi.
At first, OpenCV [23] was compiled and installed on the Pi.
After that it was imported as a module in the Python [24]
code. There are separate code segments for training and
evaluation. The input images were captured through the
camera module by pressing the shutter button, which is
connected directly to the Pi.
In the database folder, 50 different face images of 10 different
people were used as the training images. While constructing
the database, the captured images are cropped by the face
detection module in order to obtain only the facial parts of
captured images with different directions. For instance, 5
images of a person with different face directions are shown in
figure 10. We trained the machine to treat these images as
positive, i.e. the face in these images will be considered as the
face of a known person.
Fig. 10: 5 Images of a Single Person (Positive).
We also trained the machine with 400 negative images, all
obtained from the AT&T Laboratories Cambridge face
database [25].
Fig. 11: 5 Images of a Single Person (Negative).
All training images are cropped and converted to 92x112
grayscale images by using crop and “cvtColor” built-in
functions of OpenCV [23]. Mean centered (or subtracted)
images are evaluated by subtracting average image from the
original training images. The eigenvectors corresponding to
the covariance matrix define the Eigenfaces, which look like
ghostly faces. Since 50 positive training images are used, 50
positive Eigenfaces are generated, which are then
superimposed on each other. Eigenfaces of the training
images are shown in figure 13.
Fig. 12: Partial Python Code (Image Crop & Conversion).
Fig. 13: Positive Eigenface (leftmost), Negative Eigenface (middle)
& Mean Eigenface (rightmost).
The Arduino Uno [14] was programmed in the Arduino
language (a subset of C++) for ease of programming.
Server-side programming is done using PHP [26] and the
website is written using HTML [27] and CSS [28]. Several
PHP [26] scripts are placed inside the server which handle
different things. For example, the text file containing the
value from the web buttons is handled by a PHP [26] script
which extracts the value from the text file and passes it on to
the Pi when the Pi sends a request to the server. Owner/client
credentials are stored inside a MySQL [29] database, which
is also located inside the server. Photo of the unknown person
is uploaded using the FTPLIB [30] module and email is sent
using the SMPTPLIB [31] module of the Python language. A
separate email account is associated with the system, which
is created using Gmail.
Fig. 14: Partial PHP Code.
FCC standards and regulations were followed regarding
the communication between the prototype and the internet. A
2.4 GHz Wi-Fi Router [32] has been used to transfer images
from the prototype to the server and control signals from the
server to the prototype. The onboard Wi-Fi module of the
Raspberry Pi [13] which connects to the Wi-Fi router [32],
was used to transmit data to the server and receive control
signals from the server. IEEE 802.11 b/g/n wireless standard
[33] was utilized in all the network components.
VI. OBSERVATIONS AND EXPERIMENTS
Several experiments were conducted to ensure proper
functionality of the system. This helps to accurately
determine the future complications that may occur in actual
field. There were two tasks that needed to be tested. First one
is automatic door opening for a known person and the second
one is the triggering of the alarm system, image upload and
email notification for an unknown person. The prototype
showed a descent success rate in all aspects when tested.
For testing purpose, we used different configurations of the
system. Two of the most important variables in the
configuration were the minimum-neighbors threshold and the
detection threshold. There are also two other parameters for
face recognition in OpenCV’s [23] built-in haar classifier and
face recognizer functions; scale increase rate and minimum
detection scale.
The minimum-neighbors threshold is the value which sets the
cutoff level for discarding or keeping rectangle groups as
“face” or “non-face”, based on how many raw detections are
in the group. This parameters value ranges from 0 to 10, as
set by the face.detect_single built-in function of OpenCV
[23]. We have set this value to 8, i.e. we only want an object
to be marked as a face if it has 80% probability of being a
“face”. If we set minimum-neighbors to a value n, then the
face detector will mark an object as a face in any image if
and only if there is a group of n rectangles (hits) identifying
it as a face.
Detection threshold is the maximum value of the Euclidean
distance between the database image and input image. It
indicates the amount of difference between the test image and
the mean image.
Minimum detection scale is the parameter in the call to
DetectHaarCascade built-in function. It is the size of the
smallest face to search for. We have set it to 25x25, which
gives us the best results. A good rule of thumb is to use some
fraction of your input image's width or height as the minimum
scale, for example, 1/4th of the image width. If one specifies
a minimum scale other than the default, its aspect ratio (the
ratio of width to height) must be the same as the defaults, i.e.,
the aspect ratio should be 1:1.
Scale increase rate is the parameter in the call to
DetectHaarCascade function which specifies how quickly
OpenCV [23] should increase the scale for face detections
with each pass it makes over an image. Setting this higher
makes the detector run faster (by running fewer passes), but
if it's too high, the machine may jump too quickly between
scales and miss faces. The default in OpenCV [23] is 1.1, in
other words, scale increases by a factor of 1.1 (10%) after
each pass. This parameter may have a value of 1.1, 1.2, 1.3 or
1.4. We have set it to 1.2, which means it will run a moderate
number of passes, thus the face detection will be accurate as
well as fast. The lower the value, the more "thoroughly" haar-
detector will check the image for a face, but naturally, will
take more time.
As mentioned earlier, a database of 10 individuals was
created, where 5 images of each person were stored. For
simulation, we tested the face recognition system for 10
known people and 5 unknown people. The observations were
carried out in artificial fluorescent lighting conditions.
Subjects were asked to show their faces 10 times before the
camera for each threshold value. Some of the results obtained
were as follows:
TABLE I. KNOWN PERSON 1
Threshold
Correct
recognition
False
recognition
Not
recognized
1350
9
0
1
1400
9
0
1
1450
8
0
2
1500
10
0
0
1550
10
0
0
1600
9
1
0
1650
7
3
0
1700
5
5
0
TABLE II. KNOWN PERSON 2
Threshold
Correct
recognition
False
recognition
Not
recognized
1350
2
0
8
1400
4
0
6
1450
7
0
3
1500
9
0
1
1550
9
0
1
1600
9
1
0
1650
7
3
0
1700
5
5
0
TABLE III. KNOWN PERSON 3
Threshold
Correct
recognition
False
recognition
Not
recognized
1350
4
0
6
1400
5
0
5
1450
6
0
4
1500
9
0
1
1550
8
0
2
1600
9
1
0
1650
7
3
0
1700
6
4
0
TABLE IV. UNKNOWN PERSON
Correct
recognition
False recognition
10
0
10
0
10
0
10
0
10
0
9
1
7
3
6
4
It can be observed from the tables above that, the most
promising threshold value is 1500. So, we used the value
1500 in our configuration which gave us an average
recognition accuracy of 95%.
Fig. 15: Top View of the Prototype.
Fig. 16: Door Opened for Known Person.
Fig. 17: Email Notification.
VII. ADVANTAGES
The main advantage of this system is that it’s very small
in size and lightweight, thus can be easily integrated into
wooden/metal doors. It has a good recognition rate with 95%
accuracy and the recognition time is less than 0.5 second. It’s
extremely power efficient requiring only 5 watts of power to
operate. Low power consumption enables the system to run
on batteries for hours at a stretch in case of power failure.
Also, it costs only around 80 USD (including web hosting &
domain cost for 1 year) to build this system with the current
facilities. The low cost and long battery life increase usability
and overall efficiency.
The aim of this system is to assist people in maintaining
security in their homes, offices and other important places.
The system can efficiently manage the entry of people at a
particular place and with the help of IoT it can also
materialize remote controlling of entrances. Also, it saves
valuable time of people and reduces the hassles of the security
guards and staff, increasing the degree of security.
VIII. AREAS OF FURTHER DEVELOPMENT
As this is only the first prototype of the system, there is
a lot of room for improvements. For instance, there is no
Graphical User Interface (GUI) for the system on the Pi. So,
a user-friendly Graphical User Interface (GUI) will be
developed using Python [24] in the future. Furthermore, the
Eigenfaces algorithm may be replaced with a more efficient
face recognition algorithm such as the Fisherface algorithm
[34]. Addition of GSM/GPRS module would make the
system self-reliant in terms of communication. Addition of a
fingerprint sensor and Radio Frequency Identification (RFID)
module would further increase the level of security and
precision. Night vision camera module will increase the
efficiency of recognition in dark environments.
IX. CONCLUSION
In this modern era, machine learning and IoT have
become two of the most prominent fields which have made
our lives easier, safer and efficient through variety of their
applications. In almost every aspect of our daily life, we can
see the benefits of these fields. However, our effort was to
develop a helping hand for maintaining security at important
places. We used Viola-Jones algorithm to detect faces and
Eigenfaces algorithm to recognize people. Faces were
extracted out of images and the machine was trained with
some positive and negative images. We then successfully
tested the system with different configurations and different
known and unknown people. The test results were recorded
and we achieved 95% accuracy in recognition in fluorescent
lighting conditions. Lastly, areas of further development were
discussed. As there is no end of perfection, with more
resources and logistics support plus keen observation of its
performance on different sectors, the scope of improvement
of the system is still on table.
X. ACKNOWLEDGEMENT
The authors of this paper would like to express profound
gratitude to the Department of Computer Science and
Engineering, Daffodil International University, Dhaka,
Bangladesh for their endorsement. Without their support, we
could never pursue such a complicated project.
REFERENCES
[1] Paul Viola, Michael J. Jones, Robust Real-Time Face Detection,
published on the International Journal of Computer Vision 57(2), 2004.
[2] M. A. Turk and A. P. Pentland, Face Recognition Using Eigenfaces”,
published on the IEEE Computer Society Conference on Computer
Vision and Pattern Recognition, CVPR 91, pages 586 - 591, 1991.
[3] Hteik Htar Lwin, Aung Soe Khaing, Hla Myo Tun, “Automatic Door
Access System Using Face Recognition”, published on the
International Journal of Scientific & Technology Research (IJSTR),
Volume 4, Issue 06, June 2015, pages 294 299, ISSN: 2277-8616.
[4] de Leeuw, Karl; Bergstra, January 2007. The History of Information
Security: A Comprehensive Handbook. Amsterdam: Elsevier. pp.
264265. ISBN: 9780444516084.
[5] Ole Helvig Jensen, “Implementing the Viola-Jones Face Detection
Algorithm”, 2008.
[6] Daniel Georgescu, “A Real-Time Face Recognition System Using
Eigenfaces”, published on the Journal of Mobile, Embedded and
Distributed Systems, vol. III, no. 4, 2011.
[7] Liton Chandra Paul, Abdulla Al Sumam, Face Recognition Using
Principal Component Analysis Method”, published on the International
Journal of Advanced Research in Computer Engineering & Technology
(IJARCET), Volume 1, Issue 9, November 2012.
[8] Shervin Emami, Valentin Petruț Suciu, “Facial Recognition using
OpenCV, published on the Journal of Mobile, Embedded and
Distributed Systems, vol. IV, no. 1, 2012, ISSN 2067 4074.
[9] I.Yugashini, S. Vidhyasri, K. Gayathri Devi, Design and
Implementation of Automated Door Accessing System with Face
Recognition, International Journal of Science and Modern Engineering
(IJISME), Volume-1, Issue-12, November 2013.
[10] Prathamesh Timse, Pranav Aggarwal, Prakhar Sinha and Neel Vora,
“Face Recognition Based Door Lock System Using OpenCV and C#
with Remote Access and Security Features”, published on the
International Journal of Engineering Research and Applications, Vol.
4, Issue 4 (Version 6), April 2014, pp.52-57, ISSN: 2248-9622.
[11] Ayushi Gupta, Ekta Sharma, Neha Sachan and Neha Tiwari, “Door
Lock System through Face Recognition Using MATLAB”, published
on the International Journal of Scientific Research in Computer Science
and Engineering, Vol-1, Issue-3, 30 June 2013.
[12] “Buzzer,’ Last accessed on February 1, 2019, at 12:00:00PM [Online].
Available: https://www.techshopbd.com/product-
categories/buzzers/177/buzzer-techshop-bangladesh/
[13] “Raspberry Pi,” Last accessed on February 1, 2019, at 12:05:00PM
[Online]. Available: https://www.raspberrypi.org/products/raspberry-
pi-3-model-b/
[14] “Arduino Uno,” Last accessed on February 1, 2019, at 12:10:00PM
[Online]. Available: https://www.arduino.cc/en/Guide/ArduinoUno
[15] “Servo Motor,” Last accessed on February 1, 2019, at 12:15:00PM
[Online]. Available: https://www.techshopbd.com/product-
categories/motors/1337/servo-motor-mg996-techshop-bangladesh
[16] Barrett, Steven Frank; Pack, Daniel J. (2006). “Microcontrollers
Fundamentals for Engineers and Scientists”. Morgan and Claypool
Publishers. pp. 5164. ISBN 1-598-29058-4.
[17] “2000 mAh 18650 Li-Ion Battery,” Last accessed on February 1, 2019,
at 12:20:00PM [Online]. Available:
https://www.rcproductbd.com/product/li-po-18650-battery-3-7v-
2000mah-capacity-tasted/
[18] Battery Management System,” Last accessed on February 1, 2019, at
12:25:00PM [Online]. Available: https://www.allmartbd.com/5v-2a-
power-bank-board.html
[19] “20x4 LCD,” Last accessed on February 1, 2019, at 12:30:00PM
[Online]. Available: https://www.allmartbd.com/lcd2004-5v-blue-
backlight.html
[20] Pull-down resistor,” Last accessed on February 1, 2019, at
12:35:00PM [Online]. Available: https://grantwinney.com/using-
pullup-and-pulldown-resistors-on-the-raspberry-pi/
[21] “Camera Module,” Last accessed on February 1, 2019, at 12:40:00PM
[Online]. Available:
http://bdspeedytech.com/index.php?route=product/product&product_i
d=1878
[22] “1-watt LED,” Last accessed on February 1, 2019, at 12:45:00PM
[Online]. Available: https://components101.com/diodes/1-watt-led
[23] “OpenCV,” Last accessed on February 1, 2019, at 12:50:00PM
[Online]. Available: https://docs.opencv.org/2.4.13.7/
[24] “Python,” Last accessed on February 1, 2019, at 12:55:00PM [Online].
Available: https://docs.python.org/2/index.html
[25] AT&T Laboratories Cambridge face database,” Last accessed on
February 1, 2019, at 01:00:00PM [Online]. Available:
https://www.cl.cam.ac.uk/research/dtg/attarchive/facedatabase.html
[26] “PHP,” Last accessed on February 1, 2019, at 1:05:00PM [Online].
Available: http://php.net/manual/en/
[27] “HTML,” Last accessed on February 1, 2019, at 1:10:00PM [Online].
Available: https://devdocs.io/html/
[28] “CSS,” Last accessed on February 1, 2019, at 1:15:00PM [Online].
Available: https://developer.mozilla.org/en-US/docs/Web/CSS
[29] “MySQL,” Last accessed on February 1, 2019, at 1:20:00PM [Online].
Available: https://dev.mysql.com/doc/
[30] “FTPLIB,” Last accessed on February 1, 2019, at 1:25:00PM [Online].
Available: https://docs.python.org/2/library/ftplib.html
[31] “SMTPLIB,” Last accessed on February 1, 2019, at 1:30:00PM
[Online]. Available: https://docs.python.org/2/library/smtplib.html
[32] “Wi-Fi Router,” Last accessed on February 1, 2019, at 1:35:00PM
[Online]. Available: https://ryanscomputers.com/network/router/tp-
link-tl-wr840n-v2-300mbps-router.html
[33] “IEEE 802.11 b/g/n Standard,” Last accessed on February 1, 2019, at
1:40:00PM [Online]. Available:
https://www.webopedia.com/TERM/8/802_11.html
[34] “Fisherface Algorithm,” Last accessed on February 1, 2019, at
1:45:00PM [Online]. Available:
http://www.scholarpedia.org/article/Fisherfaces
... Safes with traditional security systems such as analog locks in analog safes and pin locks in digital safes are not enough. Adding a layer of security such as a security camera can prevent or reduce the chance of a safe being stolen by using face recognition (Faisal & Hossain, 2019). However, face detection is sometimes challenging because some of the characteristics of human faces are unstable, due to the position of the face, the distance of the face from the camera, lighting and using attributes such as hats and glasses that affect the detection accuracy. ...
Article
Full-text available
Face recognition is widely used in various applications, especially in the field of surveillance and security systems. This study aims to design and build a safe security system using face recognition via camera based on internet of things. This system uses the Raspberry Pi 3B and the OpenCV library as face recognition data processing which produces output on the Selenoid to open and close the safe, LCD 16x2 to display system status, IoT-based email delivery when smugglers occur. This study performs face recognition through the face detection stage using the Viola Jones method, feature extraction using the PCA (Principal Component Analysis) method and face recognition, then matched with the existing profile data in the directory. The results of this study indicate that the safe is open when a face is detected and will send a face capture to the e-mail address of the owner’s safe if the detected face is not recognized. Tests carried out on the safe security system using face recognition based on IoT build reach validity 90,25%.
... Raspberry Pi [9] is widely used by many researchers on designing and implementing PCA face recognition. [10] enhanced the smart home security system. ...
Article
Full-text available
Door lock provides numerous benefits and has become indispensable in daily life as it acts as a security guard to prevent burglars and protect home belonging safely. The unlock methods of existing door lock system widely use keys and thumbprint involve touching the object may cause the spread of COVID-19. In this paper, a computer vision based security door lock system using Raspberry Pi (called SAFE) is proposed. Haar-Cascade classifier is employed as face detection classifier, while Local Binary Pattern Histogram (LBPH) is proposed as face recognition classifier. Recognition result is processed based on the usage of user to provide insights of SAFE. The accuracy of SAFE using pre-trained LBPH classifier achieves average of 86% based on the data obtained. The recognition speed outperforms existing work using principal component analysis and eigenfaces.
... Within the designated area guarded by CCTV cameras, the system is capable of detecting an intruder [14]. And recently, Faisal, F, and Hossain, S A developed IoT based intelligent security system using face recognition to unlock the door [15]. ...
Article
Home surveillance systems are still challenging, particularly for patrolling or tracking subjects through CCTV images despite recent developments. Therefore, it is crucial to instantly identify human faces based on captured facial images in protection and surveillance. Identification of people, intrusion detection, and follow up access control of objective sites are examples of applications of such systems. This paper represented a cost-efficient real-time facial recognition-based surveillance system for home and small offices using raspberry pi and computer vision. In the application, first, the system tracks the detected individuals' faces in the frame and only focuses on the image content in these facial regions. Then, a powerful algorithm for recognising detected faces is used using a pre-provided face database. For the implementation in this paper, the most common Haar Cascade and Local Binary Pattern Histogram (LBPH) algorithms are used for facial detection and recognition. The system works perfectly in normal lighting conditions with accepted accuracy.
Chapter
Home security systems play a predominant role in the modern era. The purpose of the security systems is to protect the members of the family from intruders. The main idea behind these systems is to provide security for residential areas. In today's world, securing our home plays a major role in society. Surveillance from homes to huge industries, plays a significant role in making us feel secure. There are many machine learning algorithms for home security systems but the Haar‐cascade classifier algorithm gives a better result when compared with other machine learning algorithms. This system implements face recognition and face detection using Haar‐cascade classifier algorithm; OpenCV libraries are used for training and testing of the face detection process. In the future, face recognition will be used everywhere in the world. It is creating magic in every field with its advanced technology. A visitor/intruder monitoring system using machine learning is used to monitor the person and find out whether the person is known or unknown based on the captured picture. Here, local binary pattern histogram (LBPH) face recognizer is used. After capturing the image, it is compared with the available dataset, then the respective name and picture is sent to the specified email to alert the owner.
Article
Full-text available
This paper mainly addresses the building of face recognition system by using Principal Component Analysis (PCA). PCA is a statistical approach used for reducing the number of variables in face recognition. In PCA, every image in the training set is represented as a linear combination of weighted eigenvectors called eigenfaces. These eigenvectors are obtained from covariance matrix of a training image set. The weights are found out after selecting a set of most relevant Eigenfaces. Recognition is performed by projecting a test image onto the subspace spanned by the eigenfaces and then classification is done by measuring minimum Euclidean distance. A number of experiments were done to evaluate the performance of the face recognition system. In this thesis, we used a training database of students of Electronics and Telecommunication Engineering department, Batch-2007, Rajshahi University of Engineering and Technology, Bangladesh.
Article
Full-text available
The growing interest in computer vision of the past decade. Fueled by the steady doubling rate of computing power every 13 months, face detection and recognition has transcended from an esoteric to a popular area of research in computer vision and one of the better and successful applications of image analysis and algorithm based understanding. Because of the intrinsic nature of the problem, computer vision is not only a computer science area of research, but also the object of neuro-scientific and psychological studies, mainly because of the general opinion that advances in computer image processing and understanding research will provide insights into how our brain work and vice versa. Because of general curiosity and interest in the matter, the author has proposed to create an application that would allow user access to a particular machine based on an in-depth analysis of a person's facial features. This application will be developed using Intel's open source computer vision project, OpenCV and Microsoft's .NET framework.
Article
Full-text available
A real-time system for recognizing faces in a video stream provided by a surveillance camera was implemented, having real-time face detection. Thus, both face detection and face recognition techniques are summary presented, without skipping the important technical aspects. The proposed approach essentially was to implement and verify the algorithm Eigenfaces for Recognition, which solves the recognition problem for two dimensional representations of faces, using the principal component analysis. The snapshots, representing input images for the proposed system, are projected in to a face space (feature space) which best defines the variation for the face images training set. The face space is defined by the 'eigenfaces' which are the eigenvectors of the set of faces. These eigenfaces contribute in face reconstruction of a new face image projected onto face space with a meaningful (named weight).The projection of the new image in this feature space is then compared to the available projections of training set to identify the person using the Euclidian distance. The implemented system is able to perform real-time face detection, face recognition and can give feedback giving a window with the subject's info from database and sending an e-mail notification to interested institutions.
Article
Full-text available
This paper describes a face detection framework that is capable of processing images extremely rapidly while achieving high detection rates. There are three key contributions. The first is the introduction of a new image representation called the Integral Image which allows the features used by our detector to be computed very quickly. The second is a simple and efficient classifier which is built using the AdaBoost learning algorithm (Freund and Schapire, 1995) to select a small number of critical visual features from a very large set of potential features. The third contribution is a method for combining classifiers in a cascade which allows background regions of the image to be quickly discarded while spending more computation on promising face-like regions. A set of experiments in the domain of face detection is presented. The system yields face detection performance comparable to the best previous systems (Sung and Poggio, 1998; Rowley et al., 1998; Schneiderman and Kanade, 2000; Roth et al., 2000). Implemented on a conventional desktop, face detection proceeds at 15 frames per second.
Chapter
Objectives: After reading this chapter, the reader should be able to Compute the frequency and the period of a periodic signal using a microcontroller. Explain functional components of a microcontroller timer system. Describe the procedure to capture incoming signal events. Describe the procedure to generate time critical output signals. Design an embedded system to interface a microcontroller with external devices requiring time critical signals.
Conference Paper
An approach to the detection and identification of human faces is presented, and a working, near-real-time face recognition system which tracks a subject's head and then recognizes the person by comparing characteristics of the face to those of known individuals is described. This approach treats face recognition as a two-dimensional recognition problem, taking advantage of the fact that faces are normally upright and thus may be described by a small set of 2-D characteristic views. Face images are projected onto a feature space (`face space') that best encodes the variation among known face images. The face space is defined by the `eigenfaces', which are the eigenvectors of the set of faces; they do not necessarily correspond to isolated features such as eyes, ears, and noses. The framework provides the ability to learn to recognize new faces in an unsupervised manner
Automatic Door Access System Using Face Recognition
  • Aung Hteik Htar Lwin
  • Hla Soe Khaing
  • Myo Tun
Hteik Htar Lwin, Aung Soe Khaing, Hla Myo Tun, "Automatic Door Access System Using Face Recognition", published on the International Journal of Scientific & Technology Research (IJSTR), Volume 4, Issue 06, June 2015, pages 294 -299, ISSN: 2277-8616.
Design and Implementation of Automated Door Accessing System with Face Recognition
  • I Yugashini
  • S Vidhyasri
  • K Devi
I.Yugashini, S. Vidhyasri, K. Gayathri Devi, Design and Implementation of Automated Door Accessing System with Face Recognition, International Journal of Science and Modern Engineering (IJISME), Volume-1, Issue-12, November 2013.
Face Recognition Based Door Lock System Using OpenCV and C# with Remote Access and Security Features
  • Prathamesh Timse
  • Pranav Aggarwal
  • Prakhar Sinha
  • Neel Vora
Prathamesh Timse, Pranav Aggarwal, Prakhar Sinha and Neel Vora, "Face Recognition Based Door Lock System Using OpenCV and C# with Remote Access and Security Features", published on the International Journal of Engineering Research and Applications, Vol. 4, Issue 4 (Version 6), April 2014, pp.52-57, ISSN: 2248-9622.