Paper Implementation

profilehuangjiayu18
FRFCM.zip

FRFCM/12003.jpg

FRFCM/12003.mat

FRFCM/2018TFS_FRFCM.pdf

1063-6706 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TFUZZ.2018.2796074, IEEE Transactions on Fuzzy Systems

IEEE TRANSACTIONS ON FUZZY SYSTEMS, VOL. XXX, NO. XXX, XXX 2017 1

Significantly Fast and Robust Fuzzy C-Means Clustering Algorithm Based on Morphological

Reconstruction and Membership Filtering Tao Lei, Xiaohong Jia, Yanning Zhang, Senior Member, IEEE, Lifeng He, Senior Member, IEEE, Hongy-

ing Meng, Senior Member, IEEE, and Asoke K. Nandi, Fellow, IEEE

Abstract—As fuzzy c-means clustering (FCM) algorithm is sensitive to noise, local spatial information is often introduced to an objective function to improve the robustness of the FCM algorithm for image segmentation. However, the introduction of local spatial information often leads to a high computational complexity, arising out of an iterative calculation of the distance between pixels within local spatial neighbors and clustering centers. To address this issue, an improved FCM algorithm based on morphological reconstruction and membership filtering (FRFCM) that is significantly faster and more robust than FCM, is proposed in this paper. Firstly, the local spatial information of images is incorporated into FRFCM by introducing mor- phological reconstruction operation to guarantee noise-immunity and image detail-preservation. Secondly, the modification of membership partition, based on the distance between pixels within local spatial neighbors and clustering centers, is replaced by local membership filtering that depends only on the spatial neighbors of membership partition. Compared to state-of-the- art algorithms, the proposed FRFCM algorithm is simpler and significantly faster, since it is unnecessary to compute the distance between pixels within local spatial neighbors and clustering centers. In addition, it is efficient for noisy image segmentation because membership filtering are able to improve membership partition matrix efficiently. Experiments performed on synthetic and real-world images demonstrate that the proposed algorithm not only achieves better results, but also requires less time than state-of-the-art algorithms for image segmentation.

Index Terms—Image segmentation, fuzzy c-means clustering (FCM), local spatial information, morphological reconstruction (MR).

I. INTRODUCTION

This work was supported by the National Natural Science Foundation of China under Grant 61461025, Grant 61520106006, Grant 61672333, China Postdoctoral Science Foundation under Grant 2016M602856, and the National Science Foundation of Shanghai grant number 16JC1401300.

T. Lei is with the College of Electronical and Information Engineering, Shaanxi University of Science and Technology, Xi’an 710021, P. R. China, and also with the School of Computer Science, Northwestern Polytechnical University, Xi’an 710072, P. R. China. (E-mail: [email protected])

X. Jia and L. He are with the College of Electronical and Information Engineering, Shaanxi University of Science and Technology, Xi’an 710021, P. R. China. (E-mail: [email protected], [email protected])

Y. Zhang is with the School of Computer Science, Northwestern Polytech- nical University, Xi’an 710072, P. R. China. (E-mail: [email protected])

H. Meng is with the Department of Electronic and Computer Engineering, Brunel University London, Uxbridge, Middlesex, UB8 3PH, United Kingdom. (E-mail: [email protected])

A. K. Nandi is with the Department of Electronic and Computer Engi- neering, Brunel University London, Uxbridge, Middlesex, UB8 3PH, United Kingdom, and also the Key Laboratory of Embedded Systems and Service Computing, College of Electronic and Information Engineering, Tongji Uni- versity, Shanghai, P. R. China. (E-mail: [email protected])

I MAGE segmentation aims to partition an image into severalregions which are non-overlapped and consistent according to the requirements of different applications, and it is always one of the most challenging tasks in image understanding and computer vision due to the variety and complexity of images [1], [2]. Even though numerous approaches [3]-[6] of image segmentation have been proposed, none of them are sufficiently robust and efficient for a large number of differ- ent images. The technologies of image segmentation involve clustering [7], [8], region growth [9], watershed transform [10], active contour model [11], MeanShift [12], Graph Cut [13], spectral clustering [14], Markov random field [15], neural network [16], etc. Among these technologies, clustering is one of the most popular methods used for image segmentation because of its effectiveness and rapidity. The aim of clustering is to partition a set into some clusters so that members of the same cluster are similar, and members of different cluster are dissimilar. Generally, clustering methods can be categorized into hierarchical, graph theoretic, decomposing a density function, and minimizing an objective function. In this paper, we will focus on image segmentation based on clustering methods by minimizing an objective function.

As conventional clustering is crisp or hard, it leads to poor results for image segmentation. Based on fuzzy set theory, fuzzy c-means clustering (FCM) had been proposed by Bezdek [17]. FCM is superior to hard clustering as it has more tolerance to ambiguity and retains more original image information. Even though FCM is efficient for images with simple texture and background, it fails to segment images with complex texture and background or images corrupted by noise because it only considers gray-level information without considering the spatial information. To address the problem, one of the most popular ideas is to incorporate the local spatial information in an objective function to improve the segmenta- tion effect. Motivated by this idea, Ahmed et al. [18] proposed FCM algorithm with spatial constraints (FCM S), where the objective function of the classical FCM is modified in order to take into account of the intensity inhomogeneity and to allow the labeling of a pixel to be influenced by the labels in its immediate neighborhood. However, FCM S is time- consuming because the spatial neighbors term is computed in each iteration. To reduce the execution time of FCM S, Chen and Zhang [19] employed average filtering and median filter- ing to obtain the spatial neighborhood information in advance. Their two proposed variants, FCM S1 and FCM S2, have

1063-6706 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TFUZZ.2018.2796074, IEEE Transactions on Fuzzy Systems

IEEE TRANSACTIONS ON FUZZY SYSTEMS, VOL. XXX, NO. XXX, XXX 2017 2

a lower computational cost than FCM S, since both mean- filtered images and median-filtered images can be computed before the start of the iterative stage. However, both FCM S1 and FCM S2 are not robust for Gaussian noise, as well as for known noise intensity. Moreover, it is difficult to ascertain the type of noise and intensity before using FCM S1 or FCM S2.

Enhanced FCM (EnFCM) [20] is an excellent algorithm from the viewpoint of its low computational time; it performs clustering based on gray level histograms instead of pixels of a summed image. The computational time is low because the number of gray levels in an image is generally much smaller than the number of its pixels. However, the segmentation result produced by EnFCM is only comparable to that produced by FCM S. To improve the segmentation results obtained by EnFCM, Cai et al. [21] proposed the fast generalized FCM algorithm (FGFCM) which introduced a new factor as a local similarity measure aiming to guarantee both noise- immunity and detail-preservation for image segmentation, and meanwhile removes the empirically-adjusted parameter α that is required in EnFCM, and finally performs clustering on gray level histograms. Although FGFCM is able to improve the robustness and computational efficiency of FCM to some extent, they require more parameters than EnFCM.

To develop new FCM algorithms, which are free from any parameter selection, Krinidis and Chatzis [22] proposed a robust fuzzy local information c-means clustering algorithm (FLICM) by replacing the parameter α employed by EnFCM with a novel fuzzy factor that is incorporated into objec- tive function to guarantee noise-immunity and image detail- preservation. Although the FLICM overcomes the problem of parameter selection and promotes the image segmenta- tion performance, the fixed spatial distance is not robust for different local information of images. Gong et al. [23] utilized a variable local coefficient instead of the fixed spatial distance, and proposed a variant of the FLICM algorithm (RFLICM) which is able to exploit more local context in- formation in images. Furthermore, by introducing a kernel metric to FLICM, and employing a trade-off weighted fuzzy factor to control adaptively the local spatial relationship, Gong et al. [24] proposed a novel fuzzy c-means clustering with local information and kernel metric (KWFLICM) to enhance the robustness of FLICM to noise and outliers. Similar to FLICM, KWFLICM is also free of any parameter selection. However, KWFLICM has a higher computational complexity than FLICM. In fact, the parameter selection depends on image patches and local statistics.

Image patches have been successfully used in non-local denoising [25], [26] and texture feature extraction [27], and a higher classification accuracy can be obtained by using the similarity measurement based on patch. Therefore, patch- based denoising methods, where the non-local spatial informa- tion is introduced in an objective function by utilizing a variant parameter, which is adaptive according to noise level for each pixel of images [24], are extended to FCM to overcome the problem of parameter selection to improve the robustness to noise. However, it is well known that patch-based non-local filtering and parameter estimation have a very high computa- tional complexity. To reduce the running time of FLICM and

KWFLICM, Zhao et al. [28] proposed neighborhood weighted fuzzy c-means clustering algorithm (NWFCM) which replaces the Euclidean distance in the objective function of FCM with a neighborhood weighted-distance obtained by patch distance. Even though the NWFCM is faster than FLICM and KWFLICM, it is still time-consuming because of the calculation of patch distance and parameter selection. To over- come the shortcoming, Guo et al. [29] proposed an adaptive FCM algorithm based on noise detection (NDFCM), where the trade-off parameter is tuned automatically by measuring local variance of grey levels. Despite the fact that NDFCM employs more parameters, it is fast since image filtering is executed before the start of iterations.

Following the work mentioned above, in this study, we propose a significantly fast and robust algorithm for image segmentation. The proposed algorithm can achieve good seg- mentation results for a variety of images with a low compu- tational cost, yet achieve a high segmentation precision.

Our main contributions can be summarized as follows: • The proposed FRFCM employs morphological recon-

struction (MR) [30], [31] to smooth images in or- der to improve the noise-immunity and image detail- preservation simultaneously, which removed the difficulty of having to choose different filters suitable for different types of noise in existing improved FCM algorithms. Therefore, the proposed FRFCM is more robust than these algorithms for images corrupted by different types of noise.

• The proposed FRFCM modifies membership partition by using a faster membership filtering instead of the slower distance computation between pixels within local spatial neighbors and their clustering centers, which leads to a low computational complexity. Therefore, the proposed FRFCM is faster than other improved FCM algorithms.

The rest of this paper is organized as follows. In Section II, we provide the motivation for our work. In Section III, we propose our algorithm and model. The experimental results on synthetic images, real medical images, aurora images, and color images are described in Section IV, Finally, we present our conclusion in Section V.

II. MOTIVATION

To improve the drawback that FCM algorithm is sensitive to noise, most algorithms try to overcome the drawback by incorporating local spatial information to FCM algorithm, such as FLICM, KWFLICM, NWFCM, etc. However, a high computational complexity is a problem for them. In fact, the introduction of local spatial information is similar to image filtering in advance (see Appendix A). Thus, local spatial information of an image can be calculated before applying the FCM algorithm, which will efficiently reduce computational complexity, such as FCM S1 and FCM S2. Besides, if the membership is modified through the use of the relationship of the neighborhood pixels, but the objective function is not modified, then the corresponding algorithm will be simple and fast [32]. Motivated by this, in this paper, we improve FCM algorithm in two ways: one is to introduce

1063-6706 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TFUZZ.2018.2796074, IEEE Transactions on Fuzzy Systems

IEEE TRANSACTIONS ON FUZZY SYSTEMS, VOL. XXX, NO. XXX, XXX 2017 3

local spatial information using a new method with a low computational complexity and the other is to modify pixels’ membership without depending on the calculation of distance between pixels within local spatial neighbors and clustering centers. The proposed algorithm on image segmentation will be implemented efficiently with a small computational cost.

A. Motivation of Using MR

By introducing local spatial information to an objective function of FCM algorithm, the improved FCM algorithms are insensitive to noise and show better performance for image segmentation. Generally, the modified objective function of these algorithms is given as follows:

Jm = N∑ i=1

c∑ k=1

umki‖xi −vk‖ 2 +

N∑ i=1

c∑ k=1

Gki, (1)

where f = {x1,x2, · · ·,xN} represents a grayscale image, xi is the gray value of the ith pixel, vk represents the prototype value of the kth cluster, uki denotes the fuzzy membership value of the ith pixel with respect to cluster k. U = [uki]c×N represents membership partition matrix. N is the total number of pixels in the image f, and c is the number of clusters. The parameter m is a weighting exponent on each fuzzy membership that determines the amount of fuzziness of the resulting classification. The fuzzy factor Gki is used to control the influence of neighborhood pixels on the central pixel. Different Gki usually leads to variant clustering algorithms, such as FCM S, FCM S1, FCM S2, FLICM, KWFLICM, NWFCM, etc. From these algorithms, we found that the form of Gki directly decides the computational complexity of different clustering algorithms. For example, in FCM S, the Gki is defined as

Gki = α

NR umki

∑ r∈Ni

‖xr −vk‖2, (2)

where α is a parameter which is used to control the effect of the neighbors term, NR is the cardinality of uki, xr denotes the neighbor of xi and Ni is the set of neighbors within a window around xi.

For FLICM, the Gki is defined as

Gki = ∑ r∈Ni i6=r

1

dir + 1 (1−ukr)

m‖xr −vk‖2, (3)

where dir represents the spatial Euclidean distance between pixels xi and xr. It is obvious that the Gki is more complex than that in FCM S, and thus FLICM has a higher compu- tational complexity than FCM S. In FCM S1 and FCM S2, the Gki is defined as

Gki = αu m ki‖x̂i −vk‖

2, (4)

where x̂i is a mean value or median value of neighboring pixels lying within a window around xi. The Gki in FCM S1 and FCM S2 has a more simplified form than FCM S, and the clustering time can be reduced because

∑ r∈Ni ‖xr−uk‖

2/NR is replaced by α‖x̂i −uk‖2.

Although FCM S1 and FCM S2 simplified the neighbors term in the objective function of FCM S, and presented excellent performance for image segmentation, it is difficult to ascertain noise type that is required to choose a suitable filter (mean or median filter). FCM S2 is able to obtain good segmentation results for images corrupted by Salt & Pepper noise, but it is incapable of doing so for images corrupted by Gaussian noise. FCM S1 produces worse results compared with FCM S2. In practical applications, we expect to obtain a robust x̂ in which different types of noise are efficiently removed while image details are preserved. Motivated by this, we introduce MR to FCM because MR is not only able to obtain a good result, but also it requires a short running time [33]. Therefore, in this paper, we introduce MR to FCM to address the drawback produced by conventional filters. MR uses a marker image to reconstruct original image to obtain a better image, which is favorable to image segmentation based on clustering. Similar to FCM S1 and FCM S2, the reconstructed image will be computed in advance, and thus the computational complexity of the proposed algorithm is low. We will present the computation of reconstructed image in details in Section III.

B. Motivation of Using Membership Filtering

In FCM algorithm, according to the definition of the object function and the constraint that

∑c k=1 uki = 1 for each pixel

xi, and using the Lagrange multiplier method, the calculations of membership partition matrix and the clustering centers are given as follows:

uki = ‖xi −vk‖−2/(m−1)∑c j=1 ‖xi −vj‖−2/(m−1)

, (5)

vk =

∑N i=1 u

m kixi∑N

i=1 u m ki

. (6)

According to (5), it is easy and fast to compute uki by using vector operation for FCM algorithm. However, it is complex and slow to compute uki shown in (7) for improved FCM algorithm such as FLICM and KWFLICM because vector operation cannot be used in the computation of Gki in (3).

uki =

( ‖xi −vk‖2 + Gki

)−1/(m−1)∑c j=1 (‖xi −vj‖2 + Gji)

−1/(m−1) , (7)

Therefore, multiple loop program is employed by FLICM and KWFLICM, which causes a high computational complexity. On the one hand, the introduction of Gki in (7) is able to improve the robustness of FCM to noisy image segmentation, but on the other hand, the introduction of Gki causes a high computational cost. Clearly, there is a contradiction between improving the robustness and reducing the computational complexity simultaneously for FCM [34]. We found that if Gki can be computed in advance, the contradiction will disappear because the uki in (7) can be computed by using vector operation without multiple loops.

In this paper, we introduce membership filtering to FCM to address the contradiction mentioned above. First, because a reconstructed image is computed in advance, we perform

1063-6706 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TFUZZ.2018.2796074, IEEE Transactions on Fuzzy Systems

IEEE TRANSACTIONS ON FUZZY SYSTEMS, VOL. XXX, NO. XXX, XXX 2017 4

clustering on the gray level histogram of an image recon- structed by MR. After obtaining fuzzy membership partition matrix, we use membership filtering to modify membership partition matrix to avoid the computation of distance between pixels within local spatial neighbors and clustering centers. We present our proposed method in details in Section III.

III. METHODOLOGY

In this study, we employ MR to replace mean or median filters due to its robustness to noise. MR is able to efficiently suppress different noise without considering noise type. More- over, MR algorithm is fast as parallel algorithms exist for the implementation of MR. Motivated by the idea of EnFCM, we perform clustering on the gray level histogram of an image reconstructed by MR to obtain a fuzzy membership matrix via iteration operation. Finally, a filter is employed to modify the membership partition matrix. Using this method, we can obtain a good segmentation result requiring less time.

A. General Overview of the Proposed Methodology

Similar to EnFCM, the clustering of the proposed FRFCM is performed on the gray level histogram, and thus the objective function can be written as

Jm =

q∑ l=1

c∑ k=1

γlu m kl‖ξl −vk‖

2, (8)

where ukl represents the fuzzy membership of gray value l with respect to cluster k, and

q∑ l=1

γl = N, (9)

where ξ is an image reconstructed by MR, and ξl is a gray level, 1 6 l 6 q, q denotes the number of the gray levels contained in ξ, it is generally much smaller than N. ξ is defined as follows:

ξ = RC(f), (10)

where RC denotes morphological closing reconstruction, and f represents an original image.

Utilizing the Lagrange multiplier technique, the aforemen- tioned optimization problem can be converted to an uncon- strained optimization problem that minimizes the following objective function:

J̃m =

q∑ l=1

c∑ k=1

γlu m kl‖ξl −vk‖

2 −λ

( c∑

k=1

ukl −1

) , (11)

where λ is a Lagrange multiplier. Therefore, the problem of the minimization of objective function is converted to finding the saddle point of the above Lagrange function and taking the derivatives of the Lagrangian J̃m with respect to the parameters, i.e., ukl and vk.

By minimizing the objective function (8), we obtained the corresponding solution as follows:

ukl = ‖ξl −vk‖−2/(m−1)∑c j=1 ‖ξl −vj‖−2/(m−1)

, (12)

vk =

∑q i=1 γlu

m klξl∑q

i=1 γlu m kl

. (13)

According to (12), a membership partition matrix U = [ukl]

c×q is obtained. To obtain a stable U, (12-13) are repeat- edly implemented until max{U(t)−U(t+1)} < η, where η is a minimal error threshold. Because u(t)kl is a fuzzy membership of gray value l with respect to cluster k, a new membership partition matrix U

′ = [ukl]

c×N which corresponds to the original image f, is obtained, i.e.,

uki = u (t) kl , if xi = ξl. (14)

To obtain a better membership partition matrix and to speed up the convergence of our algorithm, we modify uki by using membership filtering. Considering the trade-off between per- formance of membership filtering and the speed of algorithms, we employ a median filter in this paper as follows:

U ′′ = med{U

′ }, (15)

where med represents median filtering. Based on the analysis mentioned above, the proposed algo-

rithm FRFCM can be summarized as follows: Step 1: Set the cluster prototype value c, fuzzification

parameter m, the size of filtering window w and the minimal error threshold η.

Step 2: Compute the new image ξ using (10), and then compute the histogram of ξ.

Step 3: Initialize randomly the membership partition matrix U(0).

Step 4: Set the loop counter t = 0. Step 5: Update the clustering centers using (13). Step 6: Update the membership partition matrix U(t+1)

using (12). Step 7: If max{U(t) − U(t+1)} < η then stop, otherwise,

set t = t + 1 and go to Step 5. Step 8: Implement median filtering on membership partition

matrix U ′

using (15).

B. Morphological Reconstruction

For FCM algorithm, the rate of convergence is always decided by the distribution characteristics of data. If the distribution characteristic of data is favorable to clustering, the corresponding number of iterations is small, otherwise, the number of iterations is large. FCM is sensitive to noise because the distribution characteristics of data is always affected by noise corruption, which causes two problems. one is that the result obtained by FCM algorithm is poor for noisy image segmentation; the other is that the number of iterations of FCM is larger for an image corrupted by noise than the image uncorrupted by noise. It is well known that the distribution characteristic of data can be described by histogram. If the histogram is uniform, it is difficult to achieve a good and fast image segmentation. On the contrary, it is easy if the histogram has several apparent peaks. Fig. 1 shows an example.

Fig. 1 shows that the histogram of original image has two obvious peaks while the histogram of image corrupted by Gaussian noise has no obvious peaks except extremum (0 and 255). There are two obvious peaks in Fig. 1(f), similar to

1063-6706 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TFUZZ.2018.2796074, IEEE Transactions on Fuzzy Systems

IEEE TRANSACTIONS ON FUZZY SYSTEMS, VOL. XXX, NO. XXX, XXX 2017 5

(a) (b) (c) (d) (e) (f)

Fig. 1: Comparison of distribution characteristics of data for noisy image and filtered image. (a) Original imge “cameraman” (image size: 512 × 512). (b) Histogram of the original image (c) Image corrupted by Gaussian noise (the mean value is zero, and the variance is 5%) (d) Histogram of (c). (e) image filtered by a mean filter (3 × 3). (f) Histogram of (e).

TABLE I: Comparison of number of iterations for three different images (the numbers represent the averages of repeating 100 times).

Original image (Fig. 1(a)) Noisy image (Fig. 2(a)) Filtered image (Fig. 2(c))

Numbers of iterations with standard deviations 21.06 ± 1.91 38.46 ± 7.51 24.56 ± 1.48

(a) (b)

(c) (d)

(e) (f)

(g) (h)

Fig. 2: Comparison of noise removal using different methods. (a) Image corrupted by Gaussian noise (the mean value is zero, and the variance is 5%). (b) Image corrupted by Salt & Pepper noise (the noise density is 20%). (c) Filtered result using mean filtering for (a). (d) Filtered result using mean filtering for (b). (e) Filtered result using median filtering for (a). (f) Filtered result using median filtering for (b). (g) Filtered result using MR for (a). (h) Filtered result using MR for (b).

the original Fig. 1(b), demonstrating a mean filter is efficient for the removal of Gaussian noise. We implemented FCM algorithm on three images: original image, the image corrupted by Gaussian noise (the mean vlaue is zero, and the variance is 5%), and the image filtered by a mean filter (the size of the filtering window is 3 × 3). Table I shows the comparison of number of iterations of FCM for the three images (c = 2).

Table I shows that the number of iterations of FCM is the smallest for the original image and it is the largest for the

noisy image. Mean filter is efficient for the optimization of data distribution because the number of iterations is reduced.

In this paper, we introduce MR to FCM algorithm to optimize distribution characteristic of data before applying clustering. MR is able to preserve object contour and remove noise without knowing the noise type in advance [35], which is useful for optimizing distribution characteristic of data.

There are two basic morphological reconstruction opera- tions, morphological dilation and erosion reconstructions [36]. Morphological dilation reconstruction is denoted by Rδf(g) that is defined as

Rδf(g) = δ (i) f (g), (16)

where f is the original image, g is a marker image and g 6 f, δ represents dilation operation, and δ(1)f (g) = δ(g) ∧ f, δ (i) g (f) = δ(δ

(i−1)(g)) ∧ f, and ∧ stands for the pointwise minimum.

By duality, morphological erosion reconstruction is denoted by Rεf(g) that is defined as

Rεf(g) = ε (i) f (g), (17)

where g > f, ξ represents erosion operation, and ε(1)f (g) = ε(g) ∨ f, ε(i)g (f) = ε(ε(i−1)(g)) ∨ f, and ∨ stands for the pointwise maximum.

The reconstruction result of an image depends on the selection of marker images and mask images [37]. Generally, if the original image is used as a mask image, then the transformation of the original image is considered as the marker image. In practical applications, g = ε(f) meets the condition g 6 f for dilation reconstructions and g = δ(f) meets the condition g > f for erosion reconstructions. Thus, g = ε(f) and g = δ(f) are always used to obtain a marker image due to simplicity and effectiveness.

Based on the composition of erosion and dilation recon- structions, some reconstruction operators with stronger filter- ing capability can be obtained, such as morphological opening and closing reconstructions. Because morphological closing reconstruction, denoted by RC, is more suitable for texture detail smoothing, we employ RC to modify original image. RC is defined as follows:

RC(f) = Rε Rδ f (ε(f))

( δ ( Rδf (ε(f))

)) . (18)

1063-6706 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TFUZZ.2018.2796074, IEEE Transactions on Fuzzy Systems

IEEE TRANSACTIONS ON FUZZY SYSTEMS, VOL. XXX, NO. XXX, XXX 2017 6

In [20], the modified image ξ = (ξi)Ni=1 is defined as

ξi = 1

1 + α (xi + αx̂i) , (19)

According to (18), xi ∈ f and x̂i ∈ RC(f), where RC(f) denotes a reconstructed image obtained by RC. To obtain a marker image, a structuring element B including center element is required for ε or δ, i.e., εB(f) ≤ f and δB(f) ≥ f. Then, RC is rewritten as

RC(f) = Rε Rδ f (εB(f))

( δB ( Rδf (εB(f))

)) . (20)

For example, a disk with radius r can be considered as B. If r = 0, then RC(f) = f; else f will be smoothed to different degree according to the change of r. Therefore, the effect of α is similar to r. And thus, we can replace ξ with RC(f), and the parameter α will be removed, which solves the problem of noise estimation because MR is able to remove different noises efficiently.

To show the effect of MR for different type of noise removal in images, Fig. 2 shows comparative results generated by a mean filter, a median filter, and RC. The original image is Fig. 1(a), and the size of the filtering window employed by the mean and the median filters is 3×3. For consistency, the structuring element, in this case, is also a square of size 3×3 (r = 1).

Figs. 2(c, e, g) are filtering results of image corrupted by Gaussian noise by using the mean filter, the median filter, and RC respectively. It is clear that RC is efficient for Gaussian noise removal. Similarly, Figs. 2(d, f, h) are filtering results of image corrupted by Salt & Pepper noise by using the mean filter, the median filter, and RC respectively. It is also clear that RC is efficient for Salt & Pepper noise removal. Therefore, on the one hand, MR removes the difficulty of choosing filters for images corrupted by noise; on the other hand, MR integrates spatial information into FCM to achieve a better image segmentation. Compared with mean filtering and median filtering, Fig. 2 shows that MR is able to optimize data distribution without considering noise type. Moreover, MR can obtain better results for image filtering than mean and median filters, which is important for subsequent clustering and image segmentation.

C. Membership Filtering

According to the above results in subsection III.B, we found that the introduction of local spatial information is useful and efficient for improving FCM algorithm. Howev- er, the computation of distance between pixels within local spatial neighbors and clustering centers does introduce a high computational complexity, such as FCM S. Although some improved algorithms such as FCM S1 and FCM S2, reduce computational complexity by computing spatial neighborhood information in advance, these algorithms need to ascertain the noise type before applying an image filter. To exploit spatial neighborhood information during the iteration process of clustering, FLICM and KWFLICM compute the distance between the neighbors of pixels and clustering centers in each iteration. Although FLICM and KWFLICM produce

170 170 170

170 170 170

170 170 170

(a)

169 115 129

178 191 152

158 224 179

(b)

0.02 0.01 0.03

0.01 0.00 0.04

0.03 0.02 0.01

0.12 0.98 0.86

0.04 0.00 0.42

0.30 0.07 0.03

0.86 0.01 0.11

0.95 1.00 0.54

0.67 0.91 0.96

(c)

0.01 0.03 0.03

0.01 0.01 0.02

0.03 0.02 0.00

0.15 0.47 0.51

0.12 0.10 0.21

0.35 0.13 0.02

0.84 0.50 0.46

0.87 0.89 0.77

0.62 0.85 0.98

(d)

Fig. 3: Comparison of membership partition from FCM and FLICM (c = 3, and the iteration step is 10). (a) Original synthetic image included three gray levels (0, 85, 170). (b) Image corrupted by Gaussian noise (the mean value is zero, and the variance is 3%). (c) Membership partition using FCM. (d) Membership partition using FLICM.

0.01 0.02 0.02

0.01 0.01 0.05

0.02 0.01 0.01

0.95 0.94 0.91

0.95 0.95 0.81

0.94 0.95 0.94

0.04 0.04 0.07

0.04 0.04 0.14

0.04 0.04 0.05

Fig. 4: Membership partition using FCM based on membership filter for Fig. 3(b) (the iteration step is 10).

good segmentation results for noisy images, they have a high computational complexity.

In [22], FLICM will equal to FCM if Gki is removed. For this the idea is to replace Gki in a simple way where the computation of distance between pixels within local s- patial neighbors and vk is unnecessary. Motivated by the idea, membership filtering is introduced. We will replace the contribution of Gki with the spatial neighborhood information of membership partition. To further analyze the contribution of Gki, Fig. 3 shows the effect of spatial neighborhood information on membership partition.

FCM and FLICM are used to segment Fig. 3(b). Figs. 3(c, d) are membership partition provided by FCM and FLICM, respectively when the number of iterations is 10. Fig. 3(c) shows that some pixels marked with red color will be mis- classified because the original image is corrupted by Gaussian noise. By introducing local spatial information into FLICM, the misclassified pixel will be corrected as shown in Fig. 3(d) (the corrected pixels are marked with blue color). For a pixel (the gray value is 115) in Fig. 3(b), we obtained three fuzzy memberships (0.01, 0.98, 0.01) of the pixel shown in Fig. 3(c) by using FCM, which clearly indicates that the pixel

1063-6706 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TFUZZ.2018.2796074, IEEE Transactions on Fuzzy Systems

IEEE TRANSACTIONS ON FUZZY SYSTEMS, VOL. XXX, NO. XXX, XXX 2017 7

TABLE II: Comparison of clustering centers produced by different algorithms (the data represents average results of repeating 100 times, the iteration step is 10, and three gray levels of Ground Truth Fig. 3(a) is (0, 85, 170)).

Method FCM FLICM MFFCM FRFCM Values of clustering centers (11.4, 106.9, 192.0) (18.9, 117.3, 179.1) (18.9, 91.2, 169.7) (5.6, 85.4, 169.1)

MSE 33.07 38.51 19.89 5.69

belongs to the second cluster according to FCM. However, in reality, it belongs the third cluster (the gray value is 170) according to the Ground Truth. In Fig. 3(d), we obtained new fuzzy memberships (0.03, 0.47, 0.50) of the pixel by using FLICM, which shows that the pixel belongs the third cluster because 0.5 is the maximal membership. Even though pixels corrupted with Gaussian noise are classified accurately by FLICM, the maximal membership value of pixels is small. And thus, FLICM has a slow speed of convergence.

According to (2) and (7), uki depends on the distance ‖xi− vk‖ and ‖xr − vk‖. But in fact, ‖xr − vk‖ is a repetitive or redundant computation since it can be obtained according to ‖xi − vk‖. It is the same as KWFLICM. It is clear that we can use a membership filter to correct the misclassified pixels, i.e., it is unnecessary to compute the distance between the neighbors of pixels and clustering centers. According to Gki shown in (3), the modified membership partition is considered as

u ′

ki = uki + ∑ r∈Ni i6=r

1

dir + 1 ukr, (21)

where dir represents the Euclidean distance between uki and ukr, and ukr is the neighbors of uki. The factor, 1/(dir + 1), reflects the spatial structure information of membership partition.

Because FLICM is sensitive to Salt & Pepper noise, it is inefficient to use (21) to remove the noise. In this paper, we use a median filter to modify membership partition as shown in (15), In fact, it can be demonstrated that the introduction of local spatial information is similar to membership filter for improving segmentation results (see in Appendix A). However, membership filtering does not require to compute the distance between the pixels within local spatial neighbors and clustering centers. Therefore, the corresponding computational complexity of improved algorithms based on membership filtering is lower than other algorithms such as NWFCM, FLICM, KWFLICM, etc. For membership partition obtained by FCM in each iteration show in Fig. 3, a median filter is used to modify membership partition, and Fig. 4 shows results (the result is normalized, and the filtering window is the same as the structuring element B).

Fig. 4 shows membership filtering has a capability of correcting misclassified pixels. Moreover, it provides a better membership partition than FLICM. Therefore, it is a good idea to utilize membership filtering instead of the introduction of fuzzy factor Gki. Also, FCM algorithm based on membership filtering (MFFCM) provides better clustering centers than FCM as shown in Table II. Therefore, the objective function of FCM algorithm based on membership filtering converges quickly. However, if membership filtering is implemented in each iteration, the corresponding algorithm will be complex

and lowly efficient. To improve the computational efficiency of MFFCM further, membership filtering is just implemented once on the final membership partition matrix.

Based on the analysis above, MR is used to optimize data distribution, and then we implement FCM algorithm on the histogram of reconstructed image. Finally, we use a median filter to modify membership partition. The proposed FRFCM is implemented on Fig. 3(b), and Table II shows the comparison of values of clustering centers produced by FCM, FLICM, MFFCM, and FRFCM, where the Mean Square Error (MSE) of clustering centers is used to evaluate the performance of different algorithms.

In Table II, 11.4, 18.9, 18.9, and 5.6 are values of the first clustering center obtained by FCM, FLICM, MFFCM, and FRFCM respectively. The value, 33.07, is the MSE between the FCM results of (11.4, 106.9, 192.0) and the Ground Truth of (0, 85, 170). It is clear that the value, 5.6, from FRFCM is the closest value to 0 which is the first clustering center from the Ground Truth. Consequently, Table II demonstrates that FRFCM provides the best clustering centers after ten iter- ations. Based on the analysis mentioned above, we conclude that the proposed FRFCM has following advantages: • Similar to FLICM and KWFLICM, it is free from pa-

rameters except the size of filtering window. • It has a low computational complexity because the re-

dundant computation of distance is unnecessary. • It is able to provide good results for image segmentation

because of the introduction of MR and membership filter- ing, and thus spatial information is efficiently exploited.

IV. EXPERIMENTS

To estimate the effectiveness and efficiency of the proposed FRFCM, synthetic noise images, real images including a medical image and an aurora image, and color images are tested in our experiments. Nine state-of-the-art clustering algorithms: FCM [17], FCM S1 [19], FCM S2 [19], EnFCM [20], FGFCM [21], FLICM [22], KWFLICM [24], NWFCM [28], and NDFCM [29], are employed in these experiments to compare with the proposed FRFCM. These algorithms have different advantages. FCM, FCM S1, FCM S2, EnFCM, FGFCM, and NDFCM have a low computational complexity. FLICM, KWFLICM and NWFCM have a strong capability of noise removal, while FLICM and KWFLICM do not require parameter values to be set.

In the following experiments, a fixed 3×3 window is used in all the algorithms except FCM for fair comparison. The weighting exponent is set m = 2, η = 10−5. In addition, according to FCM S1, FCM S2, and EnFCM, α is used to control the effect of the neighbors term, experientially, α = 3.8. In FGFCM and NDFCM, the spatial scale factor and the

1063-6706 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TFUZZ.2018.2796074, IEEE Transactions on Fuzzy Systems

IEEE TRANSACTIONS ON FUZZY SYSTEMS, VOL. XXX, NO. XXX, XXX 2017 8

(a) (b) (c)

(e) (f) (g)

(i)

(d)

(h)

(l)(k)(j)

Fig. 5: Comparison of segmentation results on the first symmetric image. (a) Original image. (b) noisy image (Gaussian noise with zero mean and 5% variance). (c) FCM result. (d) FCM S1 result. (e) FCM S2 result. (f) EnFCM result. (g) FGFCM result. (h) FLICM result. (i) NWFCM result. (j) KWFLICM result. (k) NDFCM result. (l) FRFCM result.

gray-level scale factor are λs = 3 and λg = 5, respectively. Besides, a new scale factor λα equals to 3 for the NDFCM [29]. For NWFCM, λg equals to 5. Except m, η, and the number of the cluster prototype, there is no other parameters for FLICM and KWFLICM. For our FRFCM, the mask image is the original image, and a square structuring element of size 3 × 3 is used to obtain marker image. In addition, median filter is used to fuzzy membership filtering, and the filtering window is also 3×3.

A. Results on Synthetic Images

In this section, two synthetic images with size 256 × 256 are used in the experiment. The first image includes three classes (three intensity value are 0, 85, and 170 respectively), and the second image includes four classes (four intensity value are 0, 85, 170, and 255 respectively). The two synthetic images are shown in Fig. 5(a) and Fig. 6(a) respectively. These images are corrupted by Gaussian, Salt & Pepper, and Uniform noise respectively, and these corrupted images are utilized for testing the efficiency and robustness of above algorithms. Figs. 5(c-l) and Figs. 6(c-l) show segmentation results obtained by different algorithms.

In addition, a performance index, the optimal segmentation accuracy (SA), and a quantitative index score (S) [18], are used to assess the denoising performance of different algorithms, where SA is defined as the sum of the correctly classified pixels divided by the sum of the total number of the pixels

SA = c∑

k=1

Ak ⋂ Ck∑c

j=1 Cj , (22)

and S is defined as the degree of equality between pixel sets Ak and the Ground Truth Ck

S = c∑

k=1

Ak ⋂ Ck

Ak ⋃ Ck

. (23)

(a) (b)

(e) (f) (g) (h)

(c) (d)

(i) (j) (k) (l)

Fig. 6: Comparison of segmentation results on the second symmetric image. (a) Original image. (b) noisy image (Salt & Pepper, the noise intensity is 20%). (c) FCM result. (d) FCM S1 result. (e) FCM S2 result. (f) EnFCM result. (g) FGFCM result. (h) FLICM result. (i) NWFCM result. (j) KWFLICM result. (k) NDFCM result. (l) FRFCM result.

where c is the number of the cluster prototype, Ak denotes the set of pixels belonging to the kth class found by the algorithm, while Ck denotes the set of pixels belonging to the class in the Ground Truth. All the algorithms are repeatedly run 100 times on synthetic images corrupted by different noises. Tables III and IV give the average segmentation accuracy and the scores results of the repeated experiments for the ten algorithms.

In Fig. 5, FCM algorithm does not overcome its sensitivity to noise. FCM S1 and FCM S2 are able to reduce the effect of noise on segmentation results due to the introduction of local spatial information. EnFCM, FGFCM, and NDFCM improve segmentation results to some extent, the segmented images have better visual effect than FCM, FCM S1, and FCM S2. Although NWFCM obtains a better visual effect for the first and the third classes (the clustering centers are 0 and 170), it causes a poor effect on the second class (the clustering center is 85). FLICM and KWFLICM are superior to FGFCM depending on Figs. 5(h, j). Fig. 5(l) shows that the proposed FRFCM obtains better segmentation result than other algorithms.

Fig. 6 shows that FCM S1 obtains a poor segmentation result which is close to FCM because mean filters employed by FCM S1 is incapable of removing Salt & Pepper noise. But FCM S2 obtains a good segmentation result because median filters employed by FCM S2 is able to efficiently remove Salt & Pepper noise. NWFCM provides a good segmentation result for images corrupted by Salt & Pepper noise because a weight function incorporating both patch structure information and the local statistics, is introduced in distance measurement between pixels. FLICM and KWFLICM are sensitive to Salt & Pepper noise, which leads to poor results, even KWFLICM obtains a wrong result shown in Fig. 6(j). FGFCM is superior to EnFCM because FGFCM introduces a new factor as a local (both spatial and gray) similarity measure aiming to

1063-6706 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TFUZZ.2018.2796074, IEEE Transactions on Fuzzy Systems

IEEE TRANSACTIONS ON FUZZY SYSTEMS, VOL. XXX, NO. XXX, XXX 2017 9

TABLE III: Segmentation accuracy (SA%) of ten algorithms on the first synthetic image with different noises.

Noise FCM FCM S1 FCM S2 EnFCM FGFCM FLICM NWFCM KWFLICM NDFCM FRFCM Gaussian 3% 73.70 98.47 98.23 98.86 98.88 99.10 91.91 99.78 98.81 99.78 Gaussian 5% 67.18 94.53 94.20 97.22 97.18 98.17 89.59 99.52 97.06 99.64 Gaussian 10% 59.67 80.53 80.31 88.17 87.46 90.85 89.61 95.45 87.49 99.04 Gaussian 15% 56.47 76.39 75.25 80.94 80.46 79.36 88.35 85.46 80.60 86.61 Salt & Pepper 10% 94.28 94.85 99.80 95.70 98.65 93.37 99.91 99.97 98.60 99.94 Salt & Pepper 20% 83.42 88.31 99.60 86.84 95.27 82.01 99.61 86.88 95.17 99.86 Salt & Pepper 30% 77.05 78.42 98.89 83.00 89.29 71.51 98.62 99.31 87.75 99.78 Uniform 10% 93.64 97.05 99.85 98.08 98.88 96.53 99.89 99.96 98.81 99.93 Uniform 20% 87.14 93.09 99.28 94.82 96.64 90.22 99.42 99.91 96.43 99.88 Uniform 30% 80.60 88.30 97.43 90.25 92.58 80.72 97.97 99.81 92.19 99.79

TABLE IV: Comparison scores (S%) of the ten algorithms on the second synthetic image with different noises.

Noise FCM FCM S1 FCM S2 EnFCM FGFCM FLICM NWFCM KWFLICM NDFCM FRFCM Gaussian 3% 56.69 95.47 95.34 96.64 96.67 97.73 95.31 99.32 96.48 99.49 Gaussian 5% 39.57 75.27 75.14 82.89 82.53 88.50 59.97 94.67 82.42 98.73 Gaussian 10% 36.61 67.92 68.82 77.04 76.70 82.44 55.63 89.79 76.51 97.97 Gaussian 15% 36.31 67.34 68.55 76.98 76.65 81.93 54.81 89.47 76.52 96.41 Salt & Pepper 10% 85.65 89.23 99.72 89.78 96.90 84.66 99.77 45.51 96.81 99.87 Salt & Pepper 20% 73.56 77.68 99.06 77.55 90.32 69.15 98.92 46.37 89.48 99.67 Salt & Pepper 30% 62.33 61.53 96.98 67.86 77.80 53.32 95.36 41.88 76.89 99.36 Uniform 10% 86.15 92.79 99.56 95.09 97.12 79.59 99.60 44.67 96.91 99.84 Uniform 20% 73.96 84.50 97.93 88.17 91.43 77.99 98.44 52.60 90.85 99.58 Uniform 30% 63.25 74.70 93.13 78.68 82.23 63.33 94.81 55.98 81.56 99.28

guarantee both noise-immunity and detail-preservation, and meanwhile remove the empirically-adjusted parameter α for image segmentation. FRFCM has superiorities of both noise- immunity and detail-preservation, and it provides better seg- mentation results than other algorithms due to the introduction of morphological reconstruction and membership filtering.

From Tables III and IV, we can see that the segmenta- tion accuracy of FRFCM are consistently higher than other algorithms for synthetic images contained different noise. It is obvious that FRFCM is much more robust to different noise than other algorithms. KWFLICM is sensitive to Salt & Pepper and Uniform noise when the noise level is high. FCM S1 is efficient for images corrupted by Gaussian noise, but FCM S2 is efficient for images corrupted by Salt & Pepper and Uniform noise. NWFCM is able to provide good segmentation results for image corrupted by Salt & Pepper and Uniform noise, but it is sensitive to Gaussian noise. Both NDFCM and FGFCM are robust to different noise, and they have close performance according to Tables III and IV.

B. Results on Real Images Image segmentation plays a key role in medical diagnosis

support systems. It is always difficult to segment a medi- cal image because the complexity of medical images such as noise, blur, and intensity nonuniformity. To demonstrate the superiority of the proposed FRFCM, a liver CT image (256 × 256) including a tumor is considered as a test image in this section. Fig. 7 shows segmentation results of the tumor produced by different algorithms with c = 5.

In Fig. 7(a), the tumor is marked by a blue square. Our aim is to segment the tumor from the liver CT image. It is clear that our algorithm shows an excellent performance for

the detection of the tumor. Fig. 7 shows that FCM, FCM S1, FCM S2, FLICM, NDFCM and FRFCM are able to segment the tumor accurately shown in Figs. 7(b, c, d, g, j, k), and EnFCM, FGFCM, NWFCM, and KWFLICM fail to segment the tumor shown in Figs. 7(e, f, h, i). Compared with the result from FCM, segmentation results from FCM S1 and FCM S2 are better, and the segmentation result from FRFCM provides a better visual effect for the tumor. The segmentation result can be used in 3D reconstruction of the tumor. And then, by computing the volume of the tumor, a doctor will make a correct diagnosis depending on the variation of the tumor volume.

Aurora is formed when solar wind collides with charged particles. It carries important information that reflects the invisible coupling between atmospheric layers. The analysis on aurora images is significant for research on space physics such as climate changes, global warming, electromagnetic wave interference, etc. [38], [39]. Auroral oval segmentation is a key step in aurora image analysis, and it remains a challenging topic because of random noise, low contrast, and dayglow contamination in Ultraviolet Imager images. To extend the applications of FRFCM in specified image segmentation, an aurora image (228 × 200) shown in Fig. 8(a) is considered as a tested image. Figs. 8 (b-k) show the comparison of segmentation results on auroral oval provided by different algorithms with c = 3.

As can be seen from Fig. 8(b) that FCM is sensitive to noise. FCM S1 and FCM S2 improve the segmentation result obtained by FCM, but they are unable to segment aurora oval efficiently shown in Figs. 8(c, d). EnFCM and FGFCM fail to obtain segmentation results of aurora oval shown in Figs. 8(e, f). NWFCM and NDFCM are sensitive to noise

1063-6706 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TFUZZ.2018.2796074, IEEE Transactions on Fuzzy Systems

IEEE TRANSACTIONS ON FUZZY SYSTEMS, VOL. XXX, NO. XXX, XXX 2017 10

(a) (b) (c) (d)

(e)

(i)

(f) (g) (h)

(k)

(g)

(j)

Fig. 7: Comparison of segmentation results on the liver CT image. (a) Original image. (b) FCM result. (c) FCM S1 result. (d) FCM S2 result. (e) EnFCM result. (f) FGFCM result. (g) FLICM result. (h) NWFCM result. (i) KWFLICM result. (j) NDFCM result. (k) FRFCM result.

leading to poor segmentation results shown in Figs. 8(h, j). FLICM and KWFLICM provide good segmentation results than other algorithms as shown in Figs. 8(g, i). However, they are time-consuming. The proposed FRFCM achieves aurora oval segmentation, shown in Fig. 8(k), with low computation time, and yet the segmentation result is better than other algorithms.

C. Results on Color Images

Most of the improved FCM algorithms are only efficient for gray image segmentation, for it is difficult to obtain local spatial information of color images. However, FCM is able to segment color image with a shorter time, as local spatial information is neglected in FCM. It is easy to extend FCM S1, FCM S2, EnFCM, and NDFCM to color image segmentation because image filtering is performed on each channel of color images, respectively. Euclidean distance of pixels (3D vector) is employed in FLICM, KWFLICM, NWFCM, and FGFCM for color image segmentation, where the local spatial information is computed in each iteration of FLICM and KWFLICM. Thus FLICM and KWFLICM have a very high computational complexity for color image segmentation. For EnFCM, FGFCM, and FRFCM, the clustering is performed on pixels but not the gray level histogram because it is difficult and complex to obtain the histogram of a color image. In addition, multivariate morphological reconstruction [40] is used in FRFCM to optimize data distribution, the other steps are similar to gray image segmentation using FRFCM.

In this experiment, the tested images are chosen from the Berkeley Segmentation Dataset (BSDS500) that includes 500 images [41]. The selection of all parameters is the same as that for gray image segmentation except r in FRFCM (r = 3). We conducted experiments and applied these algorithms on BSDS500, and Figs. 9 and 10 show segmentation results. From Fig. 9, we can see that all the algorithms fail to

(a) (b) (c) (d)

(e) (f) (g) (h)

(i) (j) (k)

Fig. 8: Comparison of segmentation results on the aurora image. (a) Original image. (b) FCM result. (c) FCM S1 result. (d) FCM S2 result. (e) EnFCM result. (f) FGFCM result. (g) FLICM result. (h) NWFCM result. (i) KWFLICM result. (j) NDFCM result. (k) FRFCM result.

segment the color image except FRFCM. Fig. 9(k) shows that FRFCM obtains excellent segmentation results without changing any parameters. Furthermore, to demonstrate the superiority of FRFCM, we implemented FRFCM on the data set of BSDS500, and some selected segmentation results are shown in Fig. 10. Fig. 10 shows that the segmentation results of different images have accurate contours and we can obtain good object segmentation results using FRFCM which is simple and significantly fast. It is clear that FRFCM provides excellent segmentation results for color images.

In this paper, four performance measures: Probabilistic Rand Index (PRI) [42], the Boundary Displacement Error (BDE) [43], the Covering (CV) [41], and the Variation of Information (VI) [41] are used to quantitatively evaluate segmentations obtained by different algorithms against the Ground Truth segmentation.

The PRI is a similarity measure that counts the fraction of pairs of pixels whose labels are consistent between the computed segmentation, S

′ , and the corresponding Ground

Truth segmentation, S. PRI can be calculated as follows:

PRI(S,S ′ ) =1− (

∑ i ( ∑

j pij)

2 −2 ∑

j ( ∑

j pij)

2

+ 2 ∑∑

p2ij)/N, (24)

where pij is the number of pixels in the ith cluster of S and the jth cluster of S

′ , and N is the total number of pixels of

the image. The BDE is an error measure that is used to measure the

average displacement error of boundary pixels between two segmentations, and it is defined as

BDE(S,S ′ ) =

( N1∑ i

d(pi,S)

) /N1+

( N2∑ i

d(pi,S ′ )/N2

) /2,

(25) where N1 and N2 denote the total number of points in the boundary sets S

′ and S, respectively. d is a distance between

1063-6706 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TFUZZ.2018.2796074, IEEE Transactions on Fuzzy Systems

IEEE TRANSACTIONS ON FUZZY SYSTEMS, VOL. XXX, NO. XXX, XXX 2017 11

(a) (b)

(c) (d) (e)

(f) (g) (h)

(i) (j) (k)

Fig. 9: Comparison of segmentation results on color image “12003” from BSDS500 (c = 3). (a) Original image. (b) FCM result. (c) FCM S1 result. (d) FCM S2 result. (e) EnFCM result. (f) FGFCM result. (g) FLICM result. (h) NWFCM result. (i) KWFLICM result. (j) NDFCM result. (k) FRFCM result.

a pixel pi in S ′

and its closest boundary pixel p in S, and it is defined as follows:

d(pi,S) = minp∈S‖pi −p‖. (26)

The CV is an overlap measure that can be also used to evaluate the segmentation effect. It is defined as

CV (S → S′) =

(∑ RES

|R| · max R′∈S′

O(R,R′)

) /N, (27)

where O(R,R′) = |R ∩ R′|/|R ∪ R′| denotes the overlap between two regions R and R′.

The VI is a similarity measure that is always used to measure the distance between two segmentations in terms of their average conditional entropy given by

V I(S,S′) = H(S) + H(S′)−2I(S,S′), (28)

where H and I represent the entropies and mutual information between two segmentations S and S′, respectively.

When the final segmentation is close to the Ground Truth segmentation, the PRI and CV is larger while the BDE and VI is smaller. All these algorithms are evaluated on BSDS500, and the average values of PRI, BDE, CV, and VI of segmentation results are given in Table V. c is set from 2 to 6 for each image in BSDS500. We choose a best c corresponding to the highest PRI. The average values of PRI, VI, CV, and BDE obtained by different algorithms are presented in Table V. We can see that our FRFCM clearly outperforms other algorithms on PRI, BDE, CV, and VI values.

From experiments IV.A to IV.C, the proposed FRFCM is able to provide good segmentation results for different typed images. Moreover, it has a better performance than other algorithms.

(a)

(b)

Fig. 10: Segmentation results on color images from BSDS500 using FRFCM. (a) c=2. (b) c=3.

D. Running Time

Based on the analysis above, the computational complexity of different algorithms are given in Table VI, where N is the number of pixels of an image, c is the number of clustering prototype, t is the iteration number, w is the size of the filtering window, and q is the number of gray levels in the image. Generally, q � N.

According to Table VI, EnFCM, FGFCM, and FRFCM have low computational complexity due to q � N (the gray level of the tested image is q = 256, and the number of pixels in

1063-6706 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TFUZZ.2018.2796074, IEEE Transactions on Fuzzy Systems

IEEE TRANSACTIONS ON FUZZY SYSTEMS, VOL. XXX, NO. XXX, XXX 2017 12

TABLE VII: Comparison of execution times (in seconds) of ten algorithms on tested images.

Image FCM FCM S1 FCM S2 EnFCM FGFCM FLICM NWFCM KWFLICM NDFCM FRFCM Fig. 5 0.62 0.28 0.23 1.99 12.34 26.04 36.66 50.42 1.85 0.06 Fig. 6 0.22 0.28 0.16 0.25 0.27 38.63 13.80 87.49 2.15 0.03 Fig. 7 1.66 1.19 1.00 2.25 8.31 110.49 59.06 123.57 3.69 0.12 Fig. 8 0.44 0.20 0.21 0.39 5.12 10.07 9.88 54.15 1.48 0.05

TABLE VIII: Comparison of number of iterations and execution times (in seconds) of ten algorithms on color images (Fig. 9).

FCM FCM S1 FCM S2 EnFCM FGFCM FLICM NWFCM KWFLICM NDFCM FRFCM Numbers of Iterations 36 100 70 99 46 68 50 76 37 44

Running time 1.52 4.71 3.33 4.466 4.91 366.22 160.78 451.90 12.32 2.73

TABLE V: Average performance of ten algorithms on BSDS500 that includes 500 images (The best values are highlighted).

Algorithm PRI BDE CV VI

FCM 0.72 14.06 0.39 3.15 FCM S1 0.69 13.45 0.44 2.75 FCM S2 0.73 13.89 0.40 3.04 EnFCM 0.69 13.47 0.44 2.74 FGFCM 0.73 13.76 0.40 3.06 FLICM 0.72 13.94 0.39 3.11 NWFCM 0.72 13.95 0.39 3.14 KWFLICM 0.72 13.88 0.39 3.10 NDFCM 0.73 13.71 0.40 3.05 FRFCM 0.76 13.03 0.46 2.59

TABLE VI: Computational complexity of ten algorithms.

Algorithm Computational complexity FCM O(N × c × t) FCM S1 O(N × w2 + N × c × t) FCM S2 O(N × w2 + N × c × t) EnFCM O(N × w2 + q × c × t) FGFCM O(N × w2 + q × c × t) FLICM O(N × c × t × w2) NWFCM O(N × (w + 1)2 + N × c × t) KWFLICM O(N × (w + 1)2 + N × c × t × w2) NDFCM O(N × w2 + N × c × t) FRFCM O(N × w2 + q × c × t)

the tested image is N = 256×256). Moreover, to estimate the practicability of different algorithms, we compared the running time of these algorithms. All experiments are performed on a workstation with an Intel Core (TM) i7-6700, 3.4GHz CPU and 16G memory using MATLAB. Fig. 11 shows number of iterations and Table VII shows execution times (in seconds) of different algorithms on tested images.

From Table VII, it is clear that KWFLICM and FLICM have a very high computational complexity compared to other algorithms. NWFCM is also slow because the computation of neighborhood weights based on patch distance is complex. FCM S1 and FCM S2 are fast because mean-filtered images and median-filtered images are computed in advance. EnFCM is fast due to the introduction of gray level and gray level is far less than the number of pixels in an image. FGFCM is not fast because the computation of filtered image is complex. FRFCM

0

20

40

60

80

100

120

Number of iterations

Fig. 5 Fig. 6 Fig. 7 Fig. 8

Fig. 11: Comparison of number of iterations of ten algorithms on tested images.

only employ morphological reconstruction and membership filtering where morphological reconstruction is performed in advance and median filtering is implemented only once after clustering. Moreover, the idea of histogram is also used in FR- FCM. Therefore, the objective function of FRFCM converges very fast, and FRFCM requires a very small computational time. In addition, we presented the comparison of number of iterations in Fig. 11. We can see that FRFCM requires the least iteration.

In subsection IV.C, these algorithms mentioned above are extended to color images, and Figs. 9 and 10 show segmen- tation results. In contrast with gray image segmentation, they require much time to segment color image due to the increase of dimension of data. Table VIII shows the comparison of computational complexity of different algorithms for Fig. 9.

From Table VIII, we can see that the computational cost of FLICM, KWFLICM, and NWFCM are extremely large for color image segmentation. Although FCM S1, FCM S2, EnFCM, FGFCM, NDFCM, and FRFCM have similar com- putational complexity for color images (q = N), FRFCM is significantly faster than these algorithms shown in Table VIII and obtains better segmentation results shown in Figs. 9 and 10.

V. CONCLUSION

In this paper, a significantly fast and robust FRFCM algo- rithm for image segmentation has been proposed to improve

1063-6706 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TFUZZ.2018.2796074, IEEE Transactions on Fuzzy Systems

IEEE TRANSACTIONS ON FUZZY SYSTEMS, VOL. XXX, NO. XXX, XXX 2017 13

the segmentation quality and reduce the influence of image noise. By introducing morphological reconstruction operation, the local spatial information of images has been utilized to improve segmentation effect. Because MR is able to sup- press noise while preserving the contour of objects, a trade- off has easily been achieved between noise suppression and detail preservation. Moreover, MR is able to provide good reconstructed results for images corrupted by different type of noise. Furthermore, FRFCM employed membership filtering to exploit the local spatial constraint. We demonstrated that membership filtering is able to provide similar results com- pared with local spatial constraint, but local spatial constraint requires much more time than membership filtering in each iteration. Experimental results show that the proposed FRFCM is able to provide better segmentation results without tuning parameters for different gray or color images.

However, similar to other improved FCM algorithms, the number of clusters is also set experimentally in FRFCM. In the future, we will explore new FCM algorithm that automatically set the number of clusters. In addition, the selection of mask image or marker image is also an open problem; some better results can be obtained by changing mask or marker image.

APPENDIX A

In this appendix, the detailed demonstration that the intro- duction of local spatial information is similar to membership filter is presented.

Let i denote the sample, k represents the kth cluster, Ni is the neighbor area centered i, c denotes the number of clusters, because dki = ‖xi−vk‖2 and dji = ‖xi−vj‖2, we can obtain

uki = ‖xi −vk‖−2/(m−1)∑c j=1 ‖xi −vj‖−2/(m−1)

= (dki)

−1/(m−1)∑c j=1 (dji)

−1/(m−1)

If we replace the distance between central pixels and clustering centers with the distance between the neighbors of pixels and clustering centers, then

d′ki = ∑ r∈Ni

wkrdkr,

d′ji = ∑ r∈Ni

wjrdjr.

Therefore, the membership matrix of improved algorithms incorporating neighborhood information (FCM S, FLICM,

KWFLICM) is obtained:

u′ki = (d′ki)

−1/(m−1)∑c j=1 (d

′ ji) −1/(m−1)

=

(∑ r∈Ni wkrdkr

)−1/(m−1)∑c j=1

(∑ r∈Ni wjrdjr

)−1/(m−1) =

(WkiDki) −1∑c

j=1 (WjiDji) −1

= (WkiDki) −1(W

kiD ′

ki)

= α1 D

ki

Dki ,

where, m = 2, α1 = W ′

ki/Wki, WkiDki = F (∑

r∈Ni wkrdkr ) , WjiDji = F

(∑ r∈Ni wjrdjr

) ,

W ′

kiD ′

ki = F ′ ([ ∑c j=1(WjrDjr)

−1]−1); F : (w,d) → (W,D) and F

′ : (W,D) → (W

′ ,D

′ ) are mapping functions.

We consider an idea replacing membership u′ki with its neighborhood membership ukr, r ∈ Ni, i.e.,

u′′ki = ∑ r∈Ni

wkrukr.

According to the definition of uki, we obtain

ukr = (dkr)

−1/(m−1)∑c j=1 (djr)

−1/(m−1) .

substituting ukr into u′′ki, i.e.,

u′′ki = ∑ r∈Ni

wkr (dkr)

−1/(m−1)∑c j=1(djr)

−1/(m−1)

= ∑ r∈Ni

wkr (dkr)

−1

(Dkr)−1

= w ′

kr

D ′

kr

d ′ kr

= α2 D

kr

Dkr

where, m = 2, α2 = Dkiw ′

ki/d ′

ki, Dkr = F1([

∑c j=1(djr)

−1]−1), w ′

krD ′

ki/d ′

ki = F1 ′( ∑ r∈Ni wkrDkr/dkr); F1 : d → D and

F ′

1 : (w,d,D) → (w ′ ,d

′ D

′ ) are mapping functions.

We can see that u′′ki and u′ki have the similar form, the only differences between u′′ki and u′ki can be found in weighted coefficient, i.e., α1 and α2. Therefore, the proposed membership filter is similar to the introduction of local spatial information. �

REFERENCES [1] B. Wang and Z. Tu, “Affinity learning via self-diffusion for image

segmentation and clustering,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Providence, RI, 2012, pp. 2312-2319.

[2] S. Kim, C. D. Yoo, S. Nowozin and P. Kohli, “Image segmentation using higher-order correlation clustering,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 36, no. 9, pp. 1761-1774, Sept. 2014.

[3] J. Pont-Tuset, P. Arbeláez, J. T. Barron, F. Marques and J. Malik, “Multiscale combinatorial grouping for image segmentation and object proposal generation,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 39, no. 1, pp. 128-140, Jan. 2017.

1063-6706 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TFUZZ.2018.2796074, IEEE Transactions on Fuzzy Systems

IEEE TRANSACTIONS ON FUZZY SYSTEMS, VOL. XXX, NO. XXX, XXX 2017 14

[4] M. A. Hasnat, O. Alata and A. Trémeau, “Joint color-spatial-directional clustering and region merging (JCSD-RM) for unsupervised RGB-D image segmentation,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 38, no. 11, pp. 2255-2268, Nov. 2016.

[5] C. G. Bampis, P. Maragos and A. C. Bovik, “Graph-driven diffusion and random walk schemes for image segmentation,” IEEE Trans. Image Process., vol. 26, no. 1, pp. 35-50, Jan. 2017.

[6] P. K. Saha, S. Basu and E. A. Hoffman, “Multiscale Opening of Conjoined Fuzzy Objects: Theory and Applications,” IEEE Trans. Fuzzy Syst., vol. 24, no. 5, pp. 1121-1133, Oct. 2016.

[7] F. Masulli and S. Rovetta, “Soft transition from probabilistic to possi- bilistic fuzzy clustering,” IEEE Trans. Fuzzy Syst., vol. 14, no. 4, pp. 516-527, Aug. 2006.

[8] H. Cao, H. W. Deng and Y. P. Wang, “Segmentation of M-FISH images for improved classification of chromosomes with an adaptive fuzzy c- means clustering algorithm,” IEEE Trans. Fuzzy Syst., vol. 20, no. 1, pp. 1-8, Feb. 2012.

[9] A. Javed, Y. C. Kim, M. C. K. Khoo, S. L. D. Ward and K. S. Nayak, “Dynamic 3-D MR visualization and detection of upper airway obstruction during sleep using region-growing segmentation,” IEEE Trans. Biomed. Eng., vol. 63, no. 2, pp. 431-437, Feb. 2016.

[10] V. Grau, A. U. J. Mewes, M. Alcaniz, R. Kikinis and S. K. Warfield, “Improved watershed transform for medical image segmentation using prior information,” IEEE Trans. Med. Imag., vol. 23, no. 4, pp. 447-458, Apr. 2004.

[11] M. Gong, H. Li, X. Zhang, Q. Zhao and B. Wang, “Nonparametric statistical active contour based on inclusion degree of fuzzy sets,” IEEE Trans. Fuzzy Syst., vol. 24, no. 5, pp. 1176-1192, Oct. 2016.

[12] D. Comaniciu and P. Meer, “Mean Shift: A robust approach toward feature space analysis,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 24, no. 5, pp. 603-619, May 2002.

[13] D. Mahapatra. “Semi-supervised learning and graph cuts for consensus based medical image segmentation,” Pattern Recognit., vol. 63, pp. 700- 709, Mar. 2017.

[14] Z. Li and J. Chen, “Superpixel segmentation using linear spectral clustering,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Boston, MA, 2015, pp. 1356-1363.

[15] S. P. Chatzis and T. A. Varvarigou, “A fuzzy clustering approach toward hidden markov random field models for enhanced spatially constrained image segmentation,” IEEE Trans. Fuzzy Syst., vol. 16, no. 5, pp. 1351- 1361, Oct. 2008.

[16] D. Pathak, P. Krähenbühl and T. Darrell, “Constrained convolutional neural networks for weakly supervised segmentation,” in Proc. IEEE Int. Conf. Comput. Vis. (ICCV), Santiago, 2015, pp. 1796-1804.

[17] J. C. Bezdek, R. Ehrlich and W. Full, “FCM: The fuzzy c-means clustering algorithm,” Comput. Geosci., vol. 10, no. 2-3, pp. 191-203, May 1984.

[18] M. N. Ahmed, S. M. Yamany, N. Mohamed, A. A. Farag and T. Moriarty, “A modified fuzzy c-means algorithm for bias field estimation and segmentation of MRI data,” IEEE Trans. Med. Imag., vol. 21, no. 3, pp. 193-199, Mar. 2002.

[19] S. Chen and D. Zhang, “Robust image segmentation using FCM with spatial constraints based on new kernel-induced distance measure,” IEEE Trans. Syst., Man, Cybern., B, Cybern., vol. 34, no. 4, pp. 1907-1916, Aug. 2004.

[20] L. Szilagyi, Z. Benyo, S. M. Szilagyii, and H. S. Adam, “MR brain image segmentation using an enhanced fuzzy c-means algorithm,” in Proc. 25th Annu. Int. Conf. IEEE EMBS, 2003, pp. 17-21.

[21] W. Cai, S. Chen, and D. Zhang, “Fast and robust fuzzy c-means cluster- ing algorithms incorporating local information for image segmentation,” Pattern Recognit., vol. 40, no. 3, pp. 825-838, Mar. 2007.

[22] S. Krinidis and V. Chatzis, “A robust fuzzy local information c-means clustering algorithm,” IEEE Trans. Image Process., vol. 19, no. 5, pp. 1328-1337, May 2010.

[23] M. Gong, Z. Zhou and J. Ma, “Change detection in synthetic aperture radar images based on image fusion and fuzzy clustering,” IEEE Trans. Image Process., vol. 21, no. 4, pp. 2141-2151, Apr. 2012.

[24] M. Gong, Y. Liang, S. Shi and J. Ma, “Fuzzy c-means clustering with local information and kernel metric for image segmentation,” IEEE Trans. Image Process., vol. 22, no. 2, pp. 573-584, Feb. 2013.

[25] V. May, Y. Keller, N. Sharon and Y. Shkolnisky, “An algorithm for improving non-local means operators via low-rank approximation,” IEEE Trans. Image Process., vol. 25, no. 3, pp. 1340-1353, Mar. 2016.

[26] M. P. Nguyen and S. Y. Chun, “Bounded self-weights estimation method for non-local means image denoising using minimax estimators,” IEEE Trans. Image Process., vol. 26, no. 4, pp. 1637-1649, Apr. 2017.

[27] A. M. Saranathan and M. Parente, “Uniformity-based superpixel seg- mentation of hyperspectral images,” IEEE Geosci. Remote Sens. Lett., vol. 54, no. 3, pp. 1419-1430, Mar. 2016.

[28] Z. Zhao, L. Cheng and G. Cheng, “Neighbourhood weighted fuzzy c- means clustering algorithm for image segmentation,” IET Image Pro- cess., vol. 8, no. 3, pp. 150-161, Mar. 2014.

[29] F. Guo, X. Wang and J. Shen, “Adaptive fuzzy c-means algorithm based on local noise detecting for image segmentation,” IET Image Process., vol. 10, no. 4, pp. 272-279, Apr. 2016.

[30] L. Vincent, “Morphological grayscale reconstruction in image analysis: applications and efficient algorithms,” IEEE Trans. Image Process., vol. 2, no. 2, pp. 176-201, Apr. 1993.

[31] L. Najman and M. Schmitt, “Geodesic Saliency of Watershed Contours and Hierarchical Segmentation,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 18, no. 12, pp. 1163-1173, Dec. 1996.

[32] M. Gong, L. Su, M. Jia and W. Chen, “Fuzzy clustering with a modified MRF energy function for change detection in synthetic aperture radar images,” IEEE Trans. Fuzzy Syst., vol. 22, no. 1, pp. 98-109, Feb. 2014.

[33] G. Teodoro, T. Pan, T. M. Kurc, L. Cooper, J. Kong and J. H. Saltz, “A fast parallel implementation of queue-based morphological recon- struction using GPUs,” Emory University, Center for Comprehensive Informatics Technical Report CCI-TR-2012-2, 2012.

[34] A. K. Nandi, A. J. Basel, and F. Rui, “Integrative cluster analysis in bioinformatics,” John Wiley & Sons. 2015.

[35] A. M. Mendonca and A. Campilho, “Segmentation of retinal blood vessels by combining the detection of centerlines and morphological reconstruction,” IEEE Trans. Med. Imag., vol. 25, no. 9, pp. 1200-1213, Sept. 2006.

[36] J. J. Chen, C. R. Su, W. E. L. Grimson, J. L. Liu and D. H. Shiue, “Ob- ject segmentation of database images by dual multiscale morphological reconstructions and retrieval applications,” IEEE Trans. Image Process., vol. 21, no. 2, pp. 828-843, Feb. 2012.

[37] P. Soille, “Morphological image analysi: principles and applications,” Springer Science & Business Media, 2013.

[38] X. Yang, X. Gao, D. Tao and X. Li, “Improving level set method for fast auroral oval segmentation,” IEEE Trans. Image Process., vol. 23, no. 7, pp. 2854-2865, July 2014.

[39] X. Yang, X. Gao, D. Tao, X. Li, B. Han and J. Li, “Shape-constrained sparse and low-rank decomposition for auroral substorm detection,” IEEE Trans. Neural Netw. Learn. Syst., vol. 27, no. 1, pp. 32-46, Jan. 2016.

[40] T. Lei, Y. Zhang, Y. Wang, S. Liu and Z. Guo, “A conditionally invariant mathematical morphological framework for color images,” Inf. Sci., vol. 387, pp. 34-52, May 2017.

[41] P. Arbelaez, M. Maire, C. Fowlkes, and J. Malik, “Contour detection and hierarchical image segmentation,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 33, no. 5, pp. 898-916, May 2011.

[42] R. Unnikrishnan, C. Pantofaru and M. Hebert, “Toward objective eval- uation of image segmentation algorithms,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 29, no. 6, pp. 929-944, Jun. 2007.

[43] X. Wang, Y. Tang, S. Masnou and L. Chen, “A global/local affinity graph for image segmentation,” IEEE Trans. Image Process., vol. 24, no. 4, pp. 1399-1411, Apr. 2015.

Tao Lei received the Ph.D degree in Information and Communication Engineering from Northwestern Polytechnical University, Xi’an, China, in 2011.

From 2012 to 2014, he was a Postdoctoral Re- search Fellow with the School of Electronics and Information, Northwestern Polytechnical University, Xi’an, China. From 2015 to 2016, he was a Visiting Scholar with the Quantum Computation and Intel- ligent Systems group at University of Technology Sydney, Sydney, Australia. From July to October in 2017, he was a Visiting Scholar with the Department

of Electronic and Computer Engineering at Brunel University London, UK. He is currently a Professor with the College of Electrical and Information Engineering, Shaanxi University of Science and Technology. His current research interests include image processing, pattern recognition, and machine learning.

1063-6706 (c) 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TFUZZ.2018.2796074, IEEE Transactions on Fuzzy Systems

IEEE TRANSACTIONS ON FUZZY SYSTEMS, VOL. XXX, NO. XXX, XXX 2017 15

Xiaohong Jia received the M.S. degree in Signal and Information Processing in Lanzhou Jiaotong Univer- sity, Lanzhou, China, in 2017. He is currently pur- suing the Ph.D. degree at the College of Electronical and Information Engineering, Shaanxi University of Science and Technology, Xi’an 710021, China.

His current research interests include image pro- cessing and pattern recognition.

Yanning Zhang (M’08-SM’12) received the B.S. degree from Dalian University of Technology, Dalian, China, and the Ph.D. degree from the School of Marine Engineering, Northwestern Polytechnical University, Xi’an, China, in 1996.

She is currently a Professor with the School of Computer Science, Northwestern Polytechnical University. Her current research interests include computer vision and pattern recognition, image and video processing, and intelligent information pro- cessing. She was the Organization Chair of the Asian

Conference on Computer Vision 2009. She served as the Program Committee Chair of several international conferences.

Lifeng He (SM’12) received the B.E. degree from the Northwest Institute of Light Industry, China, in 1982, a second B.E. degree from Xi’an Jiaotong University, China, in 1986, the M.S. and Ph.D. degrees in AI and computer science from Nagoya Institute of Technology, Japan, in 1994 and 1997, respectively. He is a guest professor at the Shaanxi University of Science and Technology, China, and a professor at the Aichi Prefectural University, Japan. From September 2006 to May 2007, he worked at the University of Chicago (USA) as a research

associate. His research interests include image processing, computer vision, automated reasoning, pattern recognition, information retrieval, and artificial intelligence. He is a senior member of IEEE.

Hongying Meng (M’10-SM’17) received his Ph.D. degree in Communication and Electronic Systems from Xi’an Jiaotong University, Xi’an China, in 1998. He is currently a senior lecturer at the De- partment of Electronic and Computer Engineering, Brunel University London, U.K. He is also a mem- ber of Institute of Environment, Health and Soci- eties, Human Centred Design Institute (HCDI), and Wireless Networks and Communications Research Center at Brunel. He is a Fellow of The Higher Education Academy (HEA) and a member of En-

gineering Professors Council in UK. Dr Meng’s current research interests include digital signal processing,

affective computing, machine learning, human computer interaction, computer vision, and embedded systems with over 90 publications in these areas. Especially, his audio based and video based emotion recognition systems have won the International Audio/Visual Emotion Challenges AVEC2011 and AVEC2013 prizes respectively. He is a senior member of the IEEE.

Asoke K. Nandi (F’11) received the degree of Ph.D. in Physics from the University of Cambridge (Trin- ity College), Cambridge (UK). He held academic positions in several universities, including Oxford (UK), Imperial College London (UK), Strathclyde (UK), and Liverpool (UK) as well as Finland Dis- tinguished Professorship in Jyvaskyla (Finland). In 2013 he moved to Brunel University London (UK), to become the Chair and Head of Electronic and Computer Engineering. Professor Nandi is a Dis- tinguished Visiting Professor at Tongji University

(China) and an Adjunct Professor at University of Calgary (Canada). In 1983 Professor Nandi co-discovered the three fundamental particles

known as W +, W − and Z0 (by the UA1 team at CERN), providing the evidence for the unification of the electromagnetic and weak forces, for which the Nobel Committee for Physics in 1984 awarded the prize to two of his team leaders for their decisive contributions. His current research interests lie in the areas of signal processing and machine learning, with applications to communications, gene expression data, functional magnetic resonance data, and biomedical data. He has made many fundamental theoretical and algorithmic contributions to many aspects of signal processing and machine learning. He has much expertise in “Big Data”, dealing with heterogeneous data, and extracting information from multiple datasets obtained in different laboratories and different times.

He has authored over 550 technical publications, including 220 journal papers as well as four books, entitled Automatic Modulation Classification: Principles, Algorithms and Applications (Wiley, 2015), Integrative Cluster Analysis in Bioinformatics (Wiley, 2015), Blind Estimation Using Higher- Order Statistics (Springer, 1999), and Automatic Modulation Recognition of Communications Signals (Springer, 1996). Recently he published in Blood, International Journal of Neural Systems, BMC Bioinformatics, IEEE TWC, NeuroImage, PLOS ONE, Royal Society Interface, Mechanical systems and Signal Processing, and Molecular Cancer. The h-index of his publications is 67 (Google Scholar) and ERDOS number is 2.

Professor Nandi is a Fellow of the Royal Academy of Engineering (UK) and also a Fellow of seven other institutions including the IEEE and the IET. Among the many awards he received are the Institute of Electrical and Electronics Engineers (USA) Heinrich Hertz Award in 2012, the Glory of Bengal Award for his outstanding achievements in scientific research in 2010, the Water Arbitration Prize of the Institution of Mechanical Engineers (UK) in 1999, and the Mountbatten Premium, Division Award of the Electronics and Communications Division, of the Institution of Electrical Engineers (UK) in 1998. Professor Nandi is an IEEE EMBS Distinguished Lecturer (2018-19).

FRFCM/brain.bmp

FRFCM/colorspace.m

function varargout = colorspace(Conversion,varargin) %COLORSPACE Convert a color image between color representations. % B = COLORSPACE(S,A) converts the color representation of image A % where S is a string specifying the conversion. S tells the % source and destination color spaces, S = 'dest<-src', or % alternatively, S = 'src->dest'. Supported color spaces are % % 'RGB' R'G'B' Red Green Blue (ITU-R BT.709 gamma-corrected) % 'YPbPr' Luma (ITU-R BT.601) + Chroma % 'YCbCr'/'YCC' Luma + Chroma ("digitized" version of Y'PbPr) % 'YUV' NTSC PAL Y'UV Luma + Chroma % 'YIQ' NTSC Y'IQ Luma + Chroma % 'YDbDr' SECAM Y'DbDr Luma + Chroma % 'JPEGYCbCr' JPEG-Y'CbCr Luma + Chroma % 'HSV'/'HSB' Hue Saturation Value/Brightness % 'HSL'/'HLS'/'HSI' Hue Saturation Luminance/Intensity % 'XYZ' CIE XYZ % 'Lab' CIE L*a*b* (CIELAB) % 'Luv' CIE L*u*v* (CIELUV) % 'Lch' CIE L*ch (CIELCH) % % All conversions assume 2 degree observer and D65 illuminant. Color % space names are case insensitive. When R'G'B' is the source or % destination, it can be omitted. For example 'yuv<-' is short for % 'yuv<-rgb'. % % MATLAB uses two standard data formats for R'G'B': double data with % intensities in the range 0 to 1, and uint8 data with integer-valued % intensities from 0 to 255. As MATLAB's native datatype, double data is % the natural choice, and the R'G'B' format used by colorspace. However, % for memory and computational performance, some functions also operate % with uint8 R'G'B'. Given uint8 R'G'B' color data, colorspace will % first cast it to double R'G'B' before processing. % % If A is an Mx3 array, like a colormap, B will also have size Mx3. % % [B1,B2,B3] = COLORSPACE(S,A) specifies separate output channels. % COLORSPACE(S,A1,A2,A3) specifies separate input channels. % Pascal Getreuer 2005-2006 %%% Input parsing %%% if nargin < 2, error('Not enough input arguments.'); end [SrcSpace,DestSpace] = parse(Conversion); if nargin == 2 Image = varargin{1}; elseif nargin >= 3 Image = cat(3,varargin{:}); else error('Invalid number of input arguments.'); end FlipDims = (size(Image,3) == 1); if FlipDims, Image = permute(Image,[1,3,2]); end if ~isa(Image,'double'), Image = double(Image)/255; end if size(Image,3) ~= 3, error('Invalid input size.'); end SrcT = gettransform(SrcSpace); DestT = gettransform(DestSpace); if ~ischar(SrcT) & ~ischar(DestT) % Both source and destination transforms are affine, so they % can be composed into one affine operation T = [DestT(:,1:3)*SrcT(:,1:3),DestT(:,1:3)*SrcT(:,4)+DestT(:,4)]; Temp = zeros(size(Image)); Temp(:,:,1) = T(1)*Image(:,:,1) + T(4)*Image(:,:,2) + T(7)*Image(:,:,3) + T(10); Temp(:,:,2) = T(2)*Image(:,:,1) + T(5)*Image(:,:,2) + T(8)*Image(:,:,3) + T(11); Temp(:,:,3) = T(3)*Image(:,:,1) + T(6)*Image(:,:,2) + T(9)*Image(:,:,3) + T(12); Image = Temp; elseif ~ischar(DestT) Image = rgb(Image,SrcSpace); Temp = zeros(size(Image)); Temp(:,:,1) = DestT(1)*Image(:,:,1) + DestT(4)*Image(:,:,2) + DestT(7)*Image(:,:,3) + DestT(10); Temp(:,:,2) = DestT(2)*Image(:,:,1) + DestT(5)*Image(:,:,2) + DestT(8)*Image(:,:,3) + DestT(11); Temp(:,:,3) = DestT(3)*Image(:,:,1) + DestT(6)*Image(:,:,2) + DestT(9)*Image(:,:,3) + DestT(12); Image = Temp; else Image = feval(DestT,Image,SrcSpace); end %%% Output format %%% if nargout > 1 varargout = {Image(:,:,1),Image(:,:,2),Image(:,:,3)}; else if FlipDims, Image = permute(Image,[1,3,2]); end varargout = {Image}; end return; function [SrcSpace,DestSpace] = parse(Str) % Parse conversion argument if isstr(Str) Str = lower(strrep(strrep(Str,'-',''),' ','')); k = find(Str == '>'); if length(k) == 1 % Interpret the form 'src->dest' SrcSpace = Str(1:k-1); DestSpace = Str(k+1:end); else k = find(Str == '<'); if length(k) == 1 % Interpret the form 'dest<-src' DestSpace = Str(1:k-1); SrcSpace = Str(k+1:end); else error(['Invalid conversion, ''',Str,'''.']); end end SrcSpace = alias(SrcSpace); DestSpace = alias(DestSpace); else SrcSpace = 1; % No source pre-transform DestSpace = Conversion; if any(size(Conversion) ~= 3), error('Transformation matrix must be 3x3.'); end end return; function Space = alias(Space) Space = strrep(Space,'cie',''); if isempty(Space) Space = 'rgb'; end switch Space case {'ycbcr','ycc'} Space = 'ycbcr'; case {'hsv','hsb'} Space = 'hsv'; case {'hsl','hsi','hls'} Space = 'hsl'; case {'rgb','yuv','yiq','ydbdr','ycbcr','jpegycbcr','xyz','lab','luv','lch'} return; end return; function T = gettransform(Space) % Get a colorspace transform: either a matrix describing an affine transform, % or a string referring to a conversion subroutine switch Space case 'ypbpr' T = [0.299,0.587,0.114,0;-0.1687367,-0.331264,0.5,0;0.5,-0.418688,-0.081312,0]; case 'yuv' % R'G'B' to NTSC/PAL YUV T = [0.299,0.587,0.114,0;-0.147,-0.289,0.436,0;0.615,-0.515,-0.100,0]; case 'ydbdr' % R'G'B' to SECAM YDbDr T = [0.299,0.587,0.114,0;-0.450,-0.883,1.333,0;-1.333,1.116,0.217,0]; case 'yiq' % R'G'B' in [0,1] to NTSC YIQ in [0,1];[-0.595716,0.595716];[-0.522591,0.522591]; T = [0.299,0.587,0.114,0;0.595716,-0.274453,-0.321263,0;0.211456,-0.522591,0.311135,0]; case 'ycbcr' % R'G'B' (range [0,1]) to ITU-R BRT.601 (CCIR 601) Y'CbCr % Poynton, Equation 3, scaling of R'G'B to Y'PbPr conversion T = [65.481,128.553,24.966,16;-37.797,-74.203,112.0,128;112.0,-93.786,-18.214,128]; case 'jpegycbcr' T = [0.299,0.587,0.114,0;-0.168736,-0.331264,0.5,0.5;0.5,-0.418688,-0.081312,0.5]*255; case {'rgb','xyz','hsv','hsl','lab','luv','lch'} T = Space; otherwise error(['Unknown color space, ''',Space,'''.']); end return; function Image = rgb(Image,SrcSpace) % Convert to Rec. 709 R'G'B' from 'SrcSpace' switch SrcSpace case 'rgb' return; case 'hsv' % Convert HSV to R'G'B' Image = huetorgb((1 - Image(:,:,2)).*Image(:,:,3),Image(:,:,3),Image(:,:,1)); case 'hsl' % Convert HSL to R'G'B' L = Image(:,:,3); Delta = Image(:,:,2).*min(L,1-L); Image = huetorgb(L-Delta,L+Delta,Image(:,:,1)); case {'xyz','lab','luv','lch'} % Convert to CIE XYZ Image = xyz(Image,SrcSpace); % Convert XYZ to RGB T = [3.240479,-1.53715,-0.498535;-0.969256,1.875992,0.041556;0.055648,-0.204043,1.057311]; R = T(1)*Image(:,:,1) + T(4)*Image(:,:,2) + T(7)*Image(:,:,3); % R G = T(2)*Image(:,:,1) + T(5)*Image(:,:,2) + T(8)*Image(:,:,3); % G B = T(3)*Image(:,:,1) + T(6)*Image(:,:,2) + T(9)*Image(:,:,3); % B % Desaturate and rescale to constrain resulting RGB values to [0,1] AddWhite = -min(min(min(R,G),B),0); Scale = max(max(max(R,G),B)+AddWhite,1); R = (R + AddWhite)./Scale; G = (G + AddWhite)./Scale; B = (B + AddWhite)./Scale; % Apply gamma correction to convert RGB to Rec. 709 R'G'B' Image(:,:,1) = gammacorrection(R); % R' Image(:,:,2) = gammacorrection(G); % G' Image(:,:,3) = gammacorrection(B); % B' otherwise % Conversion is through an affine transform T = gettransform(SrcSpace); temp = inv(T(:,1:3)); T = [temp,-temp*T(:,4)]; R = T(1)*Image(:,:,1) + T(4)*Image(:,:,2) + T(7)*Image(:,:,3) + T(10); G = T(2)*Image(:,:,1) + T(5)*Image(:,:,2) + T(8)*Image(:,:,3) + T(11); B = T(3)*Image(:,:,1) + T(6)*Image(:,:,2) + T(9)*Image(:,:,3) + T(12); AddWhite = -min(min(min(R,G),B),0); Scale = max(max(max(R,G),B)+AddWhite,1); R = (R + AddWhite)./Scale; G = (G + AddWhite)./Scale; B = (B + AddWhite)./Scale; Image(:,:,1) = R; Image(:,:,2) = G; Image(:,:,3) = B; end % Clip to [0,1] Image = min(max(Image,0),1); return; function Image = xyz(Image,SrcSpace) % Convert to CIE XYZ from 'SrcSpace' WhitePoint = [0.950456,1,1.088754]; switch SrcSpace case 'xyz' return; case 'luv' % Convert CIE L*uv to XYZ WhitePointU = (4*WhitePoint(1))./(WhitePoint(1) + 15*WhitePoint(2) + 3*WhitePoint(3)); WhitePointV = (9*WhitePoint(2))./(WhitePoint(1) + 15*WhitePoint(2) + 3*WhitePoint(3)); L = Image(:,:,1); Y = (L + 16)/116; Y = invf(Y)*WhitePoint(2); U = Image(:,:,2)./(13*L + 1e-6*(L==0)) + WhitePointU; V = Image(:,:,3)./(13*L + 1e-6*(L==0)) + WhitePointV; Image(:,:,1) = -(9*Y.*U)./((U-4).*V - U.*V); % X Image(:,:,2) = Y; % Y Image(:,:,3) = (9*Y - (15*V.*Y) - (V.*Image(:,:,1)))./(3*V); % Z case {'lab','lch'} Image = lab(Image,SrcSpace); % Convert CIE L*ab to XYZ fY = (Image(:,:,1) + 16)/116; fX = fY + Image(:,:,2)/500; fZ = fY - Image(:,:,3)/200; Image(:,:,1) = WhitePoint(1)*invf(fX); % X Image(:,:,2) = WhitePoint(2)*invf(fY); % Y Image(:,:,3) = WhitePoint(3)*invf(fZ); % Z otherwise % Convert from some gamma-corrected space % Convert to Rec. 701 R'G'B' Image = rgb(Image,SrcSpace); % Undo gamma correction R = invgammacorrection(Image(:,:,1)); G = invgammacorrection(Image(:,:,2)); B = invgammacorrection(Image(:,:,3)); % Convert RGB to XYZ T = inv([3.240479,-1.53715,-0.498535;-0.969256,1.875992,0.041556;0.055648,-0.204043,1.057311]); Image(:,:,1) = T(1)*R + T(4)*G + T(7)*B; % X Image(:,:,2) = T(2)*R + T(5)*G + T(8)*B; % Y Image(:,:,3) = T(3)*R + T(6)*G + T(9)*B; % Z end return; function Image = hsv(Image,SrcSpace) % Convert to HSV Image = rgb(Image,SrcSpace); V = max(Image,[],3); S = (V - min(Image,[],3))./(V + (V == 0)); Image(:,:,1) = rgbtohue(Image); Image(:,:,2) = S; Image(:,:,3) = V; return; function Image = hsl(Image,SrcSpace) % Convert to HSL switch SrcSpace case 'hsv' % Convert HSV to HSL MaxVal = Image(:,:,3); MinVal = (1 - Image(:,:,2)).*MaxVal; L = 0.5*(MaxVal + MinVal); temp = min(L,1-L); Image(:,:,2) = 0.5*(MaxVal - MinVal)./(temp + (temp == 0)); Image(:,:,3) = L; otherwise Image = rgb(Image,SrcSpace); % Convert to Rec. 701 R'G'B' % Convert R'G'B' to HSL MinVal = min(Image,[],3); MaxVal = max(Image,[],3); L = 0.5*(MaxVal + MinVal); temp = min(L,1-L); S = 0.5*(MaxVal - MinVal)./(temp + (temp == 0)); Image(:,:,1) = rgbtohue(Image); Image(:,:,2) = S; Image(:,:,3) = L; end return; function Image = lab(Image,SrcSpace) % Convert to CIE L*a*b* (CIELAB) WhitePoint = [0.950456,1,1.088754]; switch SrcSpace case 'lab' return; case 'lch' % Convert CIE L*CH to CIE L*ab C = Image(:,:,2); Image(:,:,2) = cos(Image(:,:,3)*pi/180).*C; % a* Image(:,:,3) = sin(Image(:,:,3)*pi/180).*C; % b* otherwise Image = xyz(Image,SrcSpace); % Convert to XYZ % Convert XYZ to CIE L*a*b* X = Image(:,:,1)/WhitePoint(1); Y = Image(:,:,2)/WhitePoint(2); Z = Image(:,:,3)/WhitePoint(3); fX = f(X); fY = f(Y); fZ = f(Z); Image(:,:,1) = 116*fY - 16; % L* Image(:,:,2) = 500*(fX - fY); % a* Image(:,:,3) = 200*(fY - fZ); % b* end return; function Image = luv(Image,SrcSpace) % Convert to CIE L*u*v* (CIELUV) WhitePoint = [0.950456,1,1.088754]; WhitePointU = (4*WhitePoint(1))./(WhitePoint(1) + 15*WhitePoint(2) + 3*WhitePoint(3)); WhitePointV = (9*WhitePoint(2))./(WhitePoint(1) + 15*WhitePoint(2) + 3*WhitePoint(3)); Image = xyz(Image,SrcSpace); % Convert to XYZ U = (4*Image(:,:,1))./(Image(:,:,1) + 15*Image(:,:,2) + 3*Image(:,:,3)); V = (9*Image(:,:,2))./(Image(:,:,1) + 15*Image(:,:,2) + 3*Image(:,:,3)); Y = Image(:,:,2)/WhitePoint(2); L = 116*f(Y) - 16; Image(:,:,1) = L; % L* Image(:,:,2) = 13*L.*(U - WhitePointU); % u* Image(:,:,3) = 13*L.*(V - WhitePointV); % v* return; function Image = lch(Image,SrcSpace) % Convert to CIE L*ch Image = lab(Image,SrcSpace); % Convert to CIE L*ab H = atan2(Image(:,:,3),Image(:,:,2)); H = H*180/pi + 360*(H < 0); Image(:,:,2) = sqrt(Image(:,:,2).^2 + Image(:,:,3).^2); % C Image(:,:,3) = H; % H return; function Image = huetorgb(m0,m2,H) % Convert HSV or HSL hue to RGB N = size(H); H = min(max(H(:),0),360)/60; m0 = m0(:); m2 = m2(:); F = H - round(H/2)*2; M = [m0, m0 + (m2-m0).*abs(F), m2]; Num = length(m0); j = [2 1 0;1 2 0;0 2 1;0 1 2;1 0 2;2 0 1;2 1 0]*Num; k = floor(H) + 1; Image = reshape([M(j(k,1)+(1:Num).'),M(j(k,2)+(1:Num).'),M(j(k,3)+(1:Num).')],[N,3]); return; function H = rgbtohue(Image) % Convert RGB to HSV or HSL hue [M,i] = sort(Image,3); i = i(:,:,3); Delta = M(:,:,3) - M(:,:,1); Delta = Delta + (Delta == 0); R = Image(:,:,1); G = Image(:,:,2); B = Image(:,:,3); H = zeros(size(R)); k = (i == 1); H(k) = (G(k) - B(k))./Delta(k); k = (i == 2); H(k) = 2 + (B(k) - R(k))./Delta(k); k = (i == 3); H(k) = 4 + (R(k) - G(k))./Delta(k); H = 60*H + 360*(H < 0); H(Delta == 0) = nan; return; function Rp = gammacorrection(R) Rp = real(1.099*R.^0.45 - 0.099); i = (R < 0.018); Rp(i) = 4.5138*R(i); return; function R = invgammacorrection(Rp) R = real(((Rp + 0.099)/1.099).^(1/0.45)); i = (R < 0.018); R(i) = Rp(i)/4.5138; return; function fY = f(Y) fY = real(Y.^(1/3)); i = (Y < 0.008856); fY(i) = Y(i)*(841/108) + (4/29); return; function Y = invf(fY) Y = fY.^3; i = (Y < 0.008856); Y(i) = (fY(i) - 4/29)*(108/841); return;

FRFCM/fcm_image.m

% This function is only suitabe for gray image function gx=fcm_image(f,U,center) [m,n]=size(f); [~,idx_f]=max(U); imput_f=reshape(idx_f,[m n]); imput_ff=zeros(m,n); %input_ff denotes the classification result based on the cluster center for k=1:length(center(:,1)) t=(imput_f==k).*center(k); imput_ff=imput_ff+t; end gx=uint8(imput_ff);

FRFCM/fcm_image_color.m

% This function is only suitabe for color image function gx=fcm_image_color(f,U) m=size(f,1);n=size(f,2); U=U'; idx_f=zeros(m*n,1); for i=1:m*n x=U(i,:); idx=find(x==max(x)); % Computing the classification index of matrix weighted idx=idx(1); idx_f(i)=idx; %idx_f denotes the classification image based on index end imput_f=reshape(idx_f,[m n]); gx=Label_image(f,imput_f);

FRFCM/FRFCM.m

function [center, U, obj_U, iter_n]=FRFCM(data,cluster_n,diameter,w_size) % Firstly, we use morphological reconstruction to reconstruct original image to suppress noise; % Secondly, we use histogram to reduce the computational complexity of FCM; % Thirdly, we use a median filter to smooth the fuzzy membership U; % Finally, we normalize U; % Input variants and parameters % data is a 2D matrix of size row*col, it means that the input is a gray image % cluster_n denotes the number of cluster centers % diameter denotes the parameter of structuring element used in % mrophological recosntruction % w_size is the scale of the filtering window if nargin ~= 4 error('Too many or too few input arguments!'); end % Change the following to set default options options = [2; % exponent for the partition matrix 100; % max. number of iteration 1e-5; % min. amount of improvement 1]; % info display during iteration expo = options(1); % Exponent for U max_iter = options(2); % Max. iteration obj_U = zeros(max_iter, 1); % Array for objective function %% step 1, morphological reconstruction data=w_recons_CO(data,strel('square',diameter)); %% step 2, FCM on histogram row=size(data, 1);col=size(data,2); data_n = row*col; % the number of pixels data=data(:); data_u=unique(data(:));% computing the histogram n_r=size(data_u,1); % n_r denotes the number of pixels with different gray value U=initfcm(cluster_n,n_r); % Initial fuzzy partition sum_U{1}=double(U>0.5);sum_U{2}=sum_U{1}; % computing histogram N_p=zeros(length(data_u),1); for i=1:length(data_u) N_p(i)=sum(data==data_u(i)); end Num=ones(cluster_n,1)*N_p'; %% main loop dist=zeros(cluster_n,n_r);dist2=zeros(cluster_n,data_n); for w= 1:max_iter mf = Num.*(U.^expo); center = mf*data_u./((ones(size(data, 2), 1)*sum(mf'))'); for k=1: size(center, 1) dist(k, :)=abs(center(k)-data_u)'; end tmp=dist.^2; h1=(tmp+eps).^(-1/(expo-1)); U=(h1)./(ones(cluster_n,1)*(sum(h1))+eps); if w>2 sum_U{w}=double(U>0.5); obj_U(w)=sum(sum(abs(sum_U{w}-sum_U{w-1}))); if obj_U(w)==0,break; end, end end iter_n = w; % Actual number of iterations %% compute membership matrix U according to cluster centers for k2=1: size(center, 1) dist2(k2, :)=abs(center(k2)-data)'; end tmp =dist2+eps; h1=(tmp).^(-1/(expo-1)); U=(h1)./(ones(cluster_n,1)*(sum(h1))+eps); %% median filtering for k3=1: size(center, 1) U1= U (k3,:); U1=reshape(U1,[row,col]); %reshape the vector U to a matrix of size row*col UU=medfilt2(U1,[w_size,w_size]); % Notice that we cann't use U1.^expo due to the high computational complexity GG(k3,:)=UU(:); end U=GG./(ones(cluster_n,1)*(sum(GG))+eps); % the normalization

FRFCM/FRFCM_c.m

function [center, U, obj_fcn,iter_n]=FRFCM_c(data,cluster_n,radius,w_size,options) % Firstly, we use multivariate morphological reconstruction to reconstruct original image to suppress noise; % Secondly, we implement FCM; % Thirdly, we use a median filter to smooth the fuzzy membership U; % Finally, we normalize U; % Input variants and parameters % data is a 3D data, it means that the input is a color image % cluster_n denotes the number of cluster centers % radius denotes the parameter of structuring element used in % mrophological recosntruction % w_size is the scale of the filtering window if nargin ~= 4 & nargin ~= 5 error('Too many or too few input arguments!'); end % Change the following to set default options default_options = [2; % exponent for the partition matrix U 100; % max. number of iteration 1e-5; % min. amount of improvement 0]; % info display during iteration if nargin == 4, options = default_options; else % If "options" is not fully specified, pad it with default values. if length(options) < 4, tmp = default_options; tmp(1:length(options)) = options; options = tmp; end % If some entries of "options" are nan's, replace them with defaults. nan_index = find(isnan(options)==1); options(nan_index) = default_options(nan_index); if options(1) <= 1, error('The exponent should be greater than 1!'); end end expo = options(1); % Exponent for U max_iter = options(2); % Max. iteration min_impro = options(3); % Min. improvement display = options(4); % Display info or not obj_fcn = zeros(max_iter, 1); % Array for objective function %% step 1, morphological reconstruction data_rgb=w_ColorRecons_CO(data,radius); %radius means maximal radius data_lab=colorspace('Lab<-RGB',data_rgb); %% step 2, FCM on histogram data_l=data_lab(:,:,1);data_a=data_lab(:,:,2);data_b=data_lab(:,:,3); data=[data_l(:)';data_a(:)';data_b(:)']'; %iter_n=0; % actual number of iteration row=size(data_a,1);col=size(data_a,2); U = initfcm(cluster_n, row*col); % Initial fuzzy partition % Main loop for i = 1:max_iter %% stepfcm [U, center, obj_fcn(i)] = stepfcm(data, U, cluster_n, expo); mf = U.^expo; % MF matrix after exponential modification center = mf*data./((ones(size(data, 2), 1)*sum(mf'))'); % new center %% dist = distfcm(center, data); % fill the distance matrix out = zeros(size(center, 1), size(data, 1)); % fill the output matrix if size(center, 2) > 1, for k = 1:size(center, 1), out(k, :) = sqrt(sum(((data-ones(size(data, 1), 1)*center(k, :)).^2)')); end else % 1-D data for k = 1:size(center, 1), out(k, :) = abs(center(k)-data)'; end end dist=out+eps; %% distfcm end obj_fcn(i) = sum(sum((dist.^2).*mf)); % objective function tmp = dist.^(-2/(expo-1)); % calculate new U, suppose expo != 1 U = tmp./(ones(cluster_n, 1)*sum(tmp)+eps); Uc{i}=U; if i > 1, %if abs(obj_fcn(i) - obj_fcn(i-1))/obj_fcn(i) < min_impro, break; end, if max(max(abs(Uc{i}-Uc{i-1})))< min_impro,break; end, end end iter_n = i; % Actual number of iterations obj_fcn(iter_n+1:max_iter) = []; %% median filtering for k3=1: size(center, 1) U1= U (k3,:); U1=reshape(U1,[row,col]); %reshape the vector U to a matrix of size row*col UU=medfilt2(U1,[w_size,w_size]); % Notice, we cann't use U1.^expo due to the problem of high computational complexity GG(k3,:)=UU(:); end U=GG./(ones(cluster_n,1)*(sum(GG))+eps); % the normalization of center_l=center(:,1);center_a=center(:,2);center_b=center(:,3);center_lab=cat(3,center_l,center_a,center_b); center=255*colorspace('RGB<-Lab',center_lab);

FRFCM/Label_image.m

function [fs,center_p,Num_p,center_lab]=Label_image(f,L) %fs is the result of segmentation, center_p is the center pixel of each %areas % f is the original image % L is the segmented image using waterhsed transformation f=double(f); num_area=max(max(L)); %The number of segmented areas Num_p=zeros(num_area,1); if size(f,3)<2 [M,N]=size(f); s3=L; fs=zeros(M,N); center_p=zeros(num_area,1); for i=1:num_area f2=f(s3==i);f_med=median(f2);fx=double((s3==i))*double(f_med); fs=fs+fx; center_p(i,:)=uint8(f_med); Num_p=zeros(num_area,1); end fs=uint8(fs); %% Color image else [M,N]=size(f(:,:,1)); s3=L; fs=zeros(M,N,3); fr=f(:,:,1);fg=f(:,:,2);fb=f(:,:,3); center_p=zeros(num_area,3); for i=1:num_area fr2=fr(s3==i);r_med=median(fr2);r=(s3==i)*r_med; fg2=fg(s3==i);g_med=median(fg2);g=(s3==i)*g_med; fb2=fb(s3==i);b_med=median(fb2);b=(s3==i)*b_med; fs=fs+cat(3,r,g,b); center_p(i,:)=uint8([r_med g_med b_med]); Num_p(i)=sum(sum(s3==i)); end fs=uint8(fs); end TT=cat(3,center_p(:,1),center_p(:,2),center_p(:,3)); TT2=colorspace('Lab<-RGB',TT); TT2r=TT2(:,:,1);TT2g=TT2(:,:,2);TT2b=TT2(:,:,3); center_lab(:,1)=TT2r(:);center_lab(:,2)=TT2g(:);center_lab(:,3)=TT2b(:);

FRFCM/main_color.m

% Please cite the paper "Tao Lei, Xiaohong Jia, Yanning Zhang, Lifeng He, Hongying Meng and Asoke K. Nandi, Significantly Fast and Robust % Fuzzy C-Means Clustering Algorithm Based on Morphological Reconstruction and Membership Filtering, IEEE Transactions on Fuzzy Systems, % DOI: 10.1109/TFUZZ.2018.2796074, 2018.2018" %and %Tao. Lei, Yanning Zhang, Yi Wang, Shigang Liu, and Zhe Guo, "A Conditionally Invariant Mathematical Morphological Framework for Color Images," %Information Sciences, Vol. 387, no. 5, pp. 34-52, May. 2017. % The first paper is OpenAccess and you can download the paper freely from "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8265186." % The code was written by Tao Lei in 2017. % If you have any problems, please contact me. % Email address: [email protected] clc close all clear all %% parameters cluster=3; % the number of clustering centers se=3; % the parameter of structuing element used for morphological reconstruction w_size=3; % the size of fitlering window %% test a color image fileID='12003'; f_ori=imread('12003.jpg'); GT=load('12003.mat'); % Ground Truth, download from 'https://www2.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/resources.html' f_ori=double(f_ori); %% implement the proposed algorithm tic [~,U1,~,~]=FRFCM_c(double(f_ori),cluster,se,w_size); Time1=toc; disp(strcat('running time is: ',num2str(Time1))) f_ori; f_seg=fcm_image_color(f_ori,U1); imshow(f_seg);

FRFCM/main_gray.m

% Please cite the paper "Tao Lei, Xiaohong Jia, Yanning Zhang, Lifeng He, Hongying Meng and Asoke K. Nandi, Significantly Fast and Robust % Fuzzy C-Means Clustering Algorithm Based on Morphological Reconstruction and Membership Filtering, IEEE Transactions on Fuzzy Systems, % DOI: 10.1109/TFUZZ.2018.2796074, 2018.2018" % The paper is OpenAccess and you can download the paper freely from "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8265186." % The code was written by Tao Lei in 2017. % If you have any problems, please contact me. % Email address: [email protected] clc close all clear all %% test a gray image f_ori=imread('brain.bmp'); fn=imnoise(f_ori,'gaussian',0.03); %% parameters cluster=3; % the number of clustering centers se=3; % the parameter of structuing element used for morphological reconstruction w_size=3; % the size of fitlering window %% segment an image corrupted by noise tic [center1,U1,~,t1]=FRFCM(double(fn),cluster,se,w_size); Time1=toc; disp(strcat('running time is: ',num2str(Time1))) f_seg=fcm_image(f_ori,U1,center1); imshow(fn),title('Original image'); figure,imshow(f_seg);title('segmentated result');

FRFCM/PCA_color.m

function g=PCA_color(f) f1=f(:,:,1);f2=f(:,:,2);f3=f(:,:,3); data=double([f1(:)';f2(:)';f3(:)']); [~,c]=size(data); m=mean(data')'; d=data-repmat(m,1,c); % Compute the covariance matrix (co) co=d*d'; % Compute the eigen values and eigen vectors of the covariance matrix [eigvector,eigvl]=eig(co); % Sort the eigen vectors according to the eigen values eigvalue = diag(eigvl); [~, index] = sort(-eigvalue); eigvalue = eigvalue(index); eigvector = eigvector(:, index); % Compute the number of eigen values that greater than zero (you can select any threshold) count1=0; for i=1:size(eigvalue,1) if(eigvalue(i)>0) count1=count1+1; end end % We can use all the eigen vectors but this method will increase the % computation time and complixity %vec=eigvector(:,:); % And also we can use the eigen vectors that the corresponding eigen values is greater than zero(Threshold) and this method will decrease the % computation time and complixity vec=eigvector(:,1:count1); % Compute the feature matrix (the space that will use it to project the testing image on it) x=vec'*d; x2=x+repmat(m,1,c); x2=uint8(x2); x2_1=x2(1,:);x2_2=x2(2,:);x2_3=x2(3,:); s1=size(f1,1);s2=size(f1,2); f_1=zeros(s1, s2);f_2=f_1;f_3=f_1; for j=1:s2 f_1(:,j)=x2_1((j-1)*s1+1:j*s1); f_2(:,j)=x2_2((j-1)*s1+1:j*s1); f_3(:,j)=x2_3((j-1)*s1+1:j*s1); end g=cat(3,uint8(f_1),uint8(f_2),uint8(f_3));

FRFCM/Readme.txt

Please cite the paper T. Lei, X. Jia, Y. Zhang, L. He, H. Meng and A. K. Nandi, "Significantly Fast and Robust Fuzzy C-Means Clustering Algorithm Based on Morphological Reconstruction and Membership Filtering," in IEEE Transactions on Fuzzy Systems, vol. PP, no. 99, pp. 1-1.doi: 10.1109/TFUZZ.2018.2796074 Full paper link: http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=8265186 1. If you want to segment a gray image, please run main_gray. 2. If you want to segment a color image, please run main_color.

FRFCM/result-color.bmp

FRFCM/result-gray.bmp

FRFCM/sy1.bmp

FRFCM/sy2.bmp

FRFCM/w_ColorRecons_CO.m

function output_f=w_ColorRecons_CO(f,radius) se=strel('disk',radius); if length(size(f))<3 disp('Please input a color image!'); else %% f=double(f);f_r=f(:,:,1);f_g=f(:,:,2);f_b=f(:,:,3); f_pca=double(PCA_color(f));f1=f_pca(:,:,1);f2=f_pca(:,:,2); %% step2 data transformation data1=f1*10^3+f2+f_r*10^-3+f_g*10^-6+f_b*10^-9;Max1=max(max(data1)); data2=f1*10^3+f2+f_g*10^-3+f_r*10^-6+f_b*10^-9;Max2=max(max(data2)); data3=f1*10^3+f2+f_b*10^-3+f_r*10^-6+f_g*10^-9;Max3=max(max(data3)); %% step 3 data processing imput_data1=imerode(data1,se); imput_data2=imerode(data2,se); imput_data3=imerode(data3,se); f_rec1=imreconstruct(imput_data1,data1); f_rec2=imreconstruct(imput_data2,data2); f_rec3=imreconstruct(imput_data3,data3); imput2_data1=imerode(Max1-f_rec1,se); imput2_data2=imerode(Max2-f_rec2,se); imput2_data3=imerode(Max3-f_rec3,se); f_g1=Max1-imreconstruct(imput2_data1,Max1-f_rec1); f_g2=Max2-imreconstruct(imput2_data2,Max2-f_rec2); f_g3=Max3-imreconstruct(imput2_data3,Max3-f_rec3); end %% return to RGB format tt1=f_g1-floor(f_g1); tt2=f_g2-floor(f_g2); tt3=f_g3-floor(f_g3); g1_r=floor(tt1*10^3); g1_g=floor(tt2*10^3); g1_b=floor(tt3*10^3); output_f=cat(3,uint8(g1_r),uint8(g1_g),uint8(g1_b));

FRFCM/w_recons_CO.m

% morphological closing reconstruction function fobrcbr=w_recons_CO(f,se) fe=imerode(f,se); fobr=imreconstruct(fe,f); fobrc=imcomplement(fobr); fobrce=imerode(fobrc,se); fobrcbr=imcomplement(imreconstruct(fobrce,fobrc));

license.txt

Copyright (c) 2018, Tao Lei Copyright (c) 2015, Image Analyst Copyright (c) 2011, priya All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution * Neither the name of the SUST nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.