'3D point cloud matching

I have a 3D point cloud and I would like to match different point clouds with each other for recognition purposes. Does OpenCV or Tensorflow do it for me? if yes, how?

Example:

src1 = pointCloud of object 1
src2 = pointCloud of object 2
compare(src1, src2)

Output: Both point clouds are of the same object or different objects.

I want to achieve something like this. Please help with some ideas or resources.



Solution 1:[1]

OpenCV Surface Matching can be used to detect and find pose of a given point cloud within another point cloud.

In Open3d there is a 3d reconstruction module, but it is used to register (find poses) of RGBD Images and reconstruct 3d object from them. But there is a sub step in which different point cloud fragments are registered (finding pose of point clouds) to combine them into a single point cloud for reconstruction. But not sure if it is useful for your task.

There are many 3d Point cloud object detection methods which use neural networks, as well, but you have to generate the data needed to train, if your objects are not available in a standard dataset.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 SFA