1. Edge Detection
1.
[5] Why is the Laplacian alone not a good edge detector, but the Laplacian of Gaussian is? Explain in a sentence each.
Since Laplacian is too sensitive against the noise, even non-edge parts of the image can be detected to be edge using the Laplacian as a edge detector.
However, Laplacian of Gaussain first smooth the noise using Gaussian, which makes Laplacian could work well on detecting edge compared to Laplacian alone.
2.
[5] What is the general effect of increasing the Gaussian width for Laplacian of Gaussian edge detectors? Explain in a sentence.
Larger width Laplacian of Gaussian edge detectors generally deal with large area of the image region, therefore the detection ability on local region will be reduced but the noise sensitivity can be also reduced, too.
2. Hough Transform Line Parameterization
1.
[5] Show that if you use the polar representation for lines , each point in the xy-plane results in a sinusoid in the plane. Show the amplitude and phase of the sinusoid in terms of the point .
We can change the parameteric polar representation as below.
Then, we can consider such that and . Then, the equation can be simplified as velow.
The above equation is the form of sinusoid wave form which has the amplitude of and phase of . Since we set to be and , can be expressed as .
Thus, the amplitude is and phase is .
2.
[5] Assuming that the image points are in a image of width and heigh , what is the maximum absolute value of and the range for ?
Maximum absolute value of the sinusoidal form of the specific point is the amplitude of the equation, which is and the period of the sinusoidal form is .
Since the image size is , we can say that the maximum absolute value of is . Also, we can simply take one period of range such as for .
3. Active Contours
Imagine you are trying to implement active contours, or the ’snakes’ method for finding shapes.
1.
[4] You finish implementing the external energy term, but forget to implement the internal energy term. What kinds of issues may arise with your snakes? Explain in a sentence.
If we forget to implement the the internal energy term, we cannot apply smoothness or elasticity on contours, causes the contours to be too sensitive to noise (detect edge even if is not) and also we cannot apply prior knowledge on contours.
2.
[3] You realize your mistake, and implement the internal energy term, as well. However, you notice that your snakes are too rounded, and are not fitting the shapes well. How can you address this problem? Explain in a sentence.
External energy term deals with the exact fitting of the shape, thus we can increase the weight parameter of external energy compared to internal energy term.
3.
[3] You notice that in your images, the shape you want to fit to is always a rectangle. How can you encourage your snakes to fit to rectangular shapes? Explain in a sentence.
If we know the prior knowledge of the shape, we can add the inernal energy term which can penalize the large difference between prior knowledge and obtained contour (e.g., adding the squared error term of point distance between four vertices of rectangle).
4. Apperanance and BRDFs
Consider a hypothetical material with a BRDF given by , where is the angle made by the light direction with the surface normal, and is the angle made by the viewing direction with the surface normal.
1.
[5] Will the appearance of this surface vary with the viewing direction? Explain
why.
If we assume the light source is fixed, radiance intensity keep constant. Since the surface radiance as , we can calculate the surface radiance is which is independent of viewing direction. Thus the appearance of the surface will not vary with the viewing direction.
2.
[5] Will it vary with the incoming light direction? Explain why.
As we calulated the surface radiance as in above question 4-(1), we can say that the surface radiance is proportional to the square cosine of incoming light direction. Also we can assume the fixed light source which means the radiance intensity keep constant in this case, the appearance of the surface will vary with the incoming light direction
5. Implementing the Hough Transform for Line Detection
2.
Non Maximal Suppression Algorithm in Edge Detection
For each pixel, we retrieves the two nearest neighbor pixel which are aligned in gradient direction and compare the gradient magnitude. We only keep the gradient value of the pixel when it is greater than the two neighborhood pixels. Otherwise we initialize the gradient value as 0.
Since the gradient direction can be expressed as the positive angle to the -axis and each pixel have 8 neighborhoods, we can think of equally dividing to 8 regions as below.
Region Division
Each region are covering area. For example using above figure, if the gradient direction satisfies , we need to compare magnitude value of center pixel to pixel 4 and pixel 5. If the center pixel has greater graident magnitude than both pixel 4’s and pixel 5’s one, we keep the gradient value. Otherwise we initialize the center pixel’s gradient magnitude value as 0, explicitly setting it is not the edge region.
3.
(1) Grayscale Image of ,
name
Img01
Img02
Img03
Img04
3.
(2) Parameters used in this question
4.
(1) Non Maximal Suppression Algorithm in Hough Line Detection
I used Non Maximal Suppresion Algorithm implemented in below link (function named find_local_maxima).
The main idea of the function is remaining the voted value only when it is the most greatest value among the specific size of the neighbors (in the code they use , but I treated them as parameters to calibrate). Else, the voted value are initialized with 0.
4.
(2) Line Plotting on Images
Image 1 - Line Plotting
Image 2 - Line Plotting
Image 3 - Line Plotting
Image 4 - Line Plotting
4.
(3) Reason why , is needed
We need , is because we need to change the index of Hough Accumulator to real and and find out lines on Image Space.
5.
Line Segment Plotting on Images
Image 1 - Line Segment Plotting
Image 2 - Line Segment Plotting
Image 3 - Line Segment Plotting
Image 4 - Line Segment Plotting