shrink-wrapped boundary face algorithm for surface … · shrink-wrapped boundary face algorithm...

5
Shrink-Wrapped Boundary Face Algorithm for Surface Reconstruction from Unorganized 3D Points BON KI KOO, CHANG WOO CHU, JAE CHUL KIM Electronics and Telecommunications Research Institute 161, Gajeong-dong, Yusong-Gu, Daejeon, 305350, KOREA YOUNG KYU CHOI School of Information and Technology, Korea University of Technology and Education, Chonan P.O. Box 55, Chungnam, 330600, KOREA Abstract: A new surface reconstruction method, called shrink-wrapped boundary face (SWBF) algorithm, is proposed for approximating the surface from a set of unorganized 3D points. SWBF surmounts the genus-0 spherical topology restriction of previous shrink-wrapping based mesh generation technique. Furthermore, SWBF is much faster since it requires only local nearest-point-search in the shrinking process. According to experiments, it is proved to be very robust and efficient for mesh generation from unorganized points cloud. Key-Words: Surface reconstruction, shrink-wrapped boundary face, mesh generation, unorganized 3D points 1 Introduction In the past few decades, considerable studies have been conducted on the photo-realistic shape reconstruction of real object. Especially increasing interest in shape reconstruction of real environment has brought substantial attention to computer vision and graphics field. The shape reconstruction has two main stages: Data acquisition and surface reconstruction. Data acquisition stage acquires an accurate points cloud from real object [1-3]. And surface reconstruction stage converts the 3D points cloud into a smooth surface or a polygonal mesh. The 3D points cloud itself is not adequate for other useful visualization operations such as volume calculation. Hence, there is a large literature on surface reconstruction from a points cloud. According to Curless et al. [4], solutions to this problem have proceeded along two basic directions: reconstruction from unorganized points, and reconstruction that preserves the underlying structure of the acquired data. A major advantage of the formal algorithms is that they do not make any prior assumptions about connectivity of points. In the absence of range images or contours providing connectivity cues [5, 6], they are the only recourse. This paper focuses on mesh reconstruction from unorganized points. A typical solution for surface reconstruction from unorganized points was provided by Hoppe et al. [7]. They estimated tangent plane for each point and introduced a signed distance function. Finally an isosurface was extracted by a volume-based reconstruction scheme. Their method is well behaved in the smooth regions of surfaces, but they are not always robust in regions of high curvature and in the presence of systematic range distortions and outliers. In this paper, we propose a new solution for mesh generation from unorganized points cloud based on an iterative relaxation scheme, called shrink-wrapping process. The paper is organized as follows. Previous works on surface generation based on shrink-wrapping are provided in Section 2, and our shrink-wrapped boundary face algorithm is proposed in Section 3. Experimental results are given in Section 4 and Section 5 concludes our paper. 2 Previous works Originally, shrink-wrapping based mesh generation technique has been proposed by Kobbelt et al. [8]. They introduced a deformable surface scheme for converting a given unstructured triangle mesh into one having subdivision connectivity. From a bounding sphere of the input data, they produced a mesh

Upload: truongcong

Post on 20-Apr-2018

238 views

Category:

Documents


3 download

TRANSCRIPT

Shrink-Wrapped Boundary Face Algorithm for Surface Reconstruction from Unorganized 3D Points

BON KI KOO, CHANG WOO CHU, JAE CHUL KIM Electronics and Telecommunications Research Institute

161, Gajeong-dong, Yusong-Gu, Daejeon, 305350, KOREA

YOUNG KYU CHOI School of Information and Technology, Korea University of Technology and Education,

Chonan P.O. Box 55, Chungnam, 330600, KOREA

Abstract: A new surface reconstruction method, called shrink-wrapped boundary face (SWBF) algorithm, is proposed for approximating the surface from a set of unorganized 3D points. SWBF surmounts the genus-0 spherical topology restriction of previous shrink-wrapping based mesh generation technique. Furthermore, SWBF is much faster since it requires only local nearest-point-search in the shrinking process. According to experiments, it is proved to be very robust and efficient for mesh generation from unorganized points cloud. Key-Words: Surface reconstruction, shrink-wrapped boundary face, mesh generation, unorganized 3D points 1 Introduction In the past few decades, considerable studies have been conducted on the photo-realistic shape reconstruction of real object. Especially increasing interest in shape reconstruction of real environment has brought substantial attention to computer vision and graphics field. The shape reconstruction has two main stages: Data acquisition and surface reconstruction. Data acquisition stage acquires an accurate points cloud from real object [1-3]. And surface reconstruction stage converts the 3D points cloud into a smooth surface or a polygonal mesh.

The 3D points cloud itself is not adequate for other useful visualization operations such as volume calculation. Hence, there is a large literature on surface reconstruction from a points cloud. According to Curless et al. [4], solutions to this problem have proceeded along two basic directions: reconstruction from unorganized points, and reconstruction that preserves the underlying structure of the acquired data. A major advantage of the formal algorithms is that they do not make any prior assumptions about connectivity of points. In the absence of range images or contours providing connectivity cues [5, 6], they are the only recourse. This paper focuses on mesh reconstruction from unorganized points.

A typical solution for surface reconstruction from unorganized points was provided by Hoppe et al. [7]. They estimated tangent plane for each point and introduced a signed distance function. Finally an isosurface was extracted by a volume-based reconstruction scheme. Their method is well behaved in the smooth regions of surfaces, but they are not always robust in regions of high curvature and in the presence of systematic range distortions and outliers. In this paper, we propose a new solution for mesh generation from unorganized points cloud based on an iterative relaxation scheme, called shrink-wrapping process. The paper is organized as follows. Previous works on surface generation based on shrink-wrapping are provided in Section 2, and our shrink-wrapped boundary face algorithm is proposed in Section 3. Experimental results are given in Section 4 and Section 5 concludes our paper. 2 Previous works Originally, shrink-wrapping based mesh generation technique has been proposed by Kobbelt et al. [8]. They introduced a deformable surface scheme for converting a given unstructured triangle mesh into one having subdivision connectivity. From a bounding sphere of the input data, they produced a mesh

approximating object's surface with subdivision connectivity based on a simulation of the shrink wrapping process.

Recently, Jeong et al. [9] extended the shrink-wrapping concept to produce mesh model from unorganized 3D points. For a given 3D points cloud, they make a bounding cube and linearly subdivide the 6 faces (not the volume) to get an initial cube-shaped mesh. They repeatedly apply the projection (shrinking) and smoothing operations to metamorphose the initial mesh into one similar to the surface of the original object. Since the initial mesh is always a box-shape, they have to restrict the topology of the reconstructed mesh: a genus-0 spherical topology, which does not contain any holes in surface. Therefore, it cannot be applicable widely to those objects embedding holes in surface such as a ring. Furthermore, for each vertex of the initial mesh, it has to find the nearest point from all of the input 3D points (global search) during the shrinking process, and thus it becomes very time consuming.

In this paper, we also adopted the shrink-wrapping process to produce mesh from unorganized points as in [9]. The major difference of our method, called shrink-wrapped boundary face (SWBF) algorithm, is the shape of the initial mesh. Instead of using the 6 faces of a bounding box, the boundary faces are used as the initial mesh. This idea enables our method to overcome the topological restriction of the previous works with considerable improvement of efficiency in time. 3 Shrink-wrapped boundary face Let realO be a real world object and },,,{ 21 npppP ⋅⋅⋅= be a cloud of points that is sampled from realO . There is not any connectivity cue between nipi ,,2,1, ⋅⋅⋅= . Then mesh reconstruction algorithm is a process that produces a polygonal mesh PM from P such that real

P OM ≈ . SWBF generating PM from unorganized points cloud P includes the following four major processes: dissecting the 3D space into cell space, defining boundary face, generating initial mesh, shrinking, and surface smoothing process. 3.1 Dissecting the 3D space into a set of cubes First, a minimum bounding box PB including all the points P is extracted. Since the outside of PB may not

produce any surface patch, we only concern about the inside of PB . To extract the bounding box, the maximum and minimum values xmax , xmin , ymax ,

ymin , zmax and zmin are obtained with respect to all

the points cloud in the directions x, y and z. And six planes (2 planes in the direction of each coordinate) are defined in the 3D space. Consequently, a bounding box PB is obtained as follows:

}maxmin,maxmin,maxmin|),,,{( zzyyxxP zyxzyxB <<<<<<=

(1) From the bounding box of P , we can define cell

and cell space as follows.

Definition 1 The cell space of a cloud of unorganized 3D points P is defined to be a dissection of PB (bounding box of P ) by three orthogonal sets of equally spaced parallel planes and denoted as PC . Each cube, a component of the cell space, is called cell, and denoted as c or ),(, kjc . The cell space is as follows:

},,1,0,,,1,0,,,1,0|),,({ zyxP nknjnikjicC ⋅⋅⋅=⋅⋅⋅=⋅⋅⋅== (2) where xn , xn and zn are the resolution in the directions x , y and z .

To divide a cell space, a set of planes orthogonal to each other in three directions should be used. For example, when division in x-direction is performed with resolution xn , a space between maximum value

xmax and minimum value xmin in x-direction can be divided into xn pieces. In other word, i-th x-coordinate

xi can be calculated as follows:

zx

xxxi nii

nx ,,1,0,

minmaxmin ⋅⋅⋅=−+= (3)

If the x-coordinate axis is divided into xn pieces, the bounding box in x-direction is divided into xn pieces by 1+xn planes xi nixx ,,1,0, ⋅⋅⋅== . Then the original bounding box is converted into a set of

zyx nnn cells. Here, the resolution of each direction, or

the resolution of cell space (defined as CPn which is the maximum value of the size of each direction), should be carefully selected according to the density of P . If a points cloud is distributed very densely, the resolution of cell space should be selected a large value to make a more precise surface. Whereas a points cloud sampled sparsely need to choose relatively a small value to avoid generating the holes

on the surface. Figure 1 illustrates some examples for various values of cell resolution (after 3 iterations of shrink-wrapping process).

Fig. 1. Results by various of cell resolutions CPn : (a) hypersheet data: 4,102 points, (b)~(g): cell resolution from 5 to 100.

3.2 Generating the initial mesh Assume that a cell space PC is given from the original unorganized points P with a certain resolution. Cells in

PC can be divided into two groups as follows.

Definition 2 The boundary cell, denoted as bc , is defined to be a cell containing one or more physical 3D points in P . Otherwise, the cell is defined to be an outer cell and denoted as oc .

The reason why the cells are classified into the boundary cells and outer cells is that inside and outside of the real object cannot be distinguished from each other, since P is acquired only from the surface of

realO . Consequently, since such outer cells are inside or outside of the object, they cannot contribute to generate surface, and the surface of the object is generated in only the boundary cells including the sampled points P from the real surface of realO . Accordingly, to generate an initial mesh, only the boundary cells are considered.

The neighbors of a cell c are assumed to be cells which are adjacent to one of the six faces of c, and denoted as )(cn . Udupa et al. [10] used the term O(1)-adjacency for this kind of neighbor definition. We can define the boundary face as follows.

Definition 3 For a boundary cell bc , there are six faces to the directions of O(1)-adjacent neighbor cells. A face of bc is defined to be a boundary face bf if the adjacent cell is an outer one. Otherwise, the face is defined to be an inner face and denoted as if .

A boundary face can be interpreted as a simple approximation of the actual object surface, which is contained in the corresponding boundary cell. And it can be inferred that the actual surface tends to run

through the inner face. Consequently, the initial mesh can be defined from the boundary faces as follows.

Definition 4 The initial mesh denoted as IM is defined to be the set of boundary faces as follows:

}|)({ PbbbI CccfM ∈∀= (4)

where bc represents the boundary cell in the cell space PC .

The initial mesh IM in our method is a crude approximation of the surface of P (or realO ) for the further processing, but the important thing is that it usually preserves the topology of the original object, unless the hole in object surface is too small comparing with the resolution of the cell space. The crude surface is then iteratively metamorphosed into the original surface by the shrinking and smoothing operations. 3.3 Shrinking Shrinking step is applying the attracting force to each vertex that is a vector between the initial mesh IM and the given points cloud P as shown in Fig. 2 (a). For a vertex iq of IM , there is a boundary cell bc containing it. We search the nearest 3D point (in P ) minimizing the Euclidean distance from iq to it.

Differently from the method in [9] requiring global search for optimal result, shrinking in SWBF can be done in local manner for the same result. Since the nearest point nearestp should be always inside of bc and O(3)-adjacent[10] neighbors of bc , it is sufficient to search only 3D points inside of total 27 cells for the nearest one from a mesh vertex. It greatly saves the processing time for the shrinking process. After finding nearestp , the attracting force pushes iq toward

nearestp as follows.

)( inearestii qpqq −+← α (5) The weight α (between 0:0 to 1:0) determines

the amount of the attracting force. Since there is possibility to share the same point for more than two mesh vertices, the whole attraction forces( 1=alpha ) may cause non-manifold region in surface. To avoid this, we provided a weight less than 1.0, and experimentally we chose α to 0:5. 3.4 Surface smoothing The smoothing step tries to relax the shrink-wrapped surface for achieving uniform vertex sampling, and we adopted the same method used in [9]. We employ the

approximation of Laplacian � as in [11]. This is the average vector of 1-neighbor edge vectors ( 421 ,,, nbrnbrnbr qqq ⋅⋅⋅ in Fig. 2 (b)) of a given vertex

( iq in Fig. 2 (b)), and thus surface shrinkage effect may occur. So we only take the tangential component of � which is perpendicular to the vertex normal as shown in Fig. 2 (b).

Fig. 2. Shrinking and smoothing process.

4 Experiments Our algorithm was implemented on Pentium IV CPU 3.20GHz with 1G RAM. OpenGL and Visual C++ are used. Figure 3 shows the reconstruction result for cat model (the cell resolution 100), where (a) is a input data of cat model, (b) is the surface reconstruction result, and (c) is the rendered image by the Gouraud Shading technique [12]. Figure 4 presents the reconstruction process to show shrinking-smoothing step by three iterations. For the effective visualization of shrinking and smoothing process, the cell resolution is selected relatively small value (we chose 9 this experiment). Figure 5 illustrates the difference between SWBF and the method proposed by Jeong et al. [9] for a synthetic Ring data containing a hole in surface. The initial mesh in SWBF embedding any kind of topology is the key for resolving the genus-0 spherical topology restriction of previous shrink-warping based reconstruction methods as shown in the Figure 5 (d) and (e). Notice that the initial mesh in SWBF (f) also envelops all of the original 3D points (a). As shown in the resulting mesh (h)and rendering image (i), 3 iterations of shrink-wrapping process would be sufficient in SWBF for general cases, but it is still not enough (d) and (e) in [9] because the shape of the initial mesh (b) is far from the real object. Figure 6 illustrate the results of some examples [13] with holes in surface. Our method works well for the various shapes with arbitrary topology.

Figure 7 shows the reconstruction result for the Happy Buddha data [14] containing several holes in surface and relatively large data set (543,652 points). SWBF also works well for generating mesh even with only 3 times of shrinking and smoothing process. Overall processing time was less than 20 seconds. Since SWBF only searches O(3)-adjacent neighbors in finding nearest points, it is much faster than previous works[7, 9]. In our experiment, even an iteration of shrinking process in global search as in [9] for the Happy Buddha data takes more than several hours. Table 1 summarizes the reconstruction result.

Fig. 3. Reconstruction result for cat model( CPn =100).

Fig. 4. Reconstruction process and results for cat model( CPn =9).

Fig. 5. Comparison with [9] ( CPn =20): (a) input data(40,000 points), (b)~(e) results from [9], and (f)~(i) results by SWBF.

Fig. 6. Reconstruction results for arbitrary topology.

Fig. 7. Reconstruction results for the Happy Buddha data: (a) input points cloud, (b) initial mesh, (c) shrink-wrapped surface (3 iteration), and (d) reconstructed surface in Gouraud shading

Table 1. Reconstruction results for Figure 7. Input Point clouds Number of 3D Points 543,652

Maximum Resolution Y:144 Number of Boundary Cells 36,665 Cell

Space Average Number of Points in a Boundary Cell

14.83

Number of Vertices 74,692 Reconstructed Mesh

Number of Triangular Faces 149,696

5 Conclusion In this paper, we introduced a novel mesh reconstruction algorithm from unorganized points cloud. Shrink-wrapped boundary face algorithm surmounts the genus-0 spherical topology restriction of the previous shrink-wrapping based mesh generation [9] by using the boundary faces of the boundary cells as the initial mesh. Furthermore, it is much faster since it requires only local nearest-point-search in the shrinking process. According to experiments, SWBF is proved to be very robust and efficient, and is expected to be a general solution for reconstructing mesh from unorganized points cloud.

References: [1] M. Hebert, Active and passive range sensing for

robotics, IEEE Int. Conf. on Robotics and Automation, pp. 102-110, Apr. 2000

[2] B. Curless and S. Seitz, 3D photography, SIGGRAPH 2000 Course Notes, No.19, Aug. 2000

[3] F. Bernardini and H. Rushmeier, 3D model acquisition, Eurographics 2000, State of the Art Reports Proceedings, pp. 41-62, Aug. 2000

[4] B. Curless and M. Levoy, A volumetric method for building complex models from range images, SIGGRAPH '96, pp. 303-312, Aug. 1996

[5] Y. Choi, Band partitioning algorithm for surface reconstruction from planar contours, Electronics Letters, Vol. 35, No. 20, pp. 1713-1714, Sep. 1999

[6] B. Koo, Y. Choi, and S. Chien, 3D human whole body construction by contour triangulation, IEICE Trans. INF. and SYST., Vol.E87-D, No.1, Jan. 2004

[7] H. Hoppe, T. DeRose, T. Duchamp, J. McDonald, and W. Stuetzle, Surface reconstruction from unorganized points, SIGGRAPH '92, pp. 71-78, Jul. 1992

[8] L. Kobbelt, J. Vorsatz, U. Labsik, and H. Seidel, A shrink wrapping approach to remeshing polygonal surfaces, Eurographics '99, Vol. 18, No. 3, pp. 119-129, Sep. 1999

[9] W. Jeong and C. Kim, Direct reconstruction of displaced subdivision surface from unorganized points, Pacific Graphics 2001, pp. 160-168, Oct. 2001

[10] J. Udupa, S. Srihari, and G. T. Herman, Boundary detection in multidimensions, IEEE Trans. Pattern Anal. and Mach. Intell., Vol. 4, No. 1, pp. 41-50, 1982

[11] G. Taubin, A signal processing approach to fair surface design, SIGGRAPH '95, pp. 351-358, Aug. 1995

[12] H. Gouraud, Continuous shading of curved surfaces, IEEE Trans. on Computers, pp. 623-629, Jun. 1971

[13] Hoppe's unorganized points cloud, ftp://ftp.research.microsoft.com/users/hhoppe/data/thesis/input pts/

[14] The Stanford 3D Scanning Repository, Happy Buddha data, http://www.graphics.stanford.edu /data/3Dscanrep/