Open3d: Global registration fails on my data

Created on 24 Jul 2018  ·  4Comments  ·  Source: intel-isl/Open3D

When I run global registration python script on my point clouds, I only get a blank white viewer with no data visualized.

What could be the reason for this failure? I am attaching my point cloud data, could someone please take a look.

Thanks in advance.
data.zip

question

Most helpful comment

It is because the point clouds are too tiny. The tutorial code is intended for the space using metric unit: 1 means 1m. However, the horizontal/vertical span of your point cloud is about 0.00035. If you directly reuse the tutorial code, this means you are using point clouds spanning only 0.035mm.

In this case, since the tutorial code downsamples point using voxels of few centimeters size, all the points are being inside to a single voxel. As a result, only a single point will remain after downsampling. That's why you observed nothing (actually there should be a single point after downsampling)

In summary, you can try one of the following things:

  • Try tune parameters in the tutorial script according to your point cloud
  • Rescale point clouds.

All 4 comments

Once I changed to voxel_size = 0.00001, my point clouds were able to be globally registered. I had a question regarding the result of the global registration. Are these return values correct or is there scope for further improvement.

global registration

It is because the point clouds are too tiny. The tutorial code is intended for the space using metric unit: 1 means 1m. However, the horizontal/vertical span of your point cloud is about 0.00035. If you directly reuse the tutorial code, this means you are using point clouds spanning only 0.035mm.

In this case, since the tutorial code downsamples point using voxels of few centimeters size, all the points are being inside to a single voxel. As a result, only a single point will remain after downsampling. That's why you observed nothing (actually there should be a single point after downsampling)

In summary, you can try one of the following things:

  • Try tune parameters in the tutorial script according to your point cloud
  • Rescale point clouds.

Perfect, thanks for your response. I'll try your suggestions.

It is because the point clouds are too tiny. The tutorial code is intended for the space using metric unit: 1 means 1m. However, the horizontal/vertical span of your point cloud is about 0.00035. If you directly reuse the tutorial code, this means you are using point clouds spanning only 0.035mm.

In this case, since the tutorial code downsamples point using voxels of few centimeters size, all the points are being inside to a single voxel. As a result, only a single point will remain after downsampling. That's why you observed nothing (actually there should be a single point after downsampling)

In summary, you can try one of the following things:

  • Try tune parameters in the tutorial script according to your point cloud
  • Rescale point clouds.

Can verify that the white blank screen gets fixed by adjusting depth_trunc parameter in create_rgbd_image_from_color_and_depth

Was this page helpful?
0 / 5 - 0 ratings