Interest point detection

Interest point detection is a recent terminology in computer vision that refers to the detection of interest points for subsequent processing. An interest point is a point in the image which in general can be characterized as follows:[1][2]

  • It has a clear, preferably mathematically well-founded, definition,
  • It has a well-defined position in image space,
  • The local image structure around the interest point is rich in terms of local information contents (e.g.: significant 2D texture[3]), such that the use of interest points simplify further processing in the vision system,
  • It is stable under local and global perturbations in the image domain as illumination/brightness variations, such that the interest points can be reliably computed with high degree of repeatibility.
  • Optionally, the notion of interest point should include an attribute of scale, to make it possible to compute interest points from real-life images as well as under scale changes.

Historically, the notion of interest points goes back to the earlier notion of corner detection, where corner features were in early work detected with the primary goal of obtaining robust, stable and well-defined image features for object tracking and recognition of three-dimensional CAD-like objects from two-dimensional images. In practice, however, most corner detectors are sensitive not specifically to corners, but to local image regions which have a high degree of variation in all directions. The use of interest points also goes back to the notion of regions of interest, which have been used to signal the presence of objects, often formulated in terms of the output of a blob detection step. While blob detectors have not always been included within the class of interest point operators, there is no rigorous reason for excluding blob descriptors from this class. For the most common types of blob detectors (see the article on blob detection), each blob descriptor has a well-defined point, which may correspond to a local maximum, a local maximum in the operator response or a centre of gravity of a non-infinitesimal region. In all other respects, the blob descriptors also satisfy the criteria of an interest point defined above.

Applications

In terms of applications, the use of corner detection and blob detection are also overlapping. Today, a main application of interest points is to signal points/regions in the image domain that are likely candidates to be useful for image matching and view-based object recognition. For this purpose, several types of corner detectors and blob detectors have been demonstrated to be highly useful in practical applications (see respective articles for references). Blob detectors and corner detectors have also been used as primitives for texture recognition, texture analysis and for constructing 3D models from multiple views of textured objects.

If one aims at drawing a distinction between corner detectors and blob detectors, this can often be done in terms of their localization properties at corner structures. For a junction structure in the image domain that corresponds to an intersection of physical edges in the three-dimensional world, the localization properties of a corner detector will in most cases be much better than the localization properties that would be obtained from a blob detector. Hence, for the purpose of computing structure and motion from multiple views, corner detectors will in many cases have advantages compared to blob detectors in terms of smaller localization error. Notwithstanding this, blob descriptors have also been demonstrated to be useful when relating object models to temporal imagery.

In terms of concepts, there is also a close relationship between the notion of interest points and ridge detectors, which are often used to signal the presence of elongated objects. Moreover, with regard to features that extend along one-dimensional curves in image space, there is the related notion of edge detectors which satisfy similar requirements in terms of operational definitions, well-defined extent, locally high information contents and repeatability.

gollark: WHYJIT is *really* fast since all it does is stick GCC and your code into a shellscript together.
gollark: Yes.
gollark: The WHY which esobot supports is the nonJIT version.
gollark: WHY (the compiler) is very fast. Code it outputs is not fast.
gollark: Basically, the WHYJIT compiler reads your code, adds a busy loop and makes a shellscript containing that code and the entire C compiler which, when run, unpacks the C compiler, uses it to compile the C, and executes the output.

See also

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.