Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Which feature detector algorithm is simplest for learning?

I am wrapping my head around feature detector algorithms. I've studied the options that I have: SIFT, SURF, BRISK, FREAK etc. All of them seem fairly complex in terms of underlying mathematics. On the contrary, I want to take one step at a time therefore I am looking for a simple method which doesn't need to be as good as SURF for example. Which algorithm would you recommend to learn and implement?

like image 642
c0dehunter Avatar asked Dec 11 '22 10:12

c0dehunter


1 Answers

The first thing too keep in mind is the difference between a detector and a descriptor. A detector is an algorithm for detecting interest points in an image, which are typically either corners or centers of blob-like structures. Then, if you need to match these points across images, you compute descriptors, which are some kind of vectors of values that represent the patches around the interest points.

This should help clear up some confusion. For example, "good features to track", aka the min-eigen corner detector, is an interest point detector. FREAK is a feature descriptor. SIFT, SURF, and BRISK include both a detector and a descriptor. In general, however, you can mix and match detectors and descriptors.

So for starters, you should look at the corner detectors like GFTT and Harris, and also the Laplacian blob detector. Most of the more recent interest point detectors are faster ways of detecting corners or blobs.

For descriptors, start with SIFT. It may seem a bit scary, but this was the first descriptor that has worked, and it is the inspiration and the benchmark for all the others.

like image 54
Dima Avatar answered Mar 15 '23 22:03

Dima