Sunday, March 20, 2011

Biometric Recognition Methodology part 3/4 - Artificial Neural Network Implementations

3.4 Artificial Neural Network Implementations


The capability of neural network to differentiate patterns make the backpropagation neural network is chosen to classify unknown face images. In the thesis, the proposed system implemented the binary sigmoid function in training phase. The binary sigmoid has a normalized range within 0 to 1 which can be described as;


    (3.28)


where c controls the firing angle of the sigmoid.


 Figure 3.8: The sigmoid activation function with different values of c


From figure 3.8 when c is large, the sigmoid becomes like a threshold function and when c is small, the sigmoid becomes more like a straight line (linear). If value of c is large, the learning faster but a lot of information is lost. However, more information is gain although the speed very slow with small amount of c. Because of this function is differentiable, it enables the backpropagation algorithm to adapt the lower layer of weights in a multilayer neural network [Marzuki Khalid, 2005]. This backpropagation algorithm is explained in the following paragraph.



3.4.1 Backpropagation Algorithm


The backpropagation algorithm involves training and testing phase. For the training phase, include this information;


a) Obtain set of the training patterns from previous weight feature vectors .
b) Set up number of Input neuron , Hidden neuron  and Output neuron .
c) Set learning rate  and momentum rate .
d) Initialize all connection   with arranged [-0.5, 0.5].
e) Assume the firing angle of the logistic activation function, .
f) Initialize bias weight   with value 1 to speed up the convergence process.
g) Set minimum error, .
h) Continue the process from the Figure 3.9.


 Figure 3.9: Diagram for training phase using Backpropagation Neural Network



Once the training is finished, the optimal weight  and  is chosen. A large number of training patterns would make the network better of generalization the optimal weight is then utilize in the testing phase described in the Figure 3.10. The diagram shows how the recognition is performed for the unknown face image. The feature vector of the unknown face image is treated as the input to the neural network.


Figure 3.10: Diagram for Testing Phase


During the feed forward, each input neuron receives an input signal. Each input neuron transmits the signal to each hidden neuron (equation 3.29) that applies the activation function (previous equation 3.28) and passes it to each output layer (equation 3.30). Each output layer applies the activation function to obtain the network output (equation 3.31 and 3.32). The network finally compared the target value and the error is obtained (equation 3.33). The algorithm of forward propagation is shown in Figure 3.11.


 Figure 3.11: Forward Propagation algorithm

As the training phase involved the calculation and backpropagation of the associated error until the network is generalized acceptable, the previous error (equation 3.33) is obtained. If the error unacceptable, the error signal at output layer (equation 3.34) and input layer (equation 3.35) is determine (Figure 3.12).


Figure 3.12: Backward propagation Algorithm


Since the backward propagation is applied, the previous weights are updated simultaneously. The weight between output and hidden layer (equation 3.36 and 3.37) and hidden and input (equation 3.38 and 3.39) are updated using the algorithm in Figure 3.13.


Figure 3.13: Weight adaptation algorithm


In the training phase, the weight and the biases of the network are iteratively adjusted to minimize the network error. The default performance function for feedforward network is mean square error (MSE) - the average squared error between the network output k and the target output t is illustrated as;


    (3.40)


3.5 Classifier Models


Classifier is last phase where the feature vectors from the unknown face image will categorize by chosen classifier model either the face is recognized or not. Since the research proposed has three different models, each model also has its own classifier with different criteria. These models are explained in the next paragraph.


3.5.1 Model A Classifier

Model A is implementing the traditional Euclidean Distance [Turk M, 1991, Atalay I, 1996], thus no training phase is required. The trained feature vectors are keeping in the database corresponding its class or person. Classification is performed by comparing the feature vectors of the feature vectors in the database with the feature vector of the input face image. The comparison is given in equation 3.41.


 (3.41)


If the comparison falls within the threshold, the input face image is classified as “known” otherwise is classified as “unknown”. Then if the comparison also falls into its corresponding class, is classified as “Recognize”.


3.5.2 Model B Classifier


The proposed Model B is unlike the previous model which this model is required the training phase. Figure 3.14 shows the Model B architecture [Puteh Saad, 2001] where as mention earlier, the feature vectors are using as input to the network.


 Figure 3.14: Proposed Model B Classifier Architecture


As the model B using neural network for classification, the numbers of hidden neurons and output neurons have to identify. Since only single neural network is required, thus this network is requested multiple output neurons to differentiate within each person (Figure 3.15).


 Figure 3.15: A multiple Output neuron for proposed model B 


The total number of output neurons in Model B is identified by the number of classes used in the training phase. The number of classes utilized in the training is represented by  where  is the total classes used in the training phase (Figure 3.16). Each class   then converted using a set of unique binary to represent its identity for learning and recognition (Figure 3.17).


  Figure 3.16:  Algorithm to generate the number of output node


  Figure 3.17: Algorithm to convert decimal number to binary


Once the training phase is finished, the optimal weight is obtained. Model B recognizes the unknown face image by feed to the neural network and the nearest answer within the train output target is classified as a class or individual to that unknown face image.


3.5.3 Model C Classifier


Unlike model B, the last approach of model C uses multiple neural networks but single output neuron [Qing Jiang].  The number of neural network is relying with the total number of class affected in training phase. Each neural network (Figure 3.18) has an output neuron which the target is set into 0 or 1.

 Figure 3.18: A multilayer with one Output neuron for Model C


  In Model C, the feature vectors are trained separately into its neural network but the number of hidden layer synchronized within each neural network. In every training phase, the trained face images in corresponding class neural network are set as 1 for their output target and others face images are 0.


Model C classify unknown face image with its feature vector to each class neural network. The class neural network which its output neuron gave less than error  , is classify as the answer class for that unknown input face image.

0 comments:

Post a Comment