Closed wangzixiang99 closed 1 year ago
I assume that you are testing the official open3d code using the colored_icp.py script provided in this repository.
I have tested your data, and the reason why this python script can produce a better result is that it is following a 3-step coarse-to-fine registration pipeline. In other words, this script register the two point clouds from a larger resolution to a smaller resolution for 3 times.
As for the color_icp algorithm, the implementation in this repository and the implementation in open3d library are exactly the same. The latter is called in this line by the python script.
This is to say that if you follow the same coarse-to-fine scheme to run the C++ code in this repository 3 times using the same voxel size (and other parameters etc. as in the python script), you will have the same result. (Unfortunately this was not provided by this repository, but you can modify the code as you like.) Alternatively, you can remove the coarse-to-fine scheme in the python script and let it run only once with a fixed voxel size, you will have the same result as in the C++ code.
I assume that you are testing the official open3d code using the colored_icp.py script provided in this repository.
I have tested your data, and the reason why this python script can produce a better result is that it is following a 3-step coarse-to-fine registration pipeline. In other words, this script register the two point clouds from a larger resolution to a smaller resolution for 3 times.
As for the color_icp algorithm, the implementation in this repository and the implementation in open3d library are exactly the same. The latter is called in this line by the python script.
This is to say that if you follow the same coarse-to-fine scheme to run the C++ code in this repository 3 times using the same voxel size (and other parameters etc. as in the python script), you will have the same result. (Unfortunately this was not provided by this repository, but you can modify the code as you like.) Alternatively, you can remove the coarse-to-fine scheme in the python script and let it run only once with a fixed voxel size, you will have the same result as in the C++ code.
Thank you for your guidance. I have verified your idea. You are right. 1、Finally, I would like to ask you the difference between the classic (ClassicICPRegistration) algorithm and the PCL_ICP algorithm. 2、Between the implementation in this repository and the implementation in open3d library , you just reproduced the color_icp algorithm encapsulated in the open3d library with C++ code, right? 3、Is there any official implementation of the algorithm proposed in the original paper? I want to modify the source code of the algorithm to improve the effect. Where can I find the underlying formula implementations? I can't find it.
Hello, thank you very much for your guidance.
I used the color_icp algorithm of your recurrence, but the effect of using your algorithm on my dataset is worse than that in official open3d. I don't know why this problem occurs.
This is the download link of my own dataset. If you can, you can download and try it. I can get good results in the official open3d code, but I can't get the same results in your code. If you can get the same results as the open3d official after trying, please tell me how to implement it. Thank you very much.
my own dataset: https://github.com/wangzixiang99/file/tree/main
I'm sorry to have taken up your time. I look forward to your reply.