I have 2 3D point cloud data sets in cartesian coordinates. They both represent a similar shaped object but are in different positions (one is translated and rotated with respect to the other). I need to write a program to effectively register one to the other. In order to do this, I need an algorithm to determine the "closeness" one is to the other... The points are not paired and since I am dealing with millions of points, it is not possible to measure the distance of each point to all the others. Any thoughts or direction will help!
my first thought is find the center of each cloud and move both clouds to the origin. next, maybe find the principle axis of both clouds ?
That where I was planning on starting from. I would really like the outer surface of the clouds to match as closely as possible once the program finishes
I have written some code for a centroid calculation and a 3D linear regression to start from
I assume you have done a literature search ? see https://en.wikipedia.org/wiki/Point_cloud which suggests that a lot of work has been done on this problem.
I found this paper, http://proceedings.spiedigitallibrary.org/proceeding.aspx?articleid=981454 Which is essentially what I want to do, but some of the math gets over my head.
Join our real-time social learning platform and learn together with your friends!