zhangxy0517 / 3D-Registration-with-Maximal-Cliques

Source code of CVPR 2023 paper
MIT License
446 stars 52 forks source link

Wrong registration results. What can I do? #47

Closed JzHuai0108 closed 3 months ago

JzHuai0108 commented 5 months ago

Thank you for open sourcing the program. I am using it to register two point clouds as attached. We also provide the reference result obtained by hand in cloudcompare.

a.zip

The result from MAC is like below

 -0.830348  -0.548407 -0.0988551    2.30432
  0.556168  -0.826622 -0.0858629    17.6757
 -0.034628  -0.126276   0.991391  -0.354262
         0          0          0          1

whereas the reference solution is

   -0.2292    0.9671    0.1106 5.904616
   -0.9731   -0.2250   -0.0486 -1.646853
   -0.0221   -0.1188    0.9927 -0.220632

What can I do to get good results?

Note with this program's demo sample data, I see the registration result is also wrong, though the resulting pose is exactly as written in the readme.

zhangxy0517 commented 5 months ago

For sparse LiDAR point clouds, the parameter of radius search in the FPFH_descriptor function should be set larger (e.g., 10*resolution), and the transformation result will be -0.219892 0.970453 0.0993442 5.97492 -0.974923 -0.215038 -0.0573123 -1.70108 -0.0342562 -0.109455 0.993401 -0.228692 0 0 0 1

JzHuai0108 commented 5 months ago

Thank you for the hint. The result looks good. I will try to reproduce it soon.

JzHuai0108 commented 3 months ago

I enlarged the FPFH descriptor radius to 50 times of the resolution, the transformation result got correct. Thank you for the tip.