1
|
- Today’s reading
- Forsyth, chapters 8, 15.1
|
2
|
- Convert a 2D image into a set of curves
- Extracts salient features of the scene
- More compact than pixels
|
3
|
- Edges are caused by a variety of factors
|
4
|
- How can you tell that a pixel is on an edge?
|
5
|
- The gradient of an image:
- The gradient points in the direction of most rapid change in intensity
|
6
|
- How can we differentiate a digital image f[x,y]?
- Option 1: reconstruct a
continuous image, then take gradient
- Option 2: take discrete
derivative (finite difference)
|
7
|
- Better approximations of the derivatives exist
- The Sobel operators below are very commonly used
|
8
|
- Consider a single row or column of the image
- Plotting intensity as a function of position gives a signal
|
9
|
|
10
|
- This saves us one operation:
|
11
|
|
12
|
- is the Laplacian operator:
|
13
|
|
14
|
|
15
|
|
16
|
- Check if pixel is local maximum along gradient direction
- requires checking interpolated pixels p and r
|
17
|
|
18
|
|
19
|
- Properties of scale space (w/ Gaussian smoothing)
- edge position may shift with increasing scale (s)
- two edges may merge with increasing scale
- an edge may not split into two with increasing scale
|
20
|
|
21
|
|
22
|
|
23
|
|
24
|
|
25
|
- Option 1:
- Search for the line at every possible position/orientation
- What is the cost of this operation?
- Option 2:
- Use a voting scheme: Hough
transform
|
26
|
- Connection between image (x,y) and Hough (m,b) spaces
- A line in the image corresponds to a point in Hough space
- To go from image space to Hough space:
- given a set of points (x,y), find all (m,b) such that y = mx + b
|
27
|
- Connection between image (x,y) and Hough (m,b) spaces
- A line in the image corresponds to a point in Hough space
- To go from image space to Hough space:
- given a set of points (x,y), find all (m,b) such that y = mx + b
- What does a point (x0, y0) in the image space map
to?
|
28
|
- Typically use a different parameterization
- d is the perpendicular distance from the line to the origin
- q is the angle this
perpendicular makes with the x axis
- Why?
|
29
|
- Typically use a different parameterization
- d is the perpendicular distance from the line to the origin
- q is the angle this
perpendicular makes with the x axis
- Why?
- Basic Hough transform algorithm
- Initialize H[d, q]=0
- for each edge point I[x,y] in the image
- Find the value(s) of (d, q)
where H[d, q] is
maximum
- The detected line in the image is given by
- What’s the running time (measured in # votes)?
|
30
|
- Extension 1: Use the image
gradient
- same
- for each edge point I[x,y] in the image
- compute unique (d, q) based on image gradient at
(x,y)
- same
- same
- What’s the running time measured in votes?
- Extension 2
- give more votes for stronger edges
- Extension 3
- change the sampling of (d, q)
to give more/less resolution
- Extension 4
- The same procedure can be used with circles, squares, or any other
shape
|
31
|
- Extension 1: Use the image
gradient
- same
- for each edge point I[x,y] in the image
- compute unique (d, q) based on image gradient at
(x,y)
- same
- same
- What’s the running time measured in votes?
- Extension 2
- give more votes for stronger edges
- Extension 3
- change the sampling of (d, q)
to give more/less resolution
- Extension 4
- The same procedure can be used with circles, squares, or any other
shape
|