Qwiki

Geometric Hashing







Geometric Hashing

Geometric hashing is a computational technique used primarily in the realms of computer vision and computational geometry for the purpose of recognizing two-dimensional and three-dimensional objects. It is particularly effective for identifying objects that have undergone transformations such as scaling, rotation, and translation, and it can handle mirror transformations as well.

Background and Implementation

The core idea behind geometric hashing involves the encoding of objects through the selection of a geometric basis. Each object is represented by a set of discrete points, and these points are organized into pairs or tuples to form a basis. This basis allows for the creation of a hash table that stores indices of the objects, making it efficient to retrieve the object once it is transformed.

Steps in Geometric Hashing

  1. Preprocessing (Offline Stage):

    • Objects are encoded by choosing a set of basis points. For each pair of points, the relative coordinates of other points are computed with respect to this basis.
    • A hash table is constructed, where the keys are the basis-relative coordinates, and the values are references to the objects or the basis pair.
  2. Recognition (Online Stage):

    • When a query object is presented, basis pairs are similarly chosen.
    • The relative coordinates of the remaining points are computed.
    • This information is used to look up potential matches in the hash table.
    • The algorithm can efficiently find all instances of the object under various transformations by comparing hash values.

Geometric hashing is robust to noise and partial occlusion, making it valuable in practical applications where objects may not be fully visible or might be distorted.

Applications

While initially developed for object recognition, geometric hashing has been extended to other fields, including:

  • Structural Alignment in Bioinformatics:
    • Geometric hashing is used in protein structure alignment, where it assists in determining similarities between protein configurations.
  • Astrometry:
    • It aids in the identification of stellar patterns in astronomy, helping in the cataloging and analysis of celestial bodies.

Related Concepts

  • Affine Transformation: A type of transformation that includes scaling, translation, and rotation.
  • Object Recognition: The process of identifying and classifying objects within an image or sequence of images.
  • Hash Function: A function that converts an input (or 'message') into a fixed-size string of bytes.
  • Perceptual Hashing: A technique used to create a hash value representing the essence of an image.

Geometric hashing remains a powerful tool in both theoretical study and practical application, bridging the gap between mathematical theory and real-world problem-solving in complex systems.