You are on page 1of 31

Low-Level

Feature
Extraction
By
Abdulmuiz W. Waheed
Seraj M. Saudy
Ali H. Mossa

5/15/17 1
Content
Introduction.
Edge Detection.
First-Order edge detection.
( Basic , Roberts , Prewitt , Sobel , Canny )
Second-Order edge detection.
( Zero-crossing , Marr-Hildreth)
Other edge detection operators.
( Spacek , Petrou )
Comparison of edge detection operators.
Describing image motion.
( Area-based , Differential approach )
Implementation.
5/15/17 2
Low Level Feature
Extraction
Basic features that can be extracted
automatically from an image without any
shape information (information about
spatial relationships)

Edge Motion
Detectio Detectio
n n

5/15/17 3
What is edge ?
Edge defined as change or differences in
intensity.

5/15/17 4
Types of edges:
Step (ideal) : Gray values Ramp : Grey values
change suddenly. change slowly.

5/15/17 5
Content
Introduction.
Edge Detection.
First-Order edge detection.
( Basic , Roberts , Prewitt , Sobel , Canny )
Second-Order edge detection.
( Zero-crossing , Marr-Hildreth)
Other edge detection operators.
( Spacek , Petrou )
Comparison of edge detection operators.
Describing image motion.
( Area-based , Differential approach )
Implementation.
5/15/17 6
Why Edge detection?
Measure the size of the objects in an image.

Isolate particular objects from their


background.

Recognize or classify objects.

5/15/17 7
Edge detection
We only consider changes in intensity in gray-scale images.

Edge detection are based on differentiation.

Image

5/15/17 8
Edge detection paradigm

Determine changes in Detect points with


intensity in the strong edge content
neighborhood of a point

5/15/17 9
Edge Magnitude &
Direction
Magnitude of the gradient :
strength of the edge.

EdgeDirection :

5/15/17 10
Content
Introduction.
Edge Detection.
First-Order edge detection.
( Basic , Roberts , Prewitt , Sobel , Canny )
Second-Order edge detection.
( Zero-crossing , Marr-Hildreth)
Other edge detection operators.
( Spacek , Petrou )
Comparison of edge detection operators.
Describing image motion.
( Area-based , Differential approach )
Implementation.
5/15/17 11
Sobel
When the weight at the central pixels, for both Prewitt templates, is doubled, this gives the
famous Sobel edge detection operator which, again, consists of two masks to determine
the edge in vector form. The Sobel operator was the most popular edge detection operator
until
the development of edge detection techniques with a theoretical basis. It proved popular
because
,it gave, overall, a better performance than other contemporaneous edge detection operators
.such as the Prewitt operator. The templates for the Sobel operator can be found in Figure 4.10
The Mathcad implementation of these masks is very similar to the implementation of the
Prewitt operator . again operating on a 33 subpicture. This is the standard formulation
?of the Sobel templates, but how do we form larger templates, say for 55 or 77
Few textbooks state its original derivation, but it has been attributed (Heath et al., 1997) as
originating from a PhD thesis (Sobel, 1970). Unfortunately, a theoretical basis that can be used
to calculate the coefficients of larger templates is rarely given. One approach to a theoretical
basis is to consider the optimal forms of averaging and of differencing. Gaussian averaging
has already been stated to give optimal averaging. The binomial expansion gives the integer
coefficients of a series that, in the limit, approximates the normal distribution. Pascals triangle

5/15/17 12
Sobel 1970
Two 33 templates.
Can use large templates 55 or 77.
larger template involves more smoothing to
reduce noise but edge blurring becomes a
great problem.

5/15/17 13
Canny 1986
Canny edge detection is a four step process.
1. Smoothing the image using Gaussian filter
(reduce noise - false edges).

2. Apply Sobel or Perwitt operator.

3. Non-maximum suppression determines if the


pixel is a better candidate for an edge than
its neighbors (thinning).

5/15/17 14
Canny
4. Hysteresis thresholding finds where edges
begin and end.

5/15/17 15
Canny

Sobel Canny
5/15/17 16
Canny
Good detection the algorithm should mark as
many real edges in the image as possible.

Works fine under noisy condition.

Good localization edges marked should be as close


as possible to the edge in the real image.

Minimal response a given edge in the image


should only be marked once, and where possible,
image noise should not create false edges.
5/15/17 17
Content
Introduction.
Edge Detection.
First-Order edge detection.
( Basic , Roberts , Prewitt , Sobel , Canny )
Second-Order edge detection.
( Zero-crossing , Marr-Hildreth)
Other edge detection operators.
( Spacek , Petrou )
Comparison of edge detection operators.
Implementation.
5/15/17 18
Second-Order edge detection
Zero-crossing of the second derivative of a
function indicates the presence of an edge.

5/15/17 19
Marr-Hildreth 1980 (LoG)
1. Smooth the image with a Gaussian filter.
2. Enhance the edges using Laplacian operator.
3. Find the zero-crossing.

Canny LOG
5/15/17 20
Content
Introduction.
Edge Detection.
First-Order edge detection.
( Basic , Roberts , Prewitt , Sobel , Canny )
Second-Order edge detection.
( Zero-crossing , Marr-Hildreth)
Other edge detection operators.
( Spacek , Petrou )
Comparison of edge detection operators.
Implementation.
5/15/17 21
Spacek 1986
1. Generate the coefficients of a template-
smoothing operator by:

a circularly symmetric functional expressed in


terms of radius r.
2. Sobel edge detection.
3. Non-maximum suppression.
4. Hysteresis thresholding.

5/15/17 22
Petrou 1991
Petrou questioned the validity of the step
edge model for real images.

Any step-changes in the image will be


smoothed to become a ramp.

Petrou operator uses templates that are 12


pixels wide at minimum, in order to preserve
optimal properties.

5/15/17 23
Content
Introduction.
Edge Detection.
First-Order edge detection.
( Basic , Roberts , Prewitt , Sobel , Canny )
Second-Order edge detection.
( Zero-crossing , Marr-Hildreth)
Other edge detection operators.
( Spacek , Petrou )
Comparison of edge detection operators.
Implementation.
5/15/17 24
Comparison of First-Order
Operators

Roberts Prewitt

Original Image

Sobel Canny
5/15/17 25
Comparison of edge detection
operators

Canny Spacek Petrou

5/15/17 26
Comparison of edge detection
operators

Basic operator Prewitt Sobel

Ultrasound image

Marr-Hildreth Canny Spacek


5/15/17 27
Content
Introduction.
Edge Detection.
First-Order edge detection.
( Basic , Roberts , Prewitt , Sobel , Canny )
Second-Order edge detection.
( Zero-crossing , Marr-Hildreth)
Other edge detection operators.
( Spacek , Petrou )
Comparison of edge detection operators.
Implementation.
5/15/17 28
Implementation (MatLab)
First-Order Edge detection
Roberts:
edge ( I , roberts , thresh , options )
Prewitt:
edge ( I , prewitt , thresh , direction )
Sobel:
edge ( I , sobel , thresh , options , direction )
Canny:
edge ( I , canny , sigma )

5/15/17 29
Implementation (MatLab)
Second-Order Edge detection
Zero-Crossing:
edge ( I , zerocross , h , thresh )

Marr-Hildreth:
edge ( I , log , thresh , sigma )

5/15/17 30
5/15/17 31

You might also like