Today
Image segmentation methods: Boundaries, Hough transform, Intelligent Scissors
Slides based on Steve Seitz, Kristen Grauman, and others
Today Image segmentation methods: Boundaries, Hough transform, - - PowerPoint PPT Presentation
Today Image segmentation methods: Boundaries, Hough transform, Intelligent Scissors Slides based on Steve Seitz, Kristen Grauman, and others Boundaries in Medical Imaging Machine Edge Detection Image Human Boundary Marking Boundaries in
Slides based on Steve Seitz, Kristen Grauman, and others
Image Machine Edge Detection Human Boundary Marking
[Foran, Comaniciu, Meer, Goodell, 00]
Hard to detect in the presence of large amount of speckle noise
Image Edge detection and Thresholding Noisy edge image Incomplete boundaries Shrink and Expand Thinning
Given: Approximate Location of Boundary Task: Find Accurate Location of Boundary
Adjusting a priori Boundaries:
i i
i i y
Given: Many pairs Find: Parameters Minimize: Average square distance: Using: Note:
i i y
i i i
2
i i i i i
2
N y y
i i
= N x x
i i
=
Line that minimizes E!!
Find Polynomial: that best fits the given points Minimize: Using: Note: is LINEAR in the parameters (a, b, c, d)
i i y
2 3
i i i i i
2 2 3
Slide credit: David Jacobs
i i y
Equation of Line: Find: Consider point:
i i y
i i i i
Image Space Parameter Space Parameter space also called Hough Space
x y m b m0 b0
Slide credit: Steve Seitz
x y m b
– Answer: the solutions of b = -x0m + y0 – this is a line in Hough space x0 y0
Slide credit: Steve Seitz
x y m b
x0 y0
b = –x1m + y1 (x0, y0) (x1, y1)
x y m b
Parameter Space
1 1 1 1 1 1 2 1 1 1 1 1 1
i i y
i i
: perpendicular distance from line to origin : angle the perpendicular makes with the x-axis
[0,0]
Image columns Image rows
Kristen Grauman
NOTE: Large Accumulator More memory and computations Improvement: (Finite Accumulator Array Size) Line equation: Here
max
i i y
Image Space
Hough Space
– how big should the cells be? (too big, and we merge quite different lines; too small, and noise causes lines to be missed)
– Count the peaks in the Hough array – Treat adjacent peaks as a single peak
line? – Search for points close to the line – Solve again for line and iterate
2 i i
r = ) b (y + ) a (x
2 2
− −
Equation of Circle:
2 2 2
i i
If radius is not known: 3D Hough Space! Use Accumulator array
Further reading: Ballard and Brown, hough.pdf
Image: Multi-subject Diffusion MRI Tractography via a Hough Transform Global Approach, Aganj et al.
http://rsbweb.nih.gov/ij/plugins/hough-circles.html Gradient+threshold Hough space (fixed radius) Max detections
Kristen Grauman
Kristen Grauman
Kristen Grauman
Kristen Grauman
Model image
Kristen Grauman
Model image
Kristen Grauman
Model image
Displacement vectors
Kristen Grauman
Model image Novel image
Displacement vectors
Kristen Grauman
Model image Vote space Novel image
Displacement vectors
Kristen Grauman
Model image Vote space Novel image x
Displacement vectors
Kristen Grauman
Model image Vote space Novel image x x
Displacement vectors
Kristen Grauman
Model image Vote space Novel image x x x
Displacement vectors
Kristen Grauman
Model image Vote space Novel image x x x x
Displacement vectors
Kristen Grauman
Model image Vote space Novel image x x x x x
Displacement vectors
Kristen Grauman
Model image Vote space Novel image x x x x x
Displacement vectors
Kristen Grauman
Model image Vote space Novel image x x x x x
Displacement vectors
Kristen Grauman
Model image Vote space Novel image x x x x x
Displacement vectors
Kristen Grauman
[Dana H. Ballard, Generalizing the Hough Transform to Detect Arbitrary Shapes, 1980]
x a
p1
θ
p2
θ
Model shape
Kristen Grauman
[Dana H. Ballard, Generalizing the Hough Transform to Detect Arbitrary Shapes, 1980]
x a
p1
θ
p2
θ
Model shape
Kristen Grauman
[Dana H. Ballard, Generalizing the Hough Transform to Detect Arbitrary Shapes, 1980]
x a
p1
θ
p2
θ
Model shape
Kristen Grauman
[Dana H. Ballard, Generalizing the Hough Transform to Detect Arbitrary Shapes, 1980]
x a
p1
θ
p2
θ
Model shape
Kristen Grauman
[Dana H. Ballard, Generalizing the Hough Transform to Detect Arbitrary Shapes, 1980]
x a
p1
θ
p2
θ
Model shape
θ θ
… … …
Kristen Grauman
p1
Assuming translation is the only transformation here, i.e., orientation and scale are fixed.
Novel image
θ θ
… … …
Kristen Grauman
p1
Assuming translation is the only transformation here, i.e., orientation and scale are fixed.
Novel image
θ θ
… … …
Kristen Grauman
p1
θ
Assuming translation is the only transformation here, i.e., orientation and scale are fixed.
θ
Novel image
θ θ
… … …
θ
Kristen Grauman
p1
θ
Assuming translation is the only transformation here, i.e., orientation and scale are fixed.
θ
Novel image
θ θ
… … …
θ
Kristen Grauman
p1
θ
Assuming translation is the only transformation here, i.e., orientation and scale are fixed.
θ
Novel image
θ θ
… … …
θ
Kristen Grauman
p1
θ
Assuming translation is the only transformation here, i.e., orientation and scale are fixed.
x
θ
Novel image
θ θ
… … …
θ
x x Kristen Grauman
p1
θ
Assuming translation is the only transformation here, i.e., orientation and scale are fixed.
x
θ
Novel image
θ θ
… … …
θ
x x Kristen Grauman
p1
θ θ
Assuming translation is the only transformation here, i.e., orientation and scale are fixed.
x
θ θ
Novel image
θ θ
… … …
θ
x x Kristen Grauman
p1
θ θ
Assuming translation is the only transformation here, i.e., orientation and scale are fixed.
x
θ θ
Novel image
θ θ
… … …
θ
x x Kristen Grauman
p1
θ θ
Assuming translation is the only transformation here, i.e., orientation and scale are fixed.
x
θ θ
Novel image
θ θ
… … …
θ
x x x x Kristen Grauman
p1
θ θ
Assuming translation is the only transformation here, i.e., orientation and scale are fixed.
x
θ θ
Novel image
θ θ
… … …
θ
x x x x Kristen Grauman
s 3 t 2 6 7 4 5
24 18 2 9 14 15 5 30 20 44 16 11 6 19 6
from Tardos/Kleinberg book
seed mouse
seed mouse
p q c
– Computes minimum cost path from seed to all other pixels
Note: diagonal “paths” are scaled by a factor .
2
… Why?
After object rotation
After object rotation
Path’s cost along the top boundary Path’s cost along the top-left boundary
14 7 * 2 = 10 5 * 2 =
After diagonal links are adjusted by 2
14 5 * 2 * 2 =
2 2 2 2 2 2 2 2 2 2 2 2
image gradient scores
– want intensity to change rapidly ⊥ to the link
|intensity of r – intensity of s|
Want to hug image edges: how to define cost of a link? p q c r s
p q c
– assume it is centered at p
p q c
1
w
1 1
c can be computed using a cross-correlation filter
A couple more modifications
– Set c = (max-|filter response|*length) – where max = maximum |filter response|*length over all pixels in the image
Is the pixel an edge pixel? Evaluate Laplacian zero crossings How good is this edge pixel? Gradient magnitude What is its orientation? Gradient direction
invert the edge gradients (high gradient -> small cost) variation between the two unit vectors
5 3 1 3 3 4 9 2 Algorithm
1. init node costs to , set p = seed point, cost(p) = 0 2. expand p as follows:
for each of p’s neighbors q that are not expanded
» set cost(q) = min( cost(p) + cpq, cost(q) )
link cost
4 1 5 3 3 2 3 9 Algorithm
1. init node costs to , set p = seed point, cost(p) = 0 2. expand p as follows:
for each of p’s neighbors q that are not expanded
» set cost(q) = min( cost(p) + cpq, cost(q) )
» if q’s cost changed, make q point back to p
» put q on the ACTIVE list (if not already there)
5 3 1 3 3 4 9 2 1 1
4 1 5 3 3 2 3 9 5 3 1 3 3 4 9 2 1 5 2 3 3 3 2 4 Algorithm
1. init node costs to , set p = seed point, cost(p) = 0 2. expand p as follows:
for each of p’s neighbors q that are not expanded
» set cost(q) = min( cost(p) + cpq, cost(q) )
» if q’s cost changed, make q point back to p
» put q on the ACTIVE list (if not already there)
3. set r = node with minimum cost on the ACTIVE list 4. repeat Step 2 for p = r
3 1 5 3 3 2 3 6 5 3 1 3 3 4 9 2 4 3 1 4 5 2 3 3 3 2 4 Algorithm
1. init node costs to , set p = seed point, cost(p) = 0 2. expand p as follows:
for each of p’s neighbors q that are not expanded
» set cost(q) = min( cost(p) + cpq, cost(q) )
» if q’s cost changed, make q point back to p
» put q on the ACTIVE list (if not already there)
3. set r = node with minimum cost on the ACTIVE list 4. repeat Step 2 for p = r
A B
The arrows indicate the direction of the path with minimum cumulative cost.
image: Antonio Criminisi and Sing Bing Kang
image: Sharon Eve