Keywords

1 Introduction

Soft computing is one of the recent technique for solving most complex problems whose solutions are mostly uncertain. Also in most of the cases even the problem will not be defined completely. Fuzzy logic, Genetic algorithm and Neural networks are the components of Soft Computing. Soft computing techniques try to replicate human mind. Human mind is a very complex system. Human mind has the power to solve problems even when the problem is not completely defined. Also most complex problems can be solved easily by human mind. Soft computing techniques are trying to copy this ability of human mind. It is not based on a perfect solution which depends entirely on the statistical data available. It is applied when the solution of a problem is uncertain or unpredictable. The answer to the problem will be an approximation. Soft computing methods can be applied when conventional methods fail to find any solution [1].

Soft computing methods find wide applications in solving intractable problems, Pattern matching, Approximation, Classification, Optimization, In mobile Adhoc Network, Driver Drowsiness Detection etc.

Various techniques employ soft computing along with conventional face recognition methods to increase the efficiency and accuracy of face recognition system. Combination of Principal Component Analysis with Two-layer feed forward network, Combination of soft computing by adding stochasticity to conventional Radial Basis Function Neural Network, Concept of Surface curvatures with Cascade Architectures of Fuzzy Neural Networks, Progressive switching pattern and soft computing and Fuzzy clustering techniques are discussed in this paper.

The paper is structured as follows. Section 2 gives a brief description of the various steps involved in face recognition. Section 3 reviews the need for soft computing in face recognition. Section 4 gives a basic idea about the working of neural network. In Sect. 5 different algorithms for face recognition employing soft computing are discussed. This section gives a brief insight of the various steps involved in each method. This section also gives an idea of how to incorporate soft computing in face recognition so as to improve the efficiency of the system. Section 6 gives the result of the study in a tabular form with a brief description. The study is concluded in Sect. 7.

2 Face Recognition

Face recognition is one of the practical application of pattern recognition problem. It is a very strong biometric verification method. Now days a lot of mobile phones rely on face recognition as a security feature for unlocking. Apart from this face recognition find wide application in Human computer interaction, law enforcement, face tagging etc. Face recognition is a complex problem. This is due to the fact that the human face is flexible. It can change with a lot of factors. So normal pattern matching may give erroneous results.

The basic steps in face recognition are (i) preprocessing (ii) Face detection (iii) Face area cropping (iv) Feature Extraction (v) Classification (vi) Recognition [2].

Face feature extraction can be done using Appearance based methods or Geometric feature based methods. Both methods have their own advantages and disadvantages. Some algorithms use a hybrid method.

Once the features are extracted the extracted features can be used for classification.

3 Need for Soft Computing in Face Recognition

Soft Computing Techniques are applied when the problem is complex or solution to the problem is uncertain due to the complexity of the problem. Face recognition is a very complex and unpredictable problem under unconstrained conditions. There can be a lot of uncertainties in face recognition due to following challenges [3].

  1. a.

    Pose change

  2. b.

    Expression changes

  3. c.

    Presence of Occlusions

  4. d.

    Illumination changes

  5. e.

    Ageing

Any of these challenges introduces uncertainty in the problem of face recognition. So in order to address any of these challenges application of soft computing is found to be useful. More over the application of soft computing has increased the accuracy level of face recognition under unconstrained conditions.

4 Neural Networks

As stated earlier neural network is a Soft Computing Technique. Neural network has the ability of self-learning and adaptability [4]. That is NN has the ability to make its own organization and there by solve most complex problems. It also deals with data which is imprecise or incomplete and it can derive meaningful information from this incomplete data. Neural networks are based on the Human Brain structure. Computers can do large scale of repeated calculations very well but when it comes to complex problems like pattern recognition the performance of computer is far behind human brain. Artificial neural network’s role becomes very relevant in such conditions. In Human brain the information is stored as patterns. Human brain recognizes faces based on the patterns stored in the brain. Using ANN computers are trying to copy the same method for face recognition.

Basically the topologies of all the Artificial neural networks are same. There are 3 basic layers for ANN. They are the input layer, hidden layers and Output layer. The input layer accepts the information from outside. This information will be passed on to the hidden layers through the connectors for further processing. These layers consist of neurons and weights. The final result will be obtained from the output layer after processing.

Based on the connections ANN can be classified as Backpropagation Neural Network (BPNN) and Feedforward neural network. BPNN is used to train Multilayer Perceptron. Multilayer Perceptron is a network constituted by input layer, hidden layers and output layer. Input layer consist of a set of sensory units. BPNN is computationally heavy and time taken for training is more.

Feedforward neural network is a unidirectional network in which the information will be transferred only in one direction. There will not be any feedback loop. This network also consists of input layer, hidden layers and an output layer. Here the inputs will be applied to the input layer and the output produced by this layer will be transferred to the first level of the hidden layer. Similarly, the output of each layer is input to the next layer. In this network the final output solely depends on the current inputs and weights. There is no memory for this neural network.

The neural networks will be trained by using training images. The neural network studies the problem from these training images. Once the neural network is trained it can be used to Identify the test images.

5 Different Algorithms for Face Recognition Employing Soft Computing

5.1 Face Recognition Using Principal Component Analysis and Artificial Neural Network of Facial Images Datasets in Soft Computing

Satonkar, Pathak and Khanale presents a face recognition using Principal Component Analysis and Two-Layer Feed Forward Neural Network in their paper [5]. In the paper dimensionality reduction is done by using Principal Component Analysis (PCA) there by obtaining the feature vector. These input feature vectors are fed into a two-layer feed forward neural network. The neural network is trained first using the training images and then tested using the test images.

The Eigen faces are obtained from the input image by applying PCA. This causes considerable reduction in the dimension while retaining the important details in the image. The Eigen vector values are sorted from high value to low value. The highest Eigen value gives the principal component. Once the high valued Eigen vectors are chosen they are used to form the feature vector. This feature vector is given as input to the neural Network.

The artificial neural network (ANN) consists of information processing units called neurons. Connection links and weights are other components of the ANN. Connection links are used to transmit the input signals through the neural network. The connection links consists of weights and these weights are multiplied to the input signals. Thus the net input is obtained. Activations are applied to these net input signal to achieve the output signal. The result of neural network will depend on the weights. The value of the weights are assigned during the training session. The neural network will also be having a bias which is fixed as one in the proposed method. Here a two-layer feed forward neural network is used instead of a single layer one. The weights and bias are updated based on gradient descent and adaptive learning rate. The performance of the system is expressed in terms of mean squared error. Once the training is completed the neural network will be ready for recognition. The network was trained for 700 epochs. 71 images were selected from Face95 database and 5 local images were used for testing. For the 71 images from the Face95 database the performance was 0.087516 with 337 epochs and for the local images it was 0.029753 with 127 epochs. For the both the databases the neural network took only few seconds for execution. Also in both the cases the accuracy is reported as 100%.

5.2 Conventional Radial Basis Function Neural Network and Human Face Recognition Using Soft Computing Radial Basis Function

In this paper Pensuwon, Adams and Davey proposed a new method in which the conventional Radial Basis Function Neural Network is clubbed with Soft computing to achieve a more efficient face recognition system [6]. Here Soft computing acts as an intelligent system which strengthens the RBF neural network by making it to work like human mind. By using soft computing, it is possible to achieve a robust and low cost solution to a problem. Here the principle is to add uncertainty, approximation and partial truth and exploit the tolerance of imprecision.

In Conventional RBFN the input space is divided into subclasses and each class is assigned a value in the center. This value is called the prototype value. When an input vector is initiated a function is used to find the distance of the input vector with the prototype or center value of each class. This membership function value is calculated for all the sub classes. The membership function should attain maximum value in the center i.e. zero distance. After attaining the membership values of the input vector in each subclass the results are combined to find the membership degree.

In the proposed system soft computing is implemented by the introduction of stochasticity into the problem of calculating the output of RBF units. The stochastic value of n center values of RBF units introduced is given by the sigmoid function

$$ {\text{y}}_{\text{n}}^{{\prime }} = 0.5*\left( {1 + \left( {{ \tanh }\left( {0.5*{\text{y}}_{\text{n}} } \right)} \right)} \right) $$
(1)

The decision of whether to keep the new center value or not depends on the comparison of the new value to a random value between 0 and 1. If the new value is larger, the new value is taken as the RBF center value. If it’s not the case, then the original value of RBF units is kept as such.

Addition of stochasticity to the RBF units has resulted in better classification. The improved RBFN method has shown improvement in the recognition rate, reduced training time and testing time when compared with the traditional RBFN method.

5.3 Soft Computing Based Range Facial Recognition Using Eigen Faces

This is a 3D facial recognition system proposed by Lee, Han and Kim which takes into consideration the surface curvatures [7]. In order to reduce the dimensionality Eigen faces are considered. Eigen faces reduces data dimension without much loss in the original information contained in the image.

The 3D image is taken by using a laser scanner. The laser scanner image can have accurate depth information. This is owing to the fact that the laser scanner uses a filter and laser. The 3D image obtained by using laser scanner is least affected by lighting illuminations.

In order to increase the accuracy of face recognition the normalized face images are considered. For normalizing the facial image nose end is considered as reference. This is because of two reasons. In a 3 D image nose is the most protruded element in a face. Also nose is placed in the middle of the face while considering the frontal face image. Thus nose can play a vital role in normalization of the face. The nose point is extracted by using iterative selection method. Here normalization means to place the face in the standard special position. For this panning, tilting and rotation are done as per required for the particular image [8].

In the proposed algorithm the surface type of each point in the face is determined by applying Principal, Gaussian and Mean curvatures. These curvatures are calculated along with the sign to determine the surface type. The values can be positive, negative or zero. Then z(x, y) is found out which gives the surface depth information. Once z(x, y) is found first fundamental form and second fundamental forms are calculated using the formalism introduced by Peet and Sahota [9]. The first fundamental form gives the arc length of surface of the point under consideration. The second fundamental form gives the curvature of these curves at the point under consideration in the given direction. Then the minimum and maximum curvatures represented by k1 and k2 are calculated. These are called the Principal curvatures. They are invariant to the motion of the surface. The Gaussian curvature and Mean curvature are calculated using the values of principal curvatures k1 and k2. For the characterization of the facial image the Principal curvatures and Gaussian curvatures are the most suited values.

Next step is to find the Eigen face. Eigen faces are calculated in order to reduce the dimension. This reduces the complexity of the overall problem. Face Identification is a pattern recognition problem. Once the Eigen faces are calculated the pattern recognition is carried out in the Eigen faces instead of the original image. The usual method of identification is to use Euclidian distance to calculate the difference of the test image with a predefined face class. In the proposed method instead of using Euclidian Distance Cascade Architectures of Fuzzy Neural Networks (CAFNN) is used.

CAFNN was originally introduced by Pedrycz, Reformat and Han [10]. CAFNN is comprised of Logic Processors. These logic processors are cascaded and they consist of fuzzy neurons. Here memetic algorithm is used to optimize the input subset and connections. Thus a close fisted knowledge base is constructed. Even though the knowledge base is parsimonious it is an accurate one [11]. Memetic algorithm is used since it is a very effective algorithm. The output class of the problem is fuzzified as binary for classification. Here Winner-take-all method is used to find out to which class the test data belongs. For example, if there are 5 face images i.e. there are 5 classes, the number of output crisp dataset is 5. Suppose the test image belongs to class 3 then the Boolean output will be “0 0 1 0 0”. The “1” in 3rd position represents that the test image belongs to class 3. This is decided based on the membership value. The test data belongs to the class were the membership value is maximum.

5.4 Recognition of Human Face from Side-View Using Progressive Switching Pattern and Soft-Computing Technique

Raja, Sinha and Dubey has proposed a method for recognition of human face from the side view pose. Most of the face recognition problems deals with the frontal face images [12]. Of the Face recognition methods developed so far only a small percentage of face recognition methods deals with side poses. So the work done by Raja et.al. is very relevant in face recognition. In the proposed method both frontal image and profile views are used but in different aspects. The frontal views are used for learning while the profile views are used for understanding.

As discussed for learning purpose the frontal images are considered. The feature vector is formed from the features extracted from the frontal image. For understanding the features are extracted from the side view. This is a very tedious process because it is very knowledge intensive. For this the Progressive switching pattern and Soft-Computing are employed. Built, Complexion, hair and texture are the categories of features that are extracted from the side view for understanding purpose.

In this work front face analysis and side face analysis is done. Front face analysis employs Statistical methods like Cross correlation and Auto correlation using 4 neighborhoods and 8 neighborhoods. Also the mean clusters are calculated using Fuzzy- C means clustering methods. The extracted features are stored as trained dataset. In the side face analysis, a progressive switching angle is introduced and its value is initialized to 0. Before extracting the features morphological operations such as thinning and thickening are done. As in the case of frontal face here also cross correlation and auto correlation are applied. Also to obtain the mean of the clusters Fuzzy-C means clustering method is used. Then the distance measure of the extracted features of the test image is stored. Forward-Backward dynamic programming of neural network is used to find the best fitting patterns. The process is validated using genetic algorithm. If the best fit testing fails, the progressive switching angle is increased by one step and the whole process is repeated starting from feature extraction. This is done until a best fit is found out. The steps usually used are of size 5. If the speed of processing is to be increased the step size can be incremented to 10 instead of 5. Once the best fit is found out Support Vector Machine is used for classification and characterization.

In the proposed method nineteen parameters are extracted from the frontal face image and they are stored in the corpus. Also the distances measured between these features are stored. From the 19 parameters few of the parameters are used in the understanding part. Some of the parameters are forehead width, eyes to nose distance, lips to chin distance, eyes to lips distance, number of wrinkles, Texture of face, normal behavior pattern etc. The results of this method were found to be remarkable.

5.5 Face Recognition Using Fuzzy Clustering Technique

Aradhana, Karibasappa, Reddy had discussed in their paper about how fuzzy clustering technique can be employed in face recognition [13]. In the proposed method a cognitive model of the human face is designed. Fuzzy clustering can be done in different methods. Some of them are Hierarchical clustering [14], Interactive clustering [15], Fuzzy-C means clustering [16, 17], Partitional clustering [18] etc. In the proposed method Fuzzy clustering is utilized for recognizing human face. For this a R-dimensional matrix is created using the face image database. For this initially the face image is divided into segments such as eyes, nose and mouth. The representative nodes for these segments, i.e. eyes, nose and mouth will be present in the database. There will be representative node for various types of eyes such as normal, short, long. Similarly, there will representative nodes for various types of nose and mouth also. For nose the categories may be normal, flat, small, long, moderately small etc. Mouth can be categorized as normal, long, short. Each type of eyes, nose or mouth will be grouped into a cluster and the representative nodes will be the cluster center. Thus the no. of comparisons may be reduced since the comparison is made with the representative nodes and not the whole database. While comparing the distance of descent of each feature i.e. eyes, nose and mouth of the test image with the representative nodes is calculated and stored in a matrix called the fuzzy scatter matrix. The matching is done based on the distance of descent. For matching the distance should be minimum. Fuzzy If Then rule is used for the final face recognition. The most critical factor in this method is the selection of the representative node because the accuracy of the system depends entirely on the representative node. Any change in the representative node will affect the whole process. In the proposed method a heuristic approach is made which cover all variations of the facial features. The proposed method used Yale database and a local database which consisted of 400 images with 40 classes. The facial features are extracted by using cross-correlation method. The results show that the fuzzy clustering method is better than PCA and PCA BPNN when the image set is big since in the fuzzy clustering technique only representative nodes are considered. When the acceptance ratio is compared the proposed methods is better than PCA and it is giving a performance as strong as PCA with BPNN. For larger image set when the execution times are considered the proposed method is better than PCA and PCA with BPNN. So overall performance of the proposed technique is better than PCA and PCA with BPNN.

6 Result

A study of the importance of Soft Computing in Face recognition is done in this paper. The paper also examines how soft computing techniques are incorporated with the conventional face recognition methods to achieve better result. Various methods and Techniques used in face recognition for employing the soft computing are discussed in the Table 1. The key points give the advantages of using soft computing techniques.

Table 1. Review of application of soft computing techniques in face recongnition

7 Conclusion

This paper examines the application of soft computing techniques in face recognition. Six methods which gives efficient output are reviewed in this paper. Importance is given to how soft computing is incorporated in each method. Studies have proved that employing soft computing methods have improved the efficiency of the conventional methods. Application of genetic algorithm and fuzzy logic are also reviewed apart to neural network. Some methods use combination of these techniques i.e. neural network, fuzzy logic and genetic algorithm. The importance of Eigen faces are also discussed. Using the soft computing techniques have helped in overcoming some of the challenges like illumination differences, change in poses etc.