Keypoint detection (extraction), feature description, and finally matching are closely related topics in computer vision. Applications that use keypoints range from panorama creation to three-dimensional reconstruction, from visual odometry to object tracking, and many other use cases.
The concept of a keypoint reflects the fact that not all image points, but only some of them, have a high probability of being identified unambiguously during matching. These are distinctive, stable points that are easy to locate. Over the last decade, as in almost every field of computer vision, significant progress has been made in developing local invariant features: keypoints that allow applications to define local image geometry and encode it in a way that is invariant to image transformations such as translation, rotation, scaling, and affine deformations.
This chapter covers techniques for detecting keypoints. Point description and matching strategies are discussed in greater detail in subsequent chapters.
A non-exhaustive list of algorithms for detecting keypoints is