Description
1 Edge Detection [5 points]
Figure 1: Image for edge detection
Write programs to detect edges in Fig. 1 (along both x and y directions) using Sobel operator. In your report,
please include two resulting images, one showing edges along x direction and the other showing edges along y
direction.
2 Keypoint Detection [5 points]
Write programs to detect keypoints in an image according to the following steps, which are also the first three
steps of Scale-Invariant Feature Transform (SIFT).
1. Generate four octaves. Each octave is composed of five images blurred using Gaussian kernels. For each
octave, the bandwidth parameters σ (five different scales) of the Gaussian kernels are shown in Tab. 1.
2. Compute Difference of Gaussian (DoG) for all four octaves.
3. Detect keypoints which are located at the maxima or minima of the DoG images. You only need to provide
pixel-level locations of the keypoints; you do not need to provide sub-pixel-level locations.
In your report, please (1) include images of the second and third octave and specify their resolution (width ×
height, unit pixel); (2) include DoG images obtained using the second and third octave; (3) clearly show all the
1
Figure 2: Image for keypoint detection
Octave
1st √
1
2
1
√
2 2 2
√
2
2nd √
2 2 2
√
2 4 4
√
2
3rd 2
√
2 4 4
√
2 8 8
√
2
4th 4
√
2 8 8
√
2 16 16√
2
Table 1: The bandwidth parameters σ (five different scales) of the Gaussian kernels used in the first step of
keypoint detection.
detected keypoints using white dots on the original image (4) provide coordinates of the five left-most detected
keypoints (the origin is set to be the top-left corner).
3 Cursor Detection [5 points + 3 bonus points]
Figure 3: Illustration of cursor detection task, which aims to locate the cursor highlighted in the red circle.
For the task of cursor detection, which aims to locate the cursor in an image, two sets of images and cursor
templates, named as ”Set A” and ”Set B”, will be provided to you. Set A is composed of a total number of
25 images and 1 cursor template. Set A is for task 1., i.e., the basic cursor detection which contributes to 5
points. Set B is composed of a total number of 30 images and 3 different cursor template. Set B is for task 2.,
i.e., which contributes to 3 bonus points.
1. Detect cursors in Set A. [5 points]
2. Detect cursors in Set B, which is more challenging. [3 bonus points]
Note that we will randomly select and run the code you submitted on a set of 20 withheld images to test the
performance of your cursor detection programs.
2