Go-ICP: A Globally Optimal Solution to 3D ICP Point-Set Registration
About
The Iterative Closest Point (ICP) algorithm is one of the most widely used methods for point-set registration. However, being based on local iterative optimization, ICP is known to be susceptible to local minima. Its performance critically relies on the quality of the initialization and only local optimality is guaranteed. This paper presents the first globally optimal algorithm, named Go-ICP, for Euclidean (rigid) registration of two 3D point-sets under the L2 error metric defined in ICP. The Go-ICP method is based on a branch-and-bound (BnB) scheme that searches the entire 3D motion space SE(3). By exploiting the special structure of SE(3) geometry, we derive novel upper and lower bounds for the registration error function. Local ICP is integrated into the BnB scheme, which speeds up the new method while guaranteeing global optimality. We also discuss extensions, addressing the issue of outlier robustness. The evaluation demonstrates that the proposed method is able to produce reliable registration results regardless of the initialization. Go-ICP can be applied in scenarios where an optimal solution is desirable or where a good initialization is not always available.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Point cloud registration | 3DMatch (test) | Registration Recall22.9 | 339 | |
| Point cloud registration | ModelNet40 (Unseen categories) | RMSE (Rotation)12.533 | 36 | |
| Point cloud registration | ModelNet40 (test) | Inference Time (s)15.0124 | 24 | |
| 3D Point Cloud Registration | 3DMatch | Translation Error (cm)14.7 | 20 | |
| Point cloud registration | ModelNet40 with Gaussian noise (test) | MSE (R)131.2 | 6 | |
| Point cloud registration | ModelNet40 v1 (test) | MSE (R)140.5 | 6 |