-
-
Notifications
You must be signed in to change notification settings - Fork 4.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a part of the new rigid registration method [FRICP] #6199
base: master
Are you sure you want to change the base?
Conversation
Hello, thanks for the pull request. A few things:
I assume you mean
I am not completely sure what you mean with this. Would you have to duplicate code from this pull request to |
Please update the license as per https://pcl.readthedocs.io/projects/tutorials/en/latest/writing_new_classes.html#licenses and use the |
Thanks for your reply. I will modify them as you said.
In cases where the two point clouds used for registration have partial overlap or noise, our robust ICP algorithm can achieve higher accuracy compared to traditional ICP algorithms. On one hand, this is due to using the Welsch function instead of the L2-norm as the objective function. It reduces the impact of outliers, which is similar to the idea that ICP uses a distance threshold to filter outlier points, but it can achieve better results by giving each correspondence a different threshold instead of just 0,1. On the other hand, the Welsch function can provide a coarse-to-fine result by adjusting parameters (
By default, it will be set based on the maximum distance between corresponding points. This means it has the same effect as setting
In our method, an important part is that the parameters of the Welsch function can be adaptively adjusted. During the iteration process, the parameter |
Hi, thanks for the suggestions of the contributor (#6061 (comment)), I added a class,
TransformationEstimationPointToPointRobust
, which contains the implementation of the robust ICP part of the FRICP (https://github.com/yaoyx689/Fast-Robust-ICP).Compared with
TransformationEstimation
, I added a parameter setting function, because its adaptive setting is very important for the results. If there is no additional setting for the parameter, I define a default setting.If possible, I hope to add a
FastRobustIterativeClosestPoint
class later, similar toIterativeClosestPoint
, to perform adaptive parameter adjustment and pass it into theTransformationEstimationPointToPointRobust
class.Furthermore, for Anderson acceleration, it is not enough to just create an accelerated class of
TransformationEstimation
. The iterative process needs to be modified. If possible, these parts can also be organized inFastRobustIterativeClosestPoint
.