finding extracting and integrating data from maps
play

Finding, Extracting, and Integrating Data from Maps Craig Knoblock - PowerPoint PPT Presentation

Finding, Extracting, and Integrating Data from Maps Craig Knoblock University of Southern California and Geosemble Technologies Acknowledgements Finding Maps Joint work with Matthew Michelson, Vipul Verma (IIT IIT Kharagpur), Aman


  1. Remove Background � Use Triangle method (Zack, 1977) to locate luminosity clusters in the histogram � Remove the dominate cluster Binary Raster Map Input Raster Map Luminosity Histogram Craig A. Knoblock University of Southern California 42

  2. Remove Background � Use Triangle method (Zack, 1977) to locate luminosity clusters in the histogram � Remove the dominate cluster Background color should have dominate number of pixels Binary Raster Map Input Raster Map Luminosity Histogram Craig A. Knoblock University of Southern California 43

  3. Remove Background � Use Triangle method (Zack, 1977) to locate luminosity clusters in the histogram � Remove the dominate cluster Background color should have Remove dominate cluster dominate number of pixels (background pixels) Binary Raster Map Luminosity Histogram Craig A. Knoblock University of Southern California 44

  4. Remove Noise & Rebuild Road Layer � Before we extract the intersections, we separate the road layer Double-line road layer Single-line road layer Craig A. Knoblock University of Southern California 45

  5. Remove Noise & Rebuild Road Layer � Before we extract the intersections, we separate the road layer Double-line road layer Single-line road layer Craig A. Knoblock University of Southern California 46

  6. Remove Noise & Rebuild Road Layer � Before we extract the intersections, we separate the road layer Double-line road layer Single-line road layer Craig A. Knoblock University of Southern California 47

  7. Remove Noise & Rebuild Road Layer � Double-line road layers provide more information to separate the road layer from other linear structures � We utilize Parallel Pattern Tracing to find parallel road lines Craig A. Knoblock University of Southern California 48

  8. Parallel Pattern Tracing � Zoom in to pixel level: 4 3 2 � 8 directions connect to one pixel � 4 possible straight lines 5 1 � If a pixel is on a double line layer 6 7 8 with road width=3 pixels, we should be able to find: � At least 1 pixel on the original road line � At least 1 corresponding pixel on the other road line Craig A. Knoblock University of Southern California 49

  9. Parallel Pattern Tracing � Zoom in to pixel level: 4 3 2 � 8 directions connect to one pixel � 4 possible straight lines 5 1 � If a pixel is on a double line layer 6 7 8 with road width=3 pixels, we should be able to find: � At least 1 pixel on the original road line � At least 1 corresponding pixel on the other road line Craig A. Knoblock University of Southern California 50

  10. Parallel Pattern Tracing � Zoom in to pixel level: 4 3 2 � 8 directions connect to one pixel � 4 possible straight lines 5 1 � If a pixel is on a double line layer 6 7 8 with road width=3 pixels, we should be able to find: � At least 1 pixel on the original road line � At least 1 corresponding pixel on the Street other road line Craig A. Knoblock University of Southern California 51

  11. Parallel Pattern Tracing � Zoom in to pixel level: 4 3 2 � 8 directions connect to one pixel � 4 possible straight lines 5 1 � If a pixel is on a double line layer 6 7 8 with road width=3 pixels, we should be able to find: � At least 1 pixel on the original road line � At least 1 corresponding pixel on the Street other road line Construct the first line Craig A. Knoblock University of Southern California 52

  12. Parallel Pattern Tracing � Zoom in to pixel level: 4 3 2 � 8 directions connect to one pixel � 4 possible straight lines 5 1 � If a pixel is on a double line layer 6 7 8 with road width=3 pixels, we should be able to find: Corresponding pixel on the � At least 1 pixel on the original road second line line � At least 1 corresponding pixel on the Street other road line Construct the first line Craig A. Knoblock University of Southern California 53

  13. Parallel Pattern Tracing � Detect the type of road layer, the road width � Remove linear structures other than parallel roads USGS Topographic Map Road Layer after PPT Craig A. Knoblock University of Southern California 54

  14. Remove Noise & Rebuild Road Layer � Text/Graphics Separation (Cao et al. 2001) � Separate linear structures from other objects Craig A. Knoblock University of Southern California 55

  15. Remove Noise & Rebuild Road Layer � Text/Graphics Separation (Cao et al. 2001) � Separate linear structures from other objects Find small connected objects - character Craig A. Knoblock University of Southern California 56

  16. Remove Noise & Rebuild Road Layer � Text/Graphics Separation (Cao et al. 2001) � Separate linear structures from other objects Find small connected objects - character Group small connected objects - string Craig A. Knoblock University of Southern California 57

  17. Remove Noise & Rebuild Road Layer � Text/Graphics Separation (Cao et al. 2001) � Separate linear structures from other objects Find small connected objects - character Group small connected objects - string Remove small connected object groups Craig A. Knoblock University of Southern California 58

  18. Remove Noise & Rebuild Road Layer � Text/Graphics Separation (Cao et al. 2001) � Separate linear structures from other objects Find small connected objects - character Group small connected objects - string Remove small connected object groups After the removal of objects touching road lines, the road network is broken Craig A. Knoblock University of Southern California 59

  19. Rebuild Road Layer � General Dilation operator � Reconnect the broken road layer Generalized Dilation Craig A. Knoblock University of Southern California 60

  20. Rebuild Road Layer � General Dilation operator � Reconnect the broken road layer Generalized Dilation For every foreground pixel, fill up its eight neighboring pixels. 1st iteration Craig A. Knoblock University of Southern California 61

  21. Rebuild Road Layer � General Dilation operator � Reconnect the broken road layer Generalized Dilation For every foreground pixel, fill up its eight neighboring pixels. After 2 iterations 2nd iteration 1st iteration Craig A. Knoblock University of Southern California 62

  22. Rebuild Road Layer � General Erosion operator � Thin road lines and maintain the original orientation Generalized Erosion Craig A. Knoblock University of Southern California 63

  23. Rebuild Road Layer � General Erosion operator � Thin road lines and maintain the original orientation Generalized Erosion For every foreground pixel, erase it if any neighboring pixel is white. 1st iteration Craig A. Knoblock University of Southern California 64

  24. Rebuild Road Layer � General Erosion operator � Thin road lines and maintain the original orientation Generalized Erosion For every foreground pixel, erase it if any neighboring pixel is white. After 2 iterations 2nd iteration 1st iteration Craig A. Knoblock University of Southern California 65

  25. Rebuild Road Layer � Thinning operator � Produce one pixel width road lines Thinning Thin each road line until they are all one pixel width. Craig A. Knoblock University of Southern California 66

  26. Rebuild Road Layer � Thinning operator � Produce one pixel width road lines Thinning Thin each road line until they are all one pixel width. Craig A. Knoblock University of Southern California 67

  27. Identify Road Intersections and Extract Road Information � Corner detector (OpenCV) � Find intersection candidates � Compute the connectivity and orientation to determine correct intersections Craig A. Knoblock University of Southern California 68

  28. Identify Road Intersections and Extract Road Information � Corner detector (OpenCV) Corner Detector � Find intersection candidates � Compute the connectivity and orientation to determine correct intersections Craig A. Knoblock University of Southern California 69

  29. Identify Road Intersections and Extract Road Information � Corner detector (OpenCV) Corner Detector � Find intersection candidates � Compute the connectivity and orientation to determine correct intersections Craig A. Knoblock University of Southern California 70

  30. Identify Road Intersections and Extract Road Information � Corner detector (OpenCV) Corner Detector � Find intersection candidates � Compute the connectivity and orientation to determine correct intersections Connectivity<3, discard Craig A. Knoblock University of Southern California 71

  31. Identify Road Intersections and Extract Road Information � Corner detector (OpenCV) Corner Detector � Find intersection candidates � Compute the connectivity and orientation to determine correct intersections Road Intersection!! 90 ∘ 180 ∘ 270 ∘ Connectivity<3, discard Connectivity>=3, compute road orientations Craig A. Knoblock University of Southern California 72

  32. Experimental Results – Precision and Recall Total 56 raster maps from 6 different sources with various resolution. (%) Craig A. Knoblock University of Southern California 73

  33. Experimental Results – Positional Accuracy Total 56 raster maps from 6 different sources with various resolution. (pixel) Craig A. Knoblock University of Southern California 74

  34. Experimental Results - Performance � Computation time: � Platform/Machine: Windows 2000 Server, Intel Xeon 1.8 GHZ Dual-Processor with 1 GB memory � 800x600 topographic map with resolution 2m/pixel: less than 1 minutes � Other simpler maps: less than 20 seconds Craig A. Knoblock University of Southern California 75

  35. Outline � Finding Maps � Aligning Maps with Imagery � Extracting intersections � Point pattern matching � Extracting Separate Layers from Maps � Conclusions Craig A. Knoblock University of Southern California 76

  36. Point Pattern Matching: Overview � Find the mapping between these points � Why ? To generate a set of control point pairs 80 points 400 points Example: (lon,lat) = (-118.407088,33.92993) Example: (x,y) = (83,22) Craig A. Knoblock University of Southern California 77

  37. Point Pattern Matching: Overview � Find the mapping between these points � Why ? To generate a set of control point pairs � How to solve the point sets matching problem : � A geometric point sets matching problem � Find the transformation T between the layout (with relative distances) of the two point sets 80 points 400 points Example: (lon,lat) = (-118.407088,33.92993) Example: (x,y) = (83,22) Craig A. Knoblock University of Southern California 78

  38. Point Pattern Matching: Finding the Transformation [Chen et al., 2004, ACMGIS] Craig A. Knoblock University of Southern California 79

  39. Point Pattern Matching: Finding the Transformation [Chen et al., 2004, ACMGIS] Craig A. Knoblock University of Southern California 80

  40. Point Pattern Matching: Finding the Transformation [Chen et al., 2004, ACMGIS] Craig A. Knoblock University of Southern California 81

  41. Point Pattern Matching: Finding the Transformation [Chen et al., 2004, ACMGIS] � Transformation = Scaling + Translation � Transforms most points on map to points on imagery � Find matching point pairs to solve this transformation Craig A. Knoblock University of Southern California 82

  42. Point Pattern Matching: A Brute-Force Algorithm � Iterate all point pair in M, and for each chosen point pair in M examining all point pairs in S � Time-consuming : O(m 3 n 2 log n) � Can we improve it by randomization ? Not always !  Noisy points on maps  Some missing points on imagery Transformation T ? m Points on Map M n Points on Image S Craig A. Knoblock University of Southern California 83

  43. Point Pattern Matching: A Brute-Force Algorithm � Iterate all point pair in M, and for each chosen point pair in M examining all point pairs in S � Time-consuming : O(m 3 n 2 log n) � Can we improve it by randomization ? Not always !  Noisy points on maps  Some missing points on imagery Transformation T ? Transformation T m Points on Map M n Points on Image S Craig A. Knoblock University of Southern California 84

  44. Point Pattern Matching: A Brute-Force Algorithm � Iterate all point pair in M, and for each chosen point pair in M examining all point pairs in S � Time-consuming : O(m 3 n 2 log n) � Can we improve it by randomization ? Not always !  Noisy points on maps  Some missing points on imagery Check all pairs on S Transformation T ? m Points on Map M n Points on Image S Craig A. Knoblock University of Southern California 85

  45. Point Pattern Matching: A Brute-Force Algorithm � Iterate all point pair in M, and for each chosen point pair in M examining all point pairs in S � Time-consuming : O(m 3 n 2 log n) � Can we improve it by randomization ? Not always !  Noisy points on maps  Some missing points on imagery Check all pairs on S Transformation T ? m Points on Map M n Points on Image S Apply T Craig A. Knoblock University of Southern California 86

  46. Geospatial Point Pattern Matching (GeoPPM): Exploit Geometric Info. Associated with Each Intersection � Intersection degree: the number of intersected roads � Directions of Intersected road segments Degree:3; Directions:0, 90, 270 Craig A. Knoblock University of Southern California 87

  47. Geospatial Point Pattern Matching (GeoPPM): Exploit Geometric Info. Associated with Each Intersection � Intersection degree: the number of intersected roads � Directions of Intersected road segments Degree:3; Directions:0, 90, 270 Craig A. Knoblock University of Southern California 88

  48. Geospatial Point Pattern Matching (GeoPPM): Exploit Map Scale � We need to consider translation only O(m 3 n 2 log n)  O(m 2 n log n) Point Pattern on Imagery North Transform points to another space based lat/long East West South Point Pattern Matching North Point Pattern on Map based on translation Transform points to another space based on map-scales East West South Craig A. Knoblock University of Southern California 89

  49. Geospatial Point Pattern Matching (GeoPPM): For Map with Unknown Map Scale � Exploiting Point Density and Localized Distribution of Points � Assumption: we focus on medium to high resolution maps  We are conflating maps with high resolution imagery ! Level 2: 4.25 m/pixel Level 1: 1.2 m/pixel Level 3: 14.08 m/pixel Level 4: 35 m/pixel Coarse level map: map with smaller map-scale (low resolution) Craig A. Knoblock University of Southern California 90

  50. Geospatial Point Pattern Matching (GeoPPM): Exploiting Point Density 800 40 55 points 1059 points Craig A. Knoblock University of Southern California 91

  51. Geospatial Point Pattern Matching (GeoPPM): Exploit Localized Distribution of Points � The points are in a cluster ! 57 detected map points 1059 points Craig A. Knoblock University of Southern California 92

  52. Geospatial Point Pattern Matching (GeoPPM): Exploit Localized Distribution of Points � The points are in a cluster ! 57 detected map points 1059 points Craig A. Knoblock University of Southern California 93

  53. Geospatial Point Pattern Matching (GeoPPM): Exploit Localized Distribution of Points � The points are in a cluster ! 57 detected map points 1059 points Craig A. Knoblock University of Southern California 94

  54. Geospatial Point Pattern Matching (GeoPPM): Exploit Localized Distribution of Points Craig A. Knoblock University of Southern California 95

  55. Geospatial Point Pattern Matching (GeoPPM): Exploit Localized Distribution of Points Craig A. Knoblock University of Southern California 96

  56. Geospatial Point Pattern Matching (GeoPPM): Exploit Localized Distribution of Points Craig A. Knoblock University of Southern California 97

  57. Geospatial Point Pattern Matching (GeoPPM): Exploit Localized Distribution of Points Craig A. Knoblock University of Southern California 98

  58. Geospatial Point Pattern Matching (GeoPPM): Exploit Localized Distribution of Points Craig A. Knoblock University of Southern California 99

  59. Geospatial Point Pattern Matching (GeoPPM): Exploit Localized Distribution of Points Craig A. Knoblock University of Southern California 100

Recommend


More recommend