69
1 Digital Image Processing Lecture # 4 Spatial Filtering & Edge Detection

Lecture # 4 Spatial Filtering & Edge Detection

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

1

Digital Image Processing

Lecture # 4Spatial Filtering

& Edge Detection

Sharpening Spatial Filters

Previously we have looked at smoothing filters which remove

fine detail

Sharpening spatial filters seek to highlight fine detail

Remove blurring from images

Highlight edges

Sharpening filters are based on spatial differentiation

Spatial Differentiation

• Let’s consider a simple 1 dimensional

example

Spatial Differentiation

A B

1st Derivative

The 1st derivative of a function is given by:

Its just the difference between subsequent

values and measures the rate of change of

the function

)()1( xfxfx

f

Image Strip

0

1

2

3

4

5

6

7

8

1st Derivative

-8

-6

-4

-2

0

2

4

6

8

5 5 4 3 2 1 0 0 0 6 0 0 0 0 1 3 1 0 0 0 0 7 7 7 7

-1 -1 -1 -1 -1 0 0 6 -6 0 0 0 1 2 -2 -1 0 0 0 7 0 0 0

1st Derivative

2nd Derivative

The 2nd derivative of a function is given by:

Simply takes into account the values both before and after the current value

)(2)1()1(2

2

xfxfxfx

f

Image Strip

0

1

2

3

4

5

6

7

8

5 5 4 3 2 1 0 0 0 6 0 0 0 0 1 3 1 0 0 0 0 7 7 7 7

2nd Derivative

2nd Derivative

-15

-10

-5

0

5

10

-1 0 0 0 0 1 0 6 -12 6 0 0 1 1 -4 1 1 0 0 7 -7 0 0

2nd Derivative for Image Enhancement

The 2nd derivative is more useful for image enhancement

than the 1st derivative - Stronger response to fine detail

We will come back to the 1st order derivative later on

The first sharpening filter we will look at is the Laplacian

Laplacian Filter

2

2

2

22

y

f

x

ff

),(2),1(),1(2

2

yxfyxfyxfx

f

The Laplacian is defined as follows:

),(2)1,()1,(2

2

yxfyxfyxfy

f

Laplacian Filter

So, the Laplacian can be given as follows:

),1(),1([2 yxfyxff

)]1,()1,( yxfyxf

),(4 yxf

0 1 0

1 -4 1

0 1 0

Can we implement it using a filter/ mask?

Laplacian Filter

Laplacian Filter

Applying the Laplacian to an image we get a

new image that highlights edges and other

discontinuities

Original

Image

Laplacian

Filtered Image

Laplacian

Filtered Image

Scaled for Display

Laplacian Image Enhancement

The result of a Laplacian filtering is not an

enhanced image

Laplacian

Filtered Image

Scaled for Display2

5

2

5

( , ) , 0( , )

( , ) , 0

f x y f wg x y

f x y f w

To generate the final enhanced image

Laplacian Image Enhancement

In the final sharpened image edges and fine

detail are much more obvious

- =

Original

Image

Laplacian

Filtered Image

Sharpened

Image

Laplacian Image Enhancement

Simplified Image Enhancement

• The entire enhancement can be combined

into a single filtering operation

),1(),1([),( yxfyxfyxf

)1,()1,( yxfyxf

)],(4 yxf

fyxfyxg 2),(),(

Simplified Image Enhancement

• The entire enhancement can be combined

into a single filtering operation

fyxfyxg 2),(),(

),1(),1(),(5 yxfyxfyxf

)1,()1,( yxfyxf0 -1 0

-1 5 -1

0 -1 0

Simplified Image Enhancement

• This gives us a new filter which does the

whole job for us in one step

0 -1 0

-1 5 -1

0 -1 0

Unsharp Masking

Use of first derivatives for image enhancement: The Gradient

• The gradient of a function f(x,y) is defined as

y

fx

f

G

G

y

xf

Gradient Operators• Most common differentiation operator is the

gradient vector.

Magnitude:

Direction:

y

x

G

G

y

yxf

x

yxf

yxf),(

),(

),(

xxyx GGGGyxf 2/122

),(

x

y

G

Gyxf 1tan),(

24

-1 -2 -1

0 0 0

1 2 1

-1 0 1

-2 0 2

-1 0 1

Extract horizontal edges

7 8 9 1 2 3

3 6 9 1 4 7

( 2 ) ( 2 )

( 2 ) ( 2 )

f z z z z z z

z z z z z z

Emphasize more the current point

(y direction)

Emphasize more the current point (x

direction) Pixel Arrangement

Gradient Operators

Extract vertical edges

Sobel Operator

Sobel Operator: Example

Sobel filters are typically used for edge

detection

An image of a

contact lens

which is

enhanced in

order to make

defects more

obvious

27

Order-Statistic Filtering

Output is based on order of gray levels in the masked area

Some simple neighbourhood operations include:

Min: Set the pixel value to the minimum in the

neighbourhood

Max: Set the pixel value to the maximum in the

neighbourhood

Median: The median value of a set of numbers is the

midpoint value in that set

28

Median Filter

• For an image, mask symmetric: 3x3, 5x5, etc.

0 2

1 2

1 2 1

2 5 3

1 3

2 2

0 1

1 2 0

2 2 4

1 0 1

Input Output

Sorted: 0,0,1,1,1,2,2,2,4

1

29

Median Filtering

Median = ? 20

Particularly effective when

The noise pattern consists of strong

impulse noise ( salt-and-pepper)

Sort the values

Determine the median

Salt and Pepper Noise

31

Median Filtering

Min/Max Filtering

Combining Spatial Enhancement Methods

Successful image enhancement is

typically not achieved using a single

operation

Rather we combine a range of

techniques in order to achieve a final

result

This example will focus on enhancing

the bone scan

Edge Segmentation

Use of first derivatives for image enhancement: The Gradient

• The gradient of a function f(x,y) is defined as

y

fx

f

G

G

y

xf

-1 -2 -1

0 0 0

1 2 1

-1 0 1

-2 0 2

-1 0 1

Extract horizontal edges

7 8 9 1 2 3

3 6 9 1 4 7

( 2 ) ( 2 )

( 2 ) ( 2 )

f z z z z z z

z z z z z z

Emphasize more the current point

(y direction)

Emphasize more the current point (x

direction) Pixel Arrangement

Gradient Operators

Extract vertical edges

Sobel Operator

Sobel Operator: Example

Sobel filters are typically used for edge

detection

An image of a

contact lens

which is

enhanced in

order to make

defects more

obvious

Edge Detection

• Edge detectors can be based on the first and secondderivatives which can detect abrupt intensity changes.

• Derivates of digital functions are defined in terms ofdifferences

• See approximations on using first and second derivativesin Gonzalez section 10.2.1

39

Edge Detection

• First order derivatives produce thick edges while second orderderivatives produce finer ones. See ramp edge on the figure10.2 on previous slide

• Second order derivatives enhance sharp changes and finedetails more aggressively than first order derivatives see theisolated point and the line in the same figure. This can be aproblem if the noise is present in the image

• Second derivative changes its sign as it transitions into andout of a ramp or step edge. See the step edge. This “doubleedge” effect can be used to locate edges.

• The sign of the second derivative is also used to determinewhether an edge is a transition from light to dark (-ve value)or from dark to light (+ve value). See step edge

41

Edge Detection

42

Edges

Gradient Operators• Most common differentiation operator is the

gradient vector.

Magnitude:

Direction:

y

x

G

G

y

yxf

x

yxf

yxf),(

),(

),(

xxyx GGGGyxf 2/122

),(

x

y

G

Gyxf 1tan),(

45

Gradient Operators

Some common gradient operators

Roberts and Prewitt masks are the simplest but not robust against noise

Sobel edge detection masks are the most common and give satisfactory results in presence of noise

46

Gradient Operators

•The direction of an edge at a point is orthogonal to the direction of thegradient vector at the point

Direction of an Edge

Edge Detection

• First and second derivativefor smooth noiseless edge• The zero crossings of the

second derivative can be used for locating edges in an image.

53

54

Zero Crossings

f f ’ f’’

zero crossing

Laplacian

operatorimage zero-crossing

edge

mapx(m,n) g(m,n) I(m,n)

Edge Detection

Results of first and second derivative for edges with Gaussian noise of mean = 0.

0.0

1.0

0.1

0.10

First derivative

Second derivative

•Smoothing step is a must before taking derivative for edge detection

55

Laplacian of a Gaussian (LoG)

• A filter which combines the smoothing function (Gaussian) with the Laplacian is called Laplacianof a Gaussian (LoG) filter.

• Robust against noise.

• Consider a smoothing Gaussian function:

where r2 = x2 + y2, : standard deviation

• The Laplacian of this function gives the LoGfunction:

2

2

2)(

r

erG

2

2

24

22

2

22 2)(

)(

r

er

r

rGrG

56

Laplacian of a Gaussian (LoG) Filter

57

Edge detection by LoG

• Due the shape of this function it is also calledMexican hat function (or Mexican hat filters).

• Better performance against noise. Reduces theintensity of structures or noise, which are at scalesmuch smaller than sigma.

• Choose size of Gaussian mask to be n >= 6*sigma

• Then use a 3x3 Laplacian

• Find the zero crossings

58

61

Canny Edge Detector(J. Canny’1986)

Original image

Smoothing by Gaussian convolution

Differential operators along x and y axis

Non-maximum suppression

finds peaks in the image gradient

Hysteresis thresholding locates edge strings

Edge map

Canny Edge Detector (smoothing and enhancement)

CANNY_ENHANCER

1. Apply Gaussian Smoothing to I.

2. For each pixel (i, j):

1. Compute the gradient components

2. Estimate the edge strength

3. Estimate the orientation of the edge normal

Given image I

Canny Edge Detector (Nonmaximum suppression)

The input is the output of CANNY_ENHANCER. We need to thin the

edges. Given Es, Eo, the edge strength and orientation images. For each

pixel (i, j),

1. Find the direction best approximate the direction Eo(i,

j).

2. If Es(i, j) is smaller than at least one of its two

neighbors along this direction, suppress this pixel.

The output is an image of the thinned edge points after suppressing

nonmaxima edge points.

Canny Edge Detector (Hysteresis Thresholding)

Performs edge tracking and reduces the probability of false contours.

Input I is the output of nonmaximum_suppression, Eo and two threshold

parameters

Scan I in a fixed order:

1. Locate the next unvisited edge pixel (i, j) such that I(i, j)

2. Starting from (I, j), follow the chains of connected local maxima in both

directions perpendicular to the edge normal as long as I

3. Marked all visited points and save a list of the locations of all points in the

connected contour found.

Hysteresis thresholding

• Standard thresholding:

- Can only select “strong” edges.

- Does not guarantee “continuity”.

gradient magnitude low threshold high threshold

Hysteresis thresholding (cont’d)

• Hysteresis thresholding uses two thresholds:

• For “maybe” edges, decide on the edge if neighboring

pixel is a strong edge.

- low threshold tl- high threshold th (usually, th = 2tl)

tl

tl

th

th

Readings from Book (3rd Edn.)

• 3.3 Histogram

• 3.4 Filtering

• 3.5 Smoothing Filters

• Sharpening Filters (Chapter – 3)

• Reading Assignment

• High Boost Filtering (Chap –3.6.3)

69

Acknowledgements

Statistical Pattern Recognition: A Review – A.K Jain et al., PAMI (22) 2000

Pattern Recognition and Analysis Course – A.K. Jain, MSU

Pattern Classification” by Duda et al., John Wiley & Sons.

Digital Image Processing”, Rafael C. Gonzalez & Richard E. Woods, Addison-Wesley, 2002

Machine Vision: Automated Visual Inspection and Robot Vision”, David Vernon, Prentice Hall, 1991

www.eu.aibo.com/

Advances in Human Computer Interaction, Shane Pinder, InTech, Austria, October 2008

Mat

eria

l in

th

ese

slid

es h

as b

een

tak

en f

rom

, th

e fo

llow

ing

reso

urc

es