+ All Categories
Home > Technology > Building Programming Abstractions for Wireless Sensor Networks Using Watershed Segmentation

Building Programming Abstractions for Wireless Sensor Networks Using Watershed Segmentation

Date post: 19-May-2015
Category:
Upload: m-h
View: 236 times
Download: 2 times
Share this document with a friend
Description:
The availability and quality of information extracted from Wireless Sensor Networks (WSNs) revolutionised a wide range of application areas. The success of any WSN application is, nonetheless, determined by the ability to retrieve information with the required level of accuracy, within specified time constraints, and with minimum resource utilisation. This paper presents a new approach to localised information extraction that utilises the Watershed segmentation algorithm to dynamically group nodes into segments, which can be used as programming abstractions upon which different query operations can be performed. Watershed results in a set of well delimited areas, such that the number of necessary operations (communication and computation) to answer a query are minimised. This paper presents a fully asynchronous Watershed implementation, where nodes can compute their local data in parallel and independently from one another. The preliminary experimental results demonstrate that the proposed approach is able to significantly reduce the query processing cost and time without involving any loss of efficiency. Smart Spaces and Next Generation Wired/Wireless Networking Smart Spaces and Next Generation Wired/Wireless Networking Look Inside Share Share this content on Facebook Share this content on Twitter Share this content on LinkedIn Other actions Export citations About this Book Reprints and Permissions
Popular Tags:
12
1 1
Transcript
Page 1: Building Programming Abstractions for Wireless Sensor Networks Using Watershed Segmentation

Building Programming Abstractions for Wireless

Sensor Networks Using Watershed Segmentation

Mohammad Hammoudeh1 and Tariq A. A. Alsbou'i1

Manchester Metropolitan University, Manchester, UK,[email protected]

Abstract The availability and quality of information extracted fromWireless Sensor Networks (WSNs) revolutionised a wide range of appli-cation areas. The success of any WSN application is, nonetheless, deter-mined by the ability to retrieve information with the required level ofaccuracy, within specied time constraints, and with minimum resourceutilisation. This paper presents a new approach to localised informationextraction that utilises the Watershed segmentation algorithm to dyna-mically group nodes into segments, which can be used as programmingabstractions upon which dierent query operations can be performed.Watershed results in a set of well delimited areas, such that the numberof necessary operations (communication and computation) to answer aquery are minimised. This paper presents a fully asynchronous Water-shed implementation, where nodes can compute their local data in paral-lel and independently from one another. The preliminary experimentalresults demonstrate that the proposed approach is able to signicantlyreduce the query processing cost and time without involving any loss ofeciency.

1 Introduction

Wireless Sensor Networks (WSNs) are currently being employed in a variety ofapplications ranging from home to industry, and from health to military. Theseapplications have a number of elements in common: (1) The request for informa-tion; (2) The answer to this request is usually present in a set of unstructureddata streams; (3) WSNs generate large amount of data that is `imperfect' in na-ture and contains considerable redundancy. Resource constraints on nodes in thenetwork coupled with the characteristics of returned data means that applica-tions have to be developed with the primary design goal of minimising resourceutilisation. Distributed information extraction has been advocated to solve thiskind of problems. Information extraction is the sub-discipline of articial intel-ligence that selectively structures, lters, and merges data generated by one ormore sensor nodes. It adds meaning to unstructured raw data; therefore, thedata become structured or quasi-structured making it more suitable for infor-mation processing tasks. This denition is concise and covers exactly in whatsense the term information extraction will be used throughout this paper.

Page 2: Building Programming Abstractions for Wireless Sensor Networks Using Watershed Segmentation

This paper presents an in-network information extraction system that ndsand links relevant information while ignoring irrelevant and extraneous infor-mation. The nal output of the extraction process varies based on user queries;however, it commonly involves the extraction of fragments of information fromvarious nodes within the same segment and linking of these fragments into acoherent answer. We propose the utilisation of Watershed segmentation algo-rithm [20] that result in a set of well delimited segments of homogenous sensedregions based on nodes location and their corresponding sensor readings. Wa-tershed algorithm is suitable for dynamically changing environments because ituses no thresholding, instead the best option is chosen at each decision stage. Wealso propose a parallel asynchronous Watershed algorithm implementation thatcomplies with sensor node constraints, i.e. real-time computing, and low powerconsumption. This in-network information extraction does not return the entirecollected data, but it extracts sense data units from one or more network seg-ments, typically simple or multi-modal information of spatio-temporal nature.The goal of node segmentation is to provide a high-level programming model forsensor networks that abstracts away the details of individual sensor nodes. Inthis paper we examine query-based systems that utilise in-network processingfor query response. However, the produced abstractions can be utilised in byother information extraction systems, i.e. event based and time-driven.

Query-based information extraction is a request-response interaction betweenthe sensor nodes and end-user or application component. The end user issuesa query in an appropriate language, and then the query is disseminated to thenetwork to retrieve the desired data from the sensors based on the description inthe query. Most query-based systems provide a high level interface to the sensornetwork while hiding the network topology as well as radio communication. Theend user does not need to know how the data is collected or processed.

User controlled, query-based, information extraction is usually applied insituations where it is known in advance what type of semantic information is tobe extracted from the network. For example, it might be necessary to identifywhat type of events are happening in a certain part of the monitored environmentand at what time these events took place. Depending on the information needs,dierent queries can be constructed to dierentiate various types of events atdierent levels of semantic granularity. In some applications, for instance, itwill be adequate to specify that a part of a query is a temporal expression,while in others it might be necessary to dierentiate between dierent temporalclasses, for example between expressions indicating past, present and future. Inother applications, not only the semantic nature of the target information ispredened, but also the unit and scope of the event to be extracted. The unit ofextraction refers to the granularity of individual information portions that arelifted out of the sensor node. The scope of extraction refers to the granularity ofthe extraction space for every individual information request. In order to decidewhich portion of information is supposed to contribute in the answer of a query,an information extraction application uses a set of extraction conditions. These

Page 3: Building Programming Abstractions for Wireless Sensor Networks Using Watershed Segmentation

conditions state what formal properties a particular portion of information mustpossess to belong to a particular semantic class.

The Watershed transformation is a popular image segmentation algorithmfor grey scale images [20,12,7,3,2,5,17,14,19,21]. Its basic concept comes from theeld of topography, referring to the partitioning of a landscape to a number ofbasins or water catchment areas. The authors in [12] use the following analogy toexplain how the Watershed algorithm works: The USA can be divided into twomain segments, one associated with the Atlantic Ocean and another associatedwith the Pacic Ocean. All the rain falling on the east segment will ow intothe Atlantic Ocean, while the rain falling on the west segment will ow into theother ocean. The water will reach the ocean given that it is not trapped in a localminimum along the way. Both segments are usually named catchment basins,and each one has an associated minimum (the ocean). The boundary line thatseparates both basins is called the watershed line, corresponding to the conti-nental divide in the example. Therefore, the image is viewed as a topographicsurface where each pixel is a point situated at some altitude as a function of itsgrey level. The grey levels correspond to the altitude associated to the imagebetween 0 and 255.

After the original Watershed algorithm was published, several modicationsand variations of this algorithm was published to suit various applications. Wa-tershed algorithms can be classied into two conceptually distinct techniques:immersion and raining.

1. Immersion simulates progressively immersing the entire topographic surfacein a water container.

2. Raining simulates the rain fall over a topographic surface. The raining canbe considered as a local method because each droplet follows on its own waynot considering neighbouring droplets.

On at areas of the surface, the motion of the water droplet is directed towardsthe nearest brim of a downward slope and it stops when it reaches a regionalminimum. An important aspect of designing a parallel asynchronous algorithmis the exploitation of the data locality for minimisation of the communicationoverhead. Aiming at the goal, we propose here a reformulation of the rainingwatershed segmentation due to its suitability for parallel implementation. Thepresented implementation is capable of computing the Watershed transform ac-cording to local conditions. The approach proposed in this paper generates thesame result using only one point of synchronisation, thus decreasing the runningtime without degradation in the eectiveness of the segmentation. Both asser-tions are demonstrated throughout this paper and supported by experimentalresults.

The paper is organised as follows: Section 2 describes the Watershed algo-rithm. Section 3 illustrates the suitability of this algorithm for WSNs. Section 5presents the parallel asynchronous implementation of the Watershed algorithm.The performance of the proposed implementation is evaluated in Section 6. Sec-tion 7 concludes the work.

Page 4: Building Programming Abstractions for Wireless Sensor Networks Using Watershed Segmentation

2 Description of the Watershed Algorithm

This section presents Meyer's formalism [9] that is based on local conditions(rain simulation). The Watershed proposed by Meyer is the base for our pa-rallel asynchronous implementation. Roedink et al. [15] summarised approachesfor parallel implementations of the Watershed algorithm on powerful (memoryand computation) devices. Before our synchronous and parallel implementationdetails are given, some preliminary denitions are introduced as described byMeyer [9].

Let f(p) be a function of of grey levels, signifying a continous digital imagewith the domain Ω ∈ Z2. Every pixel p ∈ Ω has a grey level f(p) and a set ofneighbouring pixels p′ ∈ N(p) with a distance function d(p, p′) to each neighbour;in most published algorithms a 4− to 8−neighbours.

(Regional minimum) Is a point or a set of connected points with the samegrey level, where none of them have a neighbour with a lower grey level [3]. Inkeeping with the rain simulation analogy, a regional minimum is the area of thesurface where the rain water would get trapped without owing to lower leveles.(Lower slope) If p exists, the lower slope (LS)denes the maximum steepnessfrom a pixel to its lower neighbours.

(LS) = max∀p′∈N(p)

(f(p)−f(p′)dist(p,p′)

|f(p′)≤f(p))

(Steepest decending path) ∀p ∈ Ω,SDP (p) is the set of points p′ ∈ N (p)dened as follows:

p′ ∈ N (p)

∣∣∣∣f (p)− f (p′)dist (p, p′)= LS (p) , f (p′) < f (p)

i.e. the SDP is a series of connected points where each point presents a grey levelstrictly lower than the previous one. There may exist multiple decending pathsfrom a given point, the choice between them depends on the implementation. Adescending path is said to be a steepest path if each point in the path is connectedto the neighbour with the lowest grey level. According to rain simulation analogy,the SDP is the path a drop of water would follow when travelling down to aregional minimum.(Cost function based on lower slope) The cost, cost (pi−1, pi), for walking on thetopographic surface from point pi−1to pi ∈ N(pi−1) is:

LS (pi−1) .dist (pi−1, pi) f (pi−1) > f (pi)

LS (pi) .dist (pp−1, pi) f (pi−1) < f(pi)12 (LS (pi−1) + LS (pi)) .dist(pi−1, pi) f (pi−1) = f (pi)

(Topographic distance) The topographic distance between two points p and q ona surface is the minimal π−topographical distance among all paths πbetween pand qon the suraface:

TDf (p, q) = infTDπf (p, q)

Page 5: Building Programming Abstractions for Wireless Sensor Networks Using Watershed Segmentation

where TDf (p, q) =∑ni=2 cost(pi−1, pi) is the topograpical distance of a path π =

(p = p1, p2,..., pn = q), such that ∀i, pi ∈ N(pi−1) and pi ∈ Ω(Catchment basin based on topographic distance) CBTD (mi) of a local mini-mum mi is the set of points p ∈ Ω where the topographical distance is closerto mi than to any other regional minimum mj , based on the topographical dis-tance and the grey level of the minima:

CBTD (mi) = p |f (mi) + TDf (p,mi) + TDf (p,mj)∀j 6= i

In other words, the CB is formed by a regional minimum and all the pointswhose steepest decsending path ends in that minimum [2]. According to the rainsimulation analogy, a CB is an area of a topographic surface, such that when adroplet of rain fall in any point in that area, it would poure in to its minimumfollowing the steepest descending path of that point.

3 Modied Watershed Segmentation

1- Neighbourhood denition using Shepard method In most publishedWatershed algorithm variations, a 4− to 8−pixel neighbours are used. Becausethe distance from a node to its neighbours can vary, we advocate the use Shepardmethod [16] to select nearby nodes. Shepard dened two criteria:(a) Arbitrary distance criterion: All data points within radius r of thepoint p are included in computation.(b) Arbitrary number criterion: Only the closest n data points are conside-red in the computation of any interpolated value.

Shepard has chosen a mix of the two criteria which combined their advan-tages. An initial radius r is dened depending on the overall density of datapoints such that seven data points are included on average in a circle of radius r.r is written as follows:

πr2 =7A

N

were A is the area of the largest polygon enclosed by the data points. Thesuitability of this method for WSN is presented in [6].

2- Inclusion of the number of hops in the calculation of the steepestpath In Section 2, the SDP (Denition 3) was dened as a series of connectedpoints where each point presents a grey level strictly lower than the previousone. There may exist multiple descending paths from a given point, the choicebetween them depends on the Watershed algorithm implementation. For WSNsapplications, the most energy ecient descending path should be chosen. Accor-ding to [13], communication is the most power hungry operation. Communicationcost can be computed from transmission distance, hop count, delay, link quality,and other factors. Hop count is widely used factor to measure energy require-ment of a routing task and for grouping nodes in energy ecient clusters. The

Page 6: Building Programming Abstractions for Wireless Sensor Networks Using Watershed Segmentation

power consumed in data transmission is directly proportional to the square ofthe transmission distance between the sending and receiving nodes. The powerconsumption does not only depend on the transmission distance, but also on thescale of the network [18]. Therefore, the lower distances must be computed as afunction of the number of hops as well as the inter-sensor Euclidean distances.The new distance function is the sum of the individual inter-node Euclideandistances multiplied by the hop count.

Dist(p, p′) =

∑dist(pi, pj)

hc

where i, j < hc− 1 and hc is the hope count.

4 Abstractions for Local Interactions

In this section, we give a brief description of how Watershed segmentation al-gorithm can be used for dening abstractions for local interactions and placeour work in the context of other existing work in the area. To demonstrate theusefulness of the proposed abstractions we consider events that are caused bymultiple elements targets, e.g. a herd of animals in a habitat monitoring ap-plication or toxic gas diusion. Elements triggering these events often exhibitidiosyncratic behaviour, such as splitting into several groups or merging into asingle group. This type of events involves several neighbouring sensor nodes tocollaborate to acquire aggregate features of the target such as shape, location,coverage, moving direction, speed, etc. Events involving this kind of targets aresubmitted by [8] as `region-like' targets. In this paper, Watershed segmentationis proposed to build a cooperative node structure over every network segmentcovered by the events to collect and aggregate related information.

Watershed groups nodes sharing some common group state into segments.A segment is described as a collection of spatially distributed nodes with anexample being the set of nodes in a geographic area with sensor readings in aspecic range. Therefore, Watershed segmentation combines the advantages ofdata-centric (e.g. [4] and topologically (e.g. [22]) dened group abstractions. Thismakes the generated segments capable of expressing a number of local behaviourspowerfully, which allows network programmers to write programs that expresshigher level behaviour beyond that of the usual query-based methods. In fact,the programmer is concerned not only with the application logic, but also withidentifying the network portions to be involved in extracting a particular pieceof information and how to reach them. Dealing with this new requirement neces-sitates new programming abstractions to localise complexity without scarifyingeciency. The logical segments of nodes generated by the Watershed algorithmreplace the tight physical neighbourhood provided by wireless broadcast witha higher level, application dened abstractions. Segments are created such thatthe span of a logical neighbourhood is specied dynamically and declarativelybased on the attributes of nodes, along with requirements about communicationcosts (specically the diameter of the segment). A network segment formed with

Page 7: Building Programming Abstractions for Wireless Sensor Networks Using Watershed Segmentation

a logical notion of proximity determined by applicative information is, therefore,capable to return specied information with high condence.

Segments generated by Watershed algorithm are automatically labelled witha marker, which is an integer identier. All nodes within the segment satisfythe logical constraints encoded in the Watershed algorithm. This logical andintuitive Watershed template serves as the membership function that dynami-cally determines and updates which nodes belong to the segment. Programmersmanipulate segments instead of nodes within communication range. The pro-grammers can still reason in terms of nodes and broadcast messages, but nowthey can specify declaratively which portions of the network to consider andtherefore control the span of communication to save energy.

Macroprogramming [22] has been put forward in the literature as an e-cient approach to information extraction that provides a more general-purposeapproach to distributed computation. Many macroprogramming approaches aimat programming the network as a whole rather than programming the individualnodes that compose the network. Global behaviour can be specied, program-med and then translated to node level code transparently from low level detailslike network topology, radio communication or power capacity. A signicanceclass of macroprogramming systems are the application-dened, in-network abs-tractions that are used in data processing. The Regiment [22] and Hood systemsare examples of neighbourhood-based abstractions that handle many nodes col-lectively and a set of operations on it to enable the programmer to extractinformation about the state of the group. EnviroTrack [1] is a programming abs-traction specically for target-tracking applications, where a group is denedas the set of sensors that detected the same event. In SPIDEY [10], a node isrepresented as a logical node that has multiple exported attributes (static anddynamic). However, utilising the network topology as an abstraction can requiresome rigidity in the programming model. It can also be inecient for systemswith mobile nodes due to the cost and complexity of maintaining the mappingbetween the physical topology and the logical topology. The parallel Watershed-based abstractions are dierent from these approaches in one important aspect;segmentation runtime loosely synchronises state across nodes, attaining graterrobustness and higher eciency.

5 Parallel Asynchronous Watershed Implementation

Each node, (x, y, z), is depicted as a pixel on the image and the colour of thepixel located at (x, y) is obtained as the node sensed modality (z). The reso-lution of the image is the total number of nodes in the network per area unit.In parallel operation, rain falling simulation Watershed uses less communica-tion between nodes, compared to immersion which has a highly global nature.The new segmentation algorithm can be viewed as an asynchronous relaxationof the `Hill Climbing' algorithm [9]. All processing is local to each node, whichruns a simple nite state machine associated with a single sensed modality.Non-blocking communications allow each node to run independently. Since syn-

Page 8: Building Programming Abstractions for Wireless Sensor Networks Using Watershed Segmentation

chronisation is limited to N(u) and non-blocking communications are used, eachnode operates independently and the algorithm needs no global scheduling.

The role of the Watershed process is to label each non-minimum node by wal-king downward on a steepest slope path towards the minimum. Initially, all nodesin the network are considered as non-minima and will be ooded from dierentsub-domains. At this stage of the segmentation process, nodes are assigned tem-porary labels because the segmentation results depends on neighbouring nodesreadings. When a node detects a steepest neighbour, it changes it status to anon-minimum node and gets labelled from the steepest neighbour or from itspredecessor that has the shortest distance among its neighbouring nodes. Whenthe minimum is reached, its label is assigned to all the nodes upward along thepath. If no non-minimum were detected, the steepest distances must be calcu-lated based on the entire set of lower borders. Process termination is locallydetected on each node. This reduces the amount of communication and the idletime in nodes.

The algorithm builds several paths with dierent origins and destinationsfrom data communications between nodes. This does not introduce additionalcost due to the broadcast nature of wireless communications. Typically, anychanges in one node readings may aect all nodes on the steepest slope linebetween that node and the minimum. Therefore, nodes must keep monitoringand updating their membership. A ag, called reset, is maintained by each nodeto record whether changes occurred or not since the last communication. Oneadvantage of this implementation is that no relabeling and no synchronisationbetween nodes are needed frequently.

One disadvantage of this parallel asynchronous implementation is that themiddle nodes on plateaus cannot locally decide whether they are on a minimumor non-minimum plateau, (NP ), and necessitate global synchronisation pointsto identify and label the minimum plateaus. To avoid global synchronisation, allmiddle nodes are labelled as minimum or Plateau, (MP ), to allow them makeslocal decisions. After that, the propagation of data over a non-minimum plateauallows the middle nodes of that plateau ooded by a neighbour to switch tonon-minimum.

Algorithm 1 presents the pseudocode of the segmentation process in eachnode.

6 Evaluation

Suppose that a WSN has been deployed to monitor temperature of environmen-tally sensitive areas. An event of interest is predened if temperature readingswith enough numbers go above a certain threshold in a specic geographic area.In our simulation, an event is triggered at random times in random locationsfollowed by issuing a query to locate the hottest spots. Query resolution is im-plemented using three methods: Watershed-based, nodes are logically groupedinto segments that are used to assist query processing; in-network processingvia aggregation of messages up a spanning tree of the network; and centralised,

Page 9: Building Programming Abstractions for Wireless Sensor Networks Using Watershed Segmentation

Algorithm 1 The segmentation process of nodes in each state.

Input node current state of node (u) S(u); f(v) states of neighboursOutput segment membershipcase (S (u) =′ initial)

The node u broadcasts its data d (u) and label l (u) to its neighbours N(u),waits for data from each neigbhour v ∈ N(u), compute the following:

N (u)=

all neighbouring readings equal to (u)

N (u)>

all neighbouring readings greater than (u)

N (u)Ln

= vi a singleton set such that LSmax(vi) and vi ∈ N (u)

if N (u)Ln

= l (u)← minv∈N(u)= (l (v)); S (u)←′ MP ′

elseS (u)←′ NP ′

case (S (u) =′ MP ′)The node u waits to receive new data, d′(v), from any neighbourif d′(v) < d(u)

N (u)ln ← v; S (u)←′ NP ′

elsel (u)← min (l (u) , l (v)); S (u)←′ MP ′

case (S (u) =′ NP ′)

The node (u)waits for data from N (u)Ln

; S (u)←′ NP ′In all states, the node (u) sends its data f (u) to all nodes in N (u)

≥whenever

a new reading is recorded

(a) (b) (c)

Figure 1. (a) Original thermal map (b) Watershed segmentation results (c) Extendsegmentation

Page 10: Building Programming Abstractions for Wireless Sensor Networks Using Watershed Segmentation

(a) (b)

Figure 2. Communication overhead and the number of nodes involved in resolving thequery

were all data is sent directly to the sink for analysis. All simulations were carriedout using Dingo [11], which is a scalable python-based package to allow rapidprototyping of WSNs algorithms. In all experiments, we make use of a thermalmap, Figure 1(a), adopted from goinfrared.com. Figure 1(b) shows the resultof segmentation in which nodes in each segment collaborate to solve a query.It is easy to extend the segmentation to the whole monitored terrain by usinggeneralised Voronoi, i.e., each location where there is no sensor node is assignedto its nearest segment, Figure 1(c).

The cost of the query resolution was measured in terms of the number ofmessages exchanged to answer the query. Multiple runs with dierent topologiesand dierent number of nodes were carried out for the three query resolutionmethods. These results are presented in Figure 2(a). The energy cost, responsetime, and accuracy are aected by which and how many nodes are involvedin answering a query. Excluding nodes irrelevant to a certain query not onlyimprove answer accuracy but also saves energy and reduce the time required fordata analysis. Figure 2(b) shows the number of nodes involved in resolving thesame query at dierent network densities.

The results obtained in the above experiments indicate that segments can beused to support in-network query resolution. The results shows that the commu-nication overhead associated with segment-based query processing is almost 2folds less than in-network processing and 10 folds less than the centralised queryresolution. These results are clearly explained by the analysis presented in Fi-gure 2.

7 Conclusion

The preliminary work in this paper indicates that segment-based in-networkquery processing produces considerable energy savings over aggregation andcentralised approaches. Watershed logically organises nodes into energy ecientsegments that reduce unecessary data transmissions and improve response ac-curacy. Compared to standard Watershed segmentation algorithms, the major

Page 11: Building Programming Abstractions for Wireless Sensor Networks Using Watershed Segmentation

improvement of our algorithm is that labelling and climbing along the steepestpaths are concurrently and locally executed based on the node state, during theentire segmentation process. There are a number of limitations in the work so farthat need to be addressed in the future, for example the cost of segmentation.

References

1. T. Abdelzaher, B. Blum, Q. Cao, Y. Chen, D. Evans, J. George, S. George, L. Gu,T. He, S. Krishnamurthy, L. Luo, S. Son, J. Stankovic, R. Stoleru, and A. Wood.Envirotrack: Towards an environmental computing paradigm for distributed sen-sor networks. In Proceedings of the 24th International Conference on DistributedComputing Systems (ICDCS'04), pages 582589, 2004.

2. A. Bieniek and A. Moga. An ecient watershed algorithm based on connectedcomponents. Pattern Recognition, 33(6):907 916, 2000.

3. André Bleau and L. Joshua Leon. Watershed-based segmentation and region mer-ging. Comput. Vis. Image Underst., 77:317370, January 2000.

4. Maurice Chu and Juan Julia Liu. State-centric programming for sensor and ac-tuator network systems. IEEE Pervasive Computing, 2003.

5. V. Grau, A. U. J. Mewes, M. Alcaniz, R. Kikinis, and S. K. Wareld. Impro-ved watershed transform for medical image segmentation using prior information.23(4):447458, 2004.

6. M. Hammoudeh, R. Newman, C. Dennett, and S. Mount. Interpolation techniquesfor building a continuous map from discrete wireless sensor network data. WirelessCommunications and Mobile Computing, January 2011.

7. C.J. Kuo, S.F. Odeh, and M.C. Huang. Image segmentation with improved wa-tershed algorithm and its fpga implementation. IEEE ISCAS 2001, 2:753756,2001.

8. Chun-Han Lin, Chung-Ta King, and Hung-Chang Hsiao. Region abstraction forevent tracking in wireless sensor networks. In 8th International Symposium onParallel Architectures Algorithms and Networks, page 2005, 274-281.

9. Fernand Meyer. Topographic distance and watershed lines. Signal Process., 38:113125, July 1994.

10. Luca Mottola and Gian Pietro Picco. Using logical neighborhoods to enable scopingin wireless sensor networks. In Proceedings of the 3rd international Middlewaredoctoral symposium, pages 6, 2006.

11. Sarah Mount. Dingo wireless sensor networks simulator.http://code.google.com/p/dingo-wsn/, 2011. [Online; accessed 26-March-2011].

12. Víctor Osma-Ruiz, Juan I. Godino-Llorente, Nicolás Sáenz-Lechón, and PedroGómez-Vilda. An improved watershed algorithm based on ecient computationof shortest paths. Pattern Recogn., 40:10781090, March 2007.

13. G. J. Pottie and W. J. Kaiser. Wireless integrated network sensors. Commun.ACM, 43(5):5158, 2000.

14. C. Rambabu, T.S. Rathore, and I. Chakrabarti. A new watershed algorithm basedon hillclimbing technique for image segmentation. 4:14041408, 2003.

15. Roerdink and Meijster. The watershed transform: Denitions, algorithms andparallelization strategies. FUNDINF: Fundamenta Informatica, 41, 2000.

16. Donald Shepard. A two-dimensional interpolation function for irregularly-spaceddata. In Proceedings of the 1968 23rd ACM national conference, pages 517524,1968.

Page 12: Building Programming Abstractions for Wireless Sensor Networks Using Watershed Segmentation

17. Han Sun, Jingyu Yang, and Mingwu Ren. A fast watershed algorithm basedon chain code and its application in image segmentation. Pattern Recogn. Lett.,26:12661274, July 2005.

18. Peng Sun, Winston K.G. Seah, and Pius W.Q. Lee. Ecient data delivery withpacket cloning for underwater sensor networks. In Symposium on Underwater Tech-nology and Workshop on Scientic Use of Submarine Cables and Related Techno-logies, pages 3441, April 2007.

19. Michaªwiercz and Marcin Iwanowski. Fast, parallel watershed algorithm basedon path tracing. In Proceedings of the 2010 international conference on Computervision and graphics: Part II, ICCVG'10, pages 317324, 2010.

20. L. Vincent and P. Soille. Watersheds in digital spaces: An ecient algorithm basedon immersion simulations. IEEE Transactions on Pattern Analysis and MachineIntelligence, 13:583598, 1991.

21. Björn Wagner, Andreas Dinges, Paul Müller, and Gundolf Haase. Parallel volumeimage segmentation with watershed transformation. In Proceedings of the 16thScandinavian Conference on Image Analysis, SCIA '09, pages 420429, 2009.

22. Matt Welsh and Geo Mainland. Programming sensor networks using abstractregions. In Proceedings of the 1st conference on Symposium on Networked SystemsDesign and Implementation - Volume 1, pages 33, 2004.


Recommended