vc 14/15 tp8 segmentationmcoimbra/lectures/vc...vc 14/15 - tp8 - segmentation outline •...

Post on 30-Dec-2020

4 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Mestrado em Ciência de Computadores

Mestrado Integrado em Engenharia de Redes e

Sistemas Informáticos

VC 14/15 – TP8

Segmentation

Miguel Tavares Coimbra

VC 14/15 - TP8 - Segmentation

Outline

• Thresholding

• Geometric structures

• Hough Transform

Acknowledgements: Most of this course is based on the excellent courses offered by Prof. Shree Nayar at

Columbia University, USA and by Prof. Srinivasa Narasimhan at CMU, USA. Please acknowledge the original

source when reusing these slides for academic purposes.

VC 14/15 - TP8 - Segmentation

Topic: Thresholding

• Thresholding

• Geometric structures

• Hough Transform

VC 14/15 - TP8 - Segmentation

Boundaries of Objects

Marked by many users

http://www.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/segbench/bench/html/images.html

VC 14/15 - TP8 - Segmentation

Boundaries of Objects from

Edges

Brightness Gradient (Edge detection)

• Missing edge continuity, many spurious edges

VC 14/15 - TP8 - Segmentation

Boundaries of Objects from

Edges

Multi-scale Brightness Gradient

• But, low strength edges may be very important

VC 14/15 - TP8 - Segmentation

Image

Machine Edge Detection

Human Boundary Marking

VC 14/15 - TP8 - Segmentation

Boundaries in Medical Imaging

Detection of cancerous regions.

[Foran, Comaniciu, Meer, Goodell, 00]

VC 14/15 - TP8 - Segmentation

Boundaries in Ultrasound

Images

Hard to detect in the presence of large amount of speckle noise

VC 14/15 - TP8 - Segmentation Sometimes hard even for humans!

VC 14/15 - TP8 - Segmentation

What is ‘Segmentation’?

• Separation of the

image in different

areas.

– Objects.

– Areas with similar

visual or semantic

characteristics.

Not trivial! It is the holy grail of

most computer vision problems!

VC 14/15 - TP8 - Segmentation

Subjectivity

• A ‘correct’

segmentation result is

only valid for a

specific context.

– Subjectivity!

– Hard to implement.

– Hard to evaluate.

Person Suitcase

Face

What is the

correct

segmentation?

VC 14/15 - TP8 - Segmentation

Core Technique: Thresholding

• Divide the image into two areas:

– 1, if f(x,y)>K

– 0, if f(x,y)<=K

• Not easy to find the ideal k magic number.

• Core segmentation technique

– Simple

– Reasonably effective

Adequate

threshold

VC 14/15 - TP8 - Segmentation

Finding the ‘magic number’

Wrong!

(k = 128) Correct

(k = 74)

VC 14/15 - TP8 - Segmentation

http://www.cee.hw.ac.uk/hipr/html/adpthrsh.html

Global thresholds are not

always adequate...

VC 14/15 - TP8 - Segmentation

Adaptive Thresholding

• Adapt the threshold

value for each pixel.

• Use characteristics of

nearby pixels.

• How?

– Mean

– Median

– Mean + K

– ...

Mean of 7x7 neighborhood

VC 14/15 - TP8 - Segmentation 7x7 window; K = 7 75x75 window; K = 10

VC 14/15 - TP8 - Segmentation

Topic: Geometric structures

• Thresholding

• Geometric structures

• Hough Transform

VC 14/15 - TP8 - Segmentation

Points

• What is a point?

– Pixel with a significant

illumination difference

to its neighbors.

– Group of pixels?

• Spatial Mask!

• Need to define a

threshold K.

-1 -1 -1

-1 8 -1

-1 -1 -1

point!

9

1

KR

zwRi

ii

VC 14/15 - TP8 - Segmentation

Lines

• Spatial filter

– One per line direction

– Sensitive to line width

-1 -1 -1

2 2 2

-1 -1 -1

-1 2 -1

-1 2 -1

-1 2 -1

Horizontal Vertical

Diagonal?

VC 14/15 - TP8 - Segmentation

Edges

• Edge:

– Spatial discontinuity of pixel amplitude.

– High spatial gradient

• First derivative (peak)

• Second derivative (zero crossing)

VC 14/15 - TP8 - Segmentation

Popular operators

• Edge detection

– Great utility for

several problems.

– Well studied

problem.

• A variety of

solutions exists.

VC 14/15 - TP8 - Segmentation

VC 14/15 - TP8 - Segmentation

Processing Edge Images

Image

Edge detection

and Thresholding Noisy edge image

Incomplete boundaries

Edge Tracking

Thinning

VC 14/15 - TP8 - Segmentation

Edge Tracking Methods

• Adjusting a priori Boundaries

Given: Approximate Location of Boundary

Task: Find Accurate Location of Boundary

• Search for STRONG EDGES along normals to approximate boundary.

• Fit curve (eg., polynomials) to strong edges.

VC 14/15 - TP8 - Segmentation

Edge Tracking Methods

• Divide and Conquer Given: Boundary lies between points A and B

Task: Find Boundary

• Connect A and B with Line

• Find strongest edge along line bisector

• Use edge point as break point

• Repeat

VC 14/15 - TP8 - Segmentation

Fitting Lines to Edges (Least

Squares) cmxy

cmxy ii

),( ii yx

y

x

Given: Many pairs

Find: Parameters

Minimize: Average square distance:

Using:

Note:

),( ii yx),( cm

i

ii

N

cmxyE

2)(

0&0

c

E

m

Exmyc

i

i

i

ii

xx

yyxx

m2)(

))((

N

y

y i

i

N

x

x i

i

VC 14/15 - TP8 - Segmentation

Topic: Hough Transform

• Thresholding

• Geometric structures

• Hough Transform

VC 14/15 - TP8 - Segmentation

Hough Transform

• Elegant method for direct object

recognition

• Edges need not be connected

• Complete object need not be visible

• Key Idea: Edges VOTE for the possible

model

VC 14/15 - TP8 - Segmentation

Image and Parameter Spaces

cmxy

),( ii yx

y

x

Equation of Line:

Find:

Consider point:

cmxy

),( cm

),( ii yx

iiii ymxcorcmxy m

c

),( cm

Image

Space

Parameter

Space

Parameter space also called Hough Space

VC 14/15 - TP8 - Segmentation

Line Detection by Hough Transform

y

x

),( cm

Parameter Space

1 1

1 1

1 1

2

1 1

1 1

1 1

),( cmA

Algorithm:

• Quantize Parameter Space

• Create Accumulator Array

• Set

• For each image edge increment:

• If lies on the line:

• Find local maxima in

),( cm

),( cmA

cmcmA ,0),(

),( ii yx

1),(),( cmAcmA

),( cm

),( cmA

ii ymxc

VC 14/15 - TP8 - Segmentation

Better Parameterization

NOTE:

Large Accumulator

More memory and computations

Improvement:

Line equation:

Here

Given points find

m

sincos yx

max0

20

(Finite Accumulator Array Size)

),( ii yx ),(

),( ii yx

y

x

Image

Space

Hough

Space

?

Hough Space Sinusoid

VC 14/15 - TP8 - Segmentation

Image space Votes

Horizontal axis is θ,

vertical is rho.

VC 14/15 - TP8 - Segmentation

VC 14/15 - TP8 - Segmentation

VC 14/15 - TP8 - Segmentation

Mechanics of the Hough Transform

• Difficulties – how big should the

cells be? (too big, and we merge quite different lines; too small, and noise causes lines to be missed)

• How many lines? – Count the peaks in the

Hough array

– Treat adjacent peaks as a single peak

• Which points belong to each line? – Search for points close

to the line

– Solve again for line and iterate

VC 14/15 - TP8 - Segmentation

Fewer votes land in a

single bin when noise increases.

VC 14/15 - TP8 - Segmentation

Adding more clutter increases

number of bins with false peaks.

Real World Example

Original Edge Detection

Found Lines

Parameter Space

VC 14/15 - TP8 - Segmentation

Other shapes

Original Edges when using circle

model

VC 14/15 - TP8 - Segmentation

Resources

• Gonzalez & Woods – Chapter 7

• N. Otsu, “A threshold selection method

from gray-level histograms,” IEEE Trans.

Sys., Man., Cyber., vol. 9, pp. 62–66,

1979.

top related