WangYueFt / dcp

346 stars 90 forks source link

The performance decreases dramatically if the point cloud sampling is changed #27

Open abc-def-g opened 1 year ago

abc-def-g commented 1 year ago

Currently, the first point cloud is randomly sampled from the ground-truth point cloud. And the second point cloud is rotated and translated from the first point cloud as indicated by the following line of code. These two point clouds have an exact one-to-one correspondence and the relative point distribution in each local neighborhood is exactly the same. I have tried to randomly sample the second point cloud from the rotated and tranlated ground-truth point cloud, which is a more practical scenario since we should not expect the point clouds for registration have an exact one-to-one correspondence, and the performance decreases dramatically.
This issue should draw the attention of the authors: this issue in some degree indicates that the network may not learn to do the registration, but learn to recognize the relative local point distribution.

https://github.com/WangYueFt/dcp/blob/bcd7deff0020de4be4db62cb953980d7b4f3a28c/data.py#L113

abc-def-g commented 1 year ago

@WangYueFt Any response to this issue?

cherwinsd commented 1 year ago

I also found this problem in another point cloud registration network. When using a rigid transformation network that is different from the training network during testing, the registration performance will decrease significantly, or even fail to register the point cloud. Have you found any reason for this

lkccu commented 1 year ago

As far as I can tell, the ICP-based approach assumes one-to-one point correspondence, which seems to be the reason it doesn't extend to the scenario you mentioned. You can try a CpD-based approach.