Graphics Reference
In-Depth Information
Scan 1
Scan 2
(a)
(b)
(c)
Figure 8.37. (a) Signed distance functions to the triangle meshes (in red) for two range scans
taken from different perspectives. The figure represents a 2D slice through 3D space. Gray indi-
cates a distance near 0; black indicates a large negative distance and white a large positive
distance. The tan background indicates that the distance function isn't computed because it's
too far from the surface. (b) Corresponding weight functions. Black indicates zero weight while
white indicates a large weight. (c) The weighted sum of signed distance functions after fusion;
red indicates the VRIP isosurface.
have d i
0. The weight function is
roughly constant near the triangular mesh along scanner lines of sight, and falls off
quickly on either side of the mesh. It can also increase with the angle between the
scanner line of sight and the surface normal, or with our confidence in the mea-
surement. The basic idea is that the weight expresses the neighborhood in which a
scanner data point plays a role in the fusion. Examples of these functions are illus-
trated in Figure 8.37 a-b for one plane of voxels that intersects the range data. Since
the weights are only nonzero very close to the original 3D samples, we only need to
store the weights and distance functions at a relatively small fraction of voxels in the
volumetric grid; Curless and Levoy used a run-length-encoded volume to efficiently
store the necessary information.
We simply compute f
(
X
)<
0, and points behind the mesh have d i
(
X
)>
(
X
)
as a weighted sum of the component signed distance
functions:
i = 1 w i
(
X
)
d i
(
X
)
f
(
X
) =
(8.21)
i = 1 w i
(
X
)
An example result of merging is illustrated in Figure 8.37 c. The triangulated zero-
level isosurface can be efficiently extracted using the marching cubes algorithm
originally proposed by Lorensen and Cline [ 301 ] or one of its modern variants (see
Newman and Yi [ 348 ] for a good survey). The isosurface has the additional advantage
of interpolating across small holes or surface discontinuities in the original data.
A related approach is to view the fusion problem as one of scattered data interpo-
lation, using similar methods to what we discussed in Section 5.2.1 . We denote the
collection of all range points from all the contributing scans as
{
X j , j
=
1,
...
, n
}
.As
(
)
earlier, we create a function f
X
defined in 3D space, and think of the original range
Search WWH ::




Custom Search