1. why is automation useful? 2. per-cell classification

94
Automation for Digital Maps 1. Why is automation useful? 2. Per-Cell Classification 3. RoadRunner: Iterative Tracing with GPS Trajectories 4. RoadTracer: Iterative Tracing with Aerial Imagery 5. Semi-automation Opportunities 1

Upload: others

Post on 15-Jan-2022

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1. Why is automation useful? 2. Per-Cell Classification

Automation for Digital Maps

1. Why is automation useful?2. Per-Cell Classification3. RoadRunner: Iterative Tracing with GPS Trajectories4. RoadTracer: Iterative Tracing with Aerial Imagery5. Semi-automation Opportunities

1

Page 2: 1. Why is automation useful? 2. Per-Cell Classification

Automation for Digital Maps

1. Why is automation useful?2. Per-Cell Classification3. RoadRunner: Iterative Tracing with GPS Trajectories4. RoadTracer: Iterative Tracing with Aerial Imagery5. Semi-automation Opportunities

2

Page 3: 1. Why is automation useful? 2. Per-Cell Classification

3

Page 5: 1. Why is automation useful? 2. Per-Cell Classification

5

Page 6: 1. Why is automation useful? 2. Per-Cell Classification

Automation for Digital Maps

1. Why is automation useful?2. Per-Cell Classification3. RoadRunner: Iterative Tracing with GPS Trajectories4. RoadTracer: Iterative Tracing with Aerial Imagery5. Semi-automation Opportunities

6

Page 7: 1. Why is automation useful? 2. Per-Cell Classification

7

Page 8: 1. Why is automation useful? 2. Per-Cell Classification

8

Page 9: 1. Why is automation useful? 2. Per-Cell Classification

9

Page 10: 1. Why is automation useful? 2. Per-Cell Classification

10

Page 11: 1. Why is automation useful? 2. Per-Cell Classification

11

Page 12: 1. Why is automation useful? 2. Per-Cell Classification

12

Page 13: 1. Why is automation useful? 2. Per-Cell Classification

13

Page 14: 1. Why is automation useful? 2. Per-Cell Classification

14

Page 15: 1. Why is automation useful? 2. Per-Cell Classification

15

Page 16: 1. Why is automation useful? 2. Per-Cell Classification

16

Page 17: 1. Why is automation useful? 2. Per-Cell Classification

Map inference with GPS trajectories

"Map inference in the face of noise and disparity." Biagioni, James, and Jakob Eriksson. Proceedings of the 20th International Conference on Advances in Geographic Information Systems. ACM, 2012.

17

Map inference

Road Map Observation

GPS

Page 18: 1. Why is automation useful? 2. Per-Cell Classification

Map inference with GPS trajectories

"Map inference in the face of noise and disparity." Biagioni, James, and Jakob Eriksson. Proceedings of the 20th International Conference on Advances in Geographic Information Systems. ACM, 2012.

18

Map inference

Perfect GPS

Road Map Observation

Page 19: 1. Why is automation useful? 2. Per-Cell Classification

Map inference with GPS trajectories

"Map inference in the face of noise and disparity." Biagioni, James, and Jakob Eriksson. Proceedings of the 20th International Conference on Advances in Geographic Information Systems. ACM, 2012.

19

Map inference

GPS noiseRoad Map Observation

Page 20: 1. Why is automation useful? 2. Per-Cell Classification

Map inference with GPS trajectories

"Map inference in the face of noise and disparity." Biagioni, James, and Jakob Eriksson. Proceedings of the 20th International Conference on Advances in Geographic Information Systems. ACM, 2012.

20

Map inference

Road Map ObservationGPS noise

Disparity

Page 21: 1. Why is automation useful? 2. Per-Cell Classification

Kernel Density Estimation (Cell Classification)

21

Histogram

Page 22: 1. Why is automation useful? 2. Per-Cell Classification

Kernel Density Estimation (Cell Classification)

22

Histogram

Page 23: 1. Why is automation useful? 2. Per-Cell Classification

23

Histogram

Kernel Density Estimation (Cell Classification)

Page 24: 1. Why is automation useful? 2. Per-Cell Classification

24

Histogram Histogram (After Blur)

Kernel Density Estimation (Cell Classification)

Page 25: 1. Why is automation useful? 2. Per-Cell Classification

25

Histogram (After Blur)

???

Kernel Density Estimation (Cell Classification)

Page 26: 1. Why is automation useful? 2. Per-Cell Classification

Skeletonization

26http://www.inf.u-szeged.hu/~palagyi/skel/skel.html

Page 27: 1. Why is automation useful? 2. Per-Cell Classification

27http://www.inf.u-szeged.hu/~palagyi/skel/skel.html

Iteration 0 Iteration 5 Iteration 10 Iteration 15 Iteration 20

Iteration 25 Iteration 30

Iteration 20

Iteration 35 Iteration 40 Iteration 70

Page 28: 1. Why is automation useful? 2. Per-Cell Classification

Skeletonization

28

Histogram (After Blur)

Page 29: 1. Why is automation useful? 2. Per-Cell Classification

Skeletonization

29

Histogram (After Blur)

Pick up a thresholdBinarize the histogram

(Not Real)

Page 30: 1. Why is automation useful? 2. Per-Cell Classification

Skeletonization

30

Histogram (After Blur)

Pick up a thresholdBinarize the histogram

(Not Real)

Skeletonization

Page 31: 1. Why is automation useful? 2. Per-Cell Classification

Binary-Skeletonization: Issues

31

Page 32: 1. Why is automation useful? 2. Per-Cell Classification

Binary-Skeletonization: Issues High Threshold

32

Page 33: 1. Why is automation useful? 2. Per-Cell Classification

Binary-Skeletonization: Issues High Threshold

33

Page 34: 1. Why is automation useful? 2. Per-Cell Classification

Binary-Skeletonization: Issues High Threshold

34

Page 35: 1. Why is automation useful? 2. Per-Cell Classification

Binary-Skeletonization

35

Page 36: 1. Why is automation useful? 2. Per-Cell Classification

Binary-Skeletonization: Issues Low Threshold

36

Page 37: 1. Why is automation useful? 2. Per-Cell Classification

Binary-Skeletonization: Issues Low Threshold

37

Page 38: 1. Why is automation useful? 2. Per-Cell Classification

Summary: Kernel Density Estimation● Create histogram from GPS trajectories

● Blur the histogram

● Pick a threshold to convert grayscale histogram into a binary image

● Apply skeletonization to derive a road network38

Page 39: 1. Why is automation useful? 2. Per-Cell Classification

Inferring Maps from Aerial Imagery● May be able to obtain thousands of GPS trajectories per day in city centers● But in suburban and rural areas, the percentage of roads covered by

trajectories will be much smaller● Aerial imagery can fill in these gaps

39

Page 40: 1. Why is automation useful? 2. Per-Cell Classification

40

Page 41: 1. Why is automation useful? 2. Per-Cell Classification

Image Segmentation

41

Page 42: 1. Why is automation useful? 2. Per-Cell Classification

CNN Post processing

Loss Function

CNN Output

OSM Rasterization

Road Network Graph

42

Segmentation Methods

Page 43: 1. Why is automation useful? 2. Per-Cell Classification

CNN Post processing

Loss Function

CNN Output

OSM Rasterization

Road Network Graph

43

Segmentation Methods

Page 44: 1. Why is automation useful? 2. Per-Cell Classification

44

Map Inference from Aerial Imagery: Extract Graph

Page 45: 1. Why is automation useful? 2. Per-Cell Classification

CNN-Based Segmentation: Problems

Noise in the CNN output lead to incorrect topology in the extracted graph● Missing roads● Frequent connections between parallel roads

Page 46: 1. Why is automation useful? 2. Per-Cell Classification

CNN-Based Segmentation: Problems

Complex intersections lead to very noisy graphs

Page 47: 1. Why is automation useful? 2. Per-Cell Classification

Automation for Digital Maps

1. Why is automation useful?2. Per-Cell Classification3. RoadRunner: Iterative Tracing with GPS Trajectories4. RoadTracer: Iterative Tracing with Aerial Imagery5. Semi-automation Opportunities

47

Page 48: 1. Why is automation useful? 2. Per-Cell Classification

Limited Precision in Challenging Scenarios

The inferred maps from two previous

state-of-the-art map inference algorithms

(using GPS data)

Los Angeles Boston Chicago

200m

200m

100m

100m

200m

200m

Previous state-of-the-art map inference algorithms have limited precision

Map Inference in the Face of Noise and Disparity. James Biagioni et al. SIGSPATIAL 2012.Robust Road Map Inference through Network Alignment of Trajectories. Rade Stanojevic et al. SIAM 2018.

Page 49: 1. Why is automation useful? 2. Per-Cell Classification

RoadRunner: Improving the Precision of Road Network Inference from GPS Trajectories

200m 200m

RoadRunnerOthers

Page 50: 1. Why is automation useful? 2. Per-Cell Classification

RoadRunner Key IdeaExploit Long-term Structure of GPS Trajectories

Road Network GPS Trajectories Individual Samples Inferred Graph

Page 51: 1. Why is automation useful? 2. Per-Cell Classification

RoadRunner Key IdeaExploit Long-term Structure of GPS Trajectories

Road Network GPS Trajectories Inferred GraphLong-term Structure

Page 52: 1. Why is automation useful? 2. Per-Cell Classification

RoadRunner: Iterative Construction

Known Starting Location

Initialize v = starting location v0Repeat:● Find GPS trajectories matching

current path● See what location(s) the trajectories

move in from v● Add vertices in those locations● (Check merging)

Page 53: 1. Why is automation useful? 2. Per-Cell Classification

Iterative Tracing

Initialize v = starting location v0Repeat:● Find GPS trajectories matching

current path● See what location(s) the trajectories

move in from v● Add vertices in those locations● (Check merging)

Page 54: 1. Why is automation useful? 2. Per-Cell Classification

RoadRunner: Iterative Construction

Initialize v = starting location v0Repeat:● Find GPS trajectories matching

current path● See what location(s) the trajectories

move in from v● Add vertices in those locations● (Check merging)

Page 55: 1. Why is automation useful? 2. Per-Cell Classification

RoadRunner: Iterative Construction

Sliding Window

GPS Trajectories

Initialize v = starting location v0Repeat:● Find GPS trajectories matching

current path● See what location(s) the trajectories

move in from v● Add vertices in those locations● (Check merging)

Page 56: 1. Why is automation useful? 2. Per-Cell Classification

RoadRunner: Iterative Construction

Sliding WindowInitialize v = starting location v0Repeat:● Find GPS trajectories matching

current path● See what location(s) the trajectories

move in from v● Add vertices in those locations● (Check merging)

Page 57: 1. Why is automation useful? 2. Per-Cell Classification

RoadRunner: Iterative Construction

Initialize v = starting location v0Repeat:● Find GPS trajectories matching

current path● See what location(s) the trajectories

move in from v● Add vertices in those locations● (Check merging)

Page 58: 1. Why is automation useful? 2. Per-Cell Classification

RoadRunner: Merging

Initialize v = starting location v0Repeat:● Find GPS trajectories matching

current path● See what location(s) the trajectories

move in from v● Add vertices in those locations● (Check merging)

Page 59: 1. Why is automation useful? 2. Per-Cell Classification

RoadRunner: Merging

Page 60: 1. Why is automation useful? 2. Per-Cell Classification

RoadRunner: Merging

Sliding Window

Sliding

Wind

ow

Page 61: 1. Why is automation useful? 2. Per-Cell Classification

RoadRunner: Merging

Page 62: 1. Why is automation useful? 2. Per-Cell Classification

RoadRunner: Merging

Page 63: 1. Why is automation useful? 2. Per-Cell Classification

RoadRunner: Merging

Page 64: 1. Why is automation useful? 2. Per-Cell Classification

RoadRunner: Merging

Page 65: 1. Why is automation useful? 2. Per-Cell Classification

RoadRunner: Merging

Page 66: 1. Why is automation useful? 2. Per-Cell Classification

RoadRunner: Merging

Page 67: 1. Why is automation useful? 2. Per-Cell Classification

RoadRunner: Merging

Page 68: 1. Why is automation useful? 2. Per-Cell Classification
Page 69: 1. Why is automation useful? 2. Per-Cell Classification

Automation for Digital Maps

1. Why is automation useful?2. Per-Cell Classification3. RoadRunner: Iterative Tracing with GPS Trajectories4. RoadTracer: Iterative Tracing with Aerial Imagery5. Semi-automation Opportunities

69

Page 70: 1. Why is automation useful? 2. Per-Cell Classification

CNN

RoadTracer

[0.1, 0.9, 0.03, 0.01]N E S W

Action: [Move, Stop]

Page 71: 1. Why is automation useful? 2. Per-Cell Classification

CNN

RoadTracer

[0.05, 0.6, 0.2, 0.01] N E S W

Action: [Move, Stop]

Page 72: 1. Why is automation useful? 2. Per-Cell Classification

CNN

RoadTracer

[0.05, 0.7, 0.5, 0.05] N E S W

Action: [Move, Stop]

Page 73: 1. Why is automation useful? 2. Per-Cell Classification

CNN

RoadTracer

[0.1, 0.8, 0.05, 0.01]N E S W

Action: [Move, Stop]

Page 74: 1. Why is automation useful? 2. Per-Cell Classification

CNN

RoadTracer: Forks

[0.65, 0.6, 0.01, 0.01] N E S W

Action: [Move, Stop]

Page 75: 1. Why is automation useful? 2. Per-Cell Classification

CNN

RoadTracer: Forks

[0.8, 0.7, 0.01, 0.7] N E S W

Action: [Move, Stop]

Page 76: 1. Why is automation useful? 2. Per-Cell Classification

CNN

RoadTracer: Forks

[0.8, 0.05, 0.01, 0.05] N E S W

Action: [Move, Stop]

Page 77: 1. Why is automation useful? 2. Per-Cell Classification

CNN

RoadTracer: Forks

[0.01, 0.05, 0.01, 0.05] N E S W

Action: [Move, Stop]

Page 78: 1. Why is automation useful? 2. Per-Cell Classification

CNN

RoadTracer: Forks

[0.01, 0.05, 0.01, 0.05] N E S W

Action: [Move, Stop]

Page 79: 1. Why is automation useful? 2. Per-Cell Classification

CNN

RoadTracer: Forks

[0.01, 0.7, 0.01, 0.7] N E S W

Action: [Move, Stop]

Page 80: 1. Why is automation useful? 2. Per-Cell Classification

CNN

RoadTracer: Forks

Page 82: 1. Why is automation useful? 2. Per-Cell Classification

Automation for Digital Maps

1. Why is automation useful?2. Per-Cell Classification3. RoadRunner: Iterative Tracing with GPS Trajectories4. RoadTracer: Iterative Tracing with Aerial Imagery5. Semi-automation Opportunities

82

Page 83: 1. Why is automation useful? 2. Per-Cell Classification

OpenStreetMap in Rural Indonesia

Page 85: 1. Why is automation useful? 2. Per-Cell Classification

Why hasn’t automatic map inference gained traction?

● Over a decade of research on automatically constructing road maps● Systems build maps from satellite imagery and GPS trajectories

Images from “Mining Large-Scale, Sparse GPS Traces for Map Inference: Comparison of Approaches.”Xuemei Liu, James Biagioni, Jakob Eriksson, Yin Wang, George Forman, Yanmin Zhu. KDD 2012.

Page 86: 1. Why is automation useful? 2. Per-Cell Classification

Why hasn’t automatic map inference gained traction?High Error Rates: ~5%1, but still too many false positives for full automation

[1, 19] “Robust Road Map Inference through Network Alignment of Trajectories.” Rade Stanojevic et al. SIAM 2018.[6] “Map Inference in the Face of Noise and Disparity.” James Biagioni et al. SIGSPATIAL 2012.

Page 87: 1. Why is automation useful? 2. Per-Cell Classification

● Machine-Assisted iD○ Pruning minor roads: add arterial roads in low-coverage regions○ Jump: accelerate improvement of map in high-coverage regions

● Map Inference for Interactive Mapping

Machine-Assisted Map Editing

Page 88: 1. Why is automation useful? 2. Per-Cell Classification

● Machine-Assisted iD○ Pruning minor roads: add arterial roads in low-coverage regions○ Jump: accelerate improvement of map in high-coverage regions

● Map Inference for Interactive Mapping

Machine-Assisted Map Editing

Page 89: 1. Why is automation useful? 2. Per-Cell Classification

(1) MAiD generates a yellow overlay covering automatically inferred road segments.

Machine-Assisted iD: Integrating Map Inference into Map Editors

(2) User presses H to hide the overlay and verify positions of roads in the imagery.

(3) User left clicks on the overlay to materialize inferred segments into the map.

(3) Right clicks remove incorrect edges in the overlay.

Page 91: 1. Why is automation useful? 2. Per-Cell Classification

Making Machine-Assistance UsefulInferred segments often correspond to short, straight roads that are not much faster to validate than to trace by hand.

Solution: focus on tasks where machine-assistance can improve productivity substantially:● Low-coverage regions: adding major, arterial roads to the map● High-coverage regions: eliminate painstaking effort of scanning the imagery for

unmapped roads

Page 94: 1. Why is automation useful? 2. Per-Cell Classification

Automation for Digital Maps

1. Why is automation useful?2. Per-Cell Classification3. RoadRunner: Iterative Tracing with GPS Trajectories4. RoadTracer: Iterative Tracing with Aerial Imagery5. Semi-automation Opportunities

94