computational movement analysis lecture 4: movement patterns joachim gudmundsson

99
Computational Movement Analysis Lecture 4: Movement patterns Joachim Gudmundsson

Upload: tacey

Post on 23-Feb-2016

43 views

Category:

Documents


0 download

DESCRIPTION

Computational Movement Analysis Lecture 4: Movement patterns Joachim Gudmundsson. Movement patterns. Much of the early work on movement analysis focussed on finding movement patterns. For example: Flocks (group of entities moving close together) Swarm Convoys Heards - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Computational Movement Analysis

Lecture 4: Movement patterns

Joachim Gudmundsson

Page 2: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Movement patterns

Much of the early work on movement analysis focussed on finding movement patterns.

For example:• Flocks (group of entities moving close together)• Swarm • Convoys • Heards• Following (is an entity following another entity)• Leadership• Single file• Popular places (place visited by many)• …

Page 3: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Movement patterns: Challenge

Find definitions of movement patterns that are:

1. Useful and

2. “Computable”

Page 4: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Movement patterns: Notation

n – number of entities (trajectories)

- maximum complexity of a trajectory

Page 5: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Movement patterns: Groups

Page 6: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

t1

t2

t3t4

Kalnis, Mamoulis & Bakiras, 2005 G. & van Kreveld, 2006Benkert, G., Hubner & Wolle, 2006Jensen, Lin & Ooi, 2007Al-Naymat, Chawla & G., 2007Vieria, Bakalov & Tsotras, 2009Jeung, Yiu, Zhou, Jensen & Shen, 2008Jeung, Shen & Zhou, 2008...

Movement patterns: Groups

Page 7: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Time = 01 65432 7 8m = 3

m – flock size

Movement patterns: Groups

Page 8: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

flock

meet

fixed subset variable subset

examples for m = 3

Movement patterns: Groups

Page 9: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Movement patterns: Convoy

Page 10: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Movement patterns: Convoy

X – set of entitiesm – convoy size – distance threshold

Define a group:x,yX are directly connected if the -disks of x and y intersect.

x1 and xk are -connected if there is a sequence x1,x2 ,…, xk of entities such that i, xi and xi+1 are directly connected.

x

y

x1

x2 x3x4

x5

Page 11: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

[Jeung, Yiu, Zhou, Jensen & Shen, 2008][Jeung, Shen & Zhou, 2008]

A group of entities form a convoyif every pair of entities are -connected.

Movement patterns: Convoy

Page 12: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Movement patterns: Leadership & Followers

Page 13: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

front

A leader?

- Should not follow anyone else!- Is followed by at least m

other entities.- For a certain duration.

Movement patterns: Leadership & Followers

Page 14: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

A leader?

- Should not follow anyone else!- Is followed by at least m

other entities.- For a certain duration.

Many different settings. Running time ~O(n2 log n)

Movement patterns: Leadership & Followers

[Andersson et al. 2007]

Page 15: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Movement patterns: Popular places

Page 16: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

σ

A region is a popular place if at least m entities visit it.

σ is a popular place for m 5

[Benkert, Djordjevic, G. & Wolle 2007]

Movement patterns: Popular places

Page 17: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Movement patterns: Popular places

Continuous model: maximum number of visitors O(2n2)

(2n2)

Discrete model: maximum number of visitors O(n log n)

(n log n)

Page 18: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Movement patterns: Single File

Page 19: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Movement patterns: Single File

Single file: Intuitively easy to define

Hard to define formally!

Page 20: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Movement patterns: Single File

Single file: Intuitively easy to define

Hard to define formally!

Page 21: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Movement patterns: Single File

Single file: Intuitively easy to define

Hard to define formally!

Page 22: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Towards a Formal Definition?

We say that the entities x1, … , xm are moving in single file for a given time interval if during this time each entityxj+1 is following behind entity xj for j = 1, … ,m-1.

Page 23: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Towards a Formal Definition?

Time t’ [t+min,t+max]

Time t

We say that the entities x1, … , xm are moving in single file for a given time interval if during this time each entityxj+1 is following behind entity xj for j = 1, … ,m-1.

Following behind?

Page 24: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Define Following Behind

Let x1 be an entity with parameterized trajectory f1 over the time interval [s1,t1] and let x2 be an entity with parameterized trajectory f2 over the time interval [s2,t2], where s2 [s1+min, s1+max] and t2 [t1+min, t1+max].

Entity x2 is following behind x1 in [s1,t1] if there exists a continuous, bijective function : [s1,t1] [s2,t2] such that (s1)=s2 and t [s1,t1]: (t) [t-max,t-min] d(f1((t)),f2(t)) .

f1

f2

Page 25: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Define Following Behind

f1

f2

Let x1 be an entity with parameterized trajectory f1 over the time interval [s1,t1] and let x2 be an entity with parameterized trajectory f2 over the time interval [s2,t2], where s2 [s1+min, s1+max] and t2 [t1+min, t1+max].

Entity x2 is following behind x1 in [s1,t1] if there exists a continuous, bijective function : [s1,t1] [s2,t2] such that (s1)=s2 and t [s1,t1]: (t) [t-max,t-min] d(f1((t)),f2(t)) .

Page 26: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Free Space Diagram

If there exists a monotone path in the free-space diagram from (0, 0) to (p, q) which is monotone in both coordinates, then curves P and Q have Fréchet distance less than or equal to ε

(0,0)

(p,q)

Page 27: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Free Space Diagram and Following Behind

The time delay means that the path will be restricted to a “diagonal” strip!

FC(f1,f2) = {(s,t) | d(f1(s),f2(t)) t-s [min,max]}.

min max

Running time: O(+k) where k is the complexity of the diagonal strip

Page 28: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Algorithm: Single file

One can determine in O(k2) time during which time intervals one trajectory is following behind the other.

If the order between the entities is specified then compute the free space diagram between every pair of consecutive entities:

Time: O(nk2)

Page 29: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

No Order?

If no order then compute the free space diagram between every pair of entities:

Time: O(n2k2)

x1

x2

x3

x4

([3,8],[14,21])

x1

x2

x3

x4

[Buchin et al. 2008]

Page 30: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Trajectory grouping

How to define and compute the structure of groups of moving entities, including merging and splitting?

[Buchin, Buchin, van Kreveld, Speckmann and Staals 2013]

Page 31: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Grouping

We do not want this to be considered: A merge of two groups into one, followed by a split of a group into two

Page 32: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Grouping

We probably want this to be considered: A merge of two groups into one, followed by a split of a group into two

Page 33: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Grouping: definitions

X – set of entities - complexity of each input trajectory

Define a group:x,yX are directly connected if the -disks of x and y intersect.

x1 and xk are -connected if there is a sequence x1,x2 ,…, xk of entities such that i, xi and xi+1 are directly connected.

x

y

x1

x2 x3x4

x5

Page 34: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Grouping: definitions

A set S of entities is -connected if all entities in S are pairwise -connected. The -disks of the entities in S form a connected component.

Page 35: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Grouping: definitions

C(t) – the set of connected components at time t that forms a partition of X.

C(t) consists of 5 components

Time: t

Page 36: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Grouping: definitions

What is a group?

Three criteria for a group:- big enough (size m)- close enough (-connected)- long enough (duration δ)

Only maximal groups are relevant (maximal in group size, starting time or ending time)

m=4

Page 37: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Grouping: definitions

What is a group?

Three criteria for a group:- big enough (size m)- close enough (-connected)- long enough (duration δ)

Only maximal groups are relevant (maximal in group size, starting time or ending time)

m=4

duration>δ

Page 38: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Grouping: definitions

Note that an entity can be in several maximal groups at the same time!

Page 39: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Grouping:definitions

Note that an entity can be in several maximal groups at the same time!

Page 40: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Grouping:definitions

Note that an entity can be in several maximal groups at the same time!

Page 41: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Grouping: definitions

Note that an entity can be in several maximal groups at the same time!

t=0 t=1

t=2t=3

t=[0,2] : red/bluet=[1,2] : red/blue/greent=[1,3] : red/green

At time t=2 red is in 3 groups

Page 42: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Trajectory grouping structure

Page 43: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Trajectory grouping structure

Page 44: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Trajectory grouping structure

purple

red, blue, greenblue, green

red greenpurple, green

red

blue

red, blue

t=0

t=1 t=4t=5

t=8

t=10t=0

t=0

t=10

t=10

Page 45: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Grouping

Questions: 1. Number of maximal groups?2. How can we effectively compute all the maximal

groups?

Page 46: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Grouping

Idea:Consider the motion of the -disks of the entities over time.

Page 47: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Grouping

Idea:Consider the motion of the -disks of the entities over time.

Þ Union of n tubes. Denote this manifold by M.

Each tube consists of skewed cylinders with horizontal radius .

We can see it as tracing the -disk of an entity over its trajectory.

Page 48: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Grouping

We are interested in horizontal cross-sections, and the evolution of the connected components.

This is captured by the so-called Reeb graphs.

Page 49: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Reeb graph

Reeb graph, with maximal groups associated to edges captures the changes in connectivity of a process, using a graph

– Edges are connected components– Vertices define changes in connected components (events)

Page 50: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Reeb graph

Four types of vertices: start vertex (time t0) – in-degree 0, out-degree 1end vertex (time t) – in-degree 1, out-degree 0merge vertex - in-degree 2, out-degree 1split vertex - in-degree 1, out-degree 2

Page 51: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Complexity of the Reeb graph

Observation:Reeb graph of M has (n2) vertices and edges.

Proof:Construction for one time step [ti,ti+1].

Page 52: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Complexity of the Reeb graph

Observation:Reeb graph of M has (n2) vertices and edges.

Proof:Construction for one time step [ti,ti+1].

Page 53: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Complexity of the Reeb graph

Observation:Reeb graph of M has (n2) vertices and edges.

Proof:Construction for one time step [ti,ti+1]. n/2 n/2 = (n2) components/ time step. □

Page 54: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Complexity of the Reeb graph

Observation:The Reeb graph of M has O(n2) vertices.

Proof:Consider two entities during one time interval [ti,ti+1].

This interval can generate at most two vertices in the the Reeb graph.

Page 55: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Complexity of the Reeb graph

Observation:The Reeb graph of M has O(n2) vertices.

Proof:Consider two entities during one time interval [ti,ti+1].

This interval can generate at most two vertices in the the Reeb graph.

O(n2) components/time step.

Page 56: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Computing the Reeb graph

Compute all events:For every pair of skewed cylinders compute the time of intersection.Time: O(n2)

Sort the events with respect to time:Time: O(n2 log n)

Page 57: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Computing the Reeb graph

Compute & sort all events:Time: O(n2 log n)

Initialize graph:Time: O(n2)

Handle events by increasing time:Time: O(n2 log n)Using a dynamic ST-trees [Sleator & Tarjan’83]

[Parsa‘12]

Page 58: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Computing the Reeb graph

Theorem:The Reeb graph of M can be computed in time O(n2 log n).

Page 59: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Number of maximal groups

Each entity follows a directed path in the Reeb graph starting at a start vertex andending at an end vertex.

purple

red, blue, greenblue, green

red greenpurple, green

red

blue

red, blue

t=0

t=1 t=4t=5

t=8

t=10

t=0

t=0

t=10

t=10

Page 60: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Number of maximal groups

Theorem: There are O(n3) maximal groups.

Proof:There are O(n2) vertices in the Reeb graph. Prove that O(n) maximal groups can start at a start or merge vertex.

purple

red, blue, greenblue, green

red greenpurple, green

red

blue

red, blue

t=0

t=1 t=4t=5

t=8

t=10

t=0

t=0

t=10

t=10

Page 61: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Number of maximal groups

Consider a merge vertex v. Assume sets S and T merge at v.

S Tv

Page 62: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Number of maximal groups

Consider a merge vertex v. Assume sets S and T merge at v.Let px denote the path of entity x ST starting at v.

S T

px

v

Page 63: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Number of maximal groups

Consider a merge vertex v. Assume sets S and T merge at v.Let px denote the path of entity x ST starting at v.

Consider the union R’ of all such paths from entities in ST.R’ is a directed acyclic subgraph of the Reeb graph.

S Tv

Page 64: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Number of maximal groups

Consider a merge vertex v. Assume sets S and T merge at v.Let px denote the path of entity x ST starting at v.

Consider the union R’ of all such paths from entities in ST.R’ is a directed acyclic subgraph of the Reeb graph.“Unravel” R’: if px and py split and then merge at a vertex u then duplicate the paths starting at u. S T

v

px

py

R’

Page 65: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Number of maximal groups

“Unravel” R’: if px and py split and then merge at a vertex u then duplicate the paths starting at u.

v

px py

v

px py

Page 66: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Number of maximal groups

“Unravel” R’: if px and py split and then merge at a vertex u then duplicate the paths starting at u.

v

px

v

px pypy

Page 67: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Number of maximal groups

“Unravel” R’: if px and py split and then merge at a vertex u then duplicate the paths starting at u.

v v

Page 68: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Number of maximal groups

“Unravel” R’: if px and py split and then merge at a vertex u then duplicate the paths starting at u.

v v

Page 69: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Number of maximal groups

“Unravel” R’: if px and py split and then merge at a vertex u then duplicate the paths starting at u.A maximal group can only end at an end or split vertex.

v

Page 70: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Number of maximal groups

“Unravel” R’: if px and py split and then merge at a vertex u then duplicate the paths starting at u.A maximal group can only end at an end or split vertex. Number of leaves = |S|+|T| n

v

Page 71: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Number of maximal groups

“Unravel” R’: if px and py split and then merge at a vertex u then duplicate the paths starting at u.A maximal group can only end at an end or split vertex. Number of leaves = |S|+|T| nNumber of split vertices?Every vertex has degree at most 3. O(n) split vertices.

v

Page 72: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Number of maximal groups

“Unravel” R’: if px and py split and then merge at a vertex u then duplicate the paths starting at u.A maximal group can only end at an end or split vertex. Number of leaves = |S|+|T| nNumber of split vertices?Every vertex has degree at most 3. O(n) split vertices.There can be at most one maximal group starting at v and ending at a split vertex w. O(n) maximal groups starting at v.

v

Page 73: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Number of maximal groups

Theorem: There are O(n3) maximal groups.

Proof:There are O(n2) vertices in the Reeb graph. There are O(n) maximal groups can start at a start or merge vertex. □

v

Page 74: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Computing the maximal groups

Input: Given a set of trajectories and three parameters m, and .

1. Compute the Reeb graph using distance . Time: O(n2 log n)2. Process the vertices in time-order, maintaining maximal

groups

t0

tG

1234

(1,t0)

(2,t0)(3,t0)

(4,t0)

t1 t2

(1,t0)(2,t0)

(12,t1)

(3,t0)(4,t0)

(34,t1) t3 t4

(1,t0)(2,t0) (3,t0)(4,t0)

(12,t1)(34,t1)

(1234,t2)

1,3

2,4

(1,t0)(3,t0)

(13,t2)

(2,t0)(4,t0)

(24,t2)

Page 75: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Computing the maximal groups

2. Maintain maximal groupsEach edge e=(u,v) is labelled with a set of maximal groups Ge.Note: A group G becomes maximal at a vertex.

t0

tG

1234

(1,t0)

(2,t0)(3,t0)

(4,t0)

t1 t2

(1,t0)(2,t0)

(12,t1)

(3,t0)(4,t0)

(34,t1) t3 t4

(1,t0)(2,t0) (3,t0)(4,t0)

(12,t1)(34,t1)

(1234,t2)

1,3

2,4

(1,t0)(3,t0)

(13,t2)

(2,t0)(4,t0)

(24,t2)

Page 76: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Computing the maximal groups

2. Annotate its edges and verticesEach edge e=(u,v) is labelled with a set of maximal groups Ge.Note that a group G becomes maximal at a vertex v.

a. Start vertex: Set Ge = {(Ce,tv=t0)}

v

Ge={(Ce,tv=t0)}

u

Page 77: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Computing the maximal groups

2. Annotate its edges and verticesEach edge e=(u,v) is labelled with a set of maximal groups Ge.Note that a group G becomes maximal at a vertex v.

a. Start vertex: Set Ge = {(Ce,tv=t0)}b. Merge vertex: Propagate the maximal groups from “children” to e and add (Ce,tv).

v

u

Ge1 Ge

2

Ge={Ge1Ge2(Ce,tv)}

Page 78: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Computing the maximal groups

2. Annotate its edges and verticesEach edge e=(u,v) is labelled with a set of maximal groups Ge.Note that a group G becomes maximal at a vertex v.

a. Start vertex: Set Ge = {(Ce,tv=t0)}b. Merge vertex: Propagate the maximal groups from “children” to e and add (Ce,tv).c. Split vertex:

vGe1

Ge

Ge2

Page 79: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Computing the maximal groups

2. Annotate its edges and verticesEach edge e=(u,v) is labelled with a set of maximal groups Ge.Note that a group G becomes maximal at a vertex v.

a. Start vertex: Set Ge = {(Ce,tv=t0)}b. Merge vertex: Propagate the maximal groups from “children” to e and add (Ce,tv).c. Split vertex:

- A group may end at v (if group splits)- A group may start at v on either e1 or e2 - A group may continue on e1 or e2

vGe1

Ge

Ge2

Question: How can we compute these groups efficiently?

Page 80: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Store maximal groups

e

Observation: Assume S, T in Ge. S starting at tS and T starting at tT.

tS

tT

Ge = {S,T,…}

Page 81: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Store maximal groups

e

Observation: Assume S, T in Ge. S starting at tS and T starting at tT.

• G ST in Ge with starting time tG max{tS,tT}.

tS

tT

tG Ge = {S,T,G,…}

Page 82: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Store maximal groups

e

Observation: Assume S, T in Ge. S starting at tS and T starting at tT.

• G ST in Ge with starting time tG max{tS,tT}.

• If ST then ST or T S.

tS

tT

tG Ge = {S,T,G,…}

S and T are disjoint, ST or T S

Page 83: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Represent Ge by a tree Te.

Each node v in Te represents a group Gv in Ge.The children of v are the largest subgroups of of Gv.

t0

tG

1234

(1,t0)

(2,t0)(3,t0)

(4,t0)

t1 t2

(1,t0)(2,t0)

(12,t1)

(3,t0)(4,t0)

(34,t1) t3 t4

(1,t0)(2,t0) (3,t0)(4,t0)

(12,t1)(34,t1)

(1234,t2)

1,3

2,4

(1,t0)(3,t0)

(13,t2)

(2,t0)(4,t0)

(24,t2)

Store maximal groups

Page 84: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Represent Ge by a tree Te.

Each node v in Te represents a group Gv in Ge.The children of v are the largest subgroups of of Gv.

t0

1234

(1,t0)

(2,t0)(3,t0)

(4,t0)

t1 t2

(1,t0)(2,t0)

(12,t1)

(3,t0)(4,t0)

(34,t1) t3 t4

1,3

2,4

(1,t0)(3,t0)

(13,t2)

(2,t0)(4,t0)

(24,t2)

(1,t0)(2,t0) (3,t0)(4,t0)

(12,t1)(34,t1)

(1234,t2)

{1,2,3,4}

{1,2} {3,4}

{1} {2} {3} {4}

Store maximal groups

Page 85: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Computing the maximal groups

2. Annotate its edges and verticesEach edge e=(u,v) is labelled with a set of maximal groups Ge.

a. Start vertex: Set Ge = {(Ce,tv=t0)}b. Merge vertex: Propagate the maximal groups from “children” to e and add (Ce,tv).c. Split vertex:

- A group may end at v (if group splits)- A group may start at v on either e1 or e2 - A group may continue on e1 or e2

(1234,t2)

(12,t1) (34,t1)

(1,t0) (2,t0) (3,t0) (4,t0)t2 t3 t4

(1,t0)(3,t0)

(13,t2)

(2,t0)(4,t0)

(24,t2)

(1,t0)(2,t0) (3,t0)(4,t0)

(12,t1)(34,t1)(1234,t2)

1,3

2,4

Page 86: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Computing the maximal groups

2. Annotate its edges and verticesEach edge e=(u,v) is labelled with a set of maximal groups Ge.

a. Start vertex: Set Ge = {(Ce,tv=t0)}b. Merge vertex: Propagate the maximal groups from “children” to e and add (Ce,tv).c. Split vertex:

- A group may end at v (if group splits)- A group may start at v on either e1 or e2 - A group may continue on e1 or e2

(1234,t2)

(12,t1) (34,t1)

(1,t0) (2,t0) (3,t0) (4,t0)

(1,t0)

(2,t0)

(3,t0)

(4,t0)t2 t3 t4

(1,t0)(3,t0)

(13,t2)

(2,t0)(4,t0)

(24,t2)

(1,t0)(2,t0) (3,t0)(4,t0)

(12,t1)(34,t1)(1234,t2)

1,3

2,4

Page 87: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Computing the maximal groups

2. Annotate its edges and verticesEach edge e=(u,v) is labelled with a set of maximal groups Ge.

a. Start vertex: Set Ge = {(Ce,tv=t0)}b. Merge vertex: Propagate the maximal groups from “children” to e and add (Ce,tv).c. Split vertex:

- A group may end at v (if group splits)- A group may start at v on either e1 or e2 - A group may continue on e1 or e2

t2 t3 t4

(1,t0)(3,t0)

(13,t2)

(2,t0)(4,t0)

(24,t2)

(1,t0)(2,t0) (3,t0)(4,t0)

(12,t1)(34,t1)(1234,t2)

(1234,t2)

(12,t1) (34,t1)

(1,t0) (2,t0) (3,t0) (4,t0)

(1,t0)

(2,t0)

(3,t0)

(4,t0)

1,3

2,4

Page 88: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Computing the maximal groups

2. Annotate its edges and verticesEach edge e=(u,v) is labelled with a set of maximal groups Ge.

a. Start vertex: Set Ge = {(Ce,tv=t0)}b. Merge vertex: Propagate the maximal groups from “children” to e and add (Ce,tv).c. Split vertex:

- A group may end at v (if group splits)- A group may start at v on either e1 or e2 - A group may continue on e1 or e2

t2 t3 t4

(1,t0)(3,t0)

(13,t2)

(2,t0)(4,t0)

(24,t2)

(1,t0)(2,t0) (3,t0)(4,t0)

(12,t1)(34,t1)(1234,t2)

(1234,t2)

(12,t1) (34,t1)

(1,t0) (2,t0) (3,t0) (4,t0)

(1,t0)

(2,t0)

(3,t0)

(4,t0)

(13,t3)

(24,t3)

1,3

2,4

Page 89: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Computing the maximal groups

AnalysisStart vertex: O(1)Merge vertex: O(1)Split vertex: O(|Te|) and |Te|=O(n)Total time: #vertices in the Reeb graph O(n) = O(n3)

+ the total output size

t2 t3 t4

(1,t0)(3,t0)

(13,t2)

(2,t0)(4,t0)

(24,t2)

(1,t0)(2,t0) (3,t0)(4,t0)

(12,t1)(34,t1)(1234,t2)

(1234,t2)

(12,t1) (34,t1)

(1,t0) (2,t0) (3,t0) (4,t0)

(1,t0)

(2,t0)

(3,t0)

(4,t0)

(13,t3)

(24,t3)

1,3

2,4

Page 90: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Changing group size and duration

minimum group size 3

For illustration: x-coordinate is time

Page 91: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

smaller minimum group size (2)

larger minimum group size (5)

Page 92: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

larger minimum duration

Page 93: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

smaller minimum duration

Page 94: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Robustness

If a group of 6 entities has 1 entity leaving very briefly, should we really see this as

- two maximal groups of size 6, and- one maximal group of size 5 ?

6 entities

6 entities5 entities

Page 95: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Robust grouping structure

Entities are -connected at time t if they are directly connected at some time t‘ in [t-/2, t+/2]

Page 96: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Robust grouping structure

Modify Reeb graph

› at most O(n3) changes in the Reeb graph› compute robust maximal groups in O(n3 log n) time (plus output

size)

Passing encounter

Collapse encounter

Page 97: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Summary

Grouping structures [Buchin et al.’13]- Model for the grouping structure of moving entities- Algorithms for computing the grouping structure

Many different movement patterns• Moving groups• Convoys • Following/Leadership• Single file• Popular places (place visited by many)

Page 98: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

Open Problem

• Interesting movement patterns?

• Query versions?

• Automatically set parameters?

Page 99: Computational Movement Analysis Lecture 4:  Movement patterns Joachim  Gudmundsson

References

• K. Buchin, M. Buchin, M. van Kreveld, B. Speckmann and F. Staals. Trajectory Grouping Structure. WADS, 2013.

• H. Jeung, M. L. Yiu, X. Zhou, C. S. Jensen and H. T. Shen. Discovery of Convoys in Trajectory Databases. PVLDB, 2008.

• K. Buchin, M. Buchin and J. Gudmundsson. Constrained Free Space Diagrams: a Tool for Trajectory Analysis, International Journal of Geographical Information Science, 2010.

• M. Andersson, J. Gudmundsson, P. Laube and T. Wolle. Reporting leaders and followers among trajectories of moving point objects. GeoInformatica, 2008.