Andyale
Andyale

Reputation: 101

Normalizing Point Clouds for Registration and Applying Inverse Normalization

I am working on a point cloud registration problem where I want to apply the following steps:

  1. Normalize both point clouds (centering and scaling them to a unit norm).
  2. Fit a multivariate gaussina and compute the Kullback-Leibler (KL) divergence to measure the difference between two Gaussian Mixture Models (GMMs) fitted on both point clouds.
  3. Fix one point cloud and perform transformations (rotation, scaling, and translation) on the other to minimize the KL divergence.
  4. After finding the optimal transformation parameters whuch minimizes the KL divergence value, apply inverse normalization to restore the transformed point cloud to its original scale and position.

My question is:

Any insights or mathematical justifications on this approach would be greatly appreciated.

Thank you!

Upvotes: 0

Views: 97

Answers (1)

IBitMyBytes
IBitMyBytes

Reputation: 706

Translating/centering the point clouds is definitely a valid approach and will preserve their geometry (assuming you correctly factor in the initial translation in the registration result). In some cases, this must be done, for example because both point clouds are far away from the origin of the coordinate system, otherwise the convergence will be very slow or even fail completely.

Regarding scaling I would say it is application dependent whether it makes sense. If one of your clouds is much bigger than the other, I would first check whether they are in the same units. Perhaps one is in meters and the other one in millimeters? Are they from the same source? If you know there is such a constant scaling factor, I would use that (and limit the registration process to translation and rotation). I think there are only few cases where scaling based on the measured data (e.g. scaling them to a unit norm) makes sense. One case might be if you have an object model and a recorded scene, and the object model may appear in the scene in any size. So yes, very application dependent. If you describe your application and data in more detail, I can try to assess whether it makes sense in your case.

Upvotes: 0

Related Questions