Top Banner
1 Segmentation (2): edge detection
24

1 Segmentation (2): edge detection. 2 Edge-based segmentation A large group of methods based on information about previously detected edges in the image.

Dec 18, 2015

Download

Documents

Myles McBride
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Segmentation (2): edge detection. 2 Edge-based segmentation  A large group of methods based on information about previously detected edges in the image.

1

Segmentation (2): edge detection

Page 2: 1 Segmentation (2): edge detection. 2 Edge-based segmentation  A large group of methods based on information about previously detected edges in the image.

2

Edge-based segmentation

A large group of methods based on information about previously detected edges in the image

Preprocessing step: edge detection Motivation: images resulted from edge

detection cannot be used as a segmentation result

Edges have to be linked into chains which correspond better with boundaries in an image

Final result: detection of boundaries of objects present in the image

Page 3: 1 Segmentation (2): edge detection. 2 Edge-based segmentation  A large group of methods based on information about previously detected edges in the image.

3

Edge detection with DOG and LOG

Page 4: 1 Segmentation (2): edge detection. 2 Edge-based segmentation  A large group of methods based on information about previously detected edges in the image.

4

Edge-based segmentation (cont’d)

Task-oriented: embedding prior information (e.g. shape) into the chain forming process

Most common problems: - false detections: edge presence in a

location where there is no border - missed detections: no edge presence

where a real border exists - selecting an appropriate threshold for the

gradient image; this threshold separates significant from non-significant edge information; alternative?

Page 5: 1 Segmentation (2): edge detection. 2 Edge-based segmentation  A large group of methods based on information about previously detected edges in the image.

5

Edge-based segmentation

Goal: Connect edges to produce object contours

Approaches: thresholding with hysteresis edge relaxation edge linking fitting: the Hough transform

Page 6: 1 Segmentation (2): edge detection. 2 Edge-based segmentation  A large group of methods based on information about previously detected edges in the image.

6

Edge thresholding

Thresholding the gradient magnitude:

{(x, y) : E(x, y) = 1} the set of edge pixels Problem: No guarantees of continuity Alternatives : thresholding with hysteresis edge relaxation

Page 7: 1 Segmentation (2): edge detection. 2 Edge-based segmentation  A large group of methods based on information about previously detected edges in the image.

7

Edge thresholding with hysteresis

Thresholding with hysteresis uses two thresholds:

First identify all definite edge pixels. Then, add all “maybe” pixels (those greater than

t0) only if they are next to an already-labeled edge pixel.

Repeat until convergence.

Page 8: 1 Segmentation (2): edge detection. 2 Edge-based segmentation  A large group of methods based on information about previously detected edges in the image.

8

Edge relaxation

Local processing Evaluates the strength of edges in a local

neighborhood for increasing and decreasing the confidence of an edge candidate

Contextual information: a ‘weak’ edge positioned between two ‘strong’ edges should probably be part of a boundary.

Isolated edges do not have supporting context, thus probably do not belong to any border.

Edge context is considered at both ends of an edge in a specified edge neighborhood.

Page 9: 1 Segmentation (2): edge detection. 2 Edge-based segmentation  A large group of methods based on information about previously detected edges in the image.

9

Edge relaxation (cont’d)

Central edge e has a vertex at each of its ends and three possible border continuations can be found from both of these vertices

Page 10: 1 Segmentation (2): edge detection. 2 Edge-based segmentation  A large group of methods based on information about previously detected edges in the image.

10

Edge relaxation (cont’d)

Page 11: 1 Segmentation (2): edge detection. 2 Edge-based segmentation  A large group of methods based on information about previously detected edges in the image.

11

Edge linking

Link adjacent edge pixels by seeing if they have similar

properties: 1. Similar magnitude: for some magnitude difference threshold T. 2. Similar orientation

for some angular threshold A.

Once the links established, the sets of linked pixels (chains) can be thought as borders.

Chain linking: postprocessing step to find sets of linked pixels that are separated by small gaps; small gaps can be filled in.

Page 12: 1 Segmentation (2): edge detection. 2 Edge-based segmentation  A large group of methods based on information about previously detected edges in the image.

12

Edge linking: Tracing borders of known regions

In some cases, we may already have an image segmented into regions for which we want to calculate boundaries.

In this case, we can simply generate the boundaries by tracing around the region contours. We can do this two ways:

Sequential tracing: Trace around each contour in the image. When we finish tracing one contour, scan the image until we run into another.

Simultaneous tracing: Make one pass through the image, using appropriate data structures to represent the progress of each contour tracing and adding pixels to the appropriate contour as encountered.

Page 13: 1 Segmentation (2): edge detection. 2 Edge-based segmentation  A large group of methods based on information about previously detected edges in the image.

13

Fitting: The Hough Transform

The Hough transform is useful for grouping isolated edge points into image structures (patterns, models)

Edges to be grouped are not necessarily adjacenct, connected or close.

The Hough transform requires a parametric representation of the primitive (or model) of interest in the image.

Most simple primitive: a line

Page 14: 1 Segmentation (2): edge detection. 2 Edge-based segmentation  A large group of methods based on information about previously detected edges in the image.

14

The Hough Transform for line detection

Consider one edge point (x,y) There is an infinity of lines passing through this

point. Parametric representation of such lines (slope-

intercept form):

For all lines that pass through a given point (x,y), there is a unique value of b for m.

The set of (m,b) values corresponding to the lines passing through point (x,y) form a line in (m,b) space.

Page 15: 1 Segmentation (2): edge detection. 2 Edge-based segmentation  A large group of methods based on information about previously detected edges in the image.

15

The Hough transform: correspondence between image and parameter space

Every point in image space (x,y) corresponds to a line in the parameter space (m,b).

Vice versa, every point in parameter space (m,b) corresponds to a line in image space.

Page 16: 1 Segmentation (2): edge detection. 2 Edge-based segmentation  A large group of methods based on information about previously detected edges in the image.

16

The Hough transform: accumulator

The Hough transform lets each point in the image space (x,y) vote in the (m,b) space for each point passing through it.

The votes are summarized into an accumulator. We have to limit the number of votes → discretize

the parameter space

Page 17: 1 Segmentation (2): edge detection. 2 Edge-based segmentation  A large group of methods based on information about previously detected edges in the image.

17

The Hough transform: alternate representation

The slope-intercept form of a line cannot represent vertical lines : both m, b→

Another way is expressing a line in (, ) form

Each point in the image space votes for a sinusoid of points in the accumulator. High accumulator values are where sinusoids cross.

Finding maxima in the accumulator still equates to finding lines in the image space.

Page 18: 1 Segmentation (2): edge detection. 2 Edge-based segmentation  A large group of methods based on information about previously detected edges in the image.

18

The Hough algorithm

1. Find all of the desired feature points (i.e. edges) in the image

2. For each feature point xi: 3. For each possibility (line, sinusoid) pj in

the accumulator that passes through the feature point:

4. Increment that position in the accumulator

5. Find maxima in the accumulator6. If desired, map each maximum in

the accumulator back to image space

Page 19: 1 Segmentation (2): edge detection. 2 Edge-based segmentation  A large group of methods based on information about previously detected edges in the image.

19

Hough transform: an example

Initial image: two partially occluding rectangles

Edges detected with Canny

Canny detects well the overall boundaries in the image, but this result tells us nothing about the identity (and quantity) of primitives within this boundary description.

Page 20: 1 Segmentation (2): edge detection. 2 Edge-based segmentation  A large group of methods based on information about previously detected edges in the image.

20

Hough transform: an example (cont’d)

Hough transform Contrast enhancement

Page 21: 1 Segmentation (2): edge detection. 2 Edge-based segmentation  A large group of methods based on information about previously detected edges in the image.

21

Hough transform: an example

Mapping back from the parameter space into the image space yields a set of line descriptions of the image.

Hough transform found the 8 sides of the two rectangles.

Page 22: 1 Segmentation (2): edge detection. 2 Edge-based segmentation  A large group of methods based on information about previously detected edges in the image.

22

Page 23: 1 Segmentation (2): edge detection. 2 Edge-based segmentation  A large group of methods based on information about previously detected edges in the image.

23

Hough transform for circles

Parametric representation of a circle:

Three parameters: center (xc, yc) and radius r

Only two parameters if size r is known Same idea: each feature point votes for

each circle it could be on. The accumulator is 3D.

Page 24: 1 Segmentation (2): edge detection. 2 Edge-based segmentation  A large group of methods based on information about previously detected edges in the image.

24

The generalized Hough transform

The Hough Transform can be extended to any parametrically defined shape (lines, circles, ellipses etc.)

Problem: as the number of parameters increases, so does the dimensionality of the parameter space

Computational complexity goes up exponentially with the number of parameters