A Computational model based on Cooperative Mobile Agents for Big ...

20 downloads 34772 Views 594KB Size Report
Abstract—The aim of this paper is to present interesting results obtained by implementing big data classification algorithm using a cooperative mobile agents ...
A Computational model based on Cooperative Mobile Agents for Big Data image Segmentation Fatéma Zahra Benchara *, Mohamed Youssfi, Omar Bouattane, Hassan Ouajji Laboratory SSDIA, ENSET University Hassan II Mohammedia Casablanca Mohammedia, Morocco [email protected], [email protected], [email protected], [email protected] Abstract—The aim of this paper is to present interesting results obtained by implementing big data classification algorithm using a cooperative mobile agents model. In this work we focused on the application of this classification for Magnetic Resonance Images (MRI) segmentation which is presented based on parallel fine grained c-means algorithm. This algorithm is converged to distributed classification c-means algorithm in order to be implemented on a parallel and distributed virtual machine based on mobile agents. The big data MRI image of size (m x n) to be processed is split into small elementary images by the host agent. The obtained list of item images is distributed to mobile agents deployed on each node of the distributed system. Each agent is asked to perform the execution of the c-means algorithm using its assigned image item and return its elementary results to the host agent which computes the current global class centers and newly distributes them. This process is repeated until the convergence of the distributed algorithm. The experimental results show that the distributed classification method can improve the big data segmentation. Keywords- Image Segmentation, c-means algorithm, mobile agent, distributed classification, multi agent system, Cardiac MRI image.

I.

INTRODUCTION

Recently, the Computer Science applications in different domains, such as economic, renewable energy, and in the medicine are converged from the standard applications to the distributed applications by using distributed information systems. Thanks to their benefits such as: scalability, and robustness, this new generation of application can be very flexible and extensible with other technologies’ trends which is also the case of the parallel programs. Due to this evolution, computation strategies based on parallel approaches has been oriented toward distributed and parallel systems using a distributed grid computing. With this evolution all the domains are using these computation strategies in order to process a huge number of data and get a real time and exactitude results. These needs oriented them to use parallel computing technology [1] in order to improve the processing power. However, it was considered as a solution that is not flexible with the new algorithms trends and which costs a high investment especially for the companies. So they

Mohammed Ouadi Bensalah FSR, University Mohammed V AGDAL Rabat, Morocco [email protected]

transit to use the Parallel Virtual Machine [1] which is flexible for their specific [2, 3] or [2, 5] general work. This machine is based on a parallel and distributed grid computing which connects a set of heterogeneous processors using a middleware which manages tasks and data in a distributed system. Also the computing performance on this solution can be reduced depending on the distributed systems challenges such as: load balancing, and fault tolerance. So it becomes indispensable to search for new innovating computational strategies. That is the aim of our laboratory where we have designed and implemented a parallel and distributed virtual machine based on our work in [4,5,6,7] for a high performance computing. Multi agent systems extended the several advantages of the distributed systems and are now the new grateful technology used in all contexts. They are used in renewable energy domain [8], in the economic domain [9] and also in the computer science domain [10]. With the mobile agents skills we can perform a new distributed computational strategy. In the medicine domain, Magnetic Resonance Imaging MRI has been widely used to analyze and diagnostic and detect abnormal regions based on image segmentation, due to its excellent soft tissue contrast, non-invasive behavior, high spatial resolution and easy slice selection at any orientation. MRI segmentation can be considered as an image processing problem or a pattern recognition one. In both cases, the problem is to classify a set of elements into a set of classes according to the shared characteristics inside the clusters. In the MRI segmentation domain, the vector pattern X that is considered in the classification algorithm corresponds to the gray level of the studied pixel in each MRI slice. However, also the segmentation needs to use classification algorithm based on computational models to perform effective results. The well known clustering algorithm c-means for classification are implemented on different parallel architecture used as a computational model such as in [11], the authors proposed a method that subdivided the c-means algorithm program into several elementary operations which are organized in pipeline structure, and in the [12], the authors have proposed an optimal solution based on a reconfigurable

array of processors, and in the [6] the authors proposed a parallel segmentation c-means algorithm. The proposed approach is based on all these authors previous work in order to introduce the distributed segmentation c-means algorithm. We propose in this paper a distributed c-means algorithm for big data classification which is applied in our case to MRI cardiac segmentation images. The presented distributed algorithm is assigned to be implemented on a parallel and distributed virtual machine based on mobile agents. The corresponding distributed program of the proposed algorithm is validated on cooperative multi agent system platform using an intelligent grid computing with the same size of the input image. The interesting obtained results and the effectiveness of this proposed method are also presented. We organize this paper as follows: section 2 presents the multi agent platform for classification c-means, section 3 is focused on the description of the distributed c-means algorithm and of the strategy used to implement it on this platform while the section 4 explains the JADE middleware used in this solution. Section 5 shows experimental results obtained by implementing the distributed c-means program on this cooperative agent platform. And finally, the last section summarizes this work and present some related perspectives. II.

A COOPERATIVE MULTI AGENT PLATFORM FOR CLASSIFICATION C-MEANS

The main idea is to develop a cooperative multi agent platform that supports the execution of the massively parallel algorithm such as the big data image segmentation algorithms. We present in this work the image classification with the cmeans algorithm which we implemented on this platform as a distributed program. A. A Cooperative platform model In this model, the main components which are engaged to perform the execution of the program are the mobile agents. As shown in the Fig. 1, we have a group of team works in different agencies that cooperate with each other by working together and sharing tasks, and data, and results, and their knowledge in order to achieve their goals and perform a high performance big data segmentation results. In our case we distinguish two types of mobile agents in this model: (1) Mobile host Agent (2) Mobile classification Agent which their responsibilities are explained by using the Fig. 2.

Figure 2. Cooperative Multi Agent Platform main goal overview

At stage 1 the mobile host agent, deploys a set of mobile classification agents which their number corresponds to the (m x n) image size. Then at stage 2, the mobile host agent split the input image into (m x n) elementary images and sends each of them to the mobile classification agents in order to perform the classification at stage 3.And at the final stage 4, they send the results to the mobile host agent which computes the final results in order to display the segmented images. B. Computational Intelligence Grid Computing This model is based on an intelligent grid computing as presented in Fig. 3. By using mobile agents in the grid computing instead of the VPU (Virtual Processing Unit) we can perform a high performance computing and big data segmentation thanks to their several skills: 1) Autonomy: they can perform the image classification autonomously by using their knowledge, make the diagnostic on it and make decisions and generate reports. 2) Mobility: they can move from one machine to another and resume their tasks if some parallel computing challenges happen. 3) Asynchronous communication ability: they can exchange data and tasks and knowledge by using ACL message in remote or local communication.

Figure 3. 2D Mesh Grid Computing example Figure 1. A Cooperative platform model overview

III.

DISTRIBUTED C-MEANS ALGORITHM IMPLEMENTATION

A. c-means algorithm overview The c-means algorithm as defined in [6], is an image segmentation algorithm which consists on a partitioned groups of set S of n attribute vectors into c classes (clusters Ci i= 1,…,c) based usually on the gray levels (0..255). Its main goal is to find the class centers (centroïd) that minimize the cost function by using the following equation: J=

=

(1)

Where : is the center of the ith class and : is the distance between ith center and the kth data of the set S. We use the Euclidean function in order to define the cost function as follows: J=

=

Figure 4. C-Means algorithm stages

(2)

The partitioned groups can be defined by a binary membership matrix U(c,n), where each element uij is formulated by: (3) (i=1 to c, j=1 to n ; n is the total number of points in S). Since a data must belong to only one class, the membership matrix U has two properties which are given in the following equations: (4)

1) Stage 1: Initialize the class centers Ci (i = 1,..., c). This is carried out by selecting randomly c points in the gray level scale (0…255). For each iteration i: 2) Stage 2: Determine the membership matrix using Eq. 3. 3) Stage 3: Compute the cost function J by Eq. 2. 4) Stage 4: Compare the obtained cost function J to the one computed at iteration i-1 and stop the loop (i.e. go to stage 6) if the absolute value of the difference between the successive cost functions is lower than an arbitrary defined threshold (Eth). 5) Stage 5: Calculate the new class centers by Eq. 6, and return back to perform stages 2, 3 and 4. 6) Stage 6: End.

(5) The value ci of each class center is computed by the average of all its attribute vectors: (6) |Ci| is the size or the cardinal of Ci. The c-means classification is achieved by using the following algorithm stages which are summarized in Fig. 4.

By using this c-means algorithm standard we implemented a distributed c-means program according to the organization chart in Fig. 5.

B. Distributed c-means algorithm

Figure 5. Distributed c-means algorithm organization chart

In this paragraph, we present the different steps that need to be achieved in order to perform the classification of big data in a cooperative multi agent system. C. Sequence diagram scenario In Fig. 6, we describe a scenario about the execution of the classification by using c-means algorithm in this cooperative multi agent platform. It shows the interaction between the mobile host agent and the mobile classification agents under this platform. IV.

JADE MIDDLEWARE

A. Jade Middleware Overview In order to explain the use of the Jade Middleware [13] to develop a multi agent platform we start by implementing a simple Jade application (develop a multi agent platform composed by Host agent and a set of classification agent for distributed computing) related to our solution. So we develop the application according to the following stages: 1) Stage 1: consist to make the platform ready for computing. So we start by launching the main container, then the container and deploy the host agent in.

2) Stage 2: the host agent deploys a set of agents and sends them a vector of data by using the ACL message which is standardized and defined by FIPA (Foundation for Intelligent Physical Agents) [14]. 3) Stage 3: all the classification agents receive and process their message and execute their assigned tasks. 4) Stage 4: the classification agents send their elementary results to the host agent which will compute the global results and displays the final results. This is a simple example that explains the basic idea needed in order to create complex systems based on intelligent agents [14] and to implement a cooperative and intelligent multi agent platform.

Figure 6. Sequence diagram for distributed C-Means classification

B. Image Segmentation Platform Architecture This cooperative and intelligent platform is a distributed and parallel virtual machine based on mobile agents with which we implemented the image segmentation algorithm cmeans according to the architecture shown in the fig. 7. It is based on all the concepts presented previously (Computational intelligence grid computing, JADE middleware, mobile agent skills, and distributed algorithm) in order to perform a high performance computing.

V.

IMPLEMENTATION AND EXPERIMENTAL RESULTS

This section presents the implementation of the proposed distributed c-means program in this cooperative platform according to the organization chart presented in Fig. 5 using MRI cardiac image. We obtain the following results: the Fig. 8a corresponds to a human cardiac cut; it is the original input image of the program. And the Figs. 8b-d, are the segmented output images where each of them corresponds to a specific gray level. We present the effectiveness features of this distributed algorithm by analyzing its dynamic convergence shown in the Table I, and in Fig. 9. In Fig. 9a we see clearly the convergence of the class centers after 11 iterations with the initial class centers (c1=1, c2=2, c3=3). Also, we present the absolute value of the cost function error |Jn-Jn-1| in Fig. 9b.

Figure 7. c-means Classification Platform

Figure 8. Segmentation results by the elaborated distributed program

TABLE. I DIFFERENT STATES OF THE CLASSIFICATION ALGORITHM STARTING FROM CLASS CENTERS (C1,C2,C3)=(1,2,3) Iteration

1 2 3 4 5 6 7 8 9 10 11

Value of each class center

Absolute value of the error

C1

C2

C3

|Jn-Jn-1|

1 0 4 36 54 58 62 60 62 60 60

2 0 0 0 0 1 3 2 2 2 2

3 81 117 122 124 131 123 133 136 137 137

2570581 1022231 611153 232156 191994 66888 22544 55330 7004 2448 0

application of this algorithm on MRI cardiac image which is performed on this innovating cooperative multi agent platform. The obtained results by running this application on this platform show that we can reduce the complexity of the parallel programs thanks to the benefits of mobile agents. Moreover, it overcomes the big data challenges and grants a high performance computing using multi agent system. This cooperative agent platform is flexible and extensible with parallel algorithms trends. So as perspective, we will focus our work on the implementation of the fuzzy c-means algorithm and other parallel algorithms in different domains. REFERENCES [1] [2]

[3]

[4]

[5]

(a)

[6]

[7]

[8]

[9]

(b) Figure 9. Dynamic changes of the different classification parameters starting from class centers (c1,c2,c3)=(1,2,3). (a) Class centers, (b) error of the cost function.

VI.

[10]

CONCLUSION

In this paper, we have presented the distributed c-means classification algorithm and its implementation on a cooperative and intelligent platform based on mobile agents. We considered a new technique that makes possible to distribute the c-means algorithm and encapsulate its program in mobile agents in order to execute the parallel programs on an intelligent grid computing where the data are split and the program instruction are shared between the mobile agents in order to perform big data segmentation. We considered an

[11]

[12]

[13] [14]

H.El-Rewini, M.Abd-El-Barr, “Advanced Computer Architecture and Parallel Processing”. Wiley, 2005. M. Migliardi, P. Baglietto, and M. Maresca, “Virtual parallelism allows relaxing the synchronization con-straints of SIMD computing paradigm”, Proceedings of HPCN98, Amsterdam (NL), pp. 784–793, April 1998. M. Migliardi and M. Maresca, “Modeling instruction level parallel architectures efficiency in image processing applications,” Proceedings of of HPCN97, Lecture Notes in Computer Science, Springer Verlag, Vol. 1225, pp. 738–751, 1997. M. Youssfi, O. Bouattane and M. O. Bensalah “A Massively Parallel Re-Configurable Mesh Computer Emulator: Design, Modeling and Realization” J. Software Engineering & Applications, 2010, pp.11-26, Published Online January 2010. M. Youssfi, O. Bouattane, and M.O. Bensalah “ On the Object Modelling of the Massively Parallel Architecture Computers”, Proceedings of the IASTED Inter.Conf. Software engineering, Innsbruck, AUSTRIA, pp 71-78, February 16 - 18, 2010. O.Bouattane, B. Cherradi, M. Youssfi and M.O. Bensalah “Parallel cmeans algorithm for image segmentation on a reconfigurable mesh computer” ELSEVIER. Parallel computing, 37 pp 230-243, 2011. M. Youssfi, O. Bouattane, and M.O. Bensalah “Parallelization of thelocal image processing operators. Application on the emulating framework of the reconfigurable mesh connected computer”, Proceeding of scientists meeting in Information Technology and Communication JOSTIC. Rabat, pp 81-83, November 3-4, 2008. M. Pipattanasomporn, Member, IEEE, H. Feroze, Student, IEEE, and S. Rahman, Fellow, IEEE, “Multi-Agent Systems in a Distributed Smart Grid: Design and Implementation”, Proc. IEEE PES 2009 Power Systems Conference and Exposition (PSCE’09), Seattle, Washington, USA, pp 1-8, Mar 2009. José A. García Coria, José A. Castellanos-Garzón, Juan M. Corchado, “Intelligent business processes composition based on multi-agent systems”, ELSEVIER. Expert Systems with Applications, Volume 41, Issue 4, Part 1, pp 1189-1205, March 2014. David Sánchez, David Isern, Ángel Rodríguez-Rozas, Antonio Moreno, “Agent-based platform to support the execution of parallel tasks”, ELSEVIER. Expert Systems with Applications, Volume 38, Issue 6, pp 6644-6656, June 2011. L.M. Ni, A.K. Jain, “A VLSI systolic architecture for pattern clustering”, IEEE Transaction on Pattern Analysis and Machine Intelligence, pp79–89, 1985. H.R. Tsai, S.J. Horng, “Optimal parallel clustering algorithms on a reconfigurable array of processors with wider bus networks”, Image and Vision Computing, pp 925–936, 1999. F. L. Bellifemine, G. Caire, and D. Greenwood, “Developing Multi-Agent Systems with JADE”,Wiley, 2007. Lin Padgham & Michael Winikoff, “Developing Intelligent Agent Systems ”, Wiley, 2004 .

Suggest Documents