• No results found

Chapter 4 Theory of multi-target tracking

N/A
N/A
Protected

Academic year: 2021

Share "Chapter 4 Theory of multi-target tracking"

Copied!
12
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

Chapter 4

Theory of multi-target tracking

The aim of target tracking is to determine the trajectories of multi-targets over time and to solve the location of each target at every time instant. Zarrabeitia, Aruliah & Qureshi (2012) used multi-target tracking to track the path of a blood droplet between different frames of photos captured with a high speed camera. In this chapter the main focus will be on multi-particle tracking.

The multi-target tracking problem can be solved by defining it as a linear programming problem and solving it by using dynamic programming tech-niques. In this chapter the focus will be on the linear programming problem and for this specific case it will be an integer problem. In order to follow this approach the basic concepts of graph theory, linear programming and dynamic programming first need some attention.

4.1

Basic concepts

4.1.1

Graph theory

A digraph or directed graph G has the following characteristics: 1. The nodes, points or vertices form set V.

(2)

(Lipschutz & Lipson 2007, 201-203).

For the directed edge e = (u, v) the starting point is u and the end point is v and therefore u is the adjacent of v and v is the successor of u. Also then u will have an outdegree and v an indegree. A vertex is a source if it has a zero in-degree (see node 4 in figure 4.1) and a sink if it has a zero out-degree (see node 6 in figure 4.2). The number of vertices is the order and the number of edges is the size of the graph (Balakrishnan 1997, 1).

Figure 4.1: Directed Graph

In figure 4.1 node 1 has a loop, meaning there is an edge originating and ending at node 1. If a directed graph, defined as G = G(V, E), has a sub-graph it will be H(V′, E) with Vand Esubsets of V and E respectively

(Jongen, Meer & Triesch, 2004, 194).

The graph G is labelled if its vertices and/or edges have data assigned to them and weighted if each edge has a non-negative number assigned to it (see figure 4.2) (Lipschutz & Lipson 2007, 162).

A sequence containing all the edges and vertices of a multi-graph is a walk for instance

v0, e1, v1, e2, v2, ..., en−1, vn−1, en, vn (4.1)

where the vertices vj−1 and vj are contained by the edge ej (Balakrishnan

(3)

Figure 4.2: Weighted directed Graph

repeats in the closed walk then it is a circuit (Balakrishnan 1997, 29). If no vertices repeat in the circuit then it is a cycle A directed graph with no cycles is a directed acyclic graph.

If all the vertices in equation 4.1 are distinct, then it is a path (Lipschutz & Lipson 2007, 159). The total number of edges is the length of a path (Lipschutz & Lipson 2007, 159). The sum of all the edges’ weights in a path is the total weight of this path in G and is denoted by P d(s, t) with s and t the two vertices joined by the path (Hershberger, Maxel, M & Suri, 2003). The path with a minimum weight is the shortest path.

A connected graph is a graph G where any two vertices have a path between them (Lipschutz & Lipson 2007, 203-204). A connected cycle free graph is a tree graph and if it has a designated vertex, it is a rooted tree graph. The designated vertex is the root of the tree. For a complete graph there is exactly one edge joining each pair of vertices (Balakrishnan 1997, 1).

(4)

4.1.2

Linear programming

Definition

The linear programming problem can in general be defined as a linear func-tion (Objective funcfunc-tion)

z = c1x1+ c2x2+ .... + cmxm

of m real variables x1, x2, ..., xm satisfying the non-negative conditions

x1 ≥ 0, x2 ≥ 0, ..., xm ≥ 0

which needs to be maximized/minimized subject to n linear constrains

a11x1 + a12x2+ ... + a1m ≤=≥ b1 a21x1 + a22x2+ ... + a2m ≤=≥ b2 . . . an1x1+ an2x2 + ... + anm ≤=≥ bn

The constraints can be a mixture of ≤, = and ≥ variety. (Bunday & Garside 1987, 3-4; Vanderbei 1997, 6-7).

In summation form: Minimize or maximize

n X j=1 cjxj = z (4.2) subject to n X j=1 aijxj ≤=≥ bi (i = 1, 2, ..., m) ∀xj ≥ 0 (j = 1, 2, ..., n)      (4.3)

(5)

4.1.3

Dynamic programming

The difference between linear programming and dynamic programming prob-lems is that the first solves multi variables at once, while the latter solves the variables separately (Dano 1975, 60). In figure 4.3 part a let b be the current state with c, d and e possible nodes with Jbc, Jbd and Jbe the paths

from b to the respective nodes (see figure 4.3 part a) (Kirk, 1970, 55).

Figure 4.3: Paths from b to f (Kirk, 1970, 55)

If f is the terminal node, then as illustrated in figure 4.3 part b, the paths from the nodes are J∗

cf, J ∗

df and J ∗

ef. The principle of optimality states that if

bd is the initial segment for the optimal path from the node b to the terminal node f , then df is the terminal segment for the optimal path.

The same holds for the rest of the segment (figure 4.3 part c). Then the optimal trajectories can be found by comparing

Jbcf = Jbc+ J ∗ cf

Jbdf = Jbd+ Jdf∗

Jbef = Jbe+ Jef∗

(Kirk, 1970, 55). Kirk (1970) defines dynamic programming as: ”A com-putational technique which extends the above decision-making concepts to sequences of decisions which together define an optimal policy and trajec-tory.”

(6)

4.2

Problem formulation

The probability of an object being present at each time step for a discrete set of locations is an occupancy map (Berclaz, Fleuret, Tu¨retken, & Fua, 2010). The set of locations can be divided into cells, where every cell is assigned an initial probability that corresponds to prior information available regarding the environment (Joubert, 2012). Using the cells construct two grids, the one for the probability of occupied cells and the other for free cells (Joubert, 2012).

Thus the linear programming problem for the multi-target tracking can be formulated as follows: A physical area can be discretized into K locations and T instants for the time interval (Berclaz et al., 2010). The neighbourhood of a location k is denoted by N(k) ⊂ {1, ..., K} which indicates the location of an object at time t and location that can be reached at time t + 1. A labelled directed graph is used with KT vertices representing every location at every instant. KT is the number of elements in

{(t, i)|0 ≤ t ≤ T ; 1 ≤ i ≤ k} (4.4)

and thus gives all the possible vertices over time and all the locations. Only if j ∈ N(i) between (t, i) and (t + 1, j) an edge exists, denoted by et

i,j. If the

object stays at a location i for time t to t + 1 then there is an edge et i,i (see

figure 4.4).

Further, label each vertex with mt

i which is a discrete variable representing

the number of objects at time t at a location i. Label each edge with ft i,j

which is a discrete variable representing at time t at a location i the number of objects moving to location j at time t + 1. If ft

i,i = 1 then an object

remains at location i for time t to t + 1.

Objective function

Define P (a|b) as the probability of a happening after b has already happened (Swanepoel, Swanepoel, Allison & Santana, 2011, 170). Then

P(a|b) = P(b|a)P (a)

P(b) =

P(a∩ b) P(b) from probability theory.

(7)
(8)

Further for cells with a regularly spaced grid the posterior probability distri-bution will be

P(m1, m2,· · · , mc|z1:t)

with c the number of cells and z1:t the measurement at time interval unity

to t (Joubert, 2012). For each individual cell estimate the state and as-sume conditional independence between the cells of the grid, so the posterior probability of each of the events

mti|z1:t

are all independent and therefore we may use the product,

P(m1, m2,· · · , mc|z1:t) =

Y

i

P(mi|z1:t).

If the measurements are simultaneously available then the building of a map of a specific environment will be the maximum a posterior approach so that

m∗

= argmax

m

log P (m1, m2,· · · , mc|z1:t)

(Joubert, 2012).

Example 1. To illustrate the meaning of argmax

argmax

x∈[0,2π]

cos(x) ={0, 2π}.

Thus the x-values, with x ∈ [0, 2π], where the function cos(x) will reach its

maximum values are 0 and 2π.

Thus for the multi-target tracking problem the probability of an object being present at a time t at location i is

pti = P (Mit= 1 | I t

)

where It is the availability of a signal at time t which is also in this case the function measured over time (Berclaz et al., 2010).

Further P(mti|z1:t) = P (Mit = m t i|I t ) (4.5)

(9)

so for a set of feasible maps denoted by ς the objective function is: m∗ = argmax m∈ς logY t,i P(Mit= m t i | I t ) = argmax m∈ς X t,i  log p t i 1− pt i  mti (Berclaz et al., 2010).

In other words, for a position m in the set ς, P

t,i  log pti 1−pt i  mt i will be a

maximum and is linear in mt

i as Berclaz et al. (2010) proved.

Proof of objective function

The equation can be derived as follows: The basic logarithmic law states that

log(AB) = log(A) + log(B) (Spiegel, Lipschutz & Liu, 2009, 53). Therefore

argmax m∈ς logY t,i P(Mt i = m t i | I t ) = argmax mǫς X t,i log P (Mit = m t i | I t ) (4.6) (Berclaz et al., 2010). Using the fact that mt

i can only be 0 or 1 log P (Mt i = m t i|I t) =  log P (Mit= 1|I t) mt i = 1 log P (Mt i = 0|I t ) mt i = 0 =  m t ilog P (Mit= 1|I t ) mt i = 1 (1− mt i) log P (Mit= 0|I t) mt i = 0 = (1− mt i) log P (M t i = 0|I t ) + mtilog P (M t i = 1|I t ), thus equation 4.6 can be written as

(10)

argmax mǫς X t,i (1− mt i) log P (M t i = 0 | I t) + mt ilog P (M t i = 1| I t) (Berclaz et al., 2010). The argmax m∈ς

only involves the terms containing m, therefore the terms that do not contain an m can be ignored. Subsequently by using the basic logarithmic law,

log(A)− log(B) = log A B



(Spiegel et al., 2009, 53) the equation can further be simplified: argmax m∈ς X t,i log P (Mit= 0 | I t )− mt ilog P (M t i = 0 | I t ) + mtilog P (M t i = 1 | I t ) = argmax m∈ς X t,i mtilog P (Mt i = 1| I t) − mt ilog P (M t i = 0| I t) = argmax m∈ς X t,i mtilog P(Mt i = 1| I t ) P(Mt i = 0| I t ) (Berclaz et al., 2010).

The rules for the probability of the complement Ac of A

P(Ac) = 1 − P (A) P(Ac |B) = 1 − P (A|B) imply P(Mit= 0|I t ) = 1− pt i

and then the equation can be further simplified:

m∗ = argmax mǫς X t,i  log p t i 1− pt i  mti (Berclaz et al., 2010).

(11)

Figure 4.5: Flow system (Berclaz et al., 2010) Constraints

At a location j at any time t, let the sum of flow arriving and the sum of outflow be mt

j, see figure 4.4. Therefore for all t and j

X i:jǫN(i) fi,jt−1 = mt j = X kǫN(j) fj,kt

The first summation indicates objects arriving at a location j at time t and the second, objects leaving from location j at time t.

Furthermore, for all k and t

X

jǫN(k)

fk,jt 61

due to the fact that only one object can occupy a location at any time. Also for all k, j and t

fk,jt >0

due to the fact that flow is always non-negative (Berclaz et al., 2010). Finally, an additional constraint is that all the flow departing from the source arrives at the sink X jǫN(vsource) fvtsource,j = X k:vsinkǫN(k) fk,vt sink (Berclaz et al., 2010). The random variable Mt

i is an object true presence at

(12)

Results

The linear programming formulation for our specific problem is: Maximize (Objective function) X t,i  log p t i 1− pt i  X jǫN(i) fi,jt (4.7) subject to (constraints) X j∈N(i) fi,jt 6 1 fi,jt > 0 X j∈N(i) fi,jt X k:i∈N(k) fk,it−1 ≤ 0 X j∈N(vsource) fvtsource,j X k:vsink∈N(k) fk,vt sink ≤ 0                        (4.8) (Berclaz et al., 2010). Remark

The objective function is linear in mt

i, therefore the objective function has

the same form as equation 4.2. Also the constraints 4.8 have the same form as the constraints 4.3.

Referenties

GERELATEERDE DOCUMENTEN

The dynamic forces we primarily want to control are the forces in the internal heat exchanger plates, which are caused by the displacement of the bottom of the

Schwaztz (in press) provides evidence that people discriminate four types of work values which pazallel the four basic human value types: intrinsic (openness to change),;

The term history app, when used in this thesis will always refer to location-based history apps which are the following: a piece of software that allows a mobile device

This paper however works on the above deterministic assumption, and does not yet consider the challenging problem considering inference on random graphs and related convergence

In par- ticular, we show that on a single coalgebra, the largest precocongruences is behavioural equivalence (Theorem 3.12), and that over neighbourhood models, precocongruences are

In spite of the differences in accumulation rates and related mass turnover, glaciers in not too dry conditions show a tendency towards a more or less constant balance gradient in

The reformulation of the linear programming problem, equation 4.7 subjected to equation 4.8, as a k -shortest path problem on a directed acyclic graph will be as follows (Berclaz

The pressure drop in the window section of the heat exchanger is split into two parts: that of convergent-divergent flow due to the area reduction through the window zone and that