Point pattern matching is an important problem in computational geometry, with applications in areas like computer vision, object recognition, molecular modeling, and image registration. Traditionally, it has been studied in an exact formulation, where the input point sets are given with arbitrary precision. This leads to algorithms that typically have running times of the order of high-degree polynomials, and require robust calculations of intersection points of high-degree surfaces.We study approximate point pattern matching, with the goal of developing algorithms that are more efficient and more practical than exact algorithms. Our work is motivated by the observation that in practice, data sets that form instances of pattern matching problems are noisy, and so approximate formulations are more appropriate.We present new and efficient algorithms for approximate point pattern matching in two and three dimensions, based on approximate combinatorial distance bounds on sets of points, and via the use of methods from combinatorial pattern matching. We also present an average-case analysis and a detailed empirical study of our methods.
Introduction.Given point sets P and Q, the problem of pattern matching is to determine whether P is similar to some portion of Q. Similarity is typically defined in terms of a distance measure, and P and Q may undergo transformations like rotations, translations, and scaling before the distance between them is computed. This general formulation captures a wide variety of problems, arising in image registration [33], model-based object recognition [4], [21], computer vision [35], molecular modeling [27], and many other areas.In the domain of computational geometry, these problems were mostly studied in an exact formulation: point coordinates are given with infinite precision, and two points match if their coordinates are identical. The disadvantage with this formulation is twofold: Firstly, this is an inaccurate representation of reality, where the input points are typically noisy, and any match requires some notion of a tolerance parameter. Secondly, the algorithms designed to compute similarity were complex, with running times in the order of large polynomials, and required sophisticated algebraic manipulation of high-degree manifolds in a robust fashion.This provides the motivation for approximate pattern matching. In an approximate setting, one might replace points by balls of radius ε (where ε is a tolerance parameter)