Extracting Layers and Recognizing Features for Automatic Map Understanding. Yao-Yi Chiang

Similar documents
Automatic Extraction of Road Intersections from Raster Maps

Automatic Extraction of Road Intersection Position, Connectivity and Orientations from Raster Maps

General Approach for Extracting Road Vector Data from Raster Maps

Extracting Road Vector Data from Raster Maps

E0005E - Industrial Image Analysis

EE 584 MACHINE VISION

Automatically Identifying and Georeferencing Street Maps on the Web

Development of an Automated Fingerprint Verification System

CS443: Digital Imaging and Multimedia Binary Image Analysis. Spring 2008 Ahmed Elgammal Dept. of Computer Science Rutgers University

Bus Detection and recognition for visually impaired people

EE795: Computer Vision and Intelligent Systems

Digital Image Processing Fundamentals

Hypothesis Generation of Instances of Road Signs in Color Imagery Captured by Mobile Mapping Systems

Anno accademico 2006/2007. Davide Migliore

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

EE795: Computer Vision and Intelligent Systems

A Low Power, High Throughput, Fully Event-Based Stereo System: Supplementary Documentation

Morphological Image Processing

Automatic Segmentation of Semantic Classes in Raster Map Images

Introduction. Introduction. Related Research. SIFT method. SIFT method. Distinctive Image Features from Scale-Invariant. Scale.

EE368 Project: Visual Code Marker Detection

A System to Retrieve Text/Symbols from Color Maps using Connected Component and Skeleton Analysis

Cover Page. Abstract ID Paper Title. Automated extraction of linear features from vehicle-borne laser data

Local invariant features

Local features: detection and description May 12 th, 2015

Text Separation from Graphics by Analyzing Stroke Width Variety in Persian City Maps

Shape Model-Based 3D Ear Detection from Side Face Range Images

Automatic Image Alignment (feature-based)

Biomedical Image Analysis. Point, Edge and Line Detection

Feature descriptors. Alain Pagani Prof. Didier Stricker. Computer Vision: Object and People Tracking

OBJECT detection in general has many applications

Automatic Alignment of Geographic Features in Contemporary Vector Data and Historical Maps

Features Points. Andrea Torsello DAIS Università Ca Foscari via Torino 155, Mestre (VE)

Separation of Overlapping Text from Graphics

Robbery Detection Camera

Dietrich Paulus Joachim Hornegger. Pattern Recognition of Images and Speech in C++

Processing of binary images

ECE 172A: Introduction to Intelligent Systems: Machine Vision, Fall Midterm Examination

SIFT: SCALE INVARIANT FEATURE TRANSFORM SURF: SPEEDED UP ROBUST FEATURES BASHAR ALSADIK EOS DEPT. TOPMAP M13 3D GEOINFORMATION FROM IMAGES 2014

Morphological Image Processing

Case-Based Reasoning. CS 188: Artificial Intelligence Fall Nearest-Neighbor Classification. Parametric / Non-parametric.

CS 188: Artificial Intelligence Fall 2008

Detection of Rooftop Regions in Rural Areas Using Support Vector Machine

Road-Sign Detection and Recognition Based on Support Vector Machines. Maldonado-Bascon et al. et al. Presented by Dara Nyknahad ECG 789

Lecture 12 Recognition

Local features: detection and description. Local invariant features

EXAM SOLUTIONS. Image Processing and Computer Vision Course 2D1421 Monday, 13 th of March 2006,

LANDMARK EXTRACTION USING CORNER DETECTION AND K-MEANS CLUSTERING FOR AUTONOMOUS LEADER-FOLLOWER CARAVAN

Computer Vision for HCI. Topics of This Lecture

Topic 6 Representation and Description

Linear Feature Extraction from Scanned Color

Robust PDF Table Locator

Image Processing: Final Exam November 10, :30 10:30

CS4670: Computer Vision

Robot vision review. Martin Jagersand

Practical Image and Video Processing Using MATLAB

COSC160: Detection and Classification. Jeremy Bolton, PhD Assistant Teaching Professor

CS 231A Computer Vision (Winter 2014) Problem Set 3

[10] Industrial DataMatrix barcodes recognition with a random tilt and rotating the camera

COMPUTER AND ROBOT VISION

CHAPTER 4 SEMANTIC REGION-BASED IMAGE RETRIEVAL (SRBIR)

Image Processing. Bilkent University. CS554 Computer Vision Pinar Duygulu

Optical Verification of Mouse Event Accuracy

2D Image Processing Feature Descriptors

International Journal of Signal Processing, Image Processing and Pattern Recognition Vol.9, No.2 (2016) Figure 1. General Concept of Skeletonization

Feature Detectors and Descriptors: Corners, Lines, etc.

Morphological Image Processing

CS 223B Computer Vision Problem Set 3

Short Survey on Static Hand Gesture Recognition

HOUGH TRANSFORM CS 6350 C V

Edges and Binary Image Analysis April 12 th, 2018

EECS490: Digital Image Processing. Lecture #17

[ ] Review. Edges and Binary Images. Edge detection. Derivative of Gaussian filter. Image gradient. Tuesday, Sept 16

A Model-based Line Detection Algorithm in Documents

A Method of Annotation Extraction from Paper Documents Using Alignment Based on Local Arrangements of Feature Points

Blacksburg, VA July 24 th 30 th, 2010 Georeferencing images and scanned maps Page 1. Georeference

CS 231A Computer Vision (Fall 2012) Problem Set 3

CS443: Digital Imaging and Multimedia Perceptual Grouping Detecting Lines and Simple Curves

Fundamentals of Digital Image Processing

Table 1. Different types of Defects on Tiles

EE795: Computer Vision and Intelligent Systems

Lecture 12 Recognition. Davide Scaramuzza

Chapter 3 Image Registration. Chapter 3 Image Registration

A Novel Logo Detection and Recognition Framework for Separated Part Logos in Document Images

Geometric Rectification of Remote Sensing Images

morphology on binary images

Handwritten Hindi Numerals Recognition System

Edge and corner detection

Laboratory of Applied Robotics

IRIS SEGMENTATION OF NON-IDEAL IMAGES

Image Features: Local Descriptors. Sanja Fidler CSC420: Intro to Image Understanding 1/ 58

Exploiting Depth Camera for 3D Spatial Relationship Interpretation

Understanding Tracking and StroMotion of Soccer Ball

CS4733 Class Notes, Computer Vision

FIDUCIAL BASED POSE ESTIMATION ADEWOLE AYOADE ALEX YEARSLEY

Figure 1: Workflow of object-based classification

Prof. Jose L. Flores, MS, PS Dept. of Civil Engineering & Surveying

Computer and Machine Vision

Fine Classification of Unconstrained Handwritten Persian/Arabic Numerals by Removing Confusion amongst Similar Classes

Wikipedia - Mysid

Transcription:

Extracting Layers and Recognizing Features for Automatic Map Understanding Yao-Yi Chiang 0

Outline Introduction/ Problem Motivation Map Processing Overview Map Decomposition Feature Recognition Discussion 1

Raster Maps The raster map is one important source of geospatial data: Contain information that is difficult to find elsewhere Contain the most complete set of data Travel map of Tehran, Iran USGS topographic map of St. Louis, MO 2

Exploit information in raster maps Align raster map with other geospatial data Label other geospatial data with map features 3

Difficulties Maps are complex Limited access to the meta-data Rand McNally map USGS topographic map Compression and scanning noise Scanned Thomas Guide map 4

Outline Introduction/ Problem Motivation Map Processing Overview Map Decomposition Feature Recognition Discussion 5

Map Processing Overview Earlier work focuses on hardware Recent work Map processing system using map legends and map spec. Work on a specific type of maps Work on maps with layers can be extracted using color or grayscale thresholding Work on digital maps only Work on maps with only the target layers Supervised map processing with user labeling

Map processing in the earlier years From paper maps to vector data (Leberl and Olson, 82; Suzuki and Yamada, 90): Highly labor-intensive Focus on hardware and the techniques to help human operators to speed up the processes 7 Source: Leberl, 82

Map processing system using map legends MAGELLAN: Samet and Soffer, 98 8

Map processing system using prior knowledge Verification-based computer vision approach (Myers et al., 96) A verification-based approach uses contextual knowledge and constraints to formulate and then verify interpretation hypotheses. 9 Source: Myers et al., 96

Extract layers using color thresholding Extraction and recognition of geographical features from paper maps (Dhar and Chanda,06) Green layer Red layer 10

Integrated text and line-art extraction from a topographic map (Li et al., 00) Use connected component analysis to separate lines and characters and focus on local area to rebuild lines Source: Li et al., 00 11

Work on digital maps only Automatic extraction of road networks from map images (Itonaga et al., 03) Label initial road areas using geometrical properties Iteratively update the probability of area labels until it converges 12

Work on maps with roads only Automatic extraction of primitives for conflation of raster maps. (Habib et al. 1999) Require the input raster maps have only road layer Automatically extract primitives on raster maps Group corner points and extract the centroid as the road intersections Source: Habib et al., 99 13

Supervised map processing with user labeling Label all combination of background colors and line colors Contour line extraction (Khotanzad and Zink, 03, Chen et al. 06) 14 Source: Khotanzad and Zink, 03

Automatic Map Understanding Raster Map Map Decomposition Road Layer (raster) Text Layer (raster) Text Recognition Carter Ave N. Newstead Ave Rush Pl E. Green Lea Pl Penrose St Text Red Bud Ave Fairgrounds Park Pond Road Intersection Extraction Road Intersection Templates Transformation Lat / Long Matrix (Chen et al. 08) Scaling Rotation Translation Georeferenced Sources Lat / Long Map Context Road Vectorization Road (vector) 15

Automatic Map Understanding (Cont d) 1. Automatic Map Decomposition 2. Supervised Map Decomposition 2.1 Automatic Map Classification Reuse training results Reduce human efforts 3. Automatic Feature Recognition 3.1 Road Intersection Extraction 3.2 Road Vectorization 3.3 Text Recognition Raster Map Map Decomposition Text Layer (raster) Road Layer (raster) Road Intersection Extraction Road Intersection Templates Text Recognition Text Road Vectorization Road (vector) 16

Outline Introduction/ Problem Motivation Map Processing Overview Map Decomposition Automatic Approach Extraction of Road and Text Layers Supervised Approach Feature Recognition Discussion 17

Background Removal Use Triangle method (Zack, 1977) to locate clusters in the grayscale histogram Remove the dominate cluster Background Remove dominate color should cluster have dominate (background number pixels) of pixels Binary Input Map Grayscale Histogram 18

Text/Graphics Separation Separate linear structures from text (Cao and Tan, 02) Road Layer Text Layer Detect small connected objects - character Group small connected objects - string Remove small connected object groups Add up the removed objects 19

Identify Road-Layer Format Double-line road layer and single-line road layer Double-line road layer Single-line road layer 20

Parallel-Pattern Tracing Assuming we know the road width is 3 pixels, if the yellow pixel is on a double-line layer, we can find: At least 1 pixel on the original road line At least 1 corresponding pixel on the other road line The parallel pattern! Corresponding pixel on the second line Pixilated view of a segment of double-line streets Black cells: Road pixels White cells: Backgrounds Construct the first line 21

Identify Road Format and Road Width Apply parallel-pattern tracing (PPT) iteratively on different sizes of road width The actual road width Has the maximum percentage of parallel pattern pixels The percentage is larger than a threshold Examples are in the next slide 22

Identify road width and road-layer format Double-line maps Single-line maps [X-axis] Width in pixels [Y-axis] Parallel Pixel Ratio (Identified parallel-line pixels / Foreground pixels) 23

Remove non-parallel lines Apply PPT using the detected road with to remove non-parallel lines 24

General Dilation Operator Reconnect the broken road layer For every foreground pixel, fill up it s eight neighborhood pixels. After 2 iterations 25 1st iteration 25

General Erosion Operator Thinner road lines and maintain the orientation For every foreground pixel, erase itself if any of its neighboring pixel is a background pixel. After 2 iterations 26 1st iteration 26

Thinning Operator Produce one-pixel width road lines Reduce all lines to single-pixel thickness. 27

Outline Introduction/ Problem Motivation Map Processing Overview Map Decomposition Automatic Approach Supervised Approach Extraction of Road Layer Feature Recognition Discussion 28

Supervised Map Decomposition What if we cannot automatically remove the background from raster maps? Raster maps usually contain noise from scanning and compression process 29

Difficulties Raster maps contain numerous colors Two hundred and eighty five thousand seven hundred and thirty five colors 285,735 colors 30

Color Segmentations The Mean-shift algorithm Consider distance in the RGB color space and in the image space Preserve object edges From 285,735 to 155,299 colors The K-means algorithm Limit the number of colors to K From 155,299 to 10 colors (K=10) 31 Grayscale histogram

User Labeling To extract the road layer, the user needs to provide a user label for each road color (at most K colors) User label should be (approximately) centered at a road intersection or at the center of a road line 32

Label Decomposition Decompose each user label into color images so that every color image contains only one color 0 1 2 3 4 5 (background is shown in black) 33

Hough Transformation The simplest case of Hough transform is the linear transform for detecting straight lines Line function in Hough Transformation r represents the distance between the line and the origin θ is the angle of the vector from the origin to this closest point An infinite number of lines can pass through a single point (x0,y0) of the plane All the lines that go through (x0,y0) obey the following equation:- Source: Wikipedia 34

35 Hough Transformation for Line Detection

Hough-Line Approach to Identify Road Color Detect Hough Lines Red Hough lines are within 5 pixels to the image center The center of the image is a road intersection or the center of a road line Identify road colors using the average distance between the Hough lines to the image center 0 1 2 3 4 5 0 1 2 Will be further processed next 3 4 5 Road color Road color (background is shown in black) 36

Generate Road Template Generate a road template using the images of identified road colors 5 4 (background is shown in black) (road pixels are shown in red, background is shown in black) 37

Template Matching Approach to Identify Road Color More than 50% of the red pixels in the test image have found a match identified as an image of road color 0 1 2 3 Match < 50% Match < 50% Match < 50% Match > 50% 38

Color Filter Identify a set of road colors from each user label Add the identified road colors to generate a color filter Use the color filter to extract the road layer 39

Extract one-pixel width road layer Apply morphological operations to remove solid areas and reconnect lines 40

Experimental Results We successfully extracted the road layers from 100 maps The average number of user labels per map was under 4 The average computation time per map was below 5 (s.) 41

Map Classification Can we automatically select a color filter for a new map? Color Filters New map Map Repository 42

Content-based Image Retrieval Comparing raster map content (i.e., image content) using: Color Histogram Use Color Information Only Color Coherence Vectors Edge-Intensity Histograms Use Spatial Information of the Color Pixels Only 43

Image Features Color Histogram Record the number of pixels per color Color Coherence Vectors Record the number of pixels per color based on the sizes of color regions Edge-intensity histograms Record the spatial relationships between different intensities 44

Experimental Setup Can we identify maps that share the same intensity threshold? The grayscale thresholds to extract foreground pixels 45 Insert the test maps into a repository with 5,502 images Take one test map out and use it to query the repository (CBIR) Check if the first returned map is in the same class as the query map

Experimental Results We successfully classified over 80% of the maps using three of the tested features Query map First returned map The two maps share the same intensity threshold (175) to extract their foreground pixels A successful classification example 46

Outline Introduction/ Problem Motivation Map Processing Overview Map Decomposition Feature Recognition Road-Intersection Position Detection Road-Intersection Template Extraction Road Vectorization Text Recognition Discussion 47

Road-Intersection Position Detection Corner detector (OpenCV) Find intersection candidates Compute the connectivity to determine real intersections Corner Detector Road Intersection!! Connectivity<3, discard Connectivity>=3 48

Road-Intersection Position Detection Evaluation Metrics 5 pixels 5 pixels Double-line road layer Single-line road layer 49

Experimental Results We tested 77 maps from 12 sources to detect the road intersections The average precision is 95% and the recall is 75% for the road intersection detection 50

Experimental Results (with respect to the positional displacement) 51 Distance in pixels to the ground truth

Road-Intersection Template Extraction Road-intersection template road intersection position road connectivity road orientation Road lines are distorted by the thinning operator The extracted road-intersection templates will not be accurate 52

Avoid Distortion Use the road width to determine the blob size for covering the distorted lines The thinned lines Intersect the images 53 Intersection The blob image Positions

Trace road line candidates from contact points Trace only a certain amount of line pixels Road lines are straight within a small distance (e.g., 5 pixels) Fit a line function (Y= ax+b) to the traced pixels using Least- Squares Fitting algorithm 54

Update road-intersection templates Case I Keep every road line candidate Use the intersection of the line candidates to update the template 1 1 2 3 3 Original map 2 Blob image intersected with thinned lines Traced line functions 55

Update road-intersection templates Case II Update road intersection templates Keep every road line candidate Use the centroid of the intersections of the line candidates to update the template 1 1 4 4 Original map 2 2 3 3 Blob image Centroid intersected with thinned lines 56 Traced line functions

Update road-intersection templates Case III Remove outliers and use the centroid of remaining intersections 2 Intersection (approximate location) 2 1 1 Outlier Centroid 3 4 Original map 3 Blob image intersected with thinned 4 line 57 Traced line functions

Accurate Road-Intersection Templates Avoid distortion With distortion 58

Road-Intersection Template Quality Metrics The blue lines are the extracted road-intersection templates and the red lines are the ground truth Missed one line Positional Offset Orientation Offset Connectivity Offset 59

Road-Intersection Template Quality Results Test 10 maps Extracted139 road-intersection templates with 438 lines The average positional offset: 0.4 pixels The average orientation offset: 0.24 degrees The connectivity offset: Missed 13 lines from a total of 451 lines (3%) 60

Outline Introduction/ Problem Motivation Map Processing Overview Map Decomposition Feature Recognition Road-Intersection Positions Detection Road-Intersection Template Extraction Road Vectorization Text Recognition Discussion 61

Road Vectorization Start from the extracted road intersections to connect the salient points and produce the road vector 62

Discussion We can exploit the information in raster maps by decomposing the maps into different feature layers, recognizing features from the raster layers, and aligning the features to other geospatial data We extract the road-intersection templates, the road vector, and text labels The extracted road-intersection templates and road vector can be used to align the raster map with imagery 63

Questions? Thank You If you are interested in any of the referred papers in the slides, please send me an email, and I will reply you with a pointer to the paper 64