Skip to main content
Sensors (Basel, Switzerland) logoLink to Sensors (Basel, Switzerland)
. 2021 Mar 16;21(6):2069. doi: 10.3390/s21062069

Graph Based Multi-Layer K-Means++ (G-MLKM) for Sensory Pattern Analysis in Constrained Spaces

Feng Tao 1, Rengan Suresh 2, Johnathan Votion 1, Yongcan Cao 1,*
Editor: Gwanggil Jeon
PMCID: PMC8002009  PMID: 33809434

Abstract

In this paper, we focus on developing a novel unsupervised machine learning algorithm, named graph based multi-layer k-means++ (G-MLKM), to solve the data-target association problem when targets move on a constrained space and minimal information of the targets can be obtained by sensors. Instead of employing the traditional data-target association methods that are based on statistical probabilities, the G-MLKM solves the problem via data clustering. We first develop the multi-layer k-means++ (MLKM) method for data-target association at a local space given a simplified constrained space situation. Then a p-dual graph is proposed to represent the general constrained space when local spaces are interconnected. Based on the p-dual graph and graph theory, we then generalize MLKM to G-MLKM by first understanding local data-target association, extracting cross-local data-target association mathematically, and then analyzing the data association at intersections of that space. To exclude potential data-target association errors that disobey physical rules, we also develop error correction mechanisms to further improve the accuracy. Numerous simulation examples are conducted to demonstrate the performance of G-MLKM, which yields an average data-target association accuracy of 92.2%.

Keywords: graph theory, sensor networks, data-object association, machine learning

1. Introduction

Associating data with the right target in a multi-target environment is an important task in many research areas, such as object tracking [1], surveillance [2,3], and situational awareness [4]. Image sensors can be used to acquire rich information related to each target, which will significantly simplify the data-target association problem. For example, video cameras in a multi-target tracking mission can provide colors and shapes of targets as extra features in the association process [5]. However, considering the costs, security issues, and special environments (e.g., ocean tracking [6], military spying), a simple, reliable, and low-cost sensor network is often a preferred option [7]. Consequently, the data-target association problem needs to be further studied, especially in cases when the gathered data are cluttered and contains limited information related to the targets.

The existing approaches for data-target association, in general, consist of three procedures [8]: (i) Measurements collection–preparation before data association process, such as object identification in video frames, radar signals processing, or raw sensor data accumulation; (ii) measurements prediction–predict the potential future measurements based on history data, which yields an area (validation gate) that narrows down the search space; and (iii) optimal measurement selection–select the optimal measurement that matches history data according to a criterion (varies in different approaches) and update the history dataset. With the same procedures but different choices of the optimal measurement criteria, many data-target association techniques have already been developed. Among them, the well-known techniques include the global nearest neighbor standard filter (Global NNSF) [9], joint probabilistic data association filter (JPDAF) [10,11,12,13], and multiple hypothesis tracking (MHT) [14].

The Global NNSF approach attempts to find the maximum likelihood estimate related to the possible measurements (non-Bayesian) at each scan (that measures the states of all targets simultaneously). For nearest neighbor correspondences, there is always a finite chance that the association is incorrect [15]. Besides that, the Global NNSF assumes a fixed number of targets and cannot adjust the target number during the data association process. A different well-known technique for data association is JPDAF, which computes association probabilities (weights) and updates the track with the weighted average of all validated measurements. Similar to Global NNSF, JPDAF cannot be applied in scenarios with targets birth and death [1]. The most successful algorithm based on this data-oriented view is the MHT [16], which takes a delayed decision strategy by maintaining and propagating a subset of hypotheses in the hope that future data will disambiguate decisions at present [1]. MHT is capable of associating noisy observations and is resistant to a dynamic number of targets during the association process. The main disadvantage of MHT is its computational complexity as the number of hypotheses increases exponentially over time.

There are other approaches available for data association. For example, the Markov chain Monte Carlo data association (MCMCDA) [5,17]. MCMCDA takes the data-oriented, combinatorial optimization approach to the data association problem but avoids the enumeration of tracks by applying a sampling method called Markov chain Monte Carlo (MCMC) [17], which implements statistical probabilities in the procedure of optimal measurement selection as well. In this paper, we assume an object generates at most a single detection in each sensor scan, namely, a point-target assumption. Hence, the approaches on multiple detections per object per time step, i.e., extended-target [18], are not discussed here. The data association in extended object tracking problems typically use data clustering techniques, such as k-means [19], to address the extended-target issue by specifying which measurements are from the same source. Then the corresponding association problems can be simplified as point-target tracking problems. For example, the authors in [20] proposed a clustering procedure and took into account the uncertainty and imprecision of similarity measures by using a geometric fuzzy representation, which shows the potential of applying clustering algorithms in the data association problem.

The main contribution of this paper is the development of an efficient unsupervised machine learning algorithm, called graph based multi-layer k-means++ (G-MLKM). The proposed G-MLKM differs from the existing data-target association methods in three aspects. First, in contrast to the previous developed data association approaches that estimate the potential measurement from history data for each target and select an optimal one from validated measurements based on statistical probabilities, G-MLKM solves the data-target association problem in the view of data clustering. Second, the previous approaches are mainly developed with respect to sensors that are capable of obtaining information from a multiple dimensional environment, such as radars, sonars, and video cameras. G-MLKM is proposed on sensors that only provide limited information. Interesting research on tracking targets with binary proximity sensors can be seen in [7], whose objective is only limited to target counting, while G-MLKM can associate data to targets. Third, G-MLKM can address the case that targets move in a constrained space, which requires dealing with data separation and merging.

The reminder of this paper is structured as follows. The data association problem in a constrained space and the corresponding tasks are described in Section 2. In Section 3, the multi-layer k-means++ (MLKM) method is developed for data-target association at local space given a simplified constrained space situation. The graph based multi-layer k-means++ (G-MLKM) algorithm is then developed in Section 4 for general constrained spaces. Simulation examples are then provided in Section 5. Section 6 provides a brief summary of the work presented in this paper.

2. Problem Formulation

In this paper, we consider the problem of data-target association when multiple targets move across a road network. Here, a road network is a set of connected road segments, along which low-cost sensors are spatially distributed. The sensors are used to collect information of targets, which, in particular, are the velocity of targets and the corresponding measured time. We assume (1) there is no false alarm in the sensor measurements, and (2) the target’s velocity does not change rapidly within two adjacent sensors. The collected information about a target is normally disassociated with the target itself, meaning that the target from which the information was captured cannot be directly identified using the information. Hence, data-target associations is necessary.

Figure 1 shows one road network example that consists of 6 road segments. Without loss of generality, let the total number of road segments in one road network be denoted as L. The road segments are denoted as R1,R2,,RL, respectively. The length of road segment Ri is denoted as Di for i=1,2,,L. To simplify discussion, we assume the road segments are for one-way traffic, i.e., targets cannot change their moving directions within one road segment. However, when the road segment allows bidirectional traffic, we can separate it into two unidirectional road segments and the proposed approach in this paper directly applies. Let Si={Si1,Si2,,SiNi} be a set of NiR sensors placed along the direction of road segment Ri. In other words, for sensor SijSi, the larger the sub-notation j is, the further distance the sensor locates away from the starting point of road segment Ri. We denote the corresponding distance between sensor Sij and the starting point of road segment Ri as dij. Hence, the position set for sensors in Ri related to the starting point can be denoted as Pi={di1,di2,,diNi}, where 0di1<di2<<diNiDi.

Figure 1.

Figure 1

An example road network. Ri represents the road segment. Sij represents the jth sensor on the ith road segment.

For each sensor Sij, its measurements are collected and stored in chronological order. The collections are denoted as a column vector Xij, such that Xij=[xij1,xij2,,xijmij], where i{1,2,,L}, j{1,2,,Ni}, the prime symbol represents the transpose operation for a vector, mij is the total number of measurements in Xij, and xijn, n{1,2,,mij}, denotes an individual measurement in Xij. In particular, xijn=[vijn,tijn] stores the measured velocity vijn when one target passed by sensor Sij at time tijn. As the elements in Xij are stored in chronological order, the recorded time for each measurement satisfies tij1<tij2<<tijmij, which can be distinguished based on the superscript n. All the measurement vectors stored by sensors that locate in the same road segment Ri are stored into a matrix Xi, such that Xi=[X¯i1,X¯i2,,X¯iNi], where XiRmi×Ni, mi=maxj{mij}, and the column of the matrix is defined as X¯ij=[Xij,01×(mimij)]. If mij=mi, X¯ij=Xij. The added all-zero row vector in X¯ij is to unify the length of vectors in matrix Xi considering that miss detection may happen or targets may remain (or stop) inside the road network for a given data collection period.

The road network collects Xi,i=1,,L that only include information of target’s velocity and the corresponding measurement time. In order to solve data-target association based on the L matrices, three tasks need to be accomplished. The first task (Task 1) is to cluster Xi into mi groups for each road segment. Denote the data grouping result for each road segment as a new matrix Ti, such that:

Ti=[T¯i1,T¯i2,,T¯imi],i=1,2,,L (1)

where T¯iz,z=1,2,,mi, is a row vector consisting of Ni measurements associated with the same target, defined as:

T¯iz=[τiz1,τiz2,,τizNi], (2)

where τizu is an entry of X¯iu for u=1,2,,Ni. Then a new row vector Tiz is obtained from T¯iz by excluding all zero elements.

The second task (Task 2) is to link the trajectories of targets at road intersections by pairing sensor Si1/SiNi from multiple road segments that are connected geometrically. In particular, let OTints denote the index set of road segments that have outgoing targets related to one intersection ints, and ITints denote the index set of road segments that have ingoing targets related to the same intersection. Since the road segments are unidirectional, the two index sets have no overlaps, i.e., OTintsITints=. In particular, only the dataset that has a subscript of iNi (according to the unidirectional road segement setting) can be the candidate for OTints. Similarly, only the dataset that has a subscript notation of i1 can be the candidate for ITints. Therefore, datasets that belong to targets who move towards the intersection ints are denoted as:

QIints={xiNikO|xiNikOXiNi,iOTints}, (3)

while datasets that belong to targets who leave the intersection ints are denoted as:

QOints={xi1kI|xi1kIXi1,iITints}. (4)

where kO{1,2,,miNi}, kI{1,2,,mi1}, OTints{1,2,,L}, and ITints{1,2,,L}. Since targets may stop in the intersection or the data collection process terminates before targets exit the intersection, the total number of targets heading into an intersection ints is always greater than or equal to the number of targets leaving the same intersection, i.e., |QIints||QOints|. For simplicity of notation, denote |QIints| and |QOints| as nI and nO. Then we can calculate nI and nO via:

nI=iOTintsmiNiandnO=iITintsmi1. (5)

The pairing task for intersection ints can be denoted as a mapping function f, such that:

f(xiNik)xl1,k{1,2,,nI}, (6)

where xiNikQIints and xl1{QOints,0,0,,0nInO}. In particular, the function f for intersection ints can be denoted as a permutation matrix GintsRnI×nI.

The last task (Task 3) is to merge data groups on the road network when loops may exist, i.e., targets may pass the same road segment several times. Hence, multiple data association groups may belong to the same target. The merged results can be denoted as L symmetric matrices GRiRmi×mi for each road segment Ri. If targets only pass the road segment Ri once, GRi is an identity matrix.

In this paper, we are going to propose a new unsupervised machine learning algorithm to associate data-target for the collected L matrices. In particular, this algorithm first creates a new clustering structure for data grouping in each matrix (associated with each road segment), and then leverages graph theory and clustering algorithms to link the matrices from different road segments for each intersection. Finally, the entire dataset can be analyzed and associated properly to the targets. The output of this new algorithm will be a detail trajectory path for each target with the captured velocities along the road segments. In the next two sections, the new data-target associations algorithm will be explained in detail. We begin the discussion with a special case when the road network is consisted of a single road segment.

3. MLKM for a Single Road Segment

In this section, we consider the special case when L=1, i.e., the road network only consists of one road segment, R1. In this special case, there are neither intersections nor loops in the road network. Therefore, the tasks in identifying data-target associations are simplified to cluster X1 into m1 groups (Task 1) only. One example of matrix X1R10×9 is shown in Figure 2, which is the plot of measurements for 10 different targets that are captured by nine equally spaced sensors on road segment R1.

Figure 2.

Figure 2

Example of X1 for a single road segment.

3.1. K-means++ Clustering and Deep Neural Network

K-means [19] and k-means++ [21] are perhaps the most common methods for data clustering. For a set of data points in a N-dimensional system, the two algorithms perform clustering by grouping the points that are closer to the optimally placed centroids. From the machine learning perspective, k-means learns where to optimally place a pre-defined number of centroids such that the cost function, defined as ΦY(C)=yYd2(y,C), is minimized, where d(y,C)=minyYyci represents the distance between a sub-set of measurements Y and a centroid ci and C={c1,...,ck} represents the set of centroids. The associated cost function is the sum of the Euclidean distances from all data points to their closer centroid. The cost function and optimization algorithms are the same for k-means and k-means++ while the only difference between them is that k-means++ places the initial guesses for the centroids in places that have data concentration, and consequently improves the running time of Lloyd’s algorithm and the quality of the final solution [21].

A much more complex boundary may exist between two data groups. Therefore, we also verify the potential performance of the deep neural network (DNN) algorithm [22] in the data association process, which is known for its capability of recognizing underlying patterns and defining better decision boundaries among data samples. For the purpose of evaluating the supervised DNN capabilities, a slight modification of the problem is considered. Instead of a complete unlabeled dataset X1, part of the measurements are pre-labeled, i.e., data-target relations for part of the measurements are known. In addition, we extend the measurement’s dimensions to further include vt, v2t, and vt2 as extra features so that the inner structure of DNN can be simpler. Table 1 presents the detail settings of the DNN framework.

Table 1.

Deep neural network (DNN) configuration parameters.

Framework Definition
Cost Function Softmax
Activation Function Relu
Optimizer Adam Optimizer
Number of Hidden Layers 2
Number of Neurons 8

3.2. K-means++ with Data Preprocessing

While DNN can potentially provide better performance for the data association problem, it demands labeled datasets for training. In real scenarios, however, the training dataset may not be available. In contrast, k-mean++ can cluster data samples without the need for a labeled dataset. This unsupervised property of k-means++ enables a wider application domain. Hence, k-means++ is more practical for the task of clustering X1 into m1 groups. Moreover, when the dataset X1 is small and sparse, k-means++ can perform well on the task of data-target association.

However, when the measurements are distributed along the time axis and velocity profiles are close, k-means++ tends to place the centroids in positions where data from different targets overlap and hence causes an inaccurate data-target pairing. This happens because k-means implements Euclidean distance to determine which centroid data sample (v,t) belongs, i.e.,

arg min(vi*,ti*)C(vvi*)2+(tti*)2, (7)

where C is the set of centroids. When data samples distribute along time axis, the time difference becomes the determining factor for grouping results.

One natural way to balance the two components (time difference and velocity difference) in (7) is to process X1 before applying k-means++. The idea of preprocessing is similar to the principal component analysis [23] that projects data into a main axis. The preprocessed data sample is denoted as x^1jn=[v1jn,t^1jn], where t^1jn is given by:

t^1jn=t1jnd1jd*v1jn, (8)

where j{1,,N1},n{1,,m1j}, d1j is the position of sensor S1j with respect to the starting point of road segment R1, and d* is the reference point for projecting. In other words, t^1jn is the expected starting time for a constant velocity (v1jn) model given the current time t1jn. Figure 3 is the preprocessed result for the dataset in Figure 2. In this example, the reference point d* is selected to be the starting point, and we can see clusters for each target have been formed after data preprocessing.

Figure 3.

Figure 3

Example of preprocessed X1 for a single road segment.

3.3. Multi-Layer K-means++

Through the preprocessing procedure, data can be roughly separated for different targets that provide dense and grouped subsets. The boundaries between two groups, however, maybe still too complex for k-means++ to define, especially, when X1 is a large dataset and the grouped subsets are close to each other. Inspired by the DNN capability of defining classification boundaries via a multi-layer structure and a back-propagation philosophy, we propose a new multi-layer k-means++ (MLKM) method that integrates the DNN’s multi-layer structure with the clustering capabilities of k-means++ to overcome the complex boundary challenge.

The proposed MLKM algorithm is performed via 3 layers: (i) Data segmentation and clustering–the dataset is sequentially partitioned into smaller groups for the purpose of creating sparse data samples for k-means++; (ii) error detection and correction–check the clustered data by searching for errors through predefined rules and re-cluster the data using nearest neighbor concepts [24] if an error is found. Note that the k-means++ associates the data closer to the optimally placed centroid based on the Euclidean distance between data point and centroid, which is a scalar quantity; and (iii) cluster matching–match the clusters of each segment by preprocessing the cluster centroids of all segments to the cluster centroid of the first segment and again grouping them based on k-means++. A detail explanation for these three layers are given as follows.

3.3.1. Layer 1 (Data Segmentation & Clustering)

Without loss of generality, we assume that there are K sensors per segment. The dataset X1Rm1×N1 (m1 and N1 are the maximum number of measurements and the total sensor number in sensor set S1, respectively) is sequentially partitioned into E segments, such that:

E=N1/K,N1%K=0,N1/K+1,otherwise.

In other words, when N1%K0, the last segment will contain measurements from less than K sensors. In the following of the paper, we assume that N1%K=0 in the following sections of this paper for the simplicity of presentation. When N1%K0, we can add some extra artificial sensors with all zero measurements. Then the data segment can be defined as X1e=j=(e1)K+1eKX¯1j, where e=1,2,,E. K-means++ algorithm is then applied to each X1e by excluding all zero elements. By aggregating the clustering results, we can obtain a set of centroids for X1e, e=1,2,,E, defined as C1e={c11e,c12e,,c1m1e}, and the associated measurements with each c1ke centroid are represented as T1ke, where k{1,2,,m1}.

3.3.2. Layer 2 (Error Detection & Correction)

The first layer seeks to associate data for each data segment. Since the clustering standard used in k-means++ is a scalar quantity while the actual measurements are given by vectors, there are potential data association errors in T1ke. Hence an additional layer to perform error detection and correction is needed. The error detection is to verify logic rules to determine if wrong data association appears in T1ke. The error correction will conduct data re-association on the identified wrong associations. To avoid the same wrong reassociation again, the global nearest neighbor standard is chosen as the re-association technique instead of k-means++ given the assumption that the target’s velocity does not change rapidly within two adjacent sensors.

We here proposed the following logic rules for error detection:

  • |T1ke|>K;

  • n1n2, x1ln1T1ke, x1jn2T1kel=j;

  • lj, x1ln10T1ke, x1jn2T1ket1ln1t1jn2,

where |T1ke| indicates the cardinality of T1ke. The first rule means that more than K measurements appear in T1ke. The second rule means that more than one sensory measurements from the same sensor are associated with one target in T¯1ke. The third rule means that target is recorded in a later time by a previous sensor. If one or more rules are satisfied, the corresponding T1ke is then considered to be an erroneous data association and will be stored in Y1e*, where Y1e* refers to the wrong data associations in X1e.

The error correction is to re-associate data in Y1e* for the purpose of breaking all the logic rules listed above. We propose to use the global nearest neighbor approach. Specifically, elements in Y1e* that belongs to measurements of sensor S1 are selected sequentially to be evaluated against with every measurement in Y1e* that belongs to measurements of sensor S1(+1) to obtain the best match. The evaluation is accomplished via the following optimization process:

argminκt1(+1)κt1+d1(+1)d1v1,s.t.x1(+1)κY1e*.

With this procedure, all T1ke are updated with the corrected clusters and all c1ke are re-calculated based on the updated T1ke. The new corrected set of centroids C1e is updated for all segments and grouped into C1={C11C12...C1E}. The position of the centroid set C1e is defined as:

d1e=j=(e1)K+1eKd1j/K. (9)

3.3.3. Layer 3 (Cluster Matching)

Through the preceding two layers, data-target association can be accomplished for each data segment X1e independently. However, the target associations are uncorrelated among each data segment. In particular, the unsupervised k-means++ only groups data samples that belong to the same target while the clusters of each target are anonymous. Hence, it is still unclear how to associate the clusters among different segments.

In Layer 3, we project C1e,e=1,,E, using the preprocessing technique that is stated in Section 3.2. More precisely, the time component in c1keC1e is preprocessed as:

t^1ke=t1ked1ed11v1ke,e{1,,E},k{1,,m1},

where c1ke=[v1ke,t1ke], and d1e is the position of centroid set C1e defined in (9). Then k-means++ is applied to the preprocessed C1 to find the clusters that group cluster centroids in different data segments. Accordingly, the associated measurements T1ke with respect to each centroid are merged together as T1k and, hence, provides the complete data-target association result for the entire road segment.

Note that the proposed MLKM method may not be applied directly to the case when L>1 (i.e., more than one road segments). Therefore, we propose a more general method, named G-MLKM, to solve the general data-target association problem for a general road network in the next section.

4. G-MLKM for a General Road Network

In this section, we consider the general case when the road network consists of multiple road segments. To solve the data-target association problem, we propose a new graph-based multi-layer k-means++ (G-MLKM) algorithm. In particular, G-MLKM uses graph theory to represent the road network as a graph, and then links data from different road segments at each intersection of the road network by analyzing the graph structure. The data-target association problem for a general road network is then solved by merging the clustering results at intersections with the MLKM results on each road segment.

We first briefly introduce graph theory and the representation of road networks using graphs as preliminaries. Then the procedures for G-MLKM are explained in detail. In particular, we begin with a new graph representation for the road network. Then the procedures for linking measurements at intersections (Task 2) are described. After that, we unify the results on road segments and intersections, and complete the data merging task (Task 3).

4.1. Preliminaries

4.1.1. Graph Theory

For a system of L connected agents, its network topology can be modeled as a directed graph G=(V,E), where V={v1,v2,,vL} and EV×V are, respectively, the set of agents and the set of edges that connect the agents. An edge (vi,vj) in set E means that the agent vj can access the state information of agent vi, but not necessarily vice versa [25]. The adjacency matrix ARL×L of the directed graph G is defined by A=[aij]RL×L, where aij=1 if (vi,vj)E and aij=0 otherwise.

4.1.2. Graph Representation of Road Networks

There are mainly two strategies to represent road networks using a graph, namely a primal graph and dual graph [26]. In a primal graph representation, road intersections or end points are represented by agents and road segments are represented by edges [27], while in a dual graph representation, road segments are represented by agents and an edge exists if two roads are intersected with each other [28]. Compared with a primal graph, dual graph concerns more on the topological relationship among road segments. As the data-target associations for each road segment can be solved by the MLKM method, the focus here is to cluster data at each intersection. As a consequence, the dual graph is a better option. However, the geometric properties such as road length are neglected by a dual graph. Hence, some further modification to the dual graph is needed.

4.2. G-MLKM Algorithm

In this subsection, we will provide the detail procedures for the G-MLKM algorithm that are composed of the following three steps.

4.2.1. Modified Graph Representation for Road Networks

Considering the cases when targets may stop in a road segment or data collection process may terminate before targets pass through a road segment, the total number of measurements collected by sensor SiNi (locates near the ending point of road segment Ri) may be less than the one collected by sensor Si1 (locates near the starting point of road segment Ri). If the entire road segment is abstracted as one single agent, the inequality of measurements in the road segment may create issues for the subsequent data-target associations process. Here, we modify the dual graph by incorporating the primal graph for the representation of the road segment. In other words, we propose to replace each road segment node in the dual graph by two agents with one directed edge connecting them and the direction of the edge is determined by the traffic direction. In particular, we use the sensor nodes Si1 and SiNi as the two agents. We may neglect the edge between Si1 and SiNi because we focus on data-target associations at intersections while the data-target associations within the road segment can be accomplished by the MLKM method without the need for the knowledge of the graph. Moreover, the connection between Si1 and SiNi is unidirectional when the traffic is unidirectional. We call the new graph the“p-dual graph”, i.e., prime-based dual graph. An example of how to derive the p-dual graph is shown in Figure 4, where the original six agents in the dual graph are replaced by 12 agents and the edges between Si1 and SiNi are removed in the p-dual graph.

Figure 4.

Figure 4

(a) Dual graph representation for the road network in Figure 1 with the nodes and arrows representing, respectively, the agents and directed edges. (b) P-dual graph representation for the road network in Figure 1, where two sensor nodes represent one road segment and the edge within the two sensor nodes are ignored. In this example, there exist 3 subgraphs which are denoted as a, b, and c.

For a general road network with L edge segments, the edges of the new p-dual graph is given by V*={S11,S1N1,S21,,SL1,SLNL} with the corresponding adjacency matrix, A*R2L×2L, given by:

A*=[aij*]RL×L,aij*=00aij0. (10)

4.2.2. Graph Analysis for Data Pairing at Intersections

From A* defined in (10), we can observe that the adjacency matrix A* has L columns and L rows that are all zeros. Hence, the sparse matrix A* can be further analyzed and decomposed to extract subgraphs related to different intersections. Then the task of linking the trajectories of targets at road intersections can be equivalently solved via pairing measurements of sensor Si1/SiNi from road segments in the subgraphs, which is further decomposed into the following three procedures.

Algorithm 1. Subgraph Extraction
  • 1:

    Input: bijA*;

  • 2:

    Output: (OTints,ITints), ints{a,b,c,}

  • 3:

    Idxrow = Idxcol = {1,2,,|A*|};

  • 4:

    i = 0;

  • 5:

    forints in {a,b,c,} do

  • 6:

    OTints=ITints=;

  • 7:

    if |Idxrow|1 then

  • 8:

       procedure Increment(i)

  • 9:

        i = i + 1;

  • 10:

        if iIdxrow then

  • 11:

        return i;

  • 12:

       else

  • 13:

        Increment(i);

  • 14:

      procedure Recursion(i)

  • 15:

       if jIdxcolbij1 then

  • 16:

        OTints=OTintsi;

  • 17:

        procedure Extract(i)

  • 18:

         for j in Idxcol do

  • 19:

           if bij0 then

  • 20:

            ITints=ITintsj;

  • 21:

          Idxcol = Idxcol\ITints;

  • 22:

          Idxrow = Idxrow\{i};

  • 23:

          for jITints do

  • 24:

           if lIdxrowblj1 then

  • 25:

            for l in Idxrow do

  • 26:

            if blj0 then

  • 27:

             OTints=OTintsl;

  • 28:

          if IdxrowOTints then

  • 29:

           Extract (l(IdxrowOTints));

  • 30:

          else

  • 31:

           return (OTints,ITints);

  • 32:

        else

  • 33:

         Idxrow = Idxrow\{i};

  • 34:

        i = i + 1;

  • 35:

         Recursion(i);

  • 36:

    else

  • 37:

      break;

i. Subgraph Extraction

The first procedure is to extract subgraphs from A*. Let the letters in alphabet {a,b,c,...} denote the names for different intersections. The subgraph extraction procedure begins with an intersection name as a, follows by b, c, and so on. For any intersection ints, the subgraph extraction is conducted by cross-searching the non-zero entries of the matrix A* in a repeated row and column pattern. The corresponding indices of row and column containing non-zero entries, indicating the agents and edges that are included in that subgraph, are stored in the sets OTints and ITints, respectively. More precisely, OTints denotes the index set of road segments that have outgoing targets related to intersection ints and ITints denotes the index set of road segments that have ingoing targets related to the same intersection. The index storing processes are defined as OTints=OTintsi, and ITints=ITintsj, where i,j are the corresponding row index and column index, respectively. The iterative search process will terminate and return (OTints,ITints) when there is no more non-zero element in the recorded row and column indices. Algorithm 1 is the pseudo code for the subgraph extraction procedure. The extracted results are denoted as (OTints,ITints), where ints{a,b,c,}.

ii. Data Preprocessing at Intersections

Given that the subgraph that describes an intersection, ints, is available from the preceding subgraph extraction procedure, datasets of Xi1/XiNi which are subjected to the pairing task for the corresponding intersection can be pinpointed. In particular, (3) and (4) define the dataset for the intersection ints as an incoming dataset QIints and an outgoing dataset QOints, respectively. As we assume that (1) no false alarm in the measurements, and (2) the target’s velocity does not change rapidly within two adjacent sensors, data pairing at intersections may interpret as data clustering. A potential machine learning technique for data clustering is the k-means++. However, the sensors Si1/SiNi from different road segments are not guaranteed to locate near each other for a road intersection, which may contribute to a relatively large time difference in two sensors’ measurements for one target. Hence, before applying k-means++, data preprocessing on QIints and QOints is necessary.

Based on the proposed preprocessing definition in (8), we here propose a new data preprocessing technique that first selects a virtual reference at the center of the intersection ints and then recomputes t^ijk via projecting each element in ITints and OTints to the virtual reference as:

t^ijk=ti1kr+di1vi1k,iITints&j=1tiNik+DidiNi+rviNik,iOTints&j=Ni, (11)

where k{1,2,,mij} and r is the radius of the intersection circle centered at the virtual reference. An example of locating the virtual reference is shown in Figure 5, where the intersection consists of three road segments denoted as Ri, Rj, and Rk.

Figure 5.

Figure 5

An intersection consists of three road segments denoted as Ri, Rj, and Rk. The virtual reference for data preprocessing is in the center of the intersection with a radius of r to each road segment ending point.

iii. Data Pairing at Intersections and Error Correction

Denote the preprocessed datasets for QIints and QOints as Q^Iints and Q^Oints. Then k-means++ can be applied to the preprocessed intersection datasets {Q^Iints,Q^Oints} for data pairing. Similar to the development of MLKM for the case of one road segment, errors may arise when conducting the data pairing/clustering. Error detection and correction are needed to further improve accuracy.

For an intersection ints, the cardinalities of the preprocessed Q^Iints and Q^Oints remain the same as those of QIints and QOints. As defined in (5), |Q^Iints|=nIand|Q^Oints|=nO, where nInO. The set of centroids is denoted as Cints={cints1,cints2,,cintsnI}, and the associated measurements with each centroid cintsj, j{1,2,,nI}, are given as Yintsj. The error correction is similar to Layer 2 in the MLKM method described in Section 3.3.2, and defines three logic rules for error detection:

  • |Yintsj|>2;

  • |YintsjQ^Iints|1;

  • xiNiYintsj,xl10Yintsjtl1tiNi,

where |Yintsj| is the cardinality of Yintsj. The first rule means more than two measurements are associated in Yintsj. Error can be determined in this case because each target has at most two measurements in one intersection. The second rule means either none or more than one sensory measurements can be found from the incoming dataset Q^Iints. The third rule means that the outgoing measurement in Yintsj is recorded earlier than the incoming measurement. If one or more rules are satisfied, the corresponding Yintsj is then considered to be an erroneous data association and will be stored in Yints. The error correction is to re-associate data in Yints for the purpose of breaking all three logic rules listed above. To achieve this goal, we separate Yints into two subsets denoted as YintsI and YintsO given by:

YintsI={xiNi|xiNiYints},YintsO={xl1|xl1Yints},

where YintsI and YintsO store all measurements xiNi and xl1 in Yints, respectively. Re-associate data in Yints becomes a linear assignment problem [29] between YintsI and YintsO. The optimal pairing between YintsI and YintsO can be found when the matching score reaches to the minimum via solving the optimization problem of argminM||M×YintsIYintsO||, where YintsIRmI×1 and YintsORmO×1 are column vectors converted from subsets YintsI and YintsO, respectively. MRmO×mI is a special binary matrix with the summation of each row being 1. After the error correction is accomplished, all Yintsj will be updated to complete Task 2. Furthermore, a permutation matrix GintsRnI×nI can be created to record the pairing relationship between incoming dataset QIints and outgoing dataset QOints for each intersection.

4.2.3. Group Merging in the Road Network

K-means++ clustering on the preprocessed dataset at each intersection solves the task of linking the trajectories of targets at road intersections (Task 2) while the proposed MLKM method solves the task of data associations for each road segment (Task 1). If the clustering results at all intersections are combined with the MLKM results on all road segments, trajectory awareness for each target in the road network is achieved. This is valid for situations when targets only pass the same road segment once. However, when targets pass the same road segment and intersection multiple times, one target can be assigned to multiple associated data groups on the road segment. To determine the connections among all associated data groups, an extra task (Task 3) for merging data groups in the road network is needed. Given that the datasets at intersections are extracted from the L matrices collected from all road segments, clusters at the intersections can be classified based on the data groups for all road segments. Therefore, the task of determining the connections among the associated data groups in the road network can be focused on connections of T¯iz defined in (2) for each road segment.

Let the symmetric matrix GRiRmi×mi denote the connections among the mi association groups in road segment Ri given by GRi=[bij]Rmi×mi where:

bpq=bqp=1,ifT¯ip,T¯iqbelong to the same target,0,otherwise.

To determine the entries in GRi, the depth-first search (DFS) [30] is implemented to detect cycles in the adjacency matrix A. If cycles do not exist, the non-diagonal entries are set to 0 and hence GRi is an identity matrix. Otherwise, further analysis on the connections among data groups at each road segment is operated sequentially in the following three steps.

i. Node Analysis on Dual Graph

The analysis starts with identifying road segments that have only outgoing flow, i.e., source nodes in the graph. The source nodes can be identified from the adjacency matrix A by checking the sum of each column. In particular, road segment Ri is a source node when the sum of the ith column of A satisfies l=1Lali=0, where ali is the (l,i)th entry of the adjacency matrix, which represents the edge (Rl,Ri).

ii. Trajectory Flow for Data Groups from Source Nodes

If the road segment Ri is a source node, the mi data groups in Ri resulting from the MLKM method are considered to be mi unique targets. Then the trajectories of these mi targets are traced in the road network. In particular, if T¯izXiNi=, the target associated with data group T¯iz does not contain any measurement from sensor SiNi, which corresponds to the case when target stops in the road segment or the data collection terminates before the target could approach to sensor SiNi. The trajectory tracking for this target is then completed. Otherwise, the permutation matrix Gi of intersection i that is consisted of sensor SiNi is utilized to pinpoint the trajectory of the same target in the intersection, and its data group T¯lz in the subsequent node or sink node Rl where it is heading to. The trajectory tracking of the same target on the new road segments will keep on until the target stops or leaves the road network. The same process is used for tracing the flow of other targets.

iii. Matrix Description of Intermediate Nodes

After the trajectories of all targets from the road segments have been confirmed, data points for each target on different road segments can be merged. More precisely, the corresponding entry (p,q) in GRl that is assigned as 1 means that data groups T¯lp and T¯lq belong to one target. Consequently, the corresponding matrix GRl can be determined.

5. Simulation

In this section, the performance of the proposed G-MLKM algorithm is evaluated. We first introduce the testing datasets generation process. Then the performance of the MLKM method on one road segment is evaluated and compared with k-means++ and DNN. Then the complete G-MLKM algorithm performance is evaluated. A detailed example presenting the output via using G-MLKM is given to show how matrices Gints and GRi are created for data pairing at intersections and group merging.

5.1. Testing Data Generation

In order to obtain a quantitative performance evaluation of the data association techniques, labeled data is needed to obtain the percentage of true association between targets and their measurements. One convenient way to have accurate labeled dataset for data-target association is to generate it artificially. Let the generated testing dataset from the road network be Mt={T1,T2,,TL}, where TiRmi×mi has the same data structure as Ti defined in (1). In particular, each element in Ti is a data group that belongs to one target. Moreover, for any Ti collected from road segments that have both incoming and outgoing flows, multiple rows may belong to the same target.

We utilize the road network structure shown in Figure 1 as a prototype for testing data generation. Moreover, NS sensors are assumed to be equally distributed on each road segment, where the length of the road segment is NS×d. The position set for sensors is selected as Pi={d,2d,,NSd} with respect to the starting point of road segment Ri. The intersections are considered to have the same radius with the value of d/2. Hence, the distance between any two adjacency sensors is d. To further simplify the data generation process, we assume road segment R1 is the only entrance of the road network during the data collection period with incoming targets number NA, and targets have equal possibilities of valid heading directions at each intersection. The targets are assumed to move with a constant velocity and the velocity is also discretely affected by Gaussian noise, such that, vij=v0+N(μ,σ), where vij is one velocity measurement at sensor Sij and v0 is the velocity measurement at the previous sensor. The corresponding time measurement is calculated as tij=t0+vij/(j·d). The initial velocity and time for the NA targets are uniformly selected from the range (vmin,vmax) and (tmin,tmax), respectively (refer to Table 2). The testing dataset generating process stops when all targets move out of the road network.

Table 2.

Simulation parameters.

Simulation 1 Simulation 2
NA 10 50
NS 10 20
(vmin,vmax) U(10,50) U(10,50)
(tmin,tmax) U(0,40) U(0,40)

With the generated testing datasets, we may evaluate the performance of the data-target association techniques by calculating the data association accuracy, which is defined as the ratio between correctly classified number of data (Mcr) and the total number of data (Mt), such that, numel(Mcr)numel(Mt)×100%, where numel(M) returns the number of elements in M. As multiple testing datasets are generated, the provided statistical information about performance includes the minimum (left - blue bar), average (middle - orange bar), and maximum (right - yellow bar) accuracies.

5.2. MLKM Performance and Comparisons

Before evaluating the entire accuracy of the proposed G-MLKM algorithm, the MLKM method is evaluated and compared with the other two common data clustering machine learning techniques, in particular, k-means++ and DNN, based on the collected dataset in road segment R1.

5.2.1. K-means++

The first set of simulations evaluate the performance of k-means++ based on two criteria: (i) Unprocessed vs. preprocessed data, and (ii) using different values of NA and NS. When the values of NA and NS increase, more data points are introduced into the dataset, leading to more overlapping among these data points. Figure 6 and Figure 7 show the performance of K-means++ using the parameters listed in Table 2.

Figure 6.

Figure 6

K-means++ accuracy for Simulation 1 parameters on unprocessed (UP) and preprocessed (P) data.

Figure 7.

Figure 7

K-means++ accuracy for Simulation 2 parameters on unprocessed (UP) and preprocessed (P) data.

As can be observed, a higher accuracy is achieved using the preprocessed data than that using the unprocessed data. This can be seen by comparing the average, and maximum and minimum accuracy for the two methods that use the preprocessed data versus unprocessed data, as shown in Figure 6. Using the raw data, the measurements associated with a specific target are sparse along the time axis. However, the velocity measurements from the same sensor are closely grouped along the velocity axis. These conditions contribute to incorrect clustering of the data. The preprocessing technique reduces the distance between target related measurements, therefore reducing the effect of the velocity measurements on the clustering.

A low accuracy is obtained for large values of NA and NS. This can be observed by comparing average, maximum and minimum accuracy for different NA and NS, as shown in Figure 6 and Figure 7. Similar to the unprocessed data, a large number of sensors/targets increases the density of measurement points. The concentration of measurements increases the probability that k-means/k-means++ clusters the data incorrectly (even with preprocessing).

5.2.2. DNN

The k-means++ fails to correctly cluster data when overlapping of measurements occurs. A deep neural networks (DNN) is used as an alternative approach because it has been shown to provide good results to uncover patterns for large dataset classification. One necessary condition for DNN is the availability of labeled datasets for training. To meet the requirements of DNN, it is assumed that labeled data is available for training.

The results for DNN are obtained using NA=50 targets and NS=50 sensors. Assuming that a portion of the data association has already been identified, the objective is to train a neural network to label the unidentified measurements. The number of ‘training’ sensors that provide labeled information and ‘testing’ sensors that provide unlabeled information are provided in Table 3. The accuracy is obtained for various proportions of ‘training’ sensors to ‘testing’ sensors. Table 3 also shows the accuracy obtained for different dataset configuration.

Table 3.

DNN with different training and testing datasets.

Train Sensors Test Sensors Train Accuracy Test Accuracy
20 30 98% 68%
25 25 97.8% 68%
30 20 99% 72%
40 10 98.6% 84.4%
45 5 98.9% 91.6%

It can be observed that the training (respectively, testing) accuracy is high (respectively, low), when the testing dataset is relatively small. However, when the testing dataset is relatively high, the testing performance increases significantly (up to 91%). A high training accuracy with a low testing accuracy means that DNN suffers from overfitting due to the small size of the training dataset. Given this comparison, DNN is applicable when a large portion of a training dataset is available to train the network for classifying a relatively small amount of measurements.

5.2.3. MLKM

K-means++ does not provide good accuracy for a high number of measurements but performs well when clustering small amounts of data. DNN can cluster large datasets but requires a large training dataset. MLKM combines the multi-layer back-propagation error correction from DNN and the clustering capabilities of k-means++. The DNN-inspired error correction significantly improves the performance of MLKM by preventing the clustering errors in layer 1 to propagate to the cluster association in layer 3.

The results for the MLKM method are obtained using NA=50 number of targets and NS=20 number of sensors. In addition, the time and velocity parameters are set to (tmin,tmax)=U(10,30) and (vmin,vmax)=N(50,40), receptively. Figure 8 shows the performance of the MLKM method with and without error correction, as well as results using the standard k-means++ method with preprocessing.

Figure 8.

Figure 8

K-means++ for preprocessed data (P:K-means++), multi-layer k-means++ (MLKM) without error correction (MLKM w/o EC) and MLKM with error correction (MLKM w/ EC).

It can be observed that a higher accuracy is achieved using MLKM than that using k-means++. Figure 8 shows the average, and maximum and minimum accuracy for both methods. The error correction performed in layer 2 improves the average accuracy of MLKM by approximately 7% (MLKM w/ EC 91.65%; MLKM w/o EC 84.3%).

5.3. G-MLKM Overall Performance

The results for the G-MLKM method are obtained using NA=20 number of targets and NS=10 number of sensors. In addition, the time and velocity parameters are set to (tmin,tmax)=U(0,40) and (vmin,vmax)=U(10,50), respectively. Figure 9 shows the performance of the G-MLKM algorithm with and without error correction.

Figure 9.

Figure 9

Accuracy obtained for graph based multi-layer k-means++ (G-MLKM) w/ EC and w/o EC.

It can be observed that a higher accuracy is achieved using G-MLKM with error correction than the result without error correction. Figure 9 shows the average, and maximum and minimum accuracy for both methods. The second error correction performed in the algorithm improves the average accuracy of G-MLKM by approximately 11% (G-MLKM w/ EC 92.2%; G-MLKM w/o EC 81%).

5.4. Matrix Output of the G-MLKM Algorithm

The proposed G-MLKM algorithm implements multiple (determined by the structure of road networks) permutation matrices Gints and L symmetric matrices GRi to represent the data cluster classification results at intersections and road segments, respectively. A detail example is illustrated to show the use of the proposed G-MLKM matrix output.

Suppose 5 targets (named as N1,N2,N3,N4,N5, respectively) go through the road network as shown in Figure 1 during a certain time. The trajectory ground truth is listed in Table 4. In particular, road segment R1 has three data groups denoted as {1,2,3}, R2 has six data groups denoted as {1,2,3,4,5,6}, R3 has five data groups denoted as {1,2,3,4,5}, R4 has three data groups denoted as {1,2,3}, R5 has one data groups denoted as {1}, and R6 has two data groups denoted as {1,2}.

Table 4.

Ground truth for five targets trajectories. The representation of Ai denotes the associated data group A in road segment Ri.

Target Trajectory Representation
N1 cR1R2R5R4R2R3 {11,12,15,34,62,53}
N2 R1R2R3 {21,22,13}
N3 R1R2R3 {31,32,23}
N4 R6R4R2R3 {16,14,42,33}
N5 R6R4R2R3 {26,24,52,43}

Take target N1 as an example, it travels through road segment R1,R2, then heads to road segment R5. After that, it keeps on moving through road segment R4,R2 and finally leaves the road network through road segment R3. The connections among associated data groups in each road segment that are related to target N1 is represented as {11,12,62,15,34,53}, which means data group 1 in road segment R1, data groups 1 and 6 in road segment R2, data group 1 in road segment R5, data group 3 in road segment R4, and data group 5 in road segment R3 all belong to the measurements extracted from target N1.

As the road segment R2 has two data groups belong to one target, the ideal matrix GR2R6×6 should be:

GR2=100001010000001000000100000010100001,

with respect to its data groups {1,2,3,4,5,6}. For the other road segments, the corresponding matrix GRi is an identity matrix related to its own data groups. Especially, GR1=I3×3, GR3=I3×3, GR4=I3×3, GR5=I1×1, and GR6=I2×2.

Let the intersection formed by road segments R6,R5, and R4 be denoted as a. The incoming dataset QIaR3×1 can be stored in the sequence of {15,16,26} and the outgoing dataset QOaR3×1 can be stored in the sequence of {14,24,34}. Therefore, the permutation matrix Ga may be determined as:

Ga=001100010.

Similarly, for the intersection formed by road segment R1,R2, and R4 (named as intersection b), matrix Gb may be determined as:

Gb=100000010000001000000100000010000001,

with QIbR6×1 stored in the sequence of {11, 21, 31, 14, 24, 34} and the outgoing dataset QObR6×1 in the sequence of {12, 22, 32, 42, 52, 62}. For the intersection formed by road segment R2,R3, and R5 (named as intersection c), Gc may be determined as:

Gc=000001100000010000001000000100000010,

with QIcR6×1 stored in the sequence of {12, 22, 32, 42, 52, 62} and the outgoing dataset QOcR6×1 in the sequence of {13, 23, 33, 43, 53,15}.

With these matrices determined, the output result from G-MLKM can be clearly presented.

6. Conclusions and Future Work

This paper studied data pattern recognition for multi-targets in a constrained space, where the data were the minimal information provided by spatially distributed sensors. In contrast to the existing methods that rely on probabilistic hypothesis estimation, we proposed to utilize the machine learning approach for the data correlation analysis. Two common data clustering algorithms, namely, k-means++ and deep neural network, were first analyzed for data association given a simplified constrained space. Then the MLKM method was proposed via leveraging the structure advantage of DNN and the unsupervised clustering capability of k-means++. After that, graph theory was introduced in the purpose of extending the scope of MLKM for a general constrained space. In particular, we proposed a p-dual graph for data association at intersections and merged the results from local spaces and intersections through the dual graph of the constrained space. Simulation studies were provided to demonstrate the performance of the MLKM method and the proposed G-MLKM. Our future work will focus on releasing the assumptions in this paper to improve G-MLKM in the scenarios of false alarms.

Some interesting future work includes experimental verification of the proposed new approach in real-world environments and the consideration of constraints such as packet dropout, communication limitations, and other quality of service (QoS) parameters in sensor networks.

Author Contributions

Methodology, F.T., R.S., J.V., and Y.C.; Writing, F.T., R.S., and J.V.; Editing, Y.C. and F.T.; Data Analysis and Visualization, F. T. and R.S.; Supervision, Y.C. All authors have read and agreed to the published version of the manuscript.

Funding

The work was supported by Office of Naval Research under grants N00014-17-1-2613 and N00014-19-1-2278.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, or in the decision to publish the results.

Footnotes

Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

References

  • 1.Vo B.N., Mallick M., Bar-shalom Y., Coraluppi S., Osborne R., Mahler R., Vo B.T. Wiley Encyclopedia of Electrical and Electronics Engineering. Wiley; Hoboken, NJ, USA: 2015. Multitarget tracking. [Google Scholar]
  • 2.Benfold B., Reid I. Stable multi-target tracking in real-time surveillance video; Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition; Colorado Springs, CO, USA. 20–25 June 2011; pp. 3457–3464. [Google Scholar]
  • 3.Haritaoglu I., Harwood D., Davis L.S. W4: Real-time surveillance of people and their activities. IEEE Trans. Pattern Anal. Mach. Intell. 2000;22:809–830. doi: 10.1109/34.868683. [DOI] [Google Scholar]
  • 4.Endsley M.R. Toward a theory of situation awareness in dynamic systems. Hum. Factors. 1995;37:32–64. doi: 10.1518/001872095779049543. [DOI] [Google Scholar]
  • 5.Pasula H., Russell S., Ostland M., Ritov Y. Tracking many objects with many sensors; Proceedings of the International Joint Conference on Artificial Intelligence; Stockholm, Sweden. 31 July–6 August 1999; pp. 1160–1171. [Google Scholar]
  • 6.Fortmann T., Bar-Shalom Y., Scheffe M. Sonar tracking of multiple targets using joint probabilistic data association. IEEE J. Ocean. Eng. 1983;8:173–184. doi: 10.1109/JOE.1983.1145560. [DOI] [Google Scholar]
  • 7.Singh J., Madhow U., Kumar R., Suri S., Cagley R. Tracking multiple targets using binary proximity sensors; Proceedings of the International Conference on Information Processing in Sensor Networks; Cambridge, MA, USA. 25–27 April 2007; pp. 529–538. [Google Scholar]
  • 8.Grisetti G. Robotics 2 Data Association. [(accessed on 1 December 2019)];2010 Available online: http://ais.informatik.uni-freiburg.de/teaching/ws09/robotics2/pdfs/rob2-11-dataassociation.pdf.
  • 9.Konstantinova P., Udvarev A., Semerdjiev T. A study of a target tracking algorithm using global nearest neighbor approach; Proceedings of the International Conference on Computer Systems and Technologies; Portland, OR, USA. 2–7 April 2003; pp. 290–295. [Google Scholar]
  • 10.Bar-Shalom Y., Willett P.K., Tian X. Tracking and Data Fusion. YBS Publishing; Storrs, CT, USA: 2011. [Google Scholar]
  • 11.Ma H., Ng B.W.H. Distributive JPDAF for multi-target tracking in wireless sensor networks; Proceedings of the IEEE Region 10 Conference; Hong Kong, China. 14–17 November 2006; pp. 1–4. [Google Scholar]
  • 12.Kim H., Chun J. JPDAS Multi-Target Tracking Algorithm for Cluster Bombs Tracking; Proceedings of the 2016 Progress in Electromagnetic Research Symposium; Shanghai, China. 8–11 August 2016; pp. 2552–2557. [Google Scholar]
  • 13.Yuhuan W., Jinkuan W., Bin W. A modified multi-target tracking algorithm based on joint probability data association and Gaussian particle filter; Proceedings of the World Congress on Intelligent Control and Automation; Shenyang, China. 29 June–4 July 2014; pp. 2500–2504. [Google Scholar]
  • 14.Blackman S.S. Multiple hypothesis tracking for multiple target tracking. IEEE Aerosp. Electron. Syst. Mag. 2004;19:309–332. doi: 10.1109/MAES.2004.1263228. [DOI] [Google Scholar]
  • 15.Cox I.J. A review of statistical data association techniques for motion correspondence. Int. J. Comput. Vis. 1993;10:53–66. doi: 10.1007/BF01440847. [DOI] [Google Scholar]
  • 16.Reid D. An algorithm for tracking multiple targets. IEEE Trans. Autom. Control. 1979;24:843–854. doi: 10.1109/TAC.1979.1102177. [DOI] [Google Scholar]
  • 17.Oh S., Russell S., Sastry S. Markov chain Monte Carlo data association for general multiple-target tracking problems; Proceedings of the 2004 43rd IEEE Conference on Decision and Control (CDC) (IEEE Cat. No. 04CH37601); Nassau, Bahamas. 14–17 December 2004; pp. 735–742. [Google Scholar]
  • 18.Granström K., Baum M., Reuter S. Extended Object Tracking: Introduction, Overview, and Applications. J. Adv. Inf. Fusion. 2017;12:139–174. [Google Scholar]
  • 19.Kanungo T., Mount D.M., Netanyahu N.S., Piatko C.D., Silverman R., Wu A.Y. An efficient k-means clustering algorithm: Analysis and implementation. IEEE Trans. Pattern Anal. Mach. Intell. 2002;24:881–892. doi: 10.1109/TPAMI.2002.1017616. [DOI] [Google Scholar]
  • 20.Postorino M.N., Versaci M. A geometric fuzzy-based approach for airport clustering. Adv. Fuzzy Syst. 2014;2014:201243. doi: 10.1155/2014/201243. [DOI] [Google Scholar]
  • 21.Arthur D., Vassilvitskii S. K-means++: The Advantages of Careful Seeding; Proceedings of the eighteenth annual ACM-SIAM symposium on Discrete algorithms; New Orleans, LA, USA. 7–9 January 2007; pp. 1027–1035. [Google Scholar]
  • 22.Hinton G.E. How Neural Networks Learn From Experience. Cogn. Model. 2002;267:181–195. doi: 10.1038/scientificamerican0992-144. [DOI] [PubMed] [Google Scholar]
  • 23.Einasto M., Liivamägi L., Saar E., Einasto J., Tempel E., Tago E., Martínez V. SDSS DR7 superclusters-Principal component analysis. Astron. Astrophys. 2011;535:A36. doi: 10.1051/0004-6361/201117529. [DOI] [Google Scholar]
  • 24.Arya S., Mount D.M., Netanyahu N., Silverman R., Wu A.Y. An optimal algorithm for approximate nearest neighbor searching in fixed dimensions; Proceedings of the ACM-SIAM Symposium on Discrete Algorithms; Arlington, TX, USA. 23–25 January 1994; pp. 573–582. [Google Scholar]
  • 25.Cao Y., Yu W., Ren W., Chen G. An overview of recent progress in the study of distributed multi-agent coordination. IEEE Trans. Ind. Informatics. 2013;9:427–438. doi: 10.1109/TII.2012.2219061. [DOI] [Google Scholar]
  • 26.Zhao P., Jia T., Qin K., Shan J., Jiao C. Statistical analysis on the evolution of OpenStreetMap road networks in Beijing. Phys. A Stat. Mech. Its Appl. 2015;420:59–72. doi: 10.1016/j.physa.2014.10.076. [DOI] [Google Scholar]
  • 27.Porta S., Crucitti P., Latora V. The network analysis of urban streets: A primal approach. Environ. Plan. B Plan. Des. 2006;33:705–725. doi: 10.1068/b32045. [DOI] [Google Scholar]
  • 28.Porta S., Crucitti P., Latora V. The network analysis of urban streets: A dual approach. Phys. A Stat. Mech. Its Appl. 2006;369:853–866. doi: 10.1016/j.physa.2005.12.063. [DOI] [Google Scholar]
  • 29.Kuhn H.W. The Hungarian method for the assignment problem. Nav. Res. Logist. (NRL) 1955;2:83–97. doi: 10.1002/nav.3800020109. [DOI] [Google Scholar]
  • 30.Tarjan R. Depth-first search and linear graph algorithms. SIAM J. Comput. 1972;1:146–160. doi: 10.1137/0201010. [DOI] [Google Scholar]

Associated Data

This section collects any data citations, data availability statements, or supplementary materials included in this article.

Data Availability Statement

Not applicable.


Articles from Sensors (Basel, Switzerland) are provided here courtesy of Multidisciplinary Digital Publishing Institute (MDPI)

RESOURCES