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

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

    • 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.