Fuzzy C-means Model and Algorithm for Data Clustering

Pattern recognition has become a very important field over the last decade since automation and computerization in many systems has led to large amount of data being stored in the databases. The primary intention of pattern recognition is to automatically assist humans in analyzing the vast amount of available data and extracting useful knowledge from it. Many algorithms have been developed for many applications, especially for static pattern recognition. Since the information of these processes can be non-deterministic over the time period, fuzzy approach can be applied to deal with this. In this work, fuzzy approach for optimization techniques in the pattern recognition will be implemented. It will show a fuzzy model for data clustering and feature extraction that best suits for the process of pattern recognition when we deal with non-crisp data.


I. INTRODUCTION
Pattern recognition is a discipline whose aim is to classify objects into a number of classes or categories each characterized with some property. General classification of the pattern recognition methods differentiates two techniques: supervised and unsupervised pattern recognition. A supervised method is characterized by the property that it uses data with known classification, while unsupervised methods serve for pattern recognition in datasets with unknown classification. In this work, we will deal with unsupervised methods, with special concern on clustering methods. Clustering is one of the most essential processes in pattern recognition, since it plays a key role in finding the structures in data. Considering that real world problems in pattern recognition require the stochastic data to be processed, fuzzy clustering method will be shown to serve best in this case.
Fuzzy clustering can be divided into two basic groups, namely fuzzy c-means clustering (FCM) based on fuzzy partitions, and fuzzy hierarchical clustering method, based on fuzzy equivalence relations. Other methods derived from the two above were also proposed by researchers [1]. The aim of this work is to apply fuzzy cmeans  clustering  model  to  image  segmentation process. Texture segmentation problem is one of the fundamental one in the pattern recognition and image processing, such as in remote sensing, medical imaging, textile products inspection etc. Given an image with multiple texture regions, fuzzy c-means algorithm can be used to cluster the image vectors into several classes, each corresponding to the different regions. The output is the segmented image which can be further processed for noise removal if required.

II. FUZZY C-MEANS CLUSTERING MODEL
Fuzzy c-means clustering model was first introduced by Dunn in 1974 and later in 1973 extended and generalized by Bezdek [2]. Some derivations of this model related to the mixed fuzzy-possibilistic clustering also exists in the literature [3].
The algorithm for fuzzy c-means clustering consists of an iterative clustering method whose output is optimal 'c' partition, obtained by minimizing the objective function FCM J [4]. The basic FCM algorithm is formulated as follows: Subject to 1.
2.  [5] where, In order to implement the model described above for the process of image segmentation, 256-level gray images of different size (128x128, 256x256 and 512x512) were used. The image data was represented as a vector contained of all rows in the image concatenated to each other.
The FCM algorithm was implemented in Mathematica using the following steps: 1.

IV. RESULTS
The experiments were performed on three images. In the first case, a crisp image shown in figure 1 was tested. Its gray levels are plotted in the figure 2 showing that this image has 8 cluster centers. After performing the algorithm on the given image, 8 vectors of membership functions corresponding to 8 different cluster centers (gray levels) were obtained and shown in the figure 3. The first experiment showed that the fuzzy C-means clustering can perfectly cluster the image whose gray levels are well separated from each other. Clustering centers are shown in Table 1 for all images.
In the second case, Image 2 was tested, shown in the figure 4 and its graph of pixel values shown in the figure 5. The segmentation was performed for two clustering centers. The result (figure 4) shows a fairly good segmentation, differentiating well between low and high intensities.
Image 3 (figure 6), which represents mosaic of very similar textures with much similar gray levels was tested with 2 clustering centers. The result shows that the algorithm could not segment very properly the given image, especially when the textures were very similar.     In this work, fuzzy c-means clustering model was applied in image segmentation. The algorithm was tested on the three kinds of images. It has been shown that this model can work very well on the images with high difference in gray level intensity between the background and front, as it has been shown in the case of clock image. On the other hand, the model fails to segment properly the image with very low difference in the intensity of the gray levels, like it shows the segmentation of the mosaic image. Therefore this method should be applied to images where segmentation is needed for the image background. In addition, the described model and algorithm is sensitive to noise since it does not cover the spatial characteristics of an image. To overcome this problem, some filtering should be applied. The future work can be based on applying another fuzzy clustering model, which is fuzzy equivalence relations and improving signal to noise ratio of an image.