(Note: To add a line without triggering any stupid list features, use ‘shift-enter’)
1. Linear Systems
a. Make sure you understand what makes certain image operations linear and what are some
operators we use in, say
...
(Note: To add a line without triggering any stupid list features, use ‘shift-enter’)
1. Linear Systems
a. Make sure you understand what makes certain image operations linear and what are some
operators we use in, say edge detection, that are not linear. Linear vs Non-linear.
Linear operations are just different representations of the same image, such as blurring. Also,
linearity maintains that the function holds under additivity (i.e., F(a + b) = F(a) + F(b)) and also
homogeneity of the 1st order (i.e., F(a*x) = a*F(x)) Linear: convolution, correlation, smoothing
filter, multiply sum are linear operations.
Non-linear operations fundamentally alter the image, such as thresholding. Median filter is edge
preserving (gets rid of outliers), use that one in edge detection as opposed to a Gaussian filter
which is linear but doesn’t preserve edges - (it blurs them) Median filter is not linear operator
b. Describe how you might do edge detection using at least two operations - first a linear one
followed by some number of nonlinear ones - that would find edges in a slightly noisy image.
Edge Detection with linear then nonlinear.
Blur, 2nd derivative, then threshold and erode/dilate
c. Gaussian vs. Salt and Pepper noise? Why does a linear filter work well to reduce the noise for
the Gaussian case but not the other?
Gaussian noise have values closer to the neighboring values. Gaussian noise is independent at
each pixel and centered about zero. Because it replaces the pixel value by the local average, it’s
fine when the noise is modest and tends to add to zero over a neighborhood
Salt and Pepper is straight black and white.
d. How is sharpening done using filtering? And would it matter whether you used convolution or
correlation?
Double the value, subtract the blurred image
Convolution is correlation with the filter rotated 180 degrees, makes no difference if the filter is
symmetric. It matters, not symmetric, shift image to left in convolution to right in correlation
e. What are two ways to compute gradients in an image that has some noise in it?
1. Smooth image via Gaussian kernel, then apply gradient filter (Sobel).
2. Apply gradient filter to Gaussian, apply to image.
Convolution and correlationf. What can you do during edge detection to account for the fact that some edges vary in
contrast along the edge - that is sometimes thy are strong and sometimes weak.
Enhance edge detection?
Threshold and use hysteresis with high threshold to find strong edges, and a lower threshold to
find edge points that continue those strong edges. (AKA Canny Edge Detection)
Using the Canny edge detector define two thresholds: low and high, use the high threshold to
start edge curves and the low threshold to continue them
2. Data Structures
a. A standard Hough transform performs voting for a parametric shape. Why are we doing voting
and why does it work?
It compares all points to all other points, and puts in a vote for every shape that can fit
those points.
With a bit more detail, Hough transform takes feature points in an image and gets each
feature to vote for a particular set of parameters that fit that feature, after each feature votes,
the model that receives the most votes is a good fit for those features. Also, this works well since
the majority of features will vote for the best model, and outlier votes will likely be in the
minority and not affect which model is ultimately chosen.
Why doing voting: not feasible to check all possible models or all combinations of
features by fitting a model to each possible subset.
How does it work: we let the features vote for all models that are compatible with it, it
cycle through features, each casting votes for model parameters, then look for model
parameters that receive a lot of votes
[Show More]