3

I have two point clouds, in 3d coordinates. One is a subset of the other, containing many less points. They are in the same scale.

What i need to do is find the translation and rotation between the two. I have looked at Point cloud Library, "Iterative closest point", and Coherent Point Drift, but these matching approaches both seem to expect the two point sets to contain mostly the same points, not have one be a smaller, subset of the other.

Can i use either of these, with adjustments? Or is there another algorithm to match a subset point cloud to a set?

Thank you.

anti
  • 3,011
  • 7
  • 36
  • 86
  • You need enough equal points in both point clouds as correspondence to find a translation and rotation. You can't use these approaches with a subset which has no intersection. – bashbug Mar 26 '17 at 23:00
  • Thanks for your comment. It is a literal subset, as in, it contains some of the points from the Set. – anti Mar 27 '17 at 09:29

1 Answers1

1

Without having access to sample data, is kind of hard to recommend you a specific registration algorithm.

However, I'm pretty exicted nowdays about all the new "data-driven" registration approaches.

From my personal experience, I'm having awesome registration results using the approach of this recent paper:

https://arxiv.org/abs/1603.08182

Wich has source code avaliable here:

https://github.com/andyzeng/3dmatch-toolbox

As reported in the paper, it outperforms pcl-descriptor based registration approaches and I think that it may be suitable for your needs.

David de la Iglesia
  • 2,436
  • 14
  • 29
  • Thank you. I am on windows, so cannot use that library sadly. Have you come across any point matching approaches that will work in real time? i am having trouble finding something that can handle set to subset, and will run in real time (<30ms) – anti Mar 27 '17 at 13:03