Lecture # 5 Sharpening Filters & Edge Detection file3 Smoothing Spatial Filters For blurring/noise...

Post on 19-Apr-2019

218 views 0 download

Transcript of Lecture # 5 Sharpening Filters & Edge Detection file3 Smoothing Spatial Filters For blurring/noise...

1

Digital Image Processing

Lecture # 5Sharpening Filters & Edge Detection

2

Smoothing Spatial Filters

Simply average all of the pixels in a neighbourhood around

a central value

1/91/9

1/9

1/91/9

1/9

1/91/9

1/9

Simple

averaging

filter

3

Smoothing Spatial Filters

For blurring/noise reduction

Blurring is usually used in preprocessing steps, e.g., to remove

small details from an image prior to object extraction, or to bridge

small gaps in lines or curves

Equivalent to Low-pass spatial filtering in frequency domain

because smaller (high frequency) details are removed based on

neighborhood averaging (averaging filters)

4

Smoothing Spatial Filters

1/91/9

1/91/9

1/91/9

1/91/9

1/9

Origin x

y Image f (x, y)

e = 1/9*106 + 1/9*104 + 1/9*100 + 1/9*108 + 1/9*99 + 1/9*98 + 1/9*95 + 1/9*90 + 1/9*85

= 98.3333

FilterSimple 3*3

Neighbourhood106

104

99

95

100 108

98

90 85

1/91/9

1/9

1/91/9

1/9

1/91/9

1/9

3*3 Smoothing

Filter

104 100 108

99 106 98

95 90 85

Original Image

Pixels

*

The above is repeated for every pixel in the original image to generate the smoothed image

5

Smoothing Filter: Example

original 3x3 average

6

Smoothing Filter: Example

original 3x3 average

7

Smoothing Filter: Example

original 3x3 average

8

Smoothing Filter: Example

original 3x3 average

9

Original image

Size: 500x500

Smooth by 3x3

box filter

Smooth by 5x5

box filterSmooth by 9x9

box filter

Smooth by

15x15 box filter

Smooth by

35x35 box filter

Notice how detail begins to disappear

10

Smoothing Spatial Filters

Box Filter all

coefficients are

equal

Weighted Average give

more (less) weight to near

(away from) the output

location

Consider the

output pixel is

positioned at

the center

11

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

12

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

13

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

15

Median Filtering

Min/Max Filtering

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

-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

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

Combining Spatial Enhancement Methods

Compare the original and final images

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

45

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

47

Edge Detection

48

Edges

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.

51

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

52

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),(

53

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

54

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

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

61

Laplacian of a Gaussian (LoG) Filter

62

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

63

Readings from Book (3rd Edn.)

• Sharpening Filters (Chapter – 3)• Edge Detection (Chapter – 10)

Reading Assignment • High Boost Filtering (Chap – 3)• Laplacian of Gaussian (LoG) (Chap –

10)

66

Acknowledgements

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

Computer Vision for Computer Graphics, Mark Borg

Mat

eria

l in

th

ese

slid

es h

as b

een

tak

en f

rom

, th

e fo

llow

ing

reso

urc

es