About this Journal Submit a Manuscript Table of Contents
International Journal of Distributed Sensor Networks
Volume 2012 (2012), Article ID 938521, 16 pages
http://dx.doi.org/10.1155/2012/938521
Research Article

A Scalable Multi-Target Tracking Algorithm for Wireless Sensor Networks

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

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.

Abstract

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

In wireless sensor networks, many inexpensive and small sensor-rich devices are deployed to monitor and control our environment [1, 2]. Each device, called a sensor node, is capable of sensing, computation, and communication. Sensor nodes form a wireless adhoc network for communication. The limited supply of power and other constraints, such as manufacturing costs and limited package sizes, limit the capabilities of each sensor node. For example, a typical sensor node has short communication and sensing ranges, a limited amount of memory, and limited computational power. However, the abundant number of spatially spread sensors will enable us to monitor changes in our environment accurately despite the inaccuracy of each sensor node.

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, communication, sensor management, and real-time decision making. The applications of tracking using sensor networks include surveillance, search and rescue, disaster response system, pursuit evasion games [3], distributed control [4], spatiotemporal data collection, and other location-based services [5]. Two well-known multi-target tracking algorithms are joint probabilistic data association (JPDA) filter [6] and multiple hypothesis tracker (MHT) [7, 8]. But, considering the limited computational power and memory space of each sensor node, they are not feasible for sensor networks due to their exponential time and space complexities. As a result, many new tracking algorithms for sensor networks have been developed recently.

Many target tracking algorithms developed for sensor networks are designed for single-target tracking [1021] and some of these algorithms are applied to track multiple targets using classification [1012] or heuristics, such as the nearest-neighbor filter (NNF) used in [13]. The NNF [6] processes the new measurements in some predefined order and associates each with the target whose predicted position is closest, thereby selecting a single association. Although effective under benign conditions, the NNF gives order-dependent results and breaks down under more difficult circumstances. Some algorithms are designed for multi-target tracking [2224] where the complexity of the data association problem inherent to multi-target tracking is avoided by classification [22, 23] or heuristics [22, 24]. The associations between measurements and targets are not generally known in multi-target tracking. The data association problem is to determine which measurements were generated by which targets. When tracking targets of a similar type or when reliable classification information is not available, the classification-based tracking algorithm behaves as the NNF. Considering the fact that the complexity of the data association problem is NP-hard [25, 26], a heuristic approach breaks down under difficult circumstances. Furthermore, the measurement inconsistencies common in sensor networks, such as false alarms and missing measurements due to missing detection or packet loss, are not fully addressed in many algorithms. On the contrary, the multi-target tracking algorithm developed in this paper is based on a rigorous probabilistic model and based on a true approximation scheme for the optimal Bayesian filter.

We can categorize a target tracking algorithm for sensor networks by its computational structure: centralized [11, 14, 15], hierarchical [16, 17], or distributed [10, 12, 13, 1824]. Since each sensor can only sense a small region around it, and its measurements are noisy and inconsistent, measurements only from a single sensor and its neighboring sensors are not sufficient to initiate, maintain, disambiguate, and terminate tracks of multiple targets. It requires measurements from distant sensors to initiate, maintain, disambiguate, and terminate tracks of multiple targets. But considering the communication load and delay when exchanging measurements between distant sensors, a completely distributed approach is not feasible for real-time applications. On the other hand, a completely centralized approach is not robust and scalable. Hence, we consider a hierarchical architecture to minimize the communication load and delay while being robust and scalable. In fact, our algorithm has been successfully demonstrated using a large-scale outdoor sensor network deployment and used to solve a real-time control problem [27].

Markov chain Monte Carlo data association (MCMCDA) presented in [9] can track an unknown number of targets in real-time and is an approximation to the optimal Bayesian filter. It has been shown that MCMCDA is computationally efficient compared to the multiple hypothesis tracker (MHT) [7] and outperforms MHT with heuristics (i.e., pruning, gating, clustering, 𝑁-scan-back logic and 𝑘-best hypotheses) under extreme conditions, such as a large number of targets in a dense environment, low detection probabilities, and high false alarm rates [9]. MCMCDA is suitable for sensor networks since it can autonomously initiate and terminate tracks. Since transmission failure is another form of missing observation, MCMCDA is robust against transmission failures. MCMCDA performs data association based on both current and past observations, so delayed observations, that is, out-of-sequence measurements, can be easily combined with previously received observations to improve the accuracy of estimates. Furthermore, MCMCDA requires less memory as it maintains only the current hypothesis and the hypothesis with the highest posterior. It does not require the enumeration of all or some of hypotheses as in [7, 28]. In this paper, we extend the MCMCDA algorithm to sensor networks in a hierarchical manner so that the algorithm becomes scalable. To our knowledge, the algorithm presented in this paper is the first general real-time scalable multi-target-tracking algorithm for sensor networks which can systematically track an unknown number of targets in the presence of false alarms and missing observations and is robust against transmission failures, communication delays, and sensor localization error.

We consider a simple shortest-path routing scheme on a sensor network. The transmission failures and communication delays of the network are characterized probabilistically. We assume the availability of a small number of special nodes, supernodes, that are more capable than regular nodes in terms of computational power and communication range. Examples of a supernode include high-bandwidth sensor nodes such as iMote and BTnode [29], gateway nodes such as Stargate, Intrinsyc Cerfcube, and PC104 [29], and the Tier-2 nodes used in the experiment of [27]. Each node is assigned to its nearest supernode and nodes are grouped by supernodes. We call the group of sensor nodes formed around a supernode a “tracking group”. When a node detects a possible target, it communicates with its neighbors and observations from the neighboring sensors are fused and sent to its supernode. Each supernode receives the fused observations from its tracking group and executes the tracking algorithm. Each supernode communicates with neighboring supernodes when a target moves away from its range. Lastly, the tracks estimated by supernodes are combined hierarchically. Although a specific sensor network model is used for the performance evaluation, the algorithm is applicable for different routing algorithms and sensor models, for example, distributed air traffic control [30].

As mentioned earlier, the algorithm presented in this paper is used in [27]. Although the overview of the algorithm is described in [27], the focus of [27] is to describe a new control system architecture using sensor networks and an outdoor experiment. In this paper, we describe the algorithm in detail and study the characteristics of the algorithm under different conditions in simulation. The paper also includes experimental results from an indoor experiment with 45 sensors and ourdoor experiments described in [27]. While a wireless sensor network generates noisy, inconsistent, and bursty measurements, the algorithm described in this paper successfully estimated the number of targets and tracks of targets in real-time.

The remainder of this paper is structured as follows. The sensor network model assumed in this paper is described in Section 2. In Section 3, the multi-target tracking problem, the MCMCDA algorithm, and the hierarchical extension of MCMCDA are described. The simulation and experiment results are given in Sections 4 and 5. Frequently appearing symbols are listed in Abbreviations section.

2. Sensor Network Model

Let 𝑁𝑠 be the number of sensor nodes, including both supernodes and regular nodes, deployed over the surveillance region 2. We assume that each supernode can communicate with its neighboring supernodes. Let 𝑠𝑖 be the location of the 𝑖th sensor node and let 𝑆={𝑠𝑖1𝑖𝑁𝑠}. Let 𝐺=(𝑆,𝐸) be a communication graph such that (𝑠𝑖,𝑠𝑗)𝐸 if and only if node 𝑖 can communicate with node 𝑗. Let 𝑁𝑠𝑠𝑁𝑠 be the number of supernodes and let 𝑠𝑠𝑗𝑆 be the position of the 𝑗th supernode, for 𝑗=1,,𝑁ss. Let 𝑔{1,,𝑁𝑠}{1,,𝑁ss} be the assignment of each sensor to its nearest supernode such that 𝑔(𝑖)=𝑗 if 𝑠𝑖𝑠𝑠𝑗=min𝑘=1,,𝑁ss𝑠𝑖𝑠𝑠𝑘. For a node 𝑖, if 𝑔(𝑖)=𝑗, the shortest path from 𝑠𝑖 to 𝑠𝑠𝑗 in 𝐺 is denoted by sp(𝑖). For each supernode 𝑗, its tracking group contains a set of nodes {𝑠𝑖𝑆𝑔(𝑖)=𝑗}.

Let 𝑅𝑠 be the sensing range. If there is an object at 𝑥, a sensor can detect the presence of the object. Each sensor records the sensor's signal strength, 𝑧𝑖=𝛽𝑠1+𝛾𝑖𝑥𝛼+𝑤𝑠𝑖𝑠,if𝑖𝑥𝑅𝑠,𝑤𝑠𝑖𝑠,if𝑖𝑥>𝑅𝑠,(1) where 𝛼, 𝛽, and 𝛾 are constants specific to the sensor type, and we assume that 𝑧𝑖 are normalized such that 𝑤𝑠𝑖 has the standard Gaussian distribution. This signal-strength based sensor model (1) is general for sensors available in sensor networks, such as acoustic and magnetic sensors, and has been used frequently [18, 23, 31]. For each 𝑖, if 𝑧𝑖𝜂, where 𝜂 is a threshold set for appropriate values of detection and false-positive probabilities, the node transmits 𝑧𝑖 to its neighboring nodes, which are at most 2𝑅𝑠 away from 𝑠𝑖, and listens to incoming messages from its 2𝑅𝑠 neighborhood. Note that this approach is similar to the leader election scheme in [18] and we assume that the transmission range of each node is larger than 2𝑅𝑠. However, this approach may cause some missing observations if there is more than one object in this disk of radius 2𝑅𝑠. A better approach to fuse local data is required and we will address this issue in our future work. For the node 𝑖, if 𝑧𝑖 is larger than all incoming messages, 𝑧𝑖1,,𝑧𝑖𝑘1, and 𝑧𝑖𝑘=𝑧𝑖, then the position of an object is estimated as ̂𝑧𝑖=𝑘𝑗=1𝑧𝑖𝑗𝑠𝑖𝑗𝑘𝑗=1𝑧𝑖𝑗.(2) The estimate ̂𝑧𝑖 corresponds to the computation of a center of mass of the sensing nodes weighed by measured signal strengths. The node 𝑖 transmits ̂𝑧𝑖 to the supernode 𝑔(𝑖) via the shortest path sp(𝑖). If 𝑧𝑖 is not the largest compared to the incoming messages, the node 𝑖 does nothing and goes back to the sensing mode. Although each sensor cannot give an accurate estimate of object's position, as more sensors collaborate, the accuracy of estimates improves as shown in Figure 1. The collaboration of sensors makes the system more robust against node failures and we can increase the detection probability and decrease the false alarm rate by collaboration.

938521.fig.001
Figure 1: The single target position estimation error as a function of 𝑅𝑠. See Section 4 for the sensor network setup used in simulations (Monte Carlo simulation of 1000 samples, unity corresponds to the separation between sensors).

A transmission along the edge (𝑠𝑖,𝑠𝑗) fails independently with probability 𝑝te and the message never reaches a supernode. Notice that the transmission failure includes failures from retransmissions. We can consider transmission failure as another form of a missing observation. If 𝑘 is the number of hops required to relay data from a sensor node to its supernode, the probability of successful transmission decays exponentially as 𝑘 increases. To overcome this problem, we use 𝑘 independent paths to relay data if the reporting sensor node is 𝑘 hops away from its supernode. The probability of successful communication 𝑝𝑡𝑠 from the reporting node 𝑖 to its supernode 𝑔(𝑖) can be computed as 𝑝ts𝑘;𝑝te=111𝑝te𝑘𝑘,(3) where 𝑘=|sp(𝑖)|. See Figure 6(a) for an example of the ratio between the number of lost packets and the number of total packets as a function of the transmission failure rate 𝑝te.

We assume each node has the same probability 𝑝de of delaying a message. If 𝑑𝑖 is the number of (additional) delays on a message originating from the sensor 𝑖, that is, the number of sampling intervals elapsed since the required arrival time at the supernode 𝑔(𝑖), 𝑑𝑖 is distributed as 𝑝𝑑𝑖=𝑑;𝑝de=||||𝑑sp(𝑖)+𝑑11𝑝de|sp(𝑖)|𝑝de𝑑.(4) We are modeling the number of (additional) delays by the negative binomial distribution. A negative binomial random variable represents the number of failures before reaching the fixed number of successes from Bernoulli trials. In our case, it is the number of delays before |sp(𝑖)| successful delay-less transmissions. See Figure 7(a) for an example of the ratio between the number of delayed packets, and the number of total packets as a function of the communication delay rate 𝑝de.

When the network is heavily loaded, the independence assumptions on transmission failure and communication delay may not hold. However, the model is realistic under the moderate conditions, and we have chosen it for its simplicity.

3. Multi-Target Tracking

3.1. Problem Formulation

Let 𝑇+ be the duration of surveillance. Let 𝐾 be the number of targets that appear in the surveillance region during the surveillance period. Each target 𝑘 moves in for some duration [𝑡𝑘𝑖,𝑡𝑘𝑓][1,𝑇]. Notice that the exact values of 𝐾 and {𝑡𝑘𝑖,𝑡𝑘𝑓} are unknown. Each target arises at a random position in at 𝑡𝑘𝑖, moves independently around until 𝑡𝑘𝑓, and disappears. At each time, an existing target persists with probability 1𝑝𝑧 and disappears with probability 𝑝𝑧. The number of targets arising at each time over has a Poisson distribution with a parameter 𝜆𝑏𝑉 where 𝜆𝑏 is the birth rate of new targets per unit time, per unit volume, and 𝑉 is the volume of . The initial position of a new target is uniformly distributed over .

Let 𝐹𝑘𝑛𝑥𝑛𝑥 be the discrete-time dynamics of the target 𝑘, where 𝑛𝑥 is the dimension of the state variable, and let 𝑥𝑘(𝑡)𝑛𝑥 be the state of the target 𝑘 at time 𝑡 for 𝑡=𝑡𝑘𝑖,,𝑡𝑘𝑓. The target 𝑘 moves according to 𝑥𝑘(𝑡+1)=𝐹𝑘𝑥𝑘(𝑡)+𝑤𝑘(𝑡),for𝑡=𝑡𝑘𝑖,,𝑡𝑘𝑓1,(5) where 𝑤𝑘(𝑡)𝑛𝑥 are white-noise processes. The white-noise process is included to model nonrectilinear motions of targets. When a target is present, a noisy observation (or measurement) of the state of the target is measured with a detection probability 𝑝𝑑. Notice that, with probability 1𝑝𝑑, the target is not detected and we call this a missing observation. There are also false alarms, and the number of false alarms has a Poisson distribution with a parameter 𝜆𝑓𝑉, where 𝜆𝑓 is the false alarm rate per unit time, per unit volume. Let 𝑛(𝑡) be the number of observations at time 𝑡, including both noisy observations and false alarms. Let 𝑦𝑗(𝑡)𝑛𝑦 be the 𝑗th observation at time 𝑡 for 𝑗=1,,𝑛(𝑡), where 𝑛𝑦 is the dimension of each observation vector. Each target generates a unique observation at each sampling time if it is detected. Let 𝐻𝑗𝑛𝑥𝑛𝑦 be the observation model. Then the observations are generated as follows: 𝑦𝑗𝐻(𝑡)=𝑗𝑥𝑘(𝑡)+𝑣𝑗(𝑡),if𝑦𝑗(𝑡)isfrom𝑥𝑘𝑢(𝑡),𝑓(𝑡),otherwise,(6) where 𝑣𝑗(𝑡)𝑛𝑦 are white noise processes and 𝑢𝑓(𝑡)Unif() is a random process for false alarms. We assume that the targets are indistinguishable in this paper, but if observations include target type or attribute information, the state variable can be extended to include target type information as done in [32].

The main objective of the multi-target tracking problem is to estimate 𝐾, {𝑡𝑘𝑖,𝑡𝑘𝑓} and {𝑥𝑘(𝑡)𝑡𝑘𝑖𝑡𝑡𝑘𝑓}, for 𝑘=1,,𝐾, from noisy observations.

Let 𝑌(𝑡)={𝑦𝑗(𝑡)𝑗=1,,𝑛(𝑡)} be all measurements at time 𝑡 and 𝑌={𝑌(𝑡)1𝑡𝑇} be all measurements from 𝑡=1 to 𝑡=𝑇. Let Ω be a collection of partitions of 𝑌 such that, for 𝜔Ω, 𝜔={𝜏0,𝜏1,,𝜏𝐾}, where 𝜏0 is a set of false alarms and 𝜏𝑘 is a set of measurements from target 𝑘 for 𝑘=1,,𝐾. Note that 𝜔 is also known as a joint association event in literature. More formally, 𝜔 is defined as follows: (1)𝜔={𝜏0,𝜏1,,𝜏𝐾}; (2)𝐾𝑘=0𝜏𝑘=𝑌 and 𝜏𝑖𝜏𝑗= for 𝑖𝑗; (3)𝜏0 is a set of false alarms; (4)|𝜏𝑘𝑌(𝑡)|1 for 𝑘=1,,𝐾 and 𝑡=1,,𝑇; (5)|𝜏𝑘|2 for 𝑘=1,,𝐾. An example of a partition is shown in Figure 2. Here, 𝐾 is the number of tracks for the given partition 𝜔Ω. We call 𝜏𝑘 a track when there is no confusion although the actual track is the set of estimated states from the observations 𝜏𝑘. This is because we assume there is a deterministic function that returns a set of estimated states given a set of observations. A track is assumed to contain at least two observations since we cannot distinguish a track with a single observation from a false alarm, assuming 𝜆𝑓>0. For special cases in which 𝑝𝑑=1 or 𝜆𝑓=0, the definition of Ω can be adjusted accordingly.

fig2
Figure 2: (a) An example of observations 𝑌 (each circle represents an observation and numbers represent observation times). (b) An example of a partition 𝜔 of 𝑌.

Let 𝑛𝑒(𝑡1) be the number of targets at time 𝑡1, 𝑛𝑧(𝑡) be the number of targets terminated at time 𝑡 and 𝑛𝑐(𝑡)=𝑛𝑒(𝑡1)𝑛𝑧(𝑡) be the number of targets from time 𝑡1 that have not terminated at time 𝑡. Let 𝑛𝑏(𝑡) be the number of new targets at time 𝑡, 𝑛𝑑(𝑡) be the number of actual target detections at time 𝑡, and 𝑛𝑢(𝑡)=𝑛𝑐(𝑡)+𝑛𝑏(𝑡)𝑛𝑑(𝑡) be the number of undetected targets. Finally, let 𝑛𝑓(𝑡)=𝑛(𝑡)𝑛𝑑(𝑡) be the number of false alarms. Using the Bayes rule, it can be shown that the posterior of 𝜔 is: 𝑃(𝜔𝑌)𝑃(𝜔)𝑃(𝑌𝜔)𝑇𝑡=1𝑝𝑛𝑧𝑧(𝑡)1𝑝𝑧𝑛𝑐(𝑡)𝑝𝑛𝑑𝑑(𝑡)1𝑝𝑑𝑛𝑢(𝑡)×𝜆𝑏𝑉𝑛𝑏(𝑡)𝜆𝑓𝑉𝑛𝑓(𝑡)𝑃(𝑌𝜔),(7) where 𝑃(𝑌𝜔) is the likelihood of observations 𝑌 given 𝜔, which can be computed based on the chosen dynamic and measurement models. For example, the computation of 𝑃(𝑌𝜔) for the linear dynamic and measurement models can be found in [9]. Our formulation of (7) is similar to MHT [28], and the derivation of (7) can be found in [28]. The parameters 𝑝𝑧, 𝑝𝑑, 𝜆𝑏, and 𝜆𝑓 have been widely used in many multi-target-tracking applications [6, 28]. Our experimental and simulation experiences show that our tracking algorithm is not sensitive to changes in these parameters in most cases. In fact, we used the same set of parameters for all our experiments.

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 partition of observations such that 𝑃(𝜔𝑌) is maximized and estimates the states of the targets based on this partition. A Bayesian approach called minimum mean square error (MMSE) finds an estimate which minimizes the expected square error. For instance, 𝔼(𝑥𝑘(𝑡)𝑌) is the MMSE estimate for the state 𝑥𝑘(𝑡) of target 𝑘. However, when the number of targets is not fixed, a unique labeling of each target is required to find 𝔼(𝑥𝑘(𝑡)𝑌) under the MMSE approach. In this paper, we take the MAP approach to the multi-target-tracking problem for its convenience.

3.2. Markov Chain Monte Carlo Data Association Algorithm

In this section, we explain an MCMC sampler designed to solve the multi-target-tracking problem. MCMC is a general method to generate samples from a distribution 𝜋 by constructing a Markov chain whose states are 𝜔 and whose stationary distribution is 𝜋(𝜔). If we are at state 𝜔Ω, we propose 𝜔Ω following the proposal distribution 𝑞(𝜔,𝜔). The move is accepted with an acceptance probability 𝐴(𝜔,𝜔) where 𝐴𝜔,𝜔𝜋𝜔=min1,𝑞𝜔,𝜔𝜋(𝜔)𝑞(𝜔,𝜔),(8) otherwise the sampler stays at 𝜔, so that the detailed balance is satisfied. If we make sure that is irreducible and aperiodic, then converges to its stationary distribution by the ergodic theorem [33].

The MCMC data association (MCMCDA) algorithm is described in Algorithm 1. MCMCDA is an MCMC algorithm 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 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 𝑌, the number of samples 𝑛mc, and the initial state 𝜔init. The acceptance probability 𝐴(𝜔,𝜔) is defined in (8) where 𝜋(𝜔) = 𝑃(𝜔𝑌) 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.

alg1
Algorithm 1: MCMCDA.

938521.fig.003
Figure 3: A graphical illustration of MCMCDA moves. Associations are indicated by dotted lines, and hollow circles are false alarms.

In addition, the memory requirement of the algorithm is at its bare minimum. Instead of keeping all {𝜔(𝑛)}𝑛mc𝑛=1, we simply keep the partition with the maximum posterior, 𝜔. Notice that, in MCMC, the construction of 𝜔 is done on the fly according to the proposal distribution 𝑞(𝜔,𝜔) and there is no need to store previously visited states.

The Markov chain designed by Algorithm 1 is irreducible and aperiodic [9]. In addition, the transitions described 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 distribution [33].

3.3. Online Hierarchical MCMCDA

At each supernode, we implement the online MCMCDA algorithm with a sliding window of size 𝑤𝑠 using Algorithm 1. This online implementation of MCMCDA is suboptimal because it considers only a subset of past measurements. But since the contribution of older measurements to the current estimate is much less than recent measurements, it is still a good approximation. At each time step, we use the previous estimate to initialize MCMCDA and run MCMCDA on the observations belonging to the current window. Supernode 𝑎{1,,𝑁ss} maintains a set of observations 𝑌𝑎={𝑦𝑗𝑎(𝑡)1𝑗𝑛(𝑡),𝑡curr𝑤𝑠+1𝑡𝑡curr}, where 𝑡curr is the current time and 𝑦𝑗𝑎(𝑡) is the 𝑗th fused measurement received by supernode 𝑎. At time 𝑡curr+1, the observations at time 𝑡curr𝑤𝑠+1 are removed from 𝑌𝑎 and a new set of observations is appended to 𝑌𝑎. Any delayed observations are inserted into the appropriate slots. Then, each supernode initializes the Markov chain with the previously estimated tracks and executes Algorithm 1 on 𝑌𝑎. Once a target is found, the next state of the target is predicted. If the predicted next state belongs to the surveillance area of another supernode, the target's track information is passed to the corresponding supernode. These newly received tracks are then incorporated into the initial state of MCMCDA for the next time step.

Since each supernode maintains its own set of tracks, there can be multiple tracks of a single object maintained by different supernodes. To make the algorithm fully hierarchical, we do track-level data association to combine tracks from different supernodes. Let 𝜔𝑎 be the set of tracks maintained by supernode 𝑎. Let 𝑌𝑐={𝜏𝑖(𝑡)𝜔𝑎1𝑡𝑇,1𝑖|𝜔𝑎|,1𝑎𝑁ss} be the combined observations only from the established tracks. We form a new set of tracks 𝜔init from {𝜏𝑖𝜔𝑎1𝑖|𝜔𝑎|,1𝑎𝑁ss} while making sure that constraints defined in Section 3.1 are satisfied. Then we run Algorithm 1 on this combined observation set 𝑌𝑐 with the initial state 𝜔init. An example of hierarchical tracking and track-level data association is shown in Section 4.5.

4. Simulation Results

For simulations below, we consider the surveillance over a rectangular region on a plane, =[0,100]2. The state vector is 𝑥=[𝑥1,𝑥2,̇𝑥1,̇𝑥2]𝑇, where (𝑥1,𝑥2) is a position in along the usual 𝑥 and 𝑦 axes and (̇𝑥1,̇𝑥2) is a velocity vector. The linear dynamic and measurement models are used 𝑥(𝑡+𝛿)=𝐴𝛿𝑥(𝑡)+𝐺𝛿𝑦𝑤(𝑡),(𝑡)=𝐶𝑥(𝑡)+𝑣(𝑡),(9) where 𝛿 is a sampling interval, 𝑤(𝑡) and 𝑣(𝑡) are white Gaussian noises with zero mean and covariance 𝑄=dia𝑔(0.152,0.152) and 𝑅 (set according to Figure 1), respectively, and 𝐴𝛿=10𝛿0010𝛿00100001,𝐺𝛿=𝛿2200𝛿22𝛿00𝛿,(10)𝐶=10000100.(11) We assume a 100×100 sensor grid, in which the separation between sensors is normalized to 1. So the unit length in simulation is the length of the sensor separation. In all simulations, 𝑛mc=1000 and 𝑤𝑠=10. For the sensor model, we use 𝛼=2, 𝛾=1, 𝜂=2, and 𝛽=3(1+𝛾𝑅𝛼𝑠).

Since the number of targets 𝐾 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 separate metrics to measure performance: the estimation error in the number of targets 𝜖𝐾, and the estimation error in position 𝜖𝑋. Let 𝐾(𝑡) be the number of targets at time 𝑡 and 𝐾(𝑡) be the estimated number of targets at time 𝑡. We define 𝜖𝐾 as 𝜖𝐾=1𝐾(𝑡)𝑇𝑡=1||𝐾(𝑡)𝐾||.(𝑡)(12) The computation of 𝜖𝑋 is done when it makes sense. At any 𝑡, there can be at most 𝑀(𝑡)=min(𝐾(𝑡),𝐾(𝑡)) common tracks. We find 𝑀(𝑡) matches between true tracks and estimated tracks based on positions at 𝑡1,𝑡,𝑡+1. For each match 𝑖, let 𝑥𝑖(𝑡) and 𝑥𝑖(𝑡) be the position of the true track and the estimated track at time 𝑡, respectively. We define 𝜖𝑋 as 𝜖2𝑋=1𝑀(𝑡)𝑇𝑡=1𝑀(𝑡)𝑖=1𝑥𝑖(𝑡)𝑥𝑖(𝑡)2.(13) Both 𝜖𝐾 and 𝜖𝑋 are normalized with respect to the number of targets for easier comparison.

We first evaluate the effect of the sensing range and empirically find that there is an optimal value at which the estimation error is minimized. Then we illustrate the robustness of our algorithm against sensor localization error, transmission failures, and communication delays. We then give an example of surveillance using wireless sensor networks and demonstrate how the hierarchical MCMCDA algorithm works.

4.1. Sensing Range

When localizing a single target, we can minimize the localization error by allowing more sensors to collaborate, which is equivalent to increasing 𝑅𝑠 as shown in Figure 1. But when there is more than one target, this is no longer true, since observations from different targets can collide, giving missing observations and observations away from target positions. Figure 4 shows the estimation errors 𝜖𝐾 and 𝜖𝑋 when 10 targets appear and disappear at random times and 𝑇=50. For slow-speed vehicles, |̇𝑥1|,|̇𝑥2|[0,1]; |̇𝑥1|,|̇𝑥2|[1,2] for medium-speed vehicles; |̇𝑥1|,|̇𝑥2|[2,5] for high-speed vehicles. For each vehicle type, five different scenarios are used. When 𝑅𝑠=0.5, the sensors do not completely cover the surveillance region and do not detect targets at all times, hence the estimation error is higher. But as we increase 𝑅𝑠 beyond 1.0, estimation errors increase, since there are more collisions among observations of different targets. The estimation errors are low for high-speed vehicles since it is easier to disambiguate crossing targets. From Figure 4, we find that 𝑅𝑠=1.5 is a good range for all types of vehicles and it is used in simulations below. Notice that when 𝑅𝑠=1.5, for each sensor 𝑠𝑖, there are 28 neighboring sensors which are at most 2𝑅𝑠 away from 𝑠𝑖. We can also interpret this result in terms of sensor density for a fixed value of 𝑅𝑠. Hence, once the surveillance region is fully covered by sensors, a further increase in density does not improve the estimation error.

fig4
Figure 4: (a) The estimation error in the number of targets 𝜖𝐾 as a function of sensing range 𝑅𝑠. (b) The estimation error in position 𝜖𝑋 as a function of sensing range 𝑅𝑠. Unity corresponds to the separation between sensors.
4.2. Sensor Localization Error

The localization of sensor nodes in an adhoc wireless sensor network, without expensive hardware such as the global positioning system (GPS), is a challenging problem [34]. Hence, an algorithm which utilizes sensor positions needs to be robust against the sensor localization error. Suppose that the true position of sensor node 𝑖 is 𝑠𝑖 and 𝑠𝑖=𝑠𝑖+𝑤𝑙𝑖, where 𝑤𝑙𝑖 are Gaussian noises with zero mean and covariance Σ=dia𝑔(𝜎2,𝜎2). Figure 5 shows the estimation errors from tracking 10 targets as functions of the sensor localization error 𝜎. It shows that the algorithm is robust against the sensor localization error and, for 𝜎0.5, the algorithm performs as if there is no sensor localization error. This is remarkable since 𝜎0.5 corresponds to the case in which the average localization error is 0.707 times the separation between sensors. Notice that 𝜖𝐾 is always under 0.18, so the algorithm finds most tracks for all 𝜎. But 𝜖𝑋 gets larger at high 𝜎, since the target position estimates are based on incorrect node positions. Considering the fact that 𝜖𝑋 is computed from the norm of a vector in 2, 𝜖𝑋 is mostly due to the sensor localization error.

fig5
Figure 5: (a) The estimation error in the number of targets 𝜖𝐾 as a function of the localization error (𝜎). (b) The estimation error in position 𝜖𝑋 as a function of the localization error (𝜎).
fig6
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 𝜖𝐾 as a function of 𝑝te. (c) The estimation error in position 𝜖𝑋 as a function of 𝑝te.
fig7
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 𝜖𝐾 as a function of 𝑝de. (c) The estimation error in position 𝜖𝑋 as a function of 𝑝de.
4.3. Transmission Failures

To assess the effects of transmission failures alone, we assume that there are no delayed observations, no false alarms, and no missing detections. A single supernode is placed at the center. As mentioned earlier, transmission failures are missing observations and Figure 6(a) shows the ratio between the number of lost packets and the number of total packets as a function of the transmission failure rate 𝑝te. As 𝑝te increases, we lose more packets and, at 𝑝te0.9, we lose all packets. Figure 6 shows the estimation errors and the algorithm performs well for 𝑝te0.4. The estimation error 𝜖𝑋 is low at high 𝑝te since most of packets are lost at high 𝑝te, making the data association problem easier. Notice that when 𝑝te=0.4 more than 50% of packets are lost (see Figure 6(a)). It shows that our algorithm is very robust against transmission failures and tolerates up to 50% lost-to-total packet ratio. Hence, for given 𝑝te, we can find the maximum radius 𝑘max of a tracking group, measured by the number of hops from a supernode, such that 𝑝ts(𝑘max;𝑝te)0.5, sustaining the performance of the algorithm. For example, if 𝑝te=0.1, 𝑘max=38, that is, the most distant node can be 38 hops away from a supernode. But one must consider the communication delay which increases with the number of hops.

4.4. Communication Delays

To assess the effects of communication delays alone, we assume that there are no transmission failures, no false alarms, and no missing observations. Figure 7(a) shows the ratio between the number of delayed packets and the number of total packets as a function of the communication delay rate 𝑝de. As 𝑝de increases to 1, all packets are delayed. Since 𝑤𝑠=10, we do not receive all the delayed packets and the ratio between the number of delayed packets that are eventually received and the number of packets is shown in a dotted line in Figure 7(a). The estimation errors are shown in Figure 7. It shows a good performance for 𝑝de0.6. At 𝑝de=0.6, 90% of packets are delayed and 72% of packets have delays less than 𝑤𝑠. Hence, the system tolerates up to 90% delayed-to-total packet ratio.

4.5. An Example of Surveillance with Sensor Networks

In this section, we give an example of surveillance with sensor networks. The surveillance region is divided into four quadrants and sensors in each quadrant form a tracking group, where a supernode is placed at the center of each quadrant. The scenario is shown in Figure 8(a). We used 𝑝te=0.3, 𝑝de=0.3, and 𝜂=2. The surveillance duration is increased to 𝑇=100. Figure 8(b) shows the observations received by supernodes. There were a total of 1,174 observations and 603 observations were false alarms. A total of 319 packets out of 1,174 packets were lost due to transmission failures and 449 packets out of 855 received packets were delayed. The tracks estimated by the algorithm are shown in Figure 8(c). Figure 8(c) shows the tracks estimated locally by supernodes while Figure 8(d) shows the tracks estimated by the track-level data association step. Figure 8(d) shows that the track-level data association step corrects mistakes made by supernodes due to missing observations at the tracking group boundaries. The ability to correct mistakes made by a supernode is another strength of our algorithm. The algorithm is written in C++ and MATLAB and run on a PC with a 2.6-GHz Intel Pentium 4 processor. It takes less than 0.06 seconds per supernode, per simulation time step.

fig8
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.

5. Experiments

5.1. Indoor Experiments

As a proof of concept, we implemented a scaled down tracking scenario on a 9-by-5 sensor network testbed (see Figure 9). The tracking scenario was that of two crossing targets moving at constant speed. Due to the small physical size of the network, there is a single supernode and hence no track-level data association. Also, to retain enough distinct data points to form meaningful tracks, we did not aggregate sensor readings as in (2).

fig9
Figure 9: (a) A mica2dot sensor node (attached to an eMote). (b) The sensor network testbed used in experiments.

The sensor node platform used for our experiment was the mica2dot [35], an embedded, low-power, wireless platform running TinyOS [36] which had a 4 MHz ATMega128 processor with 4 kB of RAM and 128 kB of program memory, and a CC1000 radio that provided up to 38.4 kbps transmission rate. Each node was equipped with a Honeywell HMC1002 2-axis magnetometer to sense moving targets. See Figure 9(a). Our moving targets were modified RC-cars called COTSBOTs [37], which had a 1-inch (2.54 cm) diameter, 0.125-inch (3.175 mm) thick neodymium magnet strapped to the top of the car.

The sensor nodes trigger a detection event when 1𝑊𝑡𝑖=𝑡𝑊+1𝑥𝑖𝑥𝑖12+𝑦𝑖𝑦𝑖12>𝜂,(14) where 𝑡 is the current detection time, 𝑥𝑖 and 𝑦𝑖 are the 𝑥, and 𝑦-axis magnetometer readings, and 𝑊 is the window size. We chose this detection function because of its low computation requirement and robust performance, despite a tendency for the bias to drift on the magnetometers (see [38] for more details). We used 𝑊=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 algorithm performed well in the presence of false alarms and missing observations.

fig10
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 𝑡=25.3 sec, but corrects for it by 𝑡=29.7 sec.
fig11
Figure 11: (a) Trajectories of targets from the experiment. (b) Estimated tracks from the algorithm with observations (circles).
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 experiment 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 were not functioning on the day of the demo, reflecting the difficulties of deploying large-scale, outdoor systems. The sensor nodes were deployed at approximately 4- to 6-meter 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 (see Figure 12(a)). The true locations of the nodes were measured during deployment using differential GPS and stored in a table at the base station for reference. However, in the experiments the system assumed the nodes were placed exactly on a 5-meter spacing grid to highlight the robustness of the system against localization error.

fig12
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.

In order to solve the multi-target tracking and pursuit-evasion game, we have proposed a hierarchical real-time control system LochNess which is shown in Figure 13. LochNess is composed of seven layers: the sensor networks, the multisensor fusion (MSF) module, the multi-target tracking (MTT) modules, the multi-track-fusion (MTF) module, the multi-agent coordination (MAC) module, the path planner module, and the path follower modules.

938521.fig.0013
Figure 13: LochNess: a hierarchical real-time control system architecture using wireless sensor networks for multi-target tracking and multiagent coordination.

Under this architecture, sensors are spread over the surveillance region and form an adhoc network. The sensor network detects moving objects in the surveillance region and the MSF module converts the sensor measurements into target position estimates (or reports) using spatial correlation. We consider a hierarchical sensor network and the Tier-2 nodes are supernodes considered in this paper. Fused measurements are delievered to the Tier-2 nodes and the MTT module in each Tier-2 node estimates the number of evaders, the positions and velocities of the evaders, and the estimation error bounds. Each Tier-2 node communicates with its neighboring Tier-2 nodes when a target moves away from the region monitored by its tracking group. Lastly, the tracks estimated by the Tier-2 nodes are combined hierarchically by the MTF module at the base station.

The estimates computed by the MTF module are then used by the MAC module to estimate the expected capture times of all pursuer-evader pairs. Based on these estimates, the MAC module assigns one pursuer to one evader by solving the bottleneck assignment problem [42] such that the estimated time to capture the last evader is minimized. Once the assignments are determined, the path planner module computes a trajectory for each pursuer to capture its assigned evader in the least amount of time without colliding into other pursuers. Then, the base station transmits each trajectory to the path-following controller of the corresponding pursuer. The path-following controller modifies the pursuer's trajectory on the fly to avoid any obstacles sensed by the pursuer's on-board sensors. The MTT and MTF modules are based on the proposed hierarchical multi-target-tracking algorithm. For more detail about the description about the system used in the experiments, see [27].

We demonstrated the system on one, two, and three human targets, with targets entering the field at different times. In all three experiments, the tracking algorithm correctly estimated the number of targets and produced correct tracks. Furthermore, the algorithm correctly disambiguated crossing targets in the two-target and three-target experiments without classification labels on the targets. Figure 14(a) shows an example with three humans walking through the field. The three humans entered and exited the field around time 10 and 80, respectively. During the experiment, the algorithm correctly rejected false alarms and compensated for missing detections. There were many false alarms during the span of the experiments. Though not shown in the figures, the algorithm dynamically corrected previous track hypotheses as it received more sensor readings. A live picture of this experiment is shown in Figure 12(b). Figures 14(b) and 14(c) show the multi-target-tracking results with two persons walking through the field. Note that the MTT module is able to correctly disambiguate the presence of two targets (right panel of Figure 14(c)) using past measurements, despite the fact that the MSF module reports the detection of a single target (upper left panel of Figure 14(b)).

fig14
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.

6. Conclusions

In this paper, a scalable hierarchical multi-target-tracking algorithm for wireless sensor networks is presented. The 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 can initiate and terminate tracks and requires a small amount of memory. The task of tracking is done hierarchically for real-time operation by forming a tracking group around a supernode and later combining tracks from different supernodes. In order to reduce the communication overhead, observations are first fused locally and then transmitted to its supernode. The algorithm is robust against sensor localization error and there is no performance loss up to the average localization error of 0.7 times the separation between sensors. The algorithm is also robust against transmission failures and communication delays. In particular, the algorithm tolerates up to 50% lost-to-total packet ratio and 90% delayed-to-total packet ratio. The extensive simulation and experimental results show that the algorithm is well suited for wireless sensor networks where transmission failures and communication delays are frequent.

Abbreviations

List of Symbols
𝑔(𝑖):Assignment of node 𝑖 to supernode 𝑔(𝑖)
𝐾:Number of targets
𝑛mc:Number of steps in MCMCDA
𝑁𝑠:Number of sensor nodes
𝑁ss:Number of supernodes
𝑝𝑑:Target detection probability
𝑝de:Probability of delaying a message
𝑝te:Transmission failure probability
𝑝ts:Probability of successful end-to-end communication
𝑝𝑧:Target disappearance probability
2:Surveillance region
𝑅𝑠:Sensing range of a sensor node
sp(𝑖):Shortest path from node 𝑖 to 𝑔(𝑖)
𝑇+:Time duration of surveillance
Unif:Uniform distribution
𝑉:Volume of the surveillance region
𝑤𝑠:Sliding window size for online MCMCDA
𝑌,𝑌(𝑡):Measurements
𝛼,𝛽,𝛾:Sensor parameters
𝜂:Detection threshold,
𝜆𝑏:Birth rate of new targets per unit time and volume
𝜆𝑓:False alarm rate per unit time and volume
𝜏𝑘:Set of measurements from target
Ω:Collection of joint association events
𝜔Ω:Joint association event
𝜔init:Initial state for MCMCDA.

Acknowledgments

The author would like to thank Phoebus Chen for his contribution to the indoor experiment. This research was supported by Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education, Science and Technology (No. 2010-0013354). A preliminary version of this work was presented at the IEEE International Conference on Robotics and Automation, 2005 [43].

References

  1. D. Culler, D. Estrin, and M. Srivastava, “Overview of sensor networks,” Computer, vol. 37, no. 8, pp. 41–49, 2004. View at Publisher · View at Google Scholar · View at Scopus
  2. D. Estrin, D. Culler, K. Pister, and G. Sukhatme, “Connecting the physical world with pervasive networks,” IEEE Pervasive Computing, vol. 1, no. 1, pp. 59–69, 2002. View at Publisher · View at Google Scholar · View at Scopus
  3. L. Schenato, S. Oh, S. Sastry, and P. Bose, “Swarm coordination for pursuit evasion games using sensor networks,” in Proceedings of the IEEE International Conference on Robotics and Automation, pp. 2493–2498, Barcelona, Spain, April 2005. View at Publisher · View at Google Scholar · View at Scopus
  4. B. Sinopoli, C. Sharp, L. Schenato, S. Schaffert, and S. S. Sastry, “Distributed control applications within sensor networks,” Proceedings of the IEEE, vol. 91, no. 8, pp. 1235–1245, 2003. View at Publisher · View at Google Scholar · View at Scopus
  5. J. Hightower and G. Borriello, “Location systems for ubiquitous computing,” Computer, vol. 34, no. 8, pp. 57–66, 2001. View at Publisher · View at Google Scholar · View at Scopus
  6. Y. Bar-Shalom and T. Fortmann, Tracking and Data Association, Academic Press, San Diego, Calif, USA, 1988.
  7. D. B. Reid, “An algorithm for tracking multiple targets,” IEEE Transactions on Automatic Control, vol. 24, no. 6, pp. 843–854, 1979. View at Scopus
  8. C. Chong, S. Mori, and K. Chang, “Distributed multitarget multisensor tracking,” in Multitarget-Multisensor Tracking: Advanced Applications, Y. Bar-Shalom, Ed., pp. 247–295, Artech House, Norwood, Mass, USA, 1990.
  9. S. Oh, S. Russell, and S. Sastry, “Markov chain Monte Carlo data association for multi-target tracking,” IEEE Transactions on Automatic Control, vol. 54, no. 3, pp. 481–497, 2009. View at Publisher · View at Google Scholar · View at Scopus
  10. D. Li, K. D. Wong, Y. H. Hu, and A. M. Sayeed, “Detection, classification, and tracking of targets,” IEEE Signal Processing Magazine, vol. 19, no. 2, pp. 17–29, 2002. View at Publisher · View at Google Scholar · View at Scopus
  11. A. Arora, P. Dutta, S. Bapat et al., “A line in the sand: a wireless sensor network for target detection, classification, and tracking,” Computer Networks, vol. 46, no. 5, pp. 605–634, 2004. View at Publisher · View at Google Scholar · View at Scopus
  12. S. Oh and S. Sastry, “Tracking on a graph,” in Proceedings of the 4th International Symposium on Information Processing in Sensor Networks (IPSN '05), pp. 195–202, Los Angeles, Calif, USA, April 2005. View at Publisher · View at Google Scholar · View at Scopus
  13. R. Brooks, D. Friedlander, J. Koch, and S. Phoha, “Tracking multiple targets with self-organizing distributed ground sensors,” Journal of Parallel and Distributed Computing, vol. 64, no. 7, pp. 875–884, 2004. View at Publisher · View at Google Scholar · View at Scopus
  14. C. Sharp, S. Schaffert, A. Woo et al., “Design and implementation of a sensor network system for vehicle tracking and autonomous interception,” in Proceedings of the 2nd European Workshop onWireless Sensor Networks (EWSN '05), pp. 93–107, February 2005. View at Scopus
  15. J. Aslam, Z. Butler, F. Constantin, V. Crespi, G. Cybenko, and D. Rus, “Tracking a moving object with a binary sensor network,” in Proceedings of the ACM 1st International Conference on Embedded Networked Sensor Systems (SenSys '03), pp. 150–161, November 2003. View at Scopus
  16. W. Chen, J. Hou, and L. Sha, “Dynamic clustering for acoustic target tracking in wireless sensor networks,” in Proceedings of the 11th IEEE International Conference on Network Protocols, pp. 284–294, November 2003.
  17. M. Coates, “Distributed particle filters for sensor networks,” in Proceedings of the 3rd International Symposium on Information Processing in Sensor Networks (IPSN '04), pp. 99–107, April 2004. View at Scopus
  18. J. Liu, J. Liu, J. Reich, P. Cheung, and F. Zhao, “Distributed group management for track initiation and maintenance in target localization applications,” in Proceedings of the 2nd workshop on Information Processing in Sensor Networks, pp. 113–128, April 2003.
  19. F. Zhao, J. Liu, J. Liu, L. Guibas, and J. Reich, “Collaborative signal and information processing: an information-directed approach,” Proceedings of the IEEE, vol. 91, no. 8, pp. 1199–1209, 2003. View at Publisher · View at Google Scholar · View at Scopus
  20. J. Liu, J. Reich, and F. Zhao, “Collaborative in-network processing for target tracking,” Eurasip Journal on Applied Signal Processing, vol. 2003, no. 4, pp. 378–391, 2003. View at Publisher · View at Google Scholar · View at Scopus
  21. D. McErlean and S. Narayanan, “Distributed detection and tracking in sensor networks,” in Proceedings of the 36th Asilomar Conference on Signals Systems and Computers, pp. 1174–1178, November 2002. View at Scopus
  22. J. Shin, L. Guibas, and F. Zhao, “A distributed algorithm for managing multi-target identities in wireless ad-hoc sensor networks,” in Proceedings of the 2nd workshop on Information Processing in Sensor Networks, pp. 223–238, April 2003.
  23. J. Liu, M. Chu, J. Liu, J. Reich, and F. Zhao, “Distributed state representation for tracking problems in sensor networks,” in Proceedings of the 3rd International Symposium on Information Processing in Sensor Networks (IPSN '04), pp. 234–242, April 2004. View at Scopus
  24. M. Chu, S. Mitter, and F. Zhao, “Distributed multiple target tracking and data association in ad hoc sensor networks,” in Proceedings of the 6th International Conference on Information Fusion, pp. 447–454, July 2004.
  25. J. B. Collins and J. K. Uhlmann, “Efficient gating in data association with multivariate Gaussian distributed states,” IEEE Transactions on Aerospace and Electronic Systems, vol. 28, no. 3, pp. 909–916, 1992. View at Publisher · View at Google Scholar · View at Scopus
  26. A. Poore, “Multidimensional assignment and multitarget tracking,” in Partitioning Data Sets, I. J. Cox, P. Hansen, and B. Julesz, Eds., pp. 169–196, American Mathematical Society, Providence, RI, USA, 1995.
  27. S. Oh, L. Schenato, P. Chen, and S. Sastry, “Tracking and coordination of multiple agents using sensor networks: system design, algorithms and experiments,” Proceedings of the IEEE, vol. 95, no. 1, pp. 234–254, 2007. View at Publisher · View at Google Scholar · View at Scopus
  28. T. Kurien, “Issues in the design of practical multitarget tracking algorithms,” in Multitarget-Multisensor Tracking: Advanced Applications, Y. Bar-Shalom, Ed., Artech House, Norwood, Mass, USA, 1990.
  29. J. Hill, M. Horton, R. Kling, and L. Krishnamurthy, “The platforms enabling wireless sensor networks,” Communications of the ACM, vol. 47, no. 6, pp. 41–46, 2004. View at Publisher · View at Google Scholar · View at Scopus
  30. S. Oh, I. Hwang, and S. Sastry, “Distributed multitarget tracking and identity management,” Journal of Guidance, Control, and Dynamics, vol. 31, no. 1, pp. 12–29, 2008. View at Publisher · View at Google Scholar · View at Scopus
  31. S. Meguerdichian, F. Koushanfar, G. Qu, and M. Potkonjak, “Exposure in wireless ad-hoc sensor networks,” in Proceedings of the 7th Annual International Conference on Mobile Computing and Networking, pp. 139–150, July 2001. View at Scopus
  32. H. Pasula, S. Russell, M. Ostland, and Y. Ritov, “Tracking many objects with many sensors,” in Proceedings of the International Joint Conference on Artificial Intelligence, Stockholm, Sweden, July 1999.
  33. G. Roberts, “Markov chain concepts related to sampling algorithms,” in Markov Chain Monte Carlo in Practice, W. Gilks, S. Richardson, and D. Spiegelhalter, Eds., Interdisciplinary Statistics, Chapman and Hall, New York, NY, USA, 1996.
  34. K. Whitehouse, F. Jiang, A. Woo, C. Karlof, and D. Culler, “Sensor field localization: a deployment and empirical analysis,” Tech. Rep. UCB//CSD-04-1349, University of California, Berkeley, Calif, usa, 2004.
  35. Berkeley, “Mica2dot hardware design files,” 2003, motes manufactured by Crossbow Technology Inc., http://www.tinyos.net/scoop/special/hardware.
  36. J. Hill, R. Szewczyk, A. Woo, S. Hollar, D. Culler, and K. Pister, “System architecture directions for networked sensors,” in Proceedings of the 9th Internatinal Conference Architectural Support for Programming Languages and Operating Systems (ASPLOS-IX '00), pp. 93–104, Cambridge, Mass, USA, November 2000. View at Scopus
  37. S. Bergbreiter and K. S. J. Pister, “Cotsbots: an off-the-shelf platform for distruted robotics,” in Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS '03), pp. 27–31, Las Vegas, Nev, USA, October 2003.
  38. Honeywell, “1- and 2- axis magnetic sensors,” http://www.ssec.honeywell.com/magnetic/datasheets/hmc1001-2&1021-2.pdf.
  39. A. Woo, T. Tong, and D. Culler, “Taming the underlying challenges of reliable multihop routing in sensor networks,” in Proceedings of the 1st International Conference on Embedded Networked Sensor Systems (SenSys '03), pp. 14–27, Los Angeles, Calif, USA, November 2003. View at Scopus
  40. M. Kushwaha, S. Oh, I. Amundson, X. Koutsoukos, and A. Ledeczi, “Target tracking in urban environments using audio-video signal processing in heterogeneous wireless sensor networks,” in Proceedings of the 42nd Asilomar Conference on Signals, Systems and Computers (ASILOMAR '08), pp. 1606–1610, Pacific Grove, Calif, USA, October 2008. View at Publisher · View at Google Scholar · View at Scopus
  41. M. Meingast, M. Kushwaha, S. Oh, X. Koutsoukos, A. Ledeczi, and S. Sastry, “Fusion-based localization for a heterogeneous camera network,” in Proceedings of the 2nd ACM/IEEE International Conference on Distributed Smart Cameras (ICDSC '08), Pacific Grove, Calif, USA, September 2008. View at Publisher · View at Google Scholar · View at Scopus
  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 Automation, pp. 2197–2202, Barcelona, Spain, April 2005. View at Publisher · View at Google Scholar · View at Scopus