Skip to content

mejhana/SurfaceRegistration

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Surface Reconstruction using Iterative Closest Point (ICP)

In this project we reconstuct the surface of a bunny rabbit from meshes captured from 6 different angles: 0, 45, 90, 180, 270 and 315. Using the algorithm, the 6 meshes are merged into one.

Overview

A few points are sampled from each mesh and correspondences between are established using 1-nearest neighbour. The rotation R and translation t matrices are calculated by an optimization algorithm—

  1. Point-to-Point ICP: This variant of the algorithm minimizes the sum of squared distances between corresponding points in the two point clouds A and B.
  2. Point-to-Plane ICP: This variant minimizes the distances between points and the corresponding (found using the normals of point cloud A) fitted to the other point cloud B. reference: Low, Kok-Lim. (2004). Linear Least-Squares Optimization for Point-to-Plane ICP Surface Registration. @see Low, Kok-Lim. (2004)

The manually implemented code helps understand the inner workings of ICP.

Running the code

  1. Open the project directory
  2. run poetry install and poetry shell to set up the environment and install dependencies.
  3. run python3 icp.py to run the code
  4. feel free to change method to either point-to-point or point_to_plane and play with max_iterations and threshold.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages