From my knowledge if you fit geometrical objects into point clouds you want in general minimize the squared distances of the point cloud to your fitted objects. I do so with the downhill simplex method by minimizing the average squared distance. I fit cylinders. In rare input scenarios I end up having not good fitted cylinders - detected by visual validation. Those cylinders have one thing in common. Their axis is not perpendicular to the points's normals. I can modify my error term by multiplying the squared distance of a point to a cylinder with the cosinus of the angle between the point's normal and the cylinder axis. This cosinus is 1 in the worst case and 0 in the best case.

I am looking for a name of this technique and/or publications. I think the most generic formualtion of what I am doing would be:

Modify the squared euclidean distance between input and output accounting to a change in curvature.

  • $\begingroup$ Do you mean that in your data the points have specified normals ? In that case, you may add to your objective function the deviation between the datapoint's normal and the cylinder's nearest point normal (probably times a scaling factor that you need to make independent on the object's size). $\endgroup$
    – BrunoLevy
    Sep 20, 2016 at 15:24
  • $\begingroup$ @brunoLevy I compute for my 3D cloud before the optimization the normals with standard technique. Range search to retrieve a local neighborhood cluster, perform PCA and take the eigenvector with the smallest eigenvalue. I also have the axis and can compute the described cosinus/angle. My question is more about how this technique is called (I just assume I reinvented the wheel today) to be able to find some references to a) improve the technique and b) give a proper citation. $\endgroup$ Sep 20, 2016 at 15:44
  • $\begingroup$ There are two papers that could be interesting: the first one (variational shape approximation), with what you need (maybe L1,2 norm) geometry.caltech.edu/pubs/CAD04.pdf The second one combines positions and normals for reconstructing shapes: gfx.cs.princeton.edu/pubs/Nehab_2005_ECP $\endgroup$
    – BrunoLevy
    Sep 20, 2016 at 16:32
  • $\begingroup$ Do you mean the "Nelder-Mead" Simplex method? That horrendous algorithm should have been put out of its misery several decades ago. $\endgroup$ Sep 20, 2016 at 23:42
  • $\begingroup$ Are you refering to Iterative Closest Point by Besl and McKay (1992), "A Method for Registration of 3-D Shapes" ? $\endgroup$
    – André
    Sep 21, 2016 at 11:15

1 Answer 1


I think what your looking for is a good parameterization of cylinder, as well as a fast scheme for performing gradient descent minimization, similar to iterative closest point.

While many papers are available, I would redirect you to this particular one:

Drost, Bertram, and Slobodan Ilic. "Local Hough Transform for 3D Primitive Detection." 3D Vision (3DV), 2015 International Conference on. IEEE, 2015.

There, authors devise a scheme for detection, as well as refinement of the cylinders, with a new parameterization. The approach doesn't use the point normals, however I believe that such a treat would be appropriate. Yet, it is found to be effective enough, when one uses a point-to-primitive distance.

I'm sure you'll find it useful.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.