计算机视觉代写｜Introduction to Computer Vision (ECSE 415) Assignment 1: Image Filtering and Corner Detection
- Submit a single jupyter notebook consisting of the solution of the entire assignment.
- Comment your code appropriately.
- Do not forget to run Markdown cells (so that the output images appear).
- Do not submit input/output images separately. Images should be displayed in the jupyter notebook itself. Assume input images are kept in the same directory as the codes.
- Make sure that the submitted code is running without error. Describe any specific requirements for running the code in your notebook.
- If external libraries were used in your code please specify their names and versions in the notebook.
- We are expecting you to make a path variable at the beginning of your codebase.
This should point to your working local (or google drive) folder.
Your path variable should be defined at the top of your Jupyter notebook.
While grading, we are expecting that we just have to change the path variable once and it should allow us to run your solution smoothly on our own system.
1 Image Acquisition (5 Points)
Using a cellphone camera or a standalone digital camera, capture two images of a household object,where each image of the object is taken from a different viewpoint. These images can be of any size.
An example of such an image pair is shown below:
Please note that all assignments are to be done individually (not in groups), and so you must acquire your own images. Do not share images or copy someone else’s images!
You will be using these images, as well as the processed images, in some future assignments, so it is important to do all the steps correctly. Display the original images in the assignment’s Jupyter notebook.
2 Convert to Grayscale (5 Points)
If your images are color (RGB), convert them to Grayscale, by averaging each pixel’s R, G, and B values.
Display the grayscale images in the assignment’s Jupyter notebook.
3 Smooth the images using Gaussian smoothing (10 Points)
Smooth the grayscale images using a 5×5 pixel Gaussian kernel. Then repeat the smoothing using a 11×11 Gaussian kernel. Display the smoothed images in the notebook.
4 Compute Image Gradients (10 Points)
Compute the x and y derivative images of the smoothed images. Display the derivative images in the notebook.
5 Compute the Harris Cornerness Function (10 Points)
Using the Harris Operator (version 2) from the class lecture slides, compute the cornerness functions,based on the x and y derivative images (for both levels of smoothing) obtained in step 4. Set α=0.05.
Display the cornerness images in the notebook (one for each level of smoothing).
6 Threshold the Harris Cornerness Function (5 Points)
Apply a threshold to the Harris operator output image. Do experimentation with different threshold values and explain in the notebook how you decided which is the best threshold to use. Display the thresholded images in the notebook. Is the best threshold value the same for both smoothing levels?
7 Apply Non-maximum Suppression (5 Points)
Apply non-maximum suppression (local maximum location) to the thresholded cornerness function to determine the single-pixel location of each corner feature. Overlay the corner locations on the original (grayscale) images (for example, you can draw a colored cross at each location) and display in the notebook.