• No results found

Multi-object update

In document FUNDAMENTALS OF OBJECT TRACKING (Page 169-179)

object-existence-based approach

5.4 Optimal Bayes’ recursion

5.4.5 Multi-object update

A multi-object situation arises when tracks share measurements, i.e., some mea-surements are selected (gated) by more than one track. Multi-object tracking dif-fers from single-object tracking by the measurement origin assumption. When updating a track, each measurement has only one origin, which is one of:

r clutter;

r the object whose track is being updated;

r objects followed by other tracks.

As the event that a measurement is a track detection is mutually exclusive across tracks, and not mutually independent, the optimal Bayes’ update operations have to consider all tracks in a cluster (defined below) simultaneously. The optimal Bayes’ track update equations in Section 5.4.3 are still valid; however, a significant amount of work is required to adapt them to the multi-object situation. Otherwise, track prediction and likelihoods presented in Section 5.4.1 are still valid, as these operations are performed on a track-by-track basis, and are thus identical for both single- and multi-object tracking.

In this section, track superscripts are used (usually τ or η) to distinguish between tracks.

Clusters

In the (possible) presence of multiple objects, the measurement origins are no longer independent. If a measurement is a detection of one object, it changes the possibilities of the measurement outcomes for other (possible) objects, as they have “lost” one candidate for their detections. Thus, the allocation of measure-ments to possible objects (tracks) must be considered jointly or globally. A joint measurement allocation is an allocation of all measurements to all possible objects and to clutter.

The optimal Bayes approach to multi-object tracking consists of enumerating all (feasible, defined below) joint measurement allocations, and then evaluating them. The number of feasible joint measurement allocations grows combinatori-ally with the number of tracks and the number of selected measurements. For this computational reason tracks are first grouped into mutually exclusive clusters, as detailed below:

A cluster at time k is a set of tracks and the measurements these tracks select, defined by its complement: tracks not belonging to the cluster must not select any of the cluster measurements.

M4

M5 M2 M3

M1

T1 T2

T3

T4

Figure 5.3 Clusters.

In other words, any track which selects cluster measurements also belongs to the cluster, and adds its set of selected measurements to the set of cluster measure-ments. Please note that this definition allows a track to belong to a cluster even if it does not share the selected measurements with other cluster tracks. A trivial cluster is a set of all existing tracks. For reasons of computational complexity min-imization, clusters are always formed to contain the minimum number of tracks conforming to the definition. A track which does not share measurements with any other track can form a cluster.

Also note that clusters are formed anew at each scan. Two tracks which share a cluster in one scan may be in different clusters in subsequent scans, and vice versa.

This may cause confusion, as the term cluster is used in a different manner in the MHT (Reid, 1979) literature.

Consider the situation depicted in Figure 5.3. There are four tracks, labeled T1 to T4, and five measurements, labeled M1 to M5. Each track is depicted by its selection gate border in the two-dimensional surveillance space. In this situation there are three clusters with a minimum number of tracks:

r Tracks T1 and T2 both select (share) measurement M1.

r Track T3, which does not share its selected measurement M3 with any other track, forms a cluster on its own. The fact that the selection gate of track T3 intersects the selection gate of track T2 does not count.

r Track T4 forms a cluster on its own.

Any union of two or more clusters is also a cluster.

The optimal Bayes multi-object tracking approach suffers from the curse of complexity. The number of possible allocations of all measurements to all tracks (“feasible joint measurement allocations” or “feasible joint events”) grows combi-natorially with the number of measurements and the number of tracks involved.

5.4 Optimal Bayes’ recursion 159 The number of unique assignments of m measurements to T tracks, assuming that all tracks select all measurements (including the possibilities of object non-detections), is (Muˇsicki and La Scala, 2008)

T!

The number of feasible joint events depends only on the number of measurements, the number of tracks and the measurement selection outcomes. The number of feasible joint events does not depend on the number of track components.

The purpose of clustering is to minimize the number of operations by separating the tracks into groups or clusters. Assume T = 6 and m = 6 in (5.46). Then the total number of feasible joint assignments is 13 327. If we divide the set of T = 6 tracks into two smaller clusters of three tracks each, each cluster selecting three measurements, the number of feasible joint events for each cluster becomes 34, for a total of 68.

Joint multi-object tracking is applied to all tracks in a cluster simultaneously, while ignoring tracks which do not belong to the cluster. Thus, for the rest of Section 5.4.5 we assume that all tracks and measurements mentioned belong to the same cluster.

The cluster area is a union of the selection gate areas of all tracks which form the cluster, and it effectively becomes a new selection gate for all tracks belonging to the cluster. Denote by yτkthe set of measurements selected by trackτ at time k.

Then the measurement set selected by the cluster becomes yk =)

τ

yτk.

Feasible joint data association events

A joint event is one allocation of all measurements to all tracks in the cluster, i.e., a joint event is a hypothesis of the origin of all measurements within the clus-ter. Mathematically, a joint event ε is defined by ε= ,T

τ=1θkτ(i(τ, ε)), with T denoting the number of tracks in the cluster, and i(τ, ε) denoting the index of the measurement allocated to trackτ by the joint event ε.

Based on the infinite-resolution sensor and the point object assumptions, a fea-sible joint event is a joint event which satisfies the following:

r each track is assigned zero or one measurement; and r each measurement is allocated to zero or one track.

Table 5.3 Multi-object joint events.

Joint eventε Track T1 Track T2 Track T3

(1) 0 0 0

(2) M1 0 0

(3) M2 0 0

... ... ... ...

(21) M2 M3 M4

T1

T2

T3

M1

M2

M3

M4

Figure 5.4 Multi-object situation.

Two feasible joint events are different if the assignment of at least one mea-surement is different. Different feasible joint events are mutually exclusive, and we enumerate all feasible joint events. Consider the one-cluster multi-object situ-ation shown in Figure 5.4, with three tracks, T1–T3, selecting four measurements, M1–M4. The selection gate area limits of the tracks are shown as ellipsoids. In this one cluster, we can identify 21 feasible joint events, some of which are listed in Table 5.3. For example, feasible joint event(3) allocates measurement M2 to track T1, whereas no measurements are allocated to tracks T2 and T3. Measurements M1, M3 and M4 are declared clutter. Feasible joint event (21) allocates measure-ment M2, M3 and M4 to track T1, T2 and T3 respectively, whereas measuremeasure-ment M1 is declared clutter.

The feasible joint event space is “finely” divided into a set of mutually exclu-sive feasible joint events. It is also more “coarsely” divided into a set of mutually exclusive joint track detection events. A joint track detection eventD divides the set of existing tracks into two sets:

r T0(D): set of tracks allocated no measurement;

r T1(D): set of tracks allocated one measurement.

5.4 Optimal Bayes’ recursion 161 The detection event of each track is a priori independent. The prior probabilities of no selected detection of each trackη ∈ T0(D) equal

p(θkη(0)|Yk−1) = 1 − PDηPGηp(χkη|Yk−1),

p(θkη(0)|χkη, Yk−1) = p(θkη(0)|χkη, xηk, Yk−1) = 1 − PDηPGη, the prior probabilities of the selected detection of each trackη ∈ T1(D) equal

p( ¯θkη(0)|Yk−1) = PDηPGηp(χkη|Yk−1),

p( ¯θkη(0)|χkη, Yk−1) = p( ¯θkη(0)|χkη, xηk, Yk−1) = PDηPGη, thus the prior probability of a joint detection eventD is

p(D|Yk−1) = *

η∈T0(D)

1− PDηPGηp(χkη|Yk−1) *

η∈T1(D)

PDηPGηp(χkη|Yk−1).

Following the same argument, only conditioned on the objectτ existence, p

Each feasible joint eventε corresponds to one joint detection event D(ε). Each joint detection eventD potentially corresponds to a number of feasible joint events.

Thus, it is a “one-to-many” correspondence. In Table 5.3, joint events(2) and (3) correspond to the same detection event: they both imply detection of track T1, and non-detection of tracks T2 and T3. Number of joint detection events equals 2T, with T denoting here the number of tracks. In this example, 23 = 8 joint detection events partition the feasible joint event space of 21 feasible joint events.

Asε ∈ D(ε), then

ε = ε -D(ε), and

p(·, ε|Yk−1) = p(·, ε, D(ε)|Yk−1) = p(·, ε|D(ε), Yk−1)p(D(ε)|Yk−1).

Denote byε(D) the set of all feasible joint events corresponding to the joint detec-tion event D. The set of all joint events D encompasses the feasible joint event space, and then

Measurement likelihoods

Each trackτ is updated using the Bayes’ equations, i.e., Section 5.4.3 still applies.

For convenience, we repeat (5.29) and (5.30), where superscriptτ denotes track τ:

p Equation (5.12) is also still valid:

p

In multi-object situations, we need to consider the exhaustive set of mutually exclusive feasible joint eventsε and summing out ε or using the total probabil-ity theorem

For the joint eventε define:

r M0(ε): set of measurements not allocated to any track;

r T0(ε) = T0(D(ε)): set with cardinality t0(ε) of tracks allocated no measure-ment;

r T1(ε) = T1(D(ε)): set with cardinality t1(ε) of tracks allocated one measure-ment;

r i(τ, ε): index of measurement allocated to track τ.

For joint event (2) listed in Table 5.3, T0(2) = {T2, T3}, T1(2) = {T1}, and i(T1, 2) = 1, i(T2, 2) = 0, i(T3, 2) = 0. For joint event (21) listed in Table 5.3, T0(21)= { } (empty set), T1(21) = {T1, T2, T3}, and i(T1, 21) = 2, i(T2, 21) = 3, i(T3, 21) = 4.

Denote by tc(ε) the number of measurements assumed to be clutter by joint eventD(ε),

tc(ε) + t1(ε) = mk.

The number of possible allocations of mkmeasurements among t1(ε) tracks equals Vmt k

1(ε)= t1(ε)!Cmt1(ε)k = mk! tc(ε)!,

5.4 Optimal Bayes’ recursion 163 where each allocation is equally (a priori) probable and therefore

p(ε|mk, D(ε), Yk−1) = tc(ε)!

mk! . (5.51)

The prior probability of tc(ε) selected clutter measurements equals p(mk|D(ε), Yk−1) = μF(tc(ε)) = exp(− ¯mk) ¯mtkc(ε) tc(ε)!

= μF(mk) ¯m−tk 1(ε) mk! tc(ε)!,

(5.52)

which does not depend on the object existence event, given the joint detection event, thus

p(mk|D(ε), χkτ, Yk−1) = p(mk|D(ε), χkτ, xτk, Yk−1) = p(mk|D(ε), Yk−1).

(5.53) Following the derivation of Section 5.4.4, given the measurement allocation, the likelihoods of individual measurements yk(i) are mutually independent and the likelihood of measurement set ykis the product of the individual likelihoods:

p(yk|ε, mk, D(ε), Yk−1) = *

The object existence event, givenε, does not change the value of the likelihoods, although knowledge of objectτ state may, and

p(yk|ε, mk, D(ε), χkτ, Yk−1) = p(yk|ε, mk, D(ε), Yk−1), (5.55) Putting together (5.50), (5.51), (5.52) and (5.54) we obtain

p(yk, mk|Yk−1) = pρ,kμF(mk)

For convenience, we define shortcut A(ε) as the a posteriori probability of the feasible joint eventε equals

p(ε|Yk) = p(yk, mk, ε|Yk−1) p(yk, mk|Yk−1)

= A(ε)

 A().

(5.58)

Denote by(τ, i) the set of feasible joint events which allocate measurement i to trackτ. Set (τ, 0) contains all feasible joint events ε for which τ ∈ T0(ε). For i = j sets (τ, i) and (τ, j) are mutually disjoint, and union of all sets (τ, i), i = 0, . . . , mk, is the set of all feasible joint events.

Putting together (5.50), (5.47), (5.53) and (5.55) we obtain p(yk, mkkτ, Yk−1) = pρ,kμF(mk) and using (5.50), (5.47), (5.53) and (5.56) we obtain

p(yk, mkkτ, xτk, Yk−1) = pρ,kμF(mk)

5.4 Optimal Bayes’ recursion 165 Placing the likelihood values defined by (5.57) and (5.59) into (5.48), the a posteriori probability of object existence for trackτ is

p(χkτ|Yk) =

which, after inclusion of (5.58), becomes p(χkτ|Yk) = (1 − PDτPGτ)p(χkτ|Yk−1) Remark 5.1 Eventθkτ(0) equals the union of joint events which are elements of

(τ, 0):

θkτ(0) = )

ε∈(τ,0)

ε (5.62)

Proof Each feasible joint eventε which is an element of set (τ, 0) implies that τ is allocated no measurements, i.e., implies event θkτ(0). Thus

ε ∈ (τ, 0) ⇒ θkτ(0), or

θkτ(0) ⊆ )

ε∈(τ,0)

ε. (5.63)

On the other hand, each joint event that is not an element of(τ, 0) implies the event that trackτ is allocated some measurement, meaning that θkτ(0) is not true, or

Remark 5.2 For 1≤ i ≤ mkevent< θkτ(i), χkτ > equals the union of joint events which are elements of(τ, i):

< θkτ(i), χkτ >= )

ε∈(τ,i)

ε. (5.65)

Proof The proof closely follows the proof of Remark 5.1.

As a consequence of Remark 5.1 and the mutual exclusiveness of feasible joint events,

p(θkτ(0)|Yk) = 

ε∈(τ,0)

p(ε|Yk). (5.66)

As a consequence of Remark 5.2 and the mutual exclusiveness of feasible joint events, for i > 0,

Following a derivation similar to that of (5.38) (replacing the event mk = 0 by the eventθkτ(0), and Yk−1by Yk), it is easy to show that

p(θkτ(0), χkτ|Yk) = (1 − PDτPGτ)p(χkτ|Yk−1)

1− PDτPGτ p(χkτ|Yk−1) p(θkτ(0)|Yk), (5.68) and the updated probability of target existence becomes

p(χkτ|Yk) =

mk



i=0

p(θkτ(i), χkτ|Yk). (5.69) To obtain the posterior object trajectory state pdf, we place the likelihood values defined by (5.59) and (5.60) into (5.49), and use (5.66) and (5.67):

p(xτkkτ, Yk)

5.4 Optimal Bayes’ recursion 167 which, using (5.68) and (5.69), becomes

p(xτkkτ, Yk) = p(θkτ(0), χkτ|Yk) +mk i=1

fkτ(i)

pτk(i)p(θkτ(i), χkτ|Yk)

p(χkτ|Yk) p(xτkkτ, Yk−1).

As in the case of the optimal single-object trajectory update, we define βkτ(i) = p(θkτ(i)|χkτ, Yk) = p(θkτ(i), χkτ|Yk)

p(χkτ|Yk) , (5.70) and note that, as in (5.41),

fkτ(i)p(xτkkτ, Yk−1) = pτk(i)p(xτkkτ, yk(i) , Yk−1),

where p(xτkkτ, yk(i) , Yk−1) is the object trajectory state pdf after measurement yk(i) was used to update the propagated object trajectory state pdf.

We can now immediately write p

xτkkτ, Yk

=

mk



i=0

βkτ(i)p(xτkkτ(i), χkτ, Yk), (5.71)

which is identical to the single-object trajectory state pdf equation (5.44). Once the appropriate conditional data association probabilitiesβkτ(i) are calculated, both single- and multi-object trajectory updates proceed in an identical manner.

In document FUNDAMENTALS OF OBJECT TRACKING (Page 169-179)