0

I'm trying to extrapolate information from a set of points in a point cloud to create a much larger point cloud, based on data from other point clouds.

For the purposes of an example, the shape of the point-cloud form something like an offset parabolic 'dish', taken from the surface of a paraboloid. While there is a math formula to describe its overall shape, the data itself does not fully match the formula due to capture noise and deformation.

Following the example, the given set of data only covers the middle part of the 'dish', whereas it is desired to have the entire 'dish' in point-cloud form. There are, however, other point clouds of the same size and a similar shape with all data. Thus, the idea is to, using the complete point-clouds, extrapolate the incomplete cloud's points to fill in the missing data (under the assumption that it is the same shape, of course.) This would be done using MATLAB.

I've looked into things such as Kalman Filters, but I'm not sure that's the right algorithm as it usually operates in time-dependent conditions. I'm also thinking that the RMS between the incomplete and the complete point clouds could be useful, but it's hard to say at this stage of development.

I'm hoping that someone has thought of something like this before (and as such an algorithm already exists), or if not, what direction would be a good place to start the development of it. Would anyone happen to know?

jos
  • 149
  • 9
  • 1
    I suppose the main task here is to find the paraboloid which describes the points. I would combine all point clouds, fit a paraboloid, then use the equation to generate more points. This or you could use a [`scatteredInterpolant`](https://www.mathworks.com/help/matlab/ref/scatteredinterpolant.html) etc. You might want to explain why you want to do this the way you describe (augment partial clouds using points from other clouds), because this might not be the best approach to solving your broader problem. See also: [XY problem](http://xyproblem.info/). – Dev-iL May 13 '19 at 12:44
  • @Dev-iL The broader problem is pretty close to what I said, basically: I want to extrapolate a partial point cloud to create a full point cloud that would accurately describe the shape of the object in question. I figured that, since I have pre-existing data of what is essentially the same shape, and also a point cloud generated from the mathematical version of the object, I could use that to help build the point cloud up. Do you have other suggestions? – jos May 13 '19 at 13:27
  • Can you be clearer what purpose the "point cloud generated from the mathematical version of the object" serves? Is this a reference data set for you to test how well your extrapolation has performed, or it it supposed to affect the result itself? If the latter, how does your intended result differ from that cloud itself? This question may be better suited to [Cross Validated](https://stats.stackexchange.com/). – Will May 13 '19 at 13:42
  • @Will The mathematical version is a reference data set to see how close the other point clouds are to it in shape, not just the extrapolation. It's worth mentioning that these point clouds would be created using real-world objects, and that the mathematical version is what the object SHOULD look like in perfect conditions. – jos May 13 '19 at 13:51
  • It sounds like you're simply describing to the field of **curve-fitting** then. If the axis of your paraboloid is known then ordinary least squares regression should directly give you suitable parabolic parameters for the paraboloid that best fits your partial cloud. – Will May 13 '19 at 14:05

0 Answers0