Today I read a paper titled “Real-time 3D scene description using Spheres, Cones and Cylinders”
The abstract is:
The paper describes a novel real-time algorithm for finding 3D geometric primitives (cylinders, cones and spheres) from 3D range data.
In its core, it performs a fast model fitting with a model update in constant time (O(1)) for each new data point added to the model.
We use a three stage approach.The first step inspects 1.5D sub spaces, to find ellipses.
The next stage uses these ellipses as input by examining their neighborhood structure to form sets of candidates for the 3D geometric primitives.
Finally, candidate ellipses are fitted to the geometric primitives.
The complexity for point processing is O(n); additional time of lower order is needed for working on significantly smaller amount of mid-level objects.
This allows the approach to process 30 frames per second on Kinect depth data, which suggests this approach as a pre-processing step for 3D real-time higher level tasks in robotics, like tracking or feature based mapping.