1 views

Uploaded by vimalfu

edge

- image_contour.ppt
- 171611-2171712-IP
- Diplomarbeit Vortrag Final
- Wang 2016
- Edge Flow
- Project Report Final
- ee368group10
- edge1
- Recognition of Text in Natural Images
- Iaetsd-jaras-segmentation and Analysis of Schizophrenic
- Edge Detection and Segmentation of Color Spaces Based on Fusion
- Indian Currency Denomination Identification
- 1st & 2nd Order Edge Detection
- tutorial-tracing.pdf
- IRJET-Application of Geodesic Active Contours in iris Segmentation
- Yawning Analysis for Driver Drowsiness Detection
- Programacion i...by Ing. Mollo
- Iris Texture Recognition with DCT Compression for Small Scale System
- IRJET- Detection of Suspicious Lesions in Mammogram using Zebra Medical Vision Algorithm
- Project Presentation-Virtual Keyboard

You are on page 1of 52

Fall 2012

Univ. of Central Florida

Edge Detection

Lecture-3

Example

An Application

What is an object?

How can we find it?

Edge Detection in Images

What is an Edge?

Edge models

Step

Step Ramp

Roof

Ramp

Spike

Roof Spike

Detecting Discontinuities

Image derivatives

f f x f x f f x n 1 f x

lim

x 0

x x

Convolve image with

Forward difference

derivative filters

[1 -1]

Central difference [-1 0 1]

Alper Yilmaz, Mubarak Shah Fall 2012UCF

Derivative in Two-Dimensions

Definition

f x , y f x , y f x , y f x , y f x , y f x , y

lim lim

x 0

y 0

f x , y

Approximation f x , y f x , ym f x , y f x n , y m 1 f x n , y m

n 1 m n

x x y x

f x 1 1 1

fy

Convolution kernels 1

Alper Yilmaz, Mubarak Shah Fall 2012UCF

Image Derivatives

1

Image I I x I * 1 1 Iy I *

1

Derivatives and Noise

obvious reason: image Neighboring pixels look

noise results in pixels alike

that look very different Pixel along an edge look

from their neighbors alike

Image smoothing should

The larger the noise is the help

stronger the response Force pixels different to

their neighbors (possibly

noise) to look like

Alper Yilmaz, neighbors

Mubarak Shah Fall 2012UCF

Derivatives and Noise

Increasing noise

Image Smoothing

Relatively few reflectance changes

Generally expect noise to be independent

from pixel to pixel

Smoothing suppresses noise

Gaussian Smoothing

(x2 y2

g ( x, y) e 2 2

Scale of Gaussian

As increases, more pixels are involved in average

As increases, image is more blurred

As increases, noise is more effectively

Alper Yilmaz, Mubaraksuppressed

Shah Fall 2012UCF

Gaussian Smoothing (Examples)

Edge Detectors

Gradient operators

Prewit

Sobel

Laplacian of Gaussian (Marr-Hildreth)

Gradient of Gaussian (Canny)

Prewitt and Sobel Edge Detector

Compute derivatives

In x and y directions

Find gradient magnitude

Threshold gradient magnitude

Prewitt Edge Detector

smoothing in x filtering in x

1 1

1 1

1 1

1 1 and 1 0 1

1 0 1

1 0 1

smoothing in y filtering in y

1 1 1 1 1 1 1

1 1 0 0

1 1 and 0

1 1 1

Alper Yilmaz, Mubarak Shah Fall 2012UCF

Sobel Edge Detector

1 0 1

2 0 2 d

I

1 0 1 dx

*

Image I d

2

d

2 Threshold Edges

I I

dx dy

1 1 d

* 2 I

0 0 0

dy

1 2 1

Sobel Edge Detector

d

I

dx

d

I

dy

Sobel Edge Detector

2

d

2

d

I I

dx dy

Threshold 100

Marr Hildreth Edge Detector

Smooth image by Gaussian filter S

Apply Laplacian to S

Used in mechanics, electromagnetics, wave theory, quantum

mechanics and Laplace equation

Find zero crossings

Scan along each row, record an edge point at the location of

zero-crossing.

Repeat above step along each column

Marr Hildreth Edge Detector

Gaussian smoothing

x2 y2

smoothed image image

Gaussian filter g

1

e

2 2

S g * I 2

Find Laplacian

second order second order

is used for gradient (derivative)

derivative in x derivative in y

2 2 is used for Laplacian

2 S S S

x 2 y 2

Alper Yilmaz, Mubarak Shah Fall 2012, UCF

Marr Hildreth Edge Detector

2 S 2 g * I 2 g * I

x2 y2

1 x2 y2

2 g 2 e 2 2

2 3

2

Gaussian

Standard

deviation

x

-3 -2 -1 0 1 2 3

g(x)

2-D Gaussian

2-D Gaussian

LoG Filter

x2 y2

1 x2 y2

2G 2 e 2 2

2 3

2

Y

0.0008 0.0066 0.0215 0.031 0.0215 0.0066 0.0008

0.0066 0.0438 0.0982 0.108 0.0982 0.0438 0.0066

0.0215 0.0982 0 -0.242 0 0.0982 0.0215

0.031 0.108 -0.242 -0.7979 -0.242 0.108 0.031 X

0.0215 0.0982 0 -0.242 0 0.0982 0.0215

0.0066 0.0438 0.0982 0.108 0.0982 0.0438 0.0066

0.0008 0.0066 0.0215 0.031 0.0215 0.0066 0.0008

Finding Zero Crossings

Four cases of zero-crossings :

{+,-}

{+,0,-}

{-,+}

{-,0,+}

Slope of zero-crossing {a, -b} is |a+b|.

To mark an edge

compute slope of zero-crossing

Apply a threshold to slope

Alper Yilmaz, Mubarak Shah Fall 2012, UCF

On the Separability of LoG

Two-dimensional Gaussian can be separated into

2 one-dimensional Gaussians

h ( x, y ) I ( x, y ) * g ( x, y ) n2 multiplications

h ( x , y ) I ( x , y ) * g 1 ( x ) * g 2 ( y ) 2n multiplications

.011

.13

x2

.6

2

2

g (x) e

g 2 g ( y) 1

.6

g1 g ( x ) .011 .13 .6 1 .6 .13 .011 .13

.011

On the Separability of LoG

2 S 2 g * I 2 g * I I * 2 g

Requires n2 multiplications

2 S I g xx ( x ) g ( y ) I g yy ( y ) g ( x )

Requires 4n multiplications

Seperability

Gaussian Filtering

Image g(x) g(y) I g

gxx(x) g(y)

Image + 2 S

gyy(y) g(x)

Alper Yilmaz, Mubarak Shah Fall 2012, UCF

Example

I

I * 2 g Zero crossings of 2 S

Example

6

Alper Yilmaz, Mubarak Shah Fall 2012, UCF

Algorithm

Compute LoG

2 g ( x, y )

Use 2D filter g ( x ), g xx ( x ), g ( y ), g yy ( y)

Use 4 1D filters

Find zero-crossings from each row

Find slope of zero-crossings

Apply threshold to slope and mark edges

Alper Yilmaz, Mubarak Shah Fall 2012, UCF

Quality of an Edge

Robust to noise

Localization

Too many or too less responses

Quality of an Edge

edge to noise localization responses

Alper Yilmaz, Mubarak Shah Fall 2012, UCF

Canny Edge Detector

Criterion 1: Good Detection: The optimal detector must

minimize the probability of false positives as well as false

negatives.

be as close as possible to the true edges.

one point only for each edge point.

Canny Edge Detector Steps

2. Compute derivative of filtered image

3. Find magnitude and orientation of gradient

4. Apply Non-maximum Suppression

5. Apply Hysteresis Threshold

Canny Edge Detector

First Two Steps

Smoothing 1

x2 y2

g ( x, y) 2 2

e

S I g ( x, y) g ( x, y) I 2

Derivative

S g I g I g

gx

g gx g

gx gx I y

S I g I y

g

y y

Alper Yilmaz, Mubarak Shah Fall 2012, UCF

Canny Edge Detector

Derivative of Gaussian

g x ( x, y)

g y ( x, y)

g ( x, y)

Canny Edge Detector

First Two Steps

I Sx

Sy

Canny Edge Detector

Third Step

( S x , S y ) Gradient Vector

magnitude ( S x2 S y2 )

Sy

direction tan 1

Sx

Canny Edge Detector

Fourth Step

We wish to mark points along the curve where the magnitude is largest. We can do this by

looking for a maximum along a slice normal to the curve (non-maximum suppression).

These points should form a curve. There are then two algorithmic issues: at which point is

the maximum, and where is the next one?

Alper Yilmaz, Mubarak Shah Fall 2012, UCF

Canny Edge Detector

Non-Maximum Suppression

local maximum

S x , y if S x , y S x , y

x , y

M x , y & S x , y S x , y

x , y

0 otherwise

x , y

x and x are the neighbors of x along

normal direction to an edge

Alper Yilmaz, Mubarak Shah Fall 2012, UCF

Canny Edge Detector

Non-Maximum Suppression

S S x2 S 2

y M

M Threshold 25

Canny Edge Detector

Hysteresis Thresholding

above High, declare it as an edge pixel

below Low, declare it as a non-edge-pixel

between low and high

Consider its neighbors iteratively then declare it an

edge pixel if it is connected to an edge pixel directly

or via pixels between low and high.

Alper Yilmaz, Mubarak Shah Fall 2012, UCF

Canny Edge Detector

Hysteresis Thresholding

Connectedness

x x x

Canny Edge Detector

Hysteresis Thresholding

Gradient High

magnitude

low

Canny Edge Detector

Hysteresis Thresholding

The gradient magnitude at a pixel is above a high

threshold declare that as an edge point

Then recursively consider the neighbors of this

pixel.

If the gradient magnitude is above the low threshold

declare that as an edge pixel.

Alper Yilmaz, Mubarak Shah Fall 2012, UCF

Canny Edge Detector

Hysteresis Thresholding

regular

M M 25

Hysteresis

High 35

Low 15

Alper Yilmaz, Mubarak Shah Fall 2012, UCF

Suggested Reading

Verri, "Introductory Techniques for 3-D

Computer Vision"

Chapter 2, Mubarak Shah, Fundamentals of

Computer Vision

- image_contour.pptUploaded byAhmed Ahmed
- 171611-2171712-IPUploaded bynandkishor joshi
- Diplomarbeit Vortrag FinalUploaded byamitsbhati
- Wang 2016Uploaded byAnonymous Ndsvh2so
- Edge FlowUploaded byพักเหนื่อย เพื่อเครียดกับเรียนต่อ
- Project Report FinalUploaded byngpgopi
- ee368group10Uploaded bydewddude
- edge1Uploaded byBui Minh Sinh
- Recognition of Text in Natural ImagesUploaded byIRJET Journal
- Iaetsd-jaras-segmentation and Analysis of SchizophrenicUploaded byiaetsdiaetsd
- Edge Detection and Segmentation of Color Spaces Based on FusionUploaded byIRJET Journal
- Indian Currency Denomination IdentificationUploaded byJegnaw Fentahun
- 1st & 2nd Order Edge DetectionUploaded byprakash_oxford
- tutorial-tracing.pdfUploaded byMichael Fadjar
- IRJET-Application of Geodesic Active Contours in iris SegmentationUploaded byIRJET Journal
- Yawning Analysis for Driver Drowsiness DetectionUploaded byesatjournals
- Programacion i...by Ing. MolloUploaded byCinthia Paniagua Porras
- Iris Texture Recognition with DCT Compression for Small Scale SystemUploaded byJournal of Computing
- IRJET- Detection of Suspicious Lesions in Mammogram using Zebra Medical Vision AlgorithmUploaded byIRJET Journal
- Project Presentation-Virtual KeyboardUploaded byVijay Raghavan
- stephen osullivan cvUploaded byapi-255565889
- fastpattern-EN.pdfUploaded byAshique
- (Www.entrance-exam.net)-Cochin University B. Tech in IT 7th Sem - Digital Image Processing Sample Paper 1Uploaded byAchu
- Person Identification by Iris Recognition Using 2-D Reverse Biorthogonal Wavelet TransformUploaded byijsret
- Efficient Decoding of Blurred, Pitched, & Scratched Barcode ImagesUploaded byYasmin Barretto
- SPE-89033-JPTUploaded bySaed
- Python Raspberry ChitaraUploaded byAna Praşcă
- HC2D Barcode Reader using android phone cameraUploaded bysai sandeep kumar
- Blind_and_Semi-Blind_Deblurring_of_Natural_Images-w4l.pdfUploaded byArch
- 8.Eng-iris Recognition System Technical Overview-Adegoke, b. o.Uploaded byImpact Journals

- CS F407 Course HandoutUploaded bynjanugani
- Special Issue on: "Internet of Things and Smart Computing"Uploaded byijngn
- USP ManualUploaded byAvinash Kumar
- DIFFICULTIES_IN_LEARNING_PROGRAMMING_VIE.pdfUploaded byMichelle Nicole Serrano
- BSD_02_2010Uploaded byEdward Kok
- 506 Principles of Risk Minimization for Learning TheoryUploaded byAbram Demski
- Ionic FrameworkUploaded byNello Castellano
- Oracle DBA Training | | Oracle 11gr2/12c training @ DBA School HyderabadUploaded bySatya Seelam
- Fedora 16 Installation Guide en USUploaded byAugusto01
- jds4Uploaded byThiyagarajah Ragunathan
- 2. IDC Report-Enterprise Mobility-Promise and PitfallsUploaded byJyotsna Aisiri
- 50-Andi Widiyanto AR ICETUIA2014Uploaded byindypink77
- LcZero ELO Estimate List Approximation [L.e.e.l.pdfUploaded byGuiye Santos
- DSS User's Manual V6.01.000 201602Uploaded bycastnh
- Real-Time SystemsUploaded bymycatalysts
- Stanislavs Golubcovs Multi-Resource Arbiter DesignUploaded bycfam9x5822
- csharp_tutorialUploaded byharishraddi
- Can GUI Programming Be Liberated From the IO MonadUploaded byCarlos Hernandez T.
- SoxUploaded byErdet Nasufi
- DIFFERENT STORED PROCEDURES IN SQL SERVERUploaded byVijay Kumar
- 10325A_09Uploaded byVũ Kim Hiếu
- SQL ScriptUploaded byKrishnakanth Allu
- Chapter 9 Database Management ApproachesUploaded byMichael Olmedo Nene
- Theory of Computation Lect1-2Uploaded byAnik
- Cyber HarassmentUploaded byUmesh Jonnalagadda
- BCIT COMP 7081 Assignment 2 by Wesley Kenzie March 2010Uploaded byWesley Kenzie
- 79555346 Qr Code Seminar ReportUploaded bysalonilunawat2011
- Spring Batch - ReferenceUploaded byfael23
- Chapter 4Uploaded byMat Isa Mohd Junus
- e13718Uploaded byKunal Kumar