EURASIP Journal on Applied Signal Processing 2003:4, 371–377 c ○ 2003 Hindawi Publishing Corporation Dynamic Agent Classification and Tracking Using an Ad Hoc Mobile Acoustic Sensor Network

Autonomous networks of sensor platforms can be designed to interact in dynamic and noisy environments to determine the occurrence of specified transient events that define the dynamic process of interest. For example, a sensor network may be used for battlefield surveillance with the purpose of detecting, identifying, and tracking enemy activity. When the number of nodes is large, human oversight and control of low-level operations is not feasible. Coordination and self-organization of multiple autonomous nodes is necessary to maintain connectivity and sensor coverage and to combine information for better understanding the dynamics of the environment. Resource conservation requires adaptive clustering in the vicinity of the event. This paper presents methods for dynamic distributed signal processing using an ad hoc mobile network of microsensors to detect, identify, and track targets in noisy environments. They seamlessly integrate data from fixed and mobile platforms and dynamically organize platforms into clusters to process local data along the trajectory of the targets. Local analysis of sensor data is used to determine a set of target attribute values and classify the target. Sensor data from a field test in the Marine base at Twentynine Palms, Calif, was analyzed using the techniques described in this paper. The results were compared to "ground truth" data obtained from GPS receivers on the vehicles.


INTRODUCTION
Distributed sensing systems combine observations from a large area network of sensors, creating the need for platform self-organization and the sharing of sensor information between platforms. It is difficult to integrate the data from each sensor into a single context for the entire network. Instead, groups of sensors in local areas collaborate to produce useful information to the end user.
Our objective is to create a distributed wireless network of sensors covering large areas to obtain an accurate representation of dynamic processes occurring within the region. Such networks are subject to severe bandwidth limitations and power constrains. Additionally, we need to integrate data from heterogeneous sensors.
Our goals are met through algorithms that determine the characteristics of the target from local sensor data. They dynamically cluster platforms into space-time neighborhoods and exchange target information within neighborhoods to determine target class and track characteristics. This differs from other methods of decentralized detection such as [1,2] where the dimensionality of the sensor data vectors is reduced to the distinct number of target attributes. Once organized into clusters, sensors can combine their local knowledge to construct a representation of the world around them. This information can be used to construct a history of the dynamic process as it occurs in the sensor field [3].
Our analysis is based on the concepts of a space-time neighborhood, a dynamic window, and an event. A space-time neighborhood centered on the space-time point (x 0 , t 0 ) is the set of space-time points The quantities ∆x and ∆t define the size of the neighborhood. The space-time window contains all the data that was measured within a distance ∆x around x 0 and within the time interval t 0 ± ∆t. We can define a dynamic window around a moving point g(t) as Ideally, if g(t) were the trajectory of the target, we would analyze time-series data from sensors in the window N e = ω(t e ) to determine information about the target at time t e . The target trajectory g(t) is unknown. It is, in fact, what we want to determine. We therefore look at closest-point-ofapproach (CPA) events that occur within a single space-time neighborhood. A CPA event e i j is defined for platform i occurring at the CPA time t j . The space-time coordinates of the event are (x i (t j ), t j ), where x i (t) is the trajectory of platform i.
We make the assumption that sensor energy increases as distance from the source decreases. This is a reasonable assumption for acoustic and seismic sensors. The CPA event is therefore assumed to occur when there is a peak in sensor energy. The amplitude of the event a i j is defined as the amplitude of the corresponding peak. In order to filter out noise, reflection, or other spurious features, we count only peaks above a threshold and do not allow two events on a single platform within the same space-time window. If data from multiple sensors are available, they must be integrated to determine a single peak time for the event.
For an event e i j , we analyze data from platforms in the neighborhood N(x i (t j ), t j ). We define the set of platforms that contain events in this space-time neighborhood as the cluster of platforms associated with event e i j . These definitions apply to both stationary and moving platforms and seamlessly integrate both types. They can be used to determine target velocity as long as the platform trajectories are known and the platform speed is small compared to the propagation speed of the energy field measured by the sensors. Platform locations can be determined by GPS and, for stationary platforms, additional accuracy can be achieved by integrating GPS signals over time.  The sets of parameters needed to identify targets are called target events. They include x i : the target position, t i : the time, v i : the target velocity, and {a 1 · · · a n }: a set of target attributes for target classification, which can be determined from the sensor data in a region around the spacetime point (x i , t i ). A CPA event is detected by a platform when the target reaches its CPA to the platform. Each CPA will correspond a peak in the readings of our acoustic sensors. We have developed an algorithm that limits data processing to the platforms closest to the trajectory of the target rather than processing each CPA event. It evenly spreads the processing out over the space-time range of the target trajectory. All the platforms within the neighborhood of an event are assumed to be capable of communicating with each other.
The remainder of this paper is divided as follows. Section 2 discusses the algorithm for platform clustering. Section 3 discusses our velocity and position estimation algorithm. Section 4 discusses our approach to target identification. Section 5 provides both simulated and real-world experimental data that show that our approach produces promising results for velocity approximation and target recognition. Finally, Section 6 discusses our conclusions.

ALGORITHM FOR EVENT CLUSTERING
Nodes located within a given space-time window can form a cluster. Both the time and spatial extent of the window are currently held constant. The maximum possible spatial size of the window is constrained by the transmission range of the sensors. Each node contains a buffer for its own CPA events, and a buffer for CPA events transmitted by its neighbors. Figure 1 shows a simple diagram depicting the system running in parallel on each platform.
The CPA detector looks for peaks in sensor energy as described in Section 1. When it finds one, it stores the amplitude, time, and platform position in a buffer, and broadcasts the same information to its neighbors. When it receives neighboring CPA events, it stores them in another buffer. The form clusters routine looks at both CPA event buffers, and forms event clusters as shown in Figure 1. The process For each neighboring CPA event n kl = n(x l , t k ) If n kl is in the neighborhood N ij = N(x i , t j ) Add n kl to the event set M If the local peak amplitude a(k ij ) ≥ a(n kl ) ∀n kl ∈ M Emit CPA event cluster F ≡ k ij ∪ M Algorithm 1: Form clusters pseudocode.
clusters routine determines the target position and velocity as described in Section 3 and the target attributes as described in Section 4.

VELOCITY AND POSITION ESTIMATION ALGORITHM
Models of human perception of motion may be based on the spatio-temporal distribution of energy detected through vision [4,5]. Similarly, the network detects motion through the spatio-temporal distribution of sensor energy. We extend techniques found in [6] and adapt them to find accurate vehicle velocity estimates from acoustic sensor signals. The definitions shown below are for time and two spatial dimensions x = (x, y); however, their extension to three spatial dimensions is straightforward.
The platform location data from the CPA event cluster can be organized into the following sets of observations: where (x 0 , y 0 ) is the location of event k i j (see Figure 1), which contains the largest amplitude CPA peak in the cluster. We redefine the times in the observations, so t 0 = 0 where t 0 is the time of CPA event k i j . We weighted the observations based on the CPA peak amplitudes on the assumption that CPA times are more accurate when the target passes closer to the sensor to give x 0 , t 0 , w 0 , x 1 , t 1 , w 1 · · · x n , t n w n , y 0 , t 0 , w 0 , y 1 , t 1 , w 1 · · · y n , t n , w n , where w i is the weight of the ith event in the cluster. This greatly improved the quality of the predicted velocities. We defined the spatial extent of the neighborhoods, so nodes do not span more than a few square meters and vehicle velocities are approximately linear [6]. Under these assumptions, we can apply least square linear regression to obtain the following equations [7]: and the position x(t 0 ) = (c 1 , c 2 ). The space-time coordinates of the target for this event are (x(t 0 ), t 0 ). This simple technique can be augmented to ensure that changes in the vehicle trajectory do not degrade the quality of the estimated track. The correlation coefficients for the velocities in each spatial dimension (r x , r y ) can be used to identify large changes in vehicle direction and thus limit the CPA event cluster to include only those nodes that will best estimate local velocity. Assume that the observations are sorted as follows: where O i is an observation containing a time, location, and weight and t 0 is the time of the event k i j . The velocity elements are computed once with the entire event set. After this, the final elements of the list are removed and the velocity is recomputed. This process is repeated while at least five CPAs are present in the set and subsequently the event subset with the highest velocity correlation is used to determine velocity. Fewer than five CPA points could severely bias the computed velocity and thus render our approximation useless. Algorithm 2 summarizes our technique.

TARGET CLASSIFICATION
The sounds a vehicle produces are a combination of the acoustic features of its components: its acoustic "fingerprints." We have developed an algorithm to identify the presence or absence of given features in a target vehicle traveling through a sensor network. Once the vehicle type is determined, it is combined with velocity and position data and broadcast over the network as a target event. This requires much less bandwidth than transmitting the original time series data. The singular value decomposition (SVD) [8] is a matrix decomposition that can be used to find relationships within sets of data. When used to construct relationships between words and documents, this technique is called latent semantic analysis (LSA). There is significant evidence that LSA can be used to allow machines to learn words at a rate comparable to that of school children [9]. LSA accomplishes this by using SVD to infer relationships among members of a data set. We believe that this concept can be applied to vehicle identification.
Our identification algorithm combines Latent Semantic Analysis [9] with Principal Component Analysis [10,11] to fuse semantic attributes and sensor data for target classification. There are two algorithms: data processing and data classification. CPA event data are divided into training and test sets. The training data are used with the data processing algorithm and the test data are used with the data classification algorithm to evaluate the accuracy of the method.
The training set is further divided into databases for each possible value of each target attribute being used in the classification. Target attribute values can be used to construct feature vectors for use in pattern classification. Alternatively, we can define "vehicle type" as a single attribute and identify the target directly.
A 4-to 5-second window is selected around the peak of each sample. All data outside the window is discarded. This ensures that noise bias is reduced. The two long vertical lines in Figure 2 show what the boundaries of the window would be on a typical sample.
The window corresponds to the period of time when a vehicle was closest to the platform. The data are divided into consecutive frames. A frame is 512 data points sampled at 5 kHz (0.5 seconds in length) and has a 12.5% overlap (0.07 second) with each of its neighbors. The power spectral density of each frame is found and stored as a column vector of 513 data points (grouped by originating sample) with data  points corresponding to frequencies from 0 to 512 Hz. Target identification combines techniques from [11] and makes use of an eigenvalue analysis to give an indication of the distance that an unknown sample vector is from the feature space of each database. This indication is called a residual. These residuals can be interpreted as "a measurement of the likelihood" that the frame being tested belongs to the class of vehicles represented by the database [11]. The databases are grouped by attribute and the residuals of each frame within each group are compared. The attribute value corresponding to the smallest total of the residuals within each group is assigned to the frame. Figure 3 illustrates this process.

EXPERIMENTAL RESULTS
We present two sets of results. Each demonstrates the quality of our techniques for estimating vehicle velocity in a distributed sensor field and identifying target characteristics. The result set comes from data collected at Twentynine Palms Marine Base during a field test and also from ideal data constructed in the lab for testing the velocity estimation algorithm.

Velocity estimation
We present a verification of our clustering and velocity estimation algorithms using data gathered at Twentynine Palms Marine base located in California. A sensor grid was tested there in August 2000.
We have analyzed the quality of our velocity estimation algorithm using our field data and these results appear in Table 1.  We have also generated a simulated data set for testing our velocity algorithm. The data set was generated using a parabolic vehicle motion. Figure 6 shows activated sensors as the simulated vehicle passed through a dense grid of pseudorandomly distributed sensor platforms. Figures 7 displays the results of our algorithm for vehicle speed.
The calculated vehicle speeds yielded a correlation of 0.99 against a line of y = 0.99x, where y is the calculated speed and x is the simulated speed. The angle match is also extremely close.

Target identification verification
ARL evaluated its classification algorithms against the data collected during the field test. Data are shown for three types of military vehicles labeled AAV, DW, and HV. The CPA peaks were selected by hand rather than automatically detected by the software and there was only a single vehicle present in the network at a time. Environmental noise due to wind was significant. The data show that classification of military vehicles in the field can be accurate under noisy conditions, as shown in Table 2.

CONCLUSIONS
We have derived algorithms for target analysis that can identify target attributes using time-series data from platform sensors.
We have described an effective algorithm for computing target velocity. This velocity is critical for track formation  algorithms like those proposed in [3]. We have described an algorithm for accurate classification of military vehicles in the field. We have also provided experimental verification of our procedures against field data using military vehicles and acoustic sensors. We have determined quantitative measures of the accuracy of the procedures.
Dense sensor networks over large areas contain massive amounts of computing power in total, but may be restricted in bandwidth and power consumption at individual nodes. Forming dynamic clusters around events of interest allows processing multiple events in parallel over different local geographic areas. We have shown how networks can coordinate platforms around tracks and provide relevant processing with a minimum of bandwidth and power consumption related to interplatform communications. This procedure is scalable and takes full advantage of the parallelism in the network. The same algorithms run in parallel on each platform, making the procedure robust with respect to the loss of individual platforms. In addition, our method allows seamless integration of fixed and mobile heterogeneous platforms.