Abstract: We consider the problem of matching a pair of point sets, each consists of k clusters, where each cluster in the first set is arbitrarily translated with additional noise, resulting in a cluster of the second point set. The goal is to compute k translations and a matching that minimizes the sum of squared distances between corresponding pairs of points. This is a fundamental problem for tracking systems (e.g., OptiTrack or Vicon) where the user registers k objects (rigid bodies) by attaching a set of markers to each object. Based on the position of these markers in real time, the system estimates the position of the moving objects by simultaneously clustering, matching, and transforming the n observed markers to the k objects. Similarly, an autonomous robot equipped with a camera may estimate its position by tracking n visual features from k recognized objects. The result can be used as a seeding clustering for existing algorithms, e.g., to compute the optimal rotation on each cluster. We suggest the first provable algorithm for solving this point matching problem. Unlike common heuristics, it yields a constant factor approximation for the global optimum in expected O(n2 log n) time. We validate our theoretical results with experimental results using low cost (<;$30) “toy” quadcopters that are safe and lawful for indoor navigation due to their <;200 g weight. Comparisons to existing algorithms and commercial system are provided, together with open source code and a demonstration video.
Loading