Edges Lines and Corners Flashcards
Filtering and Edge Detection:
What are edges?
They are:
-important to capture events and changes in properties of the image/world
- edge detection is difficult due to noise and non ideal edges
- correspond to discontinuities in depth and surface orientation, changes in material properties and variations in illumination
How do you define Edge Detection:
by two steps:
- apply mask to approximate a derivative
- aggregate detected pixels in edges
What types of derivatives are used to detect edges?
1st derivative and 2nd derivative
What characterizes 1st derivative?
It is:
- noise sensitive - looking for an extremum
- partial derivatives and gradient - image gradient points into the direction of larger intensity variation
- roberts operator - simple, fast but very noise sensitive ([0 1; -1 0] or [-1 0; 0 1])
- prewitt operator - ([-1 0 1; -1 0 1; -1 0 1] for x) ([-1 -1 -1; 0 0 0; 1 1 1] for y)
- sobel operator - ([-1 0 1; -2 0 2; -1 0 1] for x) ([-1 -2 -1; 0 0 0; 1 2 1] for y)
- compass edge detection - alternative to gradient edge detection
- extended sobel operators - H0 = for x; H2 = for y; H4 = for x inverted; H6 = for y inverted
What characterizes 2nd derivative?
2nd derivative:
- easier and more precise to find zero crossing than an extremum
- laplace operator - 4-neighbourhood: H = [0 1 0; 1 -4 1; 0 1 0] ; 8-neighbourhood: H = [1 1 1; 1 -8 1; 1 1 1]
What are the Canny objectives?
- good location
- minimize weak edges
It is divided into five steps:- gaussian filter to smooth and remove noise
- find intensity gradients of the image
- non maximum supression
- double threshold to determine potential edges (high for strong pixels, low for weak pixels)
- edge tracking by hysteresis (transforms weak in strong pixels if any neighboring pixel is strong)
Example: 1D convolution (x,y) with Gaussian smoothing 𝜎 = 6
(it can be done with different values for 𝜎 :
𝜎=1, 𝜎 = 2, 𝜎 = 4, 𝜎 = 8, 𝜎 = 16)
What can be some kind of criteria in the edge detection comparison?
– Number of weak/false edges
– Connectivity
What is line detection?
Same rationale of detecting “roof” like profiles
along “strategic“ orientations: 0º; 45º; 90º; 135º
[see compass]
What kind of Convulution Kernels are there?
- h1 = [-1 -1 -1; 2 2 2; -1 -1 -1]
- h2 = [2 -1 -1; -1 2 -1; -1 -1 2]
- h3 = [-1 2 -1; -1 2 -1; -1 2 -1]
- lines are collection of edges
What is the hough transform?
- technique for having edges vote for plausible line locations
- classical hough transform:
- extended to identifying positions of other shapes as circles or elipses
How many types of corner detectors are there?
6
What are some kind of corner detectors?
- local detectors
- Moravec corner detector
- Harris corner detector
- Histogram based
- Compact descriptors
- SIFT
How do the local detectors work?
- input the gray level image
- output the image in which values are proportional to the likelihood that the pixel is a corner
How does the Moravec corner detector work?
- considers similarity between nearby, largely overlapping patches
- similarity measured by taking the sum of squared differences between the corresponding pixels of two patches
How does the Harris corner detector work?
- auto correlation based
- improvement upon moravecs corner detector
- computes the smallest eigenvalue of the structure tensor