Reputation: 77
I have looked for how to implement Generalized ICP(GICP) with PCL. I found a sample code in test/registration/test_registration.cpp in PCL repository on github. The sample code uses GICP as following. Could you tell me following procedure is correct one to use GICP with PCL?
The fucntion "align" is a function of IterativeClosestPoint class. It means that "align" does not consider point-to-plane that AV Segal et al refer in their paper. I'm wondering if this is a correct procedure to use GICP with PCL. In addition, I don't know why PCL does not provide us sample codes which use estimateRigidTransformationBFGS the metod of GeneralizedIterativeClosestPoint class.
GeneralizedIterativeClosestPoint<PointT, PointT> reg_guess;
reg_guess.setInputSource (src);
reg_guess.setInputTarget (transformed_tgt);
reg_guess.setMaximumIterations (50);
reg_guess.setTransformationEpsilon (1e-8);
reg_guess.align (output, transform.matrix ());
Upvotes: 3
Views: 3600
Reputation: 3
Actually, align function calls estimateRigidTransformationBFGS
in its internal. the function call sequence is Registration::align()->GeneralizedIterativeClosestPoint::computeTransformation()->GeneralizedIterativeClosestPoint::rigid_transformation_estimation_().computeTransformation()
is a pure virtual function in Registration class and is implement in GeneralizedIterativeClosestPoint class finally;rigid_transformation_estimation_()
is bind to estimateRigidTransformationBFGS()
in GeneralizedIterativeClosestPoint
Construction function. So there is no need to call estimateRigidTransformationBFGS()
by ourself.
Upvotes: 0
Reputation: 221
Check this article https://ieeexplore.ieee.org/document/7271006
Registration with the Point Cloud Library: A Modular Framework for Aligning in 3-D, Dirk Holz; Alexandru E. Ichim; Federico Tombari; Radu B. Rusu; Sven Behnke
They show an example of using GICP
Upvotes: 0
Reputation: 77
I found the usage! Autonomous system lab in ETH Zurich opens it in their github repository. Please check robust_point_cloud_registration!
Upvotes: 4