next up previous contents
Next: Plenoptic model Up: Modeling Previous: Texture enhancement   Contents


Volumetric model

The data computed as described in the previous chapters allows to generate volumetric models as well. Here a relatively simple approach is described. Other approaches have been described in the literature and could be applied as well (e.g. [28]).

The approach works with a voxel space which encloses the 3D scene. For every depth map the voxels are segmented in three categories: between the camera and the surface (A), behind the surface (B) and not seen (C). This is illustrated in Figure 8.4.

Figure 8.4: Segmentation of voxels in three categories for every depth map.
\begin{figure}\centerline{\psfig{figure=mod/volapp.ps, height=6cm}}\end{figure}

Once all depth maps have been considered, the voxels which have been seen at least $T_A$ times between the camera and the surface are labeled A. From the remaining voxels the ones that have been seen at least $T_B$ times behind the surface are labeled B. The other voxels are labeled C. $T_A$ and $T_B$ are thresholds which can for example be set to 1 or 2. The B voxels form the volume. The final volume can be cleaned up by an erosion scheme that eliminates isolated voxels.

If the goal is to create a surface from the volume it is proposed to use a modified marching cubes algorithm. In this case only the interface between regions A and B should be triangulated. Some results obtained on the castle sequence are shown in Figure 8.5.

Figure 8.5: Surface obtained through volumetric approach
\begin{figure}\centerline{
\psfig{figure=mod/vol2.ps,width=6cm}
\psfig{figure=mod/vol4.ps,width=6cm}}\end{figure}

Placing a texture on this surface model is not as easy as in Section 8.1. All triangles are not necessarily seen in a specific view. We have worked out an approach which determines for each triangle which image should be used as texture. This decision is based on the projected area of the triangle in the images and on the visibility. Determining the visibility is not a simple task and could take a long time if it were performed in software. However, this task is done by the graphics hardware when rendering a new view. The visibility is determined based on a view where every triangle is labeled with a different color. If the correct color is seen at the position where the triangle projects in the image, it means that the triangle is visible. Two label images are shown in Figure 8.6

Figure 8.6: Volumetric label
\begin{figure}\centerline{
\psfig{figure=mod/voxtxcol.000.ps,width=6cm}
\psfig{figure=mod/voxtxcol.017.ps,width=6cm}}\end{figure}

The resulting 3D surface model is shown in Figure 8.7.

Figure 8.7: Textured surface model obtained through volumetric approach.
\begin{figure}\centerline{
\psfig{figure=mod/voltx4.ps,width=6cm}
\psfig{figure=mod/voltx3.ps,width=6cm}}\end{figure}


next up previous contents
Next: Plenoptic model Up: Modeling Previous: Texture enhancement   Contents
Marc Pollefeys 2000-07-12