A Hash-Tree Based Approach for a Totally Distributed Track Oriented Multi Hypothesis Tracker Domenico Ciuonzo Dep. of Information Eng. - Second University of Naples Real Casa dell’Annunziata via Roma, 29 81031 Aversa (CE), Italy
[email protected]
Steven Horn NATO Undersea Research Center Viale S. Bartolomeo 400 19126 La Spezia, Italy
[email protected]
which to remove, can be done using various approaches. One such approach is for TO-MHT is by multiframe assignment described in [13]. Their improvement of the TO-MHT approach is given by the manner in which the Lagrange Relaxation Method is used to obtain, in an efficient way, the most likely hypothesis or a set of m-best hypotheses.
Abstract— We present a novel distributed implementation of Multiple Hypothesis Tracking (MHT). Our implementation is based on Merkle-Tree (hash-tree) distributed content storing approach. The proposed architecture makes use of recent advances in cryptographic signatures to enable fast operations on local trees and also allow sharing of hypotheses between local and remote nodes. Finally, the proposed architecture also allows for natural handling of out-of-sequence-measurements.
A lot of research effort has been targeted at addressing the problem of track-to-track fusion, and track fusion system architectures. The benefits and challenges of different architectures are well described in [14]. Essentially, both centralized and decentralized architectures have been proposed in literature, but there is limited research on the implementation of a completely distributed tracker. While some decentralized MHT approaches have been presented [15], [16], [17], the implementations are of the hierarchical type vs. distributed. In a completely distributed MHT, it would be possible to exchange and fuse hypothesis level information between nodes (not necessarily just track-level information). The approach to sharing hypothesis level information in existing research [17], [18] focuses on evaluating compatible hypotheses for fusion.
1. I NTRODUCTION There are several methods and approaches to the multisensor multi-target data association problem. The most trivial association method is the global nearest neighbor (GNN) approach, which resolves association conflicts by assigning the most likely assignment of measurements to existing tracks. The GNN approach works well only in the case of widely spaced targets, accurate measurements, and few false alarms in the track gates [1]. In fact, in the high-clutter regime, it has been proved in [2] that a k-th norm order statistics (KNOS) represents a more informative measurement than the nearest neighbor’s one. An interesting alternative approach is the Joint Probabilistic Data Association Filter (JPDA) [3], [4], [5], [6]. It tackles the uncertain association condition by allowing a track to be updated by a weighted sum of the measurements in its gate. However, the JPDA suffers from a track-coalescence problem, when closely spaced targets need to be tracked [7], [8].
The tracking problem we aim to solve includes the following challenges: • • • • • •
Multi Hypothesis Tracking (MHT) was first proposed in [9] and through the years has become a common method for data association. It essentially consists of a deferred decision logic, in which multiple data association hypotheses are formed when a measurement association conflict appears, i.e. when a measurement is compatible with two or more tracks. Then, rather than choosing the best hypothesis, or combining them in a JPDA fashion, the hypotheses are maintained on the assumption that future measurements will resolve the uncertainty.
multiple sensors and multiple types of sensors, both type 1 and type 2 sensors [9], asynchronous measurements, large quantity of data, out of sequence data, and large geographical areas.
The main contribution of this paper is to present a novelconcept of a hash-tree based hypothesis tree implementation towards a completely distributed TO-MHT, with the capability to fuse measurements2 across multiple heterogeneous sensors, heterogeneous fusion nodes and heterogeneous adhoc network connections. Our hash-tree based implementation borrows heavily from advances in modern Distributed Version Control Systems (DVCS) such as GIT [19], and Mercurial [20]. Specifically, we seek to apply innovations used in the GIT Object Model, the performance of which is very impressive [21]. Our motivation for investigating this approach stems from the commonalities in the problem space between the DVCS domain and distributed tracking domain such as distributed information management, large quantities of changing information, processing speed, and reliability requirements.
In this paper, we focus on the efficient Track-Oriented MHT (TO-MHT) approach [1], [10], which has been proved to be faster than than Murty’s Algorithm for original MHT [11], [12]. The benefit of this approach is given by the fact that not all hypotheses are stored from scan to scan, and tracks are updated on each scan they are reformed into hypotheses retaining all of the prior statistics. By removing the least likely hypotheses, while making the algorithm sub-optimal, it also makes the TO-MHT algorithm more practical for realtime multitarget tracking of many closely spaced targets. The selection of which hypotheses to retain and update, and
The strong advantages of this TO-MHT implementation, with
c 978-1-4577-0557-1/12/$26.00 2012 IEEE. IEEEAC Paper #1229, Version 2, Updated 03/01/2012.
2 The
terms measurement, observation, and report are used interchangeably in this paper.
1
1
respect to the previous ones are: The system is much faster than previous implementations, as the hash-tree implementation is an efficient way to store, access and exchange information between fusion nodes. • The TO-MHT tree (hereafter referred to as MHTtree) can be rolled-back to a certain time-stamp, and its previous state can be efficiently accessed, as an evolving state implementation is performed; in this way Out Of Sequence Measurements (OOSMs) can be effectively handled. • The data exchanged by the fusion nodes (i.e. measurement or/and state estimates) are cryptographically signed, which enables corruption resistant communication between nodes, both for communication errors and malicious attacks. • The MHTtree fast “merge” capability (i.e. the way the MHTtree associations are “fused”) allows a measurement exchange between nodes versus tracklet exchange (i.e. Trackto-Track fusion) which is implemented on a signature-based way, i.e. the information is sent to a fusion node only if it does not have already it. •
Figure 1. MHT block scheme. finally vk−1 ∼ N (0, Qk−1 ) and wk ∼ N (0, Rk ) are process and measurement noise vectors, respectively.
The paper is organized as follows: Section 2 gives a brief review of MHT algorithm, while in Section 3 the new distributed implementation is presented; in Section 4 we give preliminary results and benchmark of this new architecture; finally in Section 5 we draw some conclusions and discuss future evolutions of the algorithm.
Gating The matrix determining the gate for generic track hypothesis (−) is given by the following equation: Sk (−) = Hk Pk|k−1 (−)Hkt + Rk
It is important to keep in mind that in this paper, we aim not to evaluate the tracking performance of the TO-MHT algorithm, but to evaluate the feasibility of a hash-tree based approach (and through which, the expected benefits).
(3)
where Pk|k−1 (−) is the prediction error covariance matrix, whose expression is obtained through the following expression:
Notation - Lower-case (resp. Upper-case) bold letters denote vectors (resp. matrices), with subscript denoting the corresponding time-index k, e.g. vector ak (resp. matrix Ak ); (·)t 2 and k·k denote transpose and Frobenius norm operators; 0 denotes the null vector; {·} denotes the object concatenation operator; P (·) and p(·) are used to denote probabilities and probability density functions (pdf), in particular P (A|B) and p(a|b) represent the probability of event A conditioned on event B and the pdf of random variable a conditioned on random variable b, respectively; N (µ, Σ) denotes a Gaussian distribution with mean vector µ and covariance matrix Σ and χ2` denotes a chi-square distribution with ` degrees of freedom ; finally the symbol ∼ means “distributed as”.
t Pk|k−1 = Fk−1 Pk−1|k−1 (−)Fk−1 + Γk−1 Qk−1 Γtk−1 , (4)
with Pk−1|k−1 (−) denoting the error covariance matrix at time k − 1. Every measurement zk,j which is object of correlation process satisfies the following test [9]: (zk,j − zˆk|k−1 (−))t Sk,j (−)−1 (zk,j − zˆk|k−1 (−)) ≤ d. (5) Note that Sk,j (−) in general can depend on the tested measurement zk,j as well, because different measurements can have different accuracies and can originate from heterogeneous sensors. The term zˆk (−) is the predicted measurement estimation, which is easily obtained by projecting the state ˆ k−1|k−1 through the following equations: estimate x
2. R EVIEW OF TO-MHT ALGORITHM zˆk|k−1 (−) ˆ k|k−1 (−) x
In this section we briefly review the basics of the TO-MHT algorithm. The standard TO-MHT algorithm is summarized in the block-scheme illustrated in Figure 1, taken from [22], [23].
In this paper we will consider, for the sake of clarity and without loss of generality, a linear state space model. Note that however the presented implementation is perfectly compatible with any kinematic and observation model [24], [25]. The recursion of the linear model considered is given by [26]: = =
Fk−1 xk−1 + Γk−1 vk−1 Hk xk + wk
=
ˆ k|k−1 (−), Hk−1 x ˆ k−1|k−1 (−). Fk−1 x
(6) (7)
Finally the term d is a parameter which has to be designed to assure that the correct measurement belongs to the gate specified with a certain probability P G . In the simplest case of a linear state space model, since the test statistics norm in Eq. (5) is chi-square distributed with number of degrees of freedom M equal to the dimension of the generic measurement vector zk ; then d is chosen as [26]
State Space Model
xk zk
=
P (χ2M > d) = P G
(1) (2)
(8)
Generate Tracks and Clusters
where xk and zk denote the state and measurement vectors respectively; Fk−1 , Γk−1 and Hk represent the state transition, the disturbance and observation matrices, respectively;
The second part of the block scheme in Fig. 1 depicts the updated track hypotheses generation and cluster management. 2
The set of generated tracks at time k contain existing tracks at time k −1 and additional tracks corresponding to new targets. Let us assume that there are n existing tracks at time k − 1, represented as T1 , T2 , . . . Tn . When measurement vectors zk,1 , zk,2 , . . . , zk,m exist in the gate of T1 at time k, m tracks are generated from the track as follows:
of reports observed in the last N scans since the most recent hard association. • The set of corresponding scores for existing track hypotheses, updated (or initialized) as described in the previous subsection. The values of track hypotheses scores are enclosed in a vector c of length given by to the number of actual track hypotheses.
• For every measurement vector zk,j , j = 1, . . . m, a track corresponding to the association {T1 , zk,j } is generated; • The track {T1 , Ø} is retained (i.e. a track coast), on the assumption that the target has not been detected;
The conflict matrix has binary-valued elements, whose generic element a(i, j) ∈ {0, 1} represents the Boolean assignment of report vector corresponding to i-th row and track hypothesis corresponding to j-th column. Then the problem of finding the best global hypothesis can be formulated as a standard constrained optimization problem:
In addition to the existing track “update”, a new track hypothesis is generated for every measurement observed, on the assumption that it may represent the detection of a new target.
For every track generated {T1 , zk,j }, the corresponding (physically dimensionless) score function (i.e. the negative log-likelihood-ratio of track continuation) [24] is recursively 1 updated from − ln LTk−1 (i.e. the score of T1 at time k − 1) as follows: 1 − ln LTk 1 = − ln LTk−1 h i h i t 1 T1 T1 −1 T1 + zk,j − zˆk|k−1 (Sk,j ) zk,j − zˆk|k−1 2 T1 1/2 λex |2πSk,j | + ln T1 PD,k
Sub-Optimization
(9)
In sub-optimization there is a set of all techniques to reduce the exponential growth of number of track hypotheses with the number of scans [9]. The most important are summarized by: M-of-N track-initiation logic; Track-termination logic: i) after K miss, ii) after T sec without track-update and iii) for low-scored track hypotheses; • S-Scan Efficient Pruning (S-Scan Sliding Window); • •
(10)
The latter update is necessary only in the case of reports coming from type I sensors (i.e. radar); in the case of type II sensors (like AIS) there is no need to update the score when no-report is associated to a track hypothesis, i.e. there is no “penalty” in the score update. Detailed explanation on the initialization of track score and solutions to other practical issues can be found in [24].
M-of-N track initiation logic is a condition which avoids to initialize track hypotheses which do not have at least M detections in the last N scans. Track initiation logic avoids evaluation of track hypotheses which are least likely, and track termination logic has an impact in reducing the computational burden of a TO-MHT. Track termination criteria i) and iii) are useful for handling type 1 sensors reports, while ii) is suitable for type 2 sensors reports. In fact, several track hypotheses can be pruned using these processes.
Remarks about clusters: The MHT requires a huge computational burden. Therefore the idea of hypotheses clustering was suggested for Multiple Hypothesis Tracking [9], leading to separation of a large tracking problem in smaller disjoint tracking problems. The clusters split all the track hypotheses in disjoints sets; also two tracks Ti and Tj that share a common report vector must be in the same cluster, that is: Ti ∩ Tj 6= ∅ → Ti , Tj ∈ C`
(12)
where b = 1Nkt (Nkt denotes the total number of track hypotheses at time k) and x is a binary-valued vector whose elements x(i) determine the belonging of the corresponding track hypothesis to the global hypothesis considered, that is a particular instance of x is representative of a specific global hypothesis.
T1 where PD,k and λex denote the probability of detection of track T1 at time k and the “extraneous” (false alarm + new targets) measurement spatial density respectively. Instead the update of the track {T1 , Ø} is given by: T1 1 − ln LTk 1 = − ln LTk−1 − ln[1 − PD,k ]
objective max ct x subject to Ax = b
Finally, S-scan efficient pruning consists in a method for retaining only track hypothesis corresponding to best global hypothesis. In the simple case of S = 2, this is accomplished by the modified auction or Jonker-Volgenant-Castanon (JVC) for 2-D assignment. In the more general case of S > 2, the same algorithm combined with Lagrangian relaxation provides a nearly-optimal solution [28], since the problem is NP-hard. In order to obtain the top m most likely global hypotheses, one has to use the m-best Multi-Dimensional Assignment [13].
(11)
The above relationship can be used to perform clustering for MHT algorithm; the advantage is that if every target could be separated into its own individual cluster, the tracking problem would only scale linearly with the number of targets [9].
3. H ASH -T REE BASED TO-MHT
Generate Hypotheses
ARCHITECTURE
In TO-MHT the set of global hypotheses is completely described by the following [27]:
The hash-tree based implementation is strongly based on the tree implementation used in GIT [19]. However, many modifications were made in order to adapt the approach to TO-MHT.
A conflict matrix A, with column size given by the actual number of track hypotheses and row size given by the number
•
3
Figure 4. An example of Directed Acyclic Graph representing history of commit objects. Figure 2. The hierarchy of the three types defined (commits, nodes and blobs).
Figure 3. Graphical description of data structures associated to presented type objects.
Figure 5. Example of the storage of a multiple-hypothesis tree and pruning.
Object Types There are three different types of objects are defined: each of them containing a unique cryptographic signature (Hash).
The Hypotheses Tree
1. Commit Object - A bookmark of a MHTtree state in a fusion node at a given time. The reference to the “root” node object of the MHTtree considered determines a “snapshot” of the state at a certain time, uniquely identified through the commit object hash and easily available on demand if needed. Also the reference to a list of “parent” commit objects, representing previous MHTtree states, contributes to form a view of the MHTtree state evolution on different fusion nodes and forms a basis for the exchange of information between them. 2. Blob (Leaf) Object - Stores the raw-level report information within; it’s hash (signature) uniquely identifies the report it encapsulates, and it represents a useful way to access them by a pull-operation discussed later. 3. Node (Tree) Object - Stores the information regarding the association between a single blob and a set of blobs associated to successive (in time) reports, which determines the MHT structure; the association is performed by means of two lists, one of blob objects and the other of node objects, as will be explained in detail later. The building and storing of the tree with node objects represents a one-to-one association between a node object and a track hypothesis. For this reason and indexing purposes (efficiency), the node object additionally contains references to (i) its parent node, (ii) the state estimate and (iii) the score of the track hypothesis associated to that node.
Every commit object (except for the initial commit object) has at least one or more (a list of) parent commits. In the first case the relationship represents the evolution of a MHTtree state at a fusion node triggered by a local in-sequence “report update”. In the latter case, the relationship indicates that the MHTtree state evolution is a consequence of a merge process (i.e. the fusion of two MHTrees) or from the insequence encapsulation of an out-of-sequence report. Also, a parent commit object can have multiple children, which indicates a branch splitting. This typically denotes either a new fusion node, MHTtree state initialization, or a ”tentative” (parallel) MHTtree state in the same fusion node. This branch feature will be used to manage OOSMs and is discussed later. The chain of commit objects forms a Directed Acyclic Graph (DAG) describing the various branching and merging between trees, as illustrated in Fig. 4. The commit ”head” represents the most recent synchronized state of MHTtrees. Every node object references a list of one or more blob objects (called leaves); in the first case the node object simply tracks the unresolved associations between reports, in the latter case it tracks the association in an already resolved track (an ordered list of reports). The association between the node object (referencing either a report or a resolved track) and the successive (in time) reports is stored by a list of children node objects (called children), as illustrated in Fig. 3.
The object types follow the hierarchy of commit, node, blob, as shown in Fig. 2. In Fig. 3, we illustrate graphically the structure of the objects defined previously.
Each commit object refers to the root node of a MHTtree state, which is described by node and blob objects. An example is shown in Fig. 5. The MHTtree state on the left is the representation of the process described in [30]. There are two resolved track hypotheses T1 and T2 . Reports R1 ,R2 , and later R3 are added to the tree. In the pruning process, several hypotheses are removed. Using the presented architecture, the history of the tree is retained through the commit objects hierarchy.
Some Detailed Remarks: With a suitable hash function, every object belonging to the types presented can be uniquely identified by its hash. For example, with a standard SHA1 algorithm, the use of brute force would require on the order of 251 operations before a collision [29]. If collisions are a concern, an even more secure hash function can be chosen. 4
Figure 6. The DB stored type objects. For efficiency and scalability in the MHT system, the objects belonging the three types presented are stored in an intelligent way in a Database (DB) and the most recent state is maintained in random access memory. This choice avoids the storing of unnecessary information in the memory and at the same time to have all the processed historical states available on demand by a query operation in the DB. Figure 7. An example diagram illustrating the relationship between node objects inside the index list.
DB and Memory Storage DB Storage: All the presented object types are identified with a corresponding hash signature, which is used as a key to store access them in the DB on demand via a simple key-value (hash-object) approach. The hash function is computed on the basis of the content of the object and thus “theoretically” if there is any content discrepancy between two objects, they will be identified with a different hash signature; since scores and node “parent” relationships can change, a minor adjustment must be made to the storage of node objects in the database for storage efficiency, as described later. Only selective part of the node objects presented are stored in the DB. See Fig. 6 for the objects as they are stored in the DB. The DB objects are:
Memory Storage: As previously mentioned, the memory of each fusion node stores the most recent state of the MHTtree (i.e. at the head). This means that all the node objects that contributes to build the actual MHTtree state are loaded in memory. For speed purposes the head nodes are maintained in a dynamic index list and are added and removed with changing MHTtree head. Blob objects, however, are not retained in memory since they can be easily pulled from the DB when needed. However, note that the hash of the blob objects are already retained in memory via the nodes in the index. Each copy of a node object (see Fig. 7) loaded in the index also contains an additional reference to its parent. The latter choice enables the list to be an efficient iterator over the MHTtree nodes.
A commit object “DB version” only stores the hashes of the corresponding “root” node object and the hashes of commit parents list. • A node object “DB version” only stores the hashes of the members of children and leaves lists. • A “DB version” of a blob object completely stores all its contents, i.e. the report within it. •
Tree Operations Adding in-sequence reports to the MHTtree (generate/update track hypotheses): Every time a new report Rnew arrives at a tracker node the following operations are performed:
The storing technique described resembles a Merkle Tree scheme [31], as the hash of every node object in the tree is only computed on the basis of the hashes of the leaves (blobs) and the children (nodes).
1. A blob object Bnew corresponding to the new report is created, with its unique hash; 2. For every track hypothesis, represented by every subbranch of the MHTtree, the actual report is validated through its gate. In the affirmative case, a node object is created (with corresponding hash signature), representing the new validated association (i.e. the new appended track hypothesis) with updated track score, otherwise the association is refused and the algorithm iterates to next track hypothesis to be tested.
For each processed measurement, a blob object encapsulating it is immediately created and added to DB after computing it’s hash. The blobs are completely stored in the DB and, when needed, can be accessed by pulling it from the DB by using the hash as a key. The node objects, as previously pointed out, are stored only in part in the DB; only the information needed to keep history of the reports associations is pushed to DB. Finally the commit objects are entirely stored in the DB to keep track of the MHTtree state evolution.
Pruning low-score hypotheses from the MHTtree: In order to take advantage of sub-optimization procedures described in Section 2 several track hypotheses have to be pruned from the MHTtree. This operation is performed through a node object remove procedure, which allows set of track hypotheses to be removed simultaneously. The operations performed by this procedure are:
It is well known that speed of a query operation from DB is proportional to number of entries stored in it. Therefore, the unbounded growth of the objects stored in DB becomes a problem from an efficiency point of view if the query operations become too slow. Eventually, during real-time tracking, old objects can be moved, through a process executing in the background, to an “archiving DB” to save the space of the DB used for real-time target tracking. All the objects pulled in the DB are not deleted, as they can be useful for off-line processing purposes. In fact, the archive DB can potentially be processed for other purposes such as to recognize a targets “normal” or anomalous behaviour over a long time horizon.
1. Remove the considered node object and all its descendants. 2. Re-compute the hash signature for all the ancestries (including the parent) of the given node object. 5
Let us consider the Example in Fig. 5. There are two resolved track hypothesis T1 and T2 . Reports R1 , R2 , and later R3 are added to the tree. The (nearly) global optimal solution is calculated by (efficiently) solving the standard constrained optimization problem of Eq. (12). In our implementation, the optimization problem is solved using the freely available LP SOLVE 5.5 library [32]. As a consequence of the optimization, several hypotheses need to be removed; this is quckly accomplished by the removing procedure just introduced. Using the presented architecture, the history of the tree is retained through the commit objects hierarchy. To record the change in the tree, only two objects had to be changed: the root node and the T1 node. Additionally, a third object was created (i.e. a new commit object).
branch will remain in the database and consume storage space. This problem is also present in DVCS, and is managed by periodic “garbage collection” routines. For the tracking application, we have not yet considered a database garbage collection algorithm. The branching capability is considered for the tracking application as a means to handle OOSMs. If some measurement is received that is older than the tree head, then the tree state can be recalled from the database at the time just prior to the observed measurement, and be added to the historical tree as a new branch. One can consider this as an alternate reality, where we see how the tree would have evolved should that observation have arrived on time. Any resolve events and prune events are then executed as normal on this branch, considering the potential added value of the new but late observation. In order to finalize the processing of the OOSM, a merge operation (described next) is required between the alternate reality branch and the head.
The prune operation in this example is completely described in 8 objects (2 for commit, 4 for root node and 2 for T1 ). These 8 small objects are added to the distributed database and the head is advanced to the new commit object.
Merging Trees— The merge tree operation is functionally similar to existing algorithms for merging Merkle Trees [33].
In this way, the evolution of the hypothesis tree can be recorded by adding these three types of objects to the database. Since the change is recorded as an addition to the database, the database will grow over time. This growth will therefore require some additional information management to control the size of database. However, this approach is still efficient since only new information needs to be added to the database.
Two basic merge processes are proposed: a generic 2-way, and a 3-way merge. In the case of merging two trees, in the event that the two trees were identical in the past (i.e. contain a common ancestor), a 3-way merge algorithm can be used, otherwise, a 2-way merge is done. See [34] for an example and demonstration of a 3-way merge of two trees. GIT [19] DVCS employs multiple merge algorithms which have variable performance depending on the tree content being merged. The correct choice of merge algorithm for merging the MHTtrees is one avenue of further research.
It is worth remarking that standard TO-MHT architectures usually delete hypotheses between scans. Instead, in our implementation, the MHTtree state loses the hypotheses, but the hypotheses themselves are still stored in the database, and so deletion decisions can be easily reviewed. This is a design choice to give the opportunity to improve the management of OOSMs.
Merge operations can also be classified as push or pull. A push merge is the sending of the local tree to a remote tree, updating the head, or creating a new branch off the head. A pull merge is the requesting of a remote tree to merge into the local tree. In a pull merge, since the local node is making the request, it is less intrusive to the logic of the remote tree (i.e. hypothesis scoring). For the application to tracking, it makes sense that a pull merge would likely be the best approach.
Confirming a Hypothesis - Collapsing MHTtree branch (hard report-track association) The traditional TO-MHT implementation needs to at some point make a hard association. In fact, after several S-Scan Pruning, the MHTtree state will present long few branches, representing track hypotheses associated to the (hopefully) true tracks. There is no need, after a certain amount of time, to mantain these long branches to account for possible OOSMs. The branches (track hypotheses) need to be converted into a single node object (a confirmed track). Then the procedures operates as follows: a track represented by a series of node objects (with associated a single leaf/blob) is substituted with single a unique node object (which contains ordered list of all the leaves/blobs by hash), then reducing the Index dimension and speeding-up the subsequent iterations over the MHTtree state.
Another issue to consider is that the node objects are stored in the database without the score. For this reason, the track hypothesis must be calculated and updated during a merge. During a pull merge, it is proposed that the remote track hypotheses can be re-scored using a local filter. That is, Eqn. T1 T1 9 uses the innovations (zk,j − zˆk|k−1 , Sk,j ) from the local filter. When merging, it is likely that “conflicts” will be generated between the associations in the two trackers. In this case, the conflicts are treated as competing hypotheses and are resolved using the constrained optimization via Lagrange Relaxation described in Eqn. 12.
Clustering In our implementation, cluster forming/splitting is easily assisted by the use of the Index. In fact track clusters can be discovered by a simple navigation over the nodes (and their leaves lists). Branching Tree Versions—Tree version branching is distinguished from the branching of hypotheses in that the former describes the relationship between commit objects, and the latter between node objects. The tree branching operation is achieved by modifying the MHTtree and creating a commit object with the parent commit pointing to a previous state different from the head. For a branch, it is important to keep track of the commit object that points to the most recent commit in the new branch. Should the hash of the branch become “lost”, the objects that are unique to this parallel
4. R ESULTS AND B ENCHMARKS To test the concept, the hash-tree based tracker was implemented in the Microsoft .NET framework using C# under an Object Oriented Programming (OOP) paradigm. For the purposes of this paper, we aim not to evaluate the tracking performance of the TO-MHT algorithm, but to evaluate the feasibility of the hash-tree based approach. It is the goal then to exploit this approach to enhance the scalability of the TO-MHT algorithm, and make possible a fully distributed 6
Figure 9. 12 minutes of raw AIS data from 1 October 2011 Figure 8. Rate of object growth for a single target for varying tree depth before resolve (N) without sub-optimization (no clutter)
tracking system. The tracking performance of the TO-MHT algorithm should not be influenced by the hash tree approach. MHTree benchmarks To evaluate the performance of the hypothesis tree, a relatively clean data set was used. This was to simplify the situational understanding and to approximately isolate the impact and influence of the assignment algorithm from the tree storage. Automatic Identification System (AIS) data containing ship positions via GPS transponders was collected from the Ligurian sea. Note that we did not use AIS identification information for tracking, in fact the data set was used only to analyze performance of this architecture through an ”unassociated” virtual data set, to confirm speed of the proposed architecture. A data set from October 1 was arbitrarily chosend and passed into the tracking algorithm. To establish a baseline for the rate of growth of objects in the DB, Fig. 8 shows the number of objects for a single track.
Figure 10. Rate of object growth for multiple tracks with N=3 (no clutter) tree based approach. Again, it is not the goal here to evaluate the tracking performance, and so a benchmark using data with clutter was not done. Evaluating the tracker for a sensor with a higher false alarm rate is planned under future work. Next, the implementation was profiled to see what parts of the algorithm take the most time to execute.
For N = 2, 3, and 4, there are on average 16, 26, and 44 objects created, respectively, for each new measurement. This includes the objects that describe the new measurement, and the objects that describe the result of association conflict resolutions. This exponential relationship in the rate of growth versus tree depth is due to the unconstrained new track hypothesis generation. Adding better constraints for new tracks (i.e. better track initiation logic) would decrease this growth rate. The next step in the evaluation is to identify the rate of object growth for multiple tracks.
The total CPU time on a Core 2 Quad Core Q6600 is shown in Fig. 11. 92.25% of the time was spent on track resolve procedure. This involves setting up the conflict matrix A, solving the constrained optimization problem, and pruning and resolving tracks. The pruning operations took 40.25% of the total time, and track maintenance logic took 43.35% of the time. Also of interesting note is that computing the object hashes using the built in Microsoft .NET SHA-1 hash algorithm implementation only consumes 0.6% of the execution time. The main bottleneck in our initial implementation is in object hash equality checking, which has not yet been optimized.
Fig. 9 is a plot of the data passed to the tracking algorithm. The relatively clean AIS data consists of tracks in harbors, tracks in near vicinity of each other, and tracks which are isolated. In Fig. 10, the number of resolved tracks and number of objects are shown concurrently during the addition of measurements to the tracker. It is observed that for the multiple target scenario, the rate of object growth remains nearly linear as new reports are passed to the tracker. This result confirms that the object database grows linearly as new observations are processed, and verifies the storage efficiency of the hash-
Even without many optimizations in implementation, the algorithm is close, but not yet (17 minutes processing for 12 minutes data) able to process the test data set at near real time. With some additional effort to minimizing processing 7
R EFERENCES [1] [2]
[3]
Figure 11. CPU Usage during tracking
[4] overhead, it is expected that the performance of the tracker will greatly improve.
[5]
5. C ONCLUSIONS AND F UTURE W ORK In this paper, we have outlined the concept and initial implementation in an effort to achieve a fully distributed TO-MHT using a Merkle Tree to store and organize hypotheses. We have demonstrated that through such an implementation, it becomes feasible to maintain historical hypothesis level tree versioning. The goal of such a feature is to be able to fuse asynchronously hypothesis trees through merging, and thus to also effectively handle OOSMs.
[6]
[7]
[8] While the distributed Merkle Tree approach has proved successful in the domains of cryptography and DVCS, future efforts to test and develop various merge algorithms for a tracking implementation will provide more insight into whether or not the successes carry over into the tracking domain.
[9]
[10]
There remains a great deal of work to do in the implementation of this tracking approach, both in the implementation of the single tracking node, and in the implementation of distributed tracking.
[11]
The following lists outline some ideas for further study. Future Work on Tracking Nodes
[12]
Implementation of more filtering and scoring algorithms such as Interacting Multiple Model (IMM), Particle Filtering (PF) and Constrained context-based filtering. • Improvement of different track management logic such as different track initialization and termination algorithms. • Evaluation of the tracker with sensors which have high false alarm rates, such as HF radar. •
[13]
Future Work on Distributed Tracking
[14]
Multiple cooperating trackers with different data/sensors including high-rate and low rate sensors. • Multiple cooperating trackers with different association, gating, and scoring algorithms. • Research into different merge algorithms for communicating hypotheses. • Development of a distributed Peer-to-Peer (P2P) tracker communication protocol. •
[15]
[16] The aim of this paper was to evaluate the feasibility of a hash-tree based approach. While this tracker has not yet been shown to be fully operational, this paper presented some promising starts towards such an end. 8
S. S. Blackman and R. Popoli, Design and analysis of modern tracking systems. Artech House, 1999. P. Braca, M. Guerriero, S. Marano, V. Matta, and P. Willett, “Selective measurement transmission in distributed estimation with data association,” IEEE Transactions on Signal Processing, vol. 58, no. 8, pp. 4311–4321, aug. 2010. Y. Bar-Shalom and X.-R. Li, Multitarget-multisensor tracking: Principles and Techniques. Storrs, CT: YBS Publishing, 1995. N. Nahi, “Optimal recursive estimation with uncertain observation,” IEEE Transactions on Information Theory, vol. 15, no. 4, pp. 457–462, jul. 1969. R. A. Singer and J. J. Stein, “An optimal tracking filter for processing sensor data of imprecisely determined origin in surveillance systems,” in IEEE Conference on Decision and Control, vol. 10, dec. 1971, pp. 171–175. Y. Bar-Shalom and E. Tse, “Tracking in a cluttered environment with probabilistic data association,” Automatica, vol. 11, no. 5, pp. 451–460, 1975. R. J. Fitzgerald, “Track biases and coalescence with probabilistic data association,” IEEE Transactions on Aerospace and Electronic Systems, vol. AES-21, no. 6, pp. 822–825, nov. 1985. Y. Bar-Shalom, “Comments on track biases and coalescence with probabilistic data association,” IEEE Transactions on Aerospace and Electronic Systems, vol. AES-22, no. 5, pp. 661–662, sep. 1986. D. B. Reid, “An algorithm for tracking multiple targets,” IEEE Transactions on Automatic Control, vol. 24, no. 6, pp. 843–854, 1979. T. Kurien, Issues in the design of practical multitarget tracking algorithms. In Y. Bar-Shalom (Ed.) Multitarget-Multisensor Tracking: Advanced Applications. Artech House, 1990, ch. 3. K. G. Murty, “An algorithm for ranking all the assignments in order of increasing cost,” Operations Research, vol. 16, no. 3, pp. 682–687, 1968. I. J. Cox and S. L. Hingorani, “An efficient implementation of reid’s multiple hypothesis tracking algorithm and its evaluation for the purpose of visual tracking,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 18, no. 2, pp. 138–150, feb. 1996. R. L. Popp, K. R. Pattipati, and Y. Bar-Shalom, “m-best s-d assignment algorithm with application to multitarget tracking,” IEEE Transactions on Aerospace and Electronic Systems, vol. 37, no. 1, pp. 22–39, jan. 2001. M. E. Liggins II, C.-Y. Chong, I. Kadar, M. G. Alford, V. Vannicola, and S. Thomopoulos, “Distributed fusion architectures and algorithms for target tracking,” Proceedings of the IEEE, vol. 85, no. 1, pp. 95–107, jan. 1997. S. Coraluppi, C. Carthel, and M. Mallick, “Hierarchical multi-hypothesis tracking with application to multiscale sensor data,” in IEEE Aerospace Conference Proceedings, vol. 4, 2002, pp. 1609–1623. M. Mallick, L. Y. Pao, and K. C. Chang, “Multiple hypotheses tracking based distributed fusion using decorrelated pseudo measurement sequence,” in Proceedings of the 2004 American Control Conference, vol. 5, jul. 2004, pp. 4750–4751.
[17] C.-Y. Chong, S. Mori, and K.-C. Chang, “Information fusion in distributed sensor networks,” in American Control Conference, jun. 1985, pp. 830–835. [18] C.-Y. Chong, K.-C. Chang, and S. Mori, “Tracking multiple air tragets with distributed acoustic sensors,” in American Control Conference, jun. 1987, pp. 1831– 1836. [19] (2011, Nov.) Git - the fast version control system. [Online]. Available: http://git-scm.com/ [20] (2011, Nov.) Mercurial scm. [Online]. Available: http://mercurial.selenic.com/ [21] D. Knittl-Frank, “Analysis and comparison of distributed version control systems,” Master’s thesis, University of Applied Sciences, Upper Austria, jun. 2010. [22] M. Kojima, H. Kameda, S. Tsujimichi, and Y. Kosuge, “A study of target tracking using track-oriented multiple hypothesis tracking,” in SICE ’98. Proceedings of the 37th SICE Annual Conference. International Session Papers, jul. 1998, pp. 933–938. [23] Y. Kosuge, M. Kojima, and S. Tsujimichi, “Multiple manoeuvre model track-oriented mht (multiple hypothesis tracking),” in 38th Annual Conference Proceedings of the SICE Annual, aug. 1999, pp. 1129–1134. [24] Y. Bar-Shalom, S. S. Blackman, and R. J. Fitzgerald, “Dimensionless score function for multiple hypothesis tracking,” IEEE Transactions on Aerospace and Electronic Systems, vol. 43, no. 1, pp. 392–400, jan. 2007. [25] J. Vermaak, S. J. Godsill, and P. Perez, “Monte carlo filtering for multi target tracking and data association,” IEEE Transactions on Aerospace and Electronic Systems, vol. 41, no. 1, pp. 309–332, jan. 2005. [26] Y. Bar-Shalom, Tracking and data association. San Diego, CA, USA: Academic Press Professional, Inc., 1987. [27] C. Carthel, S. Coraluppi, K. Bryan, and G. Arcieri, “Real-time wide-area tracking with intermittent multisensor data,” Nato Undersea Research Center (NURC), Tech. Rep. NURC-FR-2010-003, jan. 2010. [28] S. Deb, M. Yeddanapudi, K. Pattipati, and Y. BarShalom, “A generalized s-d assignment algorithm for multisensor-multitarget state estimation,” IEEE Transactions on Aerospace and Electronic Systems, vol. 33, no. 2, pp. 523–538, apr. 1997. [29] “Classification and generation of disturbance vectors for collision attacks against sha-1,” 2008,
[email protected] 14187 received 4 Nov 2008. [Online]. Available: http://eprint.iacr.org/2008/469 [30] S. Coraluppi, C. Carthel, P. Willett, M. Dingboe, O. O’Neill, and T. Luginbuhl, “The track repulsion effect in automatic tracking,” in 12th International Conference on Information Fusion (Fusion 2009), jul. 2009, pp. 2225–2230. [31] R. C. Merkle, “Method of providing digital signatures,” US Patents - Algorithm 4309569, jan. 1982. [32] M. Berkelaar, K. Eikland, and P. Notebaert, “lp solve 5.5, open source (mixed-integer) linear programming system,” Software, May 1 2004, last accessed Dec, 18 2009. [Online]. Available: http://lpsolve.sourceforge.net/5.5/ [33] J. Cates, “Robust and efficient data management for a distributed hash table,” Master’s thesis, Massachusetts Institute of Technology, jun. 2003.
[34] T. Lindholm, “A 3-way merging algorithm for synchronizing ordered trees,” Master’s thesis, Helsinki University of Technology, sep. 2001.
B IOGRAPHY [ Domenico Ciuonzo was born on June 29th, 1985. He received the Bachelor Degree (summa cum laude) and the Master’s Degree (summa cum laude) in Computer Engineering, respectively in 2007 and 2009, both from Second University of Naples (IT). His work was focused on wireless MIMO and CDMA channels. He is currently following the Ph.D. program in Electronics Engineering at the Department of Information Engineering, Second University of Naples (IT). His research interests are in Data and Decision Fusion, Model Learning and Probabilistic Graphical Models. In 2011 he was involved in the Visiting Researcher Programme of NATO Undersea Research Center (NURC), La Spezia, Italy, where he worked in the ”Maritime Situational Awareness” project. He is a reviewer for IEEE Transactions on Aerospace and Electronics Systems. Steven Horn graduated from the University of Lethbridge in Canada with a M.Sc. Physics. He was hired by Defence Research and Development Canada, Centre for Operational Research and Analysis (DRDC CORA). He worked as a defence scientist embedded in Joint Task Force Pacific (JTFP), in Esquimalt, British Columbia, Canada, providing fast scientific analysis and advice to ongoing maritime operations. At JTFP, he worked on the integration of new remote sensing technologies into Maritime ISR operations. He is currently on leave from DRDC, on contract with the NATO Undersea Research Centre (NURC) as a scientist in Multi-Sensor Fusion and Tracking.
9