3D point cloud data (fwd)
Ralph Hartley
hartley@aic.nrl.navy.mil
Mon, 21 Apr 2003 17:24:36 -0400
This is a pet peeve of mine.
Wookey wrote:
> I got this message from some guys in the BCRA Cave radio and Electronics
> group, asking about skinning point clouds, now that they have a dataset.
This won't help them too much. As long as you are only dealing with a
single viewpoint, the point cloud representation isn't as bad as I imply
below. All representations are more or less equivalent, as long as you know
what the viewpoint *is* (zero is popular).
Also, your problem will be much easier if your points were recorded in a
particular order. For instance, a raster scan can be converted into
polygons very simply, just connect adjacent points. Several overlapping
raster scans (which the email implied) is tougher, but not too bad if you
can get a good registration between them.
> I know that the Wakulla II project did some software for dealing with point
> clouds, but I haven't seen any skinning done
One problem is that a "point cloud" is not particularly good representation
of 3D sensor data. Once you look at the data as a point cloud, the battle
is half lost. There is almost always much more information known about a
point than its location.
Consider one pixel of a range image. It gives the location of one surface
point (one point of the cloud), but that isn't the only, or even most
important, thing it tells you. It also tells you that all the space between
the sensor and that point is *empty*. That reduces the number of possible
worlds much more than the single point does (so it represents more
information).
The Wakulla II data is an extreme case of this. They were using sonar with
a fairly wide beam (I don't remember how wide, but not 0). Not only is the
range more accurate than the direction, but if they recorded the *first*
return (which is usual) then what they really have is the *minimum* range
within that cone, not the point at the end of an ideal ray.
Extracting a point cloud and then fitting surfaces to that is not the best
way to get a solid model from such data. You really should be asking what
each sensor reading tells you about the world.
In the Wakulla case that might mean taking the union of all the solid
cones, and then removing "islands", places that were never looked at, but
have no connection (or too long or thin a connection?) to the walls. This
is ignoring errors for simplicity, which would not work in real life, you
also need to keep track of probabilities.
Does anyone know how the raw sensor data (pre point cloud) for Wakulla II
was preserved?
> and I've been told that the
> 'skinning' problem is mathematically extremely difficult
More ill-posed than difficult. But with some simplifying assumptions, it
isn't impossible.
> Does anyone know of any existing, available solutions?
No, there might be packages that do this generically, but they may not be
compatible with your data. The important thing is what kind of errors your
sensor has, and how often errors of a given kind and magnitude occur.
>Or have any suggestions as to how it might be done?
Yes. Obviously.
Ralph Hartley