Edges and Contours– Chapter 7

Slides:



Advertisements
Similar presentations
Spatial Filtering (Chapter 3)
Advertisements

EDGE DETECTION ARCHANA IYER AADHAR AUTHENTICATION.
Instructor: Mircea Nicolescu Lecture 6 CS 485 / 685 Computer Vision.
CS 4487/9587 Algorithms for Image Analysis
EDGE DETECTION.
Multimedia communications EG 371Dr Matt Roach Multimedia Communications EG 371 and EE 348 Dr Matt Roach Lecture 6 Image processing (filters)
1Ellen L. Walker Edges Humans easily understand “line drawings” as pictures.
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
Lecture 4 Edge Detection
Canny Edge Detector.
Edge detection. Edge Detection in Images Finding the contour of objects in a scene.
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.
Digital Image Processing
Introduction to Computer Vision CS / ECE 181B Thursday, April 22, 2004  Edge detection (HO #5)  HW#3 due, next week  No office hours today.
EE663 Image Processing Edge Detection 3 Dr. Samir H. Abdul-Jauwad Electrical Engineering Department King Fahd University of Petroleum & Minerals.
Lecture 2: Image filtering
Lecture 4: Edge Based Vision Dr Carole Twining Thursday 18th March 2:00pm – 2:50pm.
Edge Detection Today’s readings Cipolla and Gee –supplemental: Forsyth, chapter 9Forsyth Watt, From Sandlot ScienceSandlot Science.
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.
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
Image Filtering. Problem! Noise is a problem, even in images! Gaussian NoiseSalt and Pepper Noise.
Edges and Contours– Chapter 7. Visual perception We don’t need to see all the color detail to recognize the scene content of an image That is, some data.
Computer Vision Spring ,-685 Instructor: S. Narasimhan WH 5409 T-R 10:30 – 11:50am.
Copyright © 2012 Elsevier Inc. All rights reserved.. Chapter 5 Edge Detection.
University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Image processing.
Introduction to Image Processing Grass Sky Tree ? ? Sharpening Spatial Filters.
Edges. Edge detection schemes can be grouped in three classes: –Gradient operators: Robert, Sobel, Prewitt, and Laplacian (3x3 and 5x5 masks) –Surface.
Introduction to Image Processing
Edge Detection Today’s reading Cipolla & Gee on edge detection (available online)Cipolla & Gee on edge detection Szeliski, Ch 4.1.2, From Sandlot.
CSC508 What You Should Be Doing Code, code, code –Programming Gaussian Convolution Sobel Edge Operator.
Instructor: S. Narasimhan
CS654: Digital Image Analysis Lecture 24: Introduction to Image Segmentation: Edge Detection Slide credits: Derek Hoiem, Lana Lazebnik, Steve Seitz, David.
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
CSC508 Convolution Operators. CSC508 Convolution Arguably the most fundamental operation of computer vision It’s a neighborhood operator –Similar to the.
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities Prof. Charlene Tsai.
Chapter 9: Image Segmentation
CSE 6367 Computer Vision Image Operations and Filtering “You cannot teach a man anything, you can only help him find it within himself.” ― Galileo GalileiGalileo.
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities May 2, 2005 Prof. Charlene Tsai.
Announcements Project 0 due tomorrow night. Edge Detection Today’s readings Cipolla and Gee (handout) –supplemental: Forsyth, chapter 9Forsyth For Friday.
Lecture 04 Edge Detection Lecture 04 Edge Detection Mata kuliah: T Computer Vision Tahun: 2010.
Machine Vision Edge Detection Techniques ENT 273 Lecture 6 Hema C.R.
Instructor: Mircea Nicolescu Lecture 7
Sharpening Spatial Filters ( high pass)  Previously we have looked at smoothing filters which remove fine detail  Sharpening spatial filters seek to.
Lecture 8: Edges and Feature Detection
1 Edge Operators a kind of filtering that leads to useful features.
Spatial Filtering (Chapter 3) CS474/674 - Prof. Bebis.
EDGE DETECTION Dr. Amnach Khawne. Basic concept An edge in an image is defined as a position where a significant change in gray-level values occur. An.
Miguel Tavares Coimbra
Edge Detection slides taken and adapted from public websites:
Image Filtering Spatial filtering
Edge Detection Phil Mlsna, Ph.D. Dept. of Electrical Engineering Northern Arizona University.
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities Prof. Charlene Tsai.
ECE 692 – Advanced Topics in Computer Vision
Edge Detection CS 678 Spring 2018.
Jeremy Bolton, PhD Assistant Teaching Professor
Computer Vision Lecture 9: Edge Detection II
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
Detection of Regions of Interest
Dr. Chang Shu COMP 4900C Winter 2008
Lecture 10 Image sharpening.
a kind of filtering that leads to useful features
Digital Image Processing
a kind of filtering that leads to useful features
Edge Detection Today’s reading
Canny Edge Detector.
Linear Operations Using Masks
Edge Detection Today’s reading
Edge Detection Today’s readings Cipolla and Gee Watt,
IT472 Digital Image Processing
IT472 Digital Image Processing
Presentation transcript:

Edges and Contours– Chapter 7 continued

Edge detection All of the previously studied edge detection filters worked on finding local gradients (1st derivative) As such, all had to make decisions regarding the actual existence of an edge based on local information

Sobel edges – threshold on magnitude

Sobel edges – threshold on magnitude The preceding images were edge-detected with a Sobel operator then binarized with various thresholds The overall trend is predictable but the individual results are not This threshold dependency is the curse of image processing Difficult to isolate “real” edges Difficult to find accurate edge location We need smarter algorithms

Scale space processing One method of dealing with the threshold dependency is through scale-space processing An image is processed at various scales (sizes/resolution) revealing different sets of features at each scale Features common to all [or many] sets are deemed “important”

The Gaussian Pyramid Select a set of Gaussian filter parameters (sigma and width) and blur the image Save the image Reduce it’s size by subsampling (eliminating every other row/column) Do it again

The Gaussian Pyramid You end up with a series of images (a pyramid) each exposing different features Coarse features at the top of the pyramid Fine features at the bottom You can now use the coarse features to select where to concentrate your processing of the fine features

Better (different) algorithms Another method of dealing with the threshold dependency is through more complex algorithms

A better kernel The Sobel mask is a derivative mask (computes the weighted difference of neighborhood pixels) So is the Laplacian (negative in the middle, positive around the rest) From calculus: the 2nd derivative of a signal is zero when the derivative magnitude is extremal

A better kernel Combining these observations we can derive the Laplacian-Gaussian filter due to Marr and Hildreth Also known as a DoG (Difference of Gaussians) because it can be approximated by subtracting two Gaussian kernels of same width and differing sigmas

The Gaussian kernel Sigma 1.6, Filter Width 15

The Laplacian-Gaussian kernel Bypassing the math and jumping to the results of applying the rules of calculus… Similar in form to the Gaussian kernel

The Laplacian-Gaussian kernel In 1 dimension… Can be approximated by difference of two Gaussians

The Laplacian-Gaussian kernel Convolution with this kernel results in edge magnitudes of both positive and negative values We’re interested in where the sign changes occur (the zero crossing) These are where the edges are (recall the calculus result)

Sobel vs. Laplacian-Gaussian L-G does not detect as much “noise” as Sobel – why not?

Still something missing… What are we ignoring in the following edge detection processes? Gaussian filter Sobel edge detection Threshold based binarization of Sobel magnitude And Laplacian-Gaussian filter Zero crossing detection

We need a smarter algorithm We merely selected each edge based on its magnitude and zero-crossing We completely ignored its immediate surroundings Why is this bad? Detects edges we don’t want Prone to noise Prone to clutter Doesn’t detect edges we do want Weak magnitude edges are thresholded (thresheld?) away We need a smarter algorithm!

The Canny edge detector John Canny – MIT 1986 Developed a process (series of steps) for identifying edges in an image Gaussian smoothing of input image Local derivative operator to detect edge candidates Removal of edges that are clustered around a single location Adaptive thresholding algorithm for final edge selection

Concepts Gaussian smooth original image Local derivative operator Reduce the effects of noise Local derivative operator Simple neighbor pixel subtraction to detect gradients (1st derivative) Non-maximal suppression Thin out the edges around a given point Threshold Use two thresholds combined with spatial continuity

Spatial continuity aka contour following Apply the high threshold to get “obvious” edges Search for a neighboring edge above the low threshold in the direction of the strong edge We’re using a strong edge as an anchor point for a contour of weak and strong edges – known as Hysteresis

Canny results With very conservative high/low thresholds

Results All edges Weak edges Contours Strong edges

Summary Through more complex processing we arrive at a set of edges in which we have confidence Minimal reliance on thresholds The cost is complex (slow, memory intensive) processing We must trade resources for accuracy!

ImageJ Download/install plugins for Plugins->FeatureJ->Edges Sobel, Prewitt, Roberts, Kirsch, Nevatia-Babu Plugins->FeatureJ->Edges Canny implementation

Edge Sharpening An process for making an image look “better” In this case “better” means “sharper” The general approach is to amplify the high-frequency components (the edges) to create a “perceived” sharpness

Method 1 – subtract 2nd derivative This causes a step edge to undershoot at the bottom and overshoot at the top The Laplacian works well for the 2nd derivative

ImageJ Note that this is difficult to do in ImageJ since the convolution operation clamps negative pixel values to 0

Unsharp mask Steps Subtract a Gaussian-smoothed version of the image from the original creating a mask Add a weighted version of the mask to the original image

ImageJ Plugins->Chapter07->Filter UnsharpMask