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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Rebuild Road Layer � General Dilation operator � Reconnect the broken road layer Generalized Dilation Craig A. Knoblock University of Southern California 60
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
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
Rebuild Road Layer � General Erosion operator � Thin road lines and maintain the original orientation Generalized Erosion Craig A. Knoblock University of Southern California 63
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
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
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
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
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
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
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
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
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
Experimental Results – Precision and Recall Total 56 raster maps from 6 different sources with various resolution. (%) Craig A. Knoblock University of Southern California 73
Experimental Results – Positional Accuracy Total 56 raster maps from 6 different sources with various resolution. (pixel) Craig A. Knoblock University of Southern California 74
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
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
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
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
Point Pattern Matching: Finding the Transformation [Chen et al., 2004, ACMGIS] Craig A. Knoblock University of Southern California 79
Point Pattern Matching: Finding the Transformation [Chen et al., 2004, ACMGIS] Craig A. Knoblock University of Southern California 80
Point Pattern Matching: Finding the Transformation [Chen et al., 2004, ACMGIS] Craig A. Knoblock University of Southern California 81
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
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
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
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
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
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
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
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
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
Geospatial Point Pattern Matching (GeoPPM): Exploiting Point Density 800 40 55 points 1059 points Craig A. Knoblock University of Southern California 91
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
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
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
Geospatial Point Pattern Matching (GeoPPM): Exploit Localized Distribution of Points Craig A. Knoblock University of Southern California 95
Geospatial Point Pattern Matching (GeoPPM): Exploit Localized Distribution of Points Craig A. Knoblock University of Southern California 96
Geospatial Point Pattern Matching (GeoPPM): Exploit Localized Distribution of Points Craig A. Knoblock University of Southern California 97
Geospatial Point Pattern Matching (GeoPPM): Exploit Localized Distribution of Points Craig A. Knoblock University of Southern California 98
Geospatial Point Pattern Matching (GeoPPM): Exploit Localized Distribution of Points Craig A. Knoblock University of Southern California 99
Geospatial Point Pattern Matching (GeoPPM): Exploit Localized Distribution of Points Craig A. Knoblock University of Southern California 100
Recommend
More recommend