Lecture 5 - Edges Flashcards

1
Q

What is the process of edge detection?

A

Edge detection then becomes a task of finding local maxima in the first derivative or zero-crossing of the 2 nd derivative

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is the goal of edge detetion?

A

Identify sudden changes (discontinuities) in an image
– Intuitively, most semantic and shape
information from the image can be
encoded in the edges
– More compact than pixels

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the factors to determine edges?

A

Surface Normal Discontinuity
Depth Discontinuity
Surface Colour Discontinuity
Illumination Discontinuity

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is an edge?

A

An edge is a place of rapid change in the image intensity function and are sharp change in brightness (discontinuities).
- It determined by using the first derivative on the intensity function (REFER TO SLIDES FOR EXAMPLE)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is the basic idea of edge detection?

A

Look for a neighborhood with strong signs of change.

Problems:
– Neighborhood size
– How to detect change
Differential operators:
– Attempt to approximate the gradient at a pixel via masks.
– Threshold the gradient to select the edge pixels.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are the characteristics of an edge?

A

Edge models/types:
– Step
– Ramp
– Roof

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are the main steps in edge detection?

A

1) Smoothing: suppress as much noise as possible, without destroying true edges.
2) Enhancement: apply differentiation to enhance the quality of edges (i.e., sharpening)
3) Thresholding: determine which edge pixels should be discarded as noise and which should be retained (i.e., threshold edge magnitude).
4) Localization: determine the exact edge location.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How are derivatives used in edge detection?

A

An image is a 2D function, so operators describing edges are expressed using partial derivatives.
Points which lie on an edge can be detected by either:
– detecting local maxima or minima of the first derivative
– detecting the zero-crossing of the second derivative
REFER TO SLIDES FOR EXAMPLES

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

How are points that on an edge deteced?

A
  1. Detecting the local maxima or minima of the first derivative.
  2. Detecting the zero-crossings of the second derivative.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is Image Gradient?

A

A combination of the partial functions of x and y to create one image
REFER TO SLIDES

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

How do you differentiate a digital image?

A

– Option 1: reconstruct a continuous image, f, then compute the derivative
– Option 2: take discrete derivative (finite difference)
REFER TO SLIDES FOR FORMULA

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are the 3 types of discrete derivatives in 1D?

A

Backward
Forward
Central
REFER TO SLIDES FOR FORMULAS AND EXAMPLE (31 - 38)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

How do 2D derivative filters work?

A

We want an “operator” (mask/kernel) that we can apply to the image that implements (REFER TO SLIDES FOR FORMULA)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are differential operators?

A

Differential operators: some operators that when applied to the image return some derivatives.

Model these “operators” as masks/kernels which when applied to the image yields a new function that is the image gradient function.
* Threshold this gradient function to select the edge pixels.

REFER TO SLIDES FOR EXAMPLES

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is the effect of noise?

A

Finite difference filters respond strongly to noise
– Image noise results in pixels that look very different from their neighbors
– Generally, the larger the noise the stronger the response

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What can be done to reduce noise?

A

– Smoothing the image should help, by forcing pixels different to their neighbors (=noise pixels?) to look more like neighbors
In other words smooth first
REFER TO SLIDES (includes convolution and gaussian)

17
Q

What is the tradeoff between smoothening imags at different scales?

A

Smoothed derivative removes noise, but blurs edge. Also finds edges at different “scale”
REFER TO SLIDES FOR EXAMPLE

18
Q

What are the criteria for an optimal edge detector?

A

– Good detection: the optimal detector must minimize the probability of false positives (detecting spurious edges caused by noise), as well as that of false negatives (missing real edges)
– Good localization: the edges detected must be as close as possible to the true edges
– Single response: the detector must return one point only for each true edge point; that is, minimize the number of local maxima around the true edge

19
Q

What is edge operators?

A

Approximating local gradients in image is basis of many classical edge‐detection operators
Main differences?
– Type of filter used to estimate gradient components
– How gradient components are combined

20
Q

What is Sobel operator?

A

Uses two 3×3 kernels which are convolved with the original image to calculate approximations of the derivatives
One for horizontal changes, and one for vertical
- It involves smoothing + differentiation
REFER TO SLIDES FOR FORMULAS AND EXAMPLES

21
Q

What are some problems with the Sobel filter (operator)?

A

Poor Localization (Trigger response in multiple adjacent pixels)
Thresholding value favors certain directions over others
– Can miss oblique edges more than horizontal or vertical edges
– False negatives

22
Q

What is the Canny edge detector?

A

The Canny edge detector is an edge detection operator that uses a multistage algorithm to detect a wide range of edges in images.

23
Q

What is the process of the Canny edge detector?

A
  1. Filter image with x, y derivatives of Gaussian
  2. Find magnitude and orientation of gradient
  3. Non-maximum suppression:
    ❑ Thin multi-pixel wide “ridges” down to single pixel width
  4. Thresholding and linking (hysteresis):
    ❑ Define two thresholds: low and high
    ❑ Use the high threshold to start edge curves and the low threshold to continue them
    REFER TO SLIDES FOR STEP THROUGH
24
Q

What is the effect of sigma in the Canny edge detector?

A

The choice of  depends on desired behavior
* large  detects large scale edges
* small  detects fine features

25
Q

What scale should you choose for sigma in the Canny edge detector?

A

Depends on what you are looking for

26
Q

What is non-maximum suppression (step 3 of Canny edge detection)?

A
  • Non-maximum suppression is an edge thinning technique.
  • After applying gradient calculation, the edge extracted from the gradient value is still quite blurred. With respect to criterion 3, there should only be one accurate response to the edge.
  • Edge occurs where gradient reaches a maxima
  • Non-maximum suppression can help to suppress all the gradient values (by
    setting them to 0) except the local maxima
  • Suppress non-maxima gradient even if it passes threshold
27
Q

What is the Non-maximum suppression: Algorithm

A

▪ Compare the edge strength (gradient) of the current pixel with the edge strength of the pixel in the positive and negative gradient directions.
▪ If the edge strength of the current pixel is the largest compared to the other pixels in the mask with the same direction, the pixel value will be preserved. Otherwise, the value will be suppressed.

28
Q

How does Non-maximum suppression work for each orientation?

A

REFER TO SLIDE 72

29
Q

How do you define threshholds (Step 4 in Canny edge detection)

A

Define two thresholds: Low and High
– If less than Low, not an edge
– If greater than High, strong edge
– If between Low and High, weak edge
* Consider its neighbors iteratively then declare it as “edge pixel” if it is connected to a ‘strong edge pixel’ directly or via pixels between Low and High
REFER TO SLIDES FOR EXAMPLES