Multiview Levenberg-Marquardt ICP

I just open-sourced my project mv-lm-icp. The main ideas are described in the technical paper Multiview ICP. The project was developed as a follow-up to my bachelor’s thesis as a working student at CAMP chair and Siemens CT. I think the code serves as a good example as well as starting point for other projects, demonstrating:

  • how one can use Ceres Solver to model common ICP cost functions easily
  • how to employ different rotation parameterizations


The Iterative Closest Point (ICP) Algorithm extended to the multiview setting. Point-to-point and point-to-plane metrics as well as different rotation parameterizations are implemented. In contrast to the pairwise setting, there are no closed-form solutions that minimize these cost functions in the multiview setting, but using Ceres Solver we can minimize them easily using Nonlineaer Least Squares Algorithms such as Levenberg Marquardt. We evaluate our algorithm quantitavely in terms of speed and accuracy against the closed-form solutions that only exist in the special case of the pairwise setting. For the multiview setting, we provide qualitative results from a sample dataset in a small 3D-viewer.

Written on October 27, 2016