'PCL RANSAC model fitting: How can I initialise the model parameters?

I'm reading the PCL tutorial on plane segmentation, because I want to find 3D circles in a very large and dense point cloud I have.

I know already the approximate values for center, radius and orientation of the circle, but I have found no way so far to inform the SACSegmentation object of this fact. I could also name 3 inliers to compute initial values on, but I also don't find a way to do this.

My pointcloud is extremely large (10-20M points), so just random samples will likely be prohibitive, especially since I know already more or less what the parameter values should be and only want to optimize them.

Question: How can I set the starting point of the Sample Consensus optimization procedure?



Solution 1:[1]

To segment and optimize model

  1. Set SACSegmentation::setOptimizeCoefficients(true)
  2. Use SACSegmentation::segment which takes in an initial guess (or the final model to segment using iff optimize coefficients is set as false)

You can provide you guess here. Depending on optimization method used, you can reduce the computational load.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Kunal Tyagi