Programming Homework
HWP5: Keypoint Feature Detection
Goal: Learn how to implement keypoint 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
Readings
- R. Laganière, OpenCV 3 computer vision application programming cookbook. 3rd, Packt Publishing, 2017.
- OpenCV 3.4.1 tutorial on 2D Feature Framework:
- Feature Detection(SURF), Feature Description(SURF)
- OpenCV-Python 3.4.1 Tutorials: Introduction to SIFT, Introduction to SURF
- OpenCV 3.4.1 documents on modules for
Program and test images
Program and test images
- Search 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
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 Google Classroom.