Page 401 -
P. 401

Section 12.1  Registering Rigid Objects  369


                            the index of this point depends on j, but also on the particular transformation
                            (s, θ, t). Write the index of the closest such point c(i, (s, θ, t)). Assume we have an
                            estimate of the transformation (s, θ, t) (n) . Then, we could refine this estimate by
                            iterating: (a) transforming the points of S; (b) for each, finding the closest point
                            in T ; and (c) re-estimating the transformation with least squares. This yields an
                            iterative algorithm, due to Besl and McKay (1992), known as the iterated closest
                            points algorithm (which is described in greater detail in Section 14.3.2). It should
                            be clear that the algorithm can converge to the right answer.
                                 In practice, it usually does. Two points can help improve its behavior. First,
                            the re-estimation procedure does not need to converge to make the algorithm use-
                            ful. For example, rather than fully re-estimating the transformation, we could do a
                            single step of gradient descent. This will improve the transformation slightly, and
                            should change the corresponding closest points. Second, we do not need to incor-
                            porate all points in the minimization process. In particular, if the closest point is
                            relatively far away, it might be better to omit it from the least squares for the next
                            step. Doing so will help ensure the algorithm is robust.
                                 You should regard this more as an algorithmic template than an algorithm;
                            numerous features can be changed successfully. For example, it could be speeded
                            up with care in data structures to keep track of the closest points. As another ex-
                            ample, an alternative strategy to obtain robust behavior is to replace the squared
                            error term with an M-estimator. In fact, this algorithm does not require that both
                            S and T be point sets. For example, it is relatively straightforward to adapt to
                            the case where S is a mesh and T is a point set (Besl and McKay 1992). Fur-
                            thermore, there is good evidence that the objective function in (s, θ, t)thatwe are
                            minimizing is quite well-behaved in practice. For example, even though it is not
                            differentiable (because the closest point changes, leading to step changes in the
                            derivative), second-order methods such as Newton’s method or LBFGS actually
                            behave rather well in practice (Fitzgibbon 2003).

                     12.1.2 Searching for Transformations via Correspondences
                            Iterated closest points repeatedly re-estimates a correspondence between source
                            and target points, then uses it to estimate a transformation. As we have seen,
                            this search might encounter numerous local minima. One alternative is to search
                            the space of correspondences. This might seem unpromising, because there appear
                            to be a lot of correspondences, but in the case of rigid objects a relatively small
                            set of correspondences is enough to register the whole object. Another advantage
                            of thinking about correspondences directly is that we can then work in terms of
                            tokens, rather than points. For example, we might place line-segments, corners, or
                            even point-like features such as blobs in correspondence; the type of the token can
                            sometimes change details, but has little effect on the overall algorithmic approach.
                                 Quite a small group of source tokens, placed in correspondence with target
                            tokens, is enough to estimate a transformation. The size of the group depends
                            somewhat on the transformation and on the tokens. We refer to a group of tokens
                            from which a transformation could be computed as a frame-bearing group (some-
                            times frame group for short). Table 12.1 gives some examples of frame-bearing
                            groups for the 2D to 2D case, and Table 12.2 gives some examples for the 3D to
   396   397   398   399   400   401   402   403   404   405   406