Labeling the Active Route in Interactive Navigational Maps - - PowerPoint PPT Presentation

labeling the active route in interactive navigational maps
SMART_READER_LITE
LIVE PREVIEW

Labeling the Active Route in Interactive Navigational Maps - - PowerPoint PPT Presentation

Labeling the Active Route in Interactive Navigational Maps Benjamin Morgan University of Wrzburg 21. December 2012 1 / 40 Outline of the presentation 1. Introduction 2. The goal: active route street-labeling 3. Related work: some


slide-1
SLIDE 1

Labeling the Active Route in Interactive Navigational Maps

Benjamin Morgan

University of Würzburg

  • 21. December 2012

1 / 40

slide-2
SLIDE 2
slide-3
SLIDE 3
slide-4
SLIDE 4

Outline of the presentation

  • 1. Introduction
  • 2. The goal: active route street-labeling
  • 3. Related work: some important theory (with examples!)
  • 4. Pre-work: concerning the street-labeling algorithm
  • 5. The algorithm: active route street-labeling
  • 6. The implementation: decisions and challenges
  • 7. Conclusion

4 / 40

slide-5
SLIDE 5

Current state of navigation devices

I conducted an extensive survey of current PND technology.

5 / 40

slide-6
SLIDE 6

Current state of navigation devices

I conducted an extensive survey of current PND technology. Approximation: current navigation devices...

◮ label important streets ◮ label a minimal number of general streets ◮ render labels parallel to the screen ◮ do not always use leaders

5 / 40

slide-7
SLIDE 7

The goal: active route street-labeling

  • 1. Introduction
  • 2. The goal: active route street-labeling
  • 3. Related work: some important theory (with examples!)
  • 4. Pre-work: concerning the street-labeling algorithm
  • 5. The algorithm: active route street-labeling
  • 6. The implementation: decisions and challenges
  • 7. Conclusion

6 / 40

slide-8
SLIDE 8

Improve the active route street-labeling

Goal: efficiently and dynamically manipulate and place labels on the active route of a navigation system environment, such that the labels do not overlap with one another.

7 / 40

slide-9
SLIDE 9

Improve the active route street-labeling

Goal: efficiently and dynamically manipulate and place labels on the active route of a navigation system environment, such that the labels do not overlap with one another. We shall

◮ vary leader length, and ◮ use a force-directed algorithm.

7 / 40

slide-10
SLIDE 10

Improve the active route street-labeling

Goal: efficiently and dynamically manipulate and place labels on the active route of a navigation system environment, such that the labels do not overlap with one another. We shall

◮ vary leader length, and ◮ use a force-directed algorithm.

Not part of our goal is

◮ initial label placement, or ◮ optimal placement or manipulation of labels.

7 / 40

slide-11
SLIDE 11

What do we need to consider?

The environment of such moving labels is

◮ interactive, ◮ 2.5-dimensional, and ◮ with a free view-point.

8 / 40

slide-12
SLIDE 12

What do we need to consider?

The environment of such moving labels is

◮ interactive, ◮ 2.5-dimensional, and ◮ with a free view-point.

The efficiency requirements are

◮ real-time rendering, and ◮ minimal resource usage.

8 / 40

slide-13
SLIDE 13

What do we need to consider?

The environment of such moving labels is

◮ interactive, ◮ 2.5-dimensional, and ◮ with a free view-point.

The efficiency requirements are

◮ real-time rendering, and ◮ minimal resource usage.

The label placement should be perfect!

8 / 40

slide-14
SLIDE 14

The perfect is the enemy of the good

Le mieux est l’ennemi du bien. – Voltaire

9 / 40

slide-15
SLIDE 15

What is good? A suggestion for the “optimum”

  • 1. Guaranteed visual association between label and feature.
  • 2. Preservation of depth cues in the virtual world.
  • 3. Spatial orientation support for the labels.
  • 4. Minimal label movement (between frames).

10 / 40

slide-16
SLIDE 16

What is good? A suggestion for the “optimum”

  • 1. Guaranteed visual association between label and feature.
  • 2. Preservation of depth cues in the virtual world.
  • 3. Spatial orientation support for the labels.
  • 4. Minimal label movement (between frames).

and most importantly. . .

  • 5. The user should

(a) be able to recognize and process the information, (b) not be confused, and (c) not be overwhelmed.

10 / 40

slide-17
SLIDE 17

Related work: some important theory

  • 1. Introduction
  • 2. The goal: active route street-labeling
  • 3. Related work: some important theory (with examples!)
  • 4. Pre-work: concerning the street-labeling algorithm
  • 5. The algorithm: active route street-labeling
  • 6. The implementation: decisions and challenges
  • 7. Conclusion

11 / 40

slide-18
SLIDE 18

World and screen space

We distinguish between world and screen space.

12 / 40

slide-19
SLIDE 19

World and screen space labels

Labels can be in different kinds of “spaces”:

◮ screen space with/out leader ◮ screen space following street ◮ world space on street

W ü r z b u r g e r S t r a ß e

Rennweg

13 / 40

slide-20
SLIDE 20

World and screen space labels

Labels can be in different kinds of “spaces”:

◮ screen space with/out leader ◮ screen space following street ◮ world space on street

W ü r z b u r g e r S t r a ß e

Rennweg We use the billboarding technique.

13 / 40

slide-21
SLIDE 21

Force-directed algorithms

Think of electrons:

14 / 40

slide-22
SLIDE 22

How does force-directed ∗ work?

Force-directed anything in its basic form:

  • 1. Each node applies directional force on others.
  • 2. Each node tries to reach an equilibrium of forces.
  • 3. Eventually every node is in a local optimum state.

15 / 40

slide-23
SLIDE 23

Advantages and disadvantages. . .

Advantage #1. Fast with good results. Advantage #2. Simple and easy to understand and implement.

16 / 40

slide-24
SLIDE 24

Advantages and disadvantages. . .

Advantage #1. Fast with good results. Advantage #2. Simple and easy to understand and implement. (Advantage #3. Looks structured and captures symmetries.)

16 / 40

slide-25
SLIDE 25

Advantages and disadvantages. . .

Advantage #1. Fast with good results. Advantage #2. Simple and easy to understand and implement. (Advantage #3. Looks structured and captures symmetries.) Disadvantage #1. Easily caught in local minima. Disadvantage #2. Initial placement is significant.

16 / 40

slide-26
SLIDE 26

Advantages and disadvantages. . .

Advantage #1. Fast with good results. Advantage #2. Simple and easy to understand and implement. (Advantage #3. Looks structured and captures symmetries.) Disadvantage #1. Easily caught in local minima. Disadvantage #2. Initial placement is significant. Solution to these disadvantages: simulated annealing.

16 / 40

slide-27
SLIDE 27

Pre-work: concerning the street-labeling algorithm

  • 1. Introduction
  • 2. The goal: active route street-labeling
  • 3. Related work: some important theory (with examples!)
  • 4. Pre-work: concerning the street-labeling algorithm
  • 5. The algorithm: active route street-labeling
  • 6. The implementation: decisions and challenges
  • 7. Conclusion

17 / 40

slide-28
SLIDE 28

We build our own navigation device!

With the help of C++, Boost, OpenSceneGraph, ShapeLib, and OpenStreetMap:

18 / 40

slide-29
SLIDE 29

The algorithm: active route street-labeling

  • 1. Introduction
  • 2. The goal: active route street-labeling
  • 3. Related work: some important theory (with examples!)
  • 4. Pre-work: concerning the street-labeling algorithm
  • 5. The algorithm: active route street-labeling
  • 6. The implementation: decisions and challenges
  • 7. Conclusion

19 / 40

slide-30
SLIDE 30

Finally, the juicy part of the talk!

Our control: a static street-labeling algorithm. Algorithm:

  • 1. Create label and place in the middle of each segment.

20 / 40

slide-31
SLIDE 31

Finally, the juicy part of the talk!

Our control: a static street-labeling algorithm. Algorithm:

  • 1. Create label and place in the middle of each segment.

Obvious advantages:

◮ extremely efficient ◮ minimal label movement ◮ good visual association ◮ labels act as depth cues ◮ labels support spatial orientation

20 / 40

slide-32
SLIDE 32

Static-labeling example 1

Disadvantage #1. Only one label is placed per street segment.

21 / 40

slide-33
SLIDE 33

Static-labeling example 2

Disadvantage #2. Labels are placed without regard to anything.

22 / 40

slide-34
SLIDE 34

Force-directed street labeling!

Force-directed street labeling!

23 / 40

slide-35
SLIDE 35

Babysitting the little labels. . .

Labels avoid collisions through repulsive forces.

24 / 40

slide-36
SLIDE 36

Babysitting the little labels. . .

Labels avoid collisions through repulsive forces. To keep the label λi on the ground, the leader exerts a force too. Hooke’s law: ˆ Fi = −k · xi

My Street Label My Street Label My Street Label

24 / 40

slide-37
SLIDE 37

More math. . . ;-)

The force of multiple labels on λi is ˜ Fi = c ·

  • j∈I\{i}

σ(λi,λj) 1 d(λi,λj)2 . Constants and functions: k spring constant c repulsion constant I indices set of all displayed labels (e.g. {1,2,...,n}) σ(λi,λk) sign operator d(λi,λk) distance function

25 / 40

slide-38
SLIDE 38

What is the leader length adjustment?

We need: leader length adjustment.

26 / 40

slide-39
SLIDE 39

What is the leader length adjustment?

We need: leader length adjustment. Solution 1. Find the equilibrium of forces: ˆ Fi + ˜ Fi = 0

26 / 40

slide-40
SLIDE 40

What is the leader length adjustment?

We need: leader length adjustment. Solution 1. Find the equilibrium of forces: ˆ Fi + ˜ Fi = 0 Difficult. Solution 2. Apply black-box function β on net force: β( ˆ Fl + ˜ Fl)

26 / 40

slide-41
SLIDE 41

What is the leader length adjustment?

We need: leader length adjustment. Solution 1. Find the equilibrium of forces: ˆ Fi + ˜ Fi = 0 Difficult. Solution 2. Apply black-box function β on net force: β( ˆ Fl + ˜ Fl) New Problem: How do we define β?

26 / 40

slide-42
SLIDE 42

What is the leader length adjustment?

We need: leader length adjustment. Solution 1. Find the equilibrium of forces: ˆ Fi + ˜ Fi = 0 Difficult. Solution 2. Apply black-box function β on net force: β( ˆ Fl + ˜ Fl) New Problem: How do we define β? Runtime complexity: η := |I| ⇒ O(η2)

26 / 40

slide-43
SLIDE 43

Force-directed labeling example 1

Advantage #1. Labels do not collide.

27 / 40

slide-44
SLIDE 44

Force-directed labeling example 2

Disadvantage #1. Initial position affects outcome strongly.

28 / 40

slide-45
SLIDE 45

Inherent advantages and disadvantages

Advantage #1. Labels do not collide. Advantage #2. Labels move predictably.

29 / 40

slide-46
SLIDE 46

Inherent advantages and disadvantages

Advantage #1. Labels do not collide. Advantage #2. Labels move predictably. Disadvantage #1. Initial position affects outcome strongly. Disadvantage #2. Labels cannot get by each other. Disadvantage #3. Labels start with height 0. Disadvantage #4. Labels stack.

29 / 40

slide-47
SLIDE 47

The implementation: decisions and challenges

  • 1. Introduction
  • 2. The goal: active route street-labeling
  • 3. Related work: some important theory (with examples!)
  • 4. Pre-work: concerning the street-labeling algorithm
  • 5. The algorithm: active route street-labeling
  • 6. The implementation: decisions and challenges
  • 7. Conclusion

30 / 40

slide-48
SLIDE 48

Difficulty defining function d

Problems with modeling real-world physics: Problem 1. Hooke’s law breaks down with extremes.

31 / 40

slide-49
SLIDE 49

Difficulty defining function d

Problems with modeling real-world physics: Problem 1. Hooke’s law breaks down with extremes. Problem 2. Distance formula breaks down with overlapping.

31 / 40

slide-50
SLIDE 50

Difficulty defining function d

Problems with modeling real-world physics: Problem 1. Hooke’s law breaks down with extremes. Problem 2. Distance formula breaks down with overlapping. ⇒ Solution: define d ourselves.

31 / 40

slide-51
SLIDE 51

A revisit to world-screen-space relationships

Example situation:

32 / 40

slide-52
SLIDE 52

A revisit to world-screen-space relationships

Example situation: Angled view:

32 / 40

slide-53
SLIDE 53

A revisit to world-screen-space relationships

Example situation: Angled view: Top-down view:

32 / 40

slide-54
SLIDE 54

Constant definitions are not trivial

If spring constant k not correctly tuned to repulsion constant c, problems occur.

33 / 40

slide-55
SLIDE 55

Conclusion

  • 1. Introduction
  • 2. The goal: active route street-labeling
  • 3. Related work: some important theory (with examples!)
  • 4. Pre-work: concerning the street-labeling algorithm
  • 5. The algorithm: active route street-labeling
  • 6. The implementation: decisions and challenges
  • 7. Conclusion

34 / 40

slide-56
SLIDE 56

Future work

  • 1. Completion: implement other strategies presented.
  • 2. Prioritization: augment forces model with mass and gravity.
  • 3. Smoothness: research effects of acceleration/deceleration.
  • 4. Freedom: labels could have two degrees of movement freedom.
  • 5. Space: label leaders could slant left/right.
  • 6. Goodness: research for escaping local optima.
  • 7. Placement: more intelligent initial placement.

35 / 40

slide-57
SLIDE 57

Future work

  • 1. Completion: implement other strategies presented.
  • 2. Prioritization: augment forces model with mass and gravity.
  • 3. Smoothness: research effects of acceleration/deceleration.
  • 4. Freedom: labels could have two degrees of movement freedom.
  • 5. Space: label leaders could slant left/right.
  • 6. Goodness: research for escaping local optima.
  • 7. Placement: more intelligent initial placement.

Thank you for listening!

35 / 40

slide-58
SLIDE 58

How does force-directed ∗ work?

Alternative perspective:

  • 1. Each node applies bad energy on others.
  • 2. Each node tries to minimize its energy by moving elsewhere.
  • 3. Eventually every node is in a local optimum state.

36 / 40

slide-59
SLIDE 59

Results of force-directed labeling

Ebner et. al [2003] computed this in < 5 seconds:

37 / 40

slide-60
SLIDE 60

Questions of the black-box function β

Simple definition: β(F) = ζ · F

38 / 40

slide-61
SLIDE 61

Questions of the black-box function β

Simple definition: β(F) = ζ · F Question: Given force F on λ, how should λ move in one iteration?

38 / 40

slide-62
SLIDE 62

Questions of the black-box function β

Simple definition: β(F) = ζ · F Question: Given force F on λ, how should λ move in one iteration?

  • 1. How do labels settle?
  • 2. How does movement scale with force?
  • 3. Iterations/second vs. frames per second?
  • 4. What is the optimum adjustment speed?
  • 5. Maximum movement in one iteration?

38 / 40

slide-63
SLIDE 63

A solution: keep modeling physics?

Answer: Labels have mass (charge) that determines movement.

◮ Allows dynamic prioritization! ◮ With acceleration and deceleration?

39 / 40

slide-64
SLIDE 64

A solution: keep modeling physics?

Answer: Labels have mass (charge) that determines movement.

◮ Allows dynamic prioritization! ◮ With acceleration and deceleration?

Not trivial, e.g.: ˜ Fi = c ·

  • j∈I\{i}

mimj · σ(λi,λj) 1 d(λi,λj)2 .

39 / 40

slide-65
SLIDE 65

Where the screenshots come from. . .

My current implementation:

◮ Bad energy perspective ◮ Label overlapping = energy ◮ Complex gradient method black-box function ◮ Everything in world space

40 / 40

slide-66
SLIDE 66

Where the screenshots come from. . .

My current implementation:

◮ Bad energy perspective ◮ Label overlapping = energy ◮ Complex gradient method black-box function ◮ Everything in world space

Good news: there is room for improvement, and we know where!

40 / 40