FIT5221 Intelligent Image and Video Analysis
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
- A Jupyter notebook named `StudentName_ID.ipynb`, that presents all your implementation, inputs, and outputs for each task. Please rename the Jupyter notebook accordingly. In the first cell of your notebook, you must specify your full name and student ID. The Jupyter notebook should include comments that explain your code.
- All input images and all output/displayed images from your Jupyter notebook saved in image format (e.g., JPG, PNG).
- Discussion of your implementation and parameter choices.
- Discussion of your results.2
- Any issues you encountered, comparisons, or analysis (if applicable).
- Any additional information required by the task instructions.
Ensure that the notebook runs without errors. Using the same input image, it should produce the same results as reported. We will re-run your notebook on our computers.
For each task, the runtime of the code should be less than 5 minutes.
Image stitching is a technique to combine multiple images with overlapping fields of view to produce a panorama photo.
In this assignment, students are required to implement some specific steps of the image stitching process and use their implementations to generate a stitched image as the final output. The details of each task are provided below.
Implement your own Harris corner detector. We provide a placeholder function my_harris_corner_detector(...) in the notebook. You need to complete the implementation inside this function with appropriate parameters.
Your function must implement all steps of the Harris corner detection algorithm from scratch and generate the required outputs for each input image.
You will then compare your function’s output with the corresponding output using skimage’s functions corner_peaks and corner_harris.
- skimage.data.astronaut()
- skimage.data.checkerboard()
- All 6 provided images.
- Display the input image (either grayscale or RGB)
- On the same image:
- Display corners detected by your implementation using red ‘+’ markers.
- Display corners detected by the function
- Display the number of corners detected by your implementation.
- Display the number of corners detected by corner_peaks(harris_response, …).
- Display the number of overlapping corners between your implementation and the library implementation. Two corners are considered overlapping if the
- Find a good set of parameters (e.g., alpha, corner response threshold, etc.) and justify your choices.
- How do you decide the parameters?
- What are your observations from the results?
- Discuss any “interesting” implementation you made.
- You are only allowed to use Numpy, SciPy, skimage (only for read/write images, convolution operations, and defining Gaussian filters), matplotlib, and Python built-in libraries for this task.
- You MUST NOT USE corner_peaks and corner_harris from skimage library or similar functions from OpenCV. If you directly use the function from the library for any steps, you may not get full marks.
- You MUST NOT COPY the implementations of the library.
- Ensure that the notebook runs without errors. Using the same input image, it should produce the same results as reported. We will re-run your notebook on our computers.
- For Step 5 of the Harris corner detector (i.e., non-maximum suppression (NMS)), you are allowed to use the library’s functions to find the maximum value within a window, but not the function for the whole NMS step.
- There is a parameter min_distance in corner_peaks to remove the corners within min_distance. This is an additional step; you are not required to implement this.5
2026-03-31