Image Segmentation via Color Clustering

—This paper develops a computationally efficient process for segmentation of color images. The input image is partitioned into a set of output images in accordance to color characteristics of various image regions. The algorithm is based on random sampling of the input image and fuzzy clustering of the training data followed by crisp classification of the input image. The user prescribes the number of randomly selected pixels comprising the trainer set and the number of color classes characterizing the image compartments. The algorithm developed here constitutes an effective preprocessing technique with various applications in machine vision systems. Spectral segmentation of the sensor image can potentially lead to enhanced performance of the object detection, classification, recognition, authentication and tracking modules of the autonomous vision system.


INTRODUCTION
Background removal and image segmentation constitute fundamental components of many autonomous vision systems.Segmentation is utilized in order to separate regions or entities of potential interest from each other and from inconsequential image background for further processing.This paper presents an operationally robust and computationally efficient algorithm for segmentation of the input image based on color.The complex image at the sensor output, which is presented to the autonomous vision system, is partitioned into multiple less complicated images prior to further processing [1][2][3][4][5].Following the segmentation phase, pertinent members of the resultant image set are processed by the corresponding target classification, recognition, identification, and authentication layers of the machine vision system.
The image segmentation process at lower levels entails ascribing to each pixel the appropriate class label, while at the higher levels segmentation involves utilization of lower level information for associating salient parts of the image with known objects of interest [6][7][8][9][10].Target detection, classification, recognition, and authentication procedures which are based on two dimensional spatial signatures acquired with various modalities including infrared and electro optical imagery involve utilization of spatial filters [11][12][13][14][15].The spatial filters may be applied directly to the image at the sensor output or to the resultant images following the segmentation stage.This paper provides the formulation and implementation of an efficient lower level image segmentation algorithm.Image pixels are classified in accordance to their color attributes regardless of spatial relationships.The color classifier is computed using a set of randomly selected pixels, obtained from the input image, which are partitioned using a fuzzy clustering procedure.A set of prototype color vectors are computed from the resultant fuzzy sets and are subsequently utilized to segment the input image.

II. BAKGROUND
Image segmentation is used in order to partition the input image into its salient components for further processing.Segmentation is utilized in various machine vision applications such as object recognition and tracking as well as image compression, editing, and retrieval.Segmentation involves clustering the image feature vectors such as pixel intensity levels and colors [16][17][18].In top-down image segmentation the input image is partitioned in accordance to the relationship between the image content and the images of various objects in the database including object shapes, contours, textures, and colors.The bottom-up image segmentation, on the other hand, utilizes the intensity, color, texture, and region boundaries to break up the image into its more basic components.Despite the impressive results of recently reported bottom-up image based segmentation algorithms, they often fail to capture fundamental relationships among image elements.The inherent difficulty encountered by low-level image based segmentation algorithms is due to potentially sharp intensity and color variations within the object boundaries.High-level segmentation algorithms rely on image features such as contours and shapes as segmentation primitives in order to reduce the computational complexity.Detection of edges and contours in the input image is achieved through convolving the grayscale image with local derivative filter operators [19][20].Different regions that are circumscribed by distinct closed contours are subsequently recognized as the respective image segments.This Paper presents an unsupervised learning algorithm for segmentation of color images.

III. CLUSTERING ALGORITHM
Given a set of N data points in M-dimensional space, and a user specified integer representing the number of clusters (classes) Q, the algorithm described here computes a set of Q prototypes and a Q N ´ membership matrix.Each prototype is a vector in M-space and is the optimal representation of the corresponding class.Each element of the membership matrix represents the degree of membership (association) of a data point in the respective cluster.

{ }
: [ ] Where , X Y represent, respectively, the set of data points and prototype vectors in M-space, and  is the set of real numbers.Our objective is to utilize data points in Eq. ( 1) in order to partition M-space into Q distinct regions with each region represented by a prototype vector q Y .In the operation phase, an unlabeled vector is classified based on its distance with respect to the prototypes.In crisp classification, for example, the input vector is assigned uniquely to the class with the closest prototype with respect to the input vector.In fuzzy classification, on the other hand, the input vector is assigned to all classes with varying degrees of association.
Each original data point in the trainer set will be linked to all Q regions (classes) with varying degrees of association determined by elements of the membership matrix.The initial membership matrix is generated by assigning random numbers drawn from independent and identically distributed uniform probability functions to each matrix element.We will describe an iterative algorithm for computation of the prototype vectors.The prototype vectors are then used to make hard decisions with regard to new input data points.A new data point is associated with the prototype (class) to which it is closest in accordance to some predefined distance metric.
[ ];1 Where, S is the membership (association) matrix, qn s denotes the degree with which data point-n is associated with (is member of) cluster-q, and qn d is the distance between data point-n and prototype-q.Here, Euclidean distance is used as a measure of distance between vectors in M-space.The exponent parameter ¥ is user-specified and determines the fuzziness of the clustering process.It is noted from Eq. ( 8) that the membership matrix is normalized such that sum of each column is equal to one.When u = ¥, each data point belongs to all clusters uniformly and 1 / , 1 , 1 The matrix is then normalized by setting the sum of each column to one.The randomly generated membership matrix is then utilized to compute Q zero-order prototype vectors, one for each cluster.A particular prototype vector is computed as the weighted sum of the entire set of data points, where each data point is weighted in accordance to its association to (membership in) the respective cluster.
{ } Where, q Y represents the zero-order prototype vector associated with cluster-q, n X is the nth data vector denoting a typical trainer, are elements of the randomly generated zero-order membership matrix, and u is the user-specified exponential parameter.The zero-order prototype vectors are then utilized to compute the first-order membership matrix as shown below.

S and
(1) G denote, respectively, the first order membership and gradient matrices, and (1) d is the first order gradient.Next, the computed first order membership matrix is used in order to compute the first order prototype vectors using Eq. ( 11), where the superscript 0 is replaced with 1. subsequently, the computed first order prototype vectors are however, clustering is not fuzzy and each data point is associated with a unique cluster.For crisp (hard) clustering, elements of the membership each column of S contains a single one and the rest of entries for that column are zero.The value of u affects the rate of convergence of the algorithm.In experiments conducted on diverse sets of RGB images, we have found that setting 2.5 u = , in general, leads to fast convergence and accurate results.The process starts with generating a random membership matrix, called the zero-order membership matrix Fig.

Fig
Fig. 2. In t 125 po Gaussia differen was tas parame prototy situated data se traverse triangle exampl classes not aff accurat Fig.
Figure 4 show e separation fa lized from each Fig. estim
Figu vectors Mondri initially experim and tria final v comput pixel charact distanc of the respect Fig. estim Fig. the Fig. 15.denote fin In t hierarch the sam clusteri prototy the inp compri respect two gen partitio process rounds.The from th two cla show th Class-o constitu sample partitio two new partitio Figure