Docstoc

Neural Network Approach

Document Sample
Neural Network Approach Powered By Docstoc
					Face Detection Using
  Neural Network
            By
Kamaljeet Verma (05305905)
 Akshay Ukey (05305045)
        Problem Definition
Identify and locate human faces in an
image regardless of their:
– Position
– Scale
– Orientation
– Illumination
             Motivation
A challenging problem faced by Computer-
Vision community.
Face is a highly non-rigid object.
Main step before Face Recognition.
First step in many surveillance systems.
Example applications:
– Automated security systems
– Intelligence information
– Robotics
      Face Pattern Space


Consider 19 x 19 thumbnail face pattern.

Possible combinations of gray values is
256361 = 22888

Number of galaxies in the Universe ≈ 235

Extremely high dimensional space.
Difficulties in Face Detection
Facial Expressions
– Smiling, frowning, etc.
Presence or absence of structural
components
– Beard, moustache, glasses, etc.
Pose
– Frontal, upside down
Position
– Location of the face in the image.
Difficulties in Face Detection
Scale
– Size of the face in the image can vary.
Orientation
– Face appearance directly vary for different
  rotations about the camera’s optical axis
Illumination
– Images taken in different lighting conditions
  adds to the variation in face pictures.
       Example




Images from CMU dataset
        Current Research
Representation of a typical face in the
computer.
Search Strategy
Increasing the speed of the process of
system.
Achieving accuracy.
Combining detection results.
 Appearance based method
Models
– Learned from a set of training images.


Training set
– Captures the representative variability of
  facial appearance.
          Build Training Set
Proper mix of positive and negative examples.
Positive Examples
– Having as much variation as possible.
– Manually resize each into a standard size(e.g.:19 x
  19)
Negative examples
– Images not containing face
– Large image subspace
– Bootstrapping
           Representation
Raster scanned
image represented by
a vector of intensity
values.
Block-based
– Process each image
  as if divided into
  blocks.
– Blocks may be
  overlapping or non-
  overlapping
          Pre-processing
Masking
– Minimize background noise in face image
Illumination Gradient Correction
– To minimize heavy shadows due to lighting
  angles.
Histogram Equalization
– To compensate for difference in illumination
  brightness, skin colours, camera responses,
  etc.
                 Masking

 Remove near-boundary pixels with
19 x 19 binary mask.

 For avoiding unwanted background
structure from face image.

 Effectively reduces the 19 x 19 pixel
window vector space.
    Illumination Correction
Take an image of 21 x 21 pixels.
Divide it into 7 x 7 blocks.
For each block compute minimum intensity
pixel giving 3x3 minimal brightness plane.
Resize the plane to 21 x 21.
Subtract this plane from original image.
        Histogram Equalization
Equalize intensity values.

Expand range of intensities in the window.
             Classifiers
Different classifiers can be used.
Classifiers
– Neural Network
– Principal Component Analysis
– Support Vector Machines
– Naives Bayes Classifier
Neural Network Approach
Neural Network - Introduction

A modeling technique
– Based on the observed behavior of biological
  neurons.
– Used to mimic the functioning of brain.

Features
– Ability to adapt to new environments.
– Made up of large number of processing units.
– High processing speed.
– Used to solve many complex problems.
Components of a Neural Network
Four Main Components

– Processing Units (pj)
    Each pj has a certain activation level

– Weighted Interconnections
    Determine how the activation of one unit leads to input for
    another unit.

– An activation rule
    Used to produce output signals.

– A learning rule
    Specifies how to adjust the weights for a given input/output
    pair.
      The Perceptron Model
A perceptron is a computing element with input lines
having associated weights and the cell having a
threshold value.
Model motivated by the biological neuron.

                      Output (y)




                                         Threshold (θ)


                 w1   w2           wn        Weights
                             ...

                 x1     x2          x3       Inputs
     NN in Face Detection?
Neural Nets can classify data into a given set of
classes.
Face Detection Classes
– Face class
– Non Face class
Face Detection Input and Output
– The shade of GRAY of each pixel is presented to the
  neuron in parallel.
– E.g. for a 10 X 10 pixel image, there will be 100 input
  lines x1 to x100, with respective weights w1 to w100.
– The output y will represent the presence or absence
  of a face.
NN based Face Detector (Rowley)
Two Stages:
 – It applies a neural network-based filter to an
   image.
 – It arbitrates the filter outputs.
Filter
 – examines image at several scales.
 – Detects locations containing faces.
Arbitrator
 – Merges detections from individual filters
 – Eliminates overlapping detections.
    Stage 1. NN based Filter

20 X 20 window is extracted from input image.

Preprocessing
–   Applied to the 20 X 20 window.
–   Attempts to equalize the intensity values across the
    values.
–   Steps
      •   Illumination Correction
      •   Histogram Equalization
                  Stage One
Neural Network
– Input is the 20 x 20 preprocessed window.
Input Layer
– Consists of 400 pixel intensity values.
Hidden Layer
–   Consists of 3 types of hidden neurons
–   4 which look at 10 x 10 pixel subregions
–   16 which look at 5 x 5 pixel subregions
–   6 which look at overlapping 20 x 5 pixel subregions.
Output Layer
– Single neuron having real value in the range [-1,1]
– Indicates if the window contains a face or not.
Algorithm for Face Detection
                Stage One
Training
– Neural network is trained using standard
  backpropagation algorithm.
– Done on face examples gathered from face
  databases at CMU and Harvard.
– Face examples easy to find.
– Non face examples
   Very large space
   Collecting small “representative” set is difficult.
     – Bootstrapping technique can be used.
                 Stage One
Bootstrapping
1. Start with a set of non-face examples in the training
   set
2. Train the neural network with the current training set.
3. Run the learned face detector on a sequence of
   random images.
4. Collect all the non-face patterns wrongly classified
   as faces.
5. Add these non-face patterns to the training set.
6. Go to step 2 or stop if satisfied.
                      Stage One
Scaling




                                  Scale down the image by a factor
                                  of 1.2 and run the algorithm again.
Scan an input image and run the   (Process continued until image size
algorithm.                        is too small).
     Stage Two: Arbitration
Merging overlapping detections within one
network.
Use multiple networks
– initialize them to different initial weights.
– Run the algorithm.
– Different sets of negative examples will result.
– Arbitrate among their outputs.
    Eg. Signal face detection only when all the
    networks agree that there is a face.
Experimental Results
          Experimental Results




False Detect                          False Miss

The algorithm can detect between 78.9% and 90.5% of
faces in a set of 130 test images, with an acceptable
number of false detections.
            Conclusion
The neural network approach has better
performance in comparison to other
approaches.
The technique reduces the processing
time by not using fully connected network.
The approach is heavily dependent on the
training set selected.
               References
H. Rowley, S. Baluja, and T. Kanade, Neural Network-
based Face Detection, Proc. of IEEE Conf. on CVPR,
1996.
H. Rowley, S. Baluja, and T. Kanade, Neural Network-
based Face Detection. IEEE Trans. Pattern Anal.
Mach. Intelligence, 1998.
K.K Sung, and T Poggio. Example-based learning for
view-based human face detection. IEEE Trans.
Pattern Anal. Mach. Intelligence, 1998.
Recent Advances in Face Detection, IEEE ICPR 2004
Tutorial, Cambridge, United Kingdom, August 22,
2004.

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:0
posted:2/1/2013
language:English
pages:33