International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Vol XXXV, Part B5. Istanbul 2004
Additionally to the image orientation, we can offer the
knowledge of the approximate shape of the object. This is
especially the case, after performing volume intersection. The
idea is to approximate the image patch on the surface of the
object itself. This patch will then be projected into all
candidates for the image matching. Hence, we need to construct
the tangential surface at the voxel of interest. The computation
of surface normal vector has already been described as:
ñ(z-p)=0
What we would like to do now is to create a rectangular patch
on that surface. It follows that we need a local 2D coordinate
system, as seen in Figure 8.
We will now create the vector x, with the following two
conditions: it is perpendicular to » and parallel to the XY plane.
It follows that:
f x |
dx zo £e (8)
io)
and:
A1 =0> Xp Sy En Es XpXytY4 x70 (9)
Choosing x, = n, and y, = -n, delivers the desired vector. The
construction of the vector y can be derived by taking the cross
product of n and x. Figure 9 shows the improvement to the
patches when considering the object shape. We can clearly see
a difference between the original slave patches while the
knowledge based patches show less variety.
G
Figure 9: The improvement of taking the object shape into
account
6. SHELL CARVING
As the name suggests, in this approach we want to carve away
the false voxels on the outer shell of the visual hull. First we
create the SVL. All these surface voxels should be processed
one by one. For each voxel, we will check if it is part of the true
surface. The algorithm will stop, if in a shell no voxels are
considered false or if a maximum carving depth has been
reached.
Very briefly, the algorithm can be separated into the following
steps:
e Create surface voxel list.
e For cach voxel:
e Select three, at least two images with the best view.
e Perform image matching in the selected images.
e Carve the voxel, if considered different; Set a fixed-
flag, if considered equal.
Now, we want to check each voxel, if it is part of the true
surface, hence if it is projected into corresponding image
templates. Therefore, we need to find at least two images, in
which this voxel is visible. From the set of images, we can first
exclude those, where the voxel is occluded (see Figure 3). From
the remaining set of images, we will have to choose two or
three images, where we can assume the best visibility. This
assumption is based on the surface normal vector.
If we have two images, we can perform an image matching to
sec whether the voxel projects into corresponding image points
or not. When three images are available, we can crosscheck the
similarity with another pair of templates to improve reliability.
At this point, the knowledge based patch distortion can be
applied for a more reliable template matching.
Once a voxel has been found true, a flag is set, stating that this
voxel is true and should not be considered again. Voxels, which
are projected to different image patches, will be carved. So shell
by shell, we will normally have an increasing number of fixed
voxels, and a decreasing number of carved voxels, until this
number drops below a certain threshold or until a maximum
carving depth has been reached.
The alternate approach is voting-based carving which evaluates
every sensible combination of image matching before deciding
to carve the voxel or not. For this purpose, a second cube is
introduced, which will store the votes of the single decisions.
Here, we introduce two counters. The first one keeps track of
all comparisons we made. The second counts the number of
successful comparisons. The comparison can be made with any
of the previously introduced matching approaches, with or
without knowledge based patch distortion. However, the two
counter numbers tell us now the percentage of successful
comparisons. Applying a threshold to this percentage will either
carve or leave the voxel.
Nevertheless, we are storing the actual voting value inside a
new cube. For visualization purposes, this value is scaled to fit
the value range of 0...255, hence percentage*2.55 is actually
stored into the cube. When we now visualize the cube, we can
clearly see how the single surface voxels were considered. The
lighter the value, the more certainly it is a surface voxel, and
the darker, the safer it is to carve. Figure 10 illustrates the
results of the voting.
Internationa
In this pap
algorithm t
intersection
was explaint
Visibility in
extension to
derived fron
image matcl
correspondei
than a single
more accura
data for a
perspective
correlation i
was signifi
distortion. T
improved si
presented so
Figure 10: D