Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is...

72
Master of Science Thesis in Electrical Engineering Department of Electrical Engineering, Linköping University, 2017 Clustering for Multi-Target Tracking Jonas Hyllengren

Transcript of Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is...

Page 1: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

Master of Science Thesis in Electrical EngineeringDepartment of Electrical Engineering, Linköping University, 2017

Clustering for Multi-TargetTracking

Jonas Hyllengren

Page 2: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

Master of Science Thesis in Electrical Engineering

Clustering for Multi-Target Tracking

Jonas Hyllengren

LiTH-ISY-EX–17/5104–SE

Supervisors: Clas Veibäckisy, Linköping University

Per Boströmisy, Linköping University

Examiner: Gustaf Hendebyisy, Linköping University

Division of Automatic ControlDepartment of Electrical Engineering

Linköping UniversitySE-581 83 Linköping, Sweden

Copyright © 2017 Jonas Hyllengren

Page 3: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

Sammanfattning

Det här examensarbetet undersöker hur klustring kan minska beräkningskostna-derna för data-association in algoritmer för följning av multipla mål. Kostnads-minskningen uppnås genom att målspår från sensorer klustras med hjälp av ap-proximativa avstånd. Detta minskar antalet möjliga associationer och behovet avatt beräkna dyra statistiska avstånd mellan målspår.

Det studerade målföljnings-problemet kommer från scenarion som byggs uppav passiva och aktiva sensorer med inbyggda filter. Statistiska och icke-statistiskaavståndsfunktioner har tagits fram för alla kombinationer av sensor-dimensionaliteter.Beräkningskostnaderna och noggrannheterna för dessa avstånd evalueras ochjämförs.

Analysen har gjorts i en simulerad miljö med slumpmässigt positionerade måloch sensor-plattformar. Simuleringarna visade att de approximativa avståndenkunde beräknas tio gånger billigare än de statistiska avstånden med liten förlusti tillförlitlighet. Med hjälp av dessa avstånd kan spektralklustring dela upp kom-plexa associations-problem i subproblem. Under evaluering på slumpgenereradescenarion blev medelstorleken på det största subproblemet efter klustring 40 %av det ursprungliga problemet, och medelantalet målspår som klustrades fel blev5 %.

iii

Page 4: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,
Page 5: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

Abstract

This thesis presents a clustering-based approach to decrease the computationalcost of data association in multi-target tracking. This is achieved by clusteringthe sensor tracks using approximate distance functions, thereby decreasing thenumber of possible associations and the need to calculate expensive statisticaldistances between tracks.

The studied tracking problem includes passive and active sensors with built-in filters. Statistical and non-statistical distance functions were designed to ac-count for the characteristics of the different combinations of sensors. The com-putational cost and accuracy of these distance functions were evaluated and com-pared.

Analysis is done in a simulated environment with randomly positioned tar-gets and sensors. Simulations show that there are approximate distances with acost of calculation ten times cheaper than the true statistical distance, with onlyminor drops in accuracy. Spectral clustering is used on these distances to dividecomplex association problems into sub-problems. This algorithm is evaluated ona large number of random scenarios. The mean size of the largest sub-problemis 40 % of the original, and the mean number of errors in the clustering is 5 %.

v

Page 6: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,
Page 7: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

Acknowledgments

I want to give my greatest thanks to my supervisors Per Boström and Clas Veibäck.From the first formulation of the main ideas to the last read-troughs, their helphas been greatly appreciated. I also want to thank my examiner Gustaf Hendebyfor his early enthusiasm and his dedication. The people at Saab TDTD have mythanks for taking me in with open arms. Special mentions to Per-Johan Nordlundfor his deep insight and his literature tips, to Lars Pääjärvi for getting me goingand to Robert Hallberg for his ideas (and for teaching me Gurka). I want tothank my father Nils Hyllengren, who helped me proofread with great patience.Finally, I want to thank my mother Sofia Hyllengren and my grandmother AnnikaHyllengren for keeping me motivated and pulling me back on track.

- Linköping, November 2017- Jonas Hyllengren

vii

Page 8: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,
Page 9: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

Contents

Notation xi

1 Introduction 11.1 Purpose and objectives . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Delimitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Related work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.4 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Preliminaries 52.1 Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2 Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2.1 Sensor tracks . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2.2 Track predictions . . . . . . . . . . . . . . . . . . . . . . . . 8

2.3 Track association . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.A Transformations between coordinate systems . . . . . . . . . . . . 11

3 Clustering 153.1 Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.1.1 Density-based clustering . . . . . . . . . . . . . . . . . . . . 163.1.2 Spectral clustering . . . . . . . . . . . . . . . . . . . . . . . 18

3.2 Distance functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.2.1 Tracks of different dimensions . . . . . . . . . . . . . . . . . 203.2.2 3C-3C distance . . . . . . . . . . . . . . . . . . . . . . . . . 213.2.3 3C-2C distance . . . . . . . . . . . . . . . . . . . . . . . . . 223.2.4 2C-2C distance . . . . . . . . . . . . . . . . . . . . . . . . . 223.2.5 Summary of distances . . . . . . . . . . . . . . . . . . . . . 24

3.A A simple example of spectral clustering . . . . . . . . . . . . . . . 25

4 Method 274.1 Simulation environment . . . . . . . . . . . . . . . . . . . . . . . . 274.2 Distances and clustering . . . . . . . . . . . . . . . . . . . . . . . . 314.3 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.3.1 Distance evaluation . . . . . . . . . . . . . . . . . . . . . . . 32

ix

Page 10: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

x Contents

4.3.2 Clustering evaluation . . . . . . . . . . . . . . . . . . . . . . 33

5 Results 375.1 Computational costs of distance functions . . . . . . . . . . . . . . 375.2 Accuracy of distance functions . . . . . . . . . . . . . . . . . . . . . 385.3 Cost of distance matrices . . . . . . . . . . . . . . . . . . . . . . . . 395.4 Computational costs of clustering . . . . . . . . . . . . . . . . . . . 405.5 Accuracy of clustering . . . . . . . . . . . . . . . . . . . . . . . . . 425.6 A scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

6 Conclusions 536.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

6.1.1 Risk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546.1.2 Further development . . . . . . . . . . . . . . . . . . . . . . 54

6.2 Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556.3 Source criticism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

Bibliography 59

Page 11: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

Notation

Notations

Notation Description

x The kinematic state of a trackP State covariance matrixF Motion model state transition matrixQ Motion model process noise covariance matrixr Rangeθ Elevation angleφ Azimuth angler Range rate of changeθ Elevation angle rate of changeφ Azimuth angle rate of change

x, y, z Position in global coordinate systemx, y, z Velocity in global coordinate systemD Distance matrixd DistanceW Adjacency matrixw AdjacencyD Degree matrixd Degreeg Gate value

nmin Core neighbor minimum

xi

Page 12: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

xii Notation

Abbreviations

Acronym Meaning

mtt Multi-target trackingnp Non-deterministic, polynomial time (complexity

class)gnn Global nearest neighborjpda Joint-probabilistic data associationmht Multi-hypothesis trackingdbscan Density-based spatial clustering of applications with

noise3C Three coordinate (track)2C Two coordinate (track)2D Two dimensional (scenario)3D Three dimensional (scenario)

Page 13: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

1Introduction

This is a master’s thesis in electrical engineering. The thesis is examined at theDepartment of Electrical Engineering at Linköping University and has been writ-ten in cooperation with Saab Aeronautics.

In applications ranging from self-driving cars to missile defense, there is aneed to use information from multiple sensors to estimate the unknown posi-tion of multiple targets. There is a problem of association in this multi-sensormulti-target tracking (mtt): To which target estimate should a particular pieceof sensor information be associated? A central concept in data association is thedistance between pieces of data, which gives the likelihood that they originatedfrom the same target. These distances are used to associate “close” data to thesame target. The data association problem is challenging, and new methods arecontinuously designed to solve it more efficiently and accurately. This thesis stud-ies one promising such method: clustering.

Clustering algorithms could decrease the complexity of the data associationrequired in multi-target tracking by clustering the data in groups with low proba-bility of inter-group association. The data association can then be calculated sep-arately for each cluster. This will decrease the number of calculations requiredand make it possible to parallelize the problem. To improve performance, theclustering algorithm needs to be computationally inexpensive, so that the totalcost of clustering and the partial data associations is less than the cost of fulldata association. This would make multi-target tracking feasible in applicationswhere today’s algorithms are too slow.

Clustering has already been used successfully in multi-target tracking by oth-ers, but the designs are often based on the estimated tracks of earlier iterationsof the mtt algorithm. This thesis clusters all inputs of the mtt problem withoutdependencies on earlier tracks. It also tests more advanced clustering algorithmssuch as spectral clustering.

1

Page 14: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

2 1 Introduction

1.1 Purpose and objectives

The purpose of the thesis is to study if clustering algorithms can decrease the costof data association in multi-sensor, multi-target tracking problems.

The main objectives of the thesis are to:

• Create a simulation environment where algorithms for clustering can beevaluated.

• Implement different clustering algorithms and rate their performances interms of cost reduction and reliabilities.

• Find approximate functions for calculating the distances of data associationand evaluate how they affect the costs and results of clustering.

1.2 Delimitations

This thesis studies scenarios where active and passive sensors are used, as de-scribed in Section 2.2. The studied problem is completely memory-less: it onlyuses the latest sensor information and it disregards the previous association re-sults. All results are based on simulated scenarios.

1.3 Related work

Clustering is used in many mtt algorithms. In [16], clustering is used on fusedtracks from earlier iterations of the mtt algorithm and measurements from thesensors to break down their association into subproblems with lower computa-tional cost. The fused tracks are used as centra for clusters, and measurementswithin a certain gate distance of them are placed in the cluster of the track. Over-lapping clusters are merged. The mtt problem is then solved for each clusterseparately.

A similar clustering method is used during a step of Joint Probabilistic DataAssociation (jpda) [7], another algorithm for mtt. Instead of merging overlap-ping clusters, it allows sensor measurement to belong to multiple clusters. Thefused tracks are then updated with weighted residuals based on all the sensormeasurements in their clusters, with less weights given to measurements that areshared between multiple clusters.

These two clustering method are similar to the simplest clustering methodstudied in this thesis. However, the clustering algorithms studied in this thesisare applied to the sensor measurements directly, ignoring the fused tracks fromearliermtt iterations. This makes the algorithms time-invariant. This thesis alsoaims to cluster on a rougher and more global level, resulting in clusters that arelarger than what would be expected from e.g. jpda clusters. These larger clusterscan then be passed to an algorithms such as jpda. Also note the difference interminology: What [16] and [7] calls sensor measurements is called sensor tracksin this thesis.

Page 15: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

1.4 Outline 3

Other studies have used clustering without involving fused tracks from pre-vious iterations, in a way similar to this thesis but in more limited cases. In[4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements, and this reduces the cost of the mtt byup to two orders of magnitude. In [9], fuzzy clustering is used to achieve similarresults in a scenario with only range-and-bearing tracks and no missed or lost de-tections. Both papers show promising results, and this time-invariant clusteringseems to be a viable way to decrease the cost of mtt.

1.4 Outline

The thesis starts with the Preliminaries chapter. It will outline the studied sce-nario, its targets and sensor platforms, and the characteristics of the sensors andthe sensor tracks: the information units that are to be clustered and associated.The chapter also contains a description of the multi-sensor, multi-target assign-ment problem. The chapter appendix provides transformations between spheri-cal and Cartesian coordinates.

The Clustering chapter covers the three clustering algorithms that are studiedin this thesis: gated clustering, dbscan and spectral clustering. This chapter alsopresents the concept of distance between tracks. It discusses statistical distancesand their approximations and shows how these distances can be calculated fortracks of the same or different dimensionality.

The Method chapter presents how the results of the thesis were obtained. Itcovers how the random scenarios used to evaluate the clustering were generatedand simulated, how the distances and the clustering algorithms are implemented,and how the evaluations of the distances and the clustering were performed.

The Results chapter gives the reliability and computation cost of differentclustering algorithms. It also covers the cost and accuracy of the distance func-tions. The different approaches to clustering and distance are compared to findthe most effective algorithms. The effectiveness of clustering is illustrated in de-tail in one designed test scenario, to give intuition on the performance of thealgorithms.

Finally, the Conclusions chapter uses the results to evaluate clustering as atool to help solve mtt problems. It also discusses risks, pitfalls and possiblefuture work.

Page 16: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,
Page 17: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

2Preliminaries

The purpose of this chapter is to present the studied scenario. This begins with adescription of the targets and the sensor platforms, and continues with the char-acteristics of the sensors and the sensor tracks. The chapter closes with somefoundational target tracking theory. The appendix provides transformations be-tween spherical and Cartesian coordinates.

2.1 Scenario

Consider a number of moving sensor platforms with known positions and a num-ber of moving targets, all in three dimensional space. Each platform and targethas a state vector with six states: position and velocity in x, y and z-coordinates.The sensors of the platforms provide tracks based on the state vectors of the tar-gets (subjected to noise), and the goal is to calculate a good estimate of the truestates of each target from this information.

Figure 2.1 shows a simple example scenario. The goal is to estimate the un-known state vectors of the targets from the known information about the tracksand platforms.

2.2 Sensors

The problem of estimating the true state of the targets is highly dependent onthe nature of the sensors. In this thesis, it is assumed that each platform has twosensors. A sketch of each sensor is shown in Figure 2.2. The first one is called the3C sensor (or 3-coordinate sensor). This sensor measures three values for eachdetected target: the range to the target, i.e., distance from the sensor to the target(in meters), azimuth angle of the target (in radians) and elevation angle of the

5

Page 18: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

6 2 Preliminaries

Figure 2.1: A picture of a possible situation. Two platforms (blue triangles)tracks two targets (red triangles). Each platform has a sensor which givesdirection and range (blue arrow), and a sensor which gives direction only(orange arrow).

target (in radians). The second sensor is the 2C sensor (2-coordinate sensor). Itmeasures the azimuth angle (in radians) and elevation angle (in radians), but therange is unknown. Other names for these sensor types, that are used by othersources, are range-and-bearing/active sensor and bearing-only/passive sensor.

2.2.1 Sensor tracks

It is given that each sensor contains a sensor-specific filter. These filters take theraw measurements generated by the sensor as it observes a target and returnsthe estimated states of the target based on the sensor measurements and internalmodels (for simplicity, the reader may regard these filters as standard Kalmanfilters). Therefore, in addition to the target states directly observed by the sensor,the rate of change in these states are provided as well. The filters also provideuncertainties in all states. This information, i.e., the estimated states along withthe uncertainty estimate, is called a sensor track. Tracks are the basic informationunit of this thesis. The preceding, sensor-internal steps are irrelevant for theresults.

A track is the noisy output of a sensor’s measurement of a target’s state vector.Each track has a sensor of origin and an unknown target of origin, and the pur-pose of the data association is to associate tracks with the same unknown target

Page 19: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

2.2 Sensors 7

Figure 2.2: The two different kinds of sensors

of origin.A track between a sensor and a target are updated as new measurements ar-

rive. It is possible to use any combinations of these updates in the calculation ofthe association, but only the most recent one is used in this thesis, as it is limitedto memory-less algorithms.

Each sensor can provide multiple tracks, as there might be multiple targetspresent. There is a probability that a target goes undetected by a sensor, andno track from that sensor is then provided of that target. The sensor tracks areupdated as new sensor data becomes available. Therefore, different tracks mightbe asynchronous as they have been updated at different times.

A sensor track is given by a multivariate Gaussian variable with mean xlocaland covariance Plocal in the local spherical coordinate system of the platform oforigin. Both the 3C and 2C cases are shown in Figure 2.3.

The estimated states for a 3C track are given as

xlocal =

rθφrθφ

(2.1)

Here, r is the estimated range from platform to target in meters, θ is the altitudeangle of the target and φ is the azimuth angle of the target. 2C tracks exclude

Page 20: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

8 2 Preliminaries

Figure 2.3: States for 3C (left) and 2C (right) tracks

r and r but are otherwise similar. When work is done with the sensor tracks,it is often necessary to transform them into different coordinate systems. Thesetransformations are covered in Appendix 2.A.

2.2.2 Track predictions

The sensors make measurements asynchronously, which means that differenttracks might have been updated at different times. Each track has a time stampindicating when its information was most recently updated. When tracks withdifferent time stamps are compared, an extra error is introduced by the timedifference. Figure 2.4 illustrates the asynchronous tracks and strategies to handlethem.

Figure 2.4: Left: A Platform, a target and three tracks with different timesof origin. Center: Predicting all tracks to the current time t = 3. Right:Predicting tracks on a pairwise basis.

If a 3C track is known at time t, its future state xt+t∆ at time t + t∆ can bepredicted with the help of a motion model. This thesis uses the linear constant-velocity motion model [8]. The prediction equation for a 3C track in local coordi-nates is given as

Page 21: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

2.3 Track association 9

xt+t∆ =

rt+t∆θt+t∆φt+t∆rt+t∆θt+t∆φt+t∆

= Ft∆xt =

rt + t∆ rtθt + t∆θtφt + t∆φt

rθφ

(2.2)

The equation for the 2C tracks is obtained if r and r is removed from (2.2). Itcan be expected that predictions increase the uncertainties of the estimates. Thecovariance of the prediction, Pt+t∆ , is obtained as Pt+t∆ = Ft∆PtF

Tt∆

+ Qt∆ , whereQt∆ is the covariance of the process noise added during the period t∆. If the trackshave been transformed to Cartesian coordinates, a Cartesian motion model canbe used to do predictions.

As there are time differences between tracks, prediction becomes a way toachieve a more accurate similarity measurement. Two tracks with a time differ-ence might be pointing at two different regions of space, but this merely reflectsthe movement of the target and/or the platform in the period between the up-dates of the tracks. If the older track is predicted to the time of the newer (orthe newer is retrodicted), the tracks should end up closer. But the predictionsintroduce cost and complexity to the calculations. It might also be hard to obtainan accurate motion model.

The simplest approach for handling time differences of tracks is to do noth-ing. This means that predictions are not used, and it will work when the timedifferences are small compared to the inter-track differences, but fails when thetime difference is too large. Not using predictions also makes the uncertaintiesof older tracks artificially small, as their increase with time is ignored.

Another approach is to do full predictions, i.e., do the predictions in eachand every distance calculation. At the beginning of each such calculation, theoldest track can be predicted to the time of the newest track. This approach hasthe highest accuracy, but it is costly, as each track-to-track comparison includes aprediction.

A third approach is to predict all tracks to a given time. This might lead tounnecessarily large uncertainties when comparing two old tracks, especially ifthe process noise is high, but it decreases the cost compared to the prediction-at-comparison approach.

2.3 Track association

To get a good estimate of the state of each target, all tracks of a certain targetcan be fused with a sensor fusion algorithm. To do this, it must be determinedhow the tracks are associated, i.e., which tracks belong to the same target. Thisassociation problem is studied in this thesis, and attempts will be made to useclustering as an approximation that allows competent association of the targettracks while decreasing the computational costs.

Page 22: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

10 2 Preliminaries

An understanding of the clustering require some insight in the underlyingassociation problem. Here a brief description is given, a much more in-depthstudy is given in [15].

Consider an association problem in which multiple platforms are trackingmultiple targets. Each platform has one 3C sensor which provides 3C tracks andone 2C sensor which provides 2C tracks. Define a hypothesis as a way to assignevery track a target identity corresponding to the target that is believed to be theorigin of the track. A simple example of a hypothesis is to assign each sensortrack to a unique target, i.e., each track is believed to originate from a differenttarget. The goal of association is to find the best possible hypothesis.

A likelihood-based score can be used to rank hypotheses. Given some assump-tions about the behavior of the sensors and the targets, the score of a hypothesiscan be calculated from the states and covariances of the tracks. This is derived in[2]. The equation for hypothesis score is not used directly in this thesis, but thebasis of hypotheses with scores is used to reason on the effect of clustering on thelater association step.

With two sensors the data association can be done by linear assignment: cal-culate the distance between all tracks from the first sensor and all tracks fromthe second sensor. Then use an assignment algorithm, such as the Hungarianmethod from [11], to find the optimal pairing of tracks. But solving the data asso-ciation problem for cases with three or more sensors (with a non-trivial amountof tracks each) is a multi-dimensional assignment problem, which suffers fromnon-deterministic polynomial-time (np) hardness [15]. This means that thereare no known algorithms that find the hypothesis with the lowest score in poly-nomial time. In practical applications, the data association problem is solvedapproximately by heuristics. This is much less computationally expensive thansolving the problem optimally, but these heuristics still requires significant com-putational resources if they are to find good approximate solutions to non-trivialproblems.

Many different heuristics have been designed to solve the association prob-lem. Some main approaches are covered in [3]. These include the Global NearestNeighbor (gnn) method which builds a solution by adding sensors one-by-one,solving the linear assignment problem optimally for each one, jpda which wasdiscussed in Section 1.3 and Multi-Hypothesis Tracking (mht) which uses thetop solutions to the linear assignment problems of the gnn method to grow andprune a tree of hypotheses in search of a good final hypothesis. The clusteringalgorithm proposed in this thesis can be regarded as a pre-step to any of these al-gorithms. The goal of clustering is to cheaply break down an association probleminto many smaller problems, that can be passed on to any association algorithm.

Page 23: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

Appendix

2.A Transformations between coordinate systems

Tracks are given in spherical coordinates with the originating sensor platformas reference. To compare tracks from different sensor platforms, they must betransformed from their different local coordinate system to a common coordinatesystem. A natural choice of common coordinate system are the global Cartesiancoordinates used for the positions of the platforms.

There is a need for both spherical-to-Cartesian and Cartesian-to-sphericaltransformations. The transformations must apply to both the state estimates andthe covariances. An extensive description of Cartesian-to-spherical and spherical-to-Cartesian transformations is given in [10] (which uses a slightly different no-tation). Using this as a foundation, our track states are transformed according tothe equations below.

A 3C track describes a point in space with uncertainties in local coordinatesystem of the platform of origin. It can be transformed to global Cartesian coor-dinates. After the transformation, the state of the track is defined as

xglobal =

xyzxyz

(2.3)

This transformation uses the state of the origin platform of the track in globalcoordinates, which is provided by the track. This state is given as

xplatform =

xplatformyplatformzplatformxplatformyplatformzplatform

(2.4)

11

Page 24: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

12 2 Preliminaries

Given this information, a 3C track can be transformed from local to global coor-dinates by a function h(xlocal) according to

xglobal =

xyzxyz

= xplatform+h(xlocal) = xplatform+

r sin θ cosφr sin θ sinφr cos θ

r sin θ cosφ − φr sin θ sinφ + θr cos θ cosφr sin θ sinφ + φr sin θ cosφ + θr cos θ sinφ

r cos θ − θr sin θ

(2.5)

Transforming a 3C track from global to local coordinates of some platform withglobal coordinates xplatform is useful when comparing 3C and 2C tracks of differ-ent platforms. Let x∆ = xglobal − xplatform. Then the transform function g(x∆) canbe defined as

xlocal =

rθφrθφ

= g(x∆) =

√x2∆

+ y2∆

+ z2∆

π2 − arctan z∆√

x2∆

+y2∆

arctan y∆x∆

(x∆x∆ + yy∆ + z∆ ˙z∆)/r

(z∆ r − r ˙z∆)/(r√x2∆

+ y2∆

)

(x∆y∆ − y∆x∆)/(x2∆

+ y2∆

)

(2.6)

2C tracks require a different approach. A 2C track can be seen as a line segment inspace. The line segment has one end point in the platform-of-origin. A Cartesiandirection vector of the line segment can be calculated from the spherical track, inthe same way as the 3C spherical-to-Cartesian-transformation, using an arbitraryvalue of r. Another line segment end point can then be placed at the direction ofthe track and the max range of the sensor (or some very large distance if this isunknown). These two points can then be used as a representation of the track inglobal Cartesian coordinates. Section 3.2.4 uses these Cartesian line segments tocalculate distances between 2C tracks.

Covariances

The nonlinearities in the transformations make it impossible to transform thecovariances without distortions. Different approaches are possible to minimizethe distortions while keeping computational costs low.

One method for covariance transformations is to linearize using a Jacobianmatrix [10]. Figure 2.5 shows an example of such a transformation. The elementsof the Jabobian matricesH and G of the transform function h(xlocal) and g(x∆) canbe calculated according to Hi,j = δhi

δxjand Gi,j = δgi

δxjrespectively. The transformed

covariance is then given as

Plocal = GPglobalGT (2.7)

Page 25: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

2.A Transformations between coordinate systems 13

Figure 2.5: The blue dots are 3C tracks originating from a platform (reddot) to the left. The distribution of the tracks have low range but high anglevariance. The red ellipse is the estimated covariance after transformation toCartesian coordinates. Note that the transformation is far from perfect asthe variance in angle fails to linearize to Cartesian coordinates.

Pglobal = HPlocalHT (2.8)

For an explicit formula of the elements of the Jacobian matrix, refer to [10].

Page 26: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,
Page 27: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

3Clustering

The purpose of this chapter is to present the theory behind the clustering algo-rithms used in the thesis. Three clustering algorithms are presented: gated clus-tering, Density-Based Spatial Clustering of Applications with Noise (dbscan)and spectral clustering. The clustering is based on distances between tracks, andthe theory of these distances is also shown.

The clustering is complicated by several factors. The two different sensortypes gives tracks with different dimensionality. To enable clustering, ways tocalculate the distance between these different tracks are needed. In addition, notall targets might be visible for all sensors at all times, and the tracks are updatedby the sensor filters at irregular intervals, which means that some tracks containsold information.

3.1 Clustering

Cluster analysis is the task of dividing a set of objects into groups, such that sim-ilar objects are placed in the same group. A good introduction to the field anda presentation of many different clustering algorithms can be found in [1]. Thenature of the problem studied in this thesis limits the choice of clustering algo-rithms. Algorithms such as the popular k-means clustering requires the calcula-tion of means of data objects. As the objects of this application are tracks that canbe either 3C or 2C, i.e., they have different number of dimensions, their means areimpossible to compare and these clustering algorithms become unwieldy. Otheralgorithms not handled here include what [1] defines as probabilistic and gener-ative models, a large class of algorithms to which k-means clustering belongs.

To avoid problems such as the ones mentioned above, this thesis studies clus-tering algorithms that only operate on distances between objects. If distance func-tions are defined between any two tracks, regardless if they are 3C or 2C, these

15

Page 28: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

16 3 Clustering

X =

1 11 22 14 45 4

D =

0 1 1 4.24 5

.. . . 1.41 3.61 4.47

. .. . . 3.61 4.24

. . .. . . 1

. . . . 0

Figure 3.1: A clustering problem. A scenario with five two-dimensional ob-jects are plotted to the left. Each row in X gives the coordinates of an object.The distance matrix D gives the Euclidean distance between objects. D canbe used to cluster the scenario without knowledge of X.

distance-based clustering algorithms can operate on the distances and ignore thetroublesome nature of the tracks themselves. This turns the clustering probleminto a two step process: First, distances are calculated between tracks. Second,clustering is done on the distances. These steps are independent which decou-ples the search for good clustering algorithms and the search for good distancefunctions.

Two main classes of clustering algorithms that operate on distances exclu-sively are presented in [1], spectral algorithms and density-based algorithms.

If all distances of a scenario are calculated, they order into a matrix. Thisdistance matrix D contains elements di,j that are the distance between track i

and track j. The distance matrix can be calculated in O(n2) time by iteratingover all tracks, and calculating the distance to all remaining tracks. The distancematrix is symmetric, as the distance di,j = dj,i . Figure 3.1 gives a simple exampleof a clustering problem and its distance matrix.

3.1.1 Density-based clustering

Density-based clustering is a large family of algorithms that use gate distance pa-rameters to cluster objects. The distance between two tracks is compared to thegate distance to decide if they are considered to be adjacent or not. Density-basedalgorithms make no assumptions about the distribution of the data as they onlyrequire the distances between data objects, and they can be used to find arbitrar-ily shaped clusters. Two density-based algorithms are evaluated in this thesis:a simple gated algorithm and a more advanced algorithm based on dbscan. Amore extensive coverage of density-based algorithms can be found in [1].

Gated clustering is done according to a simple algorithm. It places all tracks

Page 29: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

3.1 Clustering 17

that are within a given gate distance from each other in the same cluster. The re-sulting clusters will contain no tracks that are within the gate distance of anothercluster. This algorithm can be seen as a sub-case of hierarchical clustering from[1]. A simple scenario that illustrates the effect of gated clustering is shown inFigure 3.2.

Figure 3.2: Left shows a simple 2D scenario. Right shows the same scenarioclustered with gated clustering. Colors indicate cluster identity. The gatewas set to 0.6. Note that all tracks are within gate distance to another trackof the same cluster, and outside of gate distance to tracks of another cluster.

An algorithm for gated clustering is given in Algorithm 1.dbscan is a more advanced density-based clustering algorithm. The algo-

rithm is detailed in [5], but this thesis will offer an alternative description. db-scan has been modified slightly in this thesis. The original dbscan handlesoutlier objects. This handling is unnecessary for the purposes of this thesis sinceall tracks are assumed to originate from a target, i.e., no tracks are outliers. There-fore, this thesis uses a modified dbscan algorithm without outlier handling.dbscan uses two parameters, a gate value g and a core neighbor minimum

nmin. It works in two steps. First, it iterates over all tracks. For each, it calculatesthe distances to all other tracks. Then it checks how many of these distances arebelow g. If equal or more than nmin distances are under g, it denotes the selectedtrack as core track. A simple scenario and its core tracks are shown in Figure 3.3.

When all tracks have been checked to see if they are core tracks, the next stepbegins. The core tracks are clustered with the simple gated clustering. Then eachnon-core track is assigned to the cluster of the closest core track. This separationof core and non-core tracks makes dbscan less sensitive to partially overlappingclusters than gated clustering.

A core part of density-based algorithms is finding good gate values. The pro-cess used to find the gate values of this thesis is presented in Section 4.2.

Page 30: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

18 3 Clustering

Algorithm 1: Gated Clustering

foreach track doif track is not assigned to a cluster then

Assign track to new cluster;endforeach track with unknown distance to first track do

Calculate distance;if distance between tracks is below gate then

if second track is assigned to a cluster thenMerge clusters of first and second track;

elsePut the second track in the same cluster as the first;

endend

endend

3.1.2 Spectral clustering

Another class of clustering algorithms that operate on distance matrices is spec-tral algorithms. Spectral methods are classified as a subclass to the larger class ofdimensionality reduction methods by [1]. The goal of this larger class of methodsis to reduce the number of dimensions in the data while minimizing the loss ofinformation. Once the data has been compressed, the problem can be solved withsimple clustering algorithms such as k-means.

Spectral methods use the eigenvectors of the distance matrix to reduce thedimensionality of the problem. An in-depth explanation of spectral clusteringalgorithms is given in [19]. It presents three different variants: unnormalizedspectral clustering and two variants of normalized spectral clustering taken from[18] and [14]. This chapter will only present the theory behind unnormalizedspectral clustering since the similarity between them is large, but all three algo-rithms were tested. This thesis uses spectral clustering to refer to unnormalizedspectral clustering unless expressly noted.

Spectral clustering as done by [19] requires that the number of desired clus-ters is set at the beginning of the clustering. Choosing this parameter is tricky.This issue is discussed in detail in [19]. In this thesis, this number was chosen bytrial-and-error over multiple simulated scenarios.

Starting from a distance matrix and a desired number of final clusters k, spec-tral clustering is done in four steps, presented in algorithm 2.

An example of this process is given in Appendix 3.A.The adjacency matrix W is calculated in the first step. Just as the distance

matrix, each element wi,j in the adjacency matrix contains the information aboutthe distance between track i and track j, but the adjacency matrix uses valuesclose to 1 to indicate a small distance and values close to 0 to indicate a large

Page 31: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

3.1 Clustering 19

Figure 3.3: Left shows a simple 2D scenario. Right shows the same scenariobut dbscan core objects have been marked with circles. The gate value g is1 and the core neighbor minimum nmin is 7.

Algorithm 2: Spectral Clustering

1 Use the distance matrix to calculate the adjacency matrix W ;2 Use W to calculate the unnormalized Laplacian matrix L;3 Calculate the k eigenvectors of L that has the smallest magnitude;4 Create objects from the corresponding elements in each eigenvector and

cluster them into k clusters with a simple algorithm such as k-means;

distance. Many ways to calculate W from D are proposed in [19], this thesis uses

wi,j = exp(−di,jα

)(3.1)

It is trivial to see that wi,j under (3.1) approaches 1 as di,j approaches 0, andwi,j approaches 0 as di,j grows. The parameter α adjusts the range in which theadjacency is the most sensitive to variations in distance. It can be compared tothe gate value of the density-based algorithms as it in practice gates distancesdissimilar from itself, since di,j � α =⇒ wi,j ≈ 1 and di,j � α =⇒ wi,j ≈ 0.

The second step calculates the unnormalized Laplacian matrix L. First thedegree matrix D is created as a diagonal matrix with the same size as W andelements given by

di,i =∑J

wi,j (3.2)

Then L is calculated as

Page 32: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

20 3 Clustering

L = D −W (3.3)

In the third step the smallest magnitude eigenvectors are calculated. In [19], anumber of eigenvalues equal to the desired number of clusters are calculated(but this is somewhat arbitrary and less or more eigenvalues could be used). Amatrix is created with the eigenvectors as columns. The rows of this matrix arethe objects in reduced dimensionality, and the distance between them can becalculated with the standard Euclidean distance defined in Section 3.2.2.

In the fourth and final step the reduced problem is clustered. The objects ofthe reduced problem are nice k-dimensional points instead of 3C and 3C tracks,which means that the final clustering can be done with any algorithm. The k-means algorithm is used by [19] and in this thesis.

3.2 Distance functions

It seems intuitive that tracks that are “far apart” are less likely to originate fromthe same target than tracks that are close together. A distance function is a wayto quantify this degree of which two tracks seem to originate from the same tar-get. This measure of proximity is then used by the clustering algorithm to deter-mine if the tracks should be grouped together or not. Some algorithms, such asdbscan, only require a binary “possibly related”/“not related” distance betweentracks. Others, such as spectral methods, operate on continuous distances.

Distance functions can be roughly divided into statistical and non-statisticalfunctions, where statistical ones take the uncertainties of the tracks into consider-ation in some way, and non-statistical do not. Non-statistical functions are oftencheaper, but the non-use of the uncertainties makes them less precise.

3.2.1 Tracks of different dimensions

For clustering to work, it must be possible to calculate the distance between allpossible pairs of tracks. This means that a distance must be defined for all combi-nations of different-dimensional tracks. Analysis identifies three cases that needdistinct distance functions:

• A pair of 3C tracks from different platforms

• A 3C and a 2C track from same or different platforms

• A pair of 2C tracks from different platforms

These three cases are shown in Figure 3.4. The geometries of these situations arequite different. (Since a platform only has one 3C and one 2C sensor, there willnever be cases with two 3C or 2C tracks from the same platform. In a scenariowhere platforms have more than one of the sensor types, the case with two 3C

tracks from the same platform can be handled as the case with 3C from differ-ent platforms, and the case with two 2C tracks from the same platform can behandled similar to the 3C-2C case.)

Page 33: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

3.2 Distance functions 21

Figure 3.4: The three distance cases. Left shows distance between 3C tracksas a distance in space. Middle shows distance between a 3C and a 2C trackas an angle. Right shows distance between 2C tracks, which is discussed inSection 3.2.4.

For pairs of 3C tracks, each track is represented as a point in 3D space. Ifthe tracks are transformed to global coordinates, they can be compared withoutmuch trouble.

Distances between 3C and 2C tracks cannot be calculated in the same way asthe 3C pair case. Instead, it is given as the difference in angle. The 3C track canbe translated to share the platform of origin of the 2C track (if not already there),after which the angular difference can be calculated.

2C tracks from different platforms can be regarded as two lines in 3D space.An effective distance function is harder to find than in the other two cases, andthe description of this case is last in this chapter.

The clustering algorithms are unaware of the different distance functions andtreats all distances the same. The different distance functions must therefore behandled in some way to achieve similar distance distributions. This is detailed inSection 4.2.

3.2.2 3C-3C distance

The Euclidean distance is what we commonly refer to as distance. It was firstdescribed in [6]. The Euclidean distance between two 3C tracks x1 and x2 can becalculated from their Cartesian coordinates, xi = (xi , yi , zi) as

x∆ = (x∆, y∆, z∆) = x1 − x2 = (x1 − x2, y1 − y2, z1 − z2) (3.4)

d3D

=√x2∆

+ y2∆

+ z2∆

(3.5)

As many clustering algorithms only care about the relative size of distances, orhow the distances compare to some thresholds, the square root can be omitted in

Page 34: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

22 3 Clustering

practice to reduce computational cost. This gives the squared Euclidean distancewhich only contains multiplications and additions, making it very cheap.

To account for the uncertainties when calculating the dissimilarity betweentwo 3C tracks, the Mahalanobis distance can be used. The Mahalanobis distanceas described in [12] gives the distance between two normal distributions. If two3C tracks are transformed into global coordinates, the Mahalanobis distance be-comes

dMahalanobis = (x1 − x2)(P1 + P2)−1(x1 − x2) (3.6)

Here xn is the estimated state of track n and Pn the covariance matrix of theestimate.

3.2.3 3C-2C distance

An intuitive distance for the 2C-3C case is the angle distance. It can be calculatedas the smallest angle between the two tracks. It can be calculated by transformingthe 3C track to the spherical coordinate system of the 2C track. For spherical co-ordinates in Euclidean geometry, the smallest angle between two tracks (θ1, φ1),(θ2, φ2) becomes

d2D

= arccos (sin θ1 sin θ2 cos (φ1 − φ2) + cos θ1 cos θ2) (3.7)

This is derived by normalizing the tracks to vectors on the unit sphere and takingtheir dot product, which gives the smallest angle between the vectors. As withthe 3C case above, the distance can be made cheaper if only the relative sizeor comparisons to thresholds are needed. In these cases arccos(x) approximatesto −x. This can be used to remove the need for the arccos from the distancecalculation.

A statistical Mahalanobis distance for the 3C-2C case can be calculated in thesame way as the 3C-3C Mahalanobis distance, but with the difference in azimuthand elevation as the states.

3.2.4 2C-2C distance

The dissimilarity between 2C tracks from different platforms is harder to calcu-late. It is not clear how to rigorously define this distance, and many methods canbe envisioned. These distances also suffer from the problem of ghosting, illus-trated in Figure 3.5. Ghosting occurs when multiple platforms and targets are inroughly the same plane. This can make the distance between two tracks small(since two lines in the same plane are bound to cross somewhere) even thoughtheir targets of origin are far away from each other. This lowers the expectedaccuracy of 2C-2C distances.

There are many possible methods to calculate distances between 2C tracks.This thesis studies a selection, presented here.

The line-line angle method sees two 2C tracks as line segments originatingfrom their respective platforms. Then it uses the point in space that are as close

Page 35: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

3.2 Distance functions 23

Figure 3.5: Two platforms (blue) tracks two targets(red) using three 2C

tracks. Ghosting occurs if all platforms and targets are in roughly the sameplane, as the unrelated-but-crossing 2C tracks creates a ghost target (red out-line).

as possible to both line segments. The angle difference between the tracks andthe azimuth and elevation of this point can then be used to calculate two Maha-lanobis distances, which can then be summed to a total distance.

The line-line 3C-3C method uses the points where the line segments are clos-est to each other as range estimates with large range uncertainties. Using theserange estimates means that the distance between the tracks can then be calcu-lated with one of the 3C methods above. The line-line 3C-3C method uses theMahalanobis distance.

The Euclidean method is the same as the line-line 3C-3C method except thatthe Euclidean 3C method is used instead. It is illustrated to the left in Figure 3.6.

Figure 3.6: Left picture illustrates how distances between 2C tracks can becalculated as a distance between two lines. Right illustrates how the dis-tances can be calculated as an angle between two planes.

The halfway 3C-3C method treats the two 2C tracks as 3C tracks with somearbitrary range reading and a very large range uncertainty. This is expected to be

Page 36: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

24 3 Clustering

computationally cheaper than the two methods above, since it removes the needto calculate the closest points of line segments.

The plane angles method creates one plane for each track that contains the 2Ctrack vector and the line between the two platforms. This is shown to the rightin Figure 3.6. The angle between the two planes can then be compared. This isexpected to be the cheapest method. The idea of this method is taken from [4].

3.2.5 Summary of distances

The different types of distances are:

• 3C-3C distances:

– Mahalanobis

– Euclidean

• 3C-2C distances:

– Mahalanobis

– angle

• 2C-2C distances:

– line-line angles

– line-line 3C-3C

– halfway 3C-3C

– Euclidean

– plane angles

Page 37: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

Appendix

3.A A simple example of spectral clustering

This is a simple example of spectral clustering. It builds on the scenario presentedin Figure 3.1. The distance matrix of the scenario is given by

D =

0 1 1 4.24 51 0 1.41 3.61 4.471 1.41 0 3.61 4.24

4.24 3.61 3.61 0 15 4.47 4.24 1 0

.

Using α = 1, which is reasonable since our distances are in the magnitude of 1,the adjacency matrix W is calculated as

W =

1.00 0.37 0.37 0.01 0.010.37 1.00 0.24 0.03 0.010.37 0.24 1.00 0.03 0.010.01 0.03 0.03 1.00 0.370.01 0.01 0.01 0.37 1.00

.

The unnormalized Laplacian of W is given by

L =

0.76 −0.37 −0.37 −0.01 −0.01−0.37 0.65 −0.24 −0.03 −0.01−0.37 −0.24 0.65 −0.03 −0.01−0.01 −0.03 −0.03 0.44 −0.37−0.01 −0.01 −0.01 −0.37 0.40

.

The scenario is very small, so only two clusters are desired. Therefore, the twoeigenvectors with smallest magnitude w1 and w2 is obtained from L.

25

Page 38: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

26 3 Clustering

w1 =

−0.38−0.36−0.360.520.57

, w2 =

0.450.450.450.450.45

This gives five two-dimensional objects. They are easily grouped in two around[−0.37 0.45

](top three objects) and

[0.54 0.45

](bottom two objects). This cor-

responds to the bottom-left and top-right clusters easily seen in the original sce-nario.

Page 39: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

4Method

This chapter presents how the results of the thesis were obtained. This was donein a four step process:

• Scenarios with platforms, targets and tracks were generated from a simu-lated environment.

• The distances from Section 3.2 were calculated between the tracks.

• The clustering algorithms from Section 3.1 used the distances to cluster thetracks.

• The results of the distance calculations and of the clustering algorithmswere evaluated.

All calculations were performed on a computer with an Intel i5-2520M, 2.50GHzCPU and 3.8 GB RAM. The computer used Ubuntu 16.04 LTS as OS. All code waswritten and executed with MATLAB R2016b [13]. Parallel computing was notused.

4.1 Simulation environment

A simulation environment was created as a way to obtain a realistic set of sensortracks on which different distance functions and clustering algorithms can betested. The environment simulates a scenario of moving platforms and targetsover time, and generates sensor tracks from them. The set of sensor tracks isthen used as input for different clustering algorithms. To visualize the generatedscenarios, functions were written to plot the generated platforms, targets andtracks. A plot of a simple example from the simulation environment is shown inFigure 4.1.

27

Page 40: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

28 4 Method

Figure 4.1: A simulation of a scenario with one platform and two targets. A3C track was generated from the platform and the first target. A 2C trackwas generated from the platform and the second target. (Note that the envi-ronment is 3D, here seen from above.)

The environment generates a set of tracks from a scenario. The movementof the platforms and targets in the scenario are simulated over time. Tracks aregenerated from all possible platform-target pairs at each instant of simulation.The track set contains a mix of tracks from the 3C and 2C sensors. The finalinstant of the simulation is used as a snapshot of a possible scenario.

It is possible to use pre-programmed scenarios or to generate scenarios ran-domly. In random scenarios, platforms and targets are created in groups. Agroup contains a number (possibly one) of platforms or targets that are spatiallyclose, i.e., have similar state vectors. A set of parameters decides the number andsize of groups, and how close platforms or targets in the same group are located.The platforms and targets are created in groups as this emulates common real-lifesituations. The random scenarios make it possible to rapidly test the clusteringalgorithms on many different cases, which is useful in the later evaluation. Arandomly generated scenario is shown in Figure 4.2.

The tracks are given in the local coordinates of the originating platform asdescribed in Section 2.2.1. Table 4.1 summarizes the information contained in atrack.

Page 41: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

4.1 Simulation environment 29

Figure 4.2: Left shows platforms and targets of a random scenario from thesimulation script. The scenario is shown from the z-axis direction. Thereare 4 platforms (blue circles) and 42 targets (red circles). Middle shows thesame scenario with all 3C tracks to a certain target plotted as red crosseswith lines to their platform of origin. Right zooms in on the tracks. The 3C

track crosses can be seen around the target of origin. Noise and time delaysmakes them slightly off target.

A track contains:TimestampSensor typer, range (not in 2C tracks)θ, elevation angleφ, elevation angle rater, range rate (not in 2C tracks)θ, elevation angle rateφ, azimuth angle rateCovariance matrixPlatform of origin IDTarget of origin ID (Not used by the distances or the clustering algorithms)

The tracks are subjected to errors to increase realism. The errors introducedare visualized in Figure 4.3. Three kinds of errors are introduced:

1. Removal: Some tracks are removed at random. This represents that alltargets might not be detected by all sensors. The probability of removal isdetermined by the sensor type.

2. Time delays: Each remaining track is delayed a random amount of time.This represent how different sensors measures targets at different time in-stances. Some tracks have little or no delay and can be seen as recentlyupdated, while other tracks might be delayed a significant amount. This isimplemented by storing tracks from earlier in the simulation. These storedtracks are then used as time-delayed replacements for current tracks. Thedistribution of the delays can be set arbitrarily. An uniform distribution

Page 42: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

30 4 Method

between zero and fifteen seconds was used in this thesis.

3. White Gaussian noise: Noise is added to the spatial information. The noiseis white and Gaussian, with variance depending on the type of sensor andthe affected state. The noise on the different states are uncorrelated. Thecovariance matrices are added to the track, as they are provided by thesensor filter in practice.

Figure 4.3: Three platforms (blue circles with velocity vectors) tracks a target(red circle with velocity vector) with 3C sensors. The leftmost plot shows the3C tracks without errors. Random removal is uninteresting and not shown.The plot in the middle adds the time delays but no noise. The rightmost plotadds white Gaussian noise but no time delays.

A set of sensor-specific parameters determine the distribution of Gaussiannoise on each track, the expected time delay on each track and the rate of whichtracks are discarded. These parameters is set to emulate real-world applicationsand to create interesting non-trivial scenarios.

The simulation environment makes simplifications that are atypical for a realworld scenario. The dynamics of the targets and platforms have been simplifiedto motion in straight lines with constant velocity, as this maximizes the usefulnessof predictions. The noise on the tracks is presumed to be white and Gaussian, anduncorrelated between different tracks.

In real world applications, the sensors typically collects measurements whichare turned into tracks by a filter in the sensor. In the simulation, there are nofilters in the sensors models. Instead, tracks are generated just as a measurementwould be, between sensors and targets with the 3C or 2C sensor models. Thenoise in the sensor model are adjusted to match the noise seen in sensor tracks,which makes the measurements identical to tracks for the purpose of this thesis.This makes the tracks of the simulation uncorrelated over time, which is false fortrue tracks, but since the methods in this thesis does not look at the history of thetracks, this has no impact.

Page 43: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

4.2 Distances and clustering 31

4.2 Distances and clustering

Another MATLAB script was created to implement the different clustering algo-rithms and test them on the scenarios generated as per above. The algorithmstake the generated tracks as input and return matrices indicating which track be-longs to which cluster. The clustering algorithms are taken from Section 3.1 andthe distance functions are taken from the list in Section 3.2.5.

The clustering algorithms used in this thesis can be broken down into manysteps:

• Distance calculations

– Predictions: full, simple, none

– Coordinate transformations: Linear

– De-facto distances

* 3C-3C distances: Mahalanobis, Euclidean* 3C-2C distances: Mahalanobis, angle* 2C-2C distances: line-line angles, line-line 3C-3C, halfway 3C-3C,

Euclidean, plane angles

• De-facto clustering: gated, dbscan, Spectral

Some tricks are used to decrease transformation costs. 3C tracks are trans-formed into global coordinates once per track instead of once per distance. Ifpredictions are ignored, other prerequisites of the distance can be pre-calculatedas well. 3C tracks can be transformed into the local coordinates of all platformsfor 3C-2C distances. For 2C tracks, the line elements needed for distances be-tween lines can be pre-calculated.

The implemented function for Mahalanobis distances sometimes returned un-defined values due to numerical problems from approximately-singular summedcovariance matrices for unrelated tracks. This was solved by setting these dis-tances to be very large. This worked well as the numerical problems typicallyoccur for clearly unrelated tracks.

A Mahalanobis distance can be used for all pairs of tracks. It is normalizedwhich enables direct comparisons of the different Mahalanobis distances. Theother distances have a problem of scale. For example: The Euclidean 3C-3C dis-tance returns a value in meters while the 3C-2C angle distance returns a value inradians. An angle distance of 1 radian is very large, but a Euclidean distance of 1meter is very small. This causes distortions if the clustering algorithm comparesthese distances directly.

This problem is solved by scaling the different distances to a common sizeby multiplication with weight constants wc. This made it possible to use a com-mon gate value for all distances in the gated and dbscan clustering algorithms,and made spectral clustering possible, as it requires distances of a common scale.Weights were found manually by studying the distributions of distances betweentwo tracks with the same target, and selecting weights that made these distribu-tions similar.

Page 44: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

32 4 Method

Three different clustering algorithms were implemented.

1. Gated clustering: A simple gated algorithm as described in Section 3.1.1.

2. dbscan clustering: Adbscan-based algorithms as described in Section 3.1.1.

The gated clustering and the dbscan algorithm are similar in structure andimplementation. The gate value and other parameters of both algorithmswas set based on the distribution of distances from tracks with the same tar-get of origin. These distributions was simulated and gate values could thenbe calculated based on the desired probability of two tracks being withinthe gate. This gave an idea of the strength of the gate, even though the finalprobability of two tracks belonging to the same cluster is higher than theprobability of them being closer together than the gate, due to the influenceof other nearby tracks.

The dbscan clustering also needs a parameter for how many nearby tracksthat are needed to make a track a core track. This value was set from the dis-tribution of track neighbors over random scenarios. Together with a desiredpercentage of core tracks, this distribution could be used to find suitableparameter values. Many different parameter sets were tried, and the finalresults were calculated using the one with the best clustering performance.

3. Spectral clustering: The unnormalized spectral clustering from [19].

The other spectral algorithms from [19] were tested during the work onthis thesis but found to be very similar in results, so unnormalized spectralclustering was used as the default option.

4.3 Evaluation

The performance of the distance and clustering algorithms was evaluated for costand accuracy. The cost of the calculations were straightforward to calculate usingthe ’timeit()’-tool of MATLAB which returns mean execution times of selectedfunctions. (The cost of the algorithms in MATLAB might not translate to the costof optimized algorithms, this is discussed further in section 6.1.2.) Accuracy ismore elusive and cannot be calculated directly for either distances or clustering.

Extra functions were written to present the results of the simulation and clus-tering as graphs.

4.3.1 Distance evaluation

A good distance function has a low computational cost and a high accuracy.The cost of the distances was divided into the pre-calculations made on a

track basis and the comparison calculations made for each track pair. Ignoringpredictions enables extended pre-calculations, as discussed in the Section 4.2.The pre-calculations were entirely ignored when comparing the cost of a singledistance calculation. This is motivated by a lack of a fair way to distribute thepre-calculation cost on the distances, as the cost pre-calculations grows linearly

Page 45: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

4.3 Evaluation 33

with the number of tracks, but the cost of the proper distances grows with thenumber of tracks squared. Tests show that the pre-calculations are insignificantcompared to the distance costs in scenarios of the size studied. For completeness,the cost of calculating the entire distance matrix including pre-calculations for atypical scenario is also included.

The accuracy of the distance function is harder to evaluate, as there are notrue distance to compare the different distance functions to.

One method to evaluate distance accuracy can be constructed by defining anew ideal distance function. This ideal distance is set to 0 for tracks with thesame target of origin and 1 for tracks of different origin. The nature of the idealdistance is abstract: it uses the tracks true target of origin, and it does not cor-respond to any physical distance or the actual states of the tracks. The idealdistance is only available in simulated problems where the tracks true target oforigin is known.

The different distance functions can be compared to this ideal distance, bycorrelating the distance functions with the ideal distance, and use the correlationas a measure of accuracy. However, this does not work well in practice. Thedistances vary in how large they become for clearly unrelated tracks. Some arebounded, such as angle differences, and others, such as Mahalanobis distances,can become extremely large. The size of large enough distances does not matterin any of the studied clustering algorithms (density based algorithms only care ifdistances are above or below a gate, and large distances grow exponentially closeto zero in the adjacency matrix of spectral clustering). This causes the correla-tions with the ideal distance to be misleading, as distance functions with morevariations in their largest distances are at a disadvantage.

The above method for measuring accuracy can be salvaged if distances aregated before the correlation is calculated. The gate values used are obtained indi-vidually for each distance. Representative gate values are chosen to maximize thecorrelation with the ideal distance. This is illustrated in Figure 4.4. The accuracyof the distance functions can then be approximated as the maximum correlationbetween the gated distance and the ideal distance over all possible gate values.

This was calculated on 200 random scenarios with 4 platforms and 50 targets,and the mean gated correlation was calculated for a fine range of gate values.The maximal mean gated correlation for a distance is used as a measure of itsaccuracy.

4.3.2 Clustering evaluation

Good clustering performance is characterized by fast execution, small clustersand few errors (i.e., tracks placed in the wrong cluster). Fast clustering and smallclusters lowers the computational cost. The number of clustering errors showsthe rate at which information from tracks is corrupted or lost in the clusteringprocess. This affects the quality of the resulting target estimates. The studiedclustering algorithms are balanced between the size of the clusters and the errorrate. Lowering the gate values for gated or dbscan clustering, or increasing thenumber of clusters k for spectral clustering, gives smaller clusters but higher

Page 46: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

34 4 Method

Figure 4.4: The mean gated correlations over 200 scenarios for the Maha-lanobis distance between 3C tracks without predictions. The maximum cor-relation is circled in red. This gate value is used to calculate the gated corre-lations for this distance type.

error rate.In accordance with the text above, the gated, dbscan and spectral clustering

algorithms were evaluated for accuracy in two ways: the size of the generatedclusters and the number of clustering errors. The difference between the twoaccuracy measures is illustrated in Figure 4.5. Accuracy was evaluated in thesetwo ways for the clustering of 200 randomly generated scenarios with 4 platformsand 50 targets.

The first accuracy measure was given by cluster size, e.g. the algorithms abil-ity to break down problems into smaller sub-problems. The cost of the laterassociation algorithm is assumed to grow sharply with increased input as dis-cussed in Section 2.3, which makes the cost of the largest sub-problem a goodapproximation for the cost of later association. The size of the largest cluster wastherefore used as a measure for clustering accuracy.

The second clustering accuracy measure was the error rate. Since the studiedscenarios are densely populated and have high levels of noise, it should not beexpected that all tracks are clustered into the correct cluster. Since simulatedscenarios are used, the true target of origin of all tracks are known. This makes itpossible to check if all tracks originating from the same target have been put intothe same cluster by the clustering algorithm. Each instance of a track being putin a different cluster than the majority of tracks from the same original target isrecorded as an error.

Page 47: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

4.3 Evaluation 35

Figure 4.5: This example scenario shows four random Gaussians (indicatedby marker shape), each sampled 30 times. The samples have been assigneda cluster (indicated by color) by two different clustering algorithms. The leftclustering result has smaller clusters but more clustering errors (markerswith the “wrong” color). The right result has only one error but one clusteris significantly larger.

Page 48: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,
Page 49: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

5Results

This chapter presents the computational cost and accuracy of different clusteringalgorithms. The results are given for the entire clustering process, as well as thedistance functions and the de-facto clustering. The results presented here wereobtained from simulated data according to the process described in Chapter 4.The chapter also gives an example of the effects of clustering on a scenario.

5.1 Computational costs of distance functions

The costs to compute the different distance functions listed in Section 3.2.5 areshown in the following section. The cost excludes the cost of the pre-calculationsthat can be done on an individual track, as discussed in Section 2.2.2. The costsare shown in Figures 5.1, 5.2 and 5.3. One figure for each of the three differentkinds of track combinations.

All distance costs were calculated without predictions, except for the onesmarked with a [p] after the name. This corresponds to the prediction strategiesfrom Section 2.2.2 of using no predictions and using full predictions respectively.

Figure 5.1: Computational cost for distance between two 3C tracks

37

Page 50: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

38 5 Results

Figure 5.2: Computational cost for distance between a 3C and a 2C track

Figure 5.3: Computational cost for distance between two 2C tracks

5.2 Accuracy of distance functions

The accuracies of the distance functions from Section 3.2.5 was approximatedby the gated correlation to the true distance as described in Section 4.3. Theaccuracies are shown in Figures 5.4, 5.5 and 5.6, the same way as in Section 5.1.As in Section 5.1, the predicted distances have been marked with [p].

Figure 5.4: Accuracy for distance between two 3C tracks

Page 51: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

5.3 Cost of distance matrices 39

Figure 5.5: Accuracy for distance between a 3C and a 2C track

Figure 5.6: Accuracy for distance between two 2C tracks. Note that the ac-curacy is much lower than in Figure 5.4 and Figure 5.5. This is due to theghosting explained in Section 3.2.4.

The accuracy can be compared between graphs, and this shows that the accu-racy is generally the highest for distances between two 3C tracks and lowest fortwo 2C tracks.

5.3 Cost of distance matrices

A combination of distances for all three track dimensionality cases identified inSection 3.2.1 is needed to calculate all distances between all tracks in a scenario.Two such combinations are studied based on the distance function cost and accu-racy.

• Mahalanobis combination

– 3C-3C Mahalanobis distance

– 3C-2C Mahalanobis distance

– 2C-2C Line-line angles distance

• Euclidean combination

Page 52: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

40 5 Results

– 3C-3C Euclidean distance

– 3C-2C Angle distance

– 2C-2C Plane angle distance

The Mahalanobis combination contains the most accurate distance functionsfound. The Euclidean combination contains the cheaper approximations identi-fied.

The cost of computing all distances in an entire scenario was found for scenar-ios of different sizes with 1:1 ratios of 3C/2C tracks. Figure 5.7 shows the results.These costs include the pre-calculations that were excluded in the section above.The results show large disparities between the distances. To calculate the distancematrix using the most expensive distances (Mahalanobis with full prediction) isan order of magnitude more expensive than using the cheaper distances. Thereseems to be little practical difference in cost between predicting everything to thesame time instant and not using any predictions. This is reasonable since thesepredictions scale linearly with the number of tracks and the total cost scale withthe number of tracks squared.

5.4 Computational costs of clustering

The costs of performing the different clustering algorithms on an entire scenariowere found for scenarios of different sizes with 1:1 ratios of 3C/2C tracks (thesame scenarios that was used in the section above). The costs are shown in Fig-ure 5.8. This graph shows that spectral clustering for any decently sized scenariois an order of magnitude more expensive than the cheaper algorithms. Still, thecomputational cost of the clustering algorithms are much smaller the computa-tional cost of the distance matrices in Figure 5.7. The spectral clustering growsslower than the others as it utilizes efficient algorithms for matrix eigenvalue cal-culations.

The computational costs from Section 5.3 and Section 5.4 are added togetherto give the total cost of the entire clustering. This is shown in Figure 5.9 for theEuclidean distance combinations. Since the cost of the distance calculations ismuch larger than the cost of the de-facto clustering, the difference between thetotal costs becomes almost unnoticeable. The computational cost of clustering isalmost entirely dependent on the distance function used.

Page 53: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

5.4 Computational costs of clustering 41

Figure 5.7: Computational cost to calculate distance matrices for differentdistance combination.

Figure 5.8: Cost of different clustering algorithms

Page 54: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

42 5 Results

Figure 5.9: Cost of the Euclidean distance combinations and clustering algo-rithms

5.5 Accuracy of clustering

The accuracy of the clustering algorithms is measured by the error rate and thesize of the largest cluster, as explained in Chapter 4. First the different cluster-ing algorithms; gated clustering, dbscan and spectral clustering, are compared.This is done over 200 randomly generated scenarios as described in Section 4.3.2,using the Mahalanobis distance with full predictions. The error rates and sizescan be seen in box plots in Figure 5.10 and Figure 5.11. No clustering algorithmis without error. The error ratios of all methods are high, as the target densityand noise levels of the scenarios were high. Still, spectral clustering performsmuch better than gated and dbscan clustering on both size and accuracy.

Spectral clustering is studied further due to its superior performance. Theresults of spectral clustering using different distance combinations are shownin Figure 5.12 and Figure 5.13. The parameter k (desired number of clusters)for the spectral clustering are adjusted to keep the error rate at 5 %, to enablecomparisons between distance functions. It can be seen how the size of the largestcluster increases steadily as the distance function becomes more approximate.Still, the difference between using the Mahalanobis distance with full predictionsand the Euclidean distance with no predictions is small.

Page 55: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

5.5 Accuracy of clustering 43

Figure 5.10: The ratio of tracks clustered erroneously when different clus-tering algorithms are used. The Mahlanobis distance combination from Sec-tion 5.3 with full predictions is used for all algorithms.

Figure 5.11: The ratio of tracks placed in the largest cluster when differentclustering algorithms are used. Same distance combinations as in Figure 5.10

Page 56: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

44 5 Results

Figure 5.12: The ratio of tracks clustered erroneously when spectral cluster-ing is done with different distance combinations. [p] marks that full predic-tions were used, unmarked instances used no predictions.

Figure 5.13: The ratio of tracks placed in the largest cluster when spectralclustering is done with different distance combinations. [p] marks that fullpredictions were used, unmarked instances used no predictions.

Page 57: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

5.6 A scenario 45

5.6 A scenario

To illustrate the performance of clustering, a test scenario with 4 platforms and40 targets was created. The scenario was simulated for 30 seconds, during whichthe platforms moved to the right and the targets to the left, bringing them closertogether. The scenario after 30 seconds is shown in Figure 5.14. The tracks after30 seconds are shown in Figure 5.15 and 5.16. There are 161 tracks in total. Allerrors mentioned in Section 4.1: noise, time delays and deletions, are used.

The scenario is clustered. The distances between the tracks are calculatedwith the Euclidean combination from Section 5.3 without predictions. The dis-tances are used to cluster the scenario with the spectral algorithm and six desiredclusters. The result is shown in Figures 5.17, 5.18 and 5.19.

The clustering had one error, which gives an error ratio of 1/161 = 0.01. Thiserror is caused by a 2C track that originates from a target in cluster 1, but isplaced in cluster 3. This track is shown in Figure 5.20. The largest cluster con-tains 38 tracks, which gives a size ratio of 38/161 = 0.24. The computationalcost of data association for the six clusters will be much lower than the cost ofdoing data association on the entire scenario, and little information was lost inthe clustering.

Page 58: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

46 5 Results

Figure 5.14: A scenario. Platforms are blue, targets are red. The scenariois seen from above. Each platform and each target group has its height (z-coordinate) written besides itself in kilometers.

Page 59: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

5.6 A scenario 47

Figure 5.15: All 3C tracks.

Page 60: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

48 5 Results

Figure 5.16: All 2C tracks.

Page 61: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

5.6 A scenario 49

Figure 5.17: The clustering of the scenario. Each target has been assignedthe cluster of the majority of its tracks.

Page 62: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

50 5 Results

Figure 5.18: All 3C tracks colored by cluster.

Page 63: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

5.6 A scenario 51

Figure 5.19: All 2C tracks colored by cluster.

Page 64: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

52 5 Results

Figure 5.20: The only clustering error. This 2C track was put in clusterthree, but it originated from a target in cluster one, i.e., all other tracks fromits target of origin were put in cluster one.

Page 65: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

6Conclusions

This chapter discusses the theory, method and results of the thesis.

6.1 Conclusions

The results indicate that the computational cost of complex association prob-lems can be decreased by dividing the problem into sub-problems using cluster-ing. A computationally cheap clustering algorithm, using non-statistical, time-insensitive distances and spectral clustering, divides the dense random scenariosused here into sub-problems with less than 40 % of the original complexity ina majority of the cases, while placing less than 5 % of tracks into wrong clus-ters. The approximate distances are ten times cheaper to calculate than the fullypredicted statistical distances, but both show a similar clustering performance.

The final computational cost reduction of clustering depends on the cost ofthe algorithm used to solve the association problem. If the association algorithmuses the full statistical distance matrix, the cost of spectral clustering with non-statistical distances are recouped from just the savings of calculating smaller sta-tistical distance matrices. Most assignment algorithms for dense and/or noisyscenarios has a computational cost that grows faster than the number of inputtracks cubed, which further increases the cost savings provided by clustering. Ifclustering enables parallel processing, the gain from using clustering becomeslarger again, as the association of the tracks in each cluster can be performed inparallel.

The 5 % error rate might be discouraging, as it might seem high for some ap-plications. But this rate is for dense scenarios with high noise levels. More sparsescenarios will be easier to cluster. The parameters of the clustering algorithmscan be adjusted to balance the error rate and the size of the clusters produced,giving lower error rates but larger clusters if desired.

53

Page 66: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

54 6 Conclusions

The results indicate that statistical distances can be approximated at low com-putational cost with reasonable accuracy. This can be used in some associationalgorithms regardless of if clustering is used or not. It might be possible to cal-culate cheap distances early in the association algorithm, and then refine the dis-tances later for the ones important to the solutions.

6.1.1 Risk

Clustering carries some inherent risks. The accuracy of the data association mightbe reduced by clustering, as it discards information when dividing the probleminto sub-problems. This can happen in two main ways:

• Tracks are clustered incorrectly. This usually happens when the algorithmstries to split a group of targets into two or more clusters. A subgroup ofthe tracks that forms a pseudo-cluster within the larger cluster might beclustered separately. This affects the later data association. The number oftargets might be erroneously estimated, upwards or downward. One truetarget or group of targets might be tracked as two separate targets (withthe true targets between them). The general direction and position of thetargets should still remain correct.

• No clusters are found. If no clusters are found, every track except a requirednumber of outliers are put in the same cluster. This is the same case as thetraditional data association, with the additional drawback of the resourcespent on the failed clustering. Other methods are then required to keep thecomputational costs low. One approach is to do the data association on asample of the tracks, thereby decreasing the number of tracks and the com-plexity of the association. As a failed clustering indicates that there are noeasily discernible clusters, this should mean that all targets are in roughlythe same area. This makes it unlikely that the under-sampled associationmisses a target that has major state differences from the detected targets.

6.1.2 Further development

Further work could improve the computational cost reductions provided by clus-tering. This can be done by decreasing the computational costs further, and/orby improving performance. This section gives some thoughts about how costscan be decreased even further and on how the accuracy can be increased. It alsodiscusses the work in [17], which is an interesting approach on how to decreasethe number of distances required in spectral clustering.

The computational cost is central in this thesis. There are no guarantees thatthe functions used in this work are optimal in a computational sense. In fact, itwould be surprising if the number of computations required by the clusteringor the distance algorithms could not be decreased further, especially if the al-gorithms were re-implemented in a low level programming language such as Cinstead of MATLAB. There are tricks that could be used to further decrease com-putational costs, such as using a pre-calculated look-up table for the expensive

Page 67: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

6.2 Method 55

2C-2C calculations. However, these methods were too implementation-specificand strayed to far from the multi-target tracking field, and was thus consideredto be outside of scope.

The focus of this thesis is memory-less data-association scenarios. This meansthat earlier association results and clustering results are disregarded. It is pos-sible to imagine a clustering algorithm that uses the results of earlier clusteringand/or association to improve its computational cost and/or accuracy. This hasbeen avoided, as the current tracks and the tracks of the previous associationiteration usually share common information, which would cause tricky depen-dencies as the clustering uses the same information twice. It is also possible forthe clustering algorithm to use the history of the tracks provided by the sensors.More accurate distances can be obtained by comparing tracks over time. Thisincreases the computational cost but might be necessary in noisier applications.

To try to further decrease the computational cost of the approximated dis-tances, it might be beneficial to ignore the calculation of some distances. In [17],Shamir and Tishby discuss the problem of calculating a distance matrix for spec-tral clustering while keeping the number of needed matrix elements low. Theypropose an algorithm which chooses which matrix elements to calculate. This de-creases the number of matrix elements that must be calculated for good results,compared to randomly choosing elements to calculate. Their experiments indi-cates that the decrease in distances required is heavily dependent on the scenario,from no noticeable decrease to an impressive 75 % of required distance calcula-tions. Some drawbacks exist: Their algorithm requires that the clustering andthe distance calculations are integrated, which complicates the structure of theclustering process. Also, it makes it harder to perform the distance calculationsin parallel.

6.2 Method

This study has been done purely on data obtained from simulations. This ap-proach have benefits and drawbacks. Even though the parameters of the simu-lation model have been chosen with care to reflect real world scenarios, thereis risk of non-applicability to practical scenarios which decreases validity. Thiscould have been avoided by obtaining hard data from a mtt scenario. One solu-tion could have been to use a suitable data set from a data repository. Several datasets were considered at the beginning of the study, but all lacked specific charac-teristics that are important to the study, such as the combination of 2C and 3C

sensors, the use of sensor tracks over sensor measurements and the time delaysbetween tracks. Another solution could have been to collect the data in someway. This would have vastly increased the scope for the study, as this would haverequired obtaining or creating hardware (sensors) and software (including sen-sor filters) for the data collection. On the plus side, a setup with hardware andsoftware designed to create mtt data sets according to the specifications of thisthesis might be useful for others studying the same problem.

One advantage of using simulated data is that it is possible to know the target

Page 68: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

56 6 Conclusions

of origin for all tracks with absolute certainty. This knowledge makes it possibleto obtain the number of errors made by the clustering (as each track clusteredseparately from the majority of tracks of the same target of origin is defined asan error). With real world data, this statistic would have been impossible tocalculate, and a more complicated and less precise error measure would havebeen required.

The two types of sensors used in this thesis has been chosen to reflect thesensors available in common real-world applications. It is possible to envisionother types of kinematic sensors (as only radius or radius and radial velocity, orsome more exotic measurement function). It is also possible to envision sensorsthat provide non-kinematic attributes. Using other sensor types would requiredifferent distance functions, but the main principles of clustering still apply.

It would have been very beneficial to have had an algorithm for the centralassignment problem. Then the computational cost and accuracy of the assign-ment algorithm with and without clustering could have been found and com-pared, which would have given a strong piece of evidence on the effectivenessof clustering. Efforts was made searching for algorithm implementations but nosuitable ones were found. The target tracking field seem to lack benchmark as-signment algorithms (this might be because algorithms require tailoring to thespecific scenario and sensor characteristics). Building an algorithm was consid-ered, but decided to be outside of scope for this thesis. The insight gained fromimplementing the algorithm would fail to generalize to other types of algorithms.Also, the association algorithm would require extensive tailoring to the character-istics of the studied scenario. This might generalize poorly even to other imple-mentations of the same algorithm.

The states of the sensor platforms are presumed to be known with absolutecertainty. In real world applications, there might be significant uncertainties inthe location of the sensors, and in these cases the approach in this report is infea-sible. This could be overcome by expanding the distance functions given in thisthesis. In many cases, the platform state uncertainties are magnitudes smallerthan the uncertainties of the targets, and the removal of these uncertainties sim-plifies the calculations.

This thesis assumes that each sensor performs an internal filtering, and thatthe resulting tracks are used as input to a central association. A more centralizedassignment algorithm would have the sensor provide the raw measurements tothe assignment algorithm. The thesis is entirely applicable to this approach, justreplace the word “track” with “measurement”. More decentralized/distributedassociation algorithms are out of scope.

The clustering has been evaluated using generated scenarios. These scenariosare roughly defined by the ratio of sensor noise to target density. High noiselevels and densely packed targets make clustering (and association in general)hard. Low noise levels and sparse targets make clustering unnecessary, as simpleassociation algorithms work well. Therefore, the scenarios have been generatedto balance these two parameters and be non-trivial with some structure.

The focus of this report has been on computational costs. Some of the methodsused to decrease cost, such as pre-calculating the coordinate transforms, slightly

Page 69: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

6.3 Source criticism 57

increases the memory used by the algorithms. In a memory-constrained system,this might cause issues. The memory needed to perform these calculations shouldbe dwarfed by the memory required to store the distance matrix and its deriva-tives that are required by the spectral clustering algorithms. Because of this,memory-constrained systems should probably use other clustering algorithms.

6.3 Source criticism

The main purpose of this thesis has been to combine practices on target trackingand clustering. Effort has been made to use theoretically established ideas fromrobust sources, such as [3], [8], [10] and [19].

Effort was made to find other sources that have tried to use clustering to solvetarget tracking problems. The intersection of target tracking and clustering (andthe larger machine learning field of which clustering is a part) seems to be largeand growing, and only the found approaches that most closely resembled myown is presented in this thesis.

Other sources use clustering differently than this thesis, often more closelytied to the association problem itself. There are also approaches that use clus-tering and target tracking together with computer vision theory to track objectsusing one or many video sensors. The similar work presented here still has largedifferences: The scenarios presented by them is less complex than the one stud-ied here, which makes it unnecessary for them to focus on the different distancesand their approximations. Still, they show that others have worked on similarproblems before with some success.

Page 70: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

58 6 Conclusions

Page 71: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

Bibliography

[1] Charu C. Aggarwal and Chandan K. Reddy. Data clustering : algorithmsand applications. CRC data mining and knowledge discovery. Boca Raton,2014. ISBN 9781466558229. Cited on pages 15, 16, 17, and 18.

[2] Y. Bar-Shalom, S.S. Blackman, and R.J. Fitzgerald. Dimensionless score func-tion for multiple hypothesis tracking. Aerospace and Electronic Systems,IEEE Transactions on, 43(1):392–400, January 2007. ISSN 0018-9251. doi:10.1109/TAES.2007.357141. Cited on page 10.

[3] Samuel S. Blackman and Robert Popoli. Design and analysis of moderntracking systems. Artech House radar library. Artech House, Boston, Lon-don, 1999. ISBN 1-580-53006-0. Cited on pages 10 and 57.

[4] M. R. Chummun, T. Kirubarajan, K. R. Pattipati, and Y. Bar-Shalom. Fastdata association using multidimensional assignment with clustering. IEEETransactions on Aerospace and Electronic Systems, 37(3):898–913, July2001. ISSN 0018-9251. doi: 10.1109/7.953245. Cited on pages 3 and 24.

[5] Martin Ester, Hans-Peter Kriegel, Jörg Sander, and Xiaowei Xu. A density-based algorithm for discovering clusters in large spatial databases withnoise. pages 226–231. AAAI Press, 1996. Cited on page 17.

[6] Euklides. Euclid’s Elements. 300BC. Cited on page 21.

[7] T. E. Fortmann, Y. Bar-Shalom, and M. Scheffe. Multi-target tracking usingjoint probabilistic data association. In 1980 19th IEEE Conference on De-cision and Control including the Symposium on Adaptive Processes, pages807–812, Dec 1980. doi: 10.1109/CDC.1980.271915. Cited on page 2.

[8] F. Gustafsson. Statistical Sensor Fusion. Studentlitteratur, 2010. ISBN9789144054896. Cited on pages 8 and 57.

[9] N. Hanlon, E. Kivelevitch, M. Kumar, and Cohen. K. Generic clusteringapproach to track-to-track correlation for multisensor-multitarget environ-ments. In IAA SCITECH 2016, AIAA Infotech @ Aerospace, San Diego, Cal-ifornia, USA, 2016. Cited on page 3.

59

Page 72: Clustering for Multi-Target Tracking1167508/FULLTEXT01.pdf · [4], nearest-neighbor clustering is used in an environment with either range-and-bearing or bearing-only measurements,

60 Bibliography

[10] Anton J. Haug. Bayesian estimation and tracking : a practical guide. Hobo-ken, N.J. : Wiley, 2012., 2012. ISBN 9780470621707. Cited on pages 11, 12,13, and 57.

[11] H. W. Kuhn. The hungarian method for the assignment problem. NavalResearch Logistics Quarterly, 2:83, 1955. ISSN 00281441. Cited on page 10.

[12] P. C. Mahalanobis. On the generalized distance in statistics. Proceedings ofthe National Institute of Sciences (Calcutta), 2:49–55, 1936. Cited on page22.

[13] MATLAB. version 9.0.1 (R2016b). The MathWorks Inc., Natick, Mas-sachusetts, 2016. Cited on page 27.

[14] Andrew Y. Ng, Michael I. Jordan, and Yair Weiss. On spectral clustering:Analysis and an algorithm. In Advances in Neural Information ProcessingSystems, pages 849–856. MIT Press, 2001. Cited on page 18.

[15] Eric C. Poblenz. A Comprehensive Analysis of Tracking as a Data Associa-tion Problem. ProQuest LLC, Ann Arbor, MI, 2015. ISBN 978-1339-40192-8.Cited on page 10.

[16] D. Reid. An algorithm for tracking multiple targets. IEEE Transactions onAutomatic Control, 24(6):843–854, Dec 1979. ISSN 0018-9286. doi: 10.1109/TAC.1979.1102177. Cited on page 2.

[17] Ohad Shamir and Naftali Tishby. Spectral clustering on a budget. In Ge-offrey Gordon, David Dunson, and Miroslav Dudík, editors, Proceedingsof the Fourteenth International Conference on Artificial Intelligence andStatistics, volume 15 of Proceedings of Machine Learning Research, pages661–669, Fort Lauderdale, FL, USA, 11–13 Apr 2011. PMLR. Cited on pages54 and 55.

[18] Jianbo Shi and J. Malik. Normalized cuts and image segmentation. IEEETransactions on Pattern Analysis and Machine Intelligence, 22(8):888–905,Aug 2000. ISSN 0162-8828. doi: 10.1109/34.868688. Cited on page 18.

[19] Luxburg Ulrike von. A tutorial on spectral clustering. Statistics and Com-puting -London-, 17(4):395 – 416, 2007. ISSN 09603174. Cited on pages 18,19, 20, 32, and 57.