Algorithms for Geographic Data Spring 2016 Lecture 4: Segmentation - - PowerPoint PPT Presentation

algorithms for geographic data
SMART_READER_LITE
LIVE PREVIEW

Algorithms for Geographic Data Spring 2016 Lecture 4: Segmentation - - PowerPoint PPT Presentation

2IMA20 Algorithms for Geographic Data Spring 2016 Lecture 4: Segmentation Motivation: Geese Migration Two behavioural types stopover migration flight Input: GPS tracks expert description of behaviour Goal: Delineate


slide-1
SLIDE 1

2IMA20 Algorithms for Geographic Data

Spring 2016 Lecture 4: Segmentation

slide-2
SLIDE 2

Motivation: Geese Migration

 Two behavioural types  stopover  migration flight  Input:  GPS tracks  expert description of behaviour  Goal: Delineate stopover sites of migratory geese

slide-3
SLIDE 3

Abstract / general purpose questions

Single trajectory

 simplification, cleaning  segmentation into semantically meaningful parts  finding recurring patterns (repeated subtrajectories)

Two trajectories

 similarity computation  subtrajectory similarity

Multiple trajectories

 clustering, outliers  flocking/grouping pattern detection  finding a typical trajectory or computing a mean/median

trajectory

 visualization

slide-4
SLIDE 4

Problem

 For analysis, it is often necessary to break a trajectory into pieces

according to the behaviour of the entity (e.g., walking, flying, …).

 Input: A trajectory T, where each point has a set of attribute values,

and a set of criteria.

 Attributes: speed, heading, curvature…  Criteria: bounded variance in speed, curvature, direction,

distance…

 Aim: Partition T into a minimum number of subtrajectories (so-called

segments) such that each segment fulfils the criteria.

 “Within each segment the points have similar attribute values”

slide-5
SLIDE 5

Criteria-Based Segmentation

Goal: Partition trajectory into a small number of segments such that a given criterion is fulfilled on each segment

slide-6
SLIDE 6

Example

 Trajectory T sampled with equal time intervals  Criterion: speed cannot differ more than a factor 2?

slide-7
SLIDE 7

Example

 Trajectory T sampled with equal time intervals  Criterion: speed cannot differ more than a factor 2?  Criterion: direction of motion differs by at most 90⁰?

speed

slide-8
SLIDE 8

Example

 Trajectory T sampled with equal time intervals  Criterion: speed cannot differ more than a factor 2?  Criterion: direction of motion differs by at most 90⁰?

speed speed heading

slide-9
SLIDE 9

Example

 Trajectory T sampled with equal time intervals  Criterion: speed cannot differ more than a factor 2?  Criterion: direction of motion differs by at most 90⁰?

speed speed heading speed & heading

slide-10
SLIDE 10

Decreasing monotone criteria

 Definition: A criterion is decreasing monotone, if it holds on a

segment, it holds on any subsegment.

 Examples: disk criterion (location), angular range (heading),

speed…

 Theorem: A combination of conjunctions and disjunctions of

decreasing monotone criteria is a decreasing monotone criterion.

slide-11
SLIDE 11

Greedy Algorithm

Observation: If criteria are decreasing monotone, a greedy strategy works.

slide-12
SLIDE 12

TU/e

Prerequisites

Designing greedy algorithms 1. try to discover structure of optimal solutions: what properties do optimal solutions have ?

  • what are the choices that need to be made ?
  • do we have optimal substructure ?
  • ptimal solution = first choice + optimal solution for subproblem
  • do we have greedy-choice property for the first choice ?

2. prove that optimal solutions indeed have these properties

  • prove optimal substructure and greedy-choice property

3. use these properties to design an algorithm and prove correctness

  • proof by induction (possible because optimal substructure)
slide-13
SLIDE 13

TU/e

Prerequisites

Lemma: Let k be the smallest index such that 𝜐 𝑢0, 𝑢𝑙 fails for a monotone decreasing criterion 𝜐. If there is a solution, then there is an optimal solution including 𝜐 𝑢0, 𝑢𝑙−1 as segment.

  • Proof. Let OPT be an optimal solution for A. If OPT includes ai then the

lemma obviously holds, so assume OPT does not include ai. We will show how to modify OPT into a solution OPT* such that (i) OPT* is a valid solution (ii) OPT* includes ai (iii) size(OPT*) ≤ size(OPT) Thus OPT* is an optimal solution including 𝜐 𝑢0, 𝑢𝑙−1 , and so the lemma

  • holds. To modify OPT we proceed as follows.

standard text you can basically use in proof for any greedy-choice property quality OPT* ≥ quality OPT here comes the modification, which is problem-specific

slide-14
SLIDE 14

Greedy Algorithm

Observation: If criteria are decreasing monotone, a greedy strategy works. For many decreasing monotone criteria Greedy requires O(n) time, e.g. for speed, heading…

slide-15
SLIDE 15

Greedy Algorithm

Observation: For some criteria, iterative double & search is faster. Double & search: An exponential search followed by a binary search.

slide-16
SLIDE 16

Criteria-Based Segmentation

Boolean or linear combination of decreasing monotone criteria Greedy Algorithm

 incremental in O(n) time or constant-update criteria e.g. bounds

  • n speed or heading

 double & search in O(n log n) time for non-constant update

criteria [M.Buchin et al.’11]

slide-17
SLIDE 17

Motivation: Geese Migration

 Two behavioural types  stopover  migration flight  Input:  GPS tracks  expert description of behaviour  Goal: Delineate stopover sites of migratory geese

slide-18
SLIDE 18

Case Study: Geese Migration

Data

Spring migration tracks

 White-fronted geese  4-5 positions per day  March – June 

Up to 10 stopovers during spring migration

 Stopover: 48 h within radius 30 km  Flight: change in heading <120°

Kees Adri

slide-19
SLIDE 19

Comparison

manual computed

slide-20
SLIDE 20

Evaluation

Few local differences: Shorter stops, extra cuts in computed segmentation

slide-21
SLIDE 21

 A combination of decreasing and increasing monotone criteria

stopover migration flight

Criteria

Within radius 30km At least 48h AND Change in heading <120° OR

slide-22
SLIDE 22

Decreasing and Increasing Monotone Criteria

 Observation: For a combination of decreasing and increasing

monotone criteria the greedy strategy does not always work.

 Example: Min duration 2 AND Max speed range 4

speed 1 5

slide-23
SLIDE 23

Non-Monotone Segmentation

Many Criteria are not (decreasing) monotone:

 Minimum time  Standard deviation  Fixed percentage of outliers  For these Aronov et al. introduced the start-stop diagram

Example: Geese Migration

slide-24
SLIDE 24

Start-Stop Diagram

input trajectory compute start-stop diagram compute segmentation Algorithmic approach

slide-25
SLIDE 25

Start-Stop Diagram

Given a trajectory T over time interval I = {t0,…,t} and criterion C The start-stop diagram D is (the upper diagonal half of) the n x n grid, where each point (i,j) is associated to segment [ti,tj] with

  • (i,j) is in free space if C holds on [ti,tj]
  • (i,j) is in forbidden space if C does not

hold on [ti,tj] A (minimal) segmentation of T corresponds to a (min-link) staircase in D free space forbidden space staircase

slide-26
SLIDE 26

Start-Stop Diagram

A (minimal) segmentation of T corresponds to a (min-link) staircase in D. 123456789101112

1 2 3 4 5 6 7 8 9 10 11 12 12 11 10 9 8 7 6 5 4 3 2 1

1 3 2 4 9 7 5 8 10 6 12 11

slide-27
SLIDE 27

Start-Stop Diagram

A (minimal) segmentation of T corresponds to a (min-link) staircase in D. 123456789101112

1 2 3 4 5 6 7 8 9 10 11 12 12 11 10 9 8 7 6 5 4 3 2 1

1 3 2 4 9 7 5 8 10 6 12 11

slide-28
SLIDE 28

Start-Stop Diagram

Discrete case: A non-monotone segmentation can be computed in O(n2) time. 1 5 4 6 8 7 9 10 11 12 123456789101112

1 2 3 4 5 6 7 8 9 10 11 12 12 11 10 9 8 7 6 5 4 3 2 1

slide-29
SLIDE 29

Start-Stop Diagram

Discrete case: A non-monotone segmentation can be computed in O(n2) time. 1 5 4 6 8 7 9 10 11 12 123456789101112

1 2 3 4 5 6 7 8 9 10 11 12 12 11 10 9 8 7 6 5 4 3 2 1

slide-30
SLIDE 30

Stable Criteria

Definition: A criterion is stable if and only if 𝑗=𝑝

𝑜

𝑤 𝑗 = 𝑃(𝑜) where 𝑤 𝑗 = number of changes of validity on segments [0,i], [1,i],…, [i-1,i]

slide-31
SLIDE 31

Stable Criteria

Definition: A criterion is stable if and only if 𝑗=𝑝

𝑜

𝑤 𝑗 = 𝑃(𝑜) where 𝑤 𝑗 = number of changes of validity on segments [0,i], [1,i],…, [i-1,i] Observations: Decreasing and increasing monotone criteria are stable. A conjunction or disjunction of stable criterion are stable.

slide-32
SLIDE 32

Compressed Start-Stop Diagram

For stable criteria the start-stop diagram can be compressed by applying run-length encoding. Examples: increasing monotone decreasing monotone

9

slide-33
SLIDE 33

Computing the Compressed Start-Stop Diagram

For a decreasing criterion consider the algorithm: ComputeLongestValid(crit C, traj T) Algorithm: Move two pointers i,j from n to 0 over the trajectory. For every trajectory index j the smallest index i for which 𝜐 𝑢𝑗, 𝑢𝑘 satisfies the criterion C is stored. i j

9

slide-34
SLIDE 34

Computing the Compressed Start-Stop Diagram

For a decreasing criterion ComputeLongestValid(crit C, traj T): Move two pointers i,j from n to 0

  • ver the trajectory

i j Requires a data structure for segment [ti,tj] allowing the operations isValid, extend, and shorten, e.g., a balanced binary search tree on attribute values for range or bound criteria. Runs in O(nc(n)) time where c(n) is the time to update & query. Analogously for increasing criteria.

9

slide-35
SLIDE 35

Computing the Compressed Start-Stop Diagram

The start-stop diagram of a conjunction (or disjunction) of two stable criteria is their intersection (or union). The start-stop diagram of a negated criteria is its inverse. The corresponding compressed start-stop diagrams can be computed in O(n) time.

9

slide-36
SLIDE 36

Attributes and criteria

Examples of stable criteria

 Lower bound/Upper bound on attribute  Angular range criterion  Disk criterion  Allow an approximate fraction of outliers  …

slide-37
SLIDE 37

Computing the Optimal Segmentation

Observation: The optimal segmentation for [0,i] is either one segment,

  • r an optimal sequence of segments for [0,j<i] appended with a

segment [j,i], where j is an index such [j,i] is valid. Dynamic programming algorithm for each row from 0 to n find white cell with min-link That is, iteratively compute a table S[0,n] where entry S[i] for row i stores

 last: index of last link  count: number of links so far  runs in O(n2) time

S

nil, 0 nil, ∞ nil, ∞ nil, ∞ nil, ∞ nil, ∞ 0, 0+1=1 0, 1 7, 2 8, 3 8, 3 10, 4

slide-38
SLIDE 38

Computing the Optimal Segmentation

T [Alewijnse et al.’14]

 More efficient dynamic programming algorithm for compressed

diagrams

 Process blocks of white cells using a range query in a binary search

tree T (instead of table S) storing

 index: row index  last: index of last link  count: number of links so far  augmented by minimal count

in subtree

slide-39
SLIDE 39

TU/e

Prerequisites

Methodology for augmenting a data structure

  • 1. Choose an underlying data structure.
  • 2. Determine additional information to maintain.
  • 3. Verify that we can maintain additional information

for existing data structure operations.

  • 4. Develop new operations.
  • 1. R-B tree
  • 2. min-count[x]
  • 3. theorem next

slide

  • 4. count(block)

using range query

slide-40
SLIDE 40

TU/e

Prerequisites

Theorem Augment a R-B tree with field f, where f[x] depends only on information in x, left[x], and right[x] (including f[left[x]] and f[right[x]]). Then can maintain values of f in all nodes during insert and delete without affecting O(log n) performance. When we alter information in x, changes propagate only upward

  • n the search path for x …
slide-41
SLIDE 41

Computing the Optimal Segmentation

T [Alewijnse et al.’14]

 More efficient dynamic programming algorithm for compressed

diagrams

 Process blocks of white cells using a range query in a binary search

tree T (instead of table S) storing

 index: row index  last: index of last link  count: number of links so far  augmented by minimal count

in subtree

 runs in O(n log n) time

slide-42
SLIDE 42

Beyond criteria-based segmentation

 When is criteria-based segmentation applicable?  What can we do in other cases?

slide-43
SLIDE 43

Excursion: Movement Models

slide-44
SLIDE 44

Movement Models

 Movement data: sequence

  • f observations, e.g. (xi,yi,ti)

 Linear movement realistic?

slide-45
SLIDE 45

Movement Models

 Movement data: sequence

  • f observations, e.g. (xi,yi,ti)

 Linear movement realistic?  Space-time Prisms

slide-46
SLIDE 46

Movement Models

 Movement data: sequence

  • f observations, e.g. (xi,yi,ti)

 Linear movement realistic?  Space-time Prisms

slide-47
SLIDE 47

Movement Models

 Movement data: sequence

  • f observations, e.g. (xi,yi,ti)

 Linear movement realistic?  Space-time Prisms

slide-48
SLIDE 48

Movement Models

 Movement data: sequence

  • f observations, e.g. (xi,yi,ti)

 Linear movement realistic?  Space-time Prisms  Random Motion Models

(e.g. Brownian bridges)

slide-49
SLIDE 49

Movement Models

 Movement data: sequence

  • f observations, e.g. (xi,yi,ti)

 Linear movement realistic?  Space-time Prisms  Random Motion Models

(e.g. Brownian bridges)

slide-50
SLIDE 50

Brownian Bridges - Examples

Brownian bridges no bridges

slide-51
SLIDE 51

Segment by diffusion coefficient

slide-52
SLIDE 52

Summary

 Greedy algorithm for decreasing monotone criteria O(n) or O(n log n)

time [M.Buchin, Driemel, van Kreveld, Sacristan, 2010]

Case Study: Geese Migration [M.Buchin, Kruckenberg, Kölzsch, 2012]

 Start-stop diagram for arbitrary criteria O(n2) time

[Aronov, Driemel, van Kreveld, Löffler, Staals, 2012]

 Compressed start-stop diagram for stable criteria O(n log n) time

[Alewijnse, Buchin, Buchin, Sijben, Westenberg, 2014] 5

slide-53
SLIDE 53

References

 S. Alewijnse, T. Bagautdinov, M. de Berg, Q. Bouts, A. ten Brink, K.

Buchin and M. Westenberg. Progressive Geometric Algorithms. SoCG, 2014.

 M. Buchin, A. Driemel, M. J. van Kreveld and V. Sacristan.

Segmenting trajectories: A framework and algorithms using spatiotemporal criteria. Journal of Spatial Information Science, 2011.

 B. Aronov, A. Driemel, M. J. Kreveld, M. Loffler and F. Staals.

Segmentation of Trajectories for Non-Monotone Criteria. SODA, 2013.

 M. Buchin, H. Kruckenberg and A. Kölzsch. Segmenting

Trajectories based on Movement States. SDH, 2012. 5

References