Types of Edges. Why Edge Detection? Types of Edges. Edge Detection. Gradient. Edge Detection

Similar documents
CAP 5415 Computer Vision Fall 2012

Lecture 15: Segmentation (Edge Based, Hough Transform)

Edge Detection. Announcements. Edge detection. Origin of Edges. Mailing list: you should have received messages

Edge Detection. EE/CSE 576 Linda Shapiro

Issues with Curve Detection Grouping (e.g., the Canny hysteresis thresholding procedure) Model tting They can be performed sequentially or simultaneou

Edge Detection. CSE 576 Ali Farhadi. Many slides from Steve Seitz and Larry Zitnick

Pattern recognition systems Lab 3 Hough Transform for line detection

Lecture 9: Hough Transform and Thresholding base Segmentation

Edge detection. Convert a 2D image into a set of curves. Extracts salient features of the scene More compact than pixels

Biomedical Image Analysis. Point, Edge and Line Detection

Multimedia Computing: Algorithms, Systems, and Applications: Edge Detection

Edges and Lines Readings: Chapter 10: better edge detectors line finding circle finding

Lecture 7: Most Common Edge Detectors

Computer Vision. Image Segmentation. 10. Segmentation. Computer Engineering, Sejong University. Dongil Han

Edge detection. Gradient-based edge operators

Image Processing

E0005E - Industrial Image Analysis

Anno accademico 2006/2007. Davide Migliore

HOUGH TRANSFORM. Plan for today. Introduction to HT. An image with linear structures. INF 4300 Digital Image Analysis

Edges and Lines Readings: Chapter 10: better edge detectors line finding circle finding

Announcements. Edges. Last Lecture. Gradients: Numerical Derivatives f(x) Edge Detection, Lines. Intro Computer Vision. CSE 152 Lecture 10

(Refer Slide Time: 0:32)

Edge linking. Two types of approaches. This process needs to be able to bridge gaps in detected edges due to the reason mentioned above

HOUGH TRANSFORM CS 6350 C V

Computer Vision 6 Segmentation by Fitting

Chapter 11 Arc Extraction and Segmentation

Lecture 6: Edge Detection

Feature Detectors and Descriptors: Corners, Lines, etc.

Practice Exam Sample Solutions

Edge Detection. Today s reading. Cipolla & Gee on edge detection (available online) From Sandlot Science

Edge detection. Stefano Ferrari. Università degli Studi di Milano Elaborazione delle immagini (Image processing I)

Other Linear Filters CS 211A

EECS490: Digital Image Processing. Lecture #20

Edge and local feature detection - 2. Importance of edge detection in computer vision

Elaborazione delle Immagini Informazione Multimediale. Raffaella Lanzarotti

Example 1: Regions. Image Segmentation. Example 3: Lines and Circular Arcs. Example 2: Straight Lines. Region Segmentation: Segmentation Criteria

Finding 2D Shapes and the Hough Transform

Example 2: Straight Lines. Image Segmentation. Example 3: Lines and Circular Arcs. Example 1: Regions

Image Segmentation Image Thresholds Edge-detection Edge-detection, the 1 st derivative Edge-detection, the 2 nd derivative Horizontal Edges Vertical

A function: A mathematical relationship between two variables (x and y), where every input value (usually x) has one output value (usually y)

Local Image preprocessing (cont d)

Lecture 8: Fitting. Tuesday, Sept 25

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

Laboratory of Applied Robotics

Lesson 6: Contours. 1. Introduction. 2. Image filtering: Convolution. 3. Edge Detection. 4. Contour segmentation

Test Name: Chapter 3 Review

OBJECT detection in general has many applications

What is an edge? Paint. Depth discontinuity. Material change. Texture boundary

Filtering Images. Contents

Generalized Hough Transform, line fitting

Digital Image Processing. Image Enhancement - Filtering

OpenGL Graphics System. 2D Graphics Primitives. Drawing 2D Graphics Primitives. 2D Graphics Primitives. Mathematical 2D Primitives.

Section 1.1 The Distance and Midpoint Formulas

Segmentation I: Edges and Lines

Practical Image and Video Processing Using MATLAB

Computer Vision I. Announcement. Corners. Edges. Numerical Derivatives f(x) Edge and Corner Detection. CSE252A Lecture 11

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

Edge Detection Lecture 03 Computer Vision

CS4670: Computer Vision

2D Image Processing Feature Descriptors

Fuzzy Inference System based Edge Detection in Images

EECS490: Digital Image Processing. Lecture #21

Analysis of Image and Video Using Color, Texture and Shape Features for Object Identification

CS 4495 Computer Vision. Linear Filtering 2: Templates, Edges. Aaron Bobick. School of Interactive Computing. Templates/Edges

Edge Detection. CMPUT 206: Introduction to Digital Image Processing. Nilanjan Ray. Source:

Feature Detectors - Sobel Edge Detector

Biometrics Technology: Image Processing & Pattern Recognition (by Dr. Dickson Tong)

Chapter 11 Image Processing

Digital Image Processing COSC 6380/4393

CS334: Digital Imaging and Multimedia Edges and Contours. Ahmed Elgammal Dept. of Computer Science Rutgers University

Fitting. Lecture 8. Cristian Sminchisescu. Slide credits: K. Grauman, S. Seitz, S. Lazebnik, D. Forsyth, J. Ponce

Sharpening through spatial filtering

Straight Lines and Hough

Searching of meteors in astronomical images using Matlab GUI

Segmentation algorithm for monochrome images generally are based on one of two basic properties of gray level values: discontinuity and similarity.

Distance and Angles Effect in Hough Transform for line detection

Microsoft Excel 2007 Creating a XY Scatter Chart

Edge and corner detection

SUMMARY: DISTINCTIVE IMAGE FEATURES FROM SCALE- INVARIANT KEYPOINTS

Introduction. Chapter Overview

Learning an Alphabet of Shape and Appearance for Multi-Class Object Detection

Edge Detection CSC 767

Vocabulary Unit 2-3: Linear Functions & Healthy Lifestyles. Scale model a three dimensional model that is similar to a three dimensional object.

Model Fitting. Introduction to Computer Vision CSE 152 Lecture 11

CS534: Introduction to Computer Vision Edges and Contours. Ahmed Elgammal Dept. of Computer Science Rutgers University

A Robust Method for Circle / Ellipse Extraction Based Canny Edge Detection

Advanced Video Content Analysis and Video Compression (5LSH0), Module 4

Digital Image Processing (CS/ECE 545) Lecture 5: Edge Detection (Part 2) & Corner Detection

WJEC MATHEMATICS INTERMEDIATE GRAPHS STRAIGHT LINE GRAPHS (PLOTTING)

EE368 Project Report CD Cover Recognition Using Modified SIFT Algorithm

Jim Lambers MAT 169 Fall Semester Lecture 33 Notes

Edge detection. Winter in Kraków photographed by Marcin Ryczek

Chapter - 2: Geometry and Line Generations

The Rectangular Coordinate System and Equations of Lines. College Algebra

Ulrik Söderström 16 Feb Image Processing. Segmentation

Harder case. Image matching. Even harder case. Harder still? by Diva Sian. by swashford

Review for the Final

Edge Detection. CSC320: Introduction to Visual Computing Michael Guerzhoy. René Magritte, Decalcomania. Many slides from Derek Hoiem, Robert Collins

The x-intercept can be found by setting y = 0 and solving for x: 16 3, 0

Computer Vision I. Announcements. Fourier Tansform. Efficient Implementation. Edge and Corner Detection. CSE252A Lecture 13.

Transcription:

Why Edge Detection? How can an algorithm extract relevant information from an image that is enables the algorithm to recognize objects? The most important information for the interpretation of an image (for both technical and biological systems) is the contour of objects. Contours are indicated by abrupt changes in brightness. We can use edge detection filters to extract contour information from an image. Types of Edges One-dimensional profiles of different edge types Types of Edges One-dimensional profile of actual edges Edge Detection First we need some definitions: An edge point is a point in an image with coordinates [i, j] at the location of a significant local intensity change. An edge fragment corresponds to the i and j coordinates of an edge and the edge orientation, which may be the gradient angle. An edge detector is an algorithm that produces a set of edges (edge points or edge fragments) from an image. 3 4 Edge Detection A contour is a list of edges or the mathematical curve that models the list of edges. Edge linking is the process of forming an ordered list of edges from an unordered list. By convention, edges are ordered by traversal in a clockwise direction. Edge following is the process of searching the (filtered) image to determine contours. Gradient In the one-dimensional case, a step edge corresponds to a local peak in the first derivative of the intensity function. In the two-dimensional case, we analyze the gradient instead of the first derivative. Just like the first derivative, the gradient measures the change in a function. For two-dimensional functions it is defined as 5 6

Gradient In order to compute G i and G j in an image F at position [i, j], we need to consider the discrete case and get: G i = F[i+, j] F[i, j] G j = F[i, j+] F[i, j] This can be done with convolution filters: G i = G j = - - To be precise in the assignment of gradients to pixels and to reduce noise, we usually apply 3 3 filters instead (next slide). 7 Sobel filters are the most common variant of edge detection filters. Two small convolution filters are used successively: - - S i - - - - S j 8 Sobel filters yield two interesting pieces of information: The magnitude of the gradient (local change in brightness): Gradient vs. Edge Orientation Note: Edge and gradient orientation are perpendicular to each other: The angle of the gradient (tells us about the orientation of an edge): 9 Here, the gradient orientation is horizontal (pointing to the right) and the edge orientation is vertical. and Thresholding Calculating the magnitude of the brightness gradient with a Sobel filter. Left: original image; right: filtered image.

The Hough transform is a very general technique for feature detection. In the present context, we will use it for the detection of straight lines and circles as contour descriptors in edge point arrays. We could use other variants of the Hough transform to detect circular and other shapes. We could even use it outside of computer vision, for example in data mining applications. So understanding the Hough transform may benefit you in many situations. The Hough transform is a voting mechanism. In general, each point in the input space votes for several combinations of parameters in the output space. Those combinations of parameters that receive the most votes are declared the winners. We will use the Hough transform to fit a straight line to edge position data. To keep the description simple and consistent, let us assume that the input image is continuous and described by an x-y coordinate system. 3 4 A straight line can be described by the equation: y = mx + c The variables x and y are the parameters of our input space, and m and c are the parameters of the output space. For a given value (x, y) indicating the position of an edge in the input, we can determine the possible values of m and c by rewriting the above equation: c = -xm + y You see that this represents a straight line in m-c space, which is our. 5 Example: Each of the three points A, B, and C on a straight line in input space are transformed into straight lines in. y A B C x input space The parameters of their crossing point (which would be the winners) are the parameters of the straight line in input space. c B C A winner parameters m 6 Algorithm:. Quantize input and s appropriately.. Assume that each cell in the parameter (output) space is an accumulator (counter). Initialize all cells to zero. 3. For each point (x, y) in the image (input) space, increment by one each of the accumulators that satisfy the equation. 4. Maxima in the accumulator array correspond to the parameters of model instances. The Hough transform does not require preprocessing of edge information such as ordering, noise removal, or filling of gaps. It simply provides an estimate of how to best fit a straight line (or other curve model) to the available edge data. If there are multiple straight lines in the image, the Hough transform will result in multiple peaks. You can search for these peaks to find the parameters for all the corresponding straight lines. 7 8 3

Improved Here is some practical advice for doing the Hough transform. The m-c space described on the previous slides is simple but not very practical. It cannot represent vertical lines, and the closer the orientation of a line gets to being vertical, the greater is the change in m required to turn the line significantly. We are going to discuss an alternative that requires a bit more computation but avoids the problems of the m-c space. Improved As we said before, it is problematic to use m (slope) and c (intercept) as an. Instead, it is a good idea to use the orientation and length d of the normal of a straight line to describe it. The normal n of a straight line l is perpendicular to l and connects l with the origin of the coordinate system. The range of is from to 36, and the range of d is from to the length of the image diagonal. Note that we can skip the interval from 8 to 7, because it would require a negative d. Let us assume that the image is 45 45 units large. 9 Row i 45 d Improved Column j 45 line to be described input space 636 The parameters and d form the for our Hough transform. d representation of same line in 36 Improved For any edge point (i, j ) indicated by our Sobel edge detector, we have to find all parameters and d for those straight lines that pass through (i, j ). We will then increase the counters in our output space located at every (, d) by the edge strength, i.e., the magnitude provided by the Sobel detector. This way we will find out which parameters (, d) are most likely to indicate the clearest lines in the image. But first of all, we have to discuss how to find all the parameters (, d) for a given point (i, j ). Improved By varying from to 36 we can find all lines crossing (i, j ): Row i 3 d 3 d d Column j (i, j ) 45 But how can we compute parameter d for each value of? Idea: Rotate (i, j ) and the normal around origin by - so that the normal lands on i-axis. Then the i-coordinate of the rotated point is the value of d. Improved And how do we rotate a point in two-dimensional space? The simplest way is to multiply the point vector with a rotation matrix. We compute the rotated point (i R, j R ) as obtained by rotation of point (i, j ) around the point (, ) by the angle as follows: 45 3 4 4

Improved We are only interested in the i-coordinate: i R = i cos -j sin In our case, we want to rotate by the angle - : i R = i cos(- ) - j sin(- ) i R = i cos + j sin Now we can compute parameter d as a function of i, j, and : d(i, j ; ) = i cos + j sin By varying we are now able to determine all parameters (, d) for a given point (i, j ) and increase the counters in accordingly. 5 5