Volume 13 Number 5
October 2016
Article Contents
S. Arumugadevi and V. Seenivasagam. Color Image Segmentation Using Feedforward Neural Networks with FCM. International Journal of Automation and Computing, vol. 13, no. 5, pp. 491-500, 2016. doi: 10.1007/s11633-016-0975-5
Cite as: S. Arumugadevi and V. Seenivasagam. Color Image Segmentation Using Feedforward Neural Networks with FCM. International Journal of Automation and Computing, vol. 13, no. 5, pp. 491-500, 2016. doi: 10.1007/s11633-016-0975-5

Color Image Segmentation Using Feedforward Neural Networks with FCM

Author Biography:
  • E-mail: yespee1094@yahoo.com

  • Corresponding author: ORCID iD: 0000-0001-9772-9727
  • Received: 2014-07-03
  • Accepted: 2014-10-17
  • Published Online: 2016-07-25
通讯作者: 陈斌, bchen63@163.com
  • 1. 

    沈阳化工大学材料科学与工程学院 沈阳 110142

  1. 本站搜索
  2. 百度学术搜索
  3. 万方数据库搜索
  4. CNKI搜索

Figures (3)  / Tables (7)

Metrics

Abstract Views (4447) PDF downloads (4337) Citations (0)

Color Image Segmentation Using Feedforward Neural Networks with FCM

  • Corresponding author: ORCID iD: 0000-0001-9772-9727

Abstract: This paper proposes a hybrid technique for color image segmentation. First an input image is converted to the image of CIE L*a*b* color space. The color features “a” and “b” of CIE L*a*b* are then fed into fuzzy C-means (FCM) clustering which is an unsupervised method. The labels obtained from the clustering method FCM are used as a target of the supervised feed forward neural network. The network is trained by the Levenberg-Marquardt back-propagation algorithm, and evaluates its performance using mean square error and regression analysis. The main issues of clustering methods are determining the number of clusters and cluster validity measures. This paper presents a method namely co-occurrence matrix based algorithm for finding the number of clusters and silhouette index values that are used for cluster validation. The proposed method is tested on various color images obtained from the Berkeley database. The segmentation results from the proposed method are validated and the classification accuracy is evaluated by the parameters sensitivity, specificity, and accuracy.

S. Arumugadevi and V. Seenivasagam. Color Image Segmentation Using Feedforward Neural Networks with FCM. International Journal of Automation and Computing, vol. 13, no. 5, pp. 491-500, 2016. doi: 10.1007/s11633-016-0975-5
Citation: S. Arumugadevi and V. Seenivasagam. Color Image Segmentation Using Feedforward Neural Networks with FCM. International Journal of Automation and Computing, vol. 13, no. 5, pp. 491-500, 2016. doi: 10.1007/s11633-016-0975-5
  • Image segmentation is a technique of dividing a digital image into several homogeneous parts or segments. Segmentation subdivides an image into its constituent regions or objects. The level to which the subdivision is carried out depends on the problem being solved. That is, segmentation should stop when the objects of interest in an application have been isolated[1]. The most basic attribute for segmentation is image luminance amplitude for a monochrome image and color components for a color image. Color image segmentation increases the complexity of the problem. A 24 bit RGB (red, green, blue) computer monitor can simulate 16 million different colors. It is very difficult to analyze the image on all of its colors. The likely colors are grouped together by image segmentation. For this purpose soft computing techniques have been used for color images. Soft computing deals with approximate models and provides solution to complex problems. Many algorithms have been proposed for segmentation and there are a variety of approaches available for image segmentation[2, 3].

    Neural networks, fuzzy logic, and genetic algorithms are soft computing methods which have been inspired by biological computational processes and natural problem solving strategies[4]. The integration of fuzzy logic and neural networks has emerged as a promising field of research in recent years. This has led to the development of a new branch called neuro-fuzzy computing. Neuro-fuzzy system combines the advantages of both the uncertainty handling capability of fuzzy systems and the learning ability of neural networks[5].

    Color images consist of more attributes or components as compared to gray images[6]. Color image segmentation has received considerable attention in the recent years. The requirements of good image segmentation are as follows: a single region in a segmented image should not contain significantly different colors and a connected region containing a same color should not have more than one label. The intensity of a region should be reasonably uniform[2].

    Clustering is the process of grouping of data, where the grouping is established by finding similarities between data based on their characteristics. The purpose of clustering is to identify natural groupings of data from a large set of data to produce a concise representation of a system's behavior. There are two major categories of clustering: hard clustering and soft clustering. Hard clustering in which data are divided into crisp clusters, where each data point belongs to exactly one cluster, e.g., K-means clustering method. Soft clustering, on the other hand, may associate a data point with two or more clusters using membership grades which indicate the degrees of the data point belonging to the corresponding clusters, e.g., the fuzzy C-means (FCM) clustering method.

    Neural networks are a relatively new artificial intelligence technique. In most cases an all numeral numbering (ANN) is an adaptive system that changes its structure based on external or internal information that flows through the network during the learning phase. The learning procedure tries to find a set of connections that give a mapping that fits the training set well. A neural network is a massively parallel distributed processor made up of simple processing units, which has a natural propensity for storing experiential knowledge and making it available for use. It resembles the brain in two respects[7]:

    1) knowledge is acquired by the network from its environment through a learning process.

    2) Interneuron connection strengths, known as synaptic weights, are used to store the acquired knowledge.

    A color space is a method by which we can specify, create and visualize colors. As humans, we may depine a color by its attributes of brightness, hue and colorfulness whereas a computer may describe a color using the amounts of red, green and blue phosphor emission required to match a color. Several color representations (spaces), such as RGB, HSI, CMY, CMYK, YIQ, CIE L*a*b*, etc., are employed for color segmentation, but none of them can dominate the others for all kinds of color images. RGB model is device dependent. From RGB, we can calculate different kinds of color representations by using linear or nonlinear transformations. Each color representation has its merits and demerits.

    The CIE has defined a system that classifies color according to the human visual system. There are two CIE based color spaces, CIE Luv and CIE Lab. A CIE L*a*b* color space is a color opponent space with dimension L for lightness and "a" and "b" for the color-opponent dimensions, based on nonlinearly compressed CIE XYZ color space coordinates. CIE Lab indicates these values with three axes: L*, a*, and b*. The central vertical axis L* represents lightness whose values run from 0 (black) to 100 (white). The other (horizontal) axes are now represented by a* and b*. These are at right angles to each other and cross each other in the centre, which is neutral (grey, black or white). They are based on the principle that a color cannot be both red and green, or blue and yellow. The a* axis is green at one extremity (represented by -a), and red at the other (+a), the b* axis has blue at one end (-b), and yellow (+b) at the other end and at the centre of each axis is 0[8]. The advantages of CIE L*a*b* color space are:

    1) It is designed to approximate human vision.

    2) The CIE L*a*b* color space includes all perceivable colors.

    3) It is device independent.

    4) It is used in many industries apart from printing and photography.

    5) It provides exact color specifications for paint.

    The rest of the paper is organized as follows: Section 2 contains a survey on prior research that is most closely related to the present work. Papers related to the image segmentation, fuzzy clustering, feedforward neural networks are reviewed. In Section 3 we give the algorithms for finding the number of clusters and cluster validation measure is explained. Clustering using fuzzy C-means on L*a*b color space is discussed in Section 4. Implementation and the algorithm of the proposed system is presented in Section 5. Our experimental results and findings are shown in Section 6. Section 7 deals with discussions and conclusions drawn from the work done.

  • The segmentation of color image has been proved to be difficult because it involves a vast amount of data processing. Although great efforts have been devoted to it, some issues are still not fully addressed. Dong and Xie[9] proposed a hybrid system which comprises unsupervised segmentation and supervised segmentation. The unsupervised segmentation is achieved by a two-level approach, i.e., color reduction and color clustering. The supervised segmentation involves color learning and pixel classification. Simulated annealing (SA) has been used for finding the optimal clusters form SOM prototypes.

    The object segmentation in the visual scene was performed by two stages i.e., contour extraction module and object segmentation designed as a network of phase oscillators were used for precise determination of object boundaries and noise suppression[10]. Fuzzy C-means algorithm was used to define the target of the supervised feed-forward neural network and a fuzzy entropy method was deployed to set a threshold value for improving the segmented image[11].

    The features extracted using discrete wavelet transform (DWT) fed to fuzzy C-means algorithm and the membership function created by FCM were used as a target to be fed to the back-propagation neural network[12]. Deshmukh and Shinde[5] proposed the neuro-fuzzy system ACISFMC. It uses a multilayer perceptron (MLP) like network which performs color image segmentation using multilevel thresholding. Threshold values used for finding clusters and their labels are found automatically using fuzzy min-max network (FMMN) clustering technique.

    The fuzzy clustering algorithms and competitive neural network was used for color image segmentation. The self estimation algorithm was suggested for automatically finding the number of clusters using Euclidean distance[6]. Two new algorithms were proposed for cell image segmentation[13]. The classification-based color image segmentation was based on thresholding. Based on this result, Mao et al.[13] developed a supervised learning-based two-step procedure for color cell image segmentation. Shirakawa and Tomoharu[14] proposed evolutionary image segmentation based on multiobjective clustering. Two objectives, overall deviation and edge value, are optimized simultaneously using a multiobjective evolutionary algorithm[14]. Yang and Huang[15] have modified the objective function of the standard FCM algorithm with a penalty term that takes into account the influence of the neighboring pixels on the centre pixels for image segmentation.

  • If the number of clusters is manually specified, the segmentation may not be effective[2]. Two main issues in clustering are determining the number of clusters and the measure to evaluate the quality of the clusters.

  • In this paper we have proposed an algorithm based on co-occurrence matrix for finding the number of clusters.

    Algorithm 1. Co-occurrence based method

    1) Read an image I.

    2) Transform image I to HSV color space.

    3) Calculate the co-occurrence matrix T for H values.

    4) Pick the diagonal values of co-occurrence matrix and store them in d.

    5) Find the local maximum from the diagonal values by a) finding the mean of the diagonal values of co-occurrence matrix, b) defining K as the number of values that are greater than or equal to the mean value.

    6) K is the final number of clusters.

  • The hardest problem in comparing different clustering algorithms is to find an independent measure to evaluate the quality of the clusters. In our paper we have used the silhouette index value for evaluating the cluster compactness. The silhouette value for each pixel is a measure of how similar that pixel is to pixels in its own cluster vs. pixels in other clusters, and it ranges from -1 to +1. For pixel i, it is defined as

    $\begin{align} s(i)=\dfrac{bi-ai}{\max (ai, bi)} \end{align}$

    (1)

    where "ai" is the average distance from the i-th pixel to the other pixels in the same cluster, and "bi" is the minimum average distance from the i-th pixel to the pixels in a different cluster, minimized over all different clusters. It is clear from the above definition that $-1\leq s(i)\leq 1$. The silhouette value is calculated using (1) for each pixel of the clustered image. For fixing the correct number of clusters the following method is used in our paper.

    Algorithm 2 for finding cluster validity.

    Step 1.Read an image I.

    Step 2. Preprocessing.

    Step 3. Initialize the number of clusters $K=2$ and set the previous silhouette value=0.

    Step 4. While $k\geq 2$ do the following

    Step 5. Cluster the image using any algorithm.

    Step 6. Find the silhouette index value for the image by silhouette=mean (silhouette values of all pixels in the image I).

    Step 7. If silhouette $>$ previous silhouette value, $k=k + 1$/* increase the number of clusters

    Previous silhouette value=silhouette goto Step 4.

    Else return $k-1$ /* K-number of clusters.

    Step 8. Stop.

    The above two algorithms namely co-occurrence matrix method for finding the number of clusters and cluster validation using the silhouette index are implemented on MatlabR2013a and executed on the images which are obtained from the Berkeley database. The testing results of the co-occurrence matrix method and cluster validation method are shown in Table 1.

    Table 1.  Cluster count found by co-occurrence matrix based method and silhouette index for measuring the cluster compactness

  • FCM is a method of clustering which allows one piece of data to belong to two or more clusters[16, 17]. The FCM clustering algorithm is a method that is frequently used in pattern recognition[18]. It has the advantage of giving good modeling results in many cases, although, it is not capable of specifying the number of clusters by itself. The FCM can be applied to data that are quantitative (numerical), qualitative (categorical), or a combination of both. This algorithm works by assigning membership to each data point corresponding to each cluster center on the basis of distance between the cluster and the data point. Clearly, summation of memberships of each data point should be equal to one. The algorithm is based on minimization of the objective function (8). The main advantage of FCM clustering is that it allows gradual membership of data points to clusters measured as degrees between 0 and 1. This gives the flexibility that data points can belong to more than one cluster[19]. There are four main steps in this approach for segmenting the color images by FCM[20]:

    Step 1. Image acquisition

    The input is RGB which consists of three layers, Red, Green, and Blue.

    Step 2. Preprocessing: Color transformation to convert an RGB color space image into CIE L*a*b* color space for reducing the colors.

    Step 3. FCM applied on the image

    Step 4. Segmentation process

    Assign label to the highest membership value in each column of the partition matrix U that indicates a data point which belongs to cluster center. We can determine the segmented image from the labeled matrix.

    Algorithm 3 (FCM).

    1) Read an image.

    2) Perform color transformation: Convert from the RGB color space to the CIE.

    3) L*a*b* color space. Randomly initialize cluster center.

    4) Initialize membership matrix U with dimension N by C. Where N is the number of data, C is the number of cluster centers.

    5) Calculate the objective

    $\begin{align} function=\label{eq2} \sum_{i=1}^N {\sum_{j=1}^C {U_{ij}^m } } \left\| {x_i } \right.-\left. {c_j } \right\|{ }^2 \end{align}$

    (2)

    where N is the number of data, C is the number of clusters and $u_{ij}$ is the degree of membership of $x_{i}$ in cluster j.

    6) Fuzzy partitioning is carried out through an iterative optimization of the objective function (1) as shown above, with the update of membership $u_{ij}$ and the cluster:

    $\begin{align} U_{ij} =\dfrac{1}{\sum\limits_{k=1}^c {\dfrac{\left\| {x_i -c_j } \right\|^\frac{2}{m-1}}{\left\| {x_i -c_k } \right\|}} }. \end{align}$

    (3)

    Centers $c_{j}$ by

    $\begin{align} c_j =\dfrac{\sum\limits_{i=1}^N {U_{ij}^m x_i } }{\sum\limits_{i=1}^N {U_{ij}^m } }. \end{align}$

    (4)

    7) The clustering process stops when the objective function improvement between two consecutive iterations is less than the minimum amount of improvement specified by the convergence value.

    8) Output of clustering: The membership function matrix U contains the grade of membership of each data point in each cluster.

    9) For every data point in the dataset, find the highest degree of membership by

    $\begin{align} x_i =\sum_{j=1}^C {\max (U_{ij} } ). \end{align}$

    (5)

    10) Assign label to the highest membership value of $x_{i}$.

    11) Image segmented by clusters identified by Step 10.

    The FCM clustering process has been carried out with variety of images from the Berkeley database. The segmentation results are shown in Table 2.

    Table 2.  Segmentation results of FCM on CIE L*a*b color space

  • We propose a neuro-fuzzy system for color image segmentation. Fuzzy C-means (FCM) clustering is an unsupervised method. A feed-forward neural network is an artificial neural network where connections between the units do not form a directed cycle. In this network, the information moves in only one direction, forward, from the input nodes, through the hidden nodes and to the output nodes. Back-propagation refers to a common method by which these networks can be trained[4]. Training is the process by which the weight matrix of a neural network is adjusted automatically to produce desirable results. A neural network with one hidden layer can approximate any function that contains a continuous mapping from one finite space to another. The number of hidden neurons should be between the size of the input layer and the size of the output layer. The number of hidden neurons should be $\frac{2}{3}$ the size of the input layer, plus the size of the output layer. The number of hidden neurons should be less than twice the size of the input layer. The major steps for segmenting a color image are as following:

    Step 1. Read an image.

    Step 2. Repeat the steps from Step 3 to Step 7 for each image in the database (Database contains 15 color images with different sizes and colors obtained from Berkeley database).

    Step 3. Perform color transformation from the RGB color space to the CIE L*a*b* color space.

    Step 4. Extract the two features a* b* in the CIE L*a*b color space.

    Step 5. Perform FCM clustering and find the label of each pixel.

    Step 6. To create a three layered feed forward network with two inputs and one output. The color samples a*, b* are passed as input. Labels created by FCM are used as a target to be fed to the forward neural network in order to train the network. The network input has 2 neurons and 1 hidden layer including 5 nodes and weights W are randomly initialized.

    Step 7. The network is trained by the Levenberg-Marquardt back-propagation algorithm[21], and evaluates its performance using mean square error and regression analysis.

    Step 8. Simulate the network for other test input.

    The block diagram of the above steps is shown in Fig. 1. Fig. 2 illustrates the construction of the feed-forward neural network.

    Figure 1.  Block diagram of proposed method

    Figure 2.  Feed-forward neural network

    Evaluation criterion.

    In the field of machine learning, a confusion matrix[22] also known as a contingency table or an error matrix is a specific table layout that allows visualization of the performance of an algorithm, typically a supervised learning. Each column of the matrix represents the instances in an actual class, while each row represents the instances in a predicted class. The name stems from the fact that it makes it easy to see if the system is confusing two classes. The evaluation of the segmentation results uses the following parameters: sensitivity or true positive rat (TPR), specificity or true negative rate (TNR), precision or positive predictive value (PPV) and accuracy (ACC) for overall segmentation. Sensitivity measures the proportion of actual positives which are correctly identified as such. Specificity measures the proportion of negatives which are correctly identified as such. Precision is the fraction of retrieved instances that are relevant. These parameters are determined by the values true-positive (TP), true negative (TN), false-positive (FP) and false-negative (FN) from the confusion matrix table.

    $\begin{align} TPR= {\frac{TP}{TP+TN}} \times 100\% \end{align}$

    (6)

    $\begin{align} TNR= {\frac{TN}{TN+FP}} \times 100\% \end{align}$

    (7)

    $\begin{align} PPV= {\frac{TP}{TP+FP}} \times 100\% \end{align}$

    (8)

    $\begin{align} ACC=\dfrac{ {TP+TN} }{ {P+N} }\times 100\%. \end{align}$

    (9)
  • All the algorithms are implemented on MatlabR2013a and tested with variety of images from the Berkeley database. Different numbers of clusters are also chosen for segmenting the various images. FCM results are shown in Table 2. The testing results cluster count, cluster center, execution time and cluster compactness are evaluated by the silhouette index that is reported in Table 2. The results of FCM are compared with ground truth labels using the parameters such as sensitivity, specificity, and accuracy and the results are shown in Table 3. The labels obtained from the clustering method FCM are used as a target of the supervised feed-forward neural network. The network is trained by the Levenberg-Marquardt back-propagation algorithm, and its performance is evaluated using mean square error and regression analysis. The results of feed forward network training are shown in Table 4. The network is trained with a variety of images but only Sample 4 image's details are shown here. The segmentation results obtained from the proposed method are compared with target values. The network is trained well with 5 neurons in the hidden layer. The evaluation parameters such as sensitivity, specificity, and accuracy for the classification problems are calculated and reported in Table 5. The network may be simulated for new test input images and the results of the simulation are shown in Table 6. The simulated performance of the proposed method is compared with FCM and self organizing map (SOM)[23-26].

    Table 3.  Evaluation of FCM results with groundtmth labels using confusion matrix

    Table 4.  Results of feed forward network training

    Table 5.  Confusion matrix of feed forward network training results

    Table 6.  Simulated performance of trained feed forw ard networks

  • All the algorithms are executed and tested using MatlabR2013a with a variety of images obtained from the Berkeley database. For a sample, the results of few images are discussed. FCM is applied to the L*a*b* color space transformed image for improving the segmentation results. The advantage of FCM is that unlike K-means clustering a pixel may belong to more than one cluster. The main drawbacks of FCM are computational time and more sensitive to initialization conditions of cluster number and cluster center. First let us consider Tables 2 and 6 for the running time. The execution time required for segmenting color image by the trained neural network is lower than the FCM algorithm. The segmented image obtained from the neural network is given in Table 6. Table 7 shows the execution times for FCM, SOM and trained neural networks. The comparison chart for the methods is shown in Fig. 3.

    Table 7.  Running times for FCM, SOM and proposed method

    Figure 3.  Comparison of running times of three methods (Color version of the figure is available online)

    The trained network automatically assigns labels to the test data without specifying the number of clusters. This is the major advantage of neural network based segmentation[27]. When the network has been trained, the present features are clustered to detect the number of clusters automatically. The final segmentation is composed by the classified pixels. In [12], they used 11 neurons in the hidden layer but we have used only 5 neurons in the hidden layer. The outputs are almost the same. The execution time is very less for the trained feed forward network for segmentation when it is compared with SOM. From Tables 4 and 7 it can be seen that color image segmentation by FCM with feed forward neural network gives better results and saves time.

  • In this paper we have proposed a hybrid image segmentation technique for color images. We have used FCM with feed-forward networks. We presented two novel methods namely co-occurrence based method for determining the number of clusters and the silhouette index values are used for the cluster validation. This will be most useful for clustering methods. The unique feature of our work is FCM clustering algorithm applied to the CIE L*a*b* color reduced image. The labels obtained from FCM is fed to the feed forward network which is trained by the Levenberg-Marquardt back-propagation algorithm. The network is trained with images (approximately 15 images for testing purpose) in different sizes and colors. The results are compared and evaluated. It is clearly evident from Table 5 that the performance of the proposed method is higher than FCM. The time is reduced with the trained network used for segmenting color images. The use of the co-occurrence matrix method to determine the number of clusters provides a useful approach for research of FCM. The number of clusters is a key parameter for FCM algorithm. The main advantage of this method is to segment the color images automatically.

Reference (26)

Catalog

    /

    DownLoad:  Full-Size Img  PowerPoint
    Return
    Return