Keywords

1 Introduction

Edge detection is useful in several areas such as 3D reconstruction, pattern recognition, robotics, and medical imaging. The use of edge makes the analyse and the identification simpler. Numerous traditional detectors have been proposed over the years includes derivative computation of the image pixels to assess any change in intensity profile of neighboring pixels: Robert, Sobel, Prewitt, Canny … etc. These approximations of the gradient intensity are used to reduce gradient computation times [1] or as a preprocessing step. The most of these filters include a stage where the local properties of a pixel and its neighborhood are evaluated. Consequently, it follows that the larger neighborhood, the greater number of possible solutions, but a higher complexity of the algorithm and a longer processing time.

Active Contour Models has gained a wide range of applications to solve problems of edge detection. The active contour deforms on the image domain and captures a desired feature by minimizing its energy functional subject to certain constraints. Many techniques have been proposed in image processing area and can be categorized to edge-based models [1,2,3] and region-based models [4,5,6,7]. The first edge-based Model, proposed by Kass et al. [1], is attracting or repulsing an evolving contour toward the nearest edge based on two contour measurements: length and curvature (Eq. 1).

$$ E_{internal} \left( {c\left( s \right)} \right) = \alpha \left( s \right)\left| {\frac{d}{ds}c\left( s \right)} \right|^{2} + \beta \left( s \right)\left| {\frac{{d^{2} }}{{ds^{2} }}c\left( s \right)} \right|^{2} $$
(1)

These terms are used to get a smooth solution and called the internal energy. A first term controlled by α(s) makes the curve act like a membrane and the second term controlled by β(s) makes it act like a thin plate. Adjusting the weights α(s) and β(s) controls the relative importance of the membrane and thin-plate terms.

The external energy is used as an Edge Stopping Function (ESF) to stop the contour evolution on the object boundaries (Eq. 2):

$$ E_{external} = G_{\sigma } *I $$
(2)

Where \( G_{\sigma } \) is a Gaussian and \( * \) is the convolution operator.

Over the past decade, many studies have been conducted seeking to overcome the limitations of this first model for specific applications essentially for medical images. Furthermore, the new energies definition has been studied extensively [8, 9] and applied to various clinical applications showing their superior results [10,11,12,13,14]. Researchers have proposed various models based on a crisp segmentation [12,13,14,15,16,17]. However, the crisp segmentation is difficult to capture the uncertainty and vagueness appearing around object boundaries. This often leads to a lack of precision and stability where a small change in the object definition can cause a large change in the resulting object measures. Due to the high noise in medical images, some image processing techniques are added. Gaussian and median filter are the most techniques used for reducing noise. However, edge is also deteriorates in the presence of high noise. Employing new techniques like fuzzy-logic improves the performance of an image analysis.

Fuzzy concepts and fuzzy set theory [18], incorporated in image processing, are a useful tool for reducing the loss of data caused by hard decisions in the object definition. Fuzziness is an intrinsic quality of image where image objects are usually defined as spatial fuzzy subsets on the integer grid, where each element of the grid is assigned a value reflecting its belongings to the object [19]. The fuzzification is followed by the process of defuzzification which mains replacing a fuzzy set by a crisp representation [20, 21].

Fuzzy concept is used for automatic contour initialization in medical image segmentation from spinal CT images [22]. A fuzzy metric is based on image intensity to identify the feature markers generating the initial contour. In [23], Authors propose a fuzzy decision tree with an appropriately defined reasoning method for breast cancer segmentation. The corresponding image analysis is performed for all pixels of histopathology images and a segmentation decision is defined using fuzzy rules. The segmentation results are compared with the traditional approach and can prove the performance of the fuzzy interference model in the method. New fuzzy energy is used in [24] to segment objects with low gradient. The model is used in data clustering to stop the contour on the desired object boundary.

The field of multi-agent systems (MAS) arose during the late 80 s when several researchers started to work with mobile robots performing coordinated task [25]. So far, it is currently a very active field of research for many types of applications and disciplines where the medical interest has increased considerably. The MASs are distributed applications consisting of relatively independent modules called agents, which sometimes employ artificial intelligence techniques to accomplish complex operations [26, 27]. The Multi-agent is used as a useful approach in medical practice, especially, in real-time applications. Various applications based on MASs have been proposed in image segmentation where agents make possible to apply more advanced algorithms and to perform demanding tasks quickly.

In this paper, we propose a fuzzy logic-based multi-agent system for active contour model. We define a fuzzy set by a vector of membership values assigned to local and global features of the active contour points. The local feature represents the membership value and its gradient, and the global feature represents the perimeter of the fuzzy contour. The points in the active contour with high memberships are included in the object, and those with low memberships are assigned to the noise or background. The used MAS model is constituted by the agents and their environment that contains the image. Parallel Agents are initialized for each point in the contour and have different behaviors. An agent can communicate with other agents to establish relations, and exchange interests, capabilities, and image interpretations. In the present system, the communication agent language used is the FIPA ACL that provides required message. To build the proposed MAS, we use JADE (Java Agent Development Framework), created by TILAB laboratory described by Bellifemine et al. [28]. JADE allows the development of multi-agent applications conforming to FIPA standards. It is implemented in JAVA and provides classes that implement “JESS” for the definition of agents’ behavior.

2 Proposed Model

First, the basic idea of the model will be introduced. Let define an evolving active contour \( {\text{C}} = \left( {{\text{x}}\left( {\text{c}} \right),{\text{y}}\left( {\text{c}} \right)} \right) \) in the image. A fuzzy set S on a reference set X is a set of ordered pairs \( {\text{S}} = \left\{ {\left( {c_{i} ,\mu_{S} \left( {c_{i} } \right)} \right)\; |\;c_{i} \in {\text{C}}} \right\} \), where \( \mu_{S} :X \to \left[ {0,1} \right] \) is the membership function of \( {\text{S}} \). The cardinality of the set \( {\text{X}} \) is \( \left| {\text{X}} \right| = {\text{k}} \) the number of points in the active contour. A fuzzy set \( {\text{S}} \) is represented by a vector of its membership values \( {\text{S}} = \left( {{\text{s}}_{1} ,{\text{s}}_{2} , \ldots {\text{s}}_{k} } \right) \), where \( {\text{s}}_{i} = \mu_{S} \left( {c_{i} } \right) \). The feature vector is constructed using components: membership, gradient, and perimeter. The membership function is defined based on the image histogram and the user defined threshold. The points in the active contour with high memberships are included in the object, and those with low memberships are assigned to the noise or background. An example in Fig. 1 shows the membership function of the human femur image represented in Fig. 3d. The threshold used to construct the membership function is based on the expert and several tests.

Fig. 1.
figure 1

Membership function represented on the image histogram where the red curve represents the object pixels and the blue curve the pixels belonging to the background

Gradient component is calculated using the following discrete approximation in a pixel \( \left( {i,j} \right) \):

$$ G\left( {i,j} \right) = \left( {\mu_{S} \left( {i,j} \right) - \mu_{S} \left( {i,j + 1} \right)} \right) + \left( {\mu_{S} \left( {i,j} \right) - \mu_{S} \left( {i + 1,j} \right)} \right) $$
(3)

Fuzzy set perimeter is calculated according to the following equation:

$$ P\left( S \right) = \mathop \sum \limits_{{{\text{i}} = 1}}^{\text{k}} \mu_{S} \left( {c_{i} } \right) $$
(4)

The feature vector is not calculated and stored separately, but is merely used as an intermediate step in the fuzzy energy minimization. Parallel agents initialized for each point in the contour are responsible to minimize the energy attached to their position. This process is minimized using α-cut method that can be performed at a high speed by calculating the distance of each α-cut to the fuzzy set and selecting one with the smallest distance. The membership points with a high membership are preferred in the défuzzification over low membership points. By taking this approach, defuzzification by distance minimization performs as a member of the family of defuzzifications [19]. A well accepted approach to define the distance between two fuzzy sets is the Minkowski distance between their vector representations [29]. Defuzzification by the Minkowski distance between features is used as an alternative to crisp segmentation. An optimal defuzzification of a fuzzy set S on a reference set X, with respect to the distance d, is defined in [19].

3 Results

In this section, the experimental results are presented. Synthetic images and MR Images are employed for evaluation of this model implemented using MATLAB software. Experiments are done on a core duo (2.2 GHz, 2 GB) using Windows XP. To evaluate the noise sensitivity, we add impulse noise to test images. We use a single square window 3 × 3 for neighboring pixels of the contour point which is kept constant through all the experiments.

In Fig. 2, we give an example where the model is applied to synthetic crisp continuous image with different level of Gaussian noise. Figure 2(a) shows a synthetic continuous crisp set and Fig. 2(a.1) its corresponding fuzzification. The result of detection is shown in Fig. 2(a.2). Figure 2(b) and (c) show that the model performed on noisy synthetic images gives better detection.

Fig. 2.
figure 2

Synthetic noisy images used in the test: a a continuous crisp set, a.1 the corresponding fuzzification and result of detection in (a.2). b Same image with \( \sigma = 0.5 \), b.1 the corresponding fuzzification and result of detection in (b.2). c Same image with \( \sigma = 0.7 \), c.1 the corresponding fuzzification and result of detection in (c.2)

Compared with the model presented in [24], the result of detection is in good agreement. To quantify the accuracy of the results, the root mean square error (RMSE) of the edge result is calculated. The error of an edge pixel is defined by the minimum distance between this pixel and the object pixels in the image segmented manually. Table 1 shows the numeric results using this metric for different values of \( \sigma \). The results of RMSE are small compared with the model presented in [24].

Table 1. Maximum RMSE in noisy synthetic images compared with the same images segmented manually.

To evaluate the robustness of this model in medical images, we conducted experiments on MR images collected from the literature with different amounts of noise. Figure 3(a, b, c) shows the first application performed using the proposed model and the object to be segmented is a human brain MRI. The second application in Fig. 3(d, e, f) represents the human femur MRI. The results of detection obtained in Fig. 4, demonstrate that the proposed model can be applied to segment objects in medical applications.

Fig. 3.
figure 3

Noisy IRM used for test: (a), (b), (c) human brain in axial view and (d), (e), (f) human femur in sagittal view

Fig. 4.
figure 4

Detection results in the MR images. The initial contour is represented by bleu and final detection is represented by red.

4 Conclusion

We have presented in this paper a fuzzy logic based multi-agent system for Active contour model in noisy images. We define a fuzzy set by a vector of membership values assigned to local and global features. The local features represent the membership value and its gradient, and the global feature represents the perimeter of the fuzzy set. The points with high memberships are included in the object, and those with low memberships are assigned to the noise or background.

The model has been applied to different images which are segmented by parallel agents. Results, using both synthetic and real images, illustrate the main contribution and the advantage of this approach compared with other models. The reasons for the superior results given by this model lies in the collaboration between agents. As a distributed system, our MAS contains a set of agents working and communicate together and can generate an overall segmentation by combining local and global features of the active contour points.

Future works are directed towards more investigation on evolutionary computation techniques and the development of this approach to be applied to a wide range of problems with a higher reliability.