drsrinathsridhar / GRANSAC

Multi-threaded generic RANSAC implemetation
MIT License
306 stars 92 forks source link

Point cloud registration? #6

Closed antithing closed 5 years ago

antithing commented 5 years ago

Hi, and thank you for making this code available. I am looking for a very fast way to match points between two point clouds, would this lib be suitable?

Is there any example code around for this kind of task?

Thanks again

drsrinathsridhar commented 5 years ago

I don't know your exact use case (e.g., how many points you have, what is "fast" enough for you, etc.) GRANSAC uses multiple threads so it should be fairly fast.

I don't have any benchmarks though.

antithing commented 5 years ago

Thanks! Would there be any example code around to illustrate how to use GRANSAC for point cloud registration?

drsrinathsridhar commented 5 years ago

GRANSAC it self cannot do registration. RANSAC is only an outlier removal method. For registration you will need to use an alignment algorithm. Please see https://stackoverflow.com/questions/29777238/ransac-like-implementation-for-arbitrary-2d-sets

antithing commented 5 years ago

Thank you. So to find correspondences in two clouds, do I create a Model class based on one cloud, and pass it into your code? If you have a minute to point me in the right direction, it would be very much appreciated. Thanks again.

drsrinathsridhar commented 5 years ago

Yep, that's a good start. Please see Point2D example. You would need to implement Point3D and add some add a distance measurement metric.