CIPA 2003 XIX th International Symposium, 30 September - 04 October, 2003, Antalya, Turkey
We now have to solve A-AM), where we are not interested in
the most obvious case X=0. We will use the singular value
decomposition (SVD) to compute the best solution, with X*0
(Hartley, Zisserman, 2000). The SVD will be used to split the
design matrix A into three new matrices U, D and V 1 , such that
A=U D V r , where U and V are orthogonal matrices and D is a
diagonal matrix with non-negative entries. From adequate
literature we can learn that the solution to an equation AX=0
corresponds to that column of the V matrix, which corresponds
to the smallest value in the D matrix.
The recently derived unknown vector X directly contains the
elements of the desired normal vector, so that X=n.
Figure 8: Surface normal vector from a T section of a cube.
Figure 9: Surface normal vectors on a larger selection.
The surface normal vector gives information of the direction,
where a voxel is facing. So it can serve as a quality measure for
visibility. When we simply calculate the angle between the
surface normal and the ray of sight, it can tell us whether the
voxel is ‘looking in our direction’. Hence, if the angle is small,
it is facing the image, and if it exceeds 90° it can be considered
hidden.
Thus, if we project any surface voxel into two or more images,
which are most likely to have the best view of this voxel, they
should be considered similar with an appropriate similarity
operator. The best images can be chosen upon the visibility
information and the surface normal vector, described in the last
chapter.
Consequently, if the set of pixels or pixel regions respectively,
are proven to be different, we can assume that the
corresponding voxel is not part of the true surface.
However, if the voxel projects into homogeneous regions of the
image, the similarity operator will constantly return a high
similarity value. There is no way to tell the correct
correspondence here.
Consequently, we can classify each surface voxel into three
classes: surface voxel, non surface voxel, uncertain. Once a
voxel has been considered surface voxel it should remain fixed
and should not be evaluated again. Non surface voxels on the
other hand will be erased and the voxels underneath become
surface voxels and will be considered in another iteration.
We can make use of line tracing when we encounter a non
surface voxel. We define a reference image, which will result in
a line from the images projection centre to the voxel. Now we
can trace this line, starting with the voxel, away from the image
into the object. For each voxel along this line, we calculate a
new similarity value for the updated image projections. Where
we find the maximum similarity exceeding a sensible threshold,
we can assume it as the true surface and classify the
encountered voxels accordingly.
5. SUMMARY
In this paper we presented several powerful tools which are
useful in voxel based reconstructions. An experimental image
acquisition setup was explained on which the introduced
algorithms were tested. The shape from silhouette method was
briefly explained since it was introduced in earlier works.
Upon this approximated reconstruction, the line traversal is
applied in many occasions such as visibility computation,
texture mapping, similarity calculation. As an extension to
visibility information, we introduced the surface normal vector
derived from a regional section of surface voxels. All these
methods are sensitive to the degree of neighborhood, which has
been introduced in detail.
We explained how the refinement algorithm makes use of these
tools in order to improve the initial approximate reconstruction.
4. REFINEMENT ALGORITHM
As stated above, the shape from silhouette does not always
recover the true surface of the object. Therefore, in those
regions with a false surface we need to refine the carving.
As a fact, only true surface points will be projected into
corresponding image points, assuming correctly oriented
images are provided.