Iterative Closest Point (ICP) Implementation

Course Project at UCL

Implementation of the 3D ICP algorithm, as well as some of its variants, affecting the speed/accuracy. The results were visualized for a better understanding of the registration.

Challenges

  • Learning how to use the provided framework.
  • Learning about the registration process.

Technologies

  • Eigen
  • LibANN
  • GLFW
  • OpenGL

Languages

  • C++

Project Details

The Iterative Closest Point algorithm is a general purpose algorithm intended to match various geometrical primitives. In this assignment, the 3D ICP algorithm was implemented, as well as some of its variants, affecting the speed/accuracy. We use the algorithm to match multiple scanned point cloud set versions (from different degrees  0,45,90,135,..) of the famous Stanford Bunny Model. The algorithm is utilized, in order to move a model M2 (45 degrees) towards model M1 (0 degrees) by estimating the optimal transformation (output of ICP). The results are visualized for a better understanding of the registration.

Images