Programming Homework
P5: Keypoint Feature Detection
Goal: Learn how to implement keypoint detection
Learn to code several keypoint detection algorithms (GFTT, SIFT, SURF, FAST, BRISK, ORB) implemented by OpenCV.
Compare the multiscale detection capability of these algorithms.
Readings
OpenCV 4 Computer Vision Application Programming Cookbook, by D. M. Escrivá, R. Laganiere, Fourth Edition, Packt Publishing, 2019. [Book URL] [GitHub]
OpenCV tutorial on 2D Feature Framework (4.x)
OpenCV documents on modules for
OpenCV-Python Tutorials (4.x): Introduction to SIFT (4.x), Introduction to SURF (4.x)
Program and test images
Find the sample code of "Chapter 8: Detecting Interest Points" by yourself.
Write a single program that can read an image and run those keypoint detection algorithms.
You have to test your program by your image(s). You can take photos of an object with different scales, rotation angles, and illuminations. An example is shown in this web page.
Web Report
Create a web page with descriptions, explanation and pictures for your programs.
Requirements of the report page:
For each program code, you have to write 4 parts: (1) goal of this code, (2) theory and principle of the algorithms, (3) code segment explanation, and (4) result comparison or analysis.
Use your image(s) to run your programs.
Compare the result images and discuss the multiscale capability of algorithms.
(bonus) Change parameters of algorithm's functions to get different result images. Compare and discuss the result images, and explain why the change of parameters can produce different results. (10%)
Submit your web address by Microsoft Teams.