An article by: Itay Bar-Yosef, Nate Hagbi, Klara Kedem, Itshak Dinstein Computer Science Department Ben-Gurion University Beer-Sheva, Israel Presented.

Slides:



Advertisements
Similar presentations
A Graph based Geometric Approach to Contour Extraction from Noisy Binary Images Amal Dev Parakkat, Jiju Peethambaran, Philumon Joseph and Ramanathan Muthuganapathy.
Advertisements

QR Code Recognition Based On Image Processing
CS Spring 2009 CS 414 – Multimedia Systems Design Lecture 4 – Digital Image Representation Klara Nahrstedt Spring 2009.
November 12, 2013Computer Vision Lecture 12: Texture 1Signature Another popular method of representing shape is called the signature. In order to compute.
Computational Biology, Part 23 Biological Imaging II Robert F. Murphy Copyright  1996, 1999, All rights reserved.
Prénom Nom Document Analysis: Document Image Processing Prof. Rolf Ingold, University of Fribourg Master course, spring semester 2008.
Sliding Window Filters and Edge Detection Longin Jan Latecki Computer Graphics and Image Processing CIS 601 – Fall 2004.
July 27, 2002 Image Processing for K.R. Precision1 Image Processing Training Lecture 1 by Suthep Madarasmi, Ph.D. Assistant Professor Department of Computer.
E.G.M. PetrakisFiltering1 Linear Systems Many image processing (filtering) operations are modeled as a linear system Linear System δ(x,y) h(x,y)
電腦視覺 Computer and Robot Vision I Chapter2: Binary Machine Vision: Thresholding and Segmentation Instructor: Shih-Shinh Huang 1.
EE663 Image Processing Edge Detection 2 Dr. Samir H. Abdul-Jauwad Electrical Engineering Department King Fahd University of Petroleum & Minerals.
Segmentation Divide the image into segments. Each segment:
MSU CSE 803 Stockman Linear Operations Using Masks Masks are patterns used to define the weights used in averaging the neighbors of a pixel to compute.
1 Image Filtering Readings: Ch 5: 5.4, 5.5, 5.6,5.7.3, 5.8 (This lecture does not follow the book.) Images by Pawan SinhaPawan Sinha formal terminology.
Chapter 10 Image Segmentation.
1 Image filtering Images by Pawan SinhaPawan Sinha.
The Segmentation Problem
Pattern Recognition. Introduction. Definitions.. Recognition process. Recognition process relates input signal to the stored concepts about the object.
Computer Vision Lecture 3: Digital Images
MSU CSE 803 Linear Operations Using Masks Masks are patterns used to define the weights used in averaging the neighbors of a pixel to compute some result.
VEHICLE NUMBER PLATE RECOGNITION SYSTEM. Information and constraints Character recognition using moments. Character recognition using OCR. Signature.
Chapter 10: Image Segmentation
GmImgProc Alexandra Olteanu SCPD Alexandru Ştefănescu SCPD.
Medical Image Analysis Image Enhancement Figures come from the textbook: Medical Image Analysis, by Atam P. Dhawan, IEEE Press, 2003.
Chapter 9.  Mathematical morphology: ◦ A useful tool for extracting image components in the representation of region shape.  Boundaries, skeletons,
S EGMENTATION FOR H ANDWRITTEN D OCUMENTS Omar Alaql Fab. 20, 2014.
CS 6825: Binary Image Processing – binary blob metrics
University of Kurdistan Digital Image Processing (DIP) Lecturer: Kaveh Mollazade, Ph.D. Department of Biosystems Engineering, Faculty of Agriculture,
September 23, 2014Computer Vision Lecture 5: Binary Image Processing 1 Binary Images Binary images are grayscale images with only two possible levels of.
September 5, 2013Computer Vision Lecture 2: Digital Images 1 Computer Vision A simple two-stage model of computer vision: Image processing Scene analysis.
Digital Image Processing CCS331 Relationships of Pixel 1.
Morphological Image Processing
Edges. Edge detection schemes can be grouped in three classes: –Gradient operators: Robert, Sobel, Prewitt, and Laplacian (3x3 and 5x5 masks) –Surface.
Image Segmentation and Edge Detection Digital Image Processing Instructor: Dr. Cheng-Chien LiuCheng-Chien Liu Department of Earth Sciences National Cheng.
Digital Image Processing (Digitaalinen kuvankäsittely) Exercise 2
COMP322/S2000/L171 Robot Vision System Major Phases in Robot Vision Systems: A. Data (image) acquisition –Illumination, i.e. lighting consideration –Lenses,
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities Prof. Charlene Tsai.
Edge Detection and Geometric Primitive Extraction Jinxiang Chai.
Digital Image Processing
    LICENSE PLATE EXTRACTION AND CHARACTER SEGMENTATION   By HINA KOCHHAR NITI GOEL Supervisor Dr. Rajeev Srivastava        
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities May 2, 2005 Prof. Charlene Tsai.
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 4 – Audio and Digital Image Representation Klara Nahrstedt Spring 2010.
Machine Vision Edge Detection Techniques ENT 273 Lecture 6 Hema C.R.
Edge Segmentation in Computer Images CSE350/ Sep 03.
Instructor: Mircea Nicolescu Lecture 5 CS 485 / 685 Computer Vision.
Digital Image Processing
Digital Image Processing CSC331
Chapter 6 Skeleton & Morphological Operation. Image Processing for Pattern Recognition Feature Extraction Acquisition Preprocessing Classification Post.
Sliding Window Filters Longin Jan Latecki October 9, 2002.
Color Image Segmentation Mentor : Dr. Rajeev Srivastava Students: Achit Kumar Ojha Aseem Kumar Akshay Tyagi.
Filters– Chapter 6. Filter Difference between a Filter and a Point Operation is that a Filter utilizes a neighborhood of pixels from the input image to.
Optical Character Recognition
Image Enhancement in the Spatial Domain.
Medical Image Analysis
Digital Image Processing (DIP)
Visual homing using PCA-SIFT
SIFT Scale-Invariant Feature Transform David Lowe
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities Prof. Charlene Tsai.
Image Segmentation – Edge Detection
Introduction Computer vision is the analysis of digital images
Computer Vision Lecture 5: Binary Image Processing
IMAGE PROCESSING AKSHAY P S3 EC ROLL NO. 9.
Introduction Computer vision is the analysis of digital images
Digital Image Processing
Spatial operations and transformations
SIFT.
Comparing Images Using Hausdorff Distance
CSE 185 Introduction to Computer Vision
Image Filtering Readings: Ch 5: 5. 4, 5. 5, 5. 6, , 5
Spatial operations and transformations
Presentation transcript:

An article by: Itay Bar-Yosef, Nate Hagbi, Klara Kedem, Itshak Dinstein Computer Science Department Ben-Gurion University Beer-Sheva, Israel Presented by: Doron Ben-Zion and Michael Wasserstrum

A distance transform, also known as distance map or distance field, is a derived representation of a digital image. A distance transform, also known as distance map or distance field, is a derived representation of a digital image. Derived – extracting information from the original image. Derived – extracting information from the original image. We label each pixel of the image with the Euclidian Distance to the nearest ”obstacle pixel”, which in our case is the foreground pixel. We label each pixel of the image with the Euclidian Distance to the nearest ”obstacle pixel”, which in our case is the foreground pixel. For each pixel x : For each pixel x : DT(x) = distance (x,y) where y stands for the nearest pixel in the foreground. DT(x) = distance (x,y) where y stands for the nearest pixel in the foreground.

The distance transform is sometimes very sensitive to small changes in the object. If, for example, we take this rectangle which contains a small black region in the center of the white rectangle, then the Distance Transform becomes: The distance transform is sometimes very sensitive to small changes in the object. If, for example, we take this rectangle which contains a small black region in the center of the white rectangle, then the Distance Transform becomes:

The Distance Transform is also very sensitive to noise The Distance Transform is also very sensitive to noise

An example of applying the Distance Transform to a real world image is illustrated with: An example of applying the Distance Transform to a real world image is illustrated with: To obtain a binary input image, we threshold the image at a value of 100, as shown in: To obtain a binary input image, we threshold the image at a value of 100, as shown in: The Distance Transform is: The Distance Transform is:

Sqrt(2) To preform an estimation of DT on a given binary matrix (which represents an image) we will use one kind of the 3 given “masks” – where each one of them represent a different metric. To preform an estimation of DT on a given binary matrix (which represents an image) we will use one kind of the 3 given “masks” – where each one of them represent a different metric. L1 – Matrix (Diamond)L2 – Matrix (euclidean)L ∞ - Matrix Computers “prefer” working with integers so to simplify the process we multiply the numbers by 100 while preserving the ratios

For a Given image matrix A (m*n) and a given mask M: For a Given image matrix A (m*n) and a given mask M: Initialize every background pixel to ∞ and every foreground pixel to zero. Initialize every background pixel to ∞ and every foreground pixel to zero. For k = 1 until m (Top down) For k = 1 until m (Top down) For s = 1 until n (Left to right) For s = 1 until n (Left to right) A[k,s] = min{A[k+i,s+j] + M[i,j]} A[k,s] = min{A[k+i,s+j] + M[i,j]} -1 ≤ i ≤ 1 -1 ≤ j ≤ 1 For k = m down to 1 (Botton up) For k = m down to 1 (Botton up) For s = n down to 1 (Right to left) For s = n down to 1 (Right to left) A[k,s] = min{A[k+i,s+j] + M[i,j]} A[k,s] = min{A[k+i,s+j] + M[i,j]} -1 ≤ i ≤ 1 -1 ≤ j ≤ 1 In our case we will use L2 (euclidiean mask). In our case we will use L2 (euclidiean mask). Loop 1 Loop 2

Note that we do change ‘A’ and don’t create a new Matrix (image). Note that we do change ‘A’ and don’t create a new Matrix (image). Means that if we have changed a value of a pixel, its new value will be taken in consideration in the upcoming iterations. Means that if we have changed a value of a pixel, its new value will be taken in consideration in the upcoming iterations. Also note that in the first loop we do not consider values to the right of the pixel that can be later changed! Also note that in the first loop we do not consider values to the right of the pixel that can be later changed! That is why we need the second loop! That is why we need the second loop!

We can use only part of the mask in each loop! We can use only part of the mask in each loop!

Document skew estimation is an important step in the process of document analysis. Document skew estimation is an important step in the process of document analysis. It affect the performance of subsequent stages of document capturing process such as: It affect the performance of subsequent stages of document capturing process such as: line extraction. line extraction. page segmentation. page segmentation. OCR - Optical character recognition. OCR - Optical character recognition. We will use Distance Transform to estimate the skew of a document. We will use Distance Transform to estimate the skew of a document.

1. Use Thresholding to obtain a Binarized Document. 2. Use Distance Transform. 3. Use Gaussian Blur for smoothing the Image. 4. Calculate the gradient for each backround pixel. 5. Calculate the average orientation for a specific window. 6. Produce an histogram. Calculate a gaussien on top of the histogram. Calculate a gaussien on top of the histogram. Return The Gaussien central value! Return The Gaussien central value!

Binarized Documents Binarized Document is a document represented only by 2 values of pixels: 0 & 1. usually we use 0 for black and 1 for white. Binarized Document is a document represented only by 2 values of pixels: 0 & 1. usually we use 0 for black and 1 for white. To obtain a Binarized Document from a gray scale document we simply use a Threshold. To obtain a Binarized Document from a gray scale document we simply use a Threshold. In our case “Otsu’s global thresholding approach” was used. In our case “Otsu’s global thresholding approach” was used.

Original Image Binarized Image

We don’t need color information for estimating the document orientation. We don’t need color information for estimating the document orientation. It’s crucial for Distance Transform - an important step in our skew estimation process. It’s crucial for Distance Transform - an important step in our skew estimation process.

We are using the DT as explained before. We are using the DT as explained before. We are using DT because of the observation that the dominant orientation of its gradients accurately reflects the skew of the document. We are using DT because of the observation that the dominant orientation of its gradients accurately reflects the skew of the document. (a) A portion of a text document image (b) The DT of the document image

A Gaussian blur (also known as Gaussian smoothing) is the result of blurring an image by a Gaussian function. A Gaussian blur (also known as Gaussian smoothing) is the result of blurring an image by a Gaussian function.

Space between characters creates local maxima which is irrelevant to the document orientation and interrupts the statistics process that is being done later. Space between characters creates local maxima which is irrelevant to the document orientation and interrupts the statistics process that is being done later. We would like to avoid those local maximas. We would like to avoid those local maximas. Blur will help us to eliminate local maxima between characters. Blur will help us to eliminate local maxima between characters.

(c) Gradient orientation field of the DT (d) Gradient orientation field of the smoothed DT

(a) A document image rotated at 20 ◦. (b) Corresponding histogram hθ. (b) Corresponding histogram hθ. (c) A document image rotated at −30 ◦. (d) Corresponding histogram hθ.

The Gaussian allow us to return an accurate value of the skew. The Gaussian allow us to return an accurate value of the skew. We return the Gaussian central value! We return the Gaussian central value!