An Enhanced Artificial Bee Colony-Based Support Vector Machine for Image-Based Fault Detection

Fault detection has become extremely important in industrial production so that numerous potential losses caused from equipment failures could be saved. As a noncontact method, machine vision can satisfy the needs of real-time fault monitoring. However, image-based fault features often have the characteristics of high-dimensionality and redundant correlation. To optimize feature subsets and SVM parameters, this paper presents an enhanced artificial bee colony-based support vector machine (EABC-SVM) approach. The method is applied to the image-based fault detection for the conveyor belt. To improve the optimized capability of original ABC, the EABC algorithm introduces two enhanced strategies including the Cat chaotic mapping initialization and current optimum based search equations. Several UCI datasets have been used to evaluate the performance of EABC-SVM and the experimental results show that this approach has better classification accuracy and convergence performance than the ABC-SVM and other ABC variants-based SVM. Furthermore, the EABC-SVM can achieve a significant detection accuracy of 95% and reduce the amount of features about 65% in the conveyor belt fault detection.


Introduction
In industrial production, to improve the reliability and reduce the possible loss due to equipment failures, fault detection has become extremely important.For example, in modern coal mining enterprises, the tear fault of conveyor belt has often occurred due to the impact of falling sharp materials in operation [1].If the fault can be detected early, the damage of transmission devices caused by belts breakdown can be minimized or even avoided.As a noncontact method, the machine vision can capture the rich image-based information of detected regions in real time by the CCD camera deployed on the equipment.Therefore, image-based fault detection can satisfy the needs of modem industrial production including manufacturing processes [2], electrified railways [3], and defect detection [4].
Generally, the procedure of image-based fault detection consists of image acquisition, image preprocessing, feature extraction and analysis, and alarm control.After the images are acquired, the key step is feature extraction and analysis.
The extracted features usually include colors, textures, shapes, points, and edges, which are combined into a multidimensional feature vector.However, existing methods cannot fully utilize the feature vector due to its complex characteristics including the high-dimensionality and redundant correlation [5].Feature selection is an effective approach to eliminate irrelevant or redundant features by picking a feature subset from the original features [6].The selection methods of feature subset include forward selection, backward elimination, and bidirectional search [7].These methods usually start from an initial subset (empty set or complete feature set) and generate a new subset by adding or discarding a feature.Then, the generated feature subset is evaluated by the classification accuracy.Thus, an efficient global search technique is needed for the large feature space.
At present, some intelligent optimization algorithms have been proposed for feature selection, such as the genetic algorithm (GA) [8], particle swarm optimization (PSO) [9], ant colony optimization (ACO) [10], and artificial bee colony (ABC) [6].These methods can select some informative or 2 Mathematical Problems in Engineering actual useful feature variables and improve efficiency and accuracy of the data analysis.Moreover, due to few control parameters and superior optimization performance, the ABC algorithm has attracted much attention [11,12].In [13], a hybrid approach based on ABC algorithm and artificial neural networks (ANN) was presented to select feature subset effectively.Schiezaro and Pedrini [6] proposed a feature selection method using the ABC algorithm to classify different UCI datasets and the selected feature set could provide better classification accuracy.In [14], a feature selection technique based on the ABC and -Nearest Neighbor (-NN) was employed for image steganalysis.Compared with ANN and -NN classifier, support vector machine (SVM) is a more powerful classification method due to its excellent classification accuracy and generalization performance [15,16].
On the other hand, some variants of ABC algorithm [17] have been proposed to improve the global search performance and the convergence speed, which mainly focus on the population initialization and the solution search strategy [18][19][20][21][22][23][24].Zhu and Kwong [21] proposed the gbest-guide ABC (GABC) algorithm by incorporating the information of global best solution into the solution search equation to improve the exploitation.Gao and Liu [22] presented a modified ABC (MABC) algorithm by introducing the chaotic and opposition-based initialization and the best solution of the previous iteration.To improve the exploitation and keep the exploration of ABC, Zhang and Liu [19] proposed a novel ABC (NABC) algorithm by incorporating the global best solution and the random solution into the search equations of the onlookers and the employed bees, respectively.He et al. [20] introduced a modified ABC (SDABC) algorithm from three aspects including the search space division initialization, disruptive selection strategy, and the improved scout bee phase.
In the paper, an enhanced artificial bee colony-based support vector machine (EABC-SVM) classifier is proposed for image-based fault detection.To improve the convergence of the ABC, two enhanced strategies including the Cat chaotic mapping initialization and the current optimum based search equations are presented in the enhanced ABC (EABC) algorithm.The EABC algorithm is employed to optimize the feature subset and parameters of SVM.In order to assess EABC-SVM's capability, six benchmark datasets from UCI are first used.And then the EABC-SVM is applied to detect image-based tear fault of the conveyor belt.
This paper is organized as follows.Fundamentals about the ABC algorithm and SVM are introduced in Section 2. In Section 3, the proposed EABC-SVM classification method is given in detail.In Section 4, experimental results are presented to demonstrate the capability of the EABC-SVM using six benchmark datasets from UCI and show the detection performance applied to the image-based fault detection for conveyor belt.Finally, the conclusion is drawn in Section 5.

Fundamentals
This section will briefly introduce the fundamentals about artificial colony bee algorithm and support vector machine.[25] is an intelligent system inspired by foraging behavior of a bee colony and widely used to solve continuous numerical optimization problems.In the ABC algorithm, the bee colony consists of three kinds of bees: employment bees, onlooker bees, and scout bees.During the process of optimization, the position of a food source represents a possible solution to the optimization problem.The operation procedure of ABC is an iterative process, as shown in Algorithm 1, which refers to repeated searches for the solution with employment bees, onlooker bees, and scout bees until the maximum cycle number, MAXcycles, or the allowable minimum error reaches [26,27].The details of the four phases are described as follows.

Artificial Colony Bee (ABC) Algorithm. Artificial bee colony (ABC) algorithm
(1) The Initialization Phase.The population of the ABC algorithm is initialized randomly as where  = 1, 2, . . .,  is the number of population,  = 1, 2, . . .,  is the dimension of population, rand(0, 1) is a random number in [0, 1], and  min, and  max, are the lower and upper bounds of the th optimization parameter, respectively.
After the population initialization, food sources are evaluated by the fitness function.The greater the fitness value, the better quality the food source.For the maximum optimization problem, the fitness function is the objective function obj  .For the minimum optimization problem, the fitness function is defined as (2) The Employed Bee Phase.In this phase, each employed bee generates a new food source with the following search equation: where  ∈ {1, 2, . . ., },  ̸ = , and  , is a random number in [−1 , 1].
When all employed bees complete the search for new food sources, the fitness values of new food sources are calculated and compared to the old ones according to the greedy selection mechanism of (3) The Onlooker Bee Phase.After all employed bees complete the updated process, they share their information about The operation procedure of ABC algorithm --Initialization phase --(1) Initialize the population of solutions and assign the population to employed bees (2) while (cycle = MAXcycles) do --Employed bee phase -- (3) for  = 1 to SN do (4) Produce a new solution V  for employed bees and calculate its fitness value (5) Apply the greedy selection mechanism between V  and   , select the better one (6) If the solution   does not update, the non-updated number trial  = trial  + 1; otherwise trial  = 0 (7) end for --Onlooker bee phase -- (8) Calculate the selection probability   (9)  = 0,  = 1 (10) while ( < ) do (11) if random <   then (12)  =  + 1 (13) Produce a new solution V  for onlooker bee of the solution   and calculate its fitness value (14) Apply the greedy selection mechanism between V  and   , select the better one (15) If the solution   does not update, trial  = trial  + 1; otherwise trial  = 0 (16) end if (17)  =  + 1 (18) If  =  + 1,  = 1 (19) end while ( = ) --Scout bee phase -- (20) if trial  > LIMIT then (21) Replace   with a new random solution V  (22) end if (23) Memorize the current optimal solution (24) cycle = cycle + 1 (25) end while (cycle = MAXcycles) Algorithm 1: The pseudocode of ABC algorithm.
the amounts and the positions of food sources with onlooker bees.An onlooker bee evaluates all food sources from employed bees and selects a good one to update the new solution based on the probability calculated with the roulette wheel selection scheme in where fit  is the fitness value of the solution .
(4) The Scout Bee Phase.If the food source   cannot be further updated through a predetermined number of trials LIMIT, the employed bee is converted to scout bee, which abandons the old food source and searches the new one using (1).Among the operation procedure, there are some drawbacks in the ABC algorithm.Firstly, due to the randomness of the initialization equation ( 1), the diversity of initial population may be limited, which would affect the convergence efficiency.Secondly, in the phases of employed bee and onlooker bee, the new solution is searched out around the current solution according to (3) by moving the current solution near to or away from another random solution of the population.However, the generation process does not consider the current optimal solution as a guidance of the search.So the search strategy is considered to have good exploration but poor exploitation capacity [21].To overcome these drawbacks, an enhanced ABC algorithm is proposed in Section 3.1 in detail.

Support Vector Machine (SVM).
The SVM classifier is briefly described as follows.Given the training set  = {( 1 ,  1 ), . . ., (  ,   )}, where   ∈   and   ∈ {−1,1},  = 1, . . ., , the goal is to find a separating hyperplane and classify the training data into two categories accurately based on the principle of margin maximization [28].The following optimization problem is constructed: where  and  are the normal vector and the offset of the separating hyperplane, respectively;  > 0 is the penalty parameter of error term ; (⋅) is the mapping function that makes sample   mapped onto a high-dimension space.
Equation ( 6) can be translated to the following Lagrange dual problem: The Lagrange multipliers   ∈ (0, ) are obtained from (7), and then we can construct the classification decision function () as follows: Generally, (  , ) = ((  ) ⋅ ()) is defined as the kernel function.This paper mainly discusses the Gaussian kernel function because the Gaussian kernel can approximate most kernel functions if the kernel parameter is chosen appropriately [29].Its form is expressed as follows: where  is the kernel parameter.
The parameters of SVM with the Gaussian kernel function refer to the penalty parameter  and the kernel parameter , which should be optimized by the user.The optimal SVM parameters have important influence on the classification performance.

Methodology
In this section, the enhanced artificial bee colony-based support vector machine (EABC-SVM) classifier is proposed, which can effectively improve the classification accuracy by feature selection and parameters optimization for SVM simultaneously.

Enhanced Artificial Bee Colony.
To solve the above drawbacks of the ABC algorithm, two enhanced strategies are introduced as follows.
(1) The Cat Chaotic Mapping Based Initialization.Similar to other intelligent algorithms, the initialized population plays an important role in convergence to the global optimal solution of the ABC algorithm.As one of the useful initialization techniques, the chaotic mapping method can generate the random sequence with the ergodicity and nonperiodicity.Currently, the chaotic maps mainly include the Logistic mapping function, the Tent mapping function, and the Cat mapping function.According to the analysis on chaotic characteristics of the mapping functions [30], the Cat mapping function has better ergodic uniformity and does not easily fall into the minor cycle compared with other mapping functions.So this paper will employ the Cat mapping function to Global optimal solution initialize the population.The Cat mapping function is shown as where  = 0, 1, 2, . . ., ,  is the iteration number of the Cat chaotic sequence,   ,   ∈ (0, 1), and mod is the modulus operator.When  0 ∈ (0.25, 0.5, 0.75),  0 ∉ (0.25, 0.5, 0.75), and vice versa.And then the new initialized equation of population is expressed as (2) The Current Optimum Based Search Equations.To improve the search efficiency, many studies have been conducted to modify the search equation, most of which introduced the current optimal solution to search process [21][22][23].However, since the guidance of the current optimal solution, the search process may cause an "oscillation" phenomenon [24].Therefore, to overcome the defect of the above method, we introduce two search equations for employed bees and onlooker bees, respectively, in (12) and (13).The equations can take full advantage of the current optimal solution and the random solutions of population based on the characteristics of different search phases: V , =  , +  , ( 1, −  2, ) , where  best, is the current optimal solution, the indices 1 and 2 are random integers chosen from {1, 2, . . ., } that are different from the index , and  , is a random number in The principle of the current optimum based search is shown in Figure 1.In the employed bee phase, each employed bee can find out a better solution around the current optimal solution  best with (12).That is, all employed bees will move toward the space centered on  best , as the dotted circle in Gaussian kernel parameter  ∈ [2 −10 , 2 5 ] Features selected probability f i ∈ [0, 1], f i > 0.5, feature i is selected f i ≤ 0.5, feature i is not selected ; and Figure 1.In the onlooker bee phase, two different current solutions,  1 and  2 , are randomly selected and must be located in the dotted circle because they come from the employed bees.In this way, the onlooker bees can complete the search of the global optimal solution in a fairly small solution space with (13).Therefore, the different foraging processes of employed bees and onlooker bees can be simulated well with the two search equations.As a result, employed bees can implement the directional search with the guidance of current optimal solution, and onlooker bees will further complete the wide range search in the confined solution space provided by employed bees.A detailed convergence analysis of the EABC algorithm based on the Markov chain theory is presented in the Appendix.

Classifier Initialization.
The classifier initialization involves two parts: the optimization parameters and the fitness function.The optimization parameters are expressed as the combination of SVM parameters (, ) with the Gaussian kernel function and the selection probability on each feature, as shown in Figure 2.
The fitness function is used to evaluate the selected feature subsets and SVM parameters.Two factors that are usually considered include the classification accuracy and the number of selected features [8].The fitness function is defined as (14).When the classification accuracy is high and the number of selected features is small, the fitness value will be large: In (14),  is a predefined weight, Acc is the classification accuracy, and   is the total number of features; "  = 1" represents that feature  is selected while "  = 0" represents that feature  is not selected.The weight  can be adjusted to balance between classification accuracy and feature selection.
In general,  can be chosen from 0.7 to 0.9 according to the different datasets.

Classifier Architecture.
The architecture of the proposed EABC-SVM classifier is shown in Figure 3.The main implemented steps can be described as follows.Step 1 (preparing the dataset).The feature dataset discards the feature elements with the selected probability of "  < 0.5" and becomes the actually used feature subset.And then the feature subset is divided into the training set and the testing set.Meanwhile, the training set is used to train the SVM model by -fold cross validation (CV).
Step 2 (training the classifier).The SVM classifier is trained with the training set and the initialized parameters (, ).The optimal classifier parameters and feature subset are evaluated with the fitness function.
Step 3 (testing the classifier).The testing set is used to verify the trained SVM classifier and feature subset for their performance of classification.Finally, the output SVM classifier and the regulation of feature selection are obtained.

Experimental Results and Analysis
The numerical experiments were performed in a PC with Intel Pentium (R) G630, 2.7 GHz CPU, 2G RAM, 32-bit Windows 7 operating systems.The development environment is MATLAB R2010a.The simulation toolbox of SVM is Libsvm [31].In the experiment, the SVM classifier with the Gaussian kernel function was used, in which the searching range of parameter  is [2 −5 , 2 10 ] and that of parameter  is [2 −10 , 2 5 ].

UCI Datasets.
To examine the capability of the proposed EABC-SVM, we used the UCI benchmark datasets [32] for classification and compare the results with the original ABC and other four ABC variants including GABC [21], MABC [22], NABC [19], and SDABC [20].For the ABC, GABC, MABC, NABC, SDABC, and EABC algorithms, the parameters were set as follows: size of employed bee  = 50, size of onlooker bee  = 50, maximum number of iterations MAXcycles = 30, and control parameters LIMIT = 10.For the GABC algorithm,  = 1.5; for the MABC algorithm,  = 300.The experiment adopted six real world datasets: Breast Cancer Wisconsin (WDBC), Ionosphere, Musk1, Sonar, Vehicle, and Wine.Their number of classes, number of instances, and number of features (dimensions) are shown in Table 1.
For the above six different datasets, the range of each feature value was scaled to the range of [−1, +1].In the experiment, the 10-fold cross validation method was used to divide the dataset into the training set and the testing set.Each experiment was run 20 times and then the average accuracy was taken.
Table 2 shows the results of optimal accuracy (Opt Acc), average accuracy (Ave Acc), standard deviation of accuracy (Acc SD),  value for -test, and selected feature dimensions (average ± standard deviation) from the experiment of each dataset with the comparison of ABC-SVM and EABC-SVM.The EABC-SVM method yields the higher classification accuracy in six datasets, especially in Musk1 and Vehicle.Meanwhile, the standard deviation of accuracy of EABC-SVM method is smaller than that of ABC-SVM method in each dataset, which means the EABC-SVM is more stable.Moreover, the independent sample -test was implemented to verify whether the difference is significant or not.Through the  value for -test, the proposed EABC-SVM method outperforms ABC-SVM for six datasets under 95% confidence levels.In addition, the EABC-SVM method can select fewer features with smaller standard deviation than the ABC-SVM.Due to fewer features and higher accuracy, EABC-SVM is capable of selecting more appropriate features with the global search.
In order to illustrate convergence of EABC-SVM, the convergence curves are showed in Figure 4. From the figure, we see that EABC-SVM can reach optimal solution with fewer iterations than ABC in six datasets.Meanwhile, for each dataset, the initial solution in EABC-SVM is superior to that in ABC-SVM, which further verifies the ergodicity of the Cat chaotic mapping function.
Tables 3 and 4 show the experimental comparisons including the classification accuracy and the selected feature dimensions (average ± standard deviation) of our proposed EABC-SVM with other ABC variants-SVM.From Table 3, we can find that EABC-SVM yields higher classification accuracy in 6 datasets than other four ABC variants-SVM.For the feature selection, as shown in Table 4, EABC-SVM can produce a moderate-sized feature subset, while NABC-SVM has fewer features in five datasets.Thus, the proposed method can perform better feature selection with high classification accuracy, which is suitable for the redundant feature reduction and classification application, such as the imagebased dataset.In particular, when the redundant dimensions of feature vectors are very large, the reduced effect is more apparent and the classification accuracy would be improved greatly.

Image-Based Conveyor Belt Fault Dataset.
In this section, we use EABC-SVM to implement feature selection and parameters optimization for SVM, and then the fault detection of the conveyor belt is used for empirical analysis.Firstly, the visual monitoring system of conveyor belt was established to acquire the image-based belt fault signal and create a fault feature dataset.The schematic diagram of monitoring system is shown as in Figure 5.A series of CCD cameras and light sources were installed at the bottom of the conveyor belt for image acquisition, and then the images were transmitted to the industrial computer for online fault detection.According to the failure analysis of conveyor belt in [1], the fault dataset is classified into four different types, which include normal, rope fracture, scratches, and tear as shown in Figure 6.The dataset comprises 180 gray belt images with size of 640 × 480 and each class has 45 images.Due to the irregular shape of the scratches or tear, we extracted the gray histogram features and texture features as the basis of fault detection.Figure 7 illustrates the flowchart of image preprocessing, feature extraction, and analysis.First, the belt image was enhanced with the Gaussian filter, and then the belt fault features were extracted.The details are shown as follows.
(i) Gray Histogram.The image in the tearing part of belt has a much lower gray value than that in the background.So we chose the first 30 grayscale histogram values as features.Figure 8 shows the grayscale histogram for each image of Figure 6.From Figure 8, we can find that the first 30 grayscale values have obvious difference corresponding to the different fault images.
(ii) Texture Features.As a good texture descriptor, gray level cooccurrence matrix (GLCM) can reflect the grayscale difference of the direction and adjacent interval effectively.As it is described in [33], the GLCM in this paper was calculated in four different directions of 0 ∘ , 45 ∘ , 90 ∘ , and 135 ∘ and the interpixel distance  = 4 to improve the computational efficiency.The corresponding energy, entropy, contrast, and correlation were then selected to describe the belt texture.
On the above feature extraction process, the size of feature vector is 30 + 16 = 46.Next, the EABC-SVM method       The confusion matrix of fault detection for EABC-SVM is shown in Figure 9.Each row represents the predicted class (output), and each column represents the actual class (target).The number in th row and th column represents the rate of samples whose target is the th class that is classified as th class.From Figure 9, we find that the faults of rope fracture and tear can be detected to be completely correct as 100% accuracy, while other two types between normal and scratches would be easily misclassified.Because of nonuniform illumination and dusts in real environment, the detection results of these two classes are influenced at different levels.So how the two classes can be recognized effectively remains one of our future tasks.

Conclusions
In this paper, we proposed an enhanced ABC (EABC) algorithm to search for the optimal feature subset and parameters of SVM simultaneously.The experimental results demonstrate that the proposed EABC-SVM approach has better classification accuracy and convergence performance than ABC-SVM and other four ABC variants-SVM on six UCI datasets.Furthermore, the EABC-SVM approach was applied to the image-based fault detection for the conveyor belt.Through the combination of gray histogram and GLCM texture features, the EABC-SVM can achieve a significant classification accuracy of 95% and reduce the amount of feature storage about 65%.
The proposed EABC algorithm has the following characteristics: (1) the algorithm possesses two enhanced strategies including the Cat chaotic mapping initialization and current optimum based search equations to improve the convergence speed and global optimization performance; (2) the algorithm is employed to optimize the feature subset and parameters for SVM simultaneously, which can improve overall classification accuracy and reduce the computation complexity.Further research plan is to (1) reduce the belt image noise and optimize fault features to increase the detection accuracy and robustness and (2) take some other classification

Figure 1 :
Figure 1: The principle of the current optimum based search.

Figure 8 :
Figure 8: Grayscale histogram for each image of Figure 6.

Table 2 :
Experimental results for EABC-SVM and ABC-SVM method.

Table 3 :
Classification accuracy of the proposed EABC-SVM and other ABC variants-SVM.

Table 4 :
Selected feature dimensions of the proposed EABC-SVM and other ABC variants-SVM.

Table 5 :
Fault detection results of EABC-SVM and other ABCrelated methods.