You are on page 1of 18

Table Of Contents

Topic Page No.

1. Introduction, Objective & Scope 2-3

2. Review of Literature 4

3. Materials & Methods (Technical Details) 5-10

3.1 Project Category 5

3.2 Techniques To Be Used 5-7

3.3 Hardware and Software Resource Requirements and their Specifications 7-10

4. Proposed Methodology 11-13

4.1 Proposed Algorithm/ Software Code 11

4.2 System Architecture & Flow Chart 11-12

4.3 Software Implementation 12-13

5. Testing Technologies and Security Mechanisms 14-15

6. Future scope and Limitations 16

7. Conclusion 17

8. Bibliography 18

1. References 18

1
Introduction, Objective & Scope

In today’s world security is very much important for the well being of human and to

overcome from any crime. When we talk about security the first thing that comes in our mind

is the video surveillance. When looking at video surveillance systems, you will most likely

come across the term CCTV. CCTV stands for Closed-Circuit TeleVision and refers mainly to
the idea that the video footage is sent over a single channel with a dedicated set of wires
(circuit) feeding into a monitor or recording device – creating what is essentially a closed
circuit. Rather than being broadcast publicly for all to see, any cameras, monitors or recorders
used are communicating via a single wired or wireless connection, with no other outside
connections or observers.
In China, government uses “Face Recognition CCTV Camera System” to detect criminals.
They use CCTV surveillance system that are fitted in the street and had a face recognition
system that detect the face of the person that face data has been stored in the database of the
system. The hardware part consists of a CCTV camera, while the software part consists of
face-detection and face-recognition algorithms software. The camera detects the face for
which it has been designed at a particular time it alerts the nearby police station that the
particular person has been found at that locality. Their “Face Recognition CCTV Camera
System” are used to detect the face of the person which is already stored in the database and
alert the nearby police station but these CCTV camera costs a lot more expensive which is
not affordable by everyone so we are going to make some changes and build it up at a low
cost comparatively to those of China CCTV camera system.
We are going to build up the “Face Recognition CCTV Camera” which has been used to
detect an unfamiliar face which has been not stored in the database of the security system.
Here we are going to stored the faces of the people who are allowed to come where this
security system going to be installed.
In the range of camera zone, when a person will enter a series of snapshots will be taken by
the camera and will send it to the software to be analyse and compare with an existing
database of trusted people and if the person will not be recognised then the system will send
an SMS to the registered user whose mobile number has been stored inside the system that

2
“An intrusion has been detected in the zone where the camera has been installed”. And it will
also start the burglar alarm that has been the integral part of this security system.

The main aim of this project is to detect intrusion and to increase the security in isolated area.
The main idea of this project is to detect the intruders where there is limited number of
people are allowed to enter i.e bank lockers, scientist research lab etc. It is very much cost
effective rather than the normal Face Recognition CCTV Camera available in the market as
well as it has a GSM module to alert the owner which is not available in normal Face
Recognition CCTV Camera.

3
Review of Literature

• Face Recognition Security System (CISSE 2013)

This paper gives high importance on security using face recognition system. It gives
us many features on software along with hardware to use facial recognition system for
security.

• Security System Based On Facial Recognition Using Arduino (IJAREEIE 2017)

This paper deals with the advance security system in automotive using face
recognition system with arduino.

• Face Search In CCTV Surveillance (Springer 2019)

This paper present a series of experiments on visual search in a highly complex


environment, security closed-circuit television (CCTV). Using real surveillance footage from
a large city transport hub, in which viewers are able to search for target individuals from the
video of CCTV.

4
Materials & Methods

3.1 Project Category

Our proposed work is a software embedded module consists of various units that
make up the system: the power supply unit, the arduino uno R3, display unit, buzzer unit and
GSM Modem. A micro-controller under the brand name of Arduino Uno will be used to keep
looking for the output from the infrared CCTV Camera and it will match the faces that falls
in the range of CCTV Camera. The GSM module will be attached to the micro-controller and
as soon as the unknown face detects by the CCTV, the GSM module will send a text message
to the registered mobile number. After sending the text message it will start the buzzer alarm
that will be attached to the micro-controller. The Arduino Uno sketch which is the
environment for programming is used to write the code, compile, generate hex file and load it
to the micro-controller.

3.2 Techniques To Be Used

Face Recognition :

There has been a rapid development of the reliable face recognition algorithms in the
last decade. The traditional face recognition algorithms can be categorised into two
categories: holistic features and local feature approaches. The holistic group can be
additionally divided into linear and nonlinear projection methods. Many applications have
shown good results of the linear projection appearance-based methods such as principal
component analysis (PCA), independent component analysis (ICA), linear discriminate
analysis (LDA) , 2DPCA and linear regression classifier (LRC). However, due to large
variations in illumination conditions, facial expression and other factors, these methods may
fail to adequately represent the faces. The main reason is that the face patterns lie on a
complex nonlinear and non-convex manifold in the high-dimensional space.

In order to deal with such cases, nonlinear extensions have been proposed like kernel PCA
(KPCA), kernel LDA (KLDA) or locally linear embedding (LLE). The most nonlinear
methods using the kernel techniques, where the general idea consists of mapping the input

5
face images into a higher-dimensional space in which the manifold of the faces is linear and
simplified. So the traditional linear methods can be applied. Although PCA, LDA and LRC
are considered as linear subspace learning algorithms, it is notable that PCA and LDA
methods focus on the global structure of the Euclidean space, whereas LRC approach focuses
on local structure of the manifold.

These methods project face onto a linear subspace spanned by the eigenface images. The
distance from face space is the orthogonal distance to the plane, whereas the distance in face
space is the distance along the plane from the mean image. These both distances can be
turned into Mahalanobis distances and given probabilistic interpretations.

Following these, there have been developed: KPCA, kernel ICA and generalised linear
discriminant analysis.

Despite strong theoretical foundation of kernel-based methods, the practical application of


these methods in face recognition problems, however, does not produce a significant
improvement compared with linear methods. Another family of nonlinear projection methods
has been introduced. They inherited the simplicity from the linear methods and the ability to
deal with complex data from the nonlinear ones. Among these methods, it is worth to
underline: LLE and locality preserving projection (LPP). They produce a projection scheme
for training data only, but their capability to project new data items is questionable.

In the second category, local appearance features have certain advantages over holistic
features. These methods are more stable to local changes such as expression, occlusion and
misalignment. The common representative method names local binary patterns (LBPs). The
neighbouring changes around the central pixel in a simple but effective way are described by
LBP. It is invariant monotonic intensity transformation and supports small illumination
variations. Many LBP variants are proposed to improve the original LBP such as histogram
of Gabor phase patterns and local Gabor binary pattern histogram sequence. Generally, the
LBP is utilised to model the neighbouring relationship jointly in spatial, frequency and
orientation domains.

6
It allows to explore efficiently discriminant and robust information in the pattern. Further
development of the mentioned subspace approaches represents discriminant common vectors
(DCVs) approach. The DCV method collects the similarities among the elements in the same
class and drops their dissimilarities. Thus, each class can be represented by a common vector
computed from the within scatter matrix.

In case of testing an unknown face, the corresponding feature vector is computed and
associated to the class with the nearest common vector. Sometimes, kernel discriminative
common vectors or improved discriminative common vectors and support vector machine
(SVM) are introduced for the face recognition task.

Similarly to the LLE method, neighbourhood preserving projection (NPP) and orthogonal
NPP (ONPP) are introduced in. These approaches preserve the local structure between
samples. To reflect the intrinsic geometry of the local neighbourhoods, they use data-driven
weights by solving a least-squares problem. ONPP forces the mapping to be orthogonal and
then solves an ordinary eigenvalue problem. NPP requires solving a generalised eigenvalue
problem, regarding to imposing a condition of orthogonality on the projected data.

However, it is still unclear how to select the neighbourhood size and how to assign optimal
values for other hyper-parameters; for them, sparsity preserving projections and LPPs are
also applied for face recognition.

In, a multi-linear extension of the LDA method called discriminant analysis with tensor
representation is proposed. It is different from preserving projection methods and implements
discriminant analysis directly on the natural tensorial data to preserve the neighbourhood
structure of tensor feature space. Another method of supervised and unsupervised multi-
linear NPP (MNPP) for face recognition is presented in. A survey of multi-linear methods
can be found in. They operate directly on tensorial data rather than vectors or matrices and
solve problems of tensorial representation for multidimensional feature extraction and
recognition. Multiple interrelated subspaces are obtained in the MNPP method by unfolding
the tensor over different tensorial directions. The order of the tensor space determines the
number of subspaces derived by MNPP .

7
3.3 Hardware and Software Resource Requirements and their Specifications

3.3.1 Hardware Requirements:

I. ATmega 328 Microcontroller Unit

The proposed system is built around ATmega328 Arduino Uno microcontroller board.
The unit consists of 14 pins which allows inflow and outflow of feeding (it is possible to use
6 of those pins as Pulse Width Modulation signal outputs), 6 continuous signals with time
changing quantity, 16-megahertz electronic oscillator, a Universal Serial Bus port, a power
connector, an on-board voltage regulator, ICSP header, and a reset button. The Atmega328
has 32 KB flash memory, 2 KB SRAM and 1 KB EEPROM.

II. GSM Unit

The system can correctly send the text message informing to the registered mobile
number informing the intrusion has been detected. GPS module can receive the data by
connected to micro-controller board through RS232 port. GSM modem is a wireless modem
that works with GSM wireless network.

III. Buzzer Unit

The buzzer unit which is used as an alarm which indicates when unknown face is
detected. The buzzer used belongs to the PS series. The PS series are high-performance
buzzers that employ Uni-morph piezoelectric elements and are designed for easy
incorporation into various circuits. They have very low power consumption in comparison to
electromagnetic units. It has a voltage requirement of 2V and is connected to pin 10 of the
micro-controller.

IV. LCD Display Unit

LCD display is used for displaying that unknown face has been detected. The LCD
module also displays that the text has been to the registered mobile number. It also
alphanumeric, kana (Japanese characters) and symbols. It consists of 16 pins (8 data lines, 3

8
control lines, 2 power lines, 1 contrast line and 2 pins for back light LED connection). Data
line and control line are connected to the micro-controller.

V. Infrared CCTV Camera Unit

Infrared security cameras have the capability to capture video in low light and no light (0
Lux) areas. Infrared cameras (IR) are sometimes referred to as IR cameras or “Night
Vision Security Cameras”. This unit is used to record the faces which will come in the range
of CCTV camera and it will send the capture data (faces) to arduino micro-controller so that
the faces are match with the stored faces from the database.

3.3.2 Software Requirements:

I. Embedded C

Embedded C is a set of language extensions for the C programming language by the C


Standards Committee to address commonality issues that exist between C extensions for
different embedded systems. Embedded C programming typically requires nonstandard
extensions to the C language in order to support enhanced microprocessor features such
as fixed-point arithmetic, multiple distinct memory banks, and basic I/O operations.

II. Arduino IDE

The Arduino Integrated Development Environment is a cross-platform application that is


written in functions from C and C++. It is used to write and upload programs to Arduino
compatible boards, but also, with the help of 3rd party cores, other vendor development
boards.The source code for the IDE is released under the GNU General Public License,
version 2. The Arduino IDE supports the languages C and C++ using special rules of code
structuring. The Arduino IDE supplies a software library from the Wiring project, which
provides many common input and output procedures.

III. Express PCB

Express PCB software is a snap to learn and use. For the first time, designing circuit
boards is simple for the beginner and efficient for the professional. ExpressPCB is a CAD

9
(computer aided design) free program designed to help you create layouts for printed
circuit boardson your Windows PC.

IV. NumPy With OpenCV 2 Library

NumPy is a package in Python used for Scientific Computing. NumPy package is


used to perform different operations. The ndarray (NumPy Array) is a
multidimensional array used to store values of same datatype. These arrays are indexed just
like Sequences, starts with zero.
These arrays store the value of the distance between the eyes, nose, mouth and jaw, upper
outlines of the eye sockets, the sides of the mouth, location of the nose and eyes,
and the area surrounding the cheek bones.
OpenCV 2 uses machine learning algorithms to search for faces within a picture or video.
Because faces are so complicated, there isn’t one simple test that will tell you if it found a
face or not. Instead, there are thousands of small patterns and features that must be matched.
The algorithms break the task of identifying the face into thousands of smaller, bite-sized
tasks, each of which is easy to solve. These tasks are also called classifiers. For something
like a face, you might have 6,000 or more classifiers, all of which must match for a face to be
detected (within error limits, of course).

10
Proposed Methodology

4.1 Proposed Algorithm

The software code of this system entirely relies on the architecture on the of the micro-
controller i.e. on the configuration of the pins and I/O slots. The attachable units relate to the
micro-controller and the specified pin number is registered in the code to invoke its
operation. Similarly, the GSM module are connected with the system. The code, upon
compilation start to get the input in the form of hex code and communicate with the Arduino
board and provide the output.

4.2 System Architecture & Flowchart

The flow chart of the system is shown below figure (a). The system algorithm comprises
of three main steps. First is to boot up the system, next step is to record the faces that comes
in the CCTV Camera, this stage detects the face of person which is been seen by the camera.
It then sends the capture data to the micro-controller where the faces are matched by the
stores faces in the database, if the faces are not matched with the faces stored in the database
then the system initiate the intrusion system. It then send the text message to the registered
number informing that the intrusion has been detected. After that it starts the buzzer alarm.

Step 1: Power on the CCTV system.


Step 2: The CCTV camera will capture series of shots as soon as it detect any person’s face in
its range where it has been installed.
Step 3: Then the clicked image will match with the image of the faces store in database.
Step 3.1: If the match will not found with the images stored in database, it will start
the security system commands and send a text message to registered mobile number
indicating that intrusion has been detected.
Step 3.2: The burglar alarm i.e buzzer will start ringing.
Step 4: Else
Step 5: Goto step 1.

11
Start

CCTV Camera will capture


the faces comes in its range

Images capture on CCTV will


match stored faces in database

Is
face Yes
matched

No

Send a text message to


registered number & start
buzzer

Stop

Figure (a)

4.3 Software Implementation

The software design consists of a free running program which manipulates input capture
from the CCTV Camera and programming of the indicating unit, LCD display, alarm unit
along with GSM modem. The program code is written on Arduino sketch and uploaded to

12
ATMEGA328 micro-controller program memory using Arduino Uno development board. The
hex file is generated using the Arduino sketch IDE environment. Below figure (b) shows the
device programming used for this project.

Program written
Translator Program in HEXCODE
in python & C++

A
R
D
System Design & Simulation U
I
N
O

MICROCONTROLLER

Figure (b)

13
Testing Technologies And Security Mechanisms

In our project we will be going to use two tools for the testing of the project that are
as follows:
I. Tessy
II. Klocwork Insight
III. PyChecker

Tessy:
Tessy by Hitex Development Tools is a big player in the embedded software testing
development tools market. Tessy is able to test code written in C and C++ in the embedded
environment. Tessy will be able to find the bugs that are found in the coding of GSM modem.
In our project we are going to program the GSM module with the help of C++ programming
language which will be embedded along with the arduino and burn using Arduino IDE.
Since it is easy-to-install and easy to operate testing tool TESSY guides you through the unit
test workflow from the project setup through the test design and execution to the result
analysis and reporting. TESSY takes additionally care of the complete test organization as
well as the test management, including requirements, coverage measurement, and traceability.

Klocwork Insight:
Klocwork Insight offers popular static testing tools for embedded software
development. It automatically identifies bugs in the code and holes in security systems. It
help "developers create more secure and reliable software by analysing source code on-the-
fly, simplifying peer code reviews, and extending the life of complex software."

PyChecker:
PyChecker is a software development tool used to find programming errors in Python
code. Like a compiler, it performs the static analysis used by less dynamic languages like C/
C++ and Java. Errors are found by examining the structural elements of the code, such as
modules, functions, classes, and executable statements.

14
PyChecker works in a combination of ways. First, it imports each module. If there is an
import error, the module cannot be processed. The import provides some basic information
about the module. The code for each function, class, and method is checked for possible
problems.

15
Future Scope And Limitations

This project can be used in in advance automatic cars in future to offer an advance
security system in automotive. It can be able to provide as a security module in advance
automatic cars in future like Tesla & MG.
It will consists of a face detection system, which detects the face of the unauthorised person
entered into the car, a web camera to capture the images and comparison is done using
MATLAB. The car engine will not start until the face of the driver doesn’t matches with the
stored faces in the database of car system.
If the face doesn’t match then the security system will send a text message to the owner of the
car informing that someone else than the registers driver face is trying to drive the car.

The limitations of this project are as follows:


• It can be only used in the isolated area where only limited persons are allowed to enter in
the CCTV surveillance zone.
• If the face has not been capture from a proper angle by the CCTV camera it may get
problems in matching the face within the database.
• The face only be recognised which are able to scan within the range of camera.
• If there is network issue then the text message is not going to send to the registered number.

16
Conclusion

The innovation of this project will be very much beneficial to the people who are
looking for a cost effective face recognition CCTV security system for their security along
with an embedded GSM module. The proposed idea of this project using embedded system
will works effectively. To reduce the errors in low light areas, we are going to used infrared
CCTV camera. A major advantage of the system is its low cost and ease in installation. Even
after all this, the system suffers from some disadvantages like problems in face detection
majorly due to appearance of people’s face from different angles. Apart from this, the system
can be considered an efficient one and can be used as a security measure for isolated areas.

17
Bibliography

8.1 References

1. FindBiometrics, Facial recognition, [Online]


(Available at: http://findbiometrics.com/solutions/facial-recognition/)
2. Steve Mann, “Intelligent Image Processing”, Wiley-Interscience 2014.
3. https://www.w3schools.com
4. Walter G.Kropatsh, “Digital Image Analysis”, Springer 2013.
5. Wikipedia, [Online]
(Available at: http://en.wikipedia.org/wiki)
6. Bernd Jahne, “Digital Image Processing”, 5th Edition, Springer 2015.
7. https://realpython.com/face-recognition-with-python/

18

You might also like