1 Introduction

Image segmentation has been, and still is, an active research topic in the fundamental task of computer vision. Its aim is to partition an image into a number of non-overlapping regions with uniform and homogenous characteristics, such as intensity and texture. Up to now, a great variety of algorithms have been developed (Sezgin and Sankur 2004) and applied to many application domains, including automatic target detection, handwritten character identification, and so on.

Fuzzy c-means algorithm (FCM), developed by Dunn (1973) and improved by Bezdek (1981), has been proved to be an efficient framework for data clustering. It is based on the fuzzy set theory (Zadeh 1965) and particularly designed to handle the required crisp grades of membership of pixels to different clusters. Generally, it can retain much more information from the original image and has robust characteristics for ambiguity (Zhou and Schaefer 2009). Such factors incline FCM to group pixels together, according to the similarities in the whole feature space. However, the main drawbacks of FCM algorithm are its sensitivity to noise (Balafar 2014) and the difficulties associated with the drift of cluster centers, which may influence the performance of FCM in separating the intensity overlap of distributions between classes.

For years, several variants of FCM have been developed to improve the performance of segmentation, based on introducing the local spatial constraint into the objective function of FCM. Pham and Princea (1999) introduced a spatial penalty for enabling the iterative algorithm to estimate spatially smooth membership function. Ahmed et al. (2002) modified the FCM objective function by introducing a spatial neighborhood term, named FCM_S, allowing the labeling of a pixel to be adjusted by its neighbors. Thus, it can be robust against such an intensity overlap and noise to some extent. However, the FCM_S utilized more time to compute the neighborhood term at each iteration. To remedy this deficiency, Chen et al. (2004) presented a variant of FCM_S, called FCM_S1 or FCM_S2, in which the neighborhood term was replaced as the mean-filtered or median-filtered image. Similar to the FCM_S1, Kang et al. (2009) used adaptive weighted average filter image, instead of mean-filtered or median-filtered image. Besides, to further enhance FCM in terms of efficiency, Szilagyi et al. (2003) simplified the presentation of objective function of FCM for segmenting a linearly weighted sum image that was generated in advance and named it as an enhanced FCM (EnFCM). Later, Cai et al. (2007) introduced a new local similarity measure, incorporating local spatial and gray-level information, and named it as a fast generalized FCM method (FGFCM). Szilagyi et al. (2007) further modified it to improve the accuracy of segmentation. Recently, the robust way to utilize the local information is still in the stage of development (Gong et al. 2013; Ji et al. 2014; Krinidis and Chatzis 2010; Krinidis and Krinidis 2012; Li and Shen 2010; Mujica-Vargas et al. 2013; Wang et al. 2013; Zhang et al. 2013).

Alternatively, several extensions of FCM have also been proposed (Dante et al. 2011; Feng et al. 2013; Gong et al. 2013; Ji et al. 2011; Lei and Yang 2003; Ma and Staunton 2007; Sikka et al. 2009; Wang and Fei 2009; Wang et al. 2008). The underlying idea is to add the terms into the objective function of FCM or map the low-dimensional input space into the higher-dimension space via introducing the kernel method. For example, generalized FCM (GFCM) is proposed by Zhu et al. (2009) who modified the objective function of FCM by including a membership penalty term. In Ref. (Zhao et al. 2011a; Zhao and Jiao 2011b; Zhao 2013), Zhao et al. proposed several modifications to the GFCM by incorporating local information. Zhang and Chen (2004) introduced kernel method into FCM (named KFCM), substituting the Euclidean distance with kernel function. Chen et al. (2004) and Yang and Tsai (2008) also modified FCM_S1 or FCM_S2 by kernel-induced distance and presented the corresponding kernel version. Besides, a kernel version of GFCM with spatial information (KGFCM_S1) proposed by Zhao et al. (2013) was related to an improvement in the insensitivity of GFCM to noise.

However, FCM-based clustering methods still suffered from the issue associated with the drift of cluster centers. To address this drawback, in this paper, we propose a modified strategy for image segmentation based on FCM. This strategy mainly consists of two-pass processes at each iteration. The first pass is to directly obtain the cluster centers from the segmented image at previous iteration, rather than the mean value of all pixels that are weighted by fuzzy membership, and the higher value of cluster centers is then taken as an alternative threshold to prevent the pixels with lower intensity from clustering. In the second pass, the neighboring pixels of the segmented region are assigned to the corresponding clusters using fuzzy clustering method with a novel bias field. Through iteration, the cluster centers can be made to converge at the possible real centers of classes, thus ensuring the proposed method be less sensitive to the drawbacks that are inherent in FCM-based methods and further promoting the performance of image segmentation.

The remainder of this paper is organized as follows. In Sect. 2, FCM-based clustering algorithm and its modification to the objective function is briefly described. In Sect. 3, we propose a modified strategy of fuzzy clustering algorithm for image segmentation. Experiments and its comparisons with several existing FCM-based methods are presented in Sect. 4. Finally, conclusions are drawn in Sect. 5.

2 FCM algorithm and its modification

2.1 Standard FCM

The standard FCM objective function for partitioning\(\{x_{k}\}_{k=1:N}\) into \(c\) clusters is given by

$$\begin{aligned} J_\mathrm{FCM} =\sum \limits _{i=1}^c \sum \limits _{k=1}^N {u_{ik}^p \vert \vert x_k -v_i \vert \vert ^2} , \end{aligned}$$
(1)

where \(x_{k}\) is the gray value of the \(k\)-th pixel in the gray image; \(v_{i}\) represents the center of the \(i\)-th cluster; \(u_{ik}\) represents the membership of the \(k\)-th pixel in \(i\)-th cluster, where each pixel has the constraint that \(\sum \nolimits _{i=1}^c {u_{ik} =1}; \quad p\) controls the amount of fuzziness of the resulting classification and often sets a positive integer greater than \(1;\left| {\left| {^.}\right| }\right| \) represents the standard Euclidean distance.

2.2 FCM with spatial constraint and its variant

Ahmed et al. (2002) proposed a modified FCM objective function by introducing the spatial information, which is defined as follows:

$$\begin{aligned} J_{\mathrm{FCM}\_\mathrm{S}}\!=\!\sum \limits _{i=1}^c \sum \limits _{k=1}^N {u_{ik}^p } \left( {\vert \vert x_k\! -\!v_i \vert \vert ^2+\frac{\alpha }{N_R }\!\!\sum \limits _{x_r \in N_k } {\vert \vert x_r\! -\!v_i \vert \vert ^2}}\right) \!,\nonumber \\ \end{aligned}$$
(2)

where \(N_{k}\) stands for the set of neighbors that exist in a window around the \(k\)-th pixel, and \(N_{R}\) is the cardinality of \(N_{k}\); \(\alpha \) is used to control the neighboring effect and often set to a higher value for segmenting images with lower signal-to-noise ratio. To reduce time consumption, a variant of FCM_S is then defined as:

$$\begin{aligned} J_{\mathrm{FCM}\_\mathrm{S1}}\! =\!\sum \limits _{i=1}^c \sum \limits _{k\!=\!1}^N {u_{ik}^p \left( {\vert \vert x_k -v_i \vert \vert ^2+\alpha \vert \vert \bar{x}_r -v_i \vert \vert ^2}\right) } , \end{aligned}$$
(3)

where \(\bar{x}_k \) is the smooth value in the local region around the \(k\)-th pixel, for example, \(\bar{x}_k =\sum \nolimits _{x_r \in N_k } {x_r /N_R ,} \) named FCM_S1.

2.3 EnFCM method and its variant

The EnFCM method is proposed by Szilagyi et al. (2003) who try to reduce computational complexity and smooth the noise when applying FCM into gray image segmentation. They observed that pixels with the same gray intensity always have the same fuzzy membership in the objective function of FCM, which is usually overlooked when performing segmentation. Thus, the objective function of FCM can be rewritten as:

$$\begin{aligned} J_\mathrm{FCM}\! =\!\sum \limits _{i=1}^c \sum \limits _{l=1}^q \sum \limits _{k=1}^{\gamma _1 } {u_{il}^p } \vert \vert \xi _l\! -\!v_i \vert \vert ^2\!=\!\sum \limits _{i=1}^c \sum \limits _{l=1}^q {\gamma _l u_{il}^p \vert \vert \xi _l\! -\!v_i \vert \vert ^2,}\nonumber \\ \end{aligned}$$
(4)

where \(\xi _{k}\) represents the enhanced intensity value of the \(k\)-th pixel and is expressed as

$$\begin{aligned} \xi _k =\frac{1}{1+\alpha }\left( {x_k +\frac{\alpha }{N_R }\sum \limits _{x_j \in N_k } {x_j } }\right) ; \end{aligned}$$
(5)

\(\gamma _{l}\) denotes the number of pixels in the same gray level \(l\), \(l=1,\ldots ,q\), and \(N=\sum \nolimits _{l=1}^q {\gamma _l } \). Therefore, it can speed up the clustering process since \(q\) is much smaller than \(N\). In general, FCM can be considered as a special case of the EnFCM when setting \(\alpha \) = 0.

Note that the EnFCM method shares a common parameter \(\alpha \) and its value selection often depends on the degree of noise pollution in the image. To facilitate parameter setting, Cai et al. (2007) constructed a novel measure \(S_{ij}\) to form a new image as follows:

$$\begin{aligned} \xi _i =\sum \nolimits _{j\in N_i } {S_{ij} x_j \Big /\sum \nolimits _{j\in N_i } {S_{ij} ,} } \end{aligned}$$
(6)

where \(S_{ij}\) is defined as

$$\begin{aligned} S_{ij} =\left\{ \begin{array}{ll} {S_{s\_ij} \times S_{g\_ij} ,} &{}{j\ne i} \\ 0 &{}{j=i} \\ \end{array} \right. \end{aligned}$$
(7)

with the local spatial relationship \(S_{s\_ij} =\exp ( -\max ( \vert p_j\) \( -p_i \vert ,\vert q_j -q_i \vert )/\lambda _s ),\) and local gray-level relationship \(S_{g\_ij}\! =\!\exp ( {-\vert \vert x_i\! -\!x_j \vert \vert ^2/( {\lambda _g \!\times \! \sigma _{g\_i}^2 })})\). Here, (\(p_{i}\), \(q_{i})\) denotes the co-ordinates of the \( i\)-th pixel, \(\lambda _{s}\) and \(\lambda _{g}\) denote the scale factor, and \(\sigma _{g}\) is a standard of a special window around the \(i\)-th pixel that is represented as

$$\begin{aligned} \sigma _{g\_i} =\sqrt{\sum \nolimits _{j\in N_i } \vert \vert x_i -x_j \vert \vert ^2/N_R } . \end{aligned}$$
(8)

2.4 Extensions of FCM

The extensions of FCM often have a term or imply a kernel method that can be incorporated together into FCM for promoting the performance. GFCM is a kind of modified version of FCM for potential fast convergence, and the objective function is defined as

$$\begin{aligned} J_\mathrm{GFCM}&= \sum \limits _{i=1}^c {\sum \limits _{k=1}^N {u_{ik}^p \vert \vert x_k - v_i \vert \vert ^2}}\nonumber \\&+\sum \limits _{k=1}^N {a_k \sum \limits _{i=1}^c {u_{ik} \left( {1-u_{ik}^{p-1} }\right) ,}} \end{aligned}$$
(9)

where the parameter \(a_k \!=\! \beta \cdot \min \left\{ {\vert \vert x_k \!\!-\!v_s \vert \vert ^2\vert s\in \left\{ {1,\ldots ,c} \right\} } \right\} ,\) in which \(\beta \) controls the convergence speed of GFCM and \(\beta \) is often set in the range [0, 1). KFCM can be treated as a kernel version which modifies the measure of data through adding kernel function, and the corresponding objective function is defined as follows:

$$\begin{aligned} J_\mathrm{KFCM}&= \sum \limits _{i=1}^c \sum \limits _{k=1}^N {u_{ik}^p \vert \vert \phi ( {x_k })-\phi ( {v_i })\vert \vert ^2} \nonumber \\&= 2\sum \limits _{i=1}^c {\sum \limits _{k=1}^N {u_{ik}^p \left( {1-K \left( {x_k ,v_i}\right) }\right) \!,}} \end{aligned}$$
(10)

where \(K\) is the kernel function and \(\phi \) denotes the nonlinear mapping function. Recently, Zhao et al. (2013) proposed a kernel version of GFCM with spatial information, named KGFCM_S1, and the objective function is stated as:

$$\begin{aligned} J_{\mathrm{KGFCM}\_\mathrm{S1}}&= 2\sum \limits _{i=1}^c \sum \limits _{k=1}^N u_{ik}^p(( {1-K( {x_k ,v_i })}) \nonumber \\&\quad +\alpha ( {1-K( {\bar{x}_k ,v_i })})) \nonumber \\&\quad + \sum \limits _{k=1}^N {a_k} \sum \limits _{i=1}^{c} {u_{ik}}\left( {1-u_{ik}^{p-1}}\right) . \end{aligned}$$
(11)

In summary, these FCM-based algorithms for segmentation are performed by minimizing the corresponding objective function. Generally, every FCM-based method totally consists of two steps, which are iterated until convergence. Taking the FCM, for example, these two steps are listed as follows:

  1. 1.

    Update the membership \(u_{ik}\) at iteration \(n\) given the cluster centers \(v_{i }(n)\) \((i=1,\ldots , c)\) estimate from the previous step:

    $$\begin{aligned} u_{ik} (n)&= {\left( {\left\| {x_k -v_i (n)} \right\| ^2}\right) ^{{-1} / {(p-1)}}}\nonumber \\&\quad \Big /\sum \nolimits _{j=1}^c {\left( {\left\| {x_k -v_j (n)} \right\| ^2}\right) ^{{-1} /{(p-1)}}}. \end{aligned}$$
    (12)
  2. 2.

    Update the cluster centers \(v_i ,i=1,\ldots ,c\): minimizing Eq. (1), and obtain

    $$\begin{aligned} v_i ( {n+1})=\sum \nolimits _{k=1}^N {u_{ik}^p } (n)x_k \Big /\sum \nolimits _{k=1}^N {u_{ik}^p } (n). \end{aligned}$$
    (13)

Actually, the update of cluster centers determines what membership level to be assigned to the pixels, and the iteration continues until the cluster centers do not change any more.

However, the point we should stress is that the drift of cluster centers often arises with respect to the intensity overlap and noise, which may affect the fuzziness for the belongingness of each image pixels, and results in worse segmentation.

3 A modified strategy for image segmentation

In this section, we present a modified strategy of fuzzy clustering algorithm. This strategy mainly consists of two stages that differ from that of the original FCM method, enabling the image pixels to be properly classified into background and object. In subsequent sections, we will describe them in detail.

3.1 Update of cluster centers

Let us first consider a segmented output \(L(n-1)\), which simply separates the whole image domain \(\Omega \) into the background region \(\Omega _{1}=\{z\vert L_{z}(n-1)=0\}\) and the object region \(\Omega _{2}=\{z\vert L_{z}(n-1)=1\}\). Irrespective of fuzzy membership, the cluster centers \(v_{i}\) (\(i=1, 2\)) are then directly derived from the segmented region as follows:

$$\begin{aligned} v_i (n)=\sum \limits _{z\in \Omega _i } {\xi _z } \Big /\sum \limits _{z\in \Omega _i } {1_z } , \quad i=1,2. \end{aligned}$$
(14)

where \(n\) is the index of iteration; the indices \(z\) denote the position in the image domain; \(\xi _{z}\) represents the enhanced intensity value that is inspired by the EnFCM as well as the FGFCM. Here, we represent the following enhanced intensity value:

$$\begin{aligned} \xi _z =\sum \limits _{y\in R} {K_\sigma (z-y)x_y ,} \end{aligned}$$
(15)

where \(R\) is the local kernel window and is often set to \((2\rho +1)\times (2\rho +1)\) mask, in which \(\rho \) is no less than 1; \(K\) denotes the Gaussian kernel with a scale parameter \(\sigma >\)0 and is defined as

$$\begin{aligned} K_\sigma (z)=C_h \cdot \, \mathrm{exp}(-\left\| z \right\| ^2/2\sigma ^2), \end{aligned}$$
(16)

where \(C_{h}\) is the normalized constant, to satisfy \(\sum \nolimits _{y\in R} {K_\sigma (z-y)=1}\). By introducing the kernel \(K\), the cluster centers can be obtained reasonably, especially for the noisy image. In the next subsection, we will further consider the local spatial relationship for carefully partitioning the pixels.

It is often assumed that the overlap distribution of background and object exists in the range [\(v_{1}(n)\), \(v_{2}(n)\)] obtained from Eq. (14). In other words, the intensity above the cluster center \(v_{2}\) will be classified into the object region, while the intensity below the cluster center \(v_{1}\) will be classified into the background region. This means that the uncertainly of separating the intensity overlap between the distribution of background and object pixels usually exist within the intensity range [\(v_{1}(n), v_{2}(n)\)]. So, the classification of those pixels plays a significant role in promoting the segmentation performance.

3.2 Classification of pixels with spatial proximity

Before introducing a bias field of the FCM-based clustering algorithm for classifying the pixels within the intensity range [\(v_{1}(n), v_{2}(n)\)], we should first discuss the intensity overlap problem. Intensity overlap often appears when the brightness of pixels in the object region is the same as the pixels in the background region. Usually, the presence of intensity overlapped distribution is hardly noticeable to a human observer. As a result, many image segmentation methods, including FCM-based methods and histogram-based methods, are highly sensitive to this problem since they are based on the assumption that the intensities in each region are homogeneous.

Accordingly, the generally accepted assumption in our model is that the value of \(v_{2}(n)\) allows for far greater control over the classification of pixels whose intensities are in the obtained intensity range [\(v_{1}(n), v_{2}(n)\)]. Therefore, the result of segmentation at each iteration can be rewritten as follows:

$$\begin{aligned} L_z (n)\!=\!\{z| {L_z (n\!-\!1)}\!=\!1\}\cup \{Z| {\xi _z > v_2 (n)}, z\in \Omega \}. \end{aligned}$$
(17)

In Eq. (17), it implies a condition that the pixels whose enhanced value above the cluster center \(v_{2}(n)\) should be labeled as the object.

The following procedure in segmenting image is to guide the pixels with similarity to be clustered, i.e., partitioning the pixels whose intensities are in the range [\(v_{1}(n), v_{2}(n)\)]. To achieve this, we propose to take advantage of the image characteristics of neighboring pixels according to the result \(L\), instead of global image information.

Let us consider the segmented region \(\Omega _{2}\) shown in Fig. 1, where \(X\) has the relationship with the \((2\rho \,+\,1)\times (2\rho \, +\,1)\) mask that determines the neighboring pixels around the region \(\Omega _{2}\). Roughly speaking, the set \(X\) is the most likely transitional region from the object to the background. In this case, it is possible to achieve the goal of separating the intensity overlapped distribution between the background and the object when properly partitioning the set \(X\) at each iteration.

Fig. 1
figure 1

Sketch of segmented region in the image domain \(\Omega \)

Recall that several FCM-based methods are described in Sect. 2. All of them can be used to partition the pixels in \(X\). Here, we use the framework of fuzzy clustering algorithm and present a fuzzy clustering with a novel bias field as follows:

$$\begin{aligned} J=\sum \limits _{i=1}^2 {\sum \limits _{z\in X} {u_{iz}^p } } (\left\| {v_i -(1+b(\xi _z )).\,\xi _z } \right\| ^2), \end{aligned}$$
(18)

where the bias field \(b\)(\(\xi _{z})\) that differs from that of previous works (Ahmed et al. 2002, Shi et al. 2013), is to indirectly adjust the membership of pixels from spatial proximity, and it is defined as follows:

$$\begin{aligned} b(\xi _z )=\gamma \cdot \,l(\xi _z ) \cdot \,(H_\varepsilon (\xi _z -\tilde{m})-1/2). \end{aligned}$$
(19)

In Eq. (19), \(\gamma \) is a positive constant, \(l\)(\(\xi _{z})\) measures the linking value between the z-th pixel and its neighbors, and \(\tilde{m}\) represents the estimated value with the aim of adjusting the zero position of regularized Heaviside function \(H_{\varepsilon }\)

$$\begin{aligned} H_\varepsilon (d)=1/2\times (1+2/\pi \times \arctan (d/\varepsilon )), \end{aligned}$$
(20)

where \(\varepsilon \) affects the smoothness of the profile of Heaviside function and is often used to control the transition of pixels from the object to the background.

It is necessary to elaborate on the meaning of the bias field defined by (19) in the following. Firstly, \(l(\xi _{z})\) incorporates the available information from neighbors, such as the labeled information. In this paper, we set the \(l(\xi _{z})\) as the sum of its local labeled value. Secondly, due to the value of \(\tilde{m}\), the contribution of \(H_{\varepsilon }\) enables the pixels in \(X\) to have reasonable membership. In this sense, the bias field can be considered as membership compensation for pixels in \(X\), thus promoting the ability to separate the overlapped distribution.

Notably, the choice of parameter \(\gamma \) and \(\tilde{m}\) has a significant effect in promoting the performance of segmentation. Generally speaking, both parameters make the value of \(\xi _{z}\) approximate to its cluster, ensuring that the pixels in \(X\) can be divided into background and object correctly. Particularly, \(\tilde{m}\) is set to roughly classify the pixels in \(X\), which may enable the pixels to be assigned the reasonable membership. Here, we adjust the value of \(\tilde{m}\) by the average intensity of pixels in \(X\) at each iteration. Aside from the \(\tilde{m}\), the possible value of \(\gamma \) in Eq. (19) should satisfy the following conditions:

$$\begin{aligned} \left\{ \begin{array}{l} \left\| {v_1 -(1+b(\xi _z ))\cdot \,\xi _z } \right\| \le c_1 \quad \xi _z < \tilde{m} \\ \left\| {v_2 -(1+b(\xi _z ))\cdot \,\xi _z } \right\| \le c_2 \quad \xi _z \ge \tilde{m} \\ \end{array} \right. , \end{aligned}$$
(21)

where \(c_{1}\) and \(c_{2}\) are the constant. Actually, the values of \(c_{1}\) and \(c_{2}\) are dependent on the characteristic of clusters in the image, such as within-class variance. To facilitate setting, we often choose a fixed value of \(\gamma \), regardless of the parameters \(c_{1}\) and \(c_{2}\).

Thus, the pixel in \(X\) will be classified into its corresponding cluster, and the whole clustering procedure can be therefore described in the following steps.

  • Step 1: Compute cluster centers \(v_{i}\) from the \(\Omega _{1}=\{z\vert L_{z}(n-1)=0\}\) and \(\Omega _{2}=\{z\vert L_{z}(n-1)=1\}\) using the segmented result \(L(n\)-1), and obtain the \(L(n)\) from Eq. (17) and set \(p=2\);

  • Step 2: Solve the partition matrix \(u_{iz}\)

    $$\begin{aligned} \!\!\!\!\!\!\!\!u_{iz}\! =\!\frac{\left( \left\| {(1\!+\!b(\xi _z ))\xi _z\! -\!v_i } \right\| ^2\right) ^{-1/p-1}}{\sum \limits _{j=1}^c {\left( \left\| {(1\!+\!b(\xi _z ))\xi _z\! -\!v_j } \right\| ^2\right) ^{-1/p-1}} }\quad z\in X, \end{aligned}$$
    (22)

and classify all the pixels in \(X\) directly into the clusters, then further update the result \(L(n)\)

$$\begin{aligned} L_z (n)=\left\{ \begin{array}{ll} 1 \quad u_{1z} \,< u_{2z} \\ 0 \quad {\text {others}} \\ \end{array} \right. \!,\quad z\in X. \end{aligned}$$
(23)

These procedures are then continued until the cluster centers do not change any more.

In summary, the strategy of our method simplifies the way of fuzzy clustering algorithm to image segmentation, but promotes its performance, owing to the facts that (1) we do not assign the membership to every pixel in the image, but instead to the pixels whose intensities are in the range [\(v_{1}(n), v_{2}(n)\)], which enable the objective function of our method to escape the local minima; (2) we take the incorporation of spatial continuity into account during iteration and add a bias field rather than the spatial constraint into the objective function of FCM.

4 Experimental results and discussions

In this section, we mainly perform the experiments on the synthetic and real infrared images to assess the effectiveness of the proposed method. The results were then compared with those yielded by several FCM-based segmentation methods, i.e., FCM (Bezdek 1981), FCM_S (Ahmed et al. 2002), FCM_S1 (Chen and Zhang 2004), EnFCM (Szilagyi et al. 2003), FGFCM (Cai et al. 2007), KFCM (Liu and Xu 2008), GFCM (Zhu et al. 2009) and KGFCM_S1 (Zhao et al. 2013). Without otherwise specified in our method, we set \(\sigma = 1.0\), \(\rho =1\) and \(\gamma =0.01\), and initialized \(L(0)\) in which the object pixels had the highest intensity in \(\xi \). Besides, we set (\(\lambda _{g}, \lambda _{s})=(1.0, 1.0)\) for FGFCM, \(\beta =0.7\) for GFCM, and \(\alpha =3\), \(\beta =0.7\) for KGFCM_S1, and set \(\alpha = 1.0\) for all the FCM-based methods with spatial constraint. All the algorithms were implemented on MATLAB 7.10 on a PC with Intel Core 2 Duo i5 CPU and 2GHz RAM.

4.1 Experiments on synthetic image

In the first experiment on synthetic image, we analyzed the robustness of the proposed method against the drift of cluster centers which often arises with respect to the intensity overlap between the distributions of object and background. The synthetic image was generated to simulate Gaussian mixtures characterized by fixed deviations (i.e., \(\sigma _{1}=\sigma _{2}=15\)), but different cluster centers [\(\mu _{1}=100\) and \(\mu _{2}=125\), corresponding to the normalized cluster centers \(v=(0.3922\,\, 0.4902)\)], to create a degree of overlap. Figure 2a, b shows the synthetic image (size of \(256\times 256\)) and its histogram, respectively. In this case, we initialize the cluster centers as \(v=(0.3922\,\, 0.4902)\) for FCM, FCM_S, FCM_S1, EnFCM, FGFCM, KFCM, GFCM and KGFCM_S1, with the aim of demonstrating that the drift of cluster centers exists after convergence. The segmentation results are shown in Fig. 2c–k, including the results obtained by our method.

Fig. 2
figure 2

Segmentation results of synthetic image: a original image; b histogram; cm the results of FCM, FCM_S, FCM_S1, EnFCM, FGFCM, GFCM, KFCM and KGFCM_S1, respectively

The results in terms of the percentage of incorrectly labeled object and background pixels, \(e_\mathrm{obj}\) and \(e_\mathrm{back}\), of the cluster centers and of running times obtained by applying each FCM-based method, are listed in Table 1. We observe that the overlapped distribution of the background and the object almost affects the effectiveness of these FCM-based algorithms. Nevertheless, the proposed method is able to separate a certain degree of overlapped distributions, although it costs a bit more running time when compared with the original FCM method. In particular, the cluster centers obtained by the proposed method are shown to be closer to real cluster centers.

Table 1 Performance of each FCM-based algorithm for the synthetic image

4.2 Experiments on infrared image

In the following set of experiments, we assessed the capabilities of the proposed method on infrared image segmentation. As we know, infrared imaging is a method of improving visibility of objects in all-weather conditions by detecting the object’s infrared radiation and creating an image based on temperature information, especially in the night and/or invisible environment. Usually, infrared images are characterized by noise pollution and unknown distribution of targets and background (Goubet et al. 2006). In this work, six representative infrared images were used to assess the performance of our method, as shown in the first row of Fig. 3. Among these images, warm objects, such as human bodies, stood out well against the cooler background, but created the intensity overlap along with the background in these complicated thermal environments. Correspondingly, their histograms are shown in the second row of Fig. 3. We can observe that they are not bimodal mode, but unimodal or irregularly distributed. However, the proposed method is less sensitive to these issues and can obtain the promising results as shown in Fig. 4, while FCM-based methods are so sensitive to these distributed classes that the results are not acceptable, as shown in Figs. 5, 6 and 7, respectively.

Fig. 3
figure 3

Original infrared image and its histogram. a image 1; b image 2; c image 3; d image 4; e image 5; f image 6

Fig. 4
figure 4

Segmentation results obtained by the proposed method: a image 1; b image 2; c image 3; d image 4; e image 5 and f image 6

Fig. 5
figure 5

Segmentation results of infrared images. Upper row the results obtained by FCM. Middle row the results obtained by FCM_S. Lower row the results obtained by FCM_S1 method

Fig. 6
figure 6

Segmentation results of infrared images. Upper row the results obtained by EnFCM method. Lower row the results obtained by FGFCM method

Fig. 7
figure 7

Segmentation results of infrared images. Upper row the results obtained by GFCM. Middle row the results obtained by KFCM. Lower row the results obtained by KGFCM_S1

It should be noted that the errors of FCM-based methods seem similar to each other on visual inspection. This phenomenon could be explained by the facts that: (1) the drawback associated with the drift of cluster centers significantly affects the accuracy of classification, resulting in the poor performance of segmentation; (2) local minimized value of objective function often occurs with use of the traditional iterative way of segmenting the classes with complicated distributions. Therefore, the choice to modify the strategy of fuzzy clustering algorithm will contribute to promoting the performance of segmentation, thus enabling our method to be less sensitive to the drawbacks inherent in the FCM-based method.

4.3 Quantitative binary segmentation results for comparison

To characterize the quality of segmentation and the performance of each segmentation method, a kind of judging criterion should be introduced. In this study, we make use of the widely used measure, i.e., misclassification error (ME) (Sezgin and Sankur 2004) which is related to the error against the ground-truth image. Let \(B_{O}\) and \(F_{O},\) respectively, denote the background and the foreground of the ground-truth image; \(B_{T}\) and \(F_{T},\) respectively, denote the segmented background and the foreground; ME is defined in terms of the ratio of background pixels wrongly assigned to the foreground, and vice versa, and can be simply expressed as

$$\begin{aligned} \mathrm{ME}=1-\frac{\left| {B_0 \cap B_T } \right| +\left| {F_0 \cap F_T } \right| }{\left| {B_0 +F_0 } \right| }, \end{aligned}$$
(24)

where \(\left| \cdot \right| \) is the cardinality of a set. In general, the ME varies from 0 for a perfectly classified image to 1 for a totally wrongly classified image. In this work, ground-truth targets are manually delineated from images, as shown in Fig. 8. Table 2 shows the ME values for the segmentation results compared to the ground-truth images for each algorithm. It can be seen that the proposed method has the lowest ME values, indicating the smallest ratio of background pixels wrongly assigned to the foreground, and vice versa. This demonstrates the significant advantage of the proposed method over the FCM-based methods in terms of segmentation performance.

Fig. 8
figure 8

Infrared targets manually delineated from infrared images: a image 1; b image 2; c image 3; d image 4; e image 5 and f image 6

Table 2 ME values obtained by the proposed method and some FCM-based algorithms

4.4 Further discussions

4.4.1 Discussion on characteristics of the proposed method

In our method, there is an important characteristic that it is capable of approximating the real cluster centers through iteration. As illustrated in Fig. 9, for example, the value of \(v_{2}\) gradually makes convergence. The final results show a small bias, but close to the possible real center of the object region, as indicated in Table 3.

Fig. 9
figure 9

Cluster center of object region during iteration (\(v_{2}\))

Table 3 Center value of classes and the value of \(v\) after convergence

Our method with a bias field is very effective and successful in classifying the pixels around the segmented region. The decaying ME indicates that the pixels are properly classified into the clusters through iterative computation, as shown in Fig. 10, which implies that the entire targets are iteratively separated from the image.

Fig. 10
figure 10

Values of ME during iteration

4.4.2 Discussion of the parameters in our method

In the bias field, our method has a parameter \(\gamma \) for adjusting the spatial information. In this work, although the same \(\gamma =0.01\) has been used for image segmentation previously, it is necessary to examine the influence of the \(\gamma \) on the segmentation results of the proposed method. For this purpose, we apply our method using seven different values, i.e., \(\gamma =0.002\), \(\gamma =0.005\), \(\gamma =0.01\), \(\gamma =0.02\), \(\gamma =0.03\), \(\gamma =0.04\) and 0.05, for the same synthetic image in Fig. 2a. The results for these values are shown in Fig. 11. We observe that an accurate segmentation result is obtained by our method with the proper value, such as \(\gamma =0.04\), while the results are more or less affected by the smaller or larger value of \(\gamma \). To give the guideline for this parameter setting, we perform the segmentation on a wide range of real-world images and conclude that the possible range in [0.01 0.04] is a reasonable interval for our method to obtain the desired result.

Fig. 11
figure 11

Results of the proposed method for synthetic image with the parameter \(\gamma =0.002\), 0.005, 0.01, 0.02, 0.03, 0.04 and 0.05 from left to right

Our method with the proper value of \(\sigma \) and \(\rho \) also has an important advantage on the robustness against noise. To examine this performance, four noise images were generated from infrared image 1 by adding increasing quantities of noise with Gaussian distribution. Each test image was characterized with SNR obtained by

$$\begin{aligned} \mathrm{SNR}=10\log \left[ {\frac{\sum \nolimits _{\mathrm{x}\in \Omega } {I_\mathrm{x}^2 } }{\sum \nolimits _{\mathrm{x}\in \Omega } {( {I_\mathrm{x} -N_\mathrm{x} })^2} }} \right] , \end{aligned}$$
(25)

where \(I_\mathrm{x}\) and \(N_\mathrm{x}\) denote the gray intensity of pixel x in the reference and test image, respectively. The corresponding SNRs of the test images are 31.6597, 21.7476, 13.0500 and 10.9874 dB, respectively. Here, we just illustrate the test images with SNR = 31.6597  dB and SNR = 10.9874  dB, as shown in Fig. 12a. The results are shown in Fig. 12b–e, respectively, where the values of \(\sigma \) and \(\rho \) change. Table 4 shows the performance evaluation of the proposed model with different values of \(\sigma \) and \(\rho \) for all test images with respect to the ground truth shown in Fig. 8a. It is noticed from Table 4 that, for the test image with lower SNR, the ME evaluation obtained by the proposed method with \(\sigma =1.0\) and \(\rho =1.0\) is better than that obtained results using other values. Actually, for many real images, the noise is not so severe. Therefore, \(\sigma =1.0\) and \(\rho =1.0\) are reasonable values that can be used in our model for segmenting a wide range of images.

Fig. 12
figure 12

Results of the proposed method for infrared image 1 with different values of \(\sigma \) and \(\rho \). a Test image with noise. be Result of the proposed method with parameters \(\sigma \) and \(\rho \) represented as a pair (\(\sigma \), \(\rho \)) = (1, 1), (1, 2), (1, 3), (3, 1), (3, 2), (3, 3). Upper row the result of the noise image with SNR = 31.6597 dB. Lower row the result of the noise image with SNR = 10.9874 dB

Table 4 ME values resulting from the proposed method with different values of \(\sigma \) and \(\rho \) for image adding noise

4.4.3 Some extensions

In fact, our strategy can be considered as a general framework for image segmentation using the FCM-based clustering algorithm described above. All of them can be applied into partitioning the pixels with spatial proximity, serving as a local fuzzy clustering for extending our proposed method, such as FCM method (we named it L_FCM for short). Figure 13 illustrates the segmentation results of a synthetic image. The results in terms of the percentage of incorrectly labeled object and background pixels, \(e_\mathrm{obj}\) and \(e_\mathrm{back}\), and of total running times, are listed in Table 5. These results are grossly similar, while the difference is in the fine details of robustness against noise. Overall, these methods are found to be less sensitive to noise and can separate certain degrees of overlap between the distributions of object and background, which clearly shows that the strategy of our method is superior over the traditional strategy of the FCM-based methods.

Fig. 13
figure 13

Segmentation results of the synthetic image: ag the results of L_FCM, L_FCM_S1, L_EnFCM, L_FGFCM, L_KFCM, L_GFCM and L_KGFCM_S1, respectively

Table 5 Performance evaluation of the proposed method with above fuzzy clustering methods

5 Conclusions

In this paper, we have presented a modified strategy of fuzzy clustering algorithm for image segmentation. The underlying idea is to provide a simple way to update the cluster centers and partition the pixels carefully via adding a novel bias field into the FCM. In contrast to the original FCM-based clustering methods for classification, the FCM with bias field serves as a local clustering method to assign the membership to pixels surrounding the previous segmented region rather than all the pixels in the image, thus making it less sensitive to the drawbacks inherent in some existing fuzzy clustering algorithms. In addition, the use of available information from neighboring pixels enables our method to promote the performance of segmentation. Experiments are performed and comparisons with some FCM-based methods show its usefulness with high accuracy. From the evaluation of the resulting images, we conclude that the proposed method yields better results than those obtained by some FCM-based methods. However, our method utilizes a bit more time for partitioning pixels carefully into its cluster with more similarity, and the effect of some parameter setting such as \(\gamma \), was not revealed in detail in this study. These remaining problems will be improved in a future work. Additionally, as a development of this work, the proposed model will be extended to solve the drift of cluster centers when the image is divided into multi-classes.