A Scalable Multi-Target Tracking Algorithm For WSNs

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 16

Hindawi Publishing Corporation

International Journal of Distributed Sensor Networks


Volume 2012, Article ID 938521, 16 pages
doi:10.1155/2012/938521

Research Article
A Scalable Multi-Target Tracking Algorithm for
Wireless Sensor Networks

Songhwai Oh
School of Electrical Engineering and Computer Science, ASRI, Seoul National University, Seoul 151-744, Republic of Korea

Correspondence should be addressed to Songhwai Oh, songhwai@snu.ac.kr

Received 21 March 2012; Accepted 31 May 2012

Academic Editor: Hasan Cam

Copyright © 2012 Songhwai Oh. This is an open access article distributed under the Creative Commons Attribution License, which
permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Multi-target tracking is a representative real-time application of sensor networks as it exhibits different aspects of sensor networks
such as event detection, sensor information fusion, multihop communication, sensor management, and real-time decision making.
The task of tracking multiple objects in a wireless sensor network is challenging due to constraints on a sensor node such as
short communication and sensing ranges, a limited amount of memory, and limited computational power. In addition, since a
sensor network surveillance system needs to operate autonomously without human operators, it requires an autonomous real-
time tracking algorithm which can track an unknown number of targets. In this paper, we develop a scalable real-time multi-target
tracking algorithm that is autonomous and robust against transmission failures, communication delays, and sensor localization
error. The algorithm is based on a rigorous probabilistic model and an approximation scheme for the optimal Bayesian filter. In
particular, an extensive simulation study shows that there is no performance loss up to an average localization error of 0.7 times the
separation between sensors and the algorithm tolerates up to 50% lost-to-total packet ratio and 90% delayed-to-total packet ratio.
The proposed algorithm has been successfully applied to real-time multi-target tracking problems using wireless sensor networks.

1. Introduction decision making. The applications of tracking using sensor


networks include surveillance, search and rescue, disaster
In wireless sensor networks, many inexpensive and small response system, pursuit evasion games [3], distributed con-
sensor-rich devices are deployed to monitor and control trol [4], spatiotemporal data collection, and other location-
our environment [1, 2]. Each device, called a sensor node, based services [5]. Two well-known multi-target tracking
is capable of sensing, computation, and communication. algorithms are joint probabilistic data association (JPDA)
Sensor nodes form a wireless adhoc network for communica- filter [6] and multiple hypothesis tracker (MHT) [7, 8]. But,
tion. The limited supply of power and other constraints, such considering the limited computational power and memory
as manufacturing costs and limited package sizes, limit the space of each sensor node, they are not feasible for sensor
capabilities of each sensor node. For example, a typical sensor networks due to their exponential time and space complex-
node has short communication and sensing ranges, a limited ities. As a result, many new tracking algorithms for sensor
amount of memory, and limited computational power. How- networks have been developed recently.
ever, the abundant number of spatially spread sensors will Many target tracking algorithms developed for sensor
enable us to monitor changes in our environment accurately networks are designed for single-target tracking [10–21]
despite the inaccuracy of each sensor node. and some of these algorithms are applied to track multiple
Multi-target tracking is a representative real-time appli- targets using classification [10–12] or heuristics, such as the
cation of sensor networks as it exhibits different aspects of nearest-neighbor filter (NNF) used in [13]. The NNF [6]
sensor networks such as event detection, sensor information processes the new measurements in some predefined order
fusion, communication, sensor management, and real-time and associates each with the target whose predicted position
2 International Journal of Distributed Sensor Networks

is closest, thereby selecting a single association. Although with previously received observations to improve the accu-
effective under benign conditions, the NNF gives order- racy of estimates. Furthermore, MCMCDA requires less
dependent results and breaks down under more difficult memory as it maintains only the current hypothesis and the
circumstances. Some algorithms are designed for multi- hypothesis with the highest posterior. It does not require the
target tracking [22–24] where the complexity of the data enumeration of all or some of hypotheses as in [7, 28]. In
association problem inherent to multi-target tracking is this paper, we extend the MCMCDA algorithm to sensor
avoided by classification [22, 23] or heuristics [22, 24]. The networks in a hierarchical manner so that the algorithm
associations between measurements and targets are not gen- becomes scalable. To our knowledge, the algorithm presented
erally known in multi-target tracking. The data association in this paper is the first general real-time scalable multi-
problem is to determine which measurements were gener- target-tracking algorithm for sensor networks which can
ated by which targets. When tracking targets of a similar type systematically track an unknown number of targets in the
or when reliable classification information is not available, presence of false alarms and missing observations and is
the classification-based tracking algorithm behaves as the robust against transmission failures, communication delays,
NNF. Considering the fact that the complexity of the data and sensor localization error.
association problem is NP-hard [25, 26], a heuristic approach
We consider a simple shortest-path routing scheme on a
breaks down under difficult circumstances. Furthermore, the
sensor network. The transmission failures and communica-
measurement inconsistencies common in sensor networks,
tion delays of the network are characterized probabilistically.
such as false alarms and missing measurements due to
We assume the availability of a small number of special
missing detection or packet loss, are not fully addressed in
many algorithms. On the contrary, the multi-target tracking nodes, supernodes, that are more capable than regular nodes
algorithm developed in this paper is based on a rigorous in terms of computational power and communication range.
probabilistic model and based on a true approximation Examples of a supernode include high-bandwidth sensor
scheme for the optimal Bayesian filter. nodes such as iMote and BTnode [29], gateway nodes such
We can categorize a target tracking algorithm for sensor as Stargate, Intrinsyc Cerfcube, and PC104 [29], and the
networks by its computational structure: centralized [11, 14, Tier-2 nodes used in the experiment of [27]. Each node is
15], hierarchical [16, 17], or distributed [10, 12, 13, 18–24]. assigned to its nearest supernode and nodes are grouped
Since each sensor can only sense a small region around it, and by supernodes. We call the group of sensor nodes formed
its measurements are noisy and inconsistent, measurements around a supernode a “tracking group”. When a node
only from a single sensor and its neighboring sensors are not detects a possible target, it communicates with its neighbors
sufficient to initiate, maintain, disambiguate, and terminate and observations from the neighboring sensors are fused
tracks of multiple targets. It requires measurements from and sent to its supernode. Each supernode receives the
distant sensors to initiate, maintain, disambiguate, and ter- fused observations from its tracking group and executes the
minate tracks of multiple targets. But considering the com- tracking algorithm. Each supernode communicates with
munication load and delay when exchanging measurements neighboring supernodes when a target moves away from
between distant sensors, a completely distributed approach its range. Lastly, the tracks estimated by supernodes are
is not feasible for real-time applications. On the other hand, combined hierarchically. Although a specific sensor network
a completely centralized approach is not robust and scalable. model is used for the performance evaluation, the algorithm
Hence, we consider a hierarchical architecture to minimize is applicable for different routing algorithms and sensor
the communication load and delay while being robust models, for example, distributed air traffic control [30].
and scalable. In fact, our algorithm has been successfully As mentioned earlier, the algorithm presented in this
demonstrated using a large-scale outdoor sensor network paper is used in [27]. Although the overview of the algorithm
deployment and used to solve a real-time control problem is described in [27], the focus of [27] is to describe a new
[27]. control system architecture using sensor networks and an
Markov chain Monte Carlo data association (MCMCDA) outdoor experiment. In this paper, we describe the algorithm
presented in [9] can track an unknown number of targets in in detail and study the characteristics of the algorithm under
real-time and is an approximation to the optimal Bayesian different conditions in simulation. The paper also includes
filter. It has been shown that MCMCDA is computationally experimental results from an indoor experiment with 45
efficient compared to the multiple hypothesis tracker (MHT) sensors and ourdoor experiments described in [27]. While
[7] and outperforms MHT with heuristics (i.e., pruning, a wireless sensor network generates noisy, inconsistent, and
gating, clustering, N-scan-back logic and k-best hypotheses) bursty measurements, the algorithm described in this paper
under extreme conditions, such as a large number of targets successfully estimated the number of targets and tracks of
in a dense environment, low detection probabilities, and targets in real-time.
high false alarm rates [9]. MCMCDA is suitable for sensor The remainder of this paper is structured as follows. The
networks since it can autonomously initiate and terminate sensor network model assumed in this paper is described in
tracks. Since transmission failure is another form of miss- Section 2. In Section 3, the multi-target tracking problem,
ing observation, MCMCDA is robust against transmission the MCMCDA algorithm, and the hierarchical extension of
failures. MCMCDA performs data association based on both MCMCDA are described. The simulation and experiment
current and past observations, so delayed observations, that results are given in Sections 4 and 5. Frequently appearing
is, out-of-sequence measurements, can be easily combined symbols are listed in Abbreviations section.
International Journal of Distributed Sensor Networks 3

2. Sensor Network Model


0.25
Let Ns be the number of sensor nodes, including both
supernodes and regular nodes, deployed over the surveillance 0.2

Estimation error (position)


region R ⊂ R2 . We assume that each supernode can com-
municate with its neighboring supernodes. Let si ∈ R be
the location of the ith sensor node and let S = {si : 1 ≤ 0.15
i ≤ Ns }. Let G = (S, E) be a communication graph such
that (si , s j ) ∈ E if and only if node i can communicate with 0.1
node j. Let Nss  Ns be the number of supernodes and let
ssj ∈ S be the position of the jth supernode, for j = 1, . . . , Nss .
Let g : {1, . . . , Ns } → {1, . . . , Nss } be the assignment of each 0.05
sensor to its nearest supernode such that g(i) = j if si −ssj  =
mink=1,...,Nss si −ssk . For a node i, if g(i) = j, the shortest path 0
from si to ssj in G is denoted by sp(i). For each supernode j, 0 5 10 15 20 25 30
its tracking group contains a set of nodes {si ∈ S : g(i) = j }. Sensing range (Rs ), single target
Let Rs ∈ R be the sensing range. If there is an object at
σx
x ∈ R, a sensor can detect the presence of the object. Each σy
sensor records the sensor’s signal strength,
⎧ Figure 1: The single target position estimation error as a function

⎪ β of Rs . See Section 4 for the sensor network setup used in simulations
⎨ + wis , if si − x ≤ Rs ,
zi = ⎪ 1 + γsi − xα (1) (Monte Carlo simulation of 1000 samples, unity corresponds to the

⎩w s , separation between sensors).
i if si − x > Rs ,

where α, β, and γ are constants specific to the sensor type,


A transmission along the edge (si , s j ) fails independently
and we assume that zi are normalized such that wis has the
with probability pte and the message never reaches a supern-
standard Gaussian distribution. This signal-strength based
ode. Notice that the transmission failure includes failures
sensor model (1) is general for sensors available in sensor
from retransmissions. We can consider transmission failure
networks, such as acoustic and magnetic sensors, and has
as another form of a missing observation. If k is the number
been used frequently [18, 23, 31]. For each i, if zi ≥ η,
of hops required to relay data from a sensor node to its
where η is a threshold set for appropriate values of detection
supernode, the probability of successful transmission decays
and false-positive probabilities, the node transmits zi to its
exponentially as k increases. To overcome this problem, we
neighboring nodes, which are at most 2Rs away from si , and
use k independent paths to relay data if the reporting sensor
listens to incoming messages from its 2Rs neighborhood.
node is k hops away from its supernode. The probability of
Note that this approach is similar to the leader election
successful communication pts from the reporting node i to
scheme in [18] and we assume that the transmission range
its supernode g(i) can be computed as
of each node is larger than 2Rs . However, this approach may
cause some missing observations if there is more than one 
 k k
object in this disk of radius 2Rs . A better approach to fuse pts k; pte = 1 − 1 − 1 − pte , (3)
local data is required and we will address this issue in our
future work. For the node i, if zi is larger than all incoming where k = |sp(i)|. See Figure 6(a) for an example of the ratio
messages, zi1 , . . . , zik−1 , and zik = zi , then the position of an between the number of lost packets and the number of total
object is estimated as packets as a function of the transmission failure rate pte .
We assume each node has the same probability pde of
k delaying a message. If di is the number of (additional) delays
j =1 zi j si j
zi = k . (2) on a message originating from the sensor i, that is, the num-
j =1 zi j ber of sampling intervals elapsed since the required arrival
time at the supernode g(i), di is distributed as
The estimate zi corresponds to the computation of a center 
of mass of the sensing nodes weighed by measured signal  sp(i) + d − 1  |sp(i)|  d
p di = d; pde = 1 − pde pde .
strengths. The node i transmits zi to the supernode g(i) via d
the shortest path sp(i). If zi is not the largest compared to (4)
the incoming messages, the node i does nothing and goes
back to the sensing mode. Although each sensor cannot give We are modeling the number of (additional) delays by the
an accurate estimate of object’s position, as more sensors negative binomial distribution. A negative binomial random
collaborate, the accuracy of estimates improves as shown in variable represents the number of failures before reaching the
Figure 1. The collaboration of sensors makes the system more fixed number of successes from Bernoulli trials. In our case,
robust against node failures and we can increase the detection it is the number of delays before |sp(i)| successful delay-less
probability and decrease the false alarm rate by collaboration. transmissions. See Figure 7(a) for an example of the ratio
4 International Journal of Distributed Sensor Networks

between the number of delayed packets, and the number of the state variable can be extended to include target type
total packets as a function of the communication delay rate information as done in [32].
pde . The main objective of the multi-target tracking problem
When the network is heavily loaded, the independence is to estimate K, {tik , t kf } and {xk (t) : tik ≤ t ≤ t kf }, for k =
assumptions on transmission failure and communication 1, . . . , K, from noisy observations.
delay may not hold. However, the model is realistic under the Let Y (t) = { y j (t) : j = 1, . . . , n(t)} be all measurements
moderate conditions, and we have chosen it for its simplicity. at time t and Y = {Y (t) : 1 ≤ t ≤ T } be all measurements
from t = 1 to t = T. Let Ω be a collection of partitions of Y
3. Multi-Target Tracking such that, for ω ∈ Ω, ω = {τ0 , τ1 , . . . , τK }, where τ0 is a set of
false alarms and τk is a set of measurements from target k for
3.1. Problem Formulation. Let T ∈ Z+ be the duration of k = 1, . . . , K. Note that ω is also known as a joint association
surveillance. Let K be the number of targets that appear in event in literature. More formally, ω is defined as follows:
the surveillance region R during the surveillance period.
Each target k moves in R for some duration [tik , t kf ] ⊂ (1) ω = {τ0 , τ1 , . . . , τK };
K
[1, T]. Notice that the exact values of K and {tik , t kf } are (2) k=0 τk = Y and τi ∩ τ j = ∅ for i =
/ j;
unknown. Each target arises at a random position in R at tik , (3) τ0 is a set of false alarms;
moves independently around R until t kf , and disappears. At (4) |τk ∩ Y (t)| ≤ 1 for k = 1, . . . , K and t = 1, . . . , T;
each time, an existing target persists with probability 1 − pz (5) |τk | ≥ 2 for k = 1, . . . , K.
and disappears with probability pz . The number of targets
arising at each time over R has a Poisson distribution with a An example of a partition is shown in Figure 2. Here, K is the
parameter λb V where λb is the birth rate of new targets per number of tracks for the given partition ω ∈ Ω. We call τk a
unit time, per unit volume, and V is the volume of R. The track when there is no confusion although the actual track
initial position of a new target is uniformly distributed over is the set of estimated states from the observations τk . This
R. is because we assume there is a deterministic function that
Let F k : Rnx → Rnx be the discrete-time dynamics of the returns a set of estimated states given a set of observations. A
target k, where nx is the dimension of the state variable, and track is assumed to contain at least two observations since we
let xk (t) ∈ Rnx be the state of the target k at time t for t = cannot distinguish a track with a single observation from a
tik , . . . , t kf . The target k moves according to false alarm, assuming λ f > 0. For special cases in which pd =
1 or λ f = 0, the definition of Ω can be adjusted accordingly.


Let ne (t − 1) be the number of targets at time t − 1, nz (t)
xk (t + 1) = F k xk (t) + wk (t), for t = tik , . . . , t kf − 1,
be the number of targets terminated at time t and nc (t) =
(5) ne (t − 1) − nz (t) be the number of targets from time t − 1
that have not terminated at time t. Let nb (t) be the number
where wk (t) ∈ Rnx are white-noise processes. The white- of new targets at time t, nd (t) be the number of actual target
noise process is included to model nonrectilinear motions detections at time t, and nu (t) = nc (t) + nb (t) − nd (t) be the
of targets. When a target is present, a noisy observation number of undetected targets. Finally, let n f (t) = n(t) − nd (t)
(or measurement) of the state of the target is measured be the number of false alarms. Using the Bayes rule, it can be
with a detection probability pd . Notice that, with probability shown that the posterior of ω is:
1 − pd , the target is not detected and we call this a missing
observation. There are also false alarms, and the number P(ω | Y ) ∝ P(ω) · P(Y | ω)
of false alarms has a Poisson distribution with a parameter
λ f V , where λ f is the false alarm rate per unit time, per 
T
 nc (t)  nu(t)
unit volume. Let n(t) be the number of observations at ∝ pznz (t) 1 − pz pdnd (t) 1 − pd (7)
t =1
time t, including both noisy observations and false alarms.
Let y j (t) ∈ Rn y be the jth observation at time t for j =
n f (t)
nb (t)
1, . . . , n(t), where n y is the dimension of each observation × (λb V ) λf V · P(Y | ω),
vector. Each target generates a unique observation at each
where P(Y | ω) is the likelihood of observations Y given
sampling time if it is detected. Let H j : Rnx → Rn y be the
ω, which can be computed based on the chosen dynamic
observation model. Then the observations are generated as
and measurement models. For example, the computation of
follows:

P(Y | ω) for the linear dynamic and measurement models


⎨H j xk (t) + v j (t), if y j (t) is from xk (t), can be found in [9]. Our formulation of (7) is similar
y j (t) = ⎪ (6) to MHT [28], and the derivation of (7) can be found in
⎩u f (t), otherwise, [28]. The parameters pz , pd , λb , and λ f have been widely
used in many multi-target-tracking applications [6, 28].
where v j (t) ∈ Rn y are white noise processes and u f (t) ∼ Our experimental and simulation experiences show that
Unif(R) is a random process for false alarms. We assume our tracking algorithm is not sensitive to changes in these
that the targets are indistinguishable in this paper, but if parameters in most cases. In fact, we used the same set of
observations include target type or attribute information, parameters for all our experiments.
International Journal of Distributed Sensor Networks 5

otherwise the sampler stays at ω, so that the detailed balance


1 5 is satisfied. If we make sure that M is irreducible and aperi-
2 4 odic, then M converges to its stationary distribution by the
3
ergodic theorem [33].
2 The MCMC data association (MCMCDA) algorithm is
4 described in Algorithm 1. MCMCDA is an MCMC algorithm
1 5
3 whose state space is Ω described in Section 3.1, and whose
stationary distribution is the posterior (7). The proposal
distribution for MCMCDA consists of five types of moves.
They are (1) birth/death move pair; (2) split/merge move
pair; (3) extension/reduction move pair; (4) track update
(a) move; and (5) track switch move. The MCMCDA moves are
graphically illustrated in Figure 3. For a detailed description
of each move, see [9]. The inputs for MCMCDA are the set of
all observations Y , the number of samples nmc , and the initial
τ2
state ωinit . The acceptance probability A(ω, ω ) is defined in
(8) where π(ω) = P(ω | Y ) from (7). In Algorithm 1, we use
MCMC to find a solution to a combinatorial optimization
problem. So it can be considered as simulated annealing at a
constant temperature.
τ1 In addition, the memory requirement of the algorithm
is at its bare minimum. Instead of keeping all {ω(n)}nnmc =1 , we
τ0 simply keep the partition with the maximum posterior, ω. 
Notice that, in MCMC, the construction of ω is done on the
(b)
fly according to the proposal distribution q(ω, ω ) and there
is no need to store previously visited states.
Figure 2: (a) An example of observations Y (each circle represents The Markov chain designed by Algorithm 1 is irreducible
an observation and numbers represent observation times). (b) An and aperiodic [9]. In addition, the transitions described
example of a partition ω of Y . in Algorithm 1 satisfy the detailed balance condition since
it uses the Metropolis-Hastings kernel (8). Hence, by the
ergodic theorem, the chain converges to its stationary dis-
tribution [33].
There are two major approaches to solve the multi-
target-tracking problem [9]: maximum a posteriori (MAP)
and Bayesian approaches. The MAP approach finds a 3.3. Online Hierarchical MCMCDA. At each supernode, we
partition of observations such that P(ω | Y ) is maximized implement the online MCMCDA algorithm with a sliding
and estimates the states of the targets based on this partition. window of size ws using Algorithm 1. This online implemen-
A Bayesian approach called minimum mean square error tation of MCMCDA is suboptimal because it considers only
(MMSE) finds an estimate which minimizes the expected a subset of past measurements. But since the contribution of
square error. For instance, E(xk (t) | Y ) is the MMSE estimate older measurements to the current estimate is much less than
for the state xk (t) of target k. However, when the number recent measurements, it is still a good approximation. At each
of targets is not fixed, a unique labeling of each target is time step, we use the previous estimate to initialize MCM-
required to find E(xk (t) | Y ) under the MMSE approach. CDA and run MCMCDA on the observations belonging to
In this paper, we take the MAP approach to the multi-target- the current window. Supernode a ∈ {1, . . . , Nss } maintains a
tracking problem for its convenience. j
set of observations Ya = { ya (t) : 1 ≤ j ≤ n(t), tcurr − ws +
j
1 ≤ t ≤ tcurr }, where tcurr is the current time and ya (t) is
3.2. Markov Chain Monte Carlo Data Association Algorithm. the jth fused measurement received by supernode a. At time
In this section, we explain an MCMC sampler designed tcurr + 1, the observations at time tcurr − ws + 1 are removed
to solve the multi-target-tracking problem. MCMC is a from Ya and a new set of observations is appended to Ya . Any
general method to generate samples from a distribution π delayed observations are inserted into the appropriate slots.
by constructing a Markov chain M whose states are ω and Then, each supernode initializes the Markov chain with the
whose stationary distribution is π(ω). If we are at state ω ∈ previously estimated tracks and executes Algorithm 1 on Ya .
Ω, we propose ω ∈ Ω following the proposal distribution Once a target is found, the next state of the target is predicted.
q(ω, ω ). The move is accepted with an acceptance probabil- If the predicted next state belongs to the surveillance area of
ity A(ω, ω ) where another supernode, the target’s track information is passed
 to the corresponding supernode. These newly received tracks
π(ω )q(ω , ω)
A(ω, ω ) = min 1, , (8) are then incorporated into the initial state of MCMCDA for
π(ω)q(ω, ω ) the next time step.
6 International Journal of Distributed Sensor Networks

4. Simulation Results
Birth
For simulations below, we consider the surveillance over a
Death rectangular region on a plane, R = [0, 100]2 . The state vector
is x = [x1 , x2 , ẋ1 , ẋ2 ]T , where (x1 , x2 ) is a position in R along
(a) (b)
the usual x and y axes and (ẋ1 , ẋ2 ) is a velocity vector. The
Split
linear dynamic and measurement models are used
x(t + δ) = Aδ x(t) + Gδ w(t),
Merge (9)
(d)
y(t) = Cx(t) + v(t),
(c)
where δ is a sampling interval, w(t) and v(t) are white Gaus-
Ext. sian noises with zero mean and covariance Q = diag(0.152 ,
0.152 ) and R (set according to Figure 1), respectively, and
Red.
⎡ ⎤
⎡ ⎤
δ2
(e) (f) ⎢2 0⎥
1 0 δ 0 ⎢ ⎥
⎢0 1 0 δ ⎥ ⎢ δ2 ⎥
Update ⎢ ⎥ ⎢ ⎥
Aδ = ⎢ ⎥, Gδ = ⎢

0 ⎥, (10)
⎣0 0 1 0 ⎦
⎢ 2⎥ ⎥
0 0 0 1 ⎣δ 0⎦
0 δ
(g) (h)
 
1 0 0 0
Switch C= . (11)
0 1 0 0

We assume a 100 × 100 sensor grid, in which the separation


(i) (j) between sensors is normalized to 1. So the unit length in
simulation is the length of the sensor separation. In all
Figure 3: A graphical illustration of MCMCDA moves. Associ- simulations, nmc = 1000 and ws = 10. For the sensor model,
ations are indicated by dotted lines, and hollow circles are false we use α = 2, γ = 1, η = 2, and β = 3(1 + γRαs ).
alarms.
Since the number of targets K is not fixed, it is difficult to
measure the performance of an algorithm using a standard
criterion such as the mean square error. Hence, we use two
Input:Y , nmc , ωinit separate metrics to measure performance: the estimation
Output: ω  error in the number of targets K , and the estimation error in
 = ω ← ωinit
ω position X . Let K ∗ (t) be the number of targets at time t and
for n = 1 to nmc do K(t) be the estimated number of targets at time t. We define
propose ω based on ω (see [9]) K as
sample U from Unif[0, 1]
ω ← ω if U < A(ω, ω ) 1  T

K =  K(t) − K ∗ (t) . (12)
 ← ω if p(ω | Y )/ p(ω
ω  | Y) > 1 ∗
K (t) t=1
end for
The computation of X is done when it makes sense. At any
Algorithm 1: MCMCDA. t, there can be at most M(t) = min(K(t), K ∗ (t)) common
tracks. We find M(t) matches between true tracks and
estimated tracks based on positions at t − 1, t, t + 1. For each
match i, let xi∗ (t) and xi (t) be the position of the true track
Since each supernode maintains its own set of tracks, and the estimated track at time t, respectively. We define X
there can be multiple tracks of a single object maintained by as
different supernodes. To make the algorithm fully hierarchi-
1 
T M(t)
cal, we do track-level data association to combine tracks from 
X2 =  xi (t) − x∗ (t)2 . (13)
different supernodes. Let ωa be the set of tracks maintained i
M(t) t=1 i=1
by supernode a. Let Yc = {τi (t) ∈ ωa : 1 ≤ t ≤ T, 1 ≤ i ≤
|ωa |, 1 ≤ a ≤ Nss } be the combined observations only from Both K and X are normalized with respect to the number
the established tracks. We form a new set of tracks ωinit from of targets for easier comparison.
{τi ∈ ωa : 1 ≤ i ≤ |ωa |, 1 ≤ a ≤ Nss } while making sure We first evaluate the effect of the sensing range and
that constraints defined in Section 3.1 are satisfied. Then we empirically find that there is an optimal value at which the
run Algorithm 1 on this combined observation set Yc with estimation error is minimized. Then we illustrate the robust-
the initial state ωinit . An example of hierarchical tracking and ness of our algorithm against sensor localization error, trans-
track-level data association is shown in Section 4.5. mission failures, and communication delays. We then give
International Journal of Distributed Sensor Networks 7

0.4 0.18

0.35 0.16
Estimation error (number of targets)

Estimation error (number of tracks)


0.3 0.14

0.12
0.25
0.1
0.2
0.08
0.15
0.06
0.1
0.04
0.05 0.02

0 0
1 2 3 4 5 0 0.5 1 1.5 2
Sensing range (Rs ), 10 targets Sensor localization error (σ), 10 targets

Slow speed (a)


Medium speed 4.5
Fast speed
4
(a)
2 Estimation error (position) 3.5

1.8 3

1.6 2.5
Estimation error (position)

1.4 2

1.2 1.5

1 1

0.8 0.5

0.6 0
0 0.5 1 1.5 2
0.4 Sensor localization error (σ), 10 targets
(b)
0.2
1 2 3 4 5
Sensing range (Rs ), 10 targets Figure 5: (a) The estimation error in the number of targets K as
a function of the localization error (σ). (b) The estimation error in
Slow speed position X as a function of the localization error (σ).
Medium speed
Fast speed
(b)
from target positions. Figure 4 shows the estimation errors
Figure 4: (a) The estimation error in the number of targets K as K and X when 10 targets appear and disappear at random
a function of sensing range Rs . (b) The estimation error in position times and T = 50. For slow-speed vehicles, |ẋ1 |, |ẋ2 | ∈ [0, 1];
X as a function of sensing range Rs . Unity corresponds to the sepa-
|ẋ1 |, |ẋ2 | ∈ [1, 2] for medium-speed vehicles; |ẋ1 |, |ẋ2 | ∈
ration between sensors.
[2, 5] for high-speed vehicles. For each vehicle type, five
different scenarios are used. When Rs = 0.5, the sensors
do not completely cover the surveillance region R and do
an example of surveillance using wireless sensor networks not detect targets at all times, hence the estimation error is
and demonstrate how the hierarchical MCMCDA algorithm higher. But as we increase Rs beyond 1.0, estimation errors
works. increase, since there are more collisions among observations
of different targets. The estimation errors are low for high-
4.1. Sensing Range. When localizing a single target, we can speed vehicles since it is easier to disambiguate crossing
minimize the localization error by allowing more sensors to targets. From Figure 4, we find that Rs = 1.5 is a good range
collaborate, which is equivalent to increasing Rs as shown for all types of vehicles and it is used in simulations below.
in Figure 1. But when there is more than one target, this is Notice that when Rs = 1.5, for each sensor si , there are 28
no longer true, since observations from different targets can neighboring sensors which are at most 2Rs away from si . We
collide, giving missing observations and observations away can also interpret this result in terms of sensor density for
8 International Journal of Distributed Sensor Networks

1 0.8

0.7

Estimation error (number of targets)


Average lost-to-total packet ratio

0.8
0.6

0.6 0.5

0.4
0.4
0.3

0.2
0.2
0.1

0 0
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
Transmission failure rate, 10 targets Transmission failure rate, 10 targets
(a) (b)
0.7

0.6
Estimation error (position)

0.5

0.4

0.3

0.2

0.1

0
0 0.2 0.4 0.6 0.8 1
Transmission failure rate, 10 targets
(c)

Figure 6: (a) Ratio between the number of lost packets and the number of total packets. (b) The estimation error in the number of targets
K as a function of pte . (c) The estimation error in position X as a function of pte .

a fixed value of Rs . Hence, once the surveillance region is error is 0.707 times the separation between sensors. Notice
fully covered by sensors, a further increase in density does that K is always under 0.18, so the algorithm finds most
not improve the estimation error. tracks for all σ. But X gets larger at high σ, since the target
position estimates are based on incorrect node positions.
Considering the fact that X is computed from the norm of a
4.2. Sensor Localization Error. The localization of sensor vector in R2 , X is mostly due to the sensor localization error.
nodes in an adhoc wireless sensor network, without expen-
sive hardware such as the global positioning system (GPS),
is a challenging problem [34]. Hence, an algorithm which 4.3. Transmission Failures. To assess the effects of transmis-
utilizes sensor positions needs to be robust against the sensor sion failures alone, we assume that there are no delayed
localization error. Suppose that the true position of sensor observations, no false alarms, and no missing detections.
node i is s∗i and si = s∗i + wil , where wil are Gaussian A single supernode is placed at the center. As mentioned
noises with zero mean and covariance Σ = diag(σ 2 , σ 2 ). earlier, transmission failures are missing observations and
Figure 5 shows the estimation errors from tracking 10 targets Figure 6(a) shows the ratio between the number of lost
as functions of the sensor localization error σ. It shows that packets and the number of total packets as a function of
the algorithm is robust against the sensor localization error the transmission failure rate pte . As pte increases, we lose
and, for σ ≤ 0.5, the algorithm performs as if there is no more packets and, at pte ≈ 0.9, we lose all packets. Figure 6
sensor localization error. This is remarkable since σ ≤ 0.5 shows the estimation errors and the algorithm performs well
corresponds to the case in which the average localization for pte ≤ 0.4. The estimation error X is low at high pte
International Journal of Distributed Sensor Networks 9

1 0.7

Estimation error (number of targets)


0.6
Average delayed-to-total packet ratio

0.8
0.5

0.6
0.4

0.3
0.4

0.2
0.2
0.1

0 0
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
Communication delay rate, 10 targets Communication delay rate, 10 targets

Delayed
Delayed but received
(a) (b)
0.34

0.32
Estimation error (position)

0.3

0.28

0.26

0.24

0.22
0 0.2 0.4 0.6 0.8 1
Communication delay rate, 10 targets
(c)

Figure 7: (a) Ratio between the number of delayed packets and the number of total packets. (b) The estimation error in the number of
targets K as a function of pde . (c) The estimation error in position X as a function of pde .

since most of packets are lost at high pte , making the data Figure 7(a) shows the ratio between the number of delayed
association problem easier. Notice that when pte = 0.4 more packets and the number of total packets as a function of
than 50% of packets are lost (see Figure 6(a)). It shows that the communication delay rate pde . As pde increases to 1, all
our algorithm is very robust against transmission failures packets are delayed. Since ws = 10, we do not receive all
and tolerates up to 50% lost-to-total packet ratio. Hence, for the delayed packets and the ratio between the number of
given pte , we can find the maximum radius kmax of a tracking delayed packets that are eventually received and the number
group, measured by the number of hops from a supernode, of packets is shown in a dotted line in Figure 7(a). The
such that pts (kmax ; pte ) ≥ 0.5, sustaining the performance estimation errors are shown in Figure 7. It shows a good
of the algorithm. For example, if pte = 0.1, kmax = 38, performance for pde ≤ 0.6. At pde = 0.6, 90% of packets are
that is, the most distant node can be 38 hops away from a delayed and 72% of packets have delays less than ws . Hence,
supernode. But one must consider the communication delay the system tolerates up to 90% delayed-to-total packet ratio.
which increases with the number of hops.
4.5. An Example of Surveillance with Sensor Networks. In
4.4. Communication Delays. To assess the effects of commu- this section, we give an example of surveillance with sensor
nication delays alone, we assume that there are no transmis- networks. The surveillance region R is divided into four
sion failures, no false alarms, and no missing observations. quadrants and sensors in each quadrant form a tracking
10 International Journal of Distributed Sensor Networks

100 100
47
90 90
27 23
80 9 4 80

70 70
82
46 100
60 60

50 70 50

y
y

100
53 51 60
40 40
56
30 30
3
20 100 20

10 74 10
90
0 1 13 0
0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100
x x
(a) (b)
100 100

90 90

80 80

70 70

60 60

50 50

40 40

30 30

20 20

10 10

0 0
0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100
(c) (d)
Figure 8: (a) A scenario used in Section 4.5 (numbers are target appearance and disappearance times, initial positions are marked by
circles). (b) Accumulated observations received by supernodes with delayed observations circled. (c) Tracks estimated locally by supernodes
superimposed. (d) Tracks estimated by the track-level data association step.

group, where a supernode is placed at the center of each that the track-level data association step corrects mistakes
quadrant. The scenario is shown in Figure 8(a). We used made by supernodes due to missing observations at the
pte = 0.3, pde = 0.3, and η = 2. The surveillance duration tracking group boundaries. The ability to correct mistakes
is increased to T = 100. Figure 8(b) shows the observations made by a supernode is another strength of our algorithm.
received by supernodes. There were a total of 1,174 observa- The algorithm is written in C++ and MATLAB and run on
tions and 603 observations were false alarms. A total of 319 a PC with a 2.6-GHz Intel Pentium 4 processor. It takes less
packets out of 1,174 packets were lost due to transmission than 0.06 seconds per supernode, per simulation time step.
failures and 449 packets out of 855 received packets were
delayed. The tracks estimated by the algorithm are shown 5. Experiments
in Figure 8(c). Figure 8(c) shows the tracks estimated locally
by supernodes while Figure 8(d) shows the tracks estimated 5.1. Indoor Experiments. As a proof of concept, we imple-
by the track-level data association step. Figure 8(d) shows mented a scaled down tracking scenario on a 9-by-5 sensor
International Journal of Distributed Sensor Networks 11

requirement and robust performance, despite a tendency for


the bias to drift on the magnetometers (see [38] for more
details). We used W = 5 and η = 80 in our experiments.
We used the minimum-transmission-routing protocol
[39] to route the sensor readings back to the supernode for
calculations. This algorithm has better end-to-end reliability
than shortest path routing, ensuring fewer packets are
dropped from transmission errors. We performed multiple
experiments with different target trajectories and velocities,
all with comparable performance. The result from one of
these experiments is shown in Figure 11 and snapshots are
shown in Figure 10. The experiments showed that the algo-
rithm performed well in the presence of false alarms and
missing observations.
(a)

5.2. Outdoor Experiments. In this section, we present an


outdoor demonstration described in [27] which is based on
the proposed hierarchical multi-target-tracking algorithm
for solving the multi-target-tracking problem. In addition to
outdoor experiments shown here, the MCMCDA algorithm
has been successfully applied to track vehicles, people, and
ground robots in urban environments [40, 41]. The exper-
iment was performed on a large-scale, long-term, outdoor
sensor network testbed deployed on a short grass field at
UC Berkeley’s Richmond Field Station (see Figure 12). A
total of 557 sensor nodes were deployed and 144 of these
nodes were allotted for the tracking and PEG experiments.
However, six out of the 144 nodes used in the experiment
(b) were not functioning on the day of the demo, reflecting the
difficulties of deploying large-scale, outdoor systems. The
Figure 9: (a) A mica2dot sensor node (attached to an eMote). (b) sensor nodes were deployed at approximately 4- to 6-meter
The sensor network testbed used in experiments. spacing in a 12 × 12 grid. Each sensor node was elevated
using a camera tripod to prevent the passive infrared (PIR)
sensors from being obstructed by grass and uneven terrain
network testbed (see Figure 9). The tracking scenario was (see Figure 12(a)). The true locations of the nodes were
that of two crossing targets moving at constant speed. Due measured during deployment using differential GPS and
to the small physical size of the network, there is a single stored in a table at the base station for reference. However, in
supernode and hence no track-level data association. Also, to the experiments the system assumed the nodes were placed
retain enough distinct data points to form meaningful tracks, exactly on a 5-meter spacing grid to highlight the robustness
we did not aggregate sensor readings as in (2). of the system against localization error.
The sensor node platform used for our experiment was In order to solve the multi-target tracking and pursuit-
the mica2dot [35], an embedded, low-power, wireless plat- evasion game, we have proposed a hierarchical real-time con-
form running TinyOS [36] which had a 4 MHz ATMega128 trol system LochNess which is shown in Figure 13. LochNess
processor with 4 kB of RAM and 128 kB of program memory, is composed of seven layers: the sensor networks, the
and a CC1000 radio that provided up to 38.4 kbps trans- multisensor fusion (MSF) module, the multi-target tracking
mission rate. Each node was equipped with a Honeywell (MTT) modules, the multi-track-fusion (MTF) module, the
HMC1002 2-axis magnetometer to sense moving targets. multi-agent coordination (MAC) module, the path planner
See Figure 9(a). Our moving targets were modified RC- module, and the path follower modules.
cars called COTSBOTs [37], which had a 1-inch (2.54 cm) Under this architecture, sensors are spread over the
diameter, 0.125-inch (3.175 mm) thick neodymium magnet surveillance region and form an adhoc network. The sensor
strapped to the top of the car. network detects moving objects in the surveillance region
The sensor nodes trigger a detection event when and the MSF module converts the sensor measurements into
target position estimates (or reports) using spatial corre-

1 
t
 2 lation. We consider a hierarchical sensor network and the
(xi − xi−1 )2 + yi − yi−1 > η, (14)
W i=t−W+1 Tier-2 nodes are supernodes considered in this paper. Fused
measurements are delievered to the Tier-2 nodes and the
where t is the current detection time, xi and yi are the x, and MTT module in each Tier-2 node estimates the number of
y-axis magnetometer readings, and W is the window size. We evaders, the positions and velocities of the evaders, and the
chose this detection function because of its low computation estimation error bounds. Each Tier-2 node communicates
12 International Journal of Distributed Sensor Networks

(a) (t = 24.2 sec) (b) (t = 25.3 sec) (c) (t = 29.7 sec)

6 6 6
5 5 5
4 4 4
3 3 3
2 2 2
1 1 1
0 0 0

0 1 2 3 4 5 6 7 8 9 10 [5pt] 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
(d) (t = 24.2 sec) (e) (t = 25.3 sec) (f) (t = 29.7 sec)

Figure 10: (a)–(c) Snapshots from the experiment of crossing tracks, proceeding left to right. We are looking at the grid of nodes from the
bottom right corner. (d)–(f) Corresponding tracks found by the MCMCDA algorithm at each time step. Reporting sensor nodes are circled
in red, postulated tracks are represented by dashed lines, while established tracks are represented by red solid lines. Note that the algorithm
makes a bad association at t = 25.3 sec, but corrects for it by t = 29.7 sec.

6 6

5 5
(21)
4 4
(22)
3 3
(22) (23) (23) (25) (26)
2 2 (25) (29)
1 1 (26)

0 0

0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
(a) (b)

Figure 11: (a) Trajectories of targets from the experiment. (b) Estimated tracks from the algorithm with observations (circles).

with its neighboring Tier-2 nodes when a target moves away the estimated time to capture the last evader is minimized.
from the region monitored by its tracking group. Lastly, Once the assignments are determined, the path planner
the tracks estimated by the Tier-2 nodes are combined module computes a trajectory for each pursuer to capture its
hierarchically by the MTF module at the base station. assigned evader in the least amount of time without colliding
The estimates computed by the MTF module are then into other pursuers. Then, the base station transmits each
used by the MAC module to estimate the expected capture trajectory to the path-following controller of the correspond-
times of all pursuer-evader pairs. Based on these estimates, ing pursuer. The path-following controller modifies the
the MAC module assigns one pursuer to one evader by pursuer’s trajectory on the fly to avoid any obstacles sensed
solving the bottleneck assignment problem [42] such that by the pursuer’s on-board sensors. The MTT and MTF
International Journal of Distributed Sensor Networks 13

(a) (b)

Figure 12: Hardware for the sensor nodes. (a) Triosensor node on a tripod. On top is the microphone, buzzer, solar panel, and user and reset
buttons. On the sides are the windows for the passive infrared sensors. (b) A live picture from the two-target PEG experiment. The targets
are circled.

Pursuer N
Input to the field around time 10 and 80, respectively. During the
Pursuers

Pursuer 1 Pursuer 2
pursuer thrusters
Path follower Path follower ...
Path follower
experiment, the algorithm correctly rejected false alarms
Collision-free desired
and compensated for missing detections. There were many
trajectories false alarms during the span of the experiments. Though
Path planner not shown in the figures, the algorithm dynamically cor-
Base station

Assignment of
pursuers to evaders
rected previous track hypotheses as it received more sensor
Multi agent
coordination (MAC) readings. A live picture of this experiment is shown in
Number of evaders,
position, velocities, and Figure 12(b). Figures 14(b) and 14(c) show the multi-target-
Multi track estimation error bounds
tracking results with two persons walking through the field.
fusion (MTF)
Regional estimates: Note that the MTT module is able to correctly disambiguate
number of evaders,
the presence of two targets (right panel of Figure 14(c)) using
Sensor network

Tier-2 node 1 Tier2- node M positions, velocities, and


estimation error bounds
Tier-2

Multi target ... Multi target past measurements, despite the fact that the MSF module
tracking (MTT) tracking (MTT)
Local estimation of reports the detection of a single target (upper left panel of
evaders positions from
sensor network Figure 14(b)).
Multi-sensor fusion (MSF)
Tier-1

Sensor
measurements 6. Conclusions
Figure 13: LochNess: a hierarchical real-time control system archi- In this paper, a scalable hierarchical multi-target-tracking
tecture using wireless sensor networks for multi-target tracking and algorithm for wireless sensor networks is presented. The
multiagent coordination. algorithm is based on the efficient MCMCDA algorithm,
and it is suitable for autonomous real-time surveillance in
sensor networks. This new multi-target-tracking algorithm
modules are based on the proposed hierarchical multi-target- can initiate and terminate tracks and requires a small amount
tracking algorithm. For more detail about the description of memory. The task of tracking is done hierarchically for
about the system used in the experiments, see [27]. real-time operation by forming a tracking group around a
We demonstrated the system on one, two, and three supernode and later combining tracks from different supern-
human targets, with targets entering the field at different odes. In order to reduce the communication overhead,
times. In all three experiments, the tracking algorithm cor- observations are first fused locally and then transmitted to
rectly estimated the number of targets and produced cor- its supernode. The algorithm is robust against sensor local-
rect tracks. Furthermore, the algorithm correctly disam- ization error and there is no performance loss up to the
biguated crossing targets in the two-target and three-target average localization error of 0.7 times the separation between
experiments without classification labels on the targets. sensors. The algorithm is also robust against transmission
Figure 14(a) shows an example with three humans walking failures and communication delays. In particular, the algo-
through the field. The three humans entered and exited rithm tolerates up to 50% lost-to-total packet ratio and 90%
14 International Journal of Distributed Sensor Networks

Detection Estimated tracks and pursuer-to-evader assignment Detection Estimated tracks and pursuer-to-evader assignment Estimated tracks and pursuer-to-evader assignment
90 −10 90 −10 90 Detection −10
80 80 80
70 −20 70 −20 70 −20
60 60 60
50 50 50
−30 −30 −30
40 40 40
30 30 30
20 −40 −40 20 −40
20
10 10 10
0 −50 0 −50 0 −50
0 20 40 60 0 20 40 60 0 20 40 60
Fusion Fusion Fusion
−60 −60 −60
80 80 80
−70 −70 −70
60 60 60

40
−80 −80 40
−80
40

20 −90 20 −90 20 −90

0 −100 0 −100 0 −100


0
0 20 40 60 0 20 40 60 80 100 0 20 40 60 0 20 40 60 80 100 0 20 40 60 0 20 40 60 80 100

(a) (b) (c)

Figure 14: (a) Estimated tracks of targets at time 70 from the experiment with three people walking in the field. (upper left) Detection
panel. Sensors are marked by small dots and detections are shown in large disks. (lower left) Fusion panel shows the fused likelihood. (right)
Estimated tracks. (b) Estimated tracks of targets from the experiment with two people walking in the field before crossing. (c) Estimated
tracks of targets from the experiment with two people walking in the field after crossing.

delayed-to-total packet ratio. The extensive simulation and Acknowledgments


experimental results show that the algorithm is well suited
for wireless sensor networks where transmission failures and The author would like to thank Phoebus Chen for his
communication delays are frequent. contribution to the indoor experiment. This research was
supported by Basic Science Research Program through the
National Research Foundation of Korea (NRF) funded by
Abbreviations
the Ministry of Education, Science and Technology (No.
List of Symbols 2010-0013354). A preliminary version of this work was
presented at the IEEE International Conference on Robotics
g(i): Assignment of node i to supernode g(i) and Automation, 2005 [43].
K: Number of targets
nmc : Number of steps in MCMCDA
Ns : Number of sensor nodes References
Nss : Number of supernodes [1] D. Culler, D. Estrin, and M. Srivastava, “Overview of sensor
pd : Target detection probability networks,” Computer, vol. 37, no. 8, pp. 41–49, 2004.
pde : Probability of delaying a message [2] D. Estrin, D. Culler, K. Pister, and G. Sukhatme, “Connecting
pte : Transmission failure probability the physical world with pervasive networks,” IEEE Pervasive
Computing, vol. 1, no. 1, pp. 59–69, 2002.
pts : Probability of successful end-to-end [3] L. Schenato, S. Oh, S. Sastry, and P. Bose, “Swarm coordi-
communication nation for pursuit evasion games using sensor networks,” in
pz : Target disappearance probability Proceedings of the IEEE International Conference on Robotics
R ⊂ R2 : Surveillance region and Automation, pp. 2493–2498, Barcelona, Spain, April 2005.
Rs : Sensing range of a sensor node [4] B. Sinopoli, C. Sharp, L. Schenato, S. Schaffert, and S. S. Sastry,
sp(i): Shortest path from node i to g(i) “Distributed control applications within sensor networks,”
T ∈ Z+ : Time duration of surveillance Proceedings of the IEEE, vol. 91, no. 8, pp. 1235–1245, 2003.
Unif: Uniform distribution [5] J. Hightower and G. Borriello, “Location systems for ubiqui-
tous computing,” Computer, vol. 34, no. 8, pp. 57–66, 2001.
V: Volume of the surveillance region R
[6] Y. Bar-Shalom and T. Fortmann, Tracking and Data Associa-
ws : Sliding window size for online tion, Academic Press, San Diego, Calif, USA, 1988.
MCMCDA [7] D. B. Reid, “An algorithm for tracking multiple targets,” IEEE
Y , Y (t): Measurements Transactions on Automatic Control, vol. 24, no. 6, pp. 843–854,
α, β, γ: Sensor parameters 1979.
η: Detection threshold, [8] C. Chong, S. Mori, and K. Chang, “Distributed multitarget
λb : Birth rate of new targets per unit time multisensor tracking,” in Multitarget-Multisensor Tracking:
and volume Advanced Applications, Y. Bar-Shalom, Ed., pp. 247–295,
λf : False alarm rate per unit time and Artech House, Norwood, Mass, USA, 1990.
volume [9] S. Oh, S. Russell, and S. Sastry, “Markov chain Monte Carlo
data association for multi-target tracking,” IEEE Transactions
τk : Set of measurements from target
on Automatic Control, vol. 54, no. 3, pp. 481–497, 2009.
Ω: Collection of joint association events [10] D. Li, K. D. Wong, Y. H. Hu, and A. M. Sayeed, “Detection,
ω ∈ Ω: Joint association event classification, and tracking of targets,” IEEE Signal Processing
ωinit : Initial state for MCMCDA. Magazine, vol. 19, no. 2, pp. 17–29, 2002.
International Journal of Distributed Sensor Networks 15

[11] A. Arora, P. Dutta, S. Bapat et al., “A line in the sand: a [26] A. Poore, “Multidimensional assignment and multitarget
wireless sensor network for target detection, classification, and tracking,” in Partitioning Data Sets, I. J. Cox, P. Hansen, and
tracking,” Computer Networks, vol. 46, no. 5, pp. 605–634, B. Julesz, Eds., pp. 169–196, American Mathematical Society,
2004. Providence, RI, USA, 1995.
[12] S. Oh and S. Sastry, “Tracking on a graph,” in Proceedings of [27] S. Oh, L. Schenato, P. Chen, and S. Sastry, “Tracking and
the 4th International Symposium on Information Processing in coordination of multiple agents using sensor networks: system
Sensor Networks (IPSN ’05), pp. 195–202, Los Angeles, Calif, design, algorithms and experiments,” Proceedings of the IEEE,
USA, April 2005. vol. 95, no. 1, pp. 234–254, 2007.
[13] R. Brooks, D. Friedlander, J. Koch, and S. Phoha, “Tracking [28] T. Kurien, “Issues in the design of practical multitarget track-
multiple targets with self-organizing distributed ground sen- ing algorithms,” in Multitarget-Multisensor Tracking: Advanced
sors,” Journal of Parallel and Distributed Computing, vol. 64, Applications, Y. Bar-Shalom, Ed., Artech House, Norwood,
no. 7, pp. 875–884, 2004. Mass, USA, 1990.
[14] C. Sharp, S. Schaffert, A. Woo et al., “Design and implemen- [29] J. Hill, M. Horton, R. Kling, and L. Krishnamurthy, “The plat-
tation of a sensor network system for vehicle tracking and forms enabling wireless sensor networks,” Communications of
autonomous interception,” in Proceedings of the 2nd European the ACM, vol. 47, no. 6, pp. 41–46, 2004.
Workshop onWireless Sensor Networks (EWSN ’05), pp. 93–107, [30] S. Oh, I. Hwang, and S. Sastry, “Distributed multitarget track-
February 2005. ing and identity management,” Journal of Guidance, Control,
[15] J. Aslam, Z. Butler, F. Constantin, V. Crespi, G. Cybenko, and and Dynamics, vol. 31, no. 1, pp. 12–29, 2008.
D. Rus, “Tracking a moving object with a binary sensor net- [31] S. Meguerdichian, F. Koushanfar, G. Qu, and M. Potkonjak,
work,” in Proceedings of the ACM 1st International Conference “Exposure in wireless ad-hoc sensor networks,” in Proceedings
on Embedded Networked Sensor Systems (SenSys ’03), pp. 150– of the 7th Annual International Conference on Mobile Comput-
161, November 2003. ing and Networking, pp. 139–150, July 2001.
[16] W. Chen, J. Hou, and L. Sha, “Dynamic clustering for acoustic
[32] H. Pasula, S. Russell, M. Ostland, and Y. Ritov, “Tracking many
target tracking in wireless sensor networks,” in Proceedings of
objects with many sensors,” in Proceedings of the International
the 11th IEEE International Conference on Network Protocols,
Joint Conference on Artificial Intelligence, Stockholm, Sweden,
pp. 284–294, November 2003.
July 1999.
[17] M. Coates, “Distributed particle filters for sensor networks,” in
[33] G. Roberts, “Markov chain concepts related to sampling algo-
Proceedings of the 3rd International Symposium on Information
rithms,” in Markov Chain Monte Carlo in Practice, W. Gilks,
Processing in Sensor Networks (IPSN ’04), pp. 99–107, April
S. Richardson, and D. Spiegelhalter, Eds., Interdisciplinary
2004.
Statistics, Chapman and Hall, New York, NY, USA, 1996.
[18] J. Liu, J. Liu, J. Reich, P. Cheung, and F. Zhao, “Distributed
[34] K. Whitehouse, F. Jiang, A. Woo, C. Karlof, and D. Culler,
group management for track initiation and maintenance in
“Sensor field localization: a deployment and empirical anal-
target localization applications,” in Proceedings of the 2nd
ysis,” Tech. Rep. UCB//CSD-04-1349, University of California,
workshop on Information Processing in Sensor Networks, pp.
Berkeley, Calif, usa, 2004.
113–128, April 2003.
[19] F. Zhao, J. Liu, J. Liu, L. Guibas, and J. Reich, “Collaborative [35] Berkeley, “Mica2dot hardware design files,” 2003, motes man-
signal and information processing: an information-directed ufactured by Crossbow Technology Inc., http://www.tinyos
approach,” Proceedings of the IEEE, vol. 91, no. 8, pp. 1199– .net/scoop/special/hardware.
1209, 2003. [36] J. Hill, R. Szewczyk, A. Woo, S. Hollar, D. Culler, and K. Pister,
[20] J. Liu, J. Reich, and F. Zhao, “Collaborative in-network pro- “System architecture directions for networked sensors,” in Pro-
cessing for target tracking,” Eurasip Journal on Applied Signal ceedings of the 9th Internatinal Conference Architectural Support
Processing, vol. 2003, no. 4, pp. 378–391, 2003. for Programming Languages and Operating Systems (ASPLOS-
[21] D. McErlean and S. Narayanan, “Distributed detection and IX ’00), pp. 93–104, Cambridge, Mass, USA, November 2000.
tracking in sensor networks,” in Proceedings of the 36th Asilo- [37] S. Bergbreiter and K. S. J. Pister, “Cotsbots: an off-the-shelf
mar Conference on Signals Systems and Computers, pp. 1174– platform for distruted robotics,” in Proceedings of the IEEE/RSJ
1178, November 2002. International Conference on Intelligent Robots and Systems
[22] J. Shin, L. Guibas, and F. Zhao, “A distributed algorithm for (IROS ’03), pp. 27–31, Las Vegas, Nev, USA, October 2003.
managing multi-target identities in wireless ad-hoc sensor [38] Honeywell, “1- and 2- axis magnetic sensors,” http://www.ssec
networks,” in Proceedings of the 2nd workshop on Information .honeywell.com/magnetic/datasheets/hmc1001-2&1021-2
Processing in Sensor Networks, pp. 223–238, April 2003. .pdf.
[23] J. Liu, M. Chu, J. Liu, J. Reich, and F. Zhao, “Distributed state [39] A. Woo, T. Tong, and D. Culler, “Taming the underlying chal-
representation for tracking problems in sensor networks,” in lenges of reliable multihop routing in sensor networks,” in
Proceedings of the 3rd International Symposium on Information Proceedings of the 1st International Conference on Embedded
Processing in Sensor Networks (IPSN ’04), pp. 234–242, April Networked Sensor Systems (SenSys ’03), pp. 14–27, Los Angeles,
2004. Calif, USA, November 2003.
[24] M. Chu, S. Mitter, and F. Zhao, “Distributed multiple target [40] M. Kushwaha, S. Oh, I. Amundson, X. Koutsoukos, and A.
tracking and data association in ad hoc sensor networks,” in Ledeczi, “Target tracking in urban environments using audio-
Proceedings of the 6th International Conference on Information video signal processing in heterogeneous wireless sensor net-
Fusion, pp. 447–454, July 2004. works,” in Proceedings of the 42nd Asilomar Conference on
[25] J. B. Collins and J. K. Uhlmann, “Efficient gating in data asso- Signals, Systems and Computers (ASILOMAR ’08), pp. 1606–
ciation with multivariate Gaussian distributed states,” IEEE 1610, Pacific Grove, Calif, USA, October 2008.
Transactions on Aerospace and Electronic Systems, vol. 28, no. [41] M. Meingast, M. Kushwaha, S. Oh, X. Koutsoukos, A. Ledeczi,
3, pp. 909–916, 1992. and S. Sastry, “Fusion-based localization for a heterogeneous
16 International Journal of Distributed Sensor Networks

camera network,” in Proceedings of the 2nd ACM/IEEE Interna-


tional Conference on Distributed Smart Cameras (ICDSC ’08),
Pacific Grove, Calif, USA, September 2008.
[42] R. Burkard and R. Cela, “Linear assignment problem and
extensions,” Tech. Rep. 127, Karl-Franzens University of Graz,
Graz, Austria, 1998.
[43] S. Oh, S. Sastry, and L. Schenato, “A hierarchical multiple-
target tracking algorithm for sensor networks,” in Proceedings
of the IEEE International Conference on Robotics and Automa-
tion, pp. 2197–2202, Barcelona, Spain, April 2005.

You might also like