{'fraction_non_alphanumeric': 0.04186346071275225, 'fraction_numerical': 0.013882925432946901, 'mean_word_length': 4.412277304415182, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Data-Driven Distributed State Estimation and Behavior Modeling in Sensor Networks

Nowadays, the prevalence of sensor networks has enabled tracking of the states of dynamic objects for a wide spectrum of applications from autonomous driving to environmental monitoring and urban planning. However, tracking real-world objects often faces two key challenges: First, due to the limitation of individual sensors, state estimation needs to be solved in a collaborative and distributed manner. Second, the objects' movement behavior is unknown, and needs to be learned using sensor observations. In this work, for the first time, we formally formulate the problem of simultaneous state estimation and behavior learning in a sensor network. We then propose a simple yet effective solution to this new problem by extending the Gaussian process-based Bayes filters (GP-BayesFilters) to an online, distributed setting. The effectiveness of the proposed method is evaluated on tracking objects with unknown movement behaviors using both synthetic data and data collected from a multi-robot platform.


I. INTRODUCTION
Estimating the states of dynamic phenomena has long been a central problem in robotics with numerous real world applications. Taking autonomous driving as an example, for the autonomous cars to safely and efficiently navigate in a cluttered environment (e.g., city traffic), it is critical to estimate the movements of other traffic agents (e.g., pedestrians, bicyclists, and human-driven vehicles) and predict their future trajectories. Recent advances in sensing technologies have enabled the estimation and understanding of traffic movements using streaming data collected from various sensors such as on-board cameras, radar, and LiDAR, as well as surveillance cameras.
However, current state estimation methods still face two major challenges in such real scenarios. First, the capability of individual sensor is limited by its perception range (e.g., line-of-sight and field-of-view) and also subject to noises and errors. Thus, it is often critical for the sensors to fuse information of others (e.g., via vehicle-to-vehicle and vehicle-to-infrastructure communication networks) for accurate estimation. In other words, state estimation needs to be solved in a collaborative and distributed manner. Second, the movement behavior of traffic agents is highly non-linear, influenced by both their internal goals and interactions with other agents. Usually the internal goals and interactions are unknown, thus the movement behavior needs to be learned online using sensor observations.
Rather surprisingly, the two challenges mentioned above have never been studied together. Therefore, the first contribution of this work is that we formally formulate the problem of simultaneous state estimation and behavior modeling in a sensor network, and discuss its relation to existing work in the literature. Here, we emphasize an online learning setting, i.e., we do not assume access to any training data with noise-free movement states, which are often difficult to obtain in real applications. Instead, the behavior model must be learned and updated using noisy sensor observations.
The second contribution of this work is a simple yet effective method to tackle this new problem. Our method is based on Bayes filtering with Gaussian process models (GP-BayesFilters) [1]. While traditional Bayes filters assume known (e.g., parametric) motion and observation models, GP-BayesFilters use Gaussian process regression [2] to learn such models from data. We choose GP models over other data-driven models (e.g., neural networks) based on two considerations. First, GP as a non-parametric model can learn from small-scale data, which is a competitive advantage in online learning. Second, GP models generate state-dependent uncertainty estimates that consider both noise and regression uncertainty due to limited training data, allowing them to be readily incorporated into various forms of Bayes filters (e.g., extended Kalman filters).
In this work, we extend the GP-based Bayes filters in two aspects: (i) We apply it to distributed state estimation by using the consensus algorithms [3], where each sensor node can share information with neighbors and update the state by fusing information received from its neighbors; (ii) We show how the GP motion and observation models can be learned from noisy and partial observations in an online fashion, without requiring training data containing sequences of ground truth states.
The effectiveness of the proposed method is verified by experiments on both synthetic data and data collected from a multi-robot platform. We show that our data-driven GP models outperform pre-defined (i.e., linear) models in prediction and tracking of traffic agents with unknown movement behavior. And the GP models learned by fusing information from multiple sensors via consensus are better than those learned by each sensor individually. In the experiment on robot platform, we show the advantage of data-driven models over parametric models in handling un-modeled system dynamics. Finally, we demonstrate that, compared to more complicated models (i.e., deep neural networks), the GP model is a better choice for learning from small-scale noisy data in an online fashion.

A. State Estimation with Gaussian Process Models
Gaussian process state space models (GPSSMs) are often used in state estimation problems for filtering [1], [4] or smoothing [5]. By describing the unknown transition and observation functions using GP models, Ko et al. [1] and Deisenroth et al. [4] derive different forms of GP-based Bayes filters including GP-EKF, GP-UKF, GP-PF, and GP-ADF. Since exact GP regression is challenging for large datasets due to O(n 3 ) time complexity, [6] proposes sparse spectrum Gaussian process (SSGP), which maps the input to a low-dimensional feature space for fast inference. The original GP-BayesFilters also require ground truth states to train the GP models. To alleviate this issue, [7] first determines the latent states from observations by introducing a Gaussian Process prior over the latent space. Our work further extends the GPSSMs in two different ways, by (i) introducing consensus algorithms to the GP-BayesFilters framework for distributed state estimation, and (ii) learning the GP models online, where the states are estimated from observations using Kalman filters.

B. Distributed State Estimation
Consensus [3], [8] is a major methodology for distributed state estimation over sensor networks. The basic idea is that each network node runs a local filter, and information is spread through consensus of neighboring nodes. Several consensus algorithms have been developed, including consensus on estimation (CE) [9], consensus on measurement (CM) [10], and consensus on information (CI) [11]. [12] combines several algorithms into a general class of consensus filters named Hybrid CMCI. The stability of Hybrid CMCI is further proven in [13]. The consensus algorithm we adopt falls in this general class. But unlike existing consensus filters which assume known state transition and observation models, we study data-driven approaches to learn such models.

C. Multi-agent Behavior Modeling
Our work is also related to the line of research which attempts to learn the movement behavior of traffic agents. To describe human movement dynamics and interactions, several methods [14], [15], [16] use the social force model [17]. In these works, the model parameters are learned offline using manually annotated trajectories. [18] identifies the model parameters through a series of carefully designed observation experiments. [19] learns pedestrian motion patterns with Gaussian Processes models. Recently, pedestrian behaviors are modeled using deep networks such as LSTM [20] and GAN [21]. However, these methods do not consider distributed state estimation, and rely on ground truth states to learn the models.

III. PROBLEM FORMULATION
In this work, we address the problem of collaborative tracking and behavior modeling of dynamic objects via a sensor network. Specifically, we are interested in a system composed of n sensors. The communication network connecting the sensors is represented by an undirected graph G = (V, E) where vertices V = {1, . . . , n} correspond to the sensors and an edge (i, i ) ∈ E indicates that sensors i and i can communicate. We denote the neighbors of sensor Consider an environment that consists of m targets, whose states are represented by {y 1 , . . . , y m }. We assume each target y j evolves according to the following target motion model: where η t j ∼ N (0, Σ ηj ) is the process noise. At any time t, sensor i can obtain state measurements of a subset of the targets. Let O t j ⊆ {1, . . . , n} be the set of sensors which can observe target j at time t, we assume a general sensor observation model: where ν t ij ∼ N (0, Σ νij ) is the measurement noise. Problem 1: Suppose the system function f j and output function h ij are time-invariant but remain unknown. The task of each sensor i is to construct estimators of the target states {ŷ t j } in a distributed fashion, i.e., using information only from its neighbors and the measurements {z t ij }. In the following, we take the practical task of estimating and modeling human movements in traffic scenes as an example to illustrate our problem formulation.
Example 1: Consider the scenario of tracking multiple traffic agents (e.g., pedestrians). Each agent state y j consists of the position x j and velocity v j . The dynamics of the system can be described as follows: where ∆t is the sampling period and g is defined below. We assume the motion of each agent follows a simplified version of social force model (SFM) [17], a popular formula for modeling human movement behavior in traffic scenes. According to SFM, each agent wants to keep its desired velocity, but is influenced by the other agents: Here, v * j and τ j are the desired velocity and relaxation time, respectively, whereas α j and β j denote the strength and range of the interaction force. We have θ j = {v * j , τ j , α j , β j }. Finally, we can assume a simple sensor observation model in which each sensor takes direct measurement of the target locations: IV. ONLINE DATA-DRIVEN DISTRIBUTED EKF We now describe our technical approach to the proposed problem. Let T t i {j|i ∈ O t j } be the set of targets observed by sensor i ∈ V at time t. Using the augmented (1) and output (2) become Recall that the functions f and h i are unknown in Problem 1. To overcome the limited knowledge on the system, we regard functions f and h i as regression functions and estimate them by utilizing Gaussian process regression (GPR). In GPR, knowledge on the regression function is expressed as data set, which is a set of input-output examples of the regression function. At i is a set of outputs of function h i corresponding to the inputs. We call D t f,i and D t h,i as data sets. They are initially empty, and are updated each time using estimates and outputs in an "online" fashion.
With the data-driven regression models, we can address Problem 1 in the Bayes filtering framework. We choose GP-EKF in this work and extend it to a distributed setting, but the same idea can be easily applied to other forms of GP-BayesFilters [1]. Algorithm 1 summarizes how the algorithm works in one episode. At any timestamp, each sensor node conducts state estimation given local information via GP-EKF (line 4), and then estimates are spread to neighboring nodes through a consensus algorithm (line 5). Finally, the knowledge on the regression functions (i.e., datasets) is updated in lines 6-7.
In the following, we present the two key components of our method, namely the local GP-EKF and the consensus algorithm, in details.

A. Local GP-EKF
GPR is an algorithm to estimate an unknown function under the assumption that the regression function is a Gaussian process (GP). Formally, stochastic process f is Gaussian if [f (y 1 ), · · · , f (y N )] T is a multivariate Gaussian random variable, for any finite set of points [y 1 , · · · , y N ] [22]. GPR could return a mean function of outputs. In our method, the functions f and h i are estimated with GPR mean function.
Take the motion function f as an example. At time t, given the current dataset and previous Each sensor performs GP-EKF independently to obtain the prior information (q ) and the novel information (δq t i , δΩ t i ); Hybrid Consensus (see Section IV-B) 5: Carry out consensus by iterating a number of regional averages on the two information pairs (prior and novel) and combine the fused pairs to obtain (ŷ t i , Ω t i ); Data set update 6: f,i respectively. Parameter σ f ∈ R represents the scale of the outputs, and l f ∈ R is the length scale. GPR mean function. By the standard rules for conditioning Gaussians, the posterior p(f ). And Jacobian matrix of µ f can be described by Similarly, one can also find GPR mean function which represents covariance of the process Q t i . The same method is used for computing Σ h (ŷ Covariance matrices Q t i and R t i can be directly used in the Bayes filters.
As shown in Algorithm 2, at every timestamp, we independently perform GP-EKF for each sensor. To facilitate information fusion, we adopt the information filter form and estimate the information matrix Ω t i = (P t i ) −1 rather than covariance matrix P t i . In particular, the pair (q t|t−1 i , Ω t|t−1 i ) called prior information is found by dynamic propagation (lines 2-6). Then, the current measurement z t i is used to find the pair (δq t i , δΩ t i ) called novel information (lines 7-11).

B. Hybrid Consensus
As we discussed earlier, in practice, the observations of an individual sensor may be incomplete due to its perception range and occlusions, and also subject to noises and errors. Therefore, it is necessary to fuse information from different sensors for accurate state estimation.
In the literature, consensus is a widely used technique for distributed computations over networks. In this work, we adopt a special form of consensus with stability guarantee called hybrid consensus [13]. As shown in Algorithm 3, each node iteratively recalculates prior information (q t|t−1 i , Ω t|t−1 i ) and novel information (δq t i , δΩ t i ) through communicating with its neighbors N i , where L ∈ N is the number of iterations (lines 4-11). A set of weights π ii ≥ 0 for i ∈ N i is used for the recalculation, and is a convex combination, i.e., i ∈Ni {i} π ii = 1. Without loss of generality, we choose uniform weights in this work: π ij = 1/(|N i | + 1) for j ∈ N i {i}. Then, the filtered estimateŷ t i is computed by the consentaneous information (lines 12-14).

V. EXPERIMENTS ON SYNTHETIC DATA
In this section, we evaluate our method on synthetic data generated by simulating the movement and interaction of  traffic agents (e.g., pedestrians). Assume that the agents are tracked by a sensor network of four localization sensors and six communication nodes, which are randomly distributed within an 8.0 × 8.0 square area, as depicted in Fig. 1. Note that both types of nodes can process local information and exchange information with their linked neighbors, but only the localization sensors can make measurements about the targets. The effective range of a sensor is 4.0.

A. Data Generation
Given m targets, we simulate the trajectory of each target using the social force model with parameters {v * j , τ, α, β}, as described in Example 1. Each target has its own preferred velocity, but shares the remaining parameters with other targets. The default values are τ = 0.25, α = 6, β = 5.
We consider a typical case of m = 2. As shown in Fig. 1, the two targets start from different random positions in two 1.5 × 1.5 square areas and move to the center area simultaneously. The desired velocities are v * 1 = (1, −1) and v * 2 = (−1, −1), respectively. We add small noise η ∼ N (0, σ 2 η ) with σ η = 0.001 in Eq. (3). To conduct simultaneous state estimation and behavior learning, we run the simulation to generate a large number of episodes of trajectories. The length of each episode is T with time step ∆t, including (T /∆t) + 1 states y t (t ∈ {0, 1, . . . , T /∆t}). We set T = 3 and ∆t = 0.25 in this experiment. Finally, the measurement model is given in Eq. (5) with noise ν ∼ N (0, σ 2 ν ) where σ ν = 0.2.

B. Motion Models
We compare the following motion models in EKF: • SFM. The social force model as described in Eq. (3) and Eq. (4), i.e., the true motion model. All parameters are assumed to be known, as described in Section V-A. • LIN. A linear constant velocity model which predicts the state of each target independently We assume the velocity of each target v * j is given. To accommodate the deviation from the true motion model, we use a higher process noise σ η = 0.1 with LIN. • GP. The Gaussian process regression model introduced in Section IV. The model hyperparameters are {σ f , l f , σ }, which are often estimated by maximum marginal likelihood [23]. To accommodate online learning, we manually tune the hyperparameters and set σ f = 1, l f = 2, and σ = 0.5 by default.

C. Experimental Protocol and Evaluation Metrics
In this experiment, we generate M episodes of trajectories for training, and N additional episodes for testing. In each episode, we initialize the state and the corresponding information matrix in Algorithm 1 with the first two observations as follows: For GP, in the first training episode, we also compute the second stateŷ 1 i to initialize the data set: D 1 f,i = ŷ 0 i ,ŷ 1 i . We use the root mean squared error (RMSE) of position to quantify the performance of each method. For each episode, the RMSE of the trajectory is computed as The averaged RMSE of all testing episodes with standard deviation is computed as the overall performance metrics.

D. Experiment Results
We have generated 250 episodes of trajectories and randomly split them into 200 training and 50 testing episodes. The default value of L is set to 4. We first compare the results obtained by running EKF on each sensor individually with those obtained by the consensus algorithm. Table I  Consensus Sensor 1 0.14 ± 0.04 0.16 ± 0.03 0.14 ± 0.10 Sensor 2 0.14 ± 0.04 0.16 ± 0.03 0.14 ± 0.10 Sensor 3 0.14 ± 0.04 0.16 ± 0.03 0.14 ± 0.10 Sensor 4 0.14 ± 0.04 0.16 ± 0.03 0.14 ± 0.10 Average 0.14 ± 0.04 0.16 ± 0.03 0.14 ± 0.10 reports the average RMSE of different methods on the testing episodes. The results show that, due to the limited sensing range, running EKF on individual sensors yields large estimation errors. And GP performs worse than LIN, since GP relies on the observations to learn the motion model. With consensus, the performance improves significantly for all motion models. Further, GP achieves lower error than LIN, which suggests the importance of consensus in learning the motion model. We also note that, with consensus, all sensors have almost identical errors, indicating that the consensus algorithm converges with L = 4 for this sensor network topology. Figure 2 plots the RMSE curves of GP-EKF w.r.t. two important parameters, namely the number of training episodes and L. As one can see, the error decreases as the number of training episodes increases, which indicates that GP is able to learn the movement behavior online. Further, comparing the RMSE curves for different choices of L, we can see that the consensus algorithm converges when L ≥ 3.

VI. EXPERIMENTS ON ROBOT PLATFORM
To assess the effectiveness of the proposed method on real system, we have also conducted experiments on a robot platform with three Khepera III robots [24].

A. Experiment Settings
As shown in Fig. 3, the arena is 3.5 meters long and 2.0 meters wide. The Khepera III robot has the size of 115mm×155mm×108mm and constructs differential drive dynamics. Each robot is programmed to move according to the social force model as described in Example 1. The model parameters are chosen as follows: τ = 1.0, α = 0.24, β = 0.5. The desired velocities of the robots are v * 1 = (0.04, 0.04)m/s, v * 2 = (0.08, 0.08)m/s, and v * 3 = (0.08, −0.08)m/s. The scenario is designed to simulate the interactions among agents when crossing an intersection.
The locations of the robots are tracked by a VICON motion capture system with high accuracy. The system runs up to 1000 Hz, so we could also estimate the velocities based on the high-frequency location records. The locations and velocities obtained from VICON are considered as the ground truth states. As shown in Fig. 4, the robot locations obtained from VICON deviate from those predicted based on the ideal SFM model. The reason is that, in practice, the robot motion trajectory can be influenced by many unmodeled factors, such as frictional resistance, limitation of two-wheel motion, and so on.
Note that the ground truth states are used for evaluation purpose only. To conduct this experiment, we further obtain robot location measurement from four Hokuyo URG-04LX 2D LiDARs [25] placed in the arena. The Hokuyo LiDARs scan a 2D plane with an angle of 240 degrees and 0.36 angular resolution. The scan rate is 10 scans/sec and maximum range is 4.0 m. We design the arena to be enclosed by four walls to facilitate the LiDAR sensing. For each episode, we take 12 measurements with a time interval of 1.2s. The raw LiDAR measurements are first transferred into (x, y)coordinates based on the position and orientation of each LiDAR. Then we rule out all points near the walls, apply DBSCAN clustering [26] to the remaining points, obtain the location measurements by computing the centers of the three largest clusters, and finally associate the measurements with the three robots according to their previous locations using the Hungarian algorithm. Based on the collected data, the measurement noise is set to σ ν = 0.2. In this experiment, we suppose each LiDAR can communicate with other two nearest LiDARs.

B. Experiment Results
For this experiment, we have collected 153 episodes and randomly split them into 128 training and 25 testing episodes. For all motion models, we adopt the same parameters as in Section V-B. These models are evaluated on the robot data using the same protocol as in Section V-C. Table III reports the tracking RMSE of different models in the distributed EKF framework, and Table IV reports the prediction results. As can be seen, the GP model not only outperforms the LIN model, but is also better than the "true" SFM model. As we mentioned above, real-world robot trajectories are influenced by other hard-to-model factors (e.g., frictional resistance). The idealized SFM model ignores these factors while the GP model is able to learn them from observed real-world data. It explains why the performance of GP is on par with that of SFM on synthetic data but better than SFM on robotic data. It also demonstrates the reason why data-driven methods outperform idealized models on real-world experiments.
In Fig. 4, we further provide two representative examples of the trajectories predicted by different motion models. For better clarity, we only visualize the trajectories of one robot in each plot. In the designed scenario, every robot is trying to maintain the preferred velocity while avoiding collision with others. A common resulting phenomenon is that a robot would slow down or adjust the orientation if there is another robot in front of it. It is not surprising that LIN is neither able to predict the shift in direction ( Fig. 4(a)) nor the change in speed (Fig. 4(b)). The SFM is able to model the "ideal" interactions among agents but ignores the aforementioned hard-to-model factors in real-world experiments. In contrast, GPR directly learns the multi-agent movement patterns from the noisy observations. As seen in Fig. 4, GPR produces the best predictions among all motion models. The experiment results thus show the advantage of online GP models in learning real-world motion patterns.

C. Comparison with State-of-the-Art Offline Prediction Model
Recently, deep neural networks, in particular long shortterm memory (LSTM) models [20], are shown to achieve the state-of-the-art performance in predicting complex pedestrian movements. But unlike our problem setting in which the motion model (i.e., GP) is learned online from noisy EKF estimations, existing work (e.g., [20]) learns LSTM offline with human-annotated noise-free movement data.
In this experiment, we train the LSTM model on the robot data and compare it with our GP model in terms of their ability to learn from small-scale noisy data. Specifically, to prepare data to train LSTM offline, we use the same 128 training episodes and fuse the four LiDAR measurements by using consensus on measurement (CM) method [10]. Following [20], we adopt an encoder-decoder sequence-tosequence network architecture. The observed 2D points are first fed into a multi-layer perceptron (MLP) to obtain 64dim feature embeddings. The encoder LSTM transforms the embedding into a 64-dim hidden state as the input of the decoder. The decoder LSTM transforms the 64-dim feature into a new 64-dim embedding. Then, another MLP converts decoder embedding into 2D vectors as the output prediction. The whole network is trained end-to-end using Adam [27] optimizer for 50 epochs with a learning rate of 1 × 10 −3 and batch size of 8. The L2 loss is adopted to minimize the distance between the future measurements and predicted locations. The lengths of the input and output sequences are 2 and 10, respectively.
During testing, we follow the previous protocol to test the learnt LSTM model on same 25 testing episodes. In each episode, we provide LSTM with the ground truth state at t = 0. Based on the constant velocity assumption, we can estimate the location for t = 1 and utilize the trained sequence-to-sequence LSTM to predict the next 10 locations. Figure 5 shows the prediction results of the GP and LSTM models trained with varying number of episodes. As can be seen, GP significantly outperforms LSTM in this experiment. Besides, GP achieves more stable prediction performance even with a small number of training episodes (e.g., 32 episodes), which demonstrates the advantage of GP in learning from small-scale noisy data.

VII. CONCLUSION AND FUTURE WORK
In this paper, we have studied the problem of jointly estimating the states of dynamic objects and learning their movement behaviors in a sensor network. A simple yet effective solution is introduced, in which we extend the family of GP-BayesFilters to a distributed setting, and show that the GP models can be learned online with noisy sensor observations. Experiment results on both synthetic data and data simulated using a multi-robot platform to verify the effectiveness of our method. While our problem formulation is quite general, assuming no knowledge about the motion and observation models, it still can be extended in multiple ways according to potential real-world scenarios. First, other noise models may be considered. For example, the observations may contain outliers, caused by sensor failures. Second, data association in multi-target tracking [28], i.e., associating all observations which belong to the same target, must be addressed. And the problem becomes more challenging for a sensor network, as the association across views needs to be further computed [29]. Third, dynamic objects may change their movement behaviors over time, e.g., a pedestrian stops to greet a friend on the sidewalk. We leave these directions to future research.
As to the technical approach, we plan to investigate fast methods for GP-based filters (e.g., [6]) in order to maintain affordable computation with large-scale datasets. Finally, for the consensus filters, it is interesting to further study the cases where the communication topology and thus the weights are time-varying [8].