Sie sind auf Seite 1von 50

FACE RECOGNITION USING NEURAL NETWORK

Chapter 1 INTRODUCTION
1.1 Motivation:
"Friend, the old days were better when the instructor use to call out the names and take the attendance. Now the proxy attendance has become a dream by the advent of this new automated system". Well, the day is not far when the students will be talking likewise while coming out of the lecture halls. Here, we present one such attempt towards making this dream come true. Positive identification of individuals is a very basic societal requirement. In small tribes and villages, everyone knew and recognized everyone else. You could easily detect a stranger or identify a potential breach of security. In todays larger, more complex society, it isnt that simple. In fact, as more interactions take place electronically, it becomes even more important to have an electronic verification of a persons identity. Until recently, electronic verification took one of two forms. It was based on something the person had in their possession, like a magnetic swipe card, or something they knew, like a password.

1.2 Problem Statement:


The problem is, these forms of electronic identification arent very secure, because they can be given away, taken away, or lost and motivated people have found ways to forge or circumvent these credentials. The ultimate form of electronic verification of a persons identity is biometrics; using a physical attribute of the person to make a positive identification. There are many robust biometric techniques like fingerprinting which can be used for human authentication then why go for face recognition? In many applications like the surveillance and monitoring ,say, of a public place, the traditional biometric techniques will fail as for obvious reasons we can not ask everyone to come and put his/her thumb on a slide or something similar. So we need a system which is similar to the human eye in some sense to identify a person.

DEPT OF CSE,PESITM SHIMOGGA

Page 1

FACE RECOGNITION USING NEURAL NETWORK

To cater this need and using the observations of human psychophysics, face recognition as a field emerged. Different approaches have been tried by several groups, working world wide, to solve this problem. Many commercial products have also found their way into the market using one or the other technique. But so far no system / technique exists which has shown satisfactory results in all circumstances. A comparison of these techniques needs to be done. Reliable automatic recognition of persons has long been an attractive goal. In face recognition, difficulties arise from the fact that the face is a changeable social organ displaying a variety of expressions, as well as being an active 3D object whose image varies with viewing angle, pose, illumination, accoutrements, and age. It has been shown that for facial images taken at least one year apart, even the best current algorithms have error rates of 43% to 50% . An Artificial Neural Network (ANN) system provides automatic recognition of an individual based on some sort of unique feature or characteristic possessed by the individual.ANN systems have been developed based on fingerprints, facial features, voice, hand geometry, handwriting, the retina etc.

1.3 Computer vision:


Till the date all the methods in Digital image processing is based on mathematical operations shapes and the other properties of the object. For the real world problems these methods are inefficient with low accuracy and least adapted for the changing environment, these problems have given way for the brand new area of interest called computer vision which mainly a combination of digital image processing, artificial intelligence, statistics, machine learning, data mining and lot of neuron biological domains. This has shifted digital image processing from object oriented properties to the more complicated concepts like learning, knowledge, common sense, prediction and lots other characteristics of a human.

1.4 Overview of the system:


ANN systems work by first capturing a sample of the feature, such as recording a digital sound signal for voice recognition, or taking a digital color image for face recognition. The sample is then transformed using some sort of mathematical function into a biometric template.

DEPT OF CSE,PESITM SHIMOGGA

Page 2

FACE RECOGNITION USING NEURAL NETWORK

The biometric template will provide a normalized, efficient and highly discriminating representation of the feature, which can then be objectively compared with other templates in order to determine identity. Most ANN systems allow two modes of operation. An enrolment mode for adding templates to a database, and an identification mode, where a template is created for an individual and then a match is searched for in the database of pre-enrolled templates.

Fig:A Generic representation of face detection system A good ANN is characterized by use of a feature that is; highly unique so that the chance of any two people having the same characteristic will be minimal, stable so that the feature does not change over time, and be easily captured in order to provide convenience to the user, and prevent misrepresentation of the feature.

1.5 Applications:

Fig 1. Application areas of Face Recognition

DEPT OF CSE,PESITM SHIMOGGA

Page 3

FACE RECOGNITION USING NEURAL NETWORK

1.7 Report organization:


Chapter 2: Literature survey Chapter 3: Describes the methodologies for Database creation and loading the images to network and training the loaded face sets and recognition of face sets using Artificial Neural Network. It also includes the basics of Matlab and GUI. Chapter 4: Implementation steps and Experiments of different input image on a system and there test results with different test cases. Chapter 5: It concludes our work and provides the way for future enhancement in this project.

DEPT OF CSE,PESITM SHIMOGGA

Page 4

FACE RECOGNITION USING NEURAL NETWORK

Chapter 2

REVIEW OF LITERATURE
Existing Biometrics
y y y

Fingerprint Recognition Voice Recognition Signature Recognition

Fingerprint
Fingerprint scan method is gaining a lead ahead of other biometric systems, as it is least intrusive and less harmful to the user. It needs a high-resolution snapshot of the finger, which is easy and effective. Common examples are criminal records, forensic and access-control mechanisms in high-security establishments. It is based on the uniqueness of ones fingerprint. This process however began as a highly manual function where individuals would spend weeks or months trying to match the hard copy fingerprints that were on file with those obtained elsewhere. In many cases matches were difficult if not impossible to make and it was not uncommon for misidentifications to occur. With advancements in computer technology, electronic archives that allow the matching process to occur much faster and with a much lower error rate were procured. The below figure2.1 shows the example of finger print recognition system.

Figure 2.1 Image of a finger print


DEPT OF CSE,PESITM SHIMOGGA Page 5

FACE RECOGNITION USING NEURAL NETWORK

Signature recognition
Signature Recognition technology consists primarily of a pen and a specialized writing tablet, which are then connected to a local or central computer for template processing and verification. In order to start the data acquisition phase of the enrollment process, the individual must sign their name multiple times on the writing tablet. The robustness of the Signature Recognition enrollment template is a direct function of the quality of the writing tablet that is utilized. A high quality writing tablet will be able to capture all of the behavioral variables (timing, pressure, and speed) of the signature, whereas a lower end writing tablet may not be able to capture all of the variables. However, there are a number of constraints in the data acquisition phase. First, a signature cannot be too long or too short. If a signature is too long, there will be too much behavioral data presented, and as a result, it will be difficult for the Signature Recognition system to identify consistent and unique data points. If a signature is too short, there will not be enough data present, and as a result, this will lead to a higher False Accept Rate (for example, an impostor being authorized by the Signature Recognition system). Second, the individual must complete the enrollment and verification processes in the same type of environment and conditions. For example, if the individual was standing in the enrollment phase, but sitting in the verification phase, and resting their arm in one phase and not in the other phase while signing, can cause the enrollment and verification templates to be substantially different from each other. This constraint of a consistent environment is also faced by another biometric technology-Facial Recognition. Voice recognition Today, when we call most large companies, a person doesn't usually answer the phone. Instead, an automated voice recording answers and instructs you to press buttons to move through option menus. Many companies have moved beyond requiring you to press buttons, though. Often you can just speak certain words (again, as instructed by a recording) to get what you need. The system that makes this possible is a type of speech recognition program -- an automated phone system.

DEPT OF CSE,PESITM SHIMOGGA

Page 6

FACE RECOGNITION USING NEURAL NETWORK

2.1. Limitations of the above mentioned biometric systems


Fingerprint
y
This process began as a highly manual function, where individuals would spend

weeks or months trying to match the hard copy fingerprints that were on file with those obtained elsewhere. Signature recognition
y

If a signature is too long, there will be too much behavioral data presented, it will be difficult for the Signature Recognition system to identify consistent and unique data points.

If a signature is too short, there will not be enough data present, and as a result, this will lead to a higher False Accept Rate.

Voice recognition
y

Small-vocabulary/many-users: usage is limited to a small number of predetermined commands and inputs, such as basic menu options or numbers.

Large-vocabulary/limited-users: These systems work best in a business environment where a small number of users will work with the program. While these systems work with a good degree of accuracy (85 percent or higher with an expert user) and have vocabularies in the tens of thousands, you must train them to work best with a small number of primary users. The accuracy rate will fall drastically with any other user.

DEPT OF CSE,PESITM SHIMOGGA

Page 7

FACE RECOGNITION USING NEURAL NETWORK

Limitations of Existing System Existing system is unable to adapt to the external conditions. Accuracy of identification is less. Time consuming. But in the case of proposed system we are extracting a pattern and create NN files rather than a complete image and it is from this pattern that the Neural Networks does the identification.

2.2. Advantages of the Face recognition system


Face recognition has many advantages over the other forms of biometric identification.

1.Accuracy: Simply put, Face recognition is the most accurate form of identification known to man. More accurate than even DNA matching. Due to the process of chaotic morphogenesis, every iris is unique to a degree that the probability of 2 irises being identical is 1 in 10 to the power of 78. Additionally, our iris recognition system captures over 249 'degrees of freedom' or points of interest.

2.Speed: No other biometric technology is designed to deliver 1-n searching of large databases in real time. This technology has nearly 20 times more matches per minute than its closest competitor. Looking at speed in conjunction with accuracy, there's simply no other technology that can deliver high accuracy authentication in anything close to the real-time performance of Face recognition.

3.Stability: The Face image remains stable from the age of about 10 months up until death. This means that an face image need only be captured once and does not need to be updated. Other biometric measures change over time. Hands and fingers grow, our voices change, our skin degrades and other biometric measures are subject to labor, health, genetics, climate and age. What this means is that the performance of such systems is unreliable and frequent re-enrolments are required to accommodate these changes.
DEPT OF CSE,PESITM SHIMOGGA Page 8

FACE RECOGNITION USING NEURAL NETWORK

4. Robust recognition: face recognition system works well, even with gazing-away eyes or narrowed eyelids and scrapped faces.

2.3. Applications
The face recognition system covers a wide range of application in authenticating persons It can be deployed in:
y y y y y y y y

Border control system Airports Biometric passports Banking systems, ATMs Authorized access to healthcare records, intellectual property, etc Identification of criminals In Govt. organization where restricted access exists. Productivity enhancing applications like time and attendance.

DEPT OF CSE,PESITM SHIMOGGA

Page 9

FACE RECOGNITION USING NEURAL NETWORK

Chapter 3 METHODOLOGY
3.1 Basics of image color models:
3.1.1 RGB color model:
The RGB color model is an additive color model in which red, green, and blue light are added together in various ways to reproduce a broad array of colors.

Fig 3.1 RGB color model The RGB model, this is represented by a cube using non-negative values within a 01 range, assigning black to the origin at the vertex (0, 0, 0), and with increasing intensity values running along the three axes up to white at the vertex (1, 1, 1), diagonally opposite black. An RGB triplet (r, g, b) represents the three-dimensional coordinate of the point of the given color within the cube or its faces or along its edges. Below is a original RGB image with each of red, green and blue frames extracted from the image separately.

DEPT OF CSE,PESITM SHIMOGGA

Page 10

FACE RECOGNITION USING NEURAL NETWORK

Fig 3.2 Original image and RGB extract

3.1.2 Grayscale color model:


Grayscale images are distinct from one-bit bi-tonal black-and-white images, which in the context of computer imaging are images with only the two colors, black, and white (also called bilevel or binary images). Grayscale images have many shades of gray in between.

Fig 3.3 Grayscale image The intensity of a pixel is expressed within a given range between a minimum and a maximum, inclusive.

DEPT OF CSE,PESITM SHIMOGGA

Page 11

FACE RECOGNITION USING NEURAL NETWORK

This range is represented in an abstract way as a range from 0 (total absence, black) and 1 (total presence, white), with any fractional values in between. This notation is used in academic papers, but it must be noted that this does not define what "black" or "white" is in terms of colorimetric.

3.1.3 Binary image color model:


A binary image is a digital image that has only two possible values for each pixel. Typically the two colors used for a binary image are black and white though any two colors can be used. The color used for the object(s) in the image is the foreground color while the rest of the image is the background color.

Fig 3.4 Binary image Binary images often arise in digital image processing as masks or as the result of certain operations such as segmentation, thresholding, and dithering.

3.1.4 Thresholding:
Thresholding is the simplest method of image segmentation. From a grayscale image, thresholding can be used to create binary images.

Fig 3.5 Original image

Fig 3.6 image obtained after using thresholding

DEPT OF CSE,PESITM SHIMOGGA

Page 12

FACE RECOGNITION USING NEURAL NETWORK

The fig3.5 is the original image which is the converted into fig3.6 using the thresholding method. During the thresholding process, individual pixels in an image are marked as object pixels if their value is greater than some threshold value (assuming an object to be brighter than the background) and as background pixels otherwise. This convention is known as threshold above. Variants include threshold below, which is opposite of threshold above; threshold inside, where a pixel is labeled "object" if its value is between two thresholds; and threshold outside, which is the opposite of threshold inside. Typically, an object pixel is given a value of 1 while a background pixel is given a value of 0. Finally, a binary image is created by coloring each pixel white or black, depending on a pixel's labels.

3.2 MATLAB:
The proposed system can be developed in any platform, C#/C++, MATLAB and Java. We have chosen to develop the program in MATLAB, a high-performance programming language, good in matrix manipulation and numerical computing with an easy-to-use environment. The main reason of the current choice is MATLABs Image Processing Toolbox which provides a comprehensive set of graphical tools and reference-standard algorithms ideal for image processing. The toolbox comes with the programming language and it is highly integrated with it. All of its functions are carefully planned and developed to keep performance high and produce accurate results. As the proposed project mainly deals with images, MATLAB is the ideal language to be used. No other programming language offers such a large collection of built-in functions supporting image analysis and enhancement. Overall MATLAB is an excellent programming language which enables us to write efficient code and develop GUIs fast with comparatively little effort. It has two main disadvantages; The first disadvantage of the language is that it can be considered slow compared to C#/C++ and Java, as these languages can compute calculations, execute methods and return results faster. MATLABs GUI is particularly slow as it needs some time to update all the fields when this is required in an application. A

DEPT OF CSE,PESITM SHIMOGGA

Page 13

FACE RECOGNITION USING NEURAL NETWORK

complete installation of the programming language occupies a large amount of hard drive space.

Features of MATLAB:
y y y y

High-level language for technical computing. Development environment for managing code, files, and data . Interactive tools for iterative exploration, design, and problem solving. Mathematical functions for linear algebra, statistics, Fourier analysis, filtering, optimization, and numerical integration .

y y y

2-D and 3-D graphics functions for visualizing data . Tools for building custom graphical user interfaces . Functions for integrating MATLAB based algorithms with external applications and languages, such as C, C++, Fortran, Java, COM, and Microsoft Excel.

3.3 Artificial Neural Network


An artificial neural network (ANN) or commonly just neural network (NN) is an interconnected group of artificial neurons that uses a mathematical model or computational model for information processing based on a connectionist approach to computation. In most cases an ANN is an adaptive system that changes its structure based on external or internal information that flows through the network. Artificial neural networks are made up of interconnecting artificial neurons (usually simplified neurons) designed to model (or mimic) some properties of biological neural networks. Artificial neural networks can be used to model the modes of operation of biological neural networks; whereas cognitive models are theoretical models that mimic cognitive brain functions without necessarily using neural networks while artificial intelligence are well-crafted algorithms that solve specific intelligent problems (such as chess playing, pattern recognition, etc.) without using neural network as the computational architecture. It consists of interconnected processing elements called nodes or neurons that work together to produce an output function. The output of a neural network relies on the cooperation of the individual neurons within the network to operate.

DEPT OF CSE,PESITM SHIMOGGA

Page 14

FACE RECOGNITION USING NEURAL NETWORK

These are essentially simple mathematical models defining a function Each type of ANN model corresponds to a class of such functions.

Fig 3.42 Multilayer perceptron A neural network is an interconnected group of nodes, akin to the vast network of neurons in the human brain. The most significant feature of neural networks is the possibility of learning, which in practice means the following: Given a specific task to solve, and a class of functions F, learning means using a set of observations, in order to find sense. There are three major learning paradigms, each corresponding to a particular abstract learning task. These are supervised learning, unsupervised learning and reinforcement learning. which solves the task in an optimal

3.3.1 The Neuron:


The neuron will consist of synapses set, an adder and an activation function. There is weight allocate to each synapse. The function of the adder will add the input signal and weight then by the neuron synapse. The function of the activation will control the amplitude of the neuron output.

DEPT OF CSE,PESITM SHIMOGGA

Page 15

FACE RECOGNITION USING NEURAL NETWORK

Fig 3.43 Synaptic weights Neuron mathematically can be determined by the equations:

The annotation of (X1Xn) represents the input signal, Wkn represents the neuron synaptic weights, Uk is the adder output, Yk represents the output and psi function represent the activation function. Sigmoid function is one of the most common activation function used in neural network. It is a increasing function of S-shaped graph.

3.3.2 Training Modes:


The learning results from the multiple presentation of the training set to the network. Epoch is the complete training set during the whole process of learning.

DEPT OF CSE,PESITM SHIMOGGA

Page 16

FAC REC

N USIN NEURAL NETWORK

The learning process will still be in progress unless an error signal hit the predestined minimum value. Thus, we need to shuffle the order of the presentation of the training examples between epochs. There are two t pe of back propagation learning for the given training set: The sequential mode referred as online, pattern mode and the weights will be updated after the training example The batch mode referred to weights will update after the training is presented to the network.

3.3.3 T

the Neural Network

Supervi ed learning In supervised learning, we are given a set of example pairs

and the aim is to find a function f in the allowed class of functions that matches the examples. In other words, we wish to i fer the mapping implied by the data; the cost function is related to the mismatch between our mapping and the data and it implicitly contains prior knowledge about the problem domain. A commonly used cost is the mean-squared error which tries to minimise the average error between the network's output, f(x), and the target value y over all the example pairs. When one tries to minimise this cost using gradient descent for the class of neural networks called Multi- ayer Perceptrons, one obtains the well-known backpropagation algorithm for training neural networks.

Fig 3.44 Supervised learning


DEPT OF CSE,PESITM SHIMOGGA Page 17

FACE RECOGNITION USING NEURAL NETWORK

Tasks that fall within the paradigm of supervised learning are pattern recognition (also known as classification) and regression (also known as function approximation). The supervised learning paradigm is also applicable to sequential data (e.g., for speech and gesture recognition). This can be thought of as learning with a "teacher," in the form of a function that provides continuous feedback on the quality of solutions obtained thus far. Unsupervised learning In unsupervised learning we are given some data x, and the cost function to be minimised can be any function of the data x and the network's output, f. The cost function is dependent on the task (what we are trying to model) and our a priori assumptions (the implicit properties of our model, its parameters and the observed variables). As a trivial example, consider the model f(x) = a, where a is a constant and the cost C = (E[x] f(x))2. Minimising this cost will give us a value of a that is equal to the mean of the data. The cost function can be much more complicated. Its form depends on the application: For example in compression it could be related to the mutual information between x and y. In statistical modelling, it could be related to the posterior probability of the model given the data. (Note that in both of those examples those quantities would be maximised rather than minimised).

Fig3.45 Unsupervised learning Tasks that fall within the paradigm of unsupervised learning are in general estimation problems; the applications include clustering, the estimation of statistical distributions, compression and filtering.

DEPT OF CSE,PESITM SHIMOGGA

Page 18

FACE RECOGNITION USING NEURAL NETWORK

3.4 Types of neural networks


3.4.1 Feedforward neural network
The feedforward neural networks are the first and arguably simplest type of artificial neural networks devised. In this network, the information moves in only one direction, forward, from the input nodes, through the hidden nodes (if any) and to the output nodes. There are no cycles or loops in the network.

3.4.2 Single-layer perceptron


The earliest kind of neural network is a single-layer perceptron network, which consists of a single layer of output nodes; the inputs are fed directly to the outputs via a series of weights. In this way it can be considered the simplest kind of feed-forward network. The sum of the products of the weights and the inputs is calculated in each node, and if the value is above some threshold (typically 0) the neuron fires and takes the activated value (typically 1); otherwise it takes the deactivated value (typically -1). Neurons with this kind of activation function are also called McCulloch-Pitts neurons or threshold neurons.

Fig: Single Neuron example neural network The above Figure shows an example of a single neural processor, or neuron.
DEPT OF CSE,PESITM SHIMOGGA Page 19

FACE RECOGNITION USING NEURAL NETWORK

Neurons have many weighted inputs, that is to say each input (p1, p2, p3 pm) has a related weighting (w1, w2, w3 wm) according to its importance. Each of these inputs is a scalar, representing the data. In the case of face detection, the shade of GRAY of each pixel could be presented to the neuron in parallel (thus for a 10x10 pixel image, there would be 100 input lines p1 to p100,with respective weightings w1 to w100, corresponding to the 100 pixels in the input image).The weighted inputs are combined together, and if present, a bias (b) is added. This is then passed as the argument to a transfer function (typically a pure linear, hardlimit, or log-sigmoid function),which outputs a value (a) representing the chosen classification.

3.4.3 Multi-layer perceptron


A two-layer neural network capable of calculating XOR. The numbers within the neurons represent each neuron's explicit threshold (which can be factored out so that all neurons have the same threshold, usually 1). The numbers that annotate arrows represent the weight of the inputs. This net assumes that if the threshold is not reached, zero (not -1) is output. Note that the bottom layer of inputs is not always considered a real neural network layer This class of networks consists of multiple layers of computational units, usually interconnected in a feed-forward way. Each neuron in one layer has directed connections to the neurons of the subsequent layer. In many applications the units of these networks apply a sigmoid function as an activation function. Multi-layer networks use a variety of learning techniques, the most popular being backpropagation. Here the output values are compared with the correct answer to compute the value of some predefined error-function. By various techniques the error is then fed back through the network. Using this information, the algorithm adjusts the weights of each connection in order to reduce the value of the error function by some small amount. After repeating this process for a sufficiently large number of training cycles the network will usually converge to some state where the error of the calculations is small. In this case one says that the network has learned a certain target function.

DEPT OF CSE,PESITM SHIMOGGA

Page 20

FACE RECOGNITION USING NEURAL NETWORK

Fig 3.42 Multilayer perceptron The majority implementations of neural networks available are however custom implementations in various programming languages and on various platforms. Basic types of neural networks are simple to implement directly. There are also many programming libraries that contain neural network functionality and that can be used in custom implementations. The tasks to which artificial neural networks are applied tend to fall within the following broad categories: Function approximation, or regression analysis, including time series prediction and modeling. Classification, including pattern and sequence recognition, novelty detection and sequential decision making. Data processing, including filtering, clustering, blind source separation and compression. Application areas include system identification and control, game-playing and decision making , pattern recognition , sequence recognition, medical diagnosis, financial applications, data mining , visualization and e-mail spam filtering.

DEPT OF CSE,PESITM SHIMOGGA

Page 21

FACE RECOGNITION USING NEURAL NETWORK

3.4.4 Eigen Vector


In mathematics, eigenvalue, eigenvector, and eigenspace are related concepts in the field of linear algebra. The prefix eigen is the German word for innate, distinct, self. inear algebra studies linear transformations, which are represented by matrices

acting on vectors. Eigenvalues, eigenvectors and eigenspaces are properties of a matrix. They are computed by a method described below, give important information about the matrix, and can be used in matrix factori ation. They have applications in areas of applied mathematics as diverse as finance and quantum mechanics. In general, a matrix acts on a vector by changing both its magnitude and its direction. However, a matrix may act on certain vectors by changing only their magnitude, and leaving their direction unchanged (or possibly reversing it). These vectors are the eigenvectors of the matrix. A matrix acts on an eigenvector by multiplying its magnitude by a factor, which is positive if its direction is unchanged and negative if its direction is reversed. This factor is the eigenvalue associated with that eigenvector. An eigenspace is the set of all eigenvectors that have the same eigenvalue, together with the zero vector. The concepts cannot be formally defined without prerequisites, including an understanding of matrices, vectors, and linear transformations. The technical details are given below. Formally, if A is a linear transformation, a vector x is an eigenvector of A if there is a scalar such that

The scalar x..

is said to be an eigenvalue of A corresponding to the eigenvector

Neural network applications:


Aerospace y High performance aircraft autopilot, flight path simulation, aircraft control systems, autopilot enhancements, aircraft component simulation, aircraft component fault detection. Automobile control y Automobile automatic guidance system, warranty activity analysis.

DEPT OF CSE,PESITM SHIMOGGA

Page 22

FACE RECOGNITION USING NEURAL NETWORK

Banking
y

Check and other document reading credit application evaluation.

Credit card activity checking


y

Neural networks are used to spot unusual credit card activity that might possibly be associated with loss of a credit card

Defense
y

Weapon steering, target tracking, object discrimination, facial recognition, new kinds of sensors, sonar, radar and image signal processing including data compression, feature extraction and noise suppression, signal/ image identification.

Electronics
y

Code sequence prediction, integrated circuit chip laying, process control, chip failure analysis, machine vision voice synthesis, nonlinear modeling.

Entertainment
y

Animation, special effects, market forecasting.

Financial
y

Real estate appraisals, loan advisor, mortgage screening, corporate bond rating, credit-line use analysis, and portfolio trading program, corporate financial analysis, and currency price prediction.

Industrial
y

Neural networks are being trained to predict the output gasses of furnaces and other industrial process. They then replace complex and costly equipment used for this purpose in the past.

Insurance
y

Neural networks are used in policy application evaluation, product optimization.

Manufacturing
y

Neural networks are used in manufacturing process control, product design and analysis, process and machine diagnosis, real-time particle identification, visual quality analysis, paper quality prediction, computer chip quality analysis, analysis of grinding operations, chemical product design analysis,

DEPT OF CSE,PESITM SHIMOGGA

Page 23

FACE RECOGNITION USING NEURAL NETWORK

machine maintenance analysis, project bidding, planning and management, dynamic modeling of chemical process system. Medical
y

Neural networks are used in breast cancer cell analysis, EEG and ECG analysis, prosthesis design, optimization of transplant times, hospital expense reduction, hospital quality improvement, and emergency room test advisement.

Oil and Gas


y

Neural networks are used in exploration of oil and gas.

Robotics
y

Neural networks are used in trajectory control, forklift robot, manipulator controllers, vision systems

Other application
y y y y y y y

Artificial intelligence Character recognition Image understanding Logistics Optimization Quality Control Visualization

Advantages and disadvantages Of ANN:


Advantage : -1. It involve human like thinking. 2. They handle noisy or missing data. 3. They create their own relationship amongst information no equations! 4. They can work with large number of variables or parameters. 5. They provide general solutions with good predictive accuracy. 6. System has got property of continuous learning. 7. They deal with the non-linearity in the world in which we live. Disadvantage : 1. In learning process time required may be in several months or years. 2. It is hard to implement.

DEPT OF CSE,PESITM SHIMOGGA

Page 24

FACE RECOGNITION USING NEURAL NETWORK

3.5 MATLAB toolbox for ANN:


Following are the toolboxes we used in this project:
y

Tansig

 Purpose Hyperbolic tangent sigmoid transfer function  Graph and Symbol

Fig:Tan-Sigmoid Transfer Function  Syntax     Description tansig is a neural transfer function. Transfer functions calculate a layer's output from its net input. tansig(N,FP) takes N and optional function parameters, N S x Q matrix of net input (column) vectors A = tansig(N,FP) dA_dN = tansig('dn',N,A,FP) info = tansig(code)

FP Struct of function parameters (ignored)

DEPT OF CSE,PESITM SHIMOGGA

Page 25

FACE RECOGNITION USING NEURAL NETWORK

and returns A, the S x Q matrix of N's elements squashed into [-1 1]. tansig('dn',N,A,FP) returns the derivative of A with respect to N. If A or FP is not supplied or is set to [], FP reverts to the default parameters, and A is calculated from N. tansig('name') returns the name of this function. tansig('output',FP) returns the [min max] output range. tansig('active',FP) returns the [min max] active input range. tansig('fullderiv') returns 1 or 0, depending on whether dA_dN is S x S x Q or S x Q. tansig('fpnames') returns the names of the function parameters. tansig('fpdefaults') returns the default function parameters.

 Examples Here is the code to create a plot of the tansig transfer function.
  

n = -5:0.1:5; a = tansig(n); plot(n,a)

Assign this transfer function to layer i of a network.




net.layers{i}.transferFcn = 'tansig';

DEPT OF CSE,PESITM SHIMOGGA

Page 26

FACE RECOGNITION USING NEURAL NETWORK

y initnw
Purpose Nguyen-Widrow layer initialization function Syntax
y

net = initnw(net,i)

Description initnw is a layer initialization function that initializes a layer's weights and biases according to the Nguyen-Widrow initialization algorithm. This algorithm chooses values in order to distribute the active region of each neuron in the layer approximately evenly across the layer's input space. The values contain a degree of randomness, so they are not the same each time this function is called. initnw requires that the layer it initializes have a transfer function with a finite active input range. This includes transfer functions such as tansig and satlin, but not purelin, whose active input range is the infinite interval [-inf, inf]. Transfer functions, such as tansig, will return their active input range as follows:
y y y

activeInputRange = tansig('active') activeInputRange = -2 2

initnw(net,i) takes two arguments, net Neural network i Index of a layer

and returns the network with layer i's weights and biases updated.

DEPT OF CSE,PESITM SHIMOGGA

Page 27

FACE RECOGNITION USING NEURAL NETWORK

There is a random element to Nguyen-Widrow initialization. Unless the default random generator is set to the same seed before each call to initnw, it will generate different weight and bias values each time. Network Use You can create a standard network that uses initnw by calling newff or newcf. To prepare a custom network to be initialized with initnw, 1. Set net.initFcn to 'initlay'. This sets net.initParam to the empty matrix [], because initlay has no initialization parameters. 2. Set net.layers{i}.initFcn to 'initnw'. To initialize the network, call init.

y Initlay
Purpose Layer-by-layer network initialization function

Syntax
y y

net = initlay(net) info = initlay(code)

Description initlay is a network initialization function that initializes each layer i according to its own initialization function net.layers{i}.initFcn. initlay(net) takes net Neural network

DEPT OF CSE,PESITM SHIMOGGA

Page 28

FACE RECOGNITION USING NEURAL NETWORK

and returns the network with each layer updated. initlay(code) returns useful information for each code string: 'pnames' Names of initialization parameters

'pdefaults' Default initialization parameters

initlay does not have any initialization parameters. Network Use You can create a standard network that uses initlay by calling newp, newlin, newff, newcf, and many other new network functions. To prepare a custom network to be initialized with initlay, 1. Set net.initFcn to 'initlay'. This sets net.initParam to the empty matrix [], because initlay has no initialization parameters. 2. Set each net.layers{i}.initFcn to a layer initialization function. (Examples of such functions are initwb and initnw.) To initialize the network, call init.

y msereg
Purpose Mean squared error with regularization performance function Syntax
y y y y

perf = msereg(E,Y,X,FP) dPerf_dy = msereg('dy',E,Y,X,perf,FP) dPerf_dx = msereg('dx',E,Y,X,perf,FP) info = msereg(code)

DEPT OF CSE,PESITM SHIMOGGA

Page 29

FACE RECOGNITION USING NEURAL NETWORK

Description msereg is a network performance function. It measures network performance as the weight sum of two factors: the mean squared error and the mean squared weight and bias values. msereg(E,Y,X,FP) takes E and optional function parameters, E Y X Matrix or cell array of error vectors Matrix or cell array of output vectors (ignored) Vector of all weight and bias values

FP.ratio Ratio of importance between errors and weights

and returns the mean squared error plus FP.ratio times the mean squared weights. msereg('dy',E,Y,X,perf,FP) returns the derivative of perf with respect to Y. msereg('dx',E,Y,X,perf,FP) returns the derivative of perf with respect to X. msereg('name') returns the name of this function. msereg('pnames') returns the names of the training parameters. msereg('pdefaults') returns the default function parameters. Examples Here a two-layer feed-forward network is created with a one-element input ranging from -2 to 2, four hidden tansig neurons, and one purelin output neuron.
y y

net = newff([-2 2],[4 1] {'tansig','purelin'},'trainlm','learngdm','msereg');

DEPT OF CSE,PESITM SHIMOGGA

Page 30

FACE RECOGNITION USING NEURAL NETWORK

The network is given a batch of inputs P. The error is calculated by subtracting the output A from target T. Then the mean squared error is calculated using a ratio of 20/(20+1). (Errors are 20 times as important as weight and bias values).
y y y y y y y

p = [-2 -1 0 1 2]; t = [0 1 1 1 0]; y = sim(net,p) e = t-y net.performParam.ratio = 20/(20+1); perf = msereg(e,net)

Network Use You can create a standard network that uses msereg with newff, newcf, or newelm. To prepare a custom network to be trained with msereg, set net.performFcn to 'msereg'. This automatically sets net.performParam to msereg's default performance parameters. In either case, calling train or adapt results in msereg's being used to calculate performance.

trainscg
Purpose Scaled conjugate gradient backpropagation Syntax
y y

[net,TR,Ac,El] = trainscg(net,TR,trainV,valV,testV) info = trainscg('info')

Description trainscg is a network training function that updates weight and bias values according to the scaled conjugate gradient method.
DEPT OF CSE,PESITM SHIMOGGA Page 31

FACE RECOGNITION USING NEURAL NETWORK

trainscg(net,TR,trainV,valV,testV) takes these inputs, net TR Neural network Initial training record created by train

trainV Training data created by train valV testV Validation data created by train Test data created by train

and returns net Trained network

TR Training record of various values over each epoch.

Each argument trainV, valV, and testV is a structure of these fields: X N x TS cell array of inputs for N inputs and TS time steps. X{i,ts} is an Ri x Q matrix for the ith input and TS time step. Xi N x Nid cell array of input delay states for N inputs and Nid delays. Xi{i,j} is an Ri x Q matrix for the ith input and jth state. Pd N x S x Nid cell array of delayed input states. T No x TS cell array of targets for No outputs and TS time steps. T{i,ts} is an Si x Q matrix for the ith output and TS time step. Tl Nl x TS cell array of targets for Nl layers and TS time steps. Tl{i,ts} is an Si x Q matrix for the ith layer and TS time step. Ai Nl x TS cell array of layer delays states for Nl layers, TS time steps. Ai{i,j} is an Si x Q matrix of delayed outputs for layer i, delay j.

DEPT OF CSE,PESITM SHIMOGGA

Page 32

FACE RECOGNITION USING NEURAL NETWORK

Network Use You can create a standard network that uses trainscg with newff, newcf, or newelm. To prepare a custom network to be trained with trainscg, 1. Set net.trainFcn to 'trainscg'. This sets net.trainParam to trainscg's default parameters. 2. Set net.trainParam properties to desired values. In either case, calling train with the resulting network trains the network with trainscg. Examples Here is a problem consisting of inputs p and targets t to be solved with a network.
y y

p = [0 1 2 3 4 5]; t = [0 0 0 1 1 1];

Here a two-layer feed-forward network is created. The network's input ranges from [0 to 10]. The first layer has two tansig neurons, and the second layer has one logsig neuron. The trainscg network training function is to be used.
y y

net = newff([0 5],[2 1],{'tansig','logsig'},'trainscg'); a = sim(net,p)

Here the network is trained and retested.


y y

net = train(net,p,t); a = sim(net,p)

See newff, newcf, and newelm for other examples.

DEPT OF CSE,PESITM SHIMOGGA

Page 33

FACE RECOGNITION USING NEURAL NETWORK

3.6 GRAPHICAL USER INTERFACE (GUI)


The graphical user interface allows people to interact with a computer. The GUI consists of graphical icons and special widgets. The icons are label with text to guide the user. In our project we designed GUI with the help of Mat Lab. Mat lab has the rich toolbars and objectives makes GUI with highly efficient. We are using GUIDE to create GUI in Mat lab.

3.6.1 What is GUIDE?


GUI Layout: GUIDE, the MATLAB graphical user interface development environment, provides a set of tools for creating graphical user interfaces (GUIs). These tools simplify the process of laying out and programming GUIs. Using the GUIDE Layout Editor, you can populate a GUI by clicking and dragging GUI componentssuch as axes, panels, buttons, text fields, sliders, and so oninto the layout area. You also can create menus and context menus for the GUI. From the Layout Editor, you can size the GUI, modify component look and feel, align components, set tab order, view a hierarchical list of the component objects, and set GUI options. GUI Programming: GUIDE automatically generates a program file containing MATLAB functions that controls how the GUI operates. This code file provides code to initialize the GUI and contains a framework for the GUI callbacksthe routines that execute when a user interacts with a GUI component. Use the MATLAB Editor to add code to the callbacks to perform the actions you want the GUI to perform. GUIDE Tools Summary: The GUIDE tools are available from the Layout Editor shown in the figure below. The tools are called out in the figure and described briefly below. Subsequent sections show you how to use them.

DEPT OF CSE,PESITM SHIMOGGA

Page 34

FACE RECOGNITION USING NEURAL NETWORK

Fig 3.43 Layout Editor

3.6.2 List of tools:


Layout Editor: Select components from the component palette, at the left side of the Layout Editor, and arrange them in the layout area. Figure Resize Tab: Set the size at which the GUI is initially displayed when you run it. Menu Editor: Create menus and context, i.e., pop-up, menus. Align Objects: Align and distribute groups of components. Grids and rulers also enable you to align components on a grid with an optional snap-to-grid capability. Tab Order Editor: Set the tab and stacking order of the components in your layout. Toolbar Editor: Create Toolbars containing predefined and custom push buttons and toggle buttons. Icon Editor: Create and modify icons for tools in a toolbar. Property Inspector: Set the properties of the components in your layout. It provides a list of all the properties you can set and displays their current values. Object Browser: Display a hierarchical list of the objects in the GUI.
DEPT OF CSE,PESITM SHIMOGGA Page 35

FACE RECOGNITION USING NEURAL NETWORK

Run: Save and run the current GUI. M-File Editor: Display, in your default editor, the code file associated with the GUI. Position Readouts: Continuously display the mouse cursor position and the positions of selected objects

This GUI has 2 tools as shown in figure. They are, Push Button Static Text Push Button: Each of the push buttons creates a different type of plot using the data specified by the current selection in the pop-up menu. The push button callbacks get data from the handles structure and then plot it. Static text: Display text in window with same background of the window.

DEPT OF CSE,PESITM SHIMOGGA

Page 36

FACE RECOGNITION USING NEURAL NETWORK

3.6.4 Graphical User Interface Specification:


Generate Network: Click on the Generate Network Button , It Creates the custom neural network as shown bellow. Syntax
y y

net = network net = network(numInputs,numLayers,biasConnect,inputConnect, layerConnect,outputConnect)

Description network creates new custom networks. It is used to create networks that are then customized by functions such as newp, newlin, newff, etc. network takes these optional arguments (shown with default values): numInputs numLayers biasConnect inputConnect layerConnect Number of inputs, 0 Number of layers, 0 numLayers-by-1 Boolean vector, zeros numLayers-by-numInputs Boolean matrix, zeros numLayers-by-numLayers Boolean matrix, zeros

outputConnect 1-by-numLayers Boolean vector, zeros and returns

net New network with the given property values Load Database: Click on the load database Button, It will Loading all faces to the database db, it will load the each face sets in a separate folders. after completion of the loading process it will print the message as Database Created.

DEPT OF CSE,PESITM SHIMOGGA

Page 37

FACE RECOGNITION USING NEURAL NETWORK

Train Network: Click on the Train Network button. Here trainscg is a network training function that updates weight and bias values according to the scaled conjugate gradient method and neural network tool will be displayed as shown bellow.

Training occurs according to trainscg's training parameters, shown here with their default values: net.trainParam.epochs net.trainParam.show 500 25 Maximum number of epochs to train Epochs between displays (NaN for nodisplays) net.trainParam.showCommandLine 0 Generate command-line output

DEPT OF CSE,PESITM SHIMOGGA

Page 38

FACE RECOGNITION USING NEURAL NETWORK

net.trainParam.showWindow net.trainParam.goal net.trainParam.time net.trainParam.min_grad net.trainParam.max_fail net.trainParam.sigma

1 0 inf 1e-6 5 5.0e5

Show training GUI Performance goal Maximum time to train in seconds Minimum performance gradient Maximum validation failures Determine change in weight for second derivative approximation Parameter for regulating the indefiniteness of the Hessian

net.trainParam.lambda

5.0e7

trainscg('info') returns useful information about this function. trainscg can train any network as long as its weight, net input, and transfer functions have derivative functions. Backpropagation is used to calculate derivatives of performance perf with respect to the weight and bias variables X. The scaled conjugate gradient algorithm is based on conjugate directions, as in traincgp, traincgf, and traincgb, but this algorithm does not perform a line search at each iteration. Training stops when any of these conditions occurs:
y y y y y

The maximum number of epochs (repetitions) is reached. The maximum amount of time is exceeded. Performance is minimized to the goal. The performance gradient falls below min_grad. Validation performance has increased more than max_fail times since the last time it decreased (when using validation).

Test on Faces: Click on the Test on Faces button. It opens the testface folders to test on the faces which are given and display the result in a separate window with file name and corresponding person number.

DEPT OF CSE,PESITM SHIMOGGA

Page 39

FACE RECOGNITION USING NEURAL NETWORK

Exit: Click on the Exit button. Function is to clear all the things which parameters stored as a variables and it clears all the datas and exit the window. Following code is to clear all functions and variables. close all; clear all; clc

DEPT OF CSE,PESITM SHIMOGGA

Page 40

FACE RECOGNITION USING NEURAL NETWORK

Chapter 4
IMPLEMENTATIONANDTESTING
4.1 IMPLEMENTATION
Implementation is the stage in the project where the theoretical design of the project is turned into a working system. The images are extracted and compared with the original image stored in a file. It is a stage where the operation of the system is monitored to ensure that it continues to work effectively. Education and training of the users are also essential to ensure smooth functioning of the system. The main aim of the system is to implement how the persons are identified by using their face patterns. First the image is captured and then the identifiable patterns from the captured image are extracted. An identifiable pattern is obtained for each image in the image extraction phase. For storing these face patterns, here we are using the concept of Neural Network. In this it stores the pattern as binary values and from this an NN file is generated. When a subject wishes to be identified the system checks the NN file. If any match is found it shows his/her details along with his photograph or else the subject remains unidentified. The Face Recognition Network is implemented in matlab platform. Using Neural

4.1.1 System design and Architecture:

Project Schema

DEPT OF CSE,PESITM SHIMOGGA

Page 41

FACE RECOGNITION USING NEURAL NETWORK

Face Recognition Flow Chart

DEPT OF CSE,PESITM SHIMOGGA

Page 42

FACE RECOGNITION USING NEURAL NETWORK

4.2.1 Image Capture Phase:


In this Phase we are capturing the images of peoples from digital camera or web camera with different facial expressions of the same persons and save them in a particular folders of separate persons. in this phase we are created the data bases of face sets and loaded them to database.

4.2.2 Image Processing:


In this phase we are converting the stored color images into the Gray scale image by using matlab toolkit. image processing is the use of computer algorithms to perform image processing on digital images. As a subcategory or field of digital signal processing, image processing has many advantages over analog image processing. It allows a much wider range of algorithms to be applied to the input data and can avoid problems such as the build-up of noise and signal distortion during processing. Since images are defined over two dimensions (perhaps more) image processing may be modeled in the form of Multidimensional Systems. image processing allows the use of much more complex algorithms for image processing, and hence, can offer both more sophisticated performance at simple tasks.

4.2.3 Network Transformation:


In this phase we are sending the stored data base of different face sets to neural network and the faces will be trained in this phase with the input neuron layers taken as 25 and the number of iterations will be set to 500 initially to get the more accurate result for the given input faces. Training of the network is using neural network tool which is present within the matlab kit.

4.2.4 Recognition Process:


In this phase we are giving the image of particular person to identify from all face sets of stored database, then that image will be compared with all the faces in the database and gives probability of matching to each faces after this which face gets maximum probability value that will be considered as exact face of the given input, otherwise it will gives output as unknown face.

DEPT OF CSE,PESITM SHIMOGGA

Page 43

FACE RECOGNITION USING NEURAL NETWORK

4.3 TESTING:
When a system is developed, it is hoped that it performs properly. In practice, however some errors always occur. The main purpose of testing an information system is to find the error and correct them. A successful test is one that finds an error. System testing is a critical aspect of Software Quality Assurance and represents the ultimate review of specification, design and coding. Testing is the process of executing a program with the intent of finding an as yet undiscovered error. Nothing is complete without testing. Testing is vital to the success of the system. The main objectives of the system testing are: To ensure during operation the system will perform as per specification. To make sure that the system meets user requirements during operation. To verify that the controls incorporated in the system function as intended.

If the testing conducted successfully, it will uncover errors in the software. As a secondary benefit, testing demonstrates that the software functions appear to be working according to specification and that performance requirements appear to have been satisfied. The system Face Recognition Using Neural Networks is tested in such a way that almost all errors that may occur are found and corrected. The test process carried out in this system includes the following:

4.3.1 Code testing:


In code testing the logic of the developed system is tested. For this every module of the program is executed to find any error. To perform specification test, the examination of the specifications stating what the program should do and how it should perform under various conditions. This testing was done side by side with coding. This examines the logic of the program. In Java special test cases are used for testing the code. Every part of the program was tested in this phase.

DEPT OF CSE,PESITM SHIMOGGA

Page 44

FACE RECOGNITION USING NEURAL NETWORK

4.3.2 Unit Testing:


Unit testing is done in the system in which each module is checked separately. It focuses on the modules in the proposed system to locate errors. This enables to detect errors in the coding and logic that are contained within that module alone. These resulting from the interaction between modules are initially avoided. The modules that are tested include Neural Network and Identification.The working of Neural Network is implemented and tested first and then it is applied to the Iris Recognition and the second module is tested.

4.3.3 Integration testing


System testing does not test the software as a whole, but rather than integration of each module in the system. The primary concern is the compatibility of individual modules. One has to find areas where modules have been designed with different specifications of data lengths, type and data element name. Testing and validation are the most important steps after the implementation of the developed system. The system testing is performed to ensure that there are no errors in the implemented system. The software must be executed several times in order to find out the errors in the different modules of the system.

4.3.4 Validation testing


Validation refers to the process of using the new software for the developed system in a live environment i.e., new software inside the organization, in order to find out the errors. The validation phase reveals the failures and the bugs in the developed system. It will come to know of the practical difficulties the system faces when operated in the true environment. By testing the code of the implemented software, the logic of the program can be examined. A specification test is performed to check whether the specifications stating the program are performing under various conditions. Apart from these tests, there are some special tests

conducted which are given below: Peak load test This determines whether the new system will handle the volume of activities when the system is at the peak of its processing demand. The test has revealed that the new software for the agency is capable of handling the demands at the peak time.

DEPT OF CSE,PESITM SHIMOGGA

Page 45

FACE RECOGNITION USING NEURAL NETWORK

Storage testing This determines the capacity of the new system to store transaction data on a disk or on other files. The proposed software has the required storage space available.

Performance time testing. This test determines the length of the time used by the system to process transaction data.

4.3.5 Output Testing:


After the performance of unit testing, the next step is output testing. No system would be useful if it does not produce the required output in the specific format, thus output format on the screen is found to be correct when the format was designed in the system phase according to the user need. The output testing in this system is carried out by checking whether the person is identified or not. The output screens are also tested to check whether it meets all the requirements of the user. The maintenance of software is the time period in which software product performs useful works. Maintenance activities involve making enhancement to software product, adapting product to new environment and correcting problems. It includes both the improvement of the system function. It may involve the continuing involvement of a large proportion of computer department resources. The main task may be to adapt existing system in a changing environment. System should not be changed casually following informal requests. To avoid unauthorized amendments, all requests for change should be channeled to a person nominated by management. The nominated person has sufficient knowledge of the organizations computer based systems to be able to judge the relevance of each proposed change. There are no required annual costs for support or maintenance required. Of course, the individual system components come with limited warranties from the manufacturers, i.e., the PC, camera, etc. There is no obligation to purchase or pay for any extended maintenance or support.

DEPT OF CSE,PESITM SHIMOGGA

Page 46

FACE RECOGNITION USING NEURAL NETWORK

Chapter 5 CONCLUSION
Face recognition is a very valuable technology as it enables to achieve nonintrusive and convenient security system. It is challenging as the projected image depends on the persons pose, expression, lighting conditions, perspective angle and distance with respect to the camera. We intend to address the problem using Artificial Neural Network, a technology inspired by human brain mechanism, which is capable of solving complex problems such as face recognition by feed-back and learning techniques. There are two main approaches to accomplish this task: estimation of distances between the facial landmarks, or performing geometrical analysis over graylevel appearances. We choose to use the gray-level analysis approach based on eigen faces, as it is proven to be 96% accurate for classification compared to 77.9-90.3% accuracy of geometric approach. We are considering three types of neural network architectures: Perceptron, Linear Associator and Neocognitron. Perceptron is the most commonly used neural network architecture and considerably easy to implement. Using multilayer perceptron along with back propagation algorithm would help achieve a reliable system with ability to learn and classify with high accuracy. Neocognitron is a complex multilayer neural network architecure specifically made for image processing applications. So, Neocognitron is considerably complicated, but it can handle positional shifts and distortion more effectively. The third possible approach is the Linear Associator which uses basic feed forward mechanism to produce output in a single computation. It is the simplest and firststudied model of associative memory in neural network. It can be implemented easily and due to its singular and linear computational feasibility, it can provide integration for a large number of cells in a network. Linear associator can perform poorly when a lot of noise is added to the input. However, pre-processing of input helps drastically overcome noise problem. The Face Recognition System system successfully overcomes strict and severe validation checks performed using the test data. The Face Recognition System can be used in Airport for avoiding the terrorists entry in a country.

DEPT OF CSE,PESITM SHIMOGGA

Page 47

FACE RECOGNITION USING NEURAL NETWORK

5.1 FUTURE SCOPE


Future enhancements while implementing face recognition are as follows: Incremental training can be employed More advanced face detection methods can be used.

5.2 APPLICATIONS
Security/Counter terrorism: Access control, comparing surveillance images to Known terrorists. Immigration: Rapid progression through Customs. Correctional institutions/prisons: Inmate tracking, employee access. Day Care: Verify identity of individuals picking up the children. Gaming Industry: Find card counters and thieves. Residential Security: Alert homeowners of approaching personnel. Internet, E-commerce: Verify identity for Internet purchases.

DEPT OF CSE,PESITM SHIMOGGA

Page 48

FACE RECOGNITION USING NEURAL NETWORK

APPENDIX A:
y y

imshow(RGB) displays the true color image RGB imshow(BW) displays the binary image BW. imshow displays pixels with the value 0 (zero) as black and pixels with the value 1 as white.

y y

imshow(I) displays the grayscale image I. I = rgb2gray(RGB) converts the truecolor image RGB to the grayscale intensity image I. rgb2gray converts RGB images to grayscale by eliminating the hue and saturation information while retaining the luminance.

info = trainscg('info') trainscg is a network training function that updates weight and bias values according to the scaled conjugate gradient method.

A = tansig(N,FP) tansig is a neural transfer function. Transfer functions calculate a layer's output from its net input. tansig(N,FP) takes N and optional function parameters,

net = initnw(net,i) initnw is a layer initialization function that initializes a layer's weights and biases according to the Nguyen-Widrow initialization algorithm. This algorithm chooses values in order to distribute the active region of each neuron in the layer approximately evenly across the layer's input space. The values contain a degree of randomness, so they are not the same each time this function is called.

net = initlay(net) initlay is a network initialization function that initializes each layer i according to its own initialization function net.layers{i}.initFcn.

perf = msereg(E,Y,X,FP) msereg is a network performance function. It measures network performance as the weight sum of two factors: the mean squared error and the mean squared weight and bias values. msereg(E,Y,X,FP) takes E and optional function parameters,

info = initlay(code) initlay(code) returns useful information for each code string, initlay does not have any initialization parameters.

DEPT OF CSE,PESITM SHIMOGGA

Page 49

FACE RECOGNITION USING NEURAL NETWORK

Bibliography
References books:-y

Introduction to Artificial Neural Network, by Jacek M. Zurada; Jaico Publishing House, 1999.

y y

An Introduction to Neural Network, by James A. Anderson; PHI, 1999. Elements of Artificial Neural Network, K. Mehrotra, C.K. Mohan and Sanjay ranka, MIT Press, 1997.

y y

Neural Network nad Fuzzy System, by Bart Kosko; PHI, 1992. Neural Network A comprehensive foundation, Simon Haykin, Macmillan Publishing Co., Newyork, 1993.

y y y y

www.google.com www.wikipedia.org MATLAB user community Optical character recognition using novel feature extraction and neural network classification technique. B. Gatos, D. Karras.

y y

Character recognition using neural networks a MATLAB tutorial. A feature extraction technique based on character geometry for character recognition by Dinesh Dileep.

Reference sites
y http://www.cs.stir.ac.uk/~lss/NNInro/invSlides.htm y http://www.bitstar.com/nnet.htm y http://www.pmsi.fr/sxcxmpa.htm y http://www.pmsi.fr/neurinia.htm

DEPT OF CSE,PESITM SHIMOGGA

Page 50

Das könnte Ihnen auch gefallen