Face Detection Using Fusion of LBP and AdaBoost

The human face is a dynamic object which a high degree of variability exists in its appearance. This makes the face detection to be considered as the first and most essential step in face recognition systems. The aim of the face detection is the segmentation of the face. There are several problems in face detection, including state switching, changing light intensity, face covering, etc. To solve these problems, the present study utilizes an advanced algorithm based on the LBP method and a structured Adaboost algorithm using the FERET database. The output will be attained by entering the normalized data into a three-layer LBP Adaboost fed with the data from data bases. It was found that the method has the acceptable detection accuracy of 75%, detection feature of 72% and sensitivity of 77% , and the final detection result of the human face is up to 98% possible.


Introduction
Face plays a major role in identifying people and displaying their feelings in the society.The human possesses a significant ability to recognize faces.This skill stands against changes in visual conditions such as facial expression, age, as well as changes in glasses, beard or hair style.Currently, understanding the human face is an area of active research in the field of machine vision for which the detection or determination the location of a human face is a prerequisite [1].In fact, face detection is the first essential step in face recognition systems.Of its applications, one may refer to person tracking, security in public and military environments, recovery or blocking indecent and obscene content, access control, legal affairs, licensing and identification documents and supervision in areas such as human computer interaction, virtual reality, recovery from databases, multimedia and computer entertainment, etc [7], [10].The aim of face detection is segmentation of all areas in the color image regardless of the three-dimensional mode, rotation and light conditions in its surroundings [3].Facial detection techniques can be divided into two categories, characteristics-based and image-based methods.In the first method relies on the use of the http://www.ispacs.com/journals/jsca/2016/jsca-00064/International Scientific Publications and Consulting Services apparent characteristics such as skin color or face geometry and the second method depends on the face pattern detection from the samples and the results of statistical analysis and machine learning [9].In general, research about how the faces are perceived by the human, has led to lots of interesting findings that can be of great help in the design of useful and practical devices.Recent studies have shown that computers can defeat humans on the detection of a face from the still images taken from the front and with different lighting.Human is far more successful in detecting familiar faces, but a bit has been exaggerated about the ability of humans to recognize unfamiliar faces.However, even when dealing with detecting unfamiliar faces, humans possess the most powerful face detection system.The human face detection system is much better than the computer samples in coordinating with various combinations of gestures, lighting, blurring, and image degradation.Among the challenges in the field of facial detection, one can refer to face angle, coverage, shooting angle and shooting conditions.By the face angle, we mean the angle of the face towards the camera and that the camera takes photos of full face, profile, three quarter profile.Covering, such as beard, mustache, glasses, hats, etc. can cause problems in the process of face detection.Shooting angle of the camera is related to the angle (especially relative to the head) of the camera to the person.On the other hand, various environmental factors such as lighting conditions and specifications of the camera, including the lens, can have a large impact on facial detection process.Researchers have been able to solve the problem of detecting faces in different gestural positions, lighting and different states of face.Past efforts include the use of facial expansion eigen, a copy of the face image on which the mathematical equations of Eigenvector have been applied.In this method, different eigen spaces have been created and each of these spaces records a different information from different viewing angles.To solve the problem of gestures differences, a three-dimensional model was made and twodimensional views of the extract was used for each gesture.In a paper by Gottumukkal et al. [6], a modular PCA model has been proposed.By comparing this model with the conventional PCA model, it became clear that despite the major changes in the light and face http://www.ispacs.com/journals/jsca/2016/jsca-00064/International Scientific Publications and Consulting Services expression, the detection rate increases.In this method, photos are divided into several smaller parts and PCA would be separately applied on each of these components.This makes the changes in face such as change in lighting and facial expression, do not alter the local properties of a person's face.An important point about Gottumukkal method is that for face detection, there is no need to detect specific components of the original image, such as mouth, nose and eyes.Moreover, the proposed algorithm is robust in the face of rapid changes in lighting and facial expressions and shows a good performance.G. Zhang et al. [15] proposed a method of face detection with the accuracy of 97.9% using AdaBoost to select a set of local areas and their weights and also taking into account the characteristics of LBP.They used the images in the FERET database and analyzed them by filtering them through 40 filter Gabor with different scales.The proposed method is suitable not only for face analysis, but also for face recovery, medical image analysis, motion analysis and modeling environment, but one thing is that this method has a weak performance in the creation of high dimensional feature vectors.Kai-Biao Ge et al. combined the AdaBoost algorithm with the skin classification and face description based on LBP to create an efficient method for face detection.They used MB-LBP instead of Haar features and this led to a great reduction in the error rate.Although the combination of AdaBoost and skin color has been used in this method, it has a poor performance in pictures with several images.This algorithm is capable of more than 90% accuracy in face detection [4].In a paper by Trupti [13], a combined method has been proposed by combining PCA algorithm with some other algorithms.In fact, a hybrid method is used in this paper, that is, the combination of different methods of facial detection.The choice of such a mechanism can solve a lot of problems in the field of detection and recognition, such as environmental light changes, changes in facial expressions, change in the camera position, change in the position of the person, etc.In the proposed algorithm, the face detection system for processing the ORL images database, it works in two modes: practice and classification.The practice mode includes normalization and feature extraction from images using PCA and ICA algorithms.Then the extracted features will be analyzed using BPNNs to classify the features into different groups.In the classification mode, new images are added to the results of the practice.A combining method will be applied on the practice results to be able to classify the new images based on the appeared groups.However, designing ways which are robust and powerful in resisting to changes in uncontrolled lighting environments is yet an unsolved problem.In this study, we tried to propose an algorithm that in addition to being resistant to changes in light, turning heads and covered faces, it improves the face detection rate.In the following, the procedure of the proposed algorithm (in section 2), the results (in section 3), and the discussion and conclusions (in section 4) will be presented.

Methodology
The main idea of the research and proposed algorithm is described in this section.Adaboost is an expert analyst of the biometrical points of the face through systems and LBP methods and sometimes PCA.This algorithm is a simple processor system through the analysis of biometrical points of face leads to the human face detection.Basically, the Adaboost algorithm performance is based on the critical points in the face.The main idea is presented in figure 2. The developed Adaboost algorithm is a complete system, including methods based on LBP and the PCA, if needed which coordinates the actions and facial reactions or does analytical analysis in different parts of the face.In this memory or the developed Adaboost algorithm, the biometrical methods of processing are in the two modes of active (on or 1) or inactive (off or 0) and each has a weight.Edges with positive weight, stimulate or activate biometrical point on the face and edges of negative weight, deactivates the next connecting biometrical point.http://www.ispacs.com/journals/jsca/2016/jsca-00064/International Scientific Publications and Consulting Services  Basically, there area lot of diversity in people's faces; therefore, faces cannot be classified in categories and specific groups.In addition, it is possible that the change a length of hair of head and face, or how to arrange it and change in the age may change the face.Moreover, the face changes may be due to the shooting conditions.This conditions may include changes in light intensity, as well as how to get the angle and rotation angle of the face or the face shooting [5].This makes fundamental problems in face detection.Therefore, it is necessary to adopt methods that are not only resistant against changes in environmental conditions, particularly light, but also they can well classify the skin types.From among the available classification methods, Adaboost, using the LBP features [11], has the best performance since it is able to detect faces with different expressions and complicated background.http://www.ispacs.com/journals/jsca/2016/jsca-00064/International Scientific Publications and Consulting Services

LBP
LBP stands for Local binary pattern and has many applications such as images recovery, remote assessment, medical image analysis, face image analysis, motion analysis and environment modeling.For each pixel in the image, binary code by thresholding the pixel value in relation to the central pixel value is determined and finally, a histogram is created to collect the various binary patterns.

Adaboost
Adaboost is a machine learning algorithm which makes a stronger classification algorithm using the output of weighted classification algorithms which are known as weak learner [12].There are 38 stages in cascaded model presented in this method.A weak learner is defined the way that it can only be better than random or in other words, is closer to the right orientation.In contrast, strong learners refer to a set of classification algorithms that are highly correlated with the correct orientation.Thus, it can change the poor learners to minimize errors in subjects not classified.This way, many of the images that do not belong to the human faces will be deleted and more calculations will be done on the frames that have more chances to be in the face.Contrary to other methods, Adaboost chooses the characteristics that will provide more predictability.A very high percentage of the frames in an image are those that contain no faces.The procedure is shown in the two parts of the main algorithm (the red dot) and Adaboost training (green dot) in figure 5.For this purpose, the FERET data base was used.As it can be seen in the graph, the first stage is the reception of the image from the input which can be done online (shooting the scene and changing it into 20 image frame) or offline (using the stored images).The goal to preprocess the image is to prepare it for entering into the algorithm.It includes all necessary steps as well.These steps differ based on the kind of image such as normalization, narrowing, compression, image format conversion, gray scaling, and leveling.http://www.ispacs.com/journals/jsca/2016/jsca-00064/International Scientific Publications and Consulting Services The extraction of features is done by entering the image into face space and creating the eigen vectors.This method has been done for reducing the dimension so that the best mode of data scattering will be shown.When this subspace is applied on face data is called face space.In this method, an image with the dimension of n*m is converted to a vector with nm component.Since these vectors are particular correlation matrices related to face images and also due to their similarity with human face, are called eigen vectors.It is noteworthy to say that all the formulas in this equation is based on the assumption that the image matrix is considered as a column vector.To calculate the eigen vector, the average of images has to be obtained first.Afterwards, the difference of each image from the average is calculated.Uk and λk vectors are special vectors and amounts in correlation matrices, respectively.UK vector is chosen in a way that λk is maximized: Afterwards, the correlation matrix is obtained based on the following equation, where U vector is eigenface: After the first step in approximate detecting the face margin, the critical points have to be entered in LBP.
The critical points in the present study are as follows: Step 1) lip corners, nose corners, and eye corners Step 2) lip corners, nose corners, and eye corners, nose cone, chick, forehead, Step 3) lip corners, nose corners, and eye corners nose cone, chick, forehead, under the ears, above the eyebrows, on the cheeks, and above the lips After performing these three layers in LBP Adaboost algorithm, and running the rectangle order in MATLAB software, the output is the detection of main face elements (eyes, nose and mouth) through LBP and then addressing the face in colorful rectangles.After performing the main algorithm, the detected face is compared to databank.In the case that the face is available in the images, the algorithm seeks for a new image.If there is no error in the current image and existing images, then the algorithm is performed.This algorithm is a recursive function which is created to improve the detection rate.As the matter of fact, after each time of performing, the error is entered in the algorithm once again as an input.Finally, the created image is entered into the databank and the program is prepared to receive a new image.

The testing results
One of the most important advantages of proposed algorithm is the capability of online and offline shooting.The other advantages may include high speed of processing, detection of several faces in one image, covered face detection, and optimized programming.In this process, the program doesn't perform the shooting and one image which is prepared in advance by a user is entered in the program.In the repetition of this algorithm to 100 times in individual and group images, it has observed that among 100 taken images, the mentioned algorithms could recognize almost 98 percent of faces correctly.Figure 7

Conclusion
One of the wellknown issues in the field of computer vision is face detection which has been attended to more than two decades and always improvements and sustainable methods are proposed to detect areas of faces in digital images.One of the best ways to detect faces and facial areas (such as the eyes, mouth and nose) is boosting method.The most famous boosting algorithm is Adaboost, which is widely used in the fields of learning.On the other hand, the method LBP, due to high tolerance to changes in light, is considered a great success in the field of image analysis.In the present study, an advanced algorithm based on LBP and structured Adaboost algorithm are used to improve the detection rate of a human face which possess a very high accuracy (94% in the online imaging and 98% in offline imaging) and an excellent performance.What can be done to improve the project aims is to increase the selected critical points in order to raise the accuracy of the algorithm.To reduce the error rate, it is also possible to increase the number of fed layers in LBP Adaboost algorithm to raise the number of critical points.Increasing the number of layers, make it possible to approach the 100% detection rate.On the other hand, considering the practice and learning capability of Adaboost, as the number of images in the database, as the primary training data, increases, the generalizability, and as a result, performance detection algorithm will be better and more.

Figure 1 :
Figure 1: Current challenges in face detection

Figure 2 :
Figure 2: The general flowchart of method

Figure 3 :
Figure 3: A number of images related to FERET database

Figure 5 :
Figure 5: The flowchart of main steps

Figure 6 :
Figure 6: Critical points illustrate the results.http://www.ispacs.com/journals/jsca/2016/jsca-00064/International Scientific Publications and Consulting Services the faces in offline mode which has the accuracy of 98% which has a dramatic improvement rather to other algorithms.

Figure 8 :
Figure 8: The comparison of obtained results