Surface registration is a fundamental step in the reconstruction of three-dimensional objects. This is typically a two-step process where an initial coarse motion estimation is followed by a refinement step that almost invariably is some variant of Iterative Closest Point (ICP), which iteratively minimizes a distance function measured between pairs of selected neighboring points. The selection of relevant points on one surface to match against points on the other surface is an important issue in any efficient implementation of ICP, with strong implications both on the convergence speed and on the quality of the final alignment. This is due to the fact that typically on a surface there are a lot of low-curvature points that scarcely constrai...