Professional Documents
Culture Documents
A PROJECT REPORT
B.TECH
in
Information Technology
by
JANUARY 2018
ABSTRACT
Most doors are controlled by persons with the use of keys, security cards,
password or pattern to open the door. The aim of this project is to help users for
improvement of the door security of sensitive locations by using face detection and
recognition. Face is a complex multidimensional structure and needs good
computing techniques for detection and recognition. This project is comprised
mainly of three subsystems: namely face detection, face recognition and automatic
door access control with attendance. Face detection is the process of detecting the
region of face in an image. The face is detected by using the viola jones method and
face recognition is implemented by using the Principal Component Analysis (PCA).
Face Recognition based on PCA is generally referred to as the use of Eigen faces. If
a face is recognized, it is known, else it is unknown.
The door will open automatically for the known person due to the command
of the microcontroller. On the other hand, alarm will ring for the unknown person.
Since PCA reduces the dimensions of face images without losing important
features, facial images for many persons can be stored in the database. Although
many training images are used, computational efficiency cannot be decreased
significantly. Therefore, face recognition using PCA can be more useful for door
security system than other face recognition schemes.
2
INTRODUCTION
3
system is that face recognition does not require to be touched with any hardware.
Face is detected automatically by using face detection technique and the entire face
recognition is completed without touching with any hardware. Face detection is the
first step of the face recognition system. The performance of the entire face
recognition system is influenced by the reliability of the face detection. By using
face detection, it can identify only the facial part of an image regardless of the
background of this image. In this system, Viola-Jones face detection method is
used. Viola-Jonesrescale the detector instead of the input image and run the detector
many times through the image – each time with a different size. Viola-Jones have
devised a scale invariant detector that requires the same number of calculations
whatever the size.
This detector is constructed using a so-called integral image and some simple
rectangular features reminiscent of Haar wavelets. Face recognition commonly
includes feature extraction, feature reduction and recognition or classification. PCA
is an effective feature extraction method based on face as a global feature. It
reduces the dimension of images effectively and holds the primary information at
the same time. In this paper, face recognition system is implemented using PCA
algorithm. Recognition or classification is done by the measure method such as
Euclidean distance, which is used to classify the feature of images present in the
database and test image.
In this system, face detection and recognition are implemented by using MATLAB
installed on PC. USB to RS232 converter is used as the interface between the PC
and 16F887 microcontroller. Edge sensors are used to switch off the motor if the
door reaches one of its two end positions. This switching mainly works with an
algorithm which is loaded in microcontroller and on the basis of serial port data
which is sent by PC after verifying the face.
4
LITERATURE SURVEY
5
Wireless Fingerprint Attendance Management System. This system uses iris
recognition system that does capturing the image of iris recognition, extraction,
storing and matching. But the difficulty occurs to lay the transmission lines in the
places where the quality of topography is poor. In [4] authors have consider a
system based on real time face recognition which is reliable, secure and fast which
needs improvement in different lighting conditions.
Title: Attendance System Using Face Recognition and Class Monitoring System
Year: 2014
Author: Prof. Arun Katara, Mr. Sudesh V. Kolhe , Mr. Amar P. Zilpe , Mr. Nikhil
D. Bhele4 , Mr. Chetan J. Bele
In this paper, we propose a system that takes the attendance of students in the
lecture. This system takes the attendance automatically using face recognition.
However, it is difficult to estimate the attendance exactly using each result of face
recognition independently because the face detection rate is not sufficiently high. In
our paper, we propose a method for estimating the attendance exactly using all the
results of face recognition obtained by continuous observation. Continuous
observation improves the performance for the estimation of the attendance. We
constructed the attendance system based on face recognition, and applied the
system to classroom lecture. In our system, we are using raspberry pi. we use
OpenCv library which is installed in pi for face detection and recognition. The
camera is connected to raspberry pi and student database is stored in the pi. With
the help of this system time will reduce and attendance will be marked. In this paper
first review similar works in the field of attendance system and recognition of face.
Then, it showing our system structure and plan. At the last, experiments are
implemented to provide as manifest to support our plan. The result shows that
6
uninterrupted observation improved the performance for the approximation of the
attendance.
7
IMAGE PROCESSING FUNDAMENTALS
2.1 INTRODUCTION
Digital image processing refers processing of the image in digital form. Modern cameras
may directly take the image in digital form but generally images are originated in optical form.
They are captured by video cameras and digitalized. The digitalization process includes
sampling, quantization. Then these images are processed by the five fundamental processes, at
least any one of them, not necessarily all of them.
Image Enhancement
Image Restoration
Image Analysis
IP
Image Compression
Image Synthesis
10
DETAILED DESIGN
SYSTEM ARCHITECTURE:
LCD
MATLAB
BUZZER
IMAGE PIC
PROCESSING MICRO
CONTROLLER
RELAY
PC
SYSTEM REQUIREMENTS:
HARDWARE REQUIRED:
SOFTWARE REQUIRED:
MATLAB 2015
PIC CCS
11
UML DIAGRAMS
12
CLASS DIAGRAM:
SEQUENCE DIAGRAM:
13
ACTIVITY DIAGRAM:
14
MODULE DESCRIPTION
1. FACE RECOGNITION
A facial recognition system is a computer application capable
of identifying or verifying a person from a digital image or a video
frame from a video source. One of the ways to do this is by comparing
selected facial features from the image and a face database.
It is typically used in security systems and can be compared to
other biometrics such as fingerprint or eye iris
recognition systems.[1] Recently, it has also become popular as a
commercial identification and marketing tool.
4. ALARM INTERFACING
A buzzer is blown when there is a mismatch in the face recognition
system.
15
DETAILED DATABASE DESIGN
16
SOURCE CODE
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
17
% --- Executes just before Main_Face is made visible.
function Main_Face_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to Main_Face (see VARARGIN)
% --- Outputs from this function are returned to the command line.
function varargout = Main_Face_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
18
recog_img = facerecog(datapath,TestImage);
selected_img = strcat(datapath,'\',recog_img);
test_img = imread(TestImage);
axes(handles.axes1);
imshow(test_img);
title('Test Image');
select_img = imread(selected_img);
axes(handles.axes2)
imshow(select_img); title('Recognized Image');
INP1=im2bw(test_img);
INPUT1=im2bw(select_img)
S=corr2(INPUT1,INP1);
S
if S>0.5
uiwait(msgbox('Matched'));
else
uiwait(msgbox('Notmatched'));
end
global img
n=2;
interval=3;
photosave = inputdlg(' Do you want to save the files(y/n): ','Registration Form');
photosave = str2num(photosave{:});
if ~exist(outputFolder, 'dir')
end
obj = videoinput('winvideo', 1);
set(obj, 'ReturnedColorSpace', 'RGB');
disp('First shot will taken after 1 second');
pause(1);
19
for i=1:n
preview(obj)
img=getsnapshot(obj);
closepreview(obj);
if(photosave == 'y')
outputBaseFileName = sprintf('%d.jpg',i);
outputFullFileName = fullfile(outputFolder, outputBaseFileName);
imwrite(img,outputFullFileName,'jpg');
end
pause(interval);
end
n= 5;
outputFolder = fullfile('C:\Users\prince kadiwar\Desktop\New folder (3)\Face recognition real
time\Dataset');
if ~exist(outputFolder, 'dir')
end
for i=1:n
outputBaseFileName= sprintf('%d.jpg',i);
outputFullFileName = fullfile(outputFolder, outputBaseFileName);
imwrite(img,outputFullFileName,'jpg');
axes(handles.axes1);
imshow(img),title('Login Image')
end
global img1
n=2;
interval=3;
photosave = inputdlg(' Do you want to save the files(y/n): ','Registration Form');
photosave = str2num(photosave{:});
if ~exist(outputFolder, 'dir')
end
obj = videoinput('winvideo', 1);
set(obj, 'ReturnedColorSpace', 'RGB');
20
disp('First shot will taken after 1 second');
pause(1);
for i=1:n
preview(obj)
img1=getsnapshot(obj);
closepreview(obj);
if(photosave == 'y')
outputBaseFileName = sprintf('%d.jpg',i);
outputFullFileName = fullfile(outputFolder, outputBaseFileName);
imwrite(img1,outputFullFileName,'jpg');
end
pause(interval);
end
n= 5;
outputFolder = fullfile('C:\Users\prince kadiwar\Desktop\New folder (3)\Face recognition real
time\Database');
if ~exist(outputFolder, 'dir')
end
for i=1:n
outputBaseFileName = sprintf('%d.jpg',i);
outputFullFileName = fullfile(outputFolder, outputBaseFileName);
imwrite(img1,outputFullFileName,'jpg');
axes(handles.axes1);
imshow(img1),title('Registered Image')
end
21
TESTING STRATEGY
SYSTEM TESTING
The purpose of testing is to discover errors. Testing is the process of trying to discover
every conceivable fault or weakness in a work product. It provides a way to check the
functionality of components, sub assemblies, assemblies and/or a finished product It is the process
of exercising software with the intent of ensuring that the
Software system meets its requirements and user expectations and does not fail in an unacceptable
manner. There are various types of test. Each test type addresses a specific testing requirement.
TYPES OF TESTS
Unit testing
Unit testing involves the design of test cases that validate that the internal program
logic is functioning properly, and that program inputs produce valid outputs. All decision
branches and internal code flow should be validated. It is the testing of individual software units
of the application .it is done after the completion of an individual unit before integration. This is a
structural testing, that relies on knowledge of its construction and is invasive. Unit tests perform
basic tests at component level and test a specific business process, application, and/or system
configuration. Unit tests ensure that each unique path of a business process performs accurately to
the documented specifications and contains clearly defined inputs and expected results.
Integration testing
Integration tests are designed to test integrated software components to determine if they
actually run as one program. Testing is event driven and is more concerned with the basic
outcome of screens or fields. Integration tests demonstrate that although the components were
individually satisfaction, as shown by successfully unit testing, the combination of components is
correct and consistent. Integration testing is specifically aimed at exposing the problems that
arise from the combination of components.
22
Functional test
Functional tests provide a systematic demonstration that functions tested are available as
specified by the business and technical requirements, system documentation, and user manuals.
Functional testing is centered on the following items:
Valid Input : identified classes of valid input must be accepted.
Invalid Input : identified classes of invalid input must be rejected.
Functions : identified functions must be exercised.
Output : identified classes of application outputs must be exercised.
Systems/Procedures: interfacing systems or procedures must be invoked.
Organization and preparation of functional tests is focused on requirements, key functions,
or special test cases. In addition, systematic coverage pertaining to identify
Business process flows; data fields, predefined processes, and successive processes must
be considered for testing. Before functional testing is complete, additional tests are identified and
the effective value of current tests is determined.
System Test
System testing ensures that the entire integrated software system meets requirements. It
tests a configuration to ensure known and predictable results. An example of system testing is the
configuration oriented system integration test. System testing is based on process descriptions and
flows, emphasizing pre-driven process links and integration points.
White Box Testing
White Box Testing is a testing in which in which the software tester has knowledge of the
inner workings, structure and language of the software, or at least its purpose. It is purpose. It is
used to test areas that cannot be reached from a black box level.
Test objectives
All field entries must work properly.
Pages must be activated from the identified link.
The entry screen, messages and responses must not be delayed.
Features to be tested
Verify that the entries are of the correct format
No duplicate entries should be allowed
All links should take the user to the correct page.
Integration Testing
Software integration testing is the incremental integration testing of two or more
integrated software components on a single platform to produce failures caused by interface
defects.
The task of the integration test is to check that components or software applications, e.g.
components in a software system or – one step up – software applications at the company level –
interact without error.
Test Results: All the test cases mentioned above passed successfully. No defects encountered.
24
Acceptance Testing
User Acceptance Testing is a critical phase of any project and requires significant
participation by the end user. It also ensures that the system meets the functional requirements.
Test Results: All the test cases mentioned above passed successfully. No defects encountered.
25
REFERENCES
[1] Paul Viola, Michael J. Jones, Robust Real-Time Face Detection, International
Journal of Cumputer Vision 57(2), 2004.
[2] Ayushi Gupta, Ekta Sharma, NehaSachan and Neha Tiwari. Door Lock System
through Face Recognition Using MATLAB. International Journal of Scientific
Research in Computer Science and Engineering, Vol1, Issue-3, 30 June 2013.
[3] Daniel Georgescu, A Real-Time Face Recognition System Using Eigenfaces,
Journal of Mobile, Embedded and Distributed Systems, vol. III, no. 4, 2011.
[4] Ole Helvig Jensen, Implementing the Viola-Jones Face Detection Algorithm,
2008.
[5] M. A. Turk and A. P. Pentland. Eigenfaces for Recognition. Journal of
Cognitive Neuroscience, 3(1):71 - 86, 1991.
[6] M. A. Turk and A. P. Pentland. Face recognition using eigenfaces. IEEE
Computer SocietyConference on Computer Vision and Pattern Recognition, CVPR
91, pages 586 - 591, 1991.
[7] I.Yugashini, S. Vidhyasri, K.Gayathri Devi, Design And Implementation Of
Automated Door Accsessing System With Face Recognition, International Journal
of Science and Modern Engineering(IJISME), Volume-1, Issue-12, November
2013.
[8] Liton Chandra Paul, Abdulla Al Sumam. Face Recognition Using Principal
Component Analysis Method. International Journal of Advanced Research in
Computer Engineering & Technology (IJARCET),Volume 1, Issue 9, November
2012.
26