CI PA 2003 XIX"' International Symposium, 30 September - 04 October, 2003, Antalya, Turkey
to distinguish the object from the environment. The pixels
position in the IHS-colorspace is examined in order to decide if
it represents background or object. Since the blue background is
sufficiently homogeneous, we can easily define a hue domain
which is considered background. We performed the image
segmentation using the academic software HsbVis (HSB-
Visualization) that allows interactive segmentation and color
channel splitting and merging on a graphical user interface.
Shape from silhouette algorithms start with an opaque volume
that encloses the entire scene. This volume is discretized into
voxels. If we know the calibration information and image
orientation data, we can construct a bounding pyramid for each
silhouette image. Each point in silhouette defines a line in
object space that intersects the object at some depth. The
combination of all these rays for all foreground silhouette
points defines a cone in which the objects should lie. In order to
compute the silhouette cone, we projected all voxels in the cube
into every image, if the image coordinate defines a background
pixel, the voxel is marked to be deleted (voting).
Shape from silhouette algorithms intersect all silhouette cones
from multiple images to achieve the estimate geometry of the
object that is called the visual hull. In Figure 3, for simplicity,
the volume constructed is shown in 2D with its input images in
ID. The black polygon shows the visual hull of the object.
Figure 3: Method of volume intersection.
Shape from silhouette method is a conservative method and it
does not carve away the voxels it should not. Thus, visual hull
contains the true shape. When the greater number of views is
used, this technique progressively refines the object model.
However, if only a few views are used the recovered shape can
be very coarse since it cannot detect the object concavities.
Therefore silhouette contours alone cannot recover the object
model geometry precisely and should be supported by another
technique to get into the critical, concave areas. See (Kuzu and
Rodehorst, 2000) or (Kuzu and Sinram, 2002) for more details.
3.2 Voxel Neighborhood
Before we introduce some tools regarding voxels, we want to
clarify the understanding of neighborhood in 3D. When we
investigate digital raster images, a pixel has neighbors of two
degrees: those connected by an edge and those connected only
by a node. They are also called 4- and 8-connected
neighborhoods.
Figure 4: A voxel and its neighbors
In the three dimensional case, a voxel has six neighbors
connected by a face, twelve connected by an edge and another
eight connected by a node, which results in a total of 26
neighbors. Following 2D images, we call them 6-, 18- and 26-
connected neighborhoods. Figure 4 illustrates the different
degrees of neighborhood.
3.3 Line Traversal
Line traversal becomes an important tool for various tasks. For
example projections of voxels to pixels and vice versa require a
line traversal. The basic challenge is to do an operation on each
voxel along a line, which is defined by a start- and endpoint.
The first task would be to define a sensible start- and endpoint.
The line itself is defined by the image projection center (X 0 , Y 0 ,
Z„) and either a voxel (V x , V Y , V 7 ) or a pixel (/, k, -c). Running
any kind of operator on a voxel only makes sense within the
defined voxel cube, since there is no information outside. Thus,
for the sake of performance, we have to define the line so that it
completely encloses the cube, but not much longer.
The simplest limitation might be to look for those two ^.-values,
so that:
f x'
(*oi
Y
= R-'A
y* -To
+
r„
voxel
pixel
j
will completely enclose the voxel cube for every image point.
In order to do so, the eight corners of the cube have to be
processed for each image only once. Figure 5a illustrates this
method.
Figure 5: Geometric restriction of the line traversal.
A second approach might be to enclose the cube with a sphere
and calculate its two intersection points (if any) with the line of
sight. Here, the A.-factor is individual for each pixel, so that we
can expect a tremendous loss in performance, outweighing the
advantage that the line might be a better approximation. This
approach is shown in Figure 5b.
The second line tracing problem is the connectivity of the line.
In three dimensions we can either define 6-, 18-, or 24-
connected lines. In consequence more or fewer voxels will be
traversed.
Although the algorithm for the 18-connected line is easier to
implement, the 6-connected line includes some more voxels.