Feature Point

From the Visual SLAM book, p.129

What makes up a good feature?

Good features should have the following properties:

  1. Repeatability: The same feature can be found in different images
  2. Distinctiveness: Different features have different expressions
  3. Efficiency: In the same image, the number of feature points should be far smaller than the number of pixels
  4. Locality: The feature is only related to a small image area

A feature point is composed of two parts:

  1. Keypoint
  2. Descriptor

What a Feature Point really is...

So when we say “calculate SIFT feature points in an image”, we really mean “extract SIFT key points and calculate the SIFT descriptors“.

1 - Keypoint

The keypoint refers to the 2D position of the feature point.

2 - Descriptor

According to some handcrafted rules, the descriptor is usually a vector, describing the information of the pixels around the key point. The descriptor should be designed according to the principle that features with similar appearance should have similar descriptors. Therefore, as long as the two features’ descriptors are close in vector space, they can be considered the same feature.

Some implementations:

According to the author’s experiment in the paper, extracting about 1000 feature points in the same image takes about 15.3ms for ORB, 217.3ms for SURF, and 5228.7ms for SIFT.

  • Thought this this uses CPU
  • Should try SIFT with GPU