SlideShare uma empresa Scribd logo
1 de 11
Baixar para ler offline
Information Fusion xxx (2013) xxx–xxx

Contents lists available at ScienceDirect

Information Fusion
journal homepage: www.elsevier.com/locate/inffus

Information extraction from sensor networks using the Watershed
transform algorithm
Mohammad Hammoudeh a,⇑, Robert Newman b
a
b

Manchester Metropolitan University, Chester Street, Manchester M1 5GD, UK
University of Wolverhampton, Wulfruna Street, Wolverhampton WV1 1LY, UK

a r t i c l e

i n f o

Article history:
Available online xxxx
Keywords:
Information extraction
Watershed segmentation
Query scoping
Macroprogramming
Wireless sensor networks

a b s t r a c t
Wireless sensor networks are an effective tool to provide fine resolution monitoring of the physical environment. Sensors generate continuous streams of data, which leads to several computational challenges.
As sensor nodes become increasingly active devices, with more processing and communication resources,
various methods of distributed data processing and sharing become feasible. The challenge is to extract
information from the gathered sensory data with a specified level of accuracy in a timely and power-efficient approach. This paper presents a new solution to distributed information extraction that makes use
of the morphological Watershed algorithm. The Watershed algorithm dynamically groups sensor nodes
into homogeneous network segments with respect to their topological relationships and their sensingstates. This setting allows network programmers to manipulate groups of spatially distributed data
streams instead of individual nodes. This is achieved by using network segments as programming
abstractions on which various query processes can be executed. Aiming at this purpose, we present a
reformulation of the global Watershed algorithm. The modified Watershed algorithm is fully asynchronous, where sensor nodes can autonomously process their local data in parallel and in collaboration with
neighbouring nodes. Experimental evaluation shows that the presented solution is able to considerably
reduce query resolution cost without scarifying the quality of the returned results. When compared to
similar purpose schemes, such as ‘‘Logical Neighborhood’’, the proposed approach reduces the total query
resolution overhead by up to 57.5%, reduces the number of nodes involved in query resolution by up to
59%, and reduces the setup convergence time by up to 65.1%.
Ó 2013 Elsevier B.V. All rights reserved.

1. Introduction
Wireless Sensor Networks (WSNs) are enabling the production
of applications that previously were not practical. They are currently being applied to a variety of use domains ranging from habitat monitoring to space exploration, and from scientific to
military. Such applications share several aspects: (1) the demand
for information; (2) the response to this demand generally exists
in multiple unstructured, potentially unbounded sequences of data
points; (3) the generation of great volume of data that is ‘imperfect’
in nature and is characterised by significant redundancy. The characteristics of the sense data coupled with the resource constraints
on sensor nodes necessitate the development of resource-efficient
WSN applications. In-network information extraction is one method to minimise resource utilisation while achieving applications
objectives. This is due to the fact that local processing of sensed
data is more energy and bandwidth efficient than the transfer of
raw data to a central location for processing.
⇑ Corresponding author. Tel.: +44 0 161 247 2845.
E-mail
addresses:
M.Hammoudeh@mmu.ac.uk
R.Newman@wlv.ac.uk (R. Newman).

(M.

Hammoudeh),

Information extraction is the sub-discipline of artificial intelligence [1] that selectively structures, identifies, filters, classifies,
and merges multi-modal data produced by multiple sensor nodes
to discover recurring patterns that form a coherent and meaningful
information. Initially, information extraction converts, possibly unbounded, sequences of raw data into a more uniform and convenient structural format preparing it for further processing and
analysis. It exploits domain-specific knowledge and data structural
properties to harvest information by finding and combining relevant data while excluding irrelevant and erroneous ones. This definition will be used throughout this work to describe the term
information extraction.
This work addresses distributed query-based information
extraction systems that use in-network computation to provide
cost effective query responses. Nevertheless, the proposed solution
is general enough to be applicable to other information extraction
models, e.g., periodic or threshold-based. The query-based model
of information extraction is widely used in data intensive applications, where data is stored at multiple locations. Such systems are
user controlled where users specify and inject a request for the
information they require through simple queries; then the

1566-2535/$ - see front matter Ó 2013 Elsevier B.V. All rights reserved.
http://dx.doi.org/10.1016/j.inffus.2013.07.001

Please cite this article in press as: M. Hammoudeh, R. Newman, Information extraction from sensor networks using the Watershed transform algorithm,
Informat. Fusion (2013), http://dx.doi.org/10.1016/j.inffus.2013.07.001
2

M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx

information extraction infrastructure efficiently retrieves and processes the data within the network. Generally, query-based systems support high-level declarative languages for incorporating
data retrieval and analysis. In this setting, most query languages
provide an interface to the WSN user whilst concealing low level
details such as the network topology or communication paths. Often, the query issuer is unaware of how the query is disseminated
in the network and how the data is retrieved or analysed.
A fundamental requirement to effectively use the query-based
information extraction model is the user’ s prior knowledge of
the semantic data model and its contextual meaning. This allows
network users to better understand, query, and control the extracted information. For instance, it could be essential to recognise
what kind of events are occurring in a specific segment of the monitored area and when these events occurred. Depending on the
type of the application, sensor data can be labelled with temporal,
spatial, or other thematic semantic metadata. Accordingly, based
on the user information requirements, queries can be built to distinguish a variety of events at various levels of semantic detail. In
time critical applications, for example, it may be sufficient to state
that a portion of a query is a temporal operator; whereas in other
applications, it may be essential to distinguish among diverse temporal operators, e.g., operators specifying past, present and future.
In event-driven applications, the semantic nature, scope, and unit
of the requested information could be predefined. The unit of
extraction defines the granularity of individual information chunks
that are extracted from the sensor nodes. The scope of extraction is
the process of identifying a subset of data or nodes holding data
that is relevant to the requested information. To choose the chunks
of information that should be considered in preparing the query response, an information extraction system uses a group of conditions. These conditions specify the formal attributes a specific
chunk of information must have to belong to a certain semantic
group.
As an example of this kind of requirement, from a real-world
and practical application, in the recently completed RFID from
Farm to Fork project [2], undertaken by one of the present authors,
a system was built to trace provenance and condition of food products. The general strategy was that RFID systems were used to
localise food products, while WSNs were used to monitor the environment through which they passed and condition information as
temperature and humidity. It is required that the condition information be associated with an individual food item, so the resolution of a query requires determination of the location of an item
at a particular time and estimation of the environmental parameters at that location and time. Sensor information not associated
with any food product (the majority of it) is surplus to requirements. In-network information extraction allows only the required
information to be collected, avoiding the swamping of the systems
with unnecessary data.
The focus in this work is on large-scale sensor networks where
multiple sensor types are fitted to each node. In such networks,
many low-observability events require the retrieval of multi-modal data. To cope with the high-volume sensor data, we explore network segmentation techniques to provide effective mechanism for
multi-modal query dissemination and local collaboration among
nodes. Network segmentation provides high level abstractions for
local and spatial data processing. The aggregation of sensor data
and informed selective collaboration of sensor nodes can improve
extracted information accuracy, reduce latency, and minimise
bandwidth consumption. However, every node in the network performs sensing operations on every sensor without in-node preprocessing.
This paper proposes a distributed information extraction approach that retrieves data and accurately process it to respond to
queries that users pose. This approach focuses on reducing the

amount of data that has to be collected and analysed to obtain
the desired information. It only query nodes that are closely linked
to the user requested information. The ability to limit a query
scope to arbitrary subsets of nodes results in considerable energy
savings, lower bandwidth utilisation, and better information quality. The absolute result of the information extraction system depends on the nature of the query; however, it usually entails
identifying entities sharing a common sensing state and the relations between those entities to provide accurate information access. Our proposed approach makes use of the Watershed
transform algorithm [3] to assign homogenous nodes’ to well
delimited segments using nodes physical location and their
sensors measurements. The purpose of the network segmentation
process is to provide high-level primitives that abstracts away lowlevel system details. Unlike traditional information extraction approaches where each node is treated as an isolated computational
unit, network segmentation allows efficient processing of high-level queries of logical interest over the entire network. Network
segmentation is especially useful to dynamically build information
rules and frames to quickly provide accurate answers to information queries at a low cost.
The Watershed algorithm is able to cope with the irregular and
data dependent information requests by using the most suitable
option at every processing step instead of using predefined threshold values. To comply with application constraints, typically the
requirement for real-time processing and limited energy consumption, we propose a new asynchronous and parallel reformulation of
the Watershed transform algorithm. The presented reformulation
is able to calculate the Watershed transform based on the node’s
local data. It achieves similar outcome with just single point of synchronisation, hence reducing the running time without scarifying
the segmentation effectiveness. These two claims are discussed
in this paper and verified in experimental evaluations.
The remainder of this paper is organised as follows. The next
section discusses the differences of our work from other closely related work. Section 3 introduces the Watershed algorithm. Section 4
explains the suitability of this algorithm for WSNs. Section 5 describes our modifications to the Watershed algorithm. Section 6 explain the use of segments as a query scoping mechanism. Section 7
presents the parallel asynchronous implementation of the Watershed algorithm. Section 8 explains the mechanism for resolving
queries. The effectiveness of the presented approach is studied by
simulation in Section 9. Section 10 concludes the work. Section 11
gives a number of interesting directions for future work.

2. Related work
The information extraction process begins by specifying the
information needed by a user/application. Often, this takes the
form of a query or event trap. Then, an information extraction approach selects a relevant subset of data or nodes carrying data that
is relevant to the needed information from a larger set. To improve
the accuracy of the extracted information and to minimise the cost
of collecting raw data, high-level programming abstractions can be
used [4–9]. Programming abstractions allow the user to specify
how and where a query is disseminated. A large and growing body
of literature has investigated micro- and macro-programming
abstractions in the context of WSNs. Many methods and formalisms for abstraction have been proposed, but their design has often
been focussed on synthetic problems, rather than requirements of
working systems, such as the example given above. In this section
different mechanisms to achieve abstraction are presented. We refer the interested reader to the recent survey [10] and the references therein for a comprehensive review of WSNs programming
approaches.

Please cite this article in press as: M. Hammoudeh, R. Newman, Information extraction from sensor networks using the Watershed transform algorithm,
Informat. Fusion (2013), http://dx.doi.org/10.1016/j.inffus.2013.07.001
M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx

SPINE [11] and MAPS [12] are two effective paradigms for the
programming of WSN applications. The former is a function-oriented and domain-specific framework that supports distributed
signal processing and data classification functions over sensor
nodes. The latter adopts an agent-oriented view in the design of
a WSN programming framework for the Oracle Sun SPOT [13] devices. In MAPS, mobile agents support the programming of WSNs
at various levels. The inherent properties of mobile agents, e.g.,
autonomy and adaptability to distributed and open environments,
means that MAPS can significantly improve the design and the
development of WSN applications. However, the SPINE and MAPS
frameworks remains platform-specific, which limits there applicability. To deal with this issue, SPINE2 [14] has been proposed.
SPINE2 is designed for the development of signal processing
applications on WSNs through a task-oriented programming
abstraction. In SPINE2, applications are considered as a set of interconnected tasks. A task encapsulates a well defined activity, e.g.,
feature extraction. SPINE2 is based on the concept of Virtual Sensors to provide platform-independent programming environment
and to improve architectural modularity and design reusability.
Also, SPINE2 uses the C-language to achieve platform independency for C-like programmable sensor platforms. The very high
portability of the framework is, moreover, due to the strong software decoupling between the platform independent runtime execution logic and the platform-dependent components needed for
accessing the services and resources offered by the platform.
However, the platform-dependent components have to be customised for different platforms, which limits reusability and seamless
software composition. Titan [15] is another task-oriented but
service-centric framework that uses interconnected services as a
programming abstraction. It defines a programming model that
links nodes at run-time based on their opportunistically discovered
resources to compose activity or context aware applications. Titan
is similar to our proposed approach in respect to its ability to
dynamically cope with changing node conditions. However, Titan
cannot benefit from opportunistic sensing in the absence of comprehensive expert-knowledge and activity recognition services
for each possible available sensor.
A significant category of programming languages and systems is
the neighbourhood-based and the high-level representation of the
network. The Hood [16] and Regiment [17] are two examples of
systems that are based on local behaviour to manipulate sensor
nodes collectively. They provide a group of operations to allow network programmers use network regions and data streams as the
basic programming abstraction. Kairos [18] provides programmers
with three levels of abstraction: node abstraction, list of direct
neighbours, and remote data access. Compared to Regiment, Kairos
provides a small number of constructs for its three levels of
abstraction, whereas, Regiments offers a bigger set of operations
and data types. EnviroTrack [19] is a programming abstraction particularly designed for target-tracking applications. It has a complex
group management protocol that assigns nodes that sensed the
same event to the one logical group. These systems, such as Regiment and Kairos, are tailored for rather narrow range of target
applications. In SPIDEY [9], a node is defined using a logical node
template that has several exported attributes (dynamic and static);
the abstraction definition is composed of a node template and an
instantiation. Pathak et al. [4] presented a data-driven macroprogramming framework to solve the problem of initial placement
of high-level task graph representation onto the nodes of the target
network. Srijan [6] is another graphical toolkit designed to aid
application developers in the compilation of the macroprogram
into individual customised runtimes for each constituent node of
the target network. Pathak and Srijan are centralised in nature
because the sink knows the location and initial energy levels of
all sensor nodes. Hnat et al. [5] implemented a macroprogramming

3

compiler for MacroLab [7]. The system-wide or global computation
scope provided by MacroLab limits the efficiency of the new
compiler.
In the approaches described above, the utilisation of the physical network topology as a programming abstraction introduces
some rigidity to the programming approach. Handling frequent
topology changes can be expensive, potentially involving global
abstraction changes. Besides, node-level abstraction still requires
the programmer to be responsible for ensuring that the distributed
application achieves its intended functions efficiently. The information extraction approach proposed in this paper is different
from these systems in one vital characteristic; it provide loose time
sensor node state synchronisation among all nodes in the network,
which makes it more suited for real-time applications characterised by frequent topological and state changes. Our proposed approach uses asynchronous operations to dynamically maintain
segments memberships in a distributed mode to guarantee that
the system remains in the correct state for the most part of its lifecycle with minimum interruptions.
One particular approach that is similar to the one proposed in
this paper is the Logical Neighborhood. Both approaches utilise
communication cost and similar patterns of sensed data to assign
nodes into logical collections. The generated abstraction allows
the user to extract information at a pre-defined cost and at higher
accuracy by limiting a query scope to arbitrary subsets of nodes
with desired characteristics. We compare the performance of the
proposed approach against that of the Logical Neighborhood. We
believe that the comparison is fair as the two approaches are similar in spirit but different in approach. Below we provide a brief
description of the Logical Neighborhood approach.
Logical Neighborhood [9] is a virtual node programming
abstraction. A node is characterised by several exportable attributes that can be static or dynamic. These attributes are used to replace the notion of geographic neighbourhood (defined by radio
range) with the notion of logical neighborhood (defined by application conditions). Logical neighborhood regions are defined declaratively using the state of the node and on the communication
cost. These logical neighborhoods are implemented using SPIDEY
programming language [20] and are supported by a special routing
strategy enabled by SPIDEY programming constructs. The authors
of the Logical Neighborhood assure that their approach can be on
top of any routing protocol. However, they confirm that the utilisation of existing routing mechanisms to support their abstractions
will result with various performance drawbacks. Another limitation of this approach is that the user is expected to manually
declaratively specify using the SPIDEY language which nodes to
consider as neighbours. This is not always easy to achieve; the configuration of various parameters requires the developers to have
deep understanding of the nature of data being collected and good
knowledge of the network topology.
3. Description of the Watershed algorithm
Watershed transformation has proven to be one of the most
popular segmentation techniques used in grey-scale mathematical
morphology [3,21–29]. Its name originates from its similarity with
hydrology. This algorithm is usually used for segmenting an image
into a set of non-overlapping regions. It uses an intensity-based
topographical representation, where light pixels represent higher
altitudes and dark pixels represent valleys of an image landscape.
The basic idea can be easily explained using the analogy of rain
falling on a landscape. All the rain falling flow with gravity from
high altitude areas along lines of steepest descent until it is
trapped in a catchment basin. Each catchment basin of the image
has a corresponding regional minima. The catchment basin grows
in size as the amount of falling rain increases. When two basins

Please cite this article in press as: M. Hammoudeh, R. Newman, Information extraction from sensor networks using the Watershed transform algorithm,
Informat. Fusion (2013), http://dx.doi.org/10.1016/j.inffus.2013.07.001
4

M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx

start spilling into one another, a dam is built to stop them from
merging into a larger basin. These dams, called the Watershed
lines, split these catchment basins and correspond to the desired
segmentation.
Because of its importance, specific variants and implementations of the original Watershed transform algorithm has been proposed to suit a wide range of applications. These algorithms may
be categorised into two theoretically separate approaches: raining
and immersion.
1. Raining: Simulates pouring down water from top (as raining) on
topographic surface. It is regarded as a distributed approach
since every droplet follows, independently from neighbouring
droplets, the steepest descent until reaching a minimum. This
process continues for every droplet that falls on the surface
and stops when each point is allocated to a minimum. All droplets that follow to the same local minimum form a catchment
basin (otherwise known as segment). No point belongs to a
Watershed line; instead each point is considered as belonging
to a particular catchment basin. This view was adopted in the
work of [23–26]. There are a number of raining implementations targeting parallel processing [28,29] and hardware adaptation [27].
2. Immersion: The immersion approach can be conceptually
viewed as an approach that starts from low altitude to high altitude. It simulates gradually immersing the entire topographic
surface in a water tank. The immersion process proceeds step
by step, globally increasing the altitude. The sources for the
flooding are the local surface minima. Watershed lines are constructed whenever the water from different sources meet. The
catchment basins, catchment areas or Watersheds are the surfaces delimited by these lines. There exists many modifications
around this technique [22].
On flat zones or plateaus, the water droplet follows the path towards the closest edge of a descending slope and it stops once it
arrives at a local minimum. An important factor of developing a
parallel asynchronous algorithm is the utilisation of the data locality for minimising the computation and communication costs. To
achieve this aim, we present a reformulation of the raining Watershed algorithm because of its suitability for parallel processing
systems.
To begin with, we present Meyer’s formalism [30] that
directly segments the input image using local conditions. The
Watershed developed by Meyer is the ground of our parallel
asynchronous reformulation. The authors in [31] reviewed some
of the significant parallel and distributed variations of the
Watershed algorithm on computationally rich devices. Prior
giving the details of our proposed synchronous and parallel
reformulation, we introduce some basic definitions as given by
Meyer [30].
Suppose that f(p) is a function of grey-values, representing a
continuous digital image with the domain X 2 Z2 . All pixels
p 2 X have a grey-value f(p) and a set of neighbouring pixels
p0 2 N(p) with a distance function d(p, p0 ) to every neighbour;
the majority of algorithms in the literature use a 4- to 8neighbours.
Definition 1 (Regional minimum). Is a connected components of
pixels with a constant grey-value, where external boundary pixels
all have a higher value [23]. In keeping with the rain analogy, a
regional minimum is the zone where the water would settle down
without overflowing to lower levels. Fig. 1 gives an illustration of
the regional minima using an example digital image. The doubleline square encloses pixels that are members of the regional
minima indicated in the figure.

Fig. 1. An example of a regional minimum.

Definition 2. The lower slope (LS) of p is defined as the maximal
slope connecting p to any of its neighbours of lower grey-level than
itself.

ðLSÞ ¼ max8p0 2NðpÞ



f ðpÞ À f ðp0 Þ
jf ðp0 Þ 6 f ðpÞ
0Þ
distðp; p

Definition 3 (Steepest Descending Path). p 2 X, the Steepest
Descending Path (SDP) is the set of points p0 2 N(p) defined as
follows:



'
f ðpÞ À f ðp0 Þ
p0 2 NðpÞ
¼ LSðpÞ; f ðp0 Þ  f ðpÞ
 distðp; p0 Þ
i.e. the SDP is a chain of linked points where every point has a greyvalue precisely less than its predecessor. Each point may have more
than one neighbour with a grey-value less than its own value;
therefore, there may be many descending paths from a given point.
The SDP is the path where every point in that path is linked to the
neighbour with the lowest grey-value. In keeping with the rain
analogy, a droplet that falls over a point on the surface flows to
the regional minimum along the path of steepest descent. Fig. 2
shows the SDP from the point (0, 0) to the regional minimum situated in (4, 4).
Definition 4 (Cost function based on lower slope). The slope of the
surface has strong influence on path selection; flatter surface
allows for faster, easier, and more direct walking. The slope-based
cost function, cost(piÀ1, pi), for travelling from point piÀ1 to
pi 2 N(piÀ1) is:

8
f ðpiÀ1 Þ  f ðpi Þ
 LSðpiÀ1 Þ Á distðpiÀ1 ; pi Þ

LSðpi Þ Á distðppÀ1 ; pi Þ
f ðpiÀ1 Þ  f ðpi Þ

:1
ðLSðpiÀ1 Þ þ LSðpi ÞÞ Á distðpiÀ1 ; pi Þ f ðpiÀ1 Þ ¼ f ðpi Þ
2

Definition 5 (Topographic distance). Distance is the primary cost
of walking on a surface. The topographic distance between two
points p and q is the minimal p distance among all paths pÀ
between p and q:

Fig. 2. An example of a steepest descending path.

Please cite this article in press as: M. Hammoudeh, R. Newman, Information extraction from sensor networks using the Watershed transform algorithm,
Informat. Fusion (2013), http://dx.doi.org/10.1016/j.inffus.2013.07.001
M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx

p

TDf ðp; qÞ ¼ infTDf ðp; qÞ
Pn

where TDf ðp; qÞ ¼ i¼2 costðpiÀ1 ; pi Þ is the topographical distance of
a path p = (p = p1, p2, . . . , pn = q), such that i, pi 2 N(piÀ1) and pi 2 X
Definition 6 (Catchment basin based on topographic distance). CBTD(mi) of a local minimum mi is defined as the set of
points p 2 X that are topographically closer to mi than to any other
regional minimum mj,:

È 
É
CBTD ðmi Þ ¼ pf ðmi Þ þ TDf ðp; mi Þ þ TDf ðp; mj Þ8j–i

Specifically, a CB is composed of a uniquely labelled regional minimum and all the points whose SDP lead to it [24]. In keeping with
the rain simulation analogy, a CB is a zone where all rain fall is
conveyed to. Fig. 3 shows a digital image segmented into two CB
(highlighted with different grey levels). The squares indicate the
regional local minima of each CB and the arrows represent the
steepest descending paths indicating the direction of descent.

4. The Watershed algorithm suitability for WSNs
The Watershed algorithm is intuitively understandable and offers a wide range of prospective modifications to fit specific goals.
It can be easily customised to include diverse external factors that
may have influence on the segmentation outcome, e.g., physical
obstacles between nodes. Watershed algorithm can easily be
adapted to work with multimodal WSNs. Each sense modality
can be viewed as a separate digital image to be segmented. A node
may have many SDPs leading to different minima and it may join
multiple catchment basins each correspond to one sense modality.
The segmentation steps across the different sense modalities can
be combined in one step to reduce resource utilisation.
The concept of Watersheds can be implemented in a distributed
asynchronous mode with fast computation time. The localisation
of the process of building catchment basins is a beneficial factor
for immense and frequently varying data sets, posing it appropriate for WSNs applications. A parallel and asynchronous implementation is expected to reduce data communication across the
network and evade the need for global re-computation/synchronisation of the entire network segments once one or more observations are changed. Watershed algorithm can also be modified to
base the segmentation process on local conditions, which helps
in parallelising this process (see Section 5).
In the Watershed algorithm, the topographical distance between a point and its regional minimum equals to f(p)–f(mi). This
means that a SDP guarantees a minimal communication cost. The
minimisation of the bridging distance between a point and its
regional minimum helps the WSN to save energy. The effective energy gain is the minimum squared distance between two points.
Finally, in Watersheds there are few parameter decisions and it
does not make any assumptions that limits its applicability.

Fig. 3. Image segmented into two catchment basins.

5

5. The modified Watershed algorithm
5.1. Neighbours definition using Shepard’s method
In the wide body of literature, most Watershed transform algorithm variations use a 4- to 8-pixel neighbours to define the
boundary of a point. However, the topographical-distance-based
transform may result in non-minima plateaus with nonempty interior in situations where non-minima points do not have a neighbour of lower value. Moreover, nodes may be located at different
topographic distances from the node of interest. Hence, an additional ordering relation between such points is required. To address these issues, we propose using Shepard’s method [32] to
construct the set of neighbours of a point P. Shepard defined two
metrics:

(a) Arbitrary distance metric:
This metric is to compute the geodesic distance to the lower
boundary of the plateau. All points located within radius r from p
are considered in determining the SDP. The calculation of this metric is computationally simple, but there is a possibility that there
are zero or excessive number of neighbours within radius r.
(b) Arbitrary number metric:
Just the nearest n neighbours are included in determining the SDP.
This metric disregards the spacing and relative location of the
points and necessitates complicated ranking process and expensive
searching for points. Moreover, it accepts a fixed number, n, of
neighbouring nodes as optimal.
A combination of the two metrics captures their advantages. An
initial search radius r is established depending on the total number
of points. On average, a maximum of seven points was defined to
limit the complexity and the amount of computation required. r
is defined as:

pr2 ¼

7A
N

were A is the area of the minimum bounding box enclosing all
points. The authors of [33] present a detailed study about the suitability of this inclusion function for WSNs.
5.2. Incorporate the hop count in determining the SDP
A path from location x to location y on a terrain is a descending
path if the value of a point p never increases as we move p along
the path from x to y. If p always moves through the neighbour with
the smallest value, then the path from x to y is the SDP. It is possible to have several descending paths from p to its local minimum,
the selection among them is mostly nondeterministic or implementation dependent. However, when the Watershed algorithm
is applied in WSNs applications, a computationally efficient
descending path is preferred. The authors of [34] identified communication as the most energy expensive operation on a sensor
node; they calculated the energy consumption and found that a
general-purpose processor could execute 3 million instructions
for the same amount of energy used to transmit 1 Kbit of data by
radio over 100 m. The communication cost is dependent on the
transmission distance, number of intermediate communication
hops, link quality, and other elements. Hop count is a metric that
is commonly utilised by routing protocols to determine the distance between two hosts or for organising nodes in resource-efficient clusters (e.g., [35]). The energy spent in communication is
relative to the square of the communication distance between
the sending and receiving hosts. The distance between two nodes

Please cite this article in press as: M. Hammoudeh, R. Newman, Information extraction from sensor networks using the Watershed transform algorithm,
Informat. Fusion (2013), http://dx.doi.org/10.1016/j.inffus.2013.07.001
6

M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx

can be estimated on the basis of incoming signal strengths or directly using the global positioning system. The energy expenditure
is also proportional to the scale of the network [36]. Consequently,
the lower communication distances should be considered as a
function of the inter-sensor Euclidean distance and the number
of intermediate communication hops. The resulting distance function can be defined as the summation of the single inter-node
Euclidean distances divided by the hop count.

Distðp; p0 Þ ¼

P

distðpi ; pj Þ
hc

where i, j  hc À 1 and hc is the hop count.

6. Segments as a scoping mechanism
In the wider body of literature [4–9], most existing programming abstractions are a part of the query language used, thus limiting its applicability. In fact, system developers are concerned
with the application logic as well as specifying the nodes to participate in a specific task and how to communicate with them. The
benefits of restricting the number of nodes participating in a task
are to reduce energy and bandwidth consumption along with
improving information accuracy by removing task-irrelevant
nodes from the task computation. For instance, querying temperature data over the whole network might end up getting the amount
of data that is linked with the density of sensors but not necessarily
pertinent to the monitored phenomena.
A key contribution of the work presented here is the creation of
logical groups of nodes within the network, called segments. These
segments are used to constrain dissemination of queries to a subset of the most-relevant nodes. Thus, each query is sent to the
smallest possible number of nodes, and per-node query dissemination overhead does not grow with network size. Segments can also
be useful to many services other than information extraction, e.g.,
the steepest path can be used by the routing service to determine
energy efficient routes.
The user can exploit segments as a component of a query, or
segments can be used by the system to autonomously make decisions on where a query should be disseminated. The former
requires the extension of existing query languages to incorporate
the segment construct and the development of an associated
parser for the language. The building of query execution abstraction as part of the used query language is beyond the scope of this
paper. In the latter, segments form a vital factor in making a decision on where a query should be disseminated, how the query will
be processed within and across segments, and where the query answer will be finally resolved.
In the absence of dedicated query constructs, the concept of
scoping in the context of WSNs macroprogramming presents a
practical solution. Our Watershed-based approach allows the
developers to reason about the network as a whole, instead of
viewing the network as a set of isolated nodes. Segments allows
dynamic complex interactions between system portions, which results in less programming effort, reduced complexity, and more
reliable code. In a segmented network, query dissemination and
the generation of query running plans are based on Watershed-defined (distance and sensor value) neighbourhood instead of the
unreliable wireless communication range. Watershed segments
are dynamically updated at low cost. This is due to the localised
independent processing of segment membership. When the current state of the node or the state of a node in its steepest path
changes significantly, the node initialises a local update process
independently from other nodes. Local computation results in reduced calculation times and costs.

The Watershed algorithm groups sensor node segments, such
that each segment is homogeneous with respect to some property.
For instance, a segment may be a collection of nodes that are geographically adjacent and they share a common temperature reading. When performing segmentation, the Watershed uses
information about node location, its sensory values, and information about the boundaries of segmented nodes. Hence, the Watershed algorithm integrates the topological (e.g., [16,17]) and
data-centric (e.g., [37,38]) group abstraction methods to eliminate
their drawbacks. This property allows for obtaining accurate
results and presenting several local behaviours effectively, making
it possible to develop programs that articulate higher-level behaviour further than that of the standard query-based approaches. To
address this emerging requirement additional programming
abstractions to distribute the computational load while maintaining results effectiveness are essential. The logical segments
produced by the Watershed algorithm substitute the rigid geographical neighbourhood offered by the radio range with application-based, higher level abstractions. Such segments are
generated in a way that the logical notion of proximity is defined
declaratively and dynamically according to nodes properties, beside restrictions on communication costs (particularly the width
of the segment). A network segment created using the concept of
logical neighborhood specified by applicative conditions is, thus,
able to extract requested information with high fidelity.
All nodes within the same segment are automatically labelled
with an integer identifier called marker. The Watershed algorithm
is supplied with membership templates. These templates encapsulate a set of logical constraints that a node has to satisfy to belong
to one or more segments. Templates are also used to dynamically
update and maintain segment membership. Such segments give
system programmers the ability to manipulate logical segments
rather than isolated nodes or groups of adjacent nodes. Yet, programmers are still capable of manipulating individual nodes or
broadcast regions, but they may indicate declaratively the part of
the network to involve and therefore manage the scope of a query
to reduce computation cost.
7. Parallel asynchronous watershed implementation
This section, presents our proposed reformulation of the Watershed algorithm that complies with the sensor nodes constraints,
i.e., limited memory, energy, processing speed, and bandwidth. Previously published Watershed algorithms required at least three global synchronisation points: minima detection; labelling; and
flooding. This work describes a new fully Parallel and Asynchronous
Watershed algorithm (for short called PA Watershed), in which sensor nodes perform local computations independently and in parallel without a global synchronisation point. This is of particular
importance when applied to in-network processing in WSNs, where
the problem of synchronisation is exacerbated by slow and unreliable data communication; and mitigation using sophisticated synchronisation protocols is difficult due to the constraints over
communication bandwidth given by power consumption.
To apply the PA Watershed to WSNs segmentation, for a threedimensional image, each pixel is considered as a sensor node. In
this representation, the numerical value of each pixel determines
the corresponding sense modality of a node located at position
(x, y). The image resolution corresponds to the network density,
i.e., the number of nodes per area unit. To simplify the implementation of the PA Watershed algorithm, we assume a virtual grid is
formed throughout the deployed network. Each node is assigned to
a virtual grid cell and each cell can contain only one node.
A crucial aspect of the design of the PA Watershed algorithm is
to exploit the data locality to reduce the algorithm’s processing and
communication cost. The PA Watershed algorithm is based on the

Please cite this article in press as: M. Hammoudeh, R. Newman, Information extraction from sensor networks using the Watershed transform algorithm,
Informat. Fusion (2013), http://dx.doi.org/10.1016/j.inffus.2013.07.001
M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx

rain falling simulation model because it involves less communication overhead, compared to immersion-based approaches which
are global in nature. The PA Watershed algorithm may be regarded
as an asynchronous relaxation of the ‘Hill Climbing’ algorithm [30].
This algorithm is similar to the rainfall simulation except that it begins from the minima and climbs by the steepest ascending slope.
In this algorithm, most computations can be viewed as s collection
of independent tasks that can be run in parallel on different sensor
nodes. Each node runs a simple finite state machine linked to every
individual sensed modality. Moreover, nodes use non-blocking
communication to improve performance by overlapping computation and communication. This approach avoids the need of any global synchronisation among sensor nodes and results in a very high
computational efficiency and running speed of the algorithm.
The PA Watershed algorithm labels each node with the identifier of its catchment basin by ‘walking’ along the SDP towards to
a regional minimum. Primarily, all nodes are marked by initial
temporary labels and assumed to be non-minima nodes. Each node
starts searching for the steepest descent among its neighbours. If a
steepest descent is detected, then the node will be relabelled to
match the label of its corresponding steepest neighbour. When a
regional minimum is finally reached, its label is propagated up to
all nodes along the path. The sequence of nodes along the path will
be relabelled to mark the association to that regional minimum,
hence concluding this search process. Because the search process
is executed and terminated autonomously by individual nodes,
the total idle time and communication overhead is reduced significantly. In situations where a regional minima cannot be reached,
e.g., flat zone, the steepest descent must be calculated from the
complete set of lower borders.
Algorithm 1. The proposed PA Watershed algorithm.
Input state S(u) of node u; current sensor reading d(u); d(v)
sensor readings of neighbours
Output segment membership after processing new data
case (S(u) = ‘‘initial’’)
u broadcasts d(u) and label l(u) to its neighbours N(v)
u listens for data from every neighbour vi 2 N(v)
u computes the following:
N(v)= all neighbours with sensor value equal to d(u)
N(v)P all neighbours with sensor reading greater than
d(u)
N(v)Ln = vi a unit set where slope(u, vi) = LS(u) and vi 2 N(v)
if N(v)Ln = ø
minv 2Nðv Þ¼ ðlðv ÞÞ
lðv Þ
S(u)
‘‘MP’’
else
S(u)
‘‘NP’’
case (S(u) = ‘‘MP’’)
u listens for new data, h0 (v), from any neighbour
if h0 (v)  h(u)
N(v)Ln
v;S(u) ‘‘NP’’
else
l(u)
min(l(u), l(v)); S(u)
‘‘MP’’
case (S(u) = ‘‘NP’’)
u waits for data from N(v)Ln
l(u)
min(l(u), l(v))
S(u)
‘‘NP’’
In all cases, u sends any new reading T to all nodes in N(v)P
In multi-modal sensor networks, a number of paths from a single source to multiple destinations exists. Each path represent a
different sense modality. Sensor nodes are assigned a separate label for each sense modality. The search process for the regional

7

minima associated with each sense modality can be combined in
one step. This does not add extra cost on the nodes, or on the network in general, due to the broadcast nature of wireless communication. In practice, a node sensor reading can change frequently
necessitating relabeling all nodes above it in the SDP with the
new minimum label. A threshold can be defined to avoid unnecessary updates resulting from insignificant changes in sensor reading. The segment membership update process can be merged
with other communication tasks, e.g., data transmission, to reduce
membership management overhead. Depending on the application
requirements, the membership update for various sense modalities
can be aggregated in one step. To keep track of segment membership update along the SDP, a flag (called reset) is defined at each
node to monitor whether a change took place since the last data
communication.
The PA Watershed does not require frequent synchronisation
among nodes. It takes advantage of the asynchronous computations at the programming level and for its implementation. The
minima detection, labelling, and climbing of the SDPs run on all
nodes asynchronously and in parallel. An important shortcoming
of the PA Watershed is that inner nodes of a plateau cannot determine independently if they belong to non-minimum plateau (NP)
or minimum plateau (MP). In its current form, the PA Watershed
requires global synchronisation to recognise and label MPs. To
overcome this problem, all inner nodes of a plateau are classified
into two groups: plateau and minimum. The plateau is the group
of nodes whose neighbours have a sensor value of equal or greater
value than its sensor value. The minimum contains every node of
the plateau that has a neighbour with a sensor value less than its
own sensor value. Nodes in the minimum serve as seeds for propagating their labels to inner nodes on the plateau. The labels propagate to progressively fill the entire plateau.
Algorithm 1 shows the pseudocode of the PA Watershed algorithm, which runs on every node. Regardless of the network size,
each node only communicates with a limited number of neighbours located within its radio range. Every node will learn only
the next hop, not the complete hop-by-hop route, to the minima.
The algorithm starts by each node broadcasting its ID, its current
state, as well as its sensors readings and corresponding labels
(di(u), li(u)) to its neighbours. Then, nodes use the gathered information to group their neighbours in three sets: N(u)= contains all
neighbours with sensor values equal to d(u); N(u)P is the set of
all neighbouring nodes with sensor readings greater than d(u);
N(u)Ln = vi is a unit subset of !, where !(u) = {vi 2 N(u)—
slope(u, vi) = LS(u). If !(u) has two or more nodes, then the nearest
node to (u) is chosen from !(u), if the set is empty, then the node is
on a MP. The node will keep monitoring changes in neighbours
data. When the node current state is minima or plateau and receives new data such that h0 (v)  h(u), then it changes its state to
NP; otherwise, a representative label is calculated for that plateau
or minima. The representative label is that of the node with the
smallest reading in the plateau. This means that all neighbours of
a minimum node with equal reading to that node, relate to one
connected component. A connected component of an undirected
graph is a subgraph such that any pair of vertices are connected
by paths and are connected to no additional vertices [39]. When
a non-minimum plateau node receives a new data message, it updates its label to the minimal label of a minimum plateau. Therefore, all changes are dealt with locally and independently from
other nodes, which keeps the cost of dynamic segmentation very
low. Nodes exploit the broadcast nature of wireless communication in updating their state or label. When a node forwards the data
of its predecessors or when it hears neighbours broadcast messages, it can use these messages to update its label. To increase
the algorithm efficiency, a threshold T is defined to indicate

Please cite this article in press as: M. Hammoudeh, R. Newman, Information extraction from sensor networks using the Watershed transform algorithm,
Informat. Fusion (2013), http://dx.doi.org/10.1016/j.inffus.2013.07.001
8

M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx

significant changes that need to be reported to neighbours. Since
data messages can be captured by nodes due to the broadcast nature of wireless communications, nodes will also use the threshold
to decide locally whether they should start an update process or
not.
8. Query resolution mechanism in PA Watershed
The PA Watershed divides the feature space into distinct segments returning a hierarchical description of the data in the form
of a tree. Moreover, it provides each sensor with a path, i.e., the
SDP, over which quires and their answers can be transmitted to
the querying node. SDPs can be exploited by queries to explore
sensors data starting at the root and going only as deep as is necessary to provide answers with the desired quality. This greedy ascent algorithm is reasonably straightforward; the query is initiated
at the root of the tree, i.e., at the local minimum, and every node in
the segment makes decisions independently based on the satisfiability of the query conditions by its local data. If an ascent is necessary, the query is forwarded to the next node on the SDP.
A traversal of the SDP using our greedy algorithm will stop at
nodes at various levels that all satisfy the query. Let the section S
of the SDP be the set of nodes at which the query stops. Then,
the structure of the tree above S, i.e., all nodes that have a predecessor in S, is irrelevant to the cost of query, as the query traversal
will never ascend that far. In this simple version of the query resolution method, if a decision is made to forward, then only the next
child will receive the query. More elaborate schemes can be designed to assign different priorities to children and perform more
complex selective forwarding.
Consider the following example to explain the mechanism for
resolving a specific multi-modal query: ‘‘Return the temperature
at each sensor node, where the air pressure is less than 950mbar’’.
This query is expressed using simple inclusion predicate, which is a
condition of the form ‘‘current reading  threshold’’. We call such
predicates, whose evaluation depends also on the readings taken
by the nodes, dynamic predicates as they specify which nodes
should include their response in the query, i.e., nodes whose values
exceed a given threshold.
First, a query is propagated from the sink toward relevant local
minima by end-to-end routing. A minimum being defined by some
criterion, for instance that the pressure 6950. Once the set of segments to sample from has been selected, data must be queried
from the subtree rooted at local minimum. The choice of the data
point can be made by problem of ascending up the subtree until
a node that is qualified to reply the query is found. After the query
traverses a node with pressure reading P950 or when the query
reaches the leaf node, sensor nodes with pressure readings falling
into the query window recursively report their temperature readings to the nodes from which they received the query. Partial results on every SDP are returned level by level up the tree until
reaching the root node. Whenever possible, data is aggregated as
query responses move down the tree and sent in the same data
packet. After aggregating the data from all SDPs, the aggregated result is returned back to the sink node, again by an end-to-end routing protocol.
9. Evaluation
In this section, the efficiency of the PA Watershed produced
programming abstraction is evaluated in comparison with more
traditional query resolution methods, in-network and centralised
processing, as a baseline. Moreover, in the absence of recent directly applicable approaches to compare against, we choose the
Logical Neighborhoods [9] approach. To this end, we implemented

PA Watershed and Logical Neighborhood abstractions on top of
MuMHR [35] routing protocol and evaluated them using the Dingo
[40] simulator. In our experiments, programming abstractions are
used as a query scoping mechanism to constrain dissemination of
queries so that the entire network is not flooded.
9.1. Dingo WSNs simulator
Dingo provides tools for the simulation and deployment of
high-level, Python code on real WSNs. Dingo users write high level
simulations, which can then be refined to various hardware platforms (e.g., Gumstix [41]). In addition, Dingo allows mixed mode
simulation using a combination of real and simulated nodes. The
authors found Dingo not only easy to use, but also powerful enough to model and simulate the behaviour of systems at various
design stages. In Dingo, nodes have the ability to obtain their
sensed data from a database or graphical objects like maps. The
use of real-world data improves the fidelity of simulations as it
makes it possible to check the simulation results against the real
data. Furthermore, Dingo has several features in the form of
plugins. These can be activated/deactivated on the plugin menu.
Network topologies can be loaded and saved. The ‘‘Topology’’ menu
can be used to change the network topology of a simulation from a
random topology to/from a grid.
9.2. MuMHR routing protocol
In our experiments we make use of MuMHR (Multi-hop Multipath Hierarchal Routing) because it has proven to be an energy efficient and robust routing protocol. MuMHR is already implemented
in Dingo, which allowed the authors to direct the implementation
efforts on the programming abstractions.
9.3. Simulation setup and scenario
In all simulations, we configured a number of parameters based
on the Crossbow [42] wireless sensor hardware platform. Concurrently, we tried to conform to values set in the synthetic scenario
in [9] for better comparison. Nodes were dispersed over the
monitored region such that no two nodes share the same location
and the transmission range of each node is bound to 75 m. The
bandwidth of the channel was set to 1 Mbps, each data message
was 500 bytes long, and the packet header for various message
types was fixed to 30 bytes. A simple model for radio hardware energy dissipation is also assumed. The transmitter dissipates energy
to run the radio electronics and power amplifier; and the receiver
dissipates energy to run the radio electronics. All the nodes were
given an equal initial supply of energy. The processing delay for
transmitting a message is randomly chosen between 0 and 5 ms,
simulating real-world characteristics of low-power radio
transmission.
The simulated scenario is the deployment of a WSN to monitor
the temperature in an environmentally sensitive area. Each node is
initially configured with a single attribute, i.e., temperature. The
node’s temperature reading is perceived as the colour intensity
corresponding to its position on a thermal map. All simulations
employ a thermal map, Fig. 4(a), taken from [43]. This thermal
map is fed in the simulator as an image at the system startup. To
simulate dynamic conditions, a list of events in terms of significant
increase of temperature readings on some nodes was configured.
The set of nodes at which these events are to occur was defined,
initially nondeterministically, before the start of each simulation
run. In each run, between 5 and 10 events occur at predefined
intervals. An event occurrence is followed by a query to locate
the lowest and highest temperature readings in the entire network.
Each simulation run lasted 1000 s.

Please cite this article in press as: M. Hammoudeh, R. Newman, Information extraction from sensor networks using the Watershed transform algorithm,
Informat. Fusion (2013), http://dx.doi.org/10.1016/j.inffus.2013.07.001
M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx

The PA Watershed algorithm has been implemented starting
from the Python code of SciPy Cookbook available at [44]. Each
node runs a copy of Algorithm 1 until stabilisation. Then, a request
(query) is made to the sink node using a simple graphical user
interface. Dingo provides a chart pane where individual node data
or network data can be plotted during the simulation.
Due to the effect that network density and nodes distribution
have on the performance analysis results, multiple simulation runs
are combined to estimate uncertainties in the simulations. In other
words, to demonstrate that the results are not biased to specific
network setup, we ran the same experiments for 5 different distributions. This makes our simulation a Monte Carlo simulation, as
repeated sampling from a distribution is performed. Therefore, in
each simulation run, network nodes were randomly positioned in
the simulation window. At each point, the measured metric of five
runs was averaged.
9.4. Performance metrics, results and analysis
Query resolution is implemented in four algorithms: PA Watershed, segments are used as high-level programming model to
support query resolution; Logical Neighborhood, the network is
partitioned into logical groups as described in [9]; In-network processing, by data aggregation up the network spanning tree; and
centralised, by collecting and analysing all data at the sink.
Fig. 4(b) shows the network segmentation results using the PA
Watershed algorithm. It is straightforward to extend the segmentation results of the thermal map using the generalised Voronoi,
i.e., every location where there is no sensor node is allocated to
its closest segment, Fig. 4(c). Since the most power consuming
operation is wireless communication, a query resolution cost is
measured as the traffic overhead generated to answer the query.
Fig. 5 shows the communication overhead generated by each of
the four studied query resolution methods. The results indicate
that on average, segment-based query processing resulted in an almost 79.5% decrease in the total number of transmissions over the
centralised approach, 66% decrease on average over the in-network
processing approach, and 40% decrease on average over the Logical
Neighborhood approach.
Centralised query collection incurs the highest messaging overhead amongst the four tested approaches. This is because the query
is received by every node in the network. If a node is carrying data
relevant to the posed query, then it sends it to the base station
through multi-hop communication.
In-network data aggregation attempts to limit the number of
exchanged messages while providing accurate answers to posed
queries. Sensor nodes form an aggregation tree, where parent
nodes aggregate the data received from their children and forward
the result to their own parents. However, similar to centralised
query resolution, in-network data aggregation query resolution
does not provide a mechanism for isolating nodes carrying data
irrelevant to a query. Some queries include the characteristics of
nodes to participate in the response; however, the query still has
to be received by all nodes in the network. Moreover, when the

Fig. 4. (a) Test thermal map; (b) PA Watershed segmentation results; and (c)
Extend segmentation results.

9

Fig. 5. Comparison of the messaging overhead involved in resolving the query at
different network densities.

query is dealing with multiple elements targets, the size of collected data can potentially be excessive. This may require the fragmentation of data to be transmitted through multiple messages,
which results in dramatic increase in the number of transmissions
as the data moves towards the base station.
It is clear from Fig. 5 that Watershed-based query resolution
outperforms Logical Neighborhood in terms of messaging
overhead. The separation of the Logical Neighborhood from its
expressly devised routing protocol resulted in an increased communication overhead. This is because of incorporating the protocol-dependent communication cost in the group membership
function. As a result, the span of communication also changes in
an undesirable manner. Watershed segment abstraction leveraged
localised interactions without pre-installing neighborhood
templates.
The number of nodes that participated in answering a specific
query has impact on the total response time, energy consumption,
and accuracy of the response to that query. Eliminating nodes carrying information unrelated to a specific query reduces energy
consumption and data analysis time as well as improves the response accuracy. Fig. 6 presents the number of nodes participated
in resolving a query at various network densities using the PA Watershed and the Logical Neighborhoods algorithms. A node is
counted as involved in generating a query if it sends or forwards
the query message or a response message associated to this query.
The results show that on average, segment-based query processing
resulted in an almost 24.5% decrease in the total number of nodes
that participated in answering the query over the Logical Neighborhoods approach at an identical accuracy level. The exclusion
of non-relevant nodes to the query initial search allows drilling
down into the exact response; this new capability is a positive indicator of the scalability of the approach. Watershed leverages the
knowledge of the information distribution, which makes it more
feasible than the Logical Neighborhoods and other traditional approaches. In the Watershed-based approach, the neighbours set
is built using the steepest paths metric, which provides an efficient
way to sort nodes according to the data they carry. Accordingly,
many query types such as maximum, minimum, or average are resolved involving small portions of the network. Moreover, the
Shepard distance metric adopted in the Watershed algorithm helps
to enhance localised interactions by limiting the span of the neighbourhood. The combined Shepard neighbourhood metric resulted
in better results than the cost construct defined in the Logical
Neighborhood. In the latter, cost is measured in credits on a pernode basis without considering the local and global node density.
Thus, our approach performed better in determining the network
sections to participate in resolving the posed query and how to
reach them.

Please cite this article in press as: M. Hammoudeh, R. Newman, Information extraction from sensor networks using the Watershed transform algorithm,
Informat. Fusion (2013), http://dx.doi.org/10.1016/j.inffus.2013.07.001
10

M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx

cient segments that minimise unnecessary communication and enhance queries responses accuracy. Compared to the original
Watershed algorithm, the key enhancement in the PA Watershed
is that travelling along the steepest paths and labelling are concurrently and locally ran according to nodes states, throughout the
complete segmentation process. A number of shortcomings so far
in the work can be dealt with in the future, for instance the detailed study of segmentation setup and maintenance cost.
11. Future work

Fig. 6. The number of nodes responded by sending their data to resolve the query.

Fig. 7 shows the convergence time for the PA Watershed and the
Logical Neighborhoods averaged across multiple runs at different
network densities. It can be seen that Watershed-based segmentation always generates better quality logical groups without incurring an unacceptable increase in convergence time ($30%)
compared to the Logical Neighborhoods. This low convergence
time is due to its asynchronous operation, which makes group
segmentation a fast process. Also, the time required to update segments is small, because each node is only dependent on the set of
nodes on its path to the minima.
10. Conclusion
This paper advocates PA Watershed segments as a high-level
programming abstractions for query-based information extraction
systems. It presents network segmentation as a possible effective
solution to the problem of the limitations of pure query-based systems. The logical constructs provided by Watershed offer an effective method for processing user queries. Segments provide a useful
abstraction for the low level programming of nodes (the establishment of network topology and of radio communications) while still
providing users with the ability to extract high-level information
from the network. The advantages of Watershed segments include:
dynamic construction and updating of segments; eliminating the
need for compilers or new programming constructs; catering for
node level communication; localised computation; segment setup
considers the physical topology provided by wireless broadcast;
and the span of the segment improves response accuracy while
reducing the processing cost.
Experimental results presented in Section 9 show that in-network, segment-based query resolution results in substantial
energy savings compared to the baseline and Logical Neighborhood
schemes. The PA Watershed groups nodes into logical energy effi-

Leading directly from the work in this paper, there are a number
of avenues that need to be followed. Most importantly, investigate
the usefulness of the Watershed gradients to various network and
application functions. For instance, in agent-oriented WSN system
such as [12], the gradient can be used for itinerary planning of the
mobile agents. The order in which sensor nodes are visited by the
mobile agent and the number of nodes it migrates to can have a
significant impact on energy consumption. Similarly, the gradient
can be used in generating more efficient query execution plans,
i.e., the number of nodes to process a query and the order in which
a query reaches these nodes. For example, if the temperature at
location (x, y) is 50 °C, then nearby locations temperature should
be correlated with that based on distance. The presented work uses
this natural gradient as a key characteristic to forward the query
towards the heat source. To select an optimal subset of sensor
nodes and to decide on an optimal order of how to incorporate
these measurements can be equally well supported by other methods such as exploiting the relationships among multi-modal sense
data. As information about a particular event of interest is usually
captured in multiple sensed modalities, then, it is feasible to exploit multi-modal relationships to merge multi-modal query dissemination and data collection for different modalities together.
Mathematically, this can be viewed as calculating a gradient that
is the derivative of a multi-variable function. However, now that
there are multiple directions to consider; the direction of gradient
is no longer simply ‘‘up’’ or ‘‘down’’ along the x-axis, like it is with
functions of a single modality. The Watershed gradients can also be
useful to WSNs applications such as flood management. The gradient can be utilised to create high-risk flood maps to predict, report,
and control floods. These maps contain answers to queries relevant
to the such tasks; for example, when rain falls on a catchment,
what is the amount of rainwater that reached the waterways?
We also intend to investigate possible ways to exploit the gradient to give meaning to the collected data. For instance, in forest
fire monitoring applications, the gradient at each point shows the
direction the temperature rises most quickly. The magnitude of the
gradient determines how fast the temperature rises in that direction. This information can be useful for firefighting operations. By
taking a dot product, it is possible to measure how temperature
changes in directions other than the direction of greatest change.
Moreover, the gradient can be used as a visualisation tool similar
to a vector map. It can be used to visually display the location of
senor nodes as well as the direction and magnitude of data. This
data representation can be overlaid over geographic maps to allow
users from different communities to derive conclusions based on
visual information. This visualisation and analysis tool is visually
communicative, it provides information on spatial patterns, it implies the distributions and states, and it implies the relations of
various phenomena.
References

Fig. 7. Watershed and Logical Neighborhoods convergence time with logarithmic
regression.

[1] B. Liu, H. Ju, Y. Yao, Object recognition and centroid detection based on
machine vision, in: Second International Conference on Mechanic Automation
and Control Engineering, 2011, pp. 5945–5947.

Please cite this article in press as: M. Hammoudeh, R. Newman, Information extraction from sensor networks using the Watershed transform algorithm,
Informat. Fusion (2013), http://dx.doi.org/10.1016/j.inffus.2013.07.001
M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx
[2] F2F, RFID from Farm to Fork, 2013. http://www.rfid-f2f.eu/ (accessed
15.03.13).
[3] L. Vincent, P. Soille, Watersheds in digital spaces: an efficient algorithm based
on immersion simulations, IEEE Trans. Pattern Anal. Mach. Intell. 13 (6) (1991)
583–598.
[4] A. Pathak, V.K. Prasanna, Energy-efficient task mapping for data-driven sensor
network macroprogramming, IEEE Trans. Comput. 59 (7) (2010) 955–968.
[5] T.W. Hnat, T.I. Sookoor, P. Hooimeijer, W. Weimer, K. Whitehouse, A modular
and extensible macroprogramming compiler, in: Proceedings of the 2010 ICSE
Workshop on Software Engineering for Sensor Network Applications, SESENA
’10, 2010, pp. 49–54.
[6] A. Pathak, M.K. Gowda, Srijan: a graphical toolkit for sensor network
macroprogramming, in: Proceedings of the 7th Joint Meeting of the
European Software Engineering Conference and the ACM SIGSOFT
Symposium on The Foundations of Software Engineering, ESEC/FSE ’09, 2009,
pp. 301–302.
[7] T.I. Sookoor, T.W. Hnat, K. Whitehouse, Programming cyber-physical systems
with macrolab, in: Proceedings of the 6th ACM Conference on Embedded
Network Sensor Systems, SenSys ’08, 2008, pp. 363–364.
[8] R. Newton, G. Morrisett, M. Welsh, The regiment macroprogramming system,
in: Proceedings of the 6th International Conference on Information Processing
in Sensor Networks, IPSN ’07, 2007, pp. 489–498.
[9] L. Mottola, G.P. Picco, Using logical neighborhoods to enable scoping in
wireless sensor networks, in: Proceedings of the 3rd International Middleware
Doctoral Symposium, 2006, pp. 6–12.
[10] L. Mottola, G.P. Picco, Programming wireless sensor networks: fundamental
concepts and state of the art, ACM Comput. Surv. 43 (3) (2011). 19:1–19:51.
[11] F. Bellifemine, G. Fortino, R. Giannantonio, R. Gravina, A. Guerrieri, M. Sgroi,
Spine: a domain-specific framework for rapid prototyping of WBSN
applications, Softw. Pract. Exp. 41 (3) (2011) 237–265. http://dx.doi.org/
10.1002/spe.998.
[12] F. Aiello, G. Fortino, R. Gravina, A. Guerrieri, A java-based agent platform for
programming wireless sensor networks, Comput. J. 54 (3) (2011) 439–454.
http://dx.doi.org/10.1093/comjnl/bxq019.
[13] Oracle Labs, Small Programmable Object Technology (sun spot), 2012. http://
www.sunspotworld.com/ (accessed 26.09.12).
[14] N. Raveendranathan, S. Galzarano, V. Loseu, R. Gravina, R. Giannantonio, M.
Sgroi, R. Jafari, G. Fortino, From modeling to implementation of virtual sensors
in body sensor networks, IEEE Sens. J. 12 (3) (2012) 583–593. http://dx.doi.org/
10.1109/JSEN.2011.2121059.
[15] D. Roggen, C. Lombriser, M. Rossi, G. Tröster, Titan: an enabling framework for
activity-aware ‘pervasive apps’ in opportunistic personal area networks,
EURASIP J. Wirel. Commun. Netw. (2011) 1:1–1:22. http://dx.doi.org/
10.1155/2011/172831.
[16] K. Whitehouse, C. Sharp, E. Brewer, D. Culler, Hood: a neighborhood
abstraction for sensor networks, in: Proceedings of the 2nd International
Conference on Mobile Systems, Applications, and Services, 2004, pp. 99–110.
[17] M. Welsh, G. Mainland, Programming sensor networks using abstract regions,
in: Proceedings of the 1st Conference on Symposium on Networked Systems
Design and Implementation, vol. 1, 2004, pp. 3–3.
[18] R. Gummadi, N. Kothari, R. Govindan, T. Millstein, Kairos: a macroprogramming system for wireless sensor networks, in: Proceedings of the
Twentieth ACM Symposium on Operating Systems Principles, SOSP ’05, 2005,
pp. 1–2.
[19] 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, A. Wood,
Envirotrack: Towards an environmental computing paradigm for distributed
sensor networks, in: Proceedings of the 24th International Conference on
Distributed Computing Systems (ICDCS’04), 2004, pp. 582–589.
[20] L. Mottola, G.P. Picco, Logical neighborhoods: a programming abstraction for
wireless sensor networks, in: Proceedings of the Second IEEE International
Conference on Distributed Computing in Sensor Systems, Springer-Verlag,
Berlin, Heidelberg, 2006, pp. 150–168.

11

[21] V. Osma-Ruiz, J.I. Godino-Llorente, N. Sáenz-Lechón, P. Gómez-Vilda, An
improved watershed algorithm based on efficient computation of shortest
paths, Pattern Recognit. Lett. 40 (2007) 1078–1090.
[22] C. Kuo, S. Odeh, M. Huang, Image segmentation with improved watershed
algorithm and its FPGA implementation, in: The 2001 IEEE International
Symposium on Circuits and Systems, vol. 2, 2001, pp. 753–756.
[23] A. Bleau, L.J. Leon, Watershed-based segmentation and region merging,
Comput. Vis. Image Underst. 77 (2000) 317–370.
[24] A. Bieniek, A. Moga, An efficient watershed algorithm based on connected
components, Pattern Recognit. Lett. 33 (6) (2000) 907–916.
[25] V. Grau, A.U.J. Mewes, M. Alcaniz, R. Kikinis, S.K. Warfield, Improved
watershed transform for medical image segmentation using prior
information, IEEE Trans. Med. Imaging 23 (4) (2004) 447–458.
[26] H. Sun, J. Yang, M. Ren, A fast watershed algorithm based on chain code and its
application in image segmentation, Pattern Recogn. Lett. 26 (2005) 1266–
1274.
[27] C. Rambabu, T. Rathore, I. Chakrabarti, A new watershed algorithm based on
hillclimbing technique for image segmentation, in: Conference on Convergent
Technologies for the Asia-Pacific Region, vol. 4, 2003, pp. 1404–1408.
´
[28] M. Swiercz, M. Iwanowski, Fast, parallel watershed algorithm based on path
tracing, in: Proceedings of the 2010 International Conference on Computer
Vision and Graphics: Part II, ICCVG’10, 2010, pp. 317–324.
[29] B. Wagner, A. Dinges, P. Müller, G. Haase, Parallel volume image segmentation
with watershed transformation, in: Proceedings of the 16th Scandinavian
Conference on Image Analysis, SCIA ’09, Springer-Verlag, 2009, pp. 420–429.
[30] F. Meyer, Topographic distance and watershed lines, Signal Process. 38 (1994)
113–125.
[31] J.B.T.M. Roerdink, A. Meijster, The watershed transform: definitions,
algorithms and parallelization strategies, Fundam. Inform. 41 (1–2) (2000)
187–228.
[32] D. Shepard, A two-dimensional interpolation function for irregularly-spaced
data, in: Proceedings of the 1968 23rd ACM National Conference, ACM, 1968,
pp. 517–524.
[33] M. Hammoudeh, R. Newman, C. Dennett, S. Mount, Interpolation techniques
for building a continuous map from discrete wireless sensor network data,
Wirel. Commun. Mobile Comput. 2 (2011) 41–60. http://dx.doi.org/10.1002/
wcm.1139.
[34] G.J. Pottie, W.J. Kaiser, Wireless integrated network sensors, Commun. ACM 43
(5) (2000) 51–58.
[35] M. Hammoudeh, A. Kurz, E. Gaura, Mumhr: Multi-path, multi-hop hierarchical
routing, in: Proceedings of the 2007 International Conference on Sensor
Technologies and Applications, 2007, pp. 140–145.
[36] P. Sun, W.K. Seah, P.W. Lee, Efficient data delivery with packet cloning for
underwater sensor networks, in: Symposium on Underwater Technology and
Workshop on Scientific Use of Submarine Cables and Related Technologies,
2007, pp. 34–41.
[37] M. Chu, J.J. Liu, F. Zhao, State-centric programming for sensor-actuator
network systems, IEEE Pervasive Comput. 2 (4) (2003) 50–62.
[38] E. Cheong, J. Liebman, J. Liu, F. Zhao, TinyGALS: a programming model for
event-driven embedded systems, in: Proceedings of the 2003 ACM symposium
on Applied computing, SAC ’03, 2003, pp. 698–704.
[39] L. He, Y. Chao, K. Suzuki, K. Wu, Fast connected-component labeling, Pattern
Recognit. Lett. 42 (2009) 1977–1987.
[40] S. Mount, M. Hammoudeh, A Development Tool for Wireless Sensor Networks,
2011. http://www.code.google.com/p/dingo-wsn/ (accessed 21.03.11).
[41] Gumstix.com,
Gumstix
Way
Small
Computing,
2011.
http://
www.gumstix.com (accessed 26.03.111).
[42] Crossbow Technology Inc, The Smart Sensors Company, 2011. http://
www.xbow.com (accessed 26.03.1111).
[43] FLIR Systems, Flir Thermography, 2011. http://www.goinfrared.com
(accessed 26.04.11).
[44] SciPy Cookbook, Cookbook Watershed, 2012. http://www.scipy.org/
Cookbook/Watershed (accessed 15.10.12).

Please cite this article in press as: M. Hammoudeh, R. Newman, Information extraction from sensor networks using the Watershed transform algorithm,
Informat. Fusion (2013), http://dx.doi.org/10.1016/j.inffus.2013.07.001

Mais conteúdo relacionado

Mais procurados

An Integrated Inductive-Deductive Framework for Data Mapping in Wireless Sens...
An Integrated Inductive-Deductive Framework for Data Mapping in Wireless Sens...An Integrated Inductive-Deductive Framework for Data Mapping in Wireless Sens...
An Integrated Inductive-Deductive Framework for Data Mapping in Wireless Sens...M H
 
An Approach to Data Extraction and Visualisation for Wireless Sensor Networks
An Approach to Data Extraction and Visualisation for Wireless Sensor NetworksAn Approach to Data Extraction and Visualisation for Wireless Sensor Networks
An Approach to Data Extraction and Visualisation for Wireless Sensor NetworksM H
 
Review on Clustering and Data Aggregation in Wireless Sensor Network
Review on Clustering and Data Aggregation in Wireless Sensor NetworkReview on Clustering and Data Aggregation in Wireless Sensor Network
Review on Clustering and Data Aggregation in Wireless Sensor NetworkEditor IJCATR
 
Improving the scalability by contact information compression in routing
Improving the scalability by contact information compression in routingImproving the scalability by contact information compression in routing
Improving the scalability by contact information compression in routingijitjournal
 
An Efficient Approach for Data Gathering and Sharing with Inter Node Communi...
 An Efficient Approach for Data Gathering and Sharing with Inter Node Communi... An Efficient Approach for Data Gathering and Sharing with Inter Node Communi...
An Efficient Approach for Data Gathering and Sharing with Inter Node Communi...cscpconf
 
Data Aggregation Routing Protocols in Wireless Sensor Networks : A Taxonomy
Data Aggregation Routing Protocols in Wireless Sensor Networks : A TaxonomyData Aggregation Routing Protocols in Wireless Sensor Networks : A Taxonomy
Data Aggregation Routing Protocols in Wireless Sensor Networks : A TaxonomyIJCNCJournal
 
PERFORMANCE STUDY AND SIMULATION OF AN ANYCAST PROTOCOL FOR WIRELESS MOBILE A...
PERFORMANCE STUDY AND SIMULATION OF AN ANYCAST PROTOCOL FOR WIRELESS MOBILE A...PERFORMANCE STUDY AND SIMULATION OF AN ANYCAST PROTOCOL FOR WIRELESS MOBILE A...
PERFORMANCE STUDY AND SIMULATION OF AN ANYCAST PROTOCOL FOR WIRELESS MOBILE A...ijwmn
 
5113jgraph01
5113jgraph015113jgraph01
5113jgraph01graphhoc
 
IRJET - Analytical Study of Hierarchical Routing Protocols for Virtual Wi...
IRJET -  	  Analytical Study of Hierarchical Routing Protocols for Virtual Wi...IRJET -  	  Analytical Study of Hierarchical Routing Protocols for Virtual Wi...
IRJET - Analytical Study of Hierarchical Routing Protocols for Virtual Wi...IRJET Journal
 
IEEE Networking 2016 Title and Abstract
IEEE Networking 2016 Title and AbstractIEEE Networking 2016 Title and Abstract
IEEE Networking 2016 Title and Abstracttsysglobalsolutions
 
A NOVEL APPROACH FOR ENERGY EFFICIENT HIERARCHY BASED ROUTING IN SENSOR NETWO...
A NOVEL APPROACH FOR ENERGY EFFICIENT HIERARCHY BASED ROUTING IN SENSOR NETWO...A NOVEL APPROACH FOR ENERGY EFFICIENT HIERARCHY BASED ROUTING IN SENSOR NETWO...
A NOVEL APPROACH FOR ENERGY EFFICIENT HIERARCHY BASED ROUTING IN SENSOR NETWO...cscpconf
 
Security based Clock Synchronization technique in Wireless Sensor Network for...
Security based Clock Synchronization technique in Wireless Sensor Network for...Security based Clock Synchronization technique in Wireless Sensor Network for...
Security based Clock Synchronization technique in Wireless Sensor Network for...iosrjce
 
Iaetsd a survey on geographic routing relay selection in
Iaetsd a survey on geographic routing relay selection inIaetsd a survey on geographic routing relay selection in
Iaetsd a survey on geographic routing relay selection inIaetsd Iaetsd
 
A smart clustering based approach to
A smart clustering based approach toA smart clustering based approach to
A smart clustering based approach toIJCNCJournal
 
A QoI Based Energy Efficient Clustering for Dense Wireless Sensor Network
A QoI Based Energy Efficient Clustering for Dense Wireless Sensor NetworkA QoI Based Energy Efficient Clustering for Dense Wireless Sensor Network
A QoI Based Energy Efficient Clustering for Dense Wireless Sensor Networkijassn
 
Energy Consumption Minimization in WSN using BFO
 Energy Consumption Minimization in WSN using BFO Energy Consumption Minimization in WSN using BFO
Energy Consumption Minimization in WSN using BFOrahulmonikasharma
 

Mais procurados (20)

An Integrated Inductive-Deductive Framework for Data Mapping in Wireless Sens...
An Integrated Inductive-Deductive Framework for Data Mapping in Wireless Sens...An Integrated Inductive-Deductive Framework for Data Mapping in Wireless Sens...
An Integrated Inductive-Deductive Framework for Data Mapping in Wireless Sens...
 
An Approach to Data Extraction and Visualisation for Wireless Sensor Networks
An Approach to Data Extraction and Visualisation for Wireless Sensor NetworksAn Approach to Data Extraction and Visualisation for Wireless Sensor Networks
An Approach to Data Extraction and Visualisation for Wireless Sensor Networks
 
Review on Clustering and Data Aggregation in Wireless Sensor Network
Review on Clustering and Data Aggregation in Wireless Sensor NetworkReview on Clustering and Data Aggregation in Wireless Sensor Network
Review on Clustering and Data Aggregation in Wireless Sensor Network
 
D035418024
D035418024D035418024
D035418024
 
Analytical Study of Cluster Based Routing Protocols in MANET
Analytical Study of Cluster Based Routing Protocols in MANETAnalytical Study of Cluster Based Routing Protocols in MANET
Analytical Study of Cluster Based Routing Protocols in MANET
 
Improving the scalability by contact information compression in routing
Improving the scalability by contact information compression in routingImproving the scalability by contact information compression in routing
Improving the scalability by contact information compression in routing
 
pxc3903794
pxc3903794pxc3903794
pxc3903794
 
An Efficient Approach for Data Gathering and Sharing with Inter Node Communi...
 An Efficient Approach for Data Gathering and Sharing with Inter Node Communi... An Efficient Approach for Data Gathering and Sharing with Inter Node Communi...
An Efficient Approach for Data Gathering and Sharing with Inter Node Communi...
 
Data Aggregation Routing Protocols in Wireless Sensor Networks : A Taxonomy
Data Aggregation Routing Protocols in Wireless Sensor Networks : A TaxonomyData Aggregation Routing Protocols in Wireless Sensor Networks : A Taxonomy
Data Aggregation Routing Protocols in Wireless Sensor Networks : A Taxonomy
 
PERFORMANCE STUDY AND SIMULATION OF AN ANYCAST PROTOCOL FOR WIRELESS MOBILE A...
PERFORMANCE STUDY AND SIMULATION OF AN ANYCAST PROTOCOL FOR WIRELESS MOBILE A...PERFORMANCE STUDY AND SIMULATION OF AN ANYCAST PROTOCOL FOR WIRELESS MOBILE A...
PERFORMANCE STUDY AND SIMULATION OF AN ANYCAST PROTOCOL FOR WIRELESS MOBILE A...
 
5113jgraph01
5113jgraph015113jgraph01
5113jgraph01
 
IRJET - Analytical Study of Hierarchical Routing Protocols for Virtual Wi...
IRJET -  	  Analytical Study of Hierarchical Routing Protocols for Virtual Wi...IRJET -  	  Analytical Study of Hierarchical Routing Protocols for Virtual Wi...
IRJET - Analytical Study of Hierarchical Routing Protocols for Virtual Wi...
 
IEEE Networking 2016 Title and Abstract
IEEE Networking 2016 Title and AbstractIEEE Networking 2016 Title and Abstract
IEEE Networking 2016 Title and Abstract
 
A NOVEL APPROACH FOR ENERGY EFFICIENT HIERARCHY BASED ROUTING IN SENSOR NETWO...
A NOVEL APPROACH FOR ENERGY EFFICIENT HIERARCHY BASED ROUTING IN SENSOR NETWO...A NOVEL APPROACH FOR ENERGY EFFICIENT HIERARCHY BASED ROUTING IN SENSOR NETWO...
A NOVEL APPROACH FOR ENERGY EFFICIENT HIERARCHY BASED ROUTING IN SENSOR NETWO...
 
Security based Clock Synchronization technique in Wireless Sensor Network for...
Security based Clock Synchronization technique in Wireless Sensor Network for...Security based Clock Synchronization technique in Wireless Sensor Network for...
Security based Clock Synchronization technique in Wireless Sensor Network for...
 
Iaetsd a survey on geographic routing relay selection in
Iaetsd a survey on geographic routing relay selection inIaetsd a survey on geographic routing relay selection in
Iaetsd a survey on geographic routing relay selection in
 
DESIGN AND IMPLEMENTATION OF ADVANCED MULTILEVEL PRIORITY PACKET SCHEDULING S...
DESIGN AND IMPLEMENTATION OF ADVANCED MULTILEVEL PRIORITY PACKET SCHEDULING S...DESIGN AND IMPLEMENTATION OF ADVANCED MULTILEVEL PRIORITY PACKET SCHEDULING S...
DESIGN AND IMPLEMENTATION OF ADVANCED MULTILEVEL PRIORITY PACKET SCHEDULING S...
 
A smart clustering based approach to
A smart clustering based approach toA smart clustering based approach to
A smart clustering based approach to
 
A QoI Based Energy Efficient Clustering for Dense Wireless Sensor Network
A QoI Based Energy Efficient Clustering for Dense Wireless Sensor NetworkA QoI Based Energy Efficient Clustering for Dense Wireless Sensor Network
A QoI Based Energy Efficient Clustering for Dense Wireless Sensor Network
 
Energy Consumption Minimization in WSN using BFO
 Energy Consumption Minimization in WSN using BFO Energy Consumption Minimization in WSN using BFO
Energy Consumption Minimization in WSN using BFO
 

Destaque

Formulario clientes (1)
Formulario clientes (1)Formulario clientes (1)
Formulario clientes (1)angiedaiana
 
Joseph & all things semitic port
Joseph & all things semitic portJoseph & all things semitic port
Joseph & all things semitic portdearl1
 
Formulario datos del paciente
Formulario datos del pacienteFormulario datos del paciente
Formulario datos del pacienteangiedaiana
 
Europe with switzerlandwww. Tripmart.com
Europe with switzerlandwww. Tripmart.comEurope with switzerlandwww. Tripmart.com
Europe with switzerlandwww. Tripmart.comtripmart
 
наш выбор здоровье
наш выбор   здоровьенаш выбор   здоровье
наш выбор здоровьеkillaruns
 
An efficient implementation of pattern growth approach
An efficient implementation of pattern growth approachAn efficient implementation of pattern growth approach
An efficient implementation of pattern growth approachEsranur Öğretmen
 
Formulario datos del paciente
Formulario datos del pacienteFormulario datos del paciente
Formulario datos del pacienteangiedaiana
 
Formulario devoluciones
Formulario devolucionesFormulario devoluciones
Formulario devolucionesangiedaiana
 
5S Stefanie Civilization
5S Stefanie Civilization5S Stefanie Civilization
5S Stefanie CivilizationgsbSS
 
203385325 o-net-52-ปีการศึกษา-2551
203385325 o-net-52-ปีการศึกษา-2551203385325 o-net-52-ปีการศึกษา-2551
203385325 o-net-52-ปีการศึกษา-2551apichaya413
 
Webinar: Increase research efficiency and enable collaboration with the IDBS ...
Webinar: Increase research efficiency and enable collaboration with the IDBS ...Webinar: Increase research efficiency and enable collaboration with the IDBS ...
Webinar: Increase research efficiency and enable collaboration with the IDBS ...IDBS
 

Destaque (20)

Formulario clientes (1)
Formulario clientes (1)Formulario clientes (1)
Formulario clientes (1)
 
Excite
ExciteExcite
Excite
 
Joseph & all things semitic port
Joseph & all things semitic portJoseph & all things semitic port
Joseph & all things semitic port
 
Atelier 10
Atelier 10Atelier 10
Atelier 10
 
Informe general
Informe generalInforme general
Informe general
 
Urrunaga
UrrunagaUrrunaga
Urrunaga
 
Formulario datos del paciente
Formulario datos del pacienteFormulario datos del paciente
Formulario datos del paciente
 
Europe with switzerlandwww. Tripmart.com
Europe with switzerlandwww. Tripmart.comEurope with switzerlandwww. Tripmart.com
Europe with switzerlandwww. Tripmart.com
 
Evaluation 1 mg
Evaluation 1 mgEvaluation 1 mg
Evaluation 1 mg
 
наш выбор здоровье
наш выбор   здоровьенаш выбор   здоровье
наш выбор здоровье
 
Ucsf 4 9
Ucsf 4 9 Ucsf 4 9
Ucsf 4 9
 
An efficient implementation of pattern growth approach
An efficient implementation of pattern growth approachAn efficient implementation of pattern growth approach
An efficient implementation of pattern growth approach
 
Formulario datos del paciente
Formulario datos del pacienteFormulario datos del paciente
Formulario datos del paciente
 
Informe cliente
Informe clienteInforme cliente
Informe cliente
 
Formulario devoluciones
Formulario devolucionesFormulario devoluciones
Formulario devoluciones
 
5S Stefanie Civilization
5S Stefanie Civilization5S Stefanie Civilization
5S Stefanie Civilization
 
203385325 o-net-52-ปีการศึกษา-2551
203385325 o-net-52-ปีการศึกษา-2551203385325 o-net-52-ปีการศึกษา-2551
203385325 o-net-52-ปีการศึกษา-2551
 
Webinar: Increase research efficiency and enable collaboration with the IDBS ...
Webinar: Increase research efficiency and enable collaboration with the IDBS ...Webinar: Increase research efficiency and enable collaboration with the IDBS ...
Webinar: Increase research efficiency and enable collaboration with the IDBS ...
 
Clientes2
Clientes2Clientes2
Clientes2
 
John institution q
John institution qJohn institution q
John institution q
 

Semelhante a Information extraction from sensor networks using the Watershed transform algorithm

An Overview of Information Extraction from Mobile Wireless Sensor Networks
An Overview of Information Extraction from Mobile Wireless Sensor NetworksAn Overview of Information Extraction from Mobile Wireless Sensor Networks
An Overview of Information Extraction from Mobile Wireless Sensor Networkspowera10
 
Mobile Cloud Technology And Technology
Mobile Cloud Technology And TechnologyMobile Cloud Technology And Technology
Mobile Cloud Technology And TechnologyMelissa Buckley
 
A Reliable Routing Technique for Wireless Sensor Networks
A Reliable Routing Technique for Wireless Sensor NetworksA Reliable Routing Technique for Wireless Sensor Networks
A Reliable Routing Technique for Wireless Sensor NetworksEditor IJCATR
 
A Reliable Routing Technique for Wireless Sensor Networks
A Reliable Routing Technique for Wireless Sensor NetworksA Reliable Routing Technique for Wireless Sensor Networks
A Reliable Routing Technique for Wireless Sensor NetworksEditor IJCATR
 
A data estimation for failing nodes using fuzzy logic with integrated microco...
A data estimation for failing nodes using fuzzy logic with integrated microco...A data estimation for failing nodes using fuzzy logic with integrated microco...
A data estimation for failing nodes using fuzzy logic with integrated microco...IJECEIAES
 
DATA AGGREGATION AND PRIVACY FOR POLICE PATROLS
DATA AGGREGATION AND PRIVACY FOR POLICE PATROLSDATA AGGREGATION AND PRIVACY FOR POLICE PATROLS
DATA AGGREGATION AND PRIVACY FOR POLICE PATROLSijasuc
 
Data Centric Approach Based Protocol using Evolutionary Approach in WSN
Data Centric Approach Based Protocol using Evolutionary Approach in WSNData Centric Approach Based Protocol using Evolutionary Approach in WSN
Data Centric Approach Based Protocol using Evolutionary Approach in WSNijsrd.com
 
An Analytical Model of Latency and Data Aggregation Tradeoff in Cluster Based...
An Analytical Model of Latency and Data Aggregation Tradeoff in Cluster Based...An Analytical Model of Latency and Data Aggregation Tradeoff in Cluster Based...
An Analytical Model of Latency and Data Aggregation Tradeoff in Cluster Based...ijsrd.com
 
Who Monitors the Monitors? Automated, Hierarchical Data Quality Assessment fo...
Who Monitors the Monitors? Automated, Hierarchical Data Quality Assessment fo...Who Monitors the Monitors? Automated, Hierarchical Data Quality Assessment fo...
Who Monitors the Monitors? Automated, Hierarchical Data Quality Assessment fo...Power System Operation
 
Who Monitors the Monitors? Automated, Hierarchical Data Quality Assessment fo...
Who Monitors the Monitors? Automated, Hierarchical Data Quality Assessment fo...Who Monitors the Monitors? Automated, Hierarchical Data Quality Assessment fo...
Who Monitors the Monitors? Automated, Hierarchical Data Quality Assessment fo...Power System Operation
 
Building Programming Abstractions for Wireless Sensor Networks Using Watershe...
Building Programming Abstractions for Wireless Sensor Networks Using Watershe...Building Programming Abstractions for Wireless Sensor Networks Using Watershe...
Building Programming Abstractions for Wireless Sensor Networks Using Watershe...M H
 
DATA TRANSMISSION IN WIRELESS SENSOR NETWORKS FOR EFFECTIVE AND SECURE COMMUN...
DATA TRANSMISSION IN WIRELESS SENSOR NETWORKS FOR EFFECTIVE AND SECURE COMMUN...DATA TRANSMISSION IN WIRELESS SENSOR NETWORKS FOR EFFECTIVE AND SECURE COMMUN...
DATA TRANSMISSION IN WIRELESS SENSOR NETWORKS FOR EFFECTIVE AND SECURE COMMUN...IJEEE
 
Time Orient Multi Attribute Sensor Selection Technique For Data Collection In...
Time Orient Multi Attribute Sensor Selection Technique For Data Collection In...Time Orient Multi Attribute Sensor Selection Technique For Data Collection In...
Time Orient Multi Attribute Sensor Selection Technique For Data Collection In...inventionjournals
 
Paper id 25201431
Paper id 25201431Paper id 25201431
Paper id 25201431IJRAT
 
sensors-20-01011-v2 (1).pdf
sensors-20-01011-v2 (1).pdfsensors-20-01011-v2 (1).pdf
sensors-20-01011-v2 (1).pdfShishir Ahmed
 
TWO LEVEL DATA FUSION MODEL FOR DATA MINIMIZATION AND EVENT DETECTION IN PERI...
TWO LEVEL DATA FUSION MODEL FOR DATA MINIMIZATION AND EVENT DETECTION IN PERI...TWO LEVEL DATA FUSION MODEL FOR DATA MINIMIZATION AND EVENT DETECTION IN PERI...
TWO LEVEL DATA FUSION MODEL FOR DATA MINIMIZATION AND EVENT DETECTION IN PERI...pijans
 
Wireless Personal Communications
Wireless Personal CommunicationsWireless Personal Communications
Wireless Personal CommunicationsVenu Madhav
 
Wireless personal communication
Wireless personal communicationWireless personal communication
Wireless personal communicationVenu Madhav
 

Semelhante a Information extraction from sensor networks using the Watershed transform algorithm (20)

An Overview of Information Extraction from Mobile Wireless Sensor Networks
An Overview of Information Extraction from Mobile Wireless Sensor NetworksAn Overview of Information Extraction from Mobile Wireless Sensor Networks
An Overview of Information Extraction from Mobile Wireless Sensor Networks
 
Mobile Cloud Technology And Technology
Mobile Cloud Technology And TechnologyMobile Cloud Technology And Technology
Mobile Cloud Technology And Technology
 
A Reliable Routing Technique for Wireless Sensor Networks
A Reliable Routing Technique for Wireless Sensor NetworksA Reliable Routing Technique for Wireless Sensor Networks
A Reliable Routing Technique for Wireless Sensor Networks
 
A Reliable Routing Technique for Wireless Sensor Networks
A Reliable Routing Technique for Wireless Sensor NetworksA Reliable Routing Technique for Wireless Sensor Networks
A Reliable Routing Technique for Wireless Sensor Networks
 
A data estimation for failing nodes using fuzzy logic with integrated microco...
A data estimation for failing nodes using fuzzy logic with integrated microco...A data estimation for failing nodes using fuzzy logic with integrated microco...
A data estimation for failing nodes using fuzzy logic with integrated microco...
 
DATA AGGREGATION AND PRIVACY FOR POLICE PATROLS
DATA AGGREGATION AND PRIVACY FOR POLICE PATROLSDATA AGGREGATION AND PRIVACY FOR POLICE PATROLS
DATA AGGREGATION AND PRIVACY FOR POLICE PATROLS
 
[IJET-V1I4P2] Authors : Doddappa Kandakur; Ashwini B P
[IJET-V1I4P2] Authors : Doddappa Kandakur; Ashwini B P[IJET-V1I4P2] Authors : Doddappa Kandakur; Ashwini B P
[IJET-V1I4P2] Authors : Doddappa Kandakur; Ashwini B P
 
Data Centric Approach Based Protocol using Evolutionary Approach in WSN
Data Centric Approach Based Protocol using Evolutionary Approach in WSNData Centric Approach Based Protocol using Evolutionary Approach in WSN
Data Centric Approach Based Protocol using Evolutionary Approach in WSN
 
An Analytical Model of Latency and Data Aggregation Tradeoff in Cluster Based...
An Analytical Model of Latency and Data Aggregation Tradeoff in Cluster Based...An Analytical Model of Latency and Data Aggregation Tradeoff in Cluster Based...
An Analytical Model of Latency and Data Aggregation Tradeoff in Cluster Based...
 
C1804011117
C1804011117C1804011117
C1804011117
 
Who Monitors the Monitors? Automated, Hierarchical Data Quality Assessment fo...
Who Monitors the Monitors? Automated, Hierarchical Data Quality Assessment fo...Who Monitors the Monitors? Automated, Hierarchical Data Quality Assessment fo...
Who Monitors the Monitors? Automated, Hierarchical Data Quality Assessment fo...
 
Who Monitors the Monitors? Automated, Hierarchical Data Quality Assessment fo...
Who Monitors the Monitors? Automated, Hierarchical Data Quality Assessment fo...Who Monitors the Monitors? Automated, Hierarchical Data Quality Assessment fo...
Who Monitors the Monitors? Automated, Hierarchical Data Quality Assessment fo...
 
Building Programming Abstractions for Wireless Sensor Networks Using Watershe...
Building Programming Abstractions for Wireless Sensor Networks Using Watershe...Building Programming Abstractions for Wireless Sensor Networks Using Watershe...
Building Programming Abstractions for Wireless Sensor Networks Using Watershe...
 
DATA TRANSMISSION IN WIRELESS SENSOR NETWORKS FOR EFFECTIVE AND SECURE COMMUN...
DATA TRANSMISSION IN WIRELESS SENSOR NETWORKS FOR EFFECTIVE AND SECURE COMMUN...DATA TRANSMISSION IN WIRELESS SENSOR NETWORKS FOR EFFECTIVE AND SECURE COMMUN...
DATA TRANSMISSION IN WIRELESS SENSOR NETWORKS FOR EFFECTIVE AND SECURE COMMUN...
 
Time Orient Multi Attribute Sensor Selection Technique For Data Collection In...
Time Orient Multi Attribute Sensor Selection Technique For Data Collection In...Time Orient Multi Attribute Sensor Selection Technique For Data Collection In...
Time Orient Multi Attribute Sensor Selection Technique For Data Collection In...
 
Paper id 25201431
Paper id 25201431Paper id 25201431
Paper id 25201431
 
sensors-20-01011-v2 (1).pdf
sensors-20-01011-v2 (1).pdfsensors-20-01011-v2 (1).pdf
sensors-20-01011-v2 (1).pdf
 
TWO LEVEL DATA FUSION MODEL FOR DATA MINIMIZATION AND EVENT DETECTION IN PERI...
TWO LEVEL DATA FUSION MODEL FOR DATA MINIMIZATION AND EVENT DETECTION IN PERI...TWO LEVEL DATA FUSION MODEL FOR DATA MINIMIZATION AND EVENT DETECTION IN PERI...
TWO LEVEL DATA FUSION MODEL FOR DATA MINIMIZATION AND EVENT DETECTION IN PERI...
 
Wireless Personal Communications
Wireless Personal CommunicationsWireless Personal Communications
Wireless Personal Communications
 
Wireless personal communication
Wireless personal communicationWireless personal communication
Wireless personal communication
 

Mais de M H

MuMHR: Multi-path, Multi-hop Hierarchical Routing
MuMHR: Multi-path, Multi-hop Hierarchical RoutingMuMHR: Multi-path, Multi-hop Hierarchical Routing
MuMHR: Multi-path, Multi-hop Hierarchical RoutingM H
 
Experimental Applications of Mapping Services in Wireless Sensor Networks
Experimental Applications of Mapping Services in Wireless Sensor NetworksExperimental Applications of Mapping Services in Wireless Sensor Networks
Experimental Applications of Mapping Services in Wireless Sensor NetworksM H
 
CSP as a Domain-Specific Language Embedded in Python and Jython
CSP as a Domain-Specific Language Embedded in Python and JythonCSP as a Domain-Specific Language Embedded in Python and Jython
CSP as a Domain-Specific Language Embedded in Python and JythonM H
 
Modelling Clustering of Wireless Sensor Networks with Synchronised Hyperedge ...
Modelling Clustering of Wireless Sensor Networks with Synchronised Hyperedge ...Modelling Clustering of Wireless Sensor Networks with Synchronised Hyperedge ...
Modelling Clustering of Wireless Sensor Networks with Synchronised Hyperedge ...M H
 
Pennies from Heaven: a retrospective on the use of wireless sensor networks f...
Pennies from Heaven: a retrospective on the use of wireless sensor networks f...Pennies from Heaven: a retrospective on the use of wireless sensor networks f...
Pennies from Heaven: a retrospective on the use of wireless sensor networks f...M H
 
Enhancing Student Learning Experience and Satisfaction Using Virtual Learning...
Enhancing Student Learning Experience and Satisfaction Using Virtual Learning...Enhancing Student Learning Experience and Satisfaction Using Virtual Learning...
Enhancing Student Learning Experience and Satisfaction Using Virtual Learning...M H
 

Mais de M H (6)

MuMHR: Multi-path, Multi-hop Hierarchical Routing
MuMHR: Multi-path, Multi-hop Hierarchical RoutingMuMHR: Multi-path, Multi-hop Hierarchical Routing
MuMHR: Multi-path, Multi-hop Hierarchical Routing
 
Experimental Applications of Mapping Services in Wireless Sensor Networks
Experimental Applications of Mapping Services in Wireless Sensor NetworksExperimental Applications of Mapping Services in Wireless Sensor Networks
Experimental Applications of Mapping Services in Wireless Sensor Networks
 
CSP as a Domain-Specific Language Embedded in Python and Jython
CSP as a Domain-Specific Language Embedded in Python and JythonCSP as a Domain-Specific Language Embedded in Python and Jython
CSP as a Domain-Specific Language Embedded in Python and Jython
 
Modelling Clustering of Wireless Sensor Networks with Synchronised Hyperedge ...
Modelling Clustering of Wireless Sensor Networks with Synchronised Hyperedge ...Modelling Clustering of Wireless Sensor Networks with Synchronised Hyperedge ...
Modelling Clustering of Wireless Sensor Networks with Synchronised Hyperedge ...
 
Pennies from Heaven: a retrospective on the use of wireless sensor networks f...
Pennies from Heaven: a retrospective on the use of wireless sensor networks f...Pennies from Heaven: a retrospective on the use of wireless sensor networks f...
Pennies from Heaven: a retrospective on the use of wireless sensor networks f...
 
Enhancing Student Learning Experience and Satisfaction Using Virtual Learning...
Enhancing Student Learning Experience and Satisfaction Using Virtual Learning...Enhancing Student Learning Experience and Satisfaction Using Virtual Learning...
Enhancing Student Learning Experience and Satisfaction Using Virtual Learning...
 

Último

Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 

Último (20)

Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 

Information extraction from sensor networks using the Watershed transform algorithm

  • 1. Information Fusion xxx (2013) xxx–xxx Contents lists available at ScienceDirect Information Fusion journal homepage: www.elsevier.com/locate/inffus Information extraction from sensor networks using the Watershed transform algorithm Mohammad Hammoudeh a,⇑, Robert Newman b a b Manchester Metropolitan University, Chester Street, Manchester M1 5GD, UK University of Wolverhampton, Wulfruna Street, Wolverhampton WV1 1LY, UK a r t i c l e i n f o Article history: Available online xxxx Keywords: Information extraction Watershed segmentation Query scoping Macroprogramming Wireless sensor networks a b s t r a c t Wireless sensor networks are an effective tool to provide fine resolution monitoring of the physical environment. Sensors generate continuous streams of data, which leads to several computational challenges. As sensor nodes become increasingly active devices, with more processing and communication resources, various methods of distributed data processing and sharing become feasible. The challenge is to extract information from the gathered sensory data with a specified level of accuracy in a timely and power-efficient approach. This paper presents a new solution to distributed information extraction that makes use of the morphological Watershed algorithm. The Watershed algorithm dynamically groups sensor nodes into homogeneous network segments with respect to their topological relationships and their sensingstates. This setting allows network programmers to manipulate groups of spatially distributed data streams instead of individual nodes. This is achieved by using network segments as programming abstractions on which various query processes can be executed. Aiming at this purpose, we present a reformulation of the global Watershed algorithm. The modified Watershed algorithm is fully asynchronous, where sensor nodes can autonomously process their local data in parallel and in collaboration with neighbouring nodes. Experimental evaluation shows that the presented solution is able to considerably reduce query resolution cost without scarifying the quality of the returned results. When compared to similar purpose schemes, such as ‘‘Logical Neighborhood’’, the proposed approach reduces the total query resolution overhead by up to 57.5%, reduces the number of nodes involved in query resolution by up to 59%, and reduces the setup convergence time by up to 65.1%. Ó 2013 Elsevier B.V. All rights reserved. 1. Introduction Wireless Sensor Networks (WSNs) are enabling the production of applications that previously were not practical. They are currently being applied to a variety of use domains ranging from habitat monitoring to space exploration, and from scientific to military. Such applications share several aspects: (1) the demand for information; (2) the response to this demand generally exists in multiple unstructured, potentially unbounded sequences of data points; (3) the generation of great volume of data that is ‘imperfect’ in nature and is characterised by significant redundancy. The characteristics of the sense data coupled with the resource constraints on sensor nodes necessitate the development of resource-efficient WSN applications. In-network information extraction is one method to minimise resource utilisation while achieving applications objectives. This is due to the fact that local processing of sensed data is more energy and bandwidth efficient than the transfer of raw data to a central location for processing. ⇑ Corresponding author. Tel.: +44 0 161 247 2845. E-mail addresses: M.Hammoudeh@mmu.ac.uk R.Newman@wlv.ac.uk (R. Newman). (M. Hammoudeh), Information extraction is the sub-discipline of artificial intelligence [1] that selectively structures, identifies, filters, classifies, and merges multi-modal data produced by multiple sensor nodes to discover recurring patterns that form a coherent and meaningful information. Initially, information extraction converts, possibly unbounded, sequences of raw data into a more uniform and convenient structural format preparing it for further processing and analysis. It exploits domain-specific knowledge and data structural properties to harvest information by finding and combining relevant data while excluding irrelevant and erroneous ones. This definition will be used throughout this work to describe the term information extraction. This work addresses distributed query-based information extraction systems that use in-network computation to provide cost effective query responses. Nevertheless, the proposed solution is general enough to be applicable to other information extraction models, e.g., periodic or threshold-based. The query-based model of information extraction is widely used in data intensive applications, where data is stored at multiple locations. Such systems are user controlled where users specify and inject a request for the information they require through simple queries; then the 1566-2535/$ - see front matter Ó 2013 Elsevier B.V. All rights reserved. http://dx.doi.org/10.1016/j.inffus.2013.07.001 Please cite this article in press as: M. Hammoudeh, R. Newman, Information extraction from sensor networks using the Watershed transform algorithm, Informat. Fusion (2013), http://dx.doi.org/10.1016/j.inffus.2013.07.001
  • 2. 2 M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx information extraction infrastructure efficiently retrieves and processes the data within the network. Generally, query-based systems support high-level declarative languages for incorporating data retrieval and analysis. In this setting, most query languages provide an interface to the WSN user whilst concealing low level details such as the network topology or communication paths. Often, the query issuer is unaware of how the query is disseminated in the network and how the data is retrieved or analysed. A fundamental requirement to effectively use the query-based information extraction model is the user’ s prior knowledge of the semantic data model and its contextual meaning. This allows network users to better understand, query, and control the extracted information. For instance, it could be essential to recognise what kind of events are occurring in a specific segment of the monitored area and when these events occurred. Depending on the type of the application, sensor data can be labelled with temporal, spatial, or other thematic semantic metadata. Accordingly, based on the user information requirements, queries can be built to distinguish a variety of events at various levels of semantic detail. In time critical applications, for example, it may be sufficient to state that a portion of a query is a temporal operator; whereas in other applications, it may be essential to distinguish among diverse temporal operators, e.g., operators specifying past, present and future. In event-driven applications, the semantic nature, scope, and unit of the requested information could be predefined. The unit of extraction defines the granularity of individual information chunks that are extracted from the sensor nodes. The scope of extraction is the process of identifying a subset of data or nodes holding data that is relevant to the requested information. To choose the chunks of information that should be considered in preparing the query response, an information extraction system uses a group of conditions. These conditions specify the formal attributes a specific chunk of information must have to belong to a certain semantic group. As an example of this kind of requirement, from a real-world and practical application, in the recently completed RFID from Farm to Fork project [2], undertaken by one of the present authors, a system was built to trace provenance and condition of food products. The general strategy was that RFID systems were used to localise food products, while WSNs were used to monitor the environment through which they passed and condition information as temperature and humidity. It is required that the condition information be associated with an individual food item, so the resolution of a query requires determination of the location of an item at a particular time and estimation of the environmental parameters at that location and time. Sensor information not associated with any food product (the majority of it) is surplus to requirements. In-network information extraction allows only the required information to be collected, avoiding the swamping of the systems with unnecessary data. The focus in this work is on large-scale sensor networks where multiple sensor types are fitted to each node. In such networks, many low-observability events require the retrieval of multi-modal data. To cope with the high-volume sensor data, we explore network segmentation techniques to provide effective mechanism for multi-modal query dissemination and local collaboration among nodes. Network segmentation provides high level abstractions for local and spatial data processing. The aggregation of sensor data and informed selective collaboration of sensor nodes can improve extracted information accuracy, reduce latency, and minimise bandwidth consumption. However, every node in the network performs sensing operations on every sensor without in-node preprocessing. This paper proposes a distributed information extraction approach that retrieves data and accurately process it to respond to queries that users pose. This approach focuses on reducing the amount of data that has to be collected and analysed to obtain the desired information. It only query nodes that are closely linked to the user requested information. The ability to limit a query scope to arbitrary subsets of nodes results in considerable energy savings, lower bandwidth utilisation, and better information quality. The absolute result of the information extraction system depends on the nature of the query; however, it usually entails identifying entities sharing a common sensing state and the relations between those entities to provide accurate information access. Our proposed approach makes use of the Watershed transform algorithm [3] to assign homogenous nodes’ to well delimited segments using nodes physical location and their sensors measurements. The purpose of the network segmentation process is to provide high-level primitives that abstracts away lowlevel system details. Unlike traditional information extraction approaches where each node is treated as an isolated computational unit, network segmentation allows efficient processing of high-level queries of logical interest over the entire network. Network segmentation is especially useful to dynamically build information rules and frames to quickly provide accurate answers to information queries at a low cost. The Watershed algorithm is able to cope with the irregular and data dependent information requests by using the most suitable option at every processing step instead of using predefined threshold values. To comply with application constraints, typically the requirement for real-time processing and limited energy consumption, we propose a new asynchronous and parallel reformulation of the Watershed transform algorithm. The presented reformulation is able to calculate the Watershed transform based on the node’s local data. It achieves similar outcome with just single point of synchronisation, hence reducing the running time without scarifying the segmentation effectiveness. These two claims are discussed in this paper and verified in experimental evaluations. The remainder of this paper is organised as follows. The next section discusses the differences of our work from other closely related work. Section 3 introduces the Watershed algorithm. Section 4 explains the suitability of this algorithm for WSNs. Section 5 describes our modifications to the Watershed algorithm. Section 6 explain the use of segments as a query scoping mechanism. Section 7 presents the parallel asynchronous implementation of the Watershed algorithm. Section 8 explains the mechanism for resolving queries. The effectiveness of the presented approach is studied by simulation in Section 9. Section 10 concludes the work. Section 11 gives a number of interesting directions for future work. 2. Related work The information extraction process begins by specifying the information needed by a user/application. Often, this takes the form of a query or event trap. Then, an information extraction approach selects a relevant subset of data or nodes carrying data that is relevant to the needed information from a larger set. To improve the accuracy of the extracted information and to minimise the cost of collecting raw data, high-level programming abstractions can be used [4–9]. Programming abstractions allow the user to specify how and where a query is disseminated. A large and growing body of literature has investigated micro- and macro-programming abstractions in the context of WSNs. Many methods and formalisms for abstraction have been proposed, but their design has often been focussed on synthetic problems, rather than requirements of working systems, such as the example given above. In this section different mechanisms to achieve abstraction are presented. We refer the interested reader to the recent survey [10] and the references therein for a comprehensive review of WSNs programming approaches. Please cite this article in press as: M. Hammoudeh, R. Newman, Information extraction from sensor networks using the Watershed transform algorithm, Informat. Fusion (2013), http://dx.doi.org/10.1016/j.inffus.2013.07.001
  • 3. M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx SPINE [11] and MAPS [12] are two effective paradigms for the programming of WSN applications. The former is a function-oriented and domain-specific framework that supports distributed signal processing and data classification functions over sensor nodes. The latter adopts an agent-oriented view in the design of a WSN programming framework for the Oracle Sun SPOT [13] devices. In MAPS, mobile agents support the programming of WSNs at various levels. The inherent properties of mobile agents, e.g., autonomy and adaptability to distributed and open environments, means that MAPS can significantly improve the design and the development of WSN applications. However, the SPINE and MAPS frameworks remains platform-specific, which limits there applicability. To deal with this issue, SPINE2 [14] has been proposed. SPINE2 is designed for the development of signal processing applications on WSNs through a task-oriented programming abstraction. In SPINE2, applications are considered as a set of interconnected tasks. A task encapsulates a well defined activity, e.g., feature extraction. SPINE2 is based on the concept of Virtual Sensors to provide platform-independent programming environment and to improve architectural modularity and design reusability. Also, SPINE2 uses the C-language to achieve platform independency for C-like programmable sensor platforms. The very high portability of the framework is, moreover, due to the strong software decoupling between the platform independent runtime execution logic and the platform-dependent components needed for accessing the services and resources offered by the platform. However, the platform-dependent components have to be customised for different platforms, which limits reusability and seamless software composition. Titan [15] is another task-oriented but service-centric framework that uses interconnected services as a programming abstraction. It defines a programming model that links nodes at run-time based on their opportunistically discovered resources to compose activity or context aware applications. Titan is similar to our proposed approach in respect to its ability to dynamically cope with changing node conditions. However, Titan cannot benefit from opportunistic sensing in the absence of comprehensive expert-knowledge and activity recognition services for each possible available sensor. A significant category of programming languages and systems is the neighbourhood-based and the high-level representation of the network. The Hood [16] and Regiment [17] are two examples of systems that are based on local behaviour to manipulate sensor nodes collectively. They provide a group of operations to allow network programmers use network regions and data streams as the basic programming abstraction. Kairos [18] provides programmers with three levels of abstraction: node abstraction, list of direct neighbours, and remote data access. Compared to Regiment, Kairos provides a small number of constructs for its three levels of abstraction, whereas, Regiments offers a bigger set of operations and data types. EnviroTrack [19] is a programming abstraction particularly designed for target-tracking applications. It has a complex group management protocol that assigns nodes that sensed the same event to the one logical group. These systems, such as Regiment and Kairos, are tailored for rather narrow range of target applications. In SPIDEY [9], a node is defined using a logical node template that has several exported attributes (dynamic and static); the abstraction definition is composed of a node template and an instantiation. Pathak et al. [4] presented a data-driven macroprogramming framework to solve the problem of initial placement of high-level task graph representation onto the nodes of the target network. Srijan [6] is another graphical toolkit designed to aid application developers in the compilation of the macroprogram into individual customised runtimes for each constituent node of the target network. Pathak and Srijan are centralised in nature because the sink knows the location and initial energy levels of all sensor nodes. Hnat et al. [5] implemented a macroprogramming 3 compiler for MacroLab [7]. The system-wide or global computation scope provided by MacroLab limits the efficiency of the new compiler. In the approaches described above, the utilisation of the physical network topology as a programming abstraction introduces some rigidity to the programming approach. Handling frequent topology changes can be expensive, potentially involving global abstraction changes. Besides, node-level abstraction still requires the programmer to be responsible for ensuring that the distributed application achieves its intended functions efficiently. The information extraction approach proposed in this paper is different from these systems in one vital characteristic; it provide loose time sensor node state synchronisation among all nodes in the network, which makes it more suited for real-time applications characterised by frequent topological and state changes. Our proposed approach uses asynchronous operations to dynamically maintain segments memberships in a distributed mode to guarantee that the system remains in the correct state for the most part of its lifecycle with minimum interruptions. One particular approach that is similar to the one proposed in this paper is the Logical Neighborhood. Both approaches utilise communication cost and similar patterns of sensed data to assign nodes into logical collections. The generated abstraction allows the user to extract information at a pre-defined cost and at higher accuracy by limiting a query scope to arbitrary subsets of nodes with desired characteristics. We compare the performance of the proposed approach against that of the Logical Neighborhood. We believe that the comparison is fair as the two approaches are similar in spirit but different in approach. Below we provide a brief description of the Logical Neighborhood approach. Logical Neighborhood [9] is a virtual node programming abstraction. A node is characterised by several exportable attributes that can be static or dynamic. These attributes are used to replace the notion of geographic neighbourhood (defined by radio range) with the notion of logical neighborhood (defined by application conditions). Logical neighborhood regions are defined declaratively using the state of the node and on the communication cost. These logical neighborhoods are implemented using SPIDEY programming language [20] and are supported by a special routing strategy enabled by SPIDEY programming constructs. The authors of the Logical Neighborhood assure that their approach can be on top of any routing protocol. However, they confirm that the utilisation of existing routing mechanisms to support their abstractions will result with various performance drawbacks. Another limitation of this approach is that the user is expected to manually declaratively specify using the SPIDEY language which nodes to consider as neighbours. This is not always easy to achieve; the configuration of various parameters requires the developers to have deep understanding of the nature of data being collected and good knowledge of the network topology. 3. Description of the Watershed algorithm Watershed transformation has proven to be one of the most popular segmentation techniques used in grey-scale mathematical morphology [3,21–29]. Its name originates from its similarity with hydrology. This algorithm is usually used for segmenting an image into a set of non-overlapping regions. It uses an intensity-based topographical representation, where light pixels represent higher altitudes and dark pixels represent valleys of an image landscape. The basic idea can be easily explained using the analogy of rain falling on a landscape. All the rain falling flow with gravity from high altitude areas along lines of steepest descent until it is trapped in a catchment basin. Each catchment basin of the image has a corresponding regional minima. The catchment basin grows in size as the amount of falling rain increases. When two basins Please cite this article in press as: M. Hammoudeh, R. Newman, Information extraction from sensor networks using the Watershed transform algorithm, Informat. Fusion (2013), http://dx.doi.org/10.1016/j.inffus.2013.07.001
  • 4. 4 M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx start spilling into one another, a dam is built to stop them from merging into a larger basin. These dams, called the Watershed lines, split these catchment basins and correspond to the desired segmentation. Because of its importance, specific variants and implementations of the original Watershed transform algorithm has been proposed to suit a wide range of applications. These algorithms may be categorised into two theoretically separate approaches: raining and immersion. 1. Raining: Simulates pouring down water from top (as raining) on topographic surface. It is regarded as a distributed approach since every droplet follows, independently from neighbouring droplets, the steepest descent until reaching a minimum. This process continues for every droplet that falls on the surface and stops when each point is allocated to a minimum. All droplets that follow to the same local minimum form a catchment basin (otherwise known as segment). No point belongs to a Watershed line; instead each point is considered as belonging to a particular catchment basin. This view was adopted in the work of [23–26]. There are a number of raining implementations targeting parallel processing [28,29] and hardware adaptation [27]. 2. Immersion: The immersion approach can be conceptually viewed as an approach that starts from low altitude to high altitude. It simulates gradually immersing the entire topographic surface in a water tank. The immersion process proceeds step by step, globally increasing the altitude. The sources for the flooding are the local surface minima. Watershed lines are constructed whenever the water from different sources meet. The catchment basins, catchment areas or Watersheds are the surfaces delimited by these lines. There exists many modifications around this technique [22]. On flat zones or plateaus, the water droplet follows the path towards the closest edge of a descending slope and it stops once it arrives at a local minimum. An important factor of developing a parallel asynchronous algorithm is the utilisation of the data locality for minimising the computation and communication costs. To achieve this aim, we present a reformulation of the raining Watershed algorithm because of its suitability for parallel processing systems. To begin with, we present Meyer’s formalism [30] that directly segments the input image using local conditions. The Watershed developed by Meyer is the ground of our parallel asynchronous reformulation. The authors in [31] reviewed some of the significant parallel and distributed variations of the Watershed algorithm on computationally rich devices. Prior giving the details of our proposed synchronous and parallel reformulation, we introduce some basic definitions as given by Meyer [30]. Suppose that f(p) is a function of grey-values, representing a continuous digital image with the domain X 2 Z2 . All pixels p 2 X have a grey-value f(p) and a set of neighbouring pixels p0 2 N(p) with a distance function d(p, p0 ) to every neighbour; the majority of algorithms in the literature use a 4- to 8neighbours. Definition 1 (Regional minimum). Is a connected components of pixels with a constant grey-value, where external boundary pixels all have a higher value [23]. In keeping with the rain analogy, a regional minimum is the zone where the water would settle down without overflowing to lower levels. Fig. 1 gives an illustration of the regional minima using an example digital image. The doubleline square encloses pixels that are members of the regional minima indicated in the figure. Fig. 1. An example of a regional minimum. Definition 2. The lower slope (LS) of p is defined as the maximal slope connecting p to any of its neighbours of lower grey-level than itself. ðLSÞ ¼ max8p0 2NðpÞ f ðpÞ À f ðp0 Þ jf ðp0 Þ 6 f ðpÞ 0Þ distðp; p Definition 3 (Steepest Descending Path). p 2 X, the Steepest Descending Path (SDP) is the set of points p0 2 N(p) defined as follows: ' f ðpÞ À f ðp0 Þ p0 2 NðpÞ ¼ LSðpÞ; f ðp0 Þ f ðpÞ distðp; p0 Þ i.e. the SDP is a chain of linked points where every point has a greyvalue precisely less than its predecessor. Each point may have more than one neighbour with a grey-value less than its own value; therefore, there may be many descending paths from a given point. The SDP is the path where every point in that path is linked to the neighbour with the lowest grey-value. In keeping with the rain analogy, a droplet that falls over a point on the surface flows to the regional minimum along the path of steepest descent. Fig. 2 shows the SDP from the point (0, 0) to the regional minimum situated in (4, 4). Definition 4 (Cost function based on lower slope). The slope of the surface has strong influence on path selection; flatter surface allows for faster, easier, and more direct walking. The slope-based cost function, cost(piÀ1, pi), for travelling from point piÀ1 to pi 2 N(piÀ1) is: 8 f ðpiÀ1 Þ f ðpi Þ LSðpiÀ1 Þ Á distðpiÀ1 ; pi Þ LSðpi Þ Á distðppÀ1 ; pi Þ f ðpiÀ1 Þ f ðpi Þ :1 ðLSðpiÀ1 Þ þ LSðpi ÞÞ Á distðpiÀ1 ; pi Þ f ðpiÀ1 Þ ¼ f ðpi Þ 2 Definition 5 (Topographic distance). Distance is the primary cost of walking on a surface. The topographic distance between two points p and q is the minimal p distance among all paths pÀ between p and q: Fig. 2. An example of a steepest descending path. Please cite this article in press as: M. Hammoudeh, R. Newman, Information extraction from sensor networks using the Watershed transform algorithm, Informat. Fusion (2013), http://dx.doi.org/10.1016/j.inffus.2013.07.001
  • 5. M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx p TDf ðp; qÞ ¼ infTDf ðp; qÞ Pn where TDf ðp; qÞ ¼ i¼2 costðpiÀ1 ; pi Þ is the topographical distance of a path p = (p = p1, p2, . . . , pn = q), such that i, pi 2 N(piÀ1) and pi 2 X Definition 6 (Catchment basin based on topographic distance). CBTD(mi) of a local minimum mi is defined as the set of points p 2 X that are topographically closer to mi than to any other regional minimum mj,: È É CBTD ðmi Þ ¼ pf ðmi Þ þ TDf ðp; mi Þ þ TDf ðp; mj Þ8j–i Specifically, a CB is composed of a uniquely labelled regional minimum and all the points whose SDP lead to it [24]. In keeping with the rain simulation analogy, a CB is a zone where all rain fall is conveyed to. Fig. 3 shows a digital image segmented into two CB (highlighted with different grey levels). The squares indicate the regional local minima of each CB and the arrows represent the steepest descending paths indicating the direction of descent. 4. The Watershed algorithm suitability for WSNs The Watershed algorithm is intuitively understandable and offers a wide range of prospective modifications to fit specific goals. It can be easily customised to include diverse external factors that may have influence on the segmentation outcome, e.g., physical obstacles between nodes. Watershed algorithm can easily be adapted to work with multimodal WSNs. Each sense modality can be viewed as a separate digital image to be segmented. A node may have many SDPs leading to different minima and it may join multiple catchment basins each correspond to one sense modality. The segmentation steps across the different sense modalities can be combined in one step to reduce resource utilisation. The concept of Watersheds can be implemented in a distributed asynchronous mode with fast computation time. The localisation of the process of building catchment basins is a beneficial factor for immense and frequently varying data sets, posing it appropriate for WSNs applications. A parallel and asynchronous implementation is expected to reduce data communication across the network and evade the need for global re-computation/synchronisation of the entire network segments once one or more observations are changed. Watershed algorithm can also be modified to base the segmentation process on local conditions, which helps in parallelising this process (see Section 5). In the Watershed algorithm, the topographical distance between a point and its regional minimum equals to f(p)–f(mi). This means that a SDP guarantees a minimal communication cost. The minimisation of the bridging distance between a point and its regional minimum helps the WSN to save energy. The effective energy gain is the minimum squared distance between two points. Finally, in Watersheds there are few parameter decisions and it does not make any assumptions that limits its applicability. Fig. 3. Image segmented into two catchment basins. 5 5. The modified Watershed algorithm 5.1. Neighbours definition using Shepard’s method In the wide body of literature, most Watershed transform algorithm variations use a 4- to 8-pixel neighbours to define the boundary of a point. However, the topographical-distance-based transform may result in non-minima plateaus with nonempty interior in situations where non-minima points do not have a neighbour of lower value. Moreover, nodes may be located at different topographic distances from the node of interest. Hence, an additional ordering relation between such points is required. To address these issues, we propose using Shepard’s method [32] to construct the set of neighbours of a point P. Shepard defined two metrics: (a) Arbitrary distance metric: This metric is to compute the geodesic distance to the lower boundary of the plateau. All points located within radius r from p are considered in determining the SDP. The calculation of this metric is computationally simple, but there is a possibility that there are zero or excessive number of neighbours within radius r. (b) Arbitrary number metric: Just the nearest n neighbours are included in determining the SDP. This metric disregards the spacing and relative location of the points and necessitates complicated ranking process and expensive searching for points. Moreover, it accepts a fixed number, n, of neighbouring nodes as optimal. A combination of the two metrics captures their advantages. An initial search radius r is established depending on the total number of points. On average, a maximum of seven points was defined to limit the complexity and the amount of computation required. r is defined as: pr2 ¼ 7A N were A is the area of the minimum bounding box enclosing all points. The authors of [33] present a detailed study about the suitability of this inclusion function for WSNs. 5.2. Incorporate the hop count in determining the SDP A path from location x to location y on a terrain is a descending path if the value of a point p never increases as we move p along the path from x to y. If p always moves through the neighbour with the smallest value, then the path from x to y is the SDP. It is possible to have several descending paths from p to its local minimum, the selection among them is mostly nondeterministic or implementation dependent. However, when the Watershed algorithm is applied in WSNs applications, a computationally efficient descending path is preferred. The authors of [34] identified communication as the most energy expensive operation on a sensor node; they calculated the energy consumption and found that a general-purpose processor could execute 3 million instructions for the same amount of energy used to transmit 1 Kbit of data by radio over 100 m. The communication cost is dependent on the transmission distance, number of intermediate communication hops, link quality, and other elements. Hop count is a metric that is commonly utilised by routing protocols to determine the distance between two hosts or for organising nodes in resource-efficient clusters (e.g., [35]). The energy spent in communication is relative to the square of the communication distance between the sending and receiving hosts. The distance between two nodes Please cite this article in press as: M. Hammoudeh, R. Newman, Information extraction from sensor networks using the Watershed transform algorithm, Informat. Fusion (2013), http://dx.doi.org/10.1016/j.inffus.2013.07.001
  • 6. 6 M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx can be estimated on the basis of incoming signal strengths or directly using the global positioning system. The energy expenditure is also proportional to the scale of the network [36]. Consequently, the lower communication distances should be considered as a function of the inter-sensor Euclidean distance and the number of intermediate communication hops. The resulting distance function can be defined as the summation of the single inter-node Euclidean distances divided by the hop count. Distðp; p0 Þ ¼ P distðpi ; pj Þ hc where i, j hc À 1 and hc is the hop count. 6. Segments as a scoping mechanism In the wider body of literature [4–9], most existing programming abstractions are a part of the query language used, thus limiting its applicability. In fact, system developers are concerned with the application logic as well as specifying the nodes to participate in a specific task and how to communicate with them. The benefits of restricting the number of nodes participating in a task are to reduce energy and bandwidth consumption along with improving information accuracy by removing task-irrelevant nodes from the task computation. For instance, querying temperature data over the whole network might end up getting the amount of data that is linked with the density of sensors but not necessarily pertinent to the monitored phenomena. A key contribution of the work presented here is the creation of logical groups of nodes within the network, called segments. These segments are used to constrain dissemination of queries to a subset of the most-relevant nodes. Thus, each query is sent to the smallest possible number of nodes, and per-node query dissemination overhead does not grow with network size. Segments can also be useful to many services other than information extraction, e.g., the steepest path can be used by the routing service to determine energy efficient routes. The user can exploit segments as a component of a query, or segments can be used by the system to autonomously make decisions on where a query should be disseminated. The former requires the extension of existing query languages to incorporate the segment construct and the development of an associated parser for the language. The building of query execution abstraction as part of the used query language is beyond the scope of this paper. In the latter, segments form a vital factor in making a decision on where a query should be disseminated, how the query will be processed within and across segments, and where the query answer will be finally resolved. In the absence of dedicated query constructs, the concept of scoping in the context of WSNs macroprogramming presents a practical solution. Our Watershed-based approach allows the developers to reason about the network as a whole, instead of viewing the network as a set of isolated nodes. Segments allows dynamic complex interactions between system portions, which results in less programming effort, reduced complexity, and more reliable code. In a segmented network, query dissemination and the generation of query running plans are based on Watershed-defined (distance and sensor value) neighbourhood instead of the unreliable wireless communication range. Watershed segments are dynamically updated at low cost. This is due to the localised independent processing of segment membership. When the current state of the node or the state of a node in its steepest path changes significantly, the node initialises a local update process independently from other nodes. Local computation results in reduced calculation times and costs. The Watershed algorithm groups sensor node segments, such that each segment is homogeneous with respect to some property. For instance, a segment may be a collection of nodes that are geographically adjacent and they share a common temperature reading. When performing segmentation, the Watershed uses information about node location, its sensory values, and information about the boundaries of segmented nodes. Hence, the Watershed algorithm integrates the topological (e.g., [16,17]) and data-centric (e.g., [37,38]) group abstraction methods to eliminate their drawbacks. This property allows for obtaining accurate results and presenting several local behaviours effectively, making it possible to develop programs that articulate higher-level behaviour further than that of the standard query-based approaches. To address this emerging requirement additional programming abstractions to distribute the computational load while maintaining results effectiveness are essential. The logical segments produced by the Watershed algorithm substitute the rigid geographical neighbourhood offered by the radio range with application-based, higher level abstractions. Such segments are generated in a way that the logical notion of proximity is defined declaratively and dynamically according to nodes properties, beside restrictions on communication costs (particularly the width of the segment). A network segment created using the concept of logical neighborhood specified by applicative conditions is, thus, able to extract requested information with high fidelity. All nodes within the same segment are automatically labelled with an integer identifier called marker. The Watershed algorithm is supplied with membership templates. These templates encapsulate a set of logical constraints that a node has to satisfy to belong to one or more segments. Templates are also used to dynamically update and maintain segment membership. Such segments give system programmers the ability to manipulate logical segments rather than isolated nodes or groups of adjacent nodes. Yet, programmers are still capable of manipulating individual nodes or broadcast regions, but they may indicate declaratively the part of the network to involve and therefore manage the scope of a query to reduce computation cost. 7. Parallel asynchronous watershed implementation This section, presents our proposed reformulation of the Watershed algorithm that complies with the sensor nodes constraints, i.e., limited memory, energy, processing speed, and bandwidth. Previously published Watershed algorithms required at least three global synchronisation points: minima detection; labelling; and flooding. This work describes a new fully Parallel and Asynchronous Watershed algorithm (for short called PA Watershed), in which sensor nodes perform local computations independently and in parallel without a global synchronisation point. This is of particular importance when applied to in-network processing in WSNs, where the problem of synchronisation is exacerbated by slow and unreliable data communication; and mitigation using sophisticated synchronisation protocols is difficult due to the constraints over communication bandwidth given by power consumption. To apply the PA Watershed to WSNs segmentation, for a threedimensional image, each pixel is considered as a sensor node. In this representation, the numerical value of each pixel determines the corresponding sense modality of a node located at position (x, y). The image resolution corresponds to the network density, i.e., the number of nodes per area unit. To simplify the implementation of the PA Watershed algorithm, we assume a virtual grid is formed throughout the deployed network. Each node is assigned to a virtual grid cell and each cell can contain only one node. A crucial aspect of the design of the PA Watershed algorithm is to exploit the data locality to reduce the algorithm’s processing and communication cost. The PA Watershed algorithm is based on the Please cite this article in press as: M. Hammoudeh, R. Newman, Information extraction from sensor networks using the Watershed transform algorithm, Informat. Fusion (2013), http://dx.doi.org/10.1016/j.inffus.2013.07.001
  • 7. M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx rain falling simulation model because it involves less communication overhead, compared to immersion-based approaches which are global in nature. The PA Watershed algorithm may be regarded as an asynchronous relaxation of the ‘Hill Climbing’ algorithm [30]. This algorithm is similar to the rainfall simulation except that it begins from the minima and climbs by the steepest ascending slope. In this algorithm, most computations can be viewed as s collection of independent tasks that can be run in parallel on different sensor nodes. Each node runs a simple finite state machine linked to every individual sensed modality. Moreover, nodes use non-blocking communication to improve performance by overlapping computation and communication. This approach avoids the need of any global synchronisation among sensor nodes and results in a very high computational efficiency and running speed of the algorithm. The PA Watershed algorithm labels each node with the identifier of its catchment basin by ‘walking’ along the SDP towards to a regional minimum. Primarily, all nodes are marked by initial temporary labels and assumed to be non-minima nodes. Each node starts searching for the steepest descent among its neighbours. If a steepest descent is detected, then the node will be relabelled to match the label of its corresponding steepest neighbour. When a regional minimum is finally reached, its label is propagated up to all nodes along the path. The sequence of nodes along the path will be relabelled to mark the association to that regional minimum, hence concluding this search process. Because the search process is executed and terminated autonomously by individual nodes, the total idle time and communication overhead is reduced significantly. In situations where a regional minima cannot be reached, e.g., flat zone, the steepest descent must be calculated from the complete set of lower borders. Algorithm 1. The proposed PA Watershed algorithm. Input state S(u) of node u; current sensor reading d(u); d(v) sensor readings of neighbours Output segment membership after processing new data case (S(u) = ‘‘initial’’) u broadcasts d(u) and label l(u) to its neighbours N(v) u listens for data from every neighbour vi 2 N(v) u computes the following: N(v)= all neighbours with sensor value equal to d(u) N(v)P all neighbours with sensor reading greater than d(u) N(v)Ln = vi a unit set where slope(u, vi) = LS(u) and vi 2 N(v) if N(v)Ln = ø minv 2Nðv Þ¼ ðlðv ÞÞ lðv Þ S(u) ‘‘MP’’ else S(u) ‘‘NP’’ case (S(u) = ‘‘MP’’) u listens for new data, h0 (v), from any neighbour if h0 (v) h(u) N(v)Ln v;S(u) ‘‘NP’’ else l(u) min(l(u), l(v)); S(u) ‘‘MP’’ case (S(u) = ‘‘NP’’) u waits for data from N(v)Ln l(u) min(l(u), l(v)) S(u) ‘‘NP’’ In all cases, u sends any new reading T to all nodes in N(v)P In multi-modal sensor networks, a number of paths from a single source to multiple destinations exists. Each path represent a different sense modality. Sensor nodes are assigned a separate label for each sense modality. The search process for the regional 7 minima associated with each sense modality can be combined in one step. This does not add extra cost on the nodes, or on the network in general, due to the broadcast nature of wireless communication. In practice, a node sensor reading can change frequently necessitating relabeling all nodes above it in the SDP with the new minimum label. A threshold can be defined to avoid unnecessary updates resulting from insignificant changes in sensor reading. The segment membership update process can be merged with other communication tasks, e.g., data transmission, to reduce membership management overhead. Depending on the application requirements, the membership update for various sense modalities can be aggregated in one step. To keep track of segment membership update along the SDP, a flag (called reset) is defined at each node to monitor whether a change took place since the last data communication. The PA Watershed does not require frequent synchronisation among nodes. It takes advantage of the asynchronous computations at the programming level and for its implementation. The minima detection, labelling, and climbing of the SDPs run on all nodes asynchronously and in parallel. An important shortcoming of the PA Watershed is that inner nodes of a plateau cannot determine independently if they belong to non-minimum plateau (NP) or minimum plateau (MP). In its current form, the PA Watershed requires global synchronisation to recognise and label MPs. To overcome this problem, all inner nodes of a plateau are classified into two groups: plateau and minimum. The plateau is the group of nodes whose neighbours have a sensor value of equal or greater value than its sensor value. The minimum contains every node of the plateau that has a neighbour with a sensor value less than its own sensor value. Nodes in the minimum serve as seeds for propagating their labels to inner nodes on the plateau. The labels propagate to progressively fill the entire plateau. Algorithm 1 shows the pseudocode of the PA Watershed algorithm, which runs on every node. Regardless of the network size, each node only communicates with a limited number of neighbours located within its radio range. Every node will learn only the next hop, not the complete hop-by-hop route, to the minima. The algorithm starts by each node broadcasting its ID, its current state, as well as its sensors readings and corresponding labels (di(u), li(u)) to its neighbours. Then, nodes use the gathered information to group their neighbours in three sets: N(u)= contains all neighbours with sensor values equal to d(u); N(u)P is the set of all neighbouring nodes with sensor readings greater than d(u); N(u)Ln = vi is a unit subset of !, where !(u) = {vi 2 N(u)— slope(u, vi) = LS(u). If !(u) has two or more nodes, then the nearest node to (u) is chosen from !(u), if the set is empty, then the node is on a MP. The node will keep monitoring changes in neighbours data. When the node current state is minima or plateau and receives new data such that h0 (v) h(u), then it changes its state to NP; otherwise, a representative label is calculated for that plateau or minima. The representative label is that of the node with the smallest reading in the plateau. This means that all neighbours of a minimum node with equal reading to that node, relate to one connected component. A connected component of an undirected graph is a subgraph such that any pair of vertices are connected by paths and are connected to no additional vertices [39]. When a non-minimum plateau node receives a new data message, it updates its label to the minimal label of a minimum plateau. Therefore, all changes are dealt with locally and independently from other nodes, which keeps the cost of dynamic segmentation very low. Nodes exploit the broadcast nature of wireless communication in updating their state or label. When a node forwards the data of its predecessors or when it hears neighbours broadcast messages, it can use these messages to update its label. To increase the algorithm efficiency, a threshold T is defined to indicate Please cite this article in press as: M. Hammoudeh, R. Newman, Information extraction from sensor networks using the Watershed transform algorithm, Informat. Fusion (2013), http://dx.doi.org/10.1016/j.inffus.2013.07.001
  • 8. 8 M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx significant changes that need to be reported to neighbours. Since data messages can be captured by nodes due to the broadcast nature of wireless communications, nodes will also use the threshold to decide locally whether they should start an update process or not. 8. Query resolution mechanism in PA Watershed The PA Watershed divides the feature space into distinct segments returning a hierarchical description of the data in the form of a tree. Moreover, it provides each sensor with a path, i.e., the SDP, over which quires and their answers can be transmitted to the querying node. SDPs can be exploited by queries to explore sensors data starting at the root and going only as deep as is necessary to provide answers with the desired quality. This greedy ascent algorithm is reasonably straightforward; the query is initiated at the root of the tree, i.e., at the local minimum, and every node in the segment makes decisions independently based on the satisfiability of the query conditions by its local data. If an ascent is necessary, the query is forwarded to the next node on the SDP. A traversal of the SDP using our greedy algorithm will stop at nodes at various levels that all satisfy the query. Let the section S of the SDP be the set of nodes at which the query stops. Then, the structure of the tree above S, i.e., all nodes that have a predecessor in S, is irrelevant to the cost of query, as the query traversal will never ascend that far. In this simple version of the query resolution method, if a decision is made to forward, then only the next child will receive the query. More elaborate schemes can be designed to assign different priorities to children and perform more complex selective forwarding. Consider the following example to explain the mechanism for resolving a specific multi-modal query: ‘‘Return the temperature at each sensor node, where the air pressure is less than 950mbar’’. This query is expressed using simple inclusion predicate, which is a condition of the form ‘‘current reading threshold’’. We call such predicates, whose evaluation depends also on the readings taken by the nodes, dynamic predicates as they specify which nodes should include their response in the query, i.e., nodes whose values exceed a given threshold. First, a query is propagated from the sink toward relevant local minima by end-to-end routing. A minimum being defined by some criterion, for instance that the pressure 6950. Once the set of segments to sample from has been selected, data must be queried from the subtree rooted at local minimum. The choice of the data point can be made by problem of ascending up the subtree until a node that is qualified to reply the query is found. After the query traverses a node with pressure reading P950 or when the query reaches the leaf node, sensor nodes with pressure readings falling into the query window recursively report their temperature readings to the nodes from which they received the query. Partial results on every SDP are returned level by level up the tree until reaching the root node. Whenever possible, data is aggregated as query responses move down the tree and sent in the same data packet. After aggregating the data from all SDPs, the aggregated result is returned back to the sink node, again by an end-to-end routing protocol. 9. Evaluation In this section, the efficiency of the PA Watershed produced programming abstraction is evaluated in comparison with more traditional query resolution methods, in-network and centralised processing, as a baseline. Moreover, in the absence of recent directly applicable approaches to compare against, we choose the Logical Neighborhoods [9] approach. To this end, we implemented PA Watershed and Logical Neighborhood abstractions on top of MuMHR [35] routing protocol and evaluated them using the Dingo [40] simulator. In our experiments, programming abstractions are used as a query scoping mechanism to constrain dissemination of queries so that the entire network is not flooded. 9.1. Dingo WSNs simulator Dingo provides tools for the simulation and deployment of high-level, Python code on real WSNs. Dingo users write high level simulations, which can then be refined to various hardware platforms (e.g., Gumstix [41]). In addition, Dingo allows mixed mode simulation using a combination of real and simulated nodes. The authors found Dingo not only easy to use, but also powerful enough to model and simulate the behaviour of systems at various design stages. In Dingo, nodes have the ability to obtain their sensed data from a database or graphical objects like maps. The use of real-world data improves the fidelity of simulations as it makes it possible to check the simulation results against the real data. Furthermore, Dingo has several features in the form of plugins. These can be activated/deactivated on the plugin menu. Network topologies can be loaded and saved. The ‘‘Topology’’ menu can be used to change the network topology of a simulation from a random topology to/from a grid. 9.2. MuMHR routing protocol In our experiments we make use of MuMHR (Multi-hop Multipath Hierarchal Routing) because it has proven to be an energy efficient and robust routing protocol. MuMHR is already implemented in Dingo, which allowed the authors to direct the implementation efforts on the programming abstractions. 9.3. Simulation setup and scenario In all simulations, we configured a number of parameters based on the Crossbow [42] wireless sensor hardware platform. Concurrently, we tried to conform to values set in the synthetic scenario in [9] for better comparison. Nodes were dispersed over the monitored region such that no two nodes share the same location and the transmission range of each node is bound to 75 m. The bandwidth of the channel was set to 1 Mbps, each data message was 500 bytes long, and the packet header for various message types was fixed to 30 bytes. A simple model for radio hardware energy dissipation is also assumed. The transmitter dissipates energy to run the radio electronics and power amplifier; and the receiver dissipates energy to run the radio electronics. All the nodes were given an equal initial supply of energy. The processing delay for transmitting a message is randomly chosen between 0 and 5 ms, simulating real-world characteristics of low-power radio transmission. The simulated scenario is the deployment of a WSN to monitor the temperature in an environmentally sensitive area. Each node is initially configured with a single attribute, i.e., temperature. The node’s temperature reading is perceived as the colour intensity corresponding to its position on a thermal map. All simulations employ a thermal map, Fig. 4(a), taken from [43]. This thermal map is fed in the simulator as an image at the system startup. To simulate dynamic conditions, a list of events in terms of significant increase of temperature readings on some nodes was configured. The set of nodes at which these events are to occur was defined, initially nondeterministically, before the start of each simulation run. In each run, between 5 and 10 events occur at predefined intervals. An event occurrence is followed by a query to locate the lowest and highest temperature readings in the entire network. Each simulation run lasted 1000 s. Please cite this article in press as: M. Hammoudeh, R. Newman, Information extraction from sensor networks using the Watershed transform algorithm, Informat. Fusion (2013), http://dx.doi.org/10.1016/j.inffus.2013.07.001
  • 9. M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx The PA Watershed algorithm has been implemented starting from the Python code of SciPy Cookbook available at [44]. Each node runs a copy of Algorithm 1 until stabilisation. Then, a request (query) is made to the sink node using a simple graphical user interface. Dingo provides a chart pane where individual node data or network data can be plotted during the simulation. Due to the effect that network density and nodes distribution have on the performance analysis results, multiple simulation runs are combined to estimate uncertainties in the simulations. In other words, to demonstrate that the results are not biased to specific network setup, we ran the same experiments for 5 different distributions. This makes our simulation a Monte Carlo simulation, as repeated sampling from a distribution is performed. Therefore, in each simulation run, network nodes were randomly positioned in the simulation window. At each point, the measured metric of five runs was averaged. 9.4. Performance metrics, results and analysis Query resolution is implemented in four algorithms: PA Watershed, segments are used as high-level programming model to support query resolution; Logical Neighborhood, the network is partitioned into logical groups as described in [9]; In-network processing, by data aggregation up the network spanning tree; and centralised, by collecting and analysing all data at the sink. Fig. 4(b) shows the network segmentation results using the PA Watershed algorithm. It is straightforward to extend the segmentation results of the thermal map using the generalised Voronoi, i.e., every location where there is no sensor node is allocated to its closest segment, Fig. 4(c). Since the most power consuming operation is wireless communication, a query resolution cost is measured as the traffic overhead generated to answer the query. Fig. 5 shows the communication overhead generated by each of the four studied query resolution methods. The results indicate that on average, segment-based query processing resulted in an almost 79.5% decrease in the total number of transmissions over the centralised approach, 66% decrease on average over the in-network processing approach, and 40% decrease on average over the Logical Neighborhood approach. Centralised query collection incurs the highest messaging overhead amongst the four tested approaches. This is because the query is received by every node in the network. If a node is carrying data relevant to the posed query, then it sends it to the base station through multi-hop communication. In-network data aggregation attempts to limit the number of exchanged messages while providing accurate answers to posed queries. Sensor nodes form an aggregation tree, where parent nodes aggregate the data received from their children and forward the result to their own parents. However, similar to centralised query resolution, in-network data aggregation query resolution does not provide a mechanism for isolating nodes carrying data irrelevant to a query. Some queries include the characteristics of nodes to participate in the response; however, the query still has to be received by all nodes in the network. Moreover, when the Fig. 4. (a) Test thermal map; (b) PA Watershed segmentation results; and (c) Extend segmentation results. 9 Fig. 5. Comparison of the messaging overhead involved in resolving the query at different network densities. query is dealing with multiple elements targets, the size of collected data can potentially be excessive. This may require the fragmentation of data to be transmitted through multiple messages, which results in dramatic increase in the number of transmissions as the data moves towards the base station. It is clear from Fig. 5 that Watershed-based query resolution outperforms Logical Neighborhood in terms of messaging overhead. The separation of the Logical Neighborhood from its expressly devised routing protocol resulted in an increased communication overhead. This is because of incorporating the protocol-dependent communication cost in the group membership function. As a result, the span of communication also changes in an undesirable manner. Watershed segment abstraction leveraged localised interactions without pre-installing neighborhood templates. The number of nodes that participated in answering a specific query has impact on the total response time, energy consumption, and accuracy of the response to that query. Eliminating nodes carrying information unrelated to a specific query reduces energy consumption and data analysis time as well as improves the response accuracy. Fig. 6 presents the number of nodes participated in resolving a query at various network densities using the PA Watershed and the Logical Neighborhoods algorithms. A node is counted as involved in generating a query if it sends or forwards the query message or a response message associated to this query. The results show that on average, segment-based query processing resulted in an almost 24.5% decrease in the total number of nodes that participated in answering the query over the Logical Neighborhoods approach at an identical accuracy level. The exclusion of non-relevant nodes to the query initial search allows drilling down into the exact response; this new capability is a positive indicator of the scalability of the approach. Watershed leverages the knowledge of the information distribution, which makes it more feasible than the Logical Neighborhoods and other traditional approaches. In the Watershed-based approach, the neighbours set is built using the steepest paths metric, which provides an efficient way to sort nodes according to the data they carry. Accordingly, many query types such as maximum, minimum, or average are resolved involving small portions of the network. Moreover, the Shepard distance metric adopted in the Watershed algorithm helps to enhance localised interactions by limiting the span of the neighbourhood. The combined Shepard neighbourhood metric resulted in better results than the cost construct defined in the Logical Neighborhood. In the latter, cost is measured in credits on a pernode basis without considering the local and global node density. Thus, our approach performed better in determining the network sections to participate in resolving the posed query and how to reach them. Please cite this article in press as: M. Hammoudeh, R. Newman, Information extraction from sensor networks using the Watershed transform algorithm, Informat. Fusion (2013), http://dx.doi.org/10.1016/j.inffus.2013.07.001
  • 10. 10 M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx cient segments that minimise unnecessary communication and enhance queries responses accuracy. Compared to the original Watershed algorithm, the key enhancement in the PA Watershed is that travelling along the steepest paths and labelling are concurrently and locally ran according to nodes states, throughout the complete segmentation process. A number of shortcomings so far in the work can be dealt with in the future, for instance the detailed study of segmentation setup and maintenance cost. 11. Future work Fig. 6. The number of nodes responded by sending their data to resolve the query. Fig. 7 shows the convergence time for the PA Watershed and the Logical Neighborhoods averaged across multiple runs at different network densities. It can be seen that Watershed-based segmentation always generates better quality logical groups without incurring an unacceptable increase in convergence time ($30%) compared to the Logical Neighborhoods. This low convergence time is due to its asynchronous operation, which makes group segmentation a fast process. Also, the time required to update segments is small, because each node is only dependent on the set of nodes on its path to the minima. 10. Conclusion This paper advocates PA Watershed segments as a high-level programming abstractions for query-based information extraction systems. It presents network segmentation as a possible effective solution to the problem of the limitations of pure query-based systems. The logical constructs provided by Watershed offer an effective method for processing user queries. Segments provide a useful abstraction for the low level programming of nodes (the establishment of network topology and of radio communications) while still providing users with the ability to extract high-level information from the network. The advantages of Watershed segments include: dynamic construction and updating of segments; eliminating the need for compilers or new programming constructs; catering for node level communication; localised computation; segment setup considers the physical topology provided by wireless broadcast; and the span of the segment improves response accuracy while reducing the processing cost. Experimental results presented in Section 9 show that in-network, segment-based query resolution results in substantial energy savings compared to the baseline and Logical Neighborhood schemes. The PA Watershed groups nodes into logical energy effi- Leading directly from the work in this paper, there are a number of avenues that need to be followed. Most importantly, investigate the usefulness of the Watershed gradients to various network and application functions. For instance, in agent-oriented WSN system such as [12], the gradient can be used for itinerary planning of the mobile agents. The order in which sensor nodes are visited by the mobile agent and the number of nodes it migrates to can have a significant impact on energy consumption. Similarly, the gradient can be used in generating more efficient query execution plans, i.e., the number of nodes to process a query and the order in which a query reaches these nodes. For example, if the temperature at location (x, y) is 50 °C, then nearby locations temperature should be correlated with that based on distance. The presented work uses this natural gradient as a key characteristic to forward the query towards the heat source. To select an optimal subset of sensor nodes and to decide on an optimal order of how to incorporate these measurements can be equally well supported by other methods such as exploiting the relationships among multi-modal sense data. As information about a particular event of interest is usually captured in multiple sensed modalities, then, it is feasible to exploit multi-modal relationships to merge multi-modal query dissemination and data collection for different modalities together. Mathematically, this can be viewed as calculating a gradient that is the derivative of a multi-variable function. However, now that there are multiple directions to consider; the direction of gradient is no longer simply ‘‘up’’ or ‘‘down’’ along the x-axis, like it is with functions of a single modality. The Watershed gradients can also be useful to WSNs applications such as flood management. The gradient can be utilised to create high-risk flood maps to predict, report, and control floods. These maps contain answers to queries relevant to the such tasks; for example, when rain falls on a catchment, what is the amount of rainwater that reached the waterways? We also intend to investigate possible ways to exploit the gradient to give meaning to the collected data. For instance, in forest fire monitoring applications, the gradient at each point shows the direction the temperature rises most quickly. The magnitude of the gradient determines how fast the temperature rises in that direction. This information can be useful for firefighting operations. By taking a dot product, it is possible to measure how temperature changes in directions other than the direction of greatest change. Moreover, the gradient can be used as a visualisation tool similar to a vector map. It can be used to visually display the location of senor nodes as well as the direction and magnitude of data. This data representation can be overlaid over geographic maps to allow users from different communities to derive conclusions based on visual information. This visualisation and analysis tool is visually communicative, it provides information on spatial patterns, it implies the distributions and states, and it implies the relations of various phenomena. References Fig. 7. Watershed and Logical Neighborhoods convergence time with logarithmic regression. [1] B. Liu, H. Ju, Y. Yao, Object recognition and centroid detection based on machine vision, in: Second International Conference on Mechanic Automation and Control Engineering, 2011, pp. 5945–5947. Please cite this article in press as: M. Hammoudeh, R. Newman, Information extraction from sensor networks using the Watershed transform algorithm, Informat. Fusion (2013), http://dx.doi.org/10.1016/j.inffus.2013.07.001
  • 11. M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx [2] F2F, RFID from Farm to Fork, 2013. http://www.rfid-f2f.eu/ (accessed 15.03.13). [3] L. Vincent, P. Soille, Watersheds in digital spaces: an efficient algorithm based on immersion simulations, IEEE Trans. Pattern Anal. Mach. Intell. 13 (6) (1991) 583–598. [4] A. Pathak, V.K. Prasanna, Energy-efficient task mapping for data-driven sensor network macroprogramming, IEEE Trans. Comput. 59 (7) (2010) 955–968. [5] T.W. Hnat, T.I. Sookoor, P. Hooimeijer, W. Weimer, K. Whitehouse, A modular and extensible macroprogramming compiler, in: Proceedings of the 2010 ICSE Workshop on Software Engineering for Sensor Network Applications, SESENA ’10, 2010, pp. 49–54. [6] A. Pathak, M.K. Gowda, Srijan: a graphical toolkit for sensor network macroprogramming, in: Proceedings of the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering, ESEC/FSE ’09, 2009, pp. 301–302. [7] T.I. Sookoor, T.W. Hnat, K. Whitehouse, Programming cyber-physical systems with macrolab, in: Proceedings of the 6th ACM Conference on Embedded Network Sensor Systems, SenSys ’08, 2008, pp. 363–364. [8] R. Newton, G. Morrisett, M. Welsh, The regiment macroprogramming system, in: Proceedings of the 6th International Conference on Information Processing in Sensor Networks, IPSN ’07, 2007, pp. 489–498. [9] L. Mottola, G.P. Picco, Using logical neighborhoods to enable scoping in wireless sensor networks, in: Proceedings of the 3rd International Middleware Doctoral Symposium, 2006, pp. 6–12. [10] L. Mottola, G.P. Picco, Programming wireless sensor networks: fundamental concepts and state of the art, ACM Comput. Surv. 43 (3) (2011). 19:1–19:51. [11] F. Bellifemine, G. Fortino, R. Giannantonio, R. Gravina, A. Guerrieri, M. Sgroi, Spine: a domain-specific framework for rapid prototyping of WBSN applications, Softw. Pract. Exp. 41 (3) (2011) 237–265. http://dx.doi.org/ 10.1002/spe.998. [12] F. Aiello, G. Fortino, R. Gravina, A. Guerrieri, A java-based agent platform for programming wireless sensor networks, Comput. J. 54 (3) (2011) 439–454. http://dx.doi.org/10.1093/comjnl/bxq019. [13] Oracle Labs, Small Programmable Object Technology (sun spot), 2012. http:// www.sunspotworld.com/ (accessed 26.09.12). [14] N. Raveendranathan, S. Galzarano, V. Loseu, R. Gravina, R. Giannantonio, M. Sgroi, R. Jafari, G. Fortino, From modeling to implementation of virtual sensors in body sensor networks, IEEE Sens. J. 12 (3) (2012) 583–593. http://dx.doi.org/ 10.1109/JSEN.2011.2121059. [15] D. Roggen, C. Lombriser, M. Rossi, G. Tröster, Titan: an enabling framework for activity-aware ‘pervasive apps’ in opportunistic personal area networks, EURASIP J. Wirel. Commun. Netw. (2011) 1:1–1:22. http://dx.doi.org/ 10.1155/2011/172831. [16] K. Whitehouse, C. Sharp, E. Brewer, D. Culler, Hood: a neighborhood abstraction for sensor networks, in: Proceedings of the 2nd International Conference on Mobile Systems, Applications, and Services, 2004, pp. 99–110. [17] M. Welsh, G. Mainland, Programming sensor networks using abstract regions, in: Proceedings of the 1st Conference on Symposium on Networked Systems Design and Implementation, vol. 1, 2004, pp. 3–3. [18] R. Gummadi, N. Kothari, R. Govindan, T. Millstein, Kairos: a macroprogramming system for wireless sensor networks, in: Proceedings of the Twentieth ACM Symposium on Operating Systems Principles, SOSP ’05, 2005, pp. 1–2. [19] 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, A. Wood, Envirotrack: Towards an environmental computing paradigm for distributed sensor networks, in: Proceedings of the 24th International Conference on Distributed Computing Systems (ICDCS’04), 2004, pp. 582–589. [20] L. Mottola, G.P. Picco, Logical neighborhoods: a programming abstraction for wireless sensor networks, in: Proceedings of the Second IEEE International Conference on Distributed Computing in Sensor Systems, Springer-Verlag, Berlin, Heidelberg, 2006, pp. 150–168. 11 [21] V. Osma-Ruiz, J.I. Godino-Llorente, N. Sáenz-Lechón, P. Gómez-Vilda, An improved watershed algorithm based on efficient computation of shortest paths, Pattern Recognit. Lett. 40 (2007) 1078–1090. [22] C. Kuo, S. Odeh, M. Huang, Image segmentation with improved watershed algorithm and its FPGA implementation, in: The 2001 IEEE International Symposium on Circuits and Systems, vol. 2, 2001, pp. 753–756. [23] A. Bleau, L.J. Leon, Watershed-based segmentation and region merging, Comput. Vis. Image Underst. 77 (2000) 317–370. [24] A. Bieniek, A. Moga, An efficient watershed algorithm based on connected components, Pattern Recognit. Lett. 33 (6) (2000) 907–916. [25] V. Grau, A.U.J. Mewes, M. Alcaniz, R. Kikinis, S.K. Warfield, Improved watershed transform for medical image segmentation using prior information, IEEE Trans. Med. Imaging 23 (4) (2004) 447–458. [26] H. Sun, J. Yang, M. Ren, A fast watershed algorithm based on chain code and its application in image segmentation, Pattern Recogn. Lett. 26 (2005) 1266– 1274. [27] C. Rambabu, T. Rathore, I. Chakrabarti, A new watershed algorithm based on hillclimbing technique for image segmentation, in: Conference on Convergent Technologies for the Asia-Pacific Region, vol. 4, 2003, pp. 1404–1408. ´ [28] M. Swiercz, M. Iwanowski, Fast, parallel watershed algorithm based on path tracing, in: Proceedings of the 2010 International Conference on Computer Vision and Graphics: Part II, ICCVG’10, 2010, pp. 317–324. [29] B. Wagner, A. Dinges, P. Müller, G. Haase, Parallel volume image segmentation with watershed transformation, in: Proceedings of the 16th Scandinavian Conference on Image Analysis, SCIA ’09, Springer-Verlag, 2009, pp. 420–429. [30] F. Meyer, Topographic distance and watershed lines, Signal Process. 38 (1994) 113–125. [31] J.B.T.M. Roerdink, A. Meijster, The watershed transform: definitions, algorithms and parallelization strategies, Fundam. Inform. 41 (1–2) (2000) 187–228. [32] D. Shepard, A two-dimensional interpolation function for irregularly-spaced data, in: Proceedings of the 1968 23rd ACM National Conference, ACM, 1968, pp. 517–524. [33] M. Hammoudeh, R. Newman, C. Dennett, S. Mount, Interpolation techniques for building a continuous map from discrete wireless sensor network data, Wirel. Commun. Mobile Comput. 2 (2011) 41–60. http://dx.doi.org/10.1002/ wcm.1139. [34] G.J. Pottie, W.J. Kaiser, Wireless integrated network sensors, Commun. ACM 43 (5) (2000) 51–58. [35] M. Hammoudeh, A. Kurz, E. Gaura, Mumhr: Multi-path, multi-hop hierarchical routing, in: Proceedings of the 2007 International Conference on Sensor Technologies and Applications, 2007, pp. 140–145. [36] P. Sun, W.K. Seah, P.W. Lee, Efficient data delivery with packet cloning for underwater sensor networks, in: Symposium on Underwater Technology and Workshop on Scientific Use of Submarine Cables and Related Technologies, 2007, pp. 34–41. [37] M. Chu, J.J. Liu, F. Zhao, State-centric programming for sensor-actuator network systems, IEEE Pervasive Comput. 2 (4) (2003) 50–62. [38] E. Cheong, J. Liebman, J. Liu, F. Zhao, TinyGALS: a programming model for event-driven embedded systems, in: Proceedings of the 2003 ACM symposium on Applied computing, SAC ’03, 2003, pp. 698–704. [39] L. He, Y. Chao, K. Suzuki, K. Wu, Fast connected-component labeling, Pattern Recognit. Lett. 42 (2009) 1977–1987. [40] S. Mount, M. Hammoudeh, A Development Tool for Wireless Sensor Networks, 2011. http://www.code.google.com/p/dingo-wsn/ (accessed 21.03.11). [41] Gumstix.com, Gumstix Way Small Computing, 2011. http:// www.gumstix.com (accessed 26.03.111). [42] Crossbow Technology Inc, The Smart Sensors Company, 2011. http:// www.xbow.com (accessed 26.03.1111). [43] FLIR Systems, Flir Thermography, 2011. http://www.goinfrared.com (accessed 26.04.11). [44] SciPy Cookbook, Cookbook Watershed, 2012. http://www.scipy.org/ Cookbook/Watershed (accessed 15.10.12). Please cite this article in press as: M. Hammoudeh, R. Newman, Information extraction from sensor networks using the Watershed transform algorithm, Informat. Fusion (2013), http://dx.doi.org/10.1016/j.inffus.2013.07.001