Synopsis of 3D Face recognition system

download Synopsis of 3D Face recognition system

of 15

Transcript of Synopsis of 3D Face recognition system

  • 8/12/2019 Synopsis of 3D Face recognition system

    1/15

    Institute of Engineering and Technology, Lucknow

    MAJOR PROJECT SYNOPSISOn

    3 DIMENSIONAL FACIAL RECOGNITION

    Submitted inpartial fulfillment of the requirement for the degree ofBachelor ofEngineering in Computer Science

    Department of Computer Science and Engineering

    (Session 2013-14)

    Submitted by,

    Anubhav Shrivastava

    [1005210009]

    Computer Science and Engineering

    Project guide:

    Dr. Y N Singh

  • 8/12/2019 Synopsis of 3D Face recognition system

    2/15

    Acknowledgement:-

    The moment of acknowledgement is one of the pride thatgives up a feeling of cherish about, I take this opportunity to

    express my sincere gratitude to all who contributed in

    making this work possible with in time.

    My heartiest indebtedness to the Associate Professor Dr.

    Y N Singh to patronized me in all times. I also wish to

    express my deep sense of gratitude to Mr. Radheshayam

    for his continuous and tireless support and advice.

    I give sincere thanks to the rest for their kind guidance

    and technical expertise extended us to complete this

    project staff of Computer Science and Engineering

    Department.

    Anubhav Shrivastava

    (100521009)

    3

  • 8/12/2019 Synopsis of 3D Face recognition system

    3/15

    I NDEX

    1) OBJECTIVE

    2) DESCRIPTION

    a) WORKING PRINCIPLE

    b) TECHNOLOGY USED

    c) RELATED WORK

    3) APPLICATION

    4) HARDWARE AND SOFTWARE REQUIREMENTS

    5) REFERENCES

    4

  • 8/12/2019 Synopsis of 3D Face recognition system

    4/15

    OBJECTIVE

    To develop a THREE DIMENSIONALFACIAL RECOGNITION

    SYSTEM.

    DESCRIPTION

    A face recognition is a computer application for automaticallyidentifying or verifying a person from a digital image or a video framefrom a video source. One of the ways to do this is by comparingselected facial features from the image and a facial database.

    At the access point, an image of someones faceis captured by acamera and is matched against pre-stored images of the sameperson. Only if there is a match, access is permitted, e.g. the dooropens. A Face recognition is also a crucial component of ubiquitous

    and pervasive computing, which aims at incorporating intelligence inour living environment and allowing humans to interact with machinesin a natural way, just like people interact with each others ID orpassport.

    The fact that face recognition is an essential tool for interpretinghuman actions, human emotions, facial expressions, human behaviorand intentions, and is also an extremely natural and non-intrusivetechnique, makes it an excellent choice for ambient intelligenceapplications.

    5

  • 8/12/2019 Synopsis of 3D Face recognition system

    5/15

    WORKINGPRINCIPLE

    Our system operates in two stages: it first applies a set of neural network-

    based filters to an image, and then uses an arbitrator to combine the outputs.

    The filters examine each location in the image at several scales, looking for

    locations that might contain a face. The arbitrator then merges detectionsfrom individual filters and eliminates overlapping detections.

    TECHNOLOGY USED:

    NEURAL NETWORK

    STAGE 1

    A Neural Network-Based Filter

    The first component of our system is a filter that receives as input a 20x20

    pixel region of the image, and generates an output ranging from 1 to -1,

    signifying the presence or absence of a face, respectively. To detect faces

    anywhere in the input, the filter is applied at every location in the image. To

    detect faces larger than the window size, the input image is repeatedly

    reduced in size (by sub sampling), and the filter is applied at each size. This

    filter must have some invariance to position and scale. The amount of

    invariance determines the number of scales and positions at which it must be

    applied. For the work presented here, we apply the filter at every pixelposition in the image, and scale the image down by a factor of 1.2 for each

    step in the pyramid.

    First, a preprocessing step, is applied to a window of the image. The window

    is then passed through a neural network, which decides whether the window

    contains a face. The preprocessing first attempts to equalize the intensity

    values in across the window. We fit a function which varies linearly across

    thewindow to the intensity values in an oval region inside the window. Pixels

    outside the oval may represent the background, so those intensity values are

    ignored in computing the lighting variation across the face. The linearfunction will approximate the overall brightness of each part of the window,

    and can be subtracted from the window to compensate for a variety of

    lighting conditions. Then histogram equalization is performed, which non-

    linearly maps the intensity values to expand the range of

    6

  • 8/12/2019 Synopsis of 3D Face recognition system

    6/15

    NeuralNetwork-BasedFaceDetecJioo

    ilpulizclp, op)nmid Emcta.iiDI!o< C

  • 8/12/2019 Synopsis of 3D Face recognition system

    7/15

    is then passed through a neural network. There are three types of hidden

    units: 4 which look at 10x10 pixel sub regions , 16 which look at 5x5 pixel

    sub regions , and 6 which look at overlapping 20x5 pixel horizontal stripes

    of pixels. Each of these types was chosen to allow the hidden units to detect

    local features. In particular, the horizontal stripes allow the hidden units to

    detect such features as mouths or pairs of eyes, while the hidden units with

    square receptive fields might detect features such as individual eyes, thenose, or corners of the mouth. Although the figure shows a single hidden

    unit for each sub region of the input, these units can be replicated. For the

    experiments which are described later, we use networks with two and three

    sets of these hidden units.The network has a single, real-valued output,

    which indicates whether or not the window contains a face.

    To train the neural network used in stage one to serve as an accurate filter, a

    large number of face and non face images are needed. The images contained

    faces of various sizes, orientations , positions, and intensities. The eyes, tip

    of nose, and corners and center of the mouth of each face were labeled

    manually. These points were used to normalize each face to the sameScale , orientation, and position, as follows:

    1. Initialize_ F, a vector which will be the average positions of each labeledfeature over all the faces, with the feature locations in the first face F1.

    2. The feature coordinates in_ F are rotated, translated, and scaled, so thatthe average locations of the eyes will appear at predetermined locations in a

    20x20 pixel window.

    3. For each face i, compute the best rotation, translation, and scaling to align

    the facesfeatures Fi with the average feature locations_ F. Suchtransformations can be written as a linear function of their parameters. Thus,

    we can write a system of linear equations mapping the features from Fi to_F. The least squares solution to this over-constrained system yields the

    parameters for the best alignment transformation. Call the aligned feature

    locations F0 i .4. Update_ Fby averaging the aligned feature locations F0ifor each face i.5. Go to step 2.

    The alignment algorithm converges within five iterations, yielding for each

    face a function which maps that face to a 20x20 pixel window. Fifteen face

    examples are generated for the training set from each original image, by

    randomly rotating the images (about their center points) up to 10_,scaling

    between 90% and 110%, translating up to half a pixel, and mirroring. Each

    20x20 window in the set is then preprocessed (by applying lighting

    correction and histogram equalization). The randomization gives the filter

    8

  • 8/12/2019 Synopsis of 3D Face recognition system

    8/15

    invariance to translations of less than a pixel and scaling of 20%. Larger

    changes in translation and scale are dealt with by applying the filter at every

    pixel position in an image pyramid, in which the images are scaled by

    factors of 1.2. Practically any image can serve as a non face example

    becausethe space of non face images is much larger than the space of face

    images. Instead of collecting the images before training is started, the images

    are collected during training, in the following manner.

    1. Create an initial set of non face images by generating 1000 random

    images. Apply the preprocessing steps to each of these images.

    2. Train a neural network to produce an output of 1 for the face examples,

    and -1 for the non face examples. The training algorithm is standard error

    back propogation with momentum. On the first iteration of this loop, the

    networks weights are initialized randomly. After the first iteration, we use

    the weights computed by training in the previous iteration as the starting

    point.

    3. Run the system on an image of scenery which contains no faces. Collect

    sub images in which the network incorrectly identifies a face (an output

    activation> 0).

    4. Select up to 250 of these sub images at random, apply the preprocessing

    steps, and add them into the training set as negative examples. Go to step 2.

    Stage Two

    Merging Overlapping Detections and Arbitration

    In this section, we present two strategies to improve the reliability of the

    detector: merging overlapping detections from a single network and

    arbitrating among multiple networks.

    Merging Overlapping Detections

    For each location and scale, the number of detections within a specified

    neighborhood of that location can be counted. If the number is above a

    threshold, then that location is classified as a face. The centroid of the

    9

  • 8/12/2019 Synopsis of 3D Face recognition system

    9/15

    = =

    NeuralNetwork-B asedFareDetect ion

    Figure3:Imageswithalltheabovethresholddetectionsindicatedbyboxes.

    lrjll;l

    11;1;Figure4:E.xamplefaceimages(theauthors),randomlymirrored,rotated,translated,andscaledbysmallamounts.

    FigureS:Duringtraining,thepartiall y-traine dsystemis appliedto imagesofscenery whichdonotcontainfaces(liketheoneontheleft).Arrje ons intheimagedetectedasfaces(whichareexpandedandshownontheright)areerrors,whichcanbeaddedintotheseiofnegativetrainingexamples.

    nearby detections defines the location of the detection result, thereby

    collapsing multiple detections. In the experiments section, this heuristic

    will be referred to as "thresholding".Ifa particular location is correctly

    identified as a face, then all other detection locations which overlap it are

    10

  • 8/12/2019 Synopsis of 3D Face recognition system

    10/15

    likely to be errors, and can therefore be eliminated. Based on the above

    heuristic regarding nearby detections, we preserve the location with the higher

    number of detections within Neural Network-Based Face Detection small

    neighborhood, and eliminate locations with fewer detections . Each detection

    at a particular location and scale is marked in an image pyramid, labelled the

    outputpyramid. Then, each location in the pyramid is replaced by the

    number of detections in a specified neighborhood of thatlocation. This has the effect of spreading outthe detections. Normally, the

    neighborhood extends an equal number of pixels in the dimensions of scale

    and position. All detections contributing to a centroid are collapsed down to

    asingle point. Each centroid is then examined in order, starting

    from the ones which had the highest number of detections within the

    specified neighborhood. If any other centroid locations represent a face

    overlapping with the current centroid, they are removed from the output

    pyramid. All remaining centroid locations constitute the final detection

    result.

    Arbitration among Multiple Networks

    To further reduce the number of false positives, we can apply multiple

    networks, and arbitrate between their outputs to produce the final decision.

    Each network is trained in a similar manner, but with random initial weights,

    random initial non face images, and permutations of the order of

    presentation of the scenery images. As will be seen in the next section, the

    detection and false positive rates of the individual networks will be quite

    close. However, because of different training conditions and because of self-selection of negative training examples, the networks will have different

    biases and will make different errors. Each detection at a particular position

    And scale is recorded in an image pyramid, as was done with the previous

    heuristics. One way to combine two such pyramids is by ANDing them. This

    strategy signals a detection only if both networks detect a face at precisely

    the same scale and position. Due to the different biases of the individual

    networks, they will rarely agree on a false detection of a face. This allows

    ANDing to eliminate most false detections. Unfortunately, this heuristic can

    decrease the detection rate because a face detected by only one network will

    be thrown out. However, we will see later that individual networks can all

    detect roughly the same set of faces, so that the number of faces lost

    due to ANDing is small. Similar heuristics, such as ORing the outputs of two

    networks, or voting among three networks,were also tried. Each of these

    arbitration methods can be applied before or after the thresholding

    11

  • 8/12/2019 Synopsis of 3D Face recognition system

    11/15

    and overlapeliminationheuristics. If applied afterwards, we combine the

    centroid locations rather than actual detection locations, and require them to

    be within some neighborhood of one another rather than precisely aligned.

    arbitration strategies such as ANDing, ORing, or voting seem intuitively

    reasonable, but perhaps there are some less obvious heuristics that could

    perform better. To test this hypothesis, we applied a separate neural networkto arbitrate among multiple detection networks. For a location of interest, the

    arbitration network examines a small neighborhood surrounding that

    location in the Neural Network-Based Face Detection output pyramid of

    each individual network. For each pyramid, we count the number of

    detectionsin a 3x3 pixel region at each of three scales around the location of

    interest, resulting in three numbers for each detector, which are fed to the

    arbitration network The arbitration network is trained to produce a positive

    output for a given set of inputs only if that location contains a face, and to

    produce a negative output for locations without a face.

    RELATED WORK:

    12

  • 8/12/2019 Synopsis of 3D Face recognition system

    12/15

    Different face recognition techniques can be broadly classified intofour categories :

    1. Eigenfaces

    2. Feature based

    3. Hidden Markov Model

    4.Neural Network based algorithms.

    Performances of implementations of different algorithms wereevaluated on different databases of face. Some of the recognizedface databases are : CMU face database, Olivetti ResearchLaboratory face database and MIT face database.

    Eigenfaces for face representation was used first used by Sirovichand Kirvy which was later developed by Truk and Pentland for facerecognition. Different techniques have been developed using neuralnetworks. The implemention by Lawrence, Giles,Tsoi and Backshowed good results. Taylor and Cootes used Active AppearanceModel to design a system for face identification. Some comparisonhas been done between eigenfaces vs fisherfaces, eigenfaces vsfeature based techniques and likewise.

    APPLICATIONS

    13

  • 8/12/2019 Synopsis of 3D Face recognition system

    13/15

    Machine recognition of human faces is used in a variety ofcivilian and law enforcement applications that require reliablerecognition of humans.

    Identity verification for physical access control in buildings or

    security areas is one of the face recognition applications. For high security areas, a combination with card terminals is

    possible, so that a double check is performed for example inairports to facilitate the crew and airport staff to pass throughdifferent control levels.

    A smart home should be able to recognize the owners, theirfamily, friends and guests, remember their preferences (fromfavorite food and TV program to room temperature), understandwhat they are saying, where are they looking at, what eachgesture, movement or expression means, and according to allthese cues to be able to facilitate every-day life.

    HARDWAREREQUIREMENTS

    14

  • 8/12/2019 Synopsis of 3D Face recognition system

    14/15

    Min 256mb RAM

    P2 and above processor

    Hard disk-min 2 MB

    webcam

    SOFTWAREREQUIREMENT

    Operating system: windows xp, vista

    Development tool- .net

    File system NTFS

    REFERENCES

    15

  • 8/12/2019 Synopsis of 3D Face recognition system

    15/15

    1. T. M. Mitchell. Machine Learning. McGraw-Hill InternationalEdition, 1997.

    2. D. Pissarenko. Neural networks for financial time series prediction:Overview over recent research. BSc thesis, 2002.

    3. L. I. Smith. A tutorial on principal components analysis, February

    2002. URLhttp://www.cs.otago.ac.nz/cosc453/student_tutorials/principal_components.pdf. (URL accessed on November 27, 2002).

    4. M. Turk and A. Pentland. Eigenfaces for recognition. Journal ofCognitive Neuroscience, 3 (1), 1991a. URLhttp://www.cs.ucsb.edu/ mturk/Papers/jcn.pdf. (URL accessed onNovember 27, 2002).

    5 . M. A. Turk and A. P. Pentland. Face recognition using eigenfaces.In Proc. of Computer Vision and Pattern Recognition, pages 586-

    591. IEEE, June 1991b.URLhttp://www.cs.wisc.edu/ dyer/cs540/handouts/mturk-CVPR91.pdf. (URL accessed on November 27, 2002).

    16

    http://www.cs.otago.ac.nz/cosc453/student_tutorials/principal_compohttp://www.cs.otago.ac.nz/cosc453/student_tutorials/principal_compohttp://www.cs.ucsb.edu/http://www.cs.ucsb.edu/http://www.cs.wisc.edu/http://www.cs.wisc.edu/http://www.cs.ucsb.edu/http://www.cs.ucsb.edu/http://www.cs.otago.ac.nz/cosc453/student_tutorials/principal_compohttp://www.cs.otago.ac.nz/cosc453/student_tutorials/principal_compo