Reconstructing Manifold and Non-Manifold Surfaces from Point Clouds

Size: px
Start display at page:

Download "Reconstructing Manifold and Non-Manifold Surfaces from Point Clouds"

Transcription

1 Reconstructing Manifold and Non-Manifold Surfaces from Point Clouds Jianning Wang CVC,Computer Science Stony Brook University Manuel M. Oliveira Instituto de Informática UFRGS, Brazil Arie E. Kaufman CVC,Computer Science Stony Brook University (b) (c) (d) (e) Figure 1: Examples of surfaces reconstructed with our algorithm. A single framework handles all cases. A view of the Stanford bunny. (b) Surface reconstruction with hole filling. (c) Surface reconstruction with boundary preservation. (d) Non-orientable surface. (e) Non-manifold surface. ABSTRACT This paper presents a novel approach for surface reconstruction from point clouds. The proposed technique is general in the sense that it naturally handles both manifold and non-manifold surfaces, providing a consistent way for reconstructing closed surfaces as well as surfaces with boundaries. It is also robust in the presence of noise, irregular sampling and surface gaps. Furthermore, it is fast, parallelizable and easy to implement because it is based on simple local operations. In this approach, surface reconstruction consists of three major steps: first, the space containing the point cloud is subdivided, creating a voxel representation. Then, a voxel surface is computed using gap filling and topological thinning operations. Finally, the resulting voxel surface is converted into a polygonal mesh. We demonstrate the effectiveness of our approach by reconstructing polygonal models from range scans of real objects as well as from synthetic data. CR Categories: I.3.7 [Computer Graphics]: Three-Dimensional Graphics and Realism Virtual reality Keywords: surface reconstruction, non-manifold surfaces, topological thinning 1 INTRODUCTION Surface reconstruction from unorganized points has many practical applications ranging from reverse engineering [24], entertainment, and analysis of forensic records, to digitization of cultural heritage [15] and creation of virtual museums. This subject has gotten considerable attention in recent years due to the increasing availability of 3D scanning devices, which are capable of sampling complex geometric objects at very high resolutions. Surface reconstruction from unorganized point clouds is, however, a challenging {jianning,ari}@cs.sunysb.edu [email protected] and ill-posed problem and although much progress has been made in the last few years [3, 9, 13, 18], currently no single approach can consistently handle all possible surface configurations. Moreover, essentially all approaches seem to assume that point clouds represent the surfaces of solids, and very little attention has been given to reconstructing surfaces with boundaries or non-orientable surfaces [1]. In this paper, we present a novel approach for surface reconstruction from unorganized point clouds. Our approach is general in the sense that it naturally handles manifold and non-manifold surfaces, surfaces with boundaries, as well as non-orientable surfaces, all in a consistent way. It does not require any extra geometric information other than the positions of the samples. Depending on no extra information makes this algorithm suitable for a broader range of applications. Our method is robust to irregular sampling and surface gaps, and relatively robust to the presence of noise. Furthermore, it is fast, parallelizable and easy to implement because it is based on simple local operations. In addition to its central contribution, the new reconstruction algorithm, this paper also introduces three other original results: An extension to Tsao and Fu s algorithm [22] to perform thinning while preserving surface boundaries (Section 3.2); An extension to Azernikov s meshing algorithm [4] to support the creation of polygonal meshes for non-manifold surfaces represented as point clouds (Section 3.3); A new algorithm for smoothing surface boundaries that significantly improves the quality of the meshes reconstructed for surfaces with boundaries (Section 3.3.1). In our approach, surface reconstruction is performed using a three-step process. First, the space containing the point cloud is subdivided, creating a voxel representation. Gap filling is performed at this stage (Section 3.1). Then, a voxel surface with the same topology of the sampled surface is computed using topological thinning operations based on Tsao and Fu s algorithm [22] (Section 3.2). Finally, a polygonal mesh is extracted using a modified version of Azernikov s algorithm (Section 3.3). Figure 1 illustrates the versatility of our technique to reconstruct surfaces with different topologies.

2 2 PREVIOUS AND RELATED WORK There are many algorithms for surface reconstruction from unorganized points. They can be generally classified as computational geometry, algebraic and implicit methods. Computational geometry methods use mechanisms such as Delaunay triangulation [3, 10] and region growing [5, 11] to build a set of simplices whose vertices are the original points. These methods tend to perform well on dense and clean datasets and are capable of reconstructing surfaces with boundaries. They are, however, sensitive to noise and tend to leave holes in undersampled regions. Algebraic methods (e.g., [19, 21]) fit a smooth function to the set of input points thus recovering smooth surfaces. Most of these methods cannot handle arbitrary topology, nor reconstruct complex geometry. The use of implicit functions is the most popular approach for surface reconstruction from sets of unorganized points [9, 13, 17, 18, 23]. These methods are based on the use of a signed distance function, which allows the representation of different topologies. Surface reconstruction is quite straightforward, usually performed using a variation of the Marching Cubes algorithm [16]. The primary limitation of these methods is their inability to reconstruct non-manifold surfaces. According to Bloomenthal et al. [7], boundaries are usually specified via additional functions that are required to have all the same sign. Bloomenthal and Ferguson [8] describe an algorithm for polygonizing non-manifold implicit surfaces defined by multiple regions of space. The algorithm can handle surfaces with boundaries and intersections, but the existence of multiple regions significantly adds to the complexity of the polygonizer. Ohtake and collaborators [18] have demonstrated a very interesting and flexible hierarchical surface reconstruction method based on the blending of local implicit functions. Their approach handles very large datasets, can reconstruct sharp features and provides support for CSG and morphing operations. However, it cannot be used to reconstruct non-manifold surfaces. Adamson and Alexa [1] presented a point-based algorithm for rendering (not reconstructing) surfaces with boundaries and nonorientable surfaces. In their approach, a dense set of points defines an implicit surface, which is identical to a moving least squares (MLS) surface approximation [2]. The technique can only be used for rendering manifold surfaces and is based on ray casting. A surface with boundary is then locally defined as the set of points x (on the implicit surface), whose distances to a weighted average position in a neighborhood Ω that contains x is less than a userspecified threshold. Thus, sparsely sampled regions are rendered as holes. Unlike [1], our technique actually reconstructs a polygonal representation for these surfaces. Azernikov s approach [4] constructs a connectivity graph and then creates facets by traversing the graph and finding minimal loops. In the resulting mesh, each voxel yields one vertex, computed as the centroid of input points inside the associated voxel. The algorithm cannot guarantee that the voxel surface has a welldefined local topology. Therefore, a number of heuristics are used to assure the correctness of the resulting mesh. It also assumes that its input consists of a densely sampled point cloud and does not fill gaps. There are three major differences between our modified meshing strategy and Azernikov s algorithm: (1) we only find a connectivity graph for surface and border voxels (see Section 3.2 for a definition of these terms); (2) our approach handles nonmanifold surfaces; and (3) because some empty octree voxels corresponding to holes need to be incorporated in the voxel surface (in order to automatically fill them), we employ a new way to identify such voxels and assign vertices to them. 3 THE SURFACE RECONSTRUCTION ALGORITHM Our surface reconstruction algorithm constructs a polygonal mesh from a point cloud using voxels as an intermediate representation. The steps of the algorithm are shown in Algorithm 1. First, the point cloud is turned into a voxel representation. At this stage, gaps are filled using a new gap-filling algorithm. Then, topological thinning is used to create a voxel surface representation. Finally, a polygonal mesh is extracted from the voxel surface. 1. voxelization and gap filling; 2. topological thinning; 3. meshing. Algorithm 1: Surface reconstruction algorithm 3.1 Voxelization and Gap Filling The algorithm starts by computing a tight bounding box for the point cloud, which is then subdivided into voxels. The voxel size should be small enough to avoid merging distinct surface features, but large enough to avoid unnecessary computations. Currently, the voxelization process is performed based on a user-specified voxel size. Voxels containing original points are called p-voxels. Some empty voxels (i.e., not containing points) falling in between p-voxels and representing non-sampled surface patches are called g-voxels. g-voxels will later be used for gap filling (Section explains how to identify g-voxels). We call foreground voxels the set defined by the union of p-voxels and g-voxels. Foreground voxels are used for topological thinning (Section 3.2). Because they only occupy a small portion of the space, we use a dexel data structure [12] to store them. The complement of the foreground voxels with respect to the bounding box is called background voxels. boundary half surface junction interior surface Figure 2: Topological classification of voxels Topological Classification of Voxels We are interested in reconstructing surfaces and surface junctions, while preserving surface boundaries. The local topological type of a voxel is determined by the number of foreground and background connected components in its neighborhood. A voxel is called a junction voxel if it is at the junction of two or more surfaces. Likewise, a voxel is called a boundary voxel if it is at the boundary of some surface, along some curve, or just an isolated voxel. Half surface voxels are on one side of a thick voxel surface and are the only ones to be deleted during topological thinning. The existence of thick voxel surfaces is usually associated with the presence of noise in the dataset. Figure 2 illustrates the different topological types of a voxel. To compute the local topological type of a voxel v, one needs to compute NFC and NBC, the number of connected components formed exclusively by foreground (18-connected) and background (6-connected) voxels, respectively, in the neighborhood of v. Before computing NFC, v should be deleted from its neighborhood.

3 Table 1: Voxel topological types Topological type NFC 3 NBC 3 NBC >3 interior 1 0 any boundary >1 or 0 any any boundary surface junction 1 2 > 2 half surface The appropriate size for the neighborhood depends on the level of noise in the point cloud and on the surface features to be reconstructed. According to our experience, a maximum neighborhood size of voxels seems to work well in practice for most situations. All examples shown in the paper were reconstructed using a voxel neighborhood. The topological type of a voxel v is determined by looking up Table 1 using the values of NFC and NBC. The subscripts of NFC and NBC in Table 1 represent the size of a neighborhood (e.g., a subscript value k indicates a k k k neighborhood). For efficiency reasons, we first search the neighborhood of v. If the NBC 3 = 0, we have an interior voxel, and the classification process stops. If, on the other hand, NFC 3 > 1 or NFC 3 = 0, v is a boundary voxel. Although Table 1 shows the necessary conditions for identifying v s topological type on a neighborhood, such a small neighborhood size can only be safely used with clean datasets. Noise tends to cause voxel surfaces to appear thicker. In this case, the use of a neighborhood is often insufficient to correctly characterize the different components in v s neighborhood, thus leading to a incorrect topological classification. If v s topological type cannot be safely identified based on the values of NFC 3 and NBC 3, we increase the neighborhood size to and recompute NBC. In this case, if NFC 3 = 1 and NBC 3 = 1 and NBC 5 = 1 then v is a boundary voxel. If NFC 3 = 1 and NBC 3 = 1 and NBC 5 = 2 then v is a half surface voxel. Otherwise, if NBC 5 = 2, v is a surface voxel. If NBC 5 > 2, v is a junction voxel. These conditions are summarized in Table 1 and in Algorithm 2. compute NFC 3 and NBC 3 for v; if (NBC 3 = 0) return interior voxel; if (NFC 3 > 1 or NFC 3 = 0) return boundary voxel; else compute NBC 5 for v; if (NBC 3 = 1) if (NBC 5 = 1) return boundary voxel; else return half surface voxel; else if (NBC 5 > 2) return junction voxel; else return surface voxel; Algorithm 2: Topological classification (v: voxel) Identifying g-voxels and Filling Gaps The voxel surface defined by the set of p-voxels may contain holes and/or gaps due to insufficient sampling, as illustrated in Figure 3 v 2 v 3 v 0 v 1 (b) Figure 3: Possible situations in gap filling: a surface with an inner hole. Here < v 2,v 3 > is a valid voxel line segment, but < v 0,v 1 > is not. (b) the surface reconstructed from with hole filled. (c) several surface patches with in-between gaps, and (d) the surface reconstructed from (c). and (c). We will not make a distinction between a hole (Figure 3a) and a gap (Figure 3c). For simplicity, we use the term gap to refer to hole and gap. Because we adopt a more general definition of gap, the classical hole-filling schemes (i.e., finding hole boundary before filling the hole [14]) cannot be applied here. Algorithm 3 fills gaps before a polygonal mesh is extracted from the voxel surface. The algorithm uses two dexel data structures D pg and D b, which are both initialized with all p-voxels. At the end of the procedure, D pg will contain the set of foreground voxels (p-voxels and g-voxels) and will be used as input for the topological thinning procedure; D b, on the other hand, will contain the set of boundary voxels, and will be used to prevent boundary voxels in D pg from being eroded during topological thinning (Section 3.2). The idea behind Algorithm 3 is straightforward: after initializing D pg and D b with p-voxels, the algorithm tries to fill gaps by filling voxel line segments with increasing lengths ranging from 1 to L (a maximum user-specified value). Each segment should connect a pair < v 0,v 1 > of boundary voxels (classified using Algorithm 2). Before a voxel line segment is filled, the segment has to pass a validation test. store all p-voxels in both D pg and D b ; for d=1 to hole size L; for each voxel v in D b ; check the topological type of v in D pg ; if v is not a boundary voxel; delete v from D b ; for each voxel v 0 in D b ; for each v 1 in D b with v 1 v 0 d; if voxel line segment < v 0,v 1 > is valid; create g-voxels connecting v 0 to v 1 ; add these g-voxels to D pg and D b ; (c) Algorithm 3: Gap filling in voxel space Gap refers to the background voxels between adjacent patches of the same surface component. And we call the background voxels separating two different surface components separation. In Algorithm 3, we first fill gaps with small width. When the length of voxel line segments become larger, we need to test whether they are connecting already connected patches. The validity tests of voxel line segment < v 0,v 1 > include the following: (1) except the two end boundary voxels, the voxel line segment should be solely composed of background voxels; (2) v 0 and v 1 do not come from the same outmost boundary (e.g., v 0 and v 1 in Figure 3). If the voxel line segment passes the tests, all (empty) voxels along the segment are turned into g-voxels, and used to fill gaps. g-voxels are automatically incorporated into the set of foreground voxels. A boundary is a closed voxel curve. We start from an arbitrary (d)

4 voxel and propagate it via adjacency along the curve until all voxels along the curve have been reached. The number of propagation becomes then the length of the curve. If we propagate a boundary towards adjacent non-boundary regions, we obtain a new voxel curve. If the boundary is longer than the new curve, it is considered to be an outmost one. In practice, however, this criterion could fail and users might want to preserve some hole boundaries (e.g., the holes in the bottom of the bunny in Figure 1(b)). For these reasons, the user is allowed to mark any boundary as outmost later. (b) (c) surface voxel boundary voxel Figure 4: Gap filling and topological thinning. Fragment of a voxel surface with a boundary highlighted in red. (b) Result of the gap filling procedure. (c) Resulting voxel surface after topological thinning. 3.2 Topological Thinning Before converting the voxel representation into a polygonal mesh, we should remove all voxels that cause the surface to be unnecessarily thicker than one voxel deep. Such voxels are called halfsurface voxels (see Figure 2) and usually result from the existence of noise in the point cloud or inappropriately large voxel size. In order to create a thin voxel shell, we perform a topological thinning operation. By iteratively removing boundary voxels and reclassifying the remaining voxels, Tsao and Fu [22] find the skeleton (medial axis or medial surface) from voxel representations. However, their algorithm erodes surface boundaries as well, which we want to preserve. Therefore, we have extended Tsao s and Fu s original algorithm to preserve boundaries. In the extended algorithm, thinning is applied to the set of foreground voxels D pg, while D b (the set of boundary voxels) is checked to avoid improper removal of boundary voxels. Both D pg and D b are computed using Algorithm 3. At the end of the thinning process, D pg contains a voxel surface (more precisely, D pg will contain a set of connected components representing the surface). Figure 4 illustrates the process of gap filling and topological thinning. The red voxels represent a surface boundary and the result of gap filling is shown in Figure 4(b). Note the existence of some extra voxels. Figure 4(c) shows the output produced by our topological thinning algorithm, which will be used as input for the meshing stage (last step of our surface-reconstruction algorithm). 3.3 Meshing Meshing is performed using a variation of the algorithm presented by Azernikov et al. [4]. Since the local topological type of all voxels in D pg is known, the step in Azernikov s algorithm required to eliminate false facets (i.e., facets that might appear in the connectivity graph but do not belong to the original surface) can be safely skipped. For the case of manifold surfaces, this simpler version of the algorithm can be used. Since Azernikov s algorithm does not handle non-manifold surfaces, we modified the original algorithm by allowing one surface to be composed of several sub-surfaces connected at junction voxels. Given two surface patches P i and P j, their intersection defines a set of junction voxels. Figure 5 illustrates this situation in 2D showing a slice (side view) through two interpenetrating surface patches. In Figure 5, blue squares represent junction voxels. Red squares represent surface voxels. Surface voxels touching junction voxels are called border voxels. A set of border voxels of a given patch defines a border curve for the patch. We call intersection curve the curve defined by the set of junction voxels. Given an intersection between two patches P i and P j, there are three possible types of border curves for one participating patch, as illustrated in Figure 6 for the case of patch I: two disconnected border curves (Figure 6a), one open border curve (Figure 6b), and one closed border curve ((Figure 6c). For the cases (b) and (c), each patch still consists of a single connected component. Meshing can then be performed after junction voxels are connected to voxels of the border curve, and the resulting set of voxels is submitted to a thinning operation. If the intersection causes a patch to be split into two disjoint connected components (Figure 6a), the algorithm needs to regroup all components into a single mesh. Figure 5 illustrates this situation for a pair of intersecting patches P i and P j, resulting in four disjoint connected components S 0, S 1, S 2 and S 3, shown in red in Figure 5. The process of regrouping starts by identifying all components and, for each one, creating a mesh using the simplified version of Azernikov s algorithm. After these meshes have been created, a normal vector is computed for each border voxel by averaging the normals of all faces sharing that particular voxel (Figure 5a). We start with a voxel in the intersection curve and walk along this curve. Let v j be the current junction voxel in the intersection curve. Also, let v a and v b be any two border voxels adjacent to v j and belonging to different border curves C p and C q. We compute m a,b = n a n b, where n a and n b are the normals of border voxels v a and v b, respectively. We use a triangular matrix M to store in element M p,q the average of all values m a,b such that v a is in border curve C p and v b is in border curve C q. In this case, averaging is used to compensate for the fact that different border curves may have different numbers of border voxels. After the walk through all junction voxels in the intersection curve is over, let M p,q be the element of matrix M with the biggest value. Then, we connect the components associated with border curves C p and C q and set M p,q to zero. The rationale here is that the orientation of border voxels belonging to these two components correlate the most. This is interpreted as a strong indication that the two components belong to the same surface. Then, we identify the element in M with the next biggest value, connect their corresponding components and set the matrix cell to zero. This process is repeated until M contains no non-zero elements. The entire process is illustrated in Figure 5. First, components S 1 and S 2 are connected (Figure 5b), then S 0 and S 3 are also connected (Figure 5c). Connecting two components amounts to computing the union between the voxels belonging to the components themselves and the associated junction voxels, performing a thinning operation, and finally using the simplified version of Azernikov s algorithm to create a mesh. Figure 5(c) shows the final result after the algorithm is applied to the four components shown in Figure 5. The position of the vertex associated with a junction voxel is given by the average position of all points falling inside the corresponding voxel. On the other hand, the vertex position inside a g-voxel is initially at the center of the voxel. In order to produce smoother meshes, these positions can be relaxed using any active contour techniques [6]. Currently, we minimize the following energy with a simplistic massspring system: E = ( (v k v i ) ) 2 (1) i G k M(v i ) where G is the set of junction voxels and g-voxels, and M(v) is the set of voxels which are directly connected to v in the resulting

5 s 0 s1 s 0 s1 s 0 s1 s 2 s 3 ; s 2 s 3 s 2 s 3 ;(b) (c) background voxel surface voxel junction voxel intersection curve Figure 5: Creating non-manifold surfaces. Individual surfaces are reconstructed. s 1 and s 2 are part of the same surface intersected by the surface defined by s 0 and s 3. (b) Surface (s 1,s 2 ) is reconnected. (c) Surface (s 0,s 3 ) is reconnected, thus reconstructing the non-manifold surface. II II II Figure 7: Low sampling, noise, and spatial discretization imposed by the voxels can lead to the reconstruction of ragged boundaries. (b) New mesh obtained after boundary smoothing. (b) I (b) (c) Figure 6: Three types of border curves in surface intersections (considered with respect to patch I): two border curves; (b) a single non-closed border curve (c) a single closed border curve. mesh. In order to accelerate the convergence, we solve the system iteratively until E becomes negligible. I I ing gap filling, we have at most (2L + 1) 3 voxel line segments and may have up to L(2L + 1) 4 m voxel operations, where L the maximum length allowed for a segment. Gap filling is then performed in O(m). Thus, the first step of the surface reconstruction algorithm has cost O(n + m). Topological thinning is performed in O(m), since each voxel is visited and either deleted, if it is a half surface voxel, or kept, otherwise. Finally, for meshing, we need to process all foreground voxels (i.e., p- and g-voxels) in order to compute the average position of the sets of points inside each voxel. Since the cost of creating the mesh itself is O(m), the cost of the entire meshing stage is O(n + m). Therefore, the total cost of our surface reconstruction algorithm is O(m + n) Smoothing Boundaries The representation of boundaries of surfaces is usually affected by under-sampling and noise. Also, the spatial discretization imposed by the voxelization process tends to worsen the problem. As a result, the meshing procedure described in section 3.3 tends to reconstruct ragged boundaries. This situation is illustrated in Figure 7 for the case of a mesh fragment showing a surface boundary. In order to improve the appearance of boundaries, we take groups of three consecutive boundary vertices and set the position of the middle one as a weighted average of the other two. Thus, let c be the vertex position associated with a voxel v at the boundary of a given surface S, and let c l and c r be the positions of the vertices associated with v l and v r, the left and right neighbors, respectively, of v at the same boundary. We then make c be collinear with c l and c r. As we proceed to the next group of three neighbor boundary voxels, the collinearity among c l, c and c r is lost, but the boundary smoothing effect is preserved. Using this simple procedure, the resulting boundary (Figure 7b) becomes much smoother, leading to more pleasing results. Figure 10 compares the results produced by mesh extraction without and (b) with boundary smoothing and illustrates the significant improvement obtained with this technique. (b) 3.4 Cost of the Algorithm Let n be the number of samples in the point cloud and let m be the number of voxels used to discretize its bounding box. The cost of assigning a given input point to a voxel is O(1), adding up to O(n) for the entire input data. The topological classification of one voxel is done by analyzing a finite neighborhood and, thus is O(1). Therefore, the classification of all voxels is performed in O(m). Dur- (c) Figure 8: Stanford bunny reconstructed from 10 range scans using the proposed algorithm. (b) Reconstruction of the bunny as a closed surface. (c) Reconstruction of the bunny preserving the holes (boundaries). (d) Noisy bunny. (d)

6 the ability to reconstruct non-manifold and non-orientable surfaces has more than just theoretical importance. For example, these surfaces have been represented using points [1], which one may want to visualize using polygonal models. Figure 9: The reconstruction of the dragon model obtained from 60 range scans (containing registration errors, noise and outliers) using our algorithm. 4 RESULTS We have implemented the described algorithm and used it to reconstruct manifold and non-manifold surfaces with different topologies. The point clouds used as input for the reconstruction process were obtained from actual range scans as well as from synthetic datasets. Figure 1 illustrates the versatility of our approach showing reconstruction results for different kinds of topologies. Our algorithm can be used to reconstruct closed surfaces (Figure 1b), surfaces with boundaries (Figure 1c), non-orientable surfaces (Figure 1d) and non-manifold surfaces (Figure 1e), all using a single framework. For rendering, the meshes were obtained using the procedure described in section 3.3 and were then triangulated. Vertex normals were approximated by averaging the normals of all faces sharing the given vertex. Relying on the voxelization, topological classification and gap filling procedures, our algorithm is robust to the presence of noise and irregular sampling. Figures 8 and 9 illustrate the results of the proposed algorithm applied to actual range scans. Figure 8 shows several reconstructions of the Stanford bunny obtained from a point cloud created after merging 10 range scans (containing noise and registration errors), with a total of 362,272 points. The bunny model (Figure 8a) is well known to have holes at the bottom. Figure 8(b) shows the reconstructed bunny with the holes filled, whereas in Figure 8(c) the boundaries were preserved. We also added Gaussian noise with magnitude of 1% of the size of the original bounding box to the point cloud. The resulting reconstructed model is shown in Figure 8(d). The large number of g-voxels in the noisy bunny model (see Table 2) results from the existence of many small holes due to the added noise. Figure 9 shows the Stanford dragon reconstructed with our algorithm after merging 60 range scans containing noise and registration errors. The merged dataset for this genus-2 model has about 1.7 million points and includes a number of noticeable outliers. Using our approach, the global topology is correctly reconstructed and delicate surface details are nicely preserved. No pre- or postprocessing step is required for removing the outliers. Figure 10 shows the reconstruction of a Möbius strip model (a non-manifold) and illustrates the ability of our approach to handle non-orientable surfaces with boundaries. On the left, we show the reconstructed model before boundary smoothing. Notice the ragged edges. On the right, one sees the result after our smoothing boundary algorithm has been used. The new boundaries are significantly smoother, resulting in a more pleasant model. Figure 7 shows closeup views of the two meshes for comparison. One should note that Figure 10: Reconstruction results of a non-orientable surface (Möbius strip) before and (b) after smoothing of boundaries. Figure 11 shows another view of the non-manifold model shown in Figure 1(e), which consists of two intersecting surfaces. This is a particularly challenging test and has been perfectly reconstructed by our approach. To the best of our knowledge, no other contemporary surface-reconstruction algorithm is capable of reconstructing such a model. Figure 12 shows reconstruction results for a vase model with varying sampling rates and illustrates the ability of our approach to work with sparse datasets. Figure 12 shows a point cloud obtained by randomly selecting only 20% of the points (13,619 points) from a digitized vase model. The small square highlights the irregular sampling in the resulting point cloud. Undersampling can also be observed by comparing the number of g-voxels in Table 2. The number of such voxels for the reduced model is considerably bigger, thus implying severe undersampling. Figure 12(b) shows the reconstructed model obtained from the point cloud shown in. For comparison, Figure 12(c) shows the reconstructed vase using the full dataset (68,097 points). Although it is possible to observe differences on the vase s relief and at the boundary of its base, all major features were faithfully reconstructed from a much smaller dataset. Table 2 presents some statistics associated with the models shown in the paper. Measurements were performed on a Pentium 4, 2 GHz PC with 1GB of memory. The last three columns of the table show the running times, in seconds, of the three steps of our surface reconstruction algorithm. Figure 11: Non-manifold surface reconstructed with our algorithm. The surface consists of two intersecting patches. (b)

7 Table 2: Statistics of some reconstruction results (time in seconds) Model # of input voxel # of # of # of time of time of time of points grid p-voxels g-voxels facets gap filling thinning meshing Merged Bunny 362, , , Merged Dragon 1,769, , , Möbius Strip 7, , , Intersected surfaces 20, , , Noisy bunny (with 1% noise) 34, ,122 13,917 35, Vase 68, , , Undersampled Vase 13, ,413 6,092 13, level or missing samples, the assumption might be broken and the proposed algorithm will not work. 5 CONCLUSIONS AND FUTURE WORK (b) (c) Figure 12: Reconstruction of sparsely and unevenly sampled objects: A point cloud obtained by randomly selecting 20% of the points (13,619 points) of a digitized vase model. The small square highlights the irregular sampling. (b) Vase model reconstructed from the point cloud in. (c) Vase reconstructed from the full point cloud (68,097 points). Notice that all important features were appropriately reconstructed in (b). 4.1 Discussion and Limitations For models with dense and regular samples, we obtain voxel surfaces with correct local topological types for each voxel. In the presence of noise, sample positions tend to be shifted, creating inflated voxel surfaces and possibly introducing small gaps in the surface. In most cases, the level of noise in the dataset is smaller than the voxel size. Thus the introduced gaps are at most one voxel wide and can be filled with ease using Algorithm 3 with L = 2. Our approach subdivides the bounding box of the point cloud into voxels with uniform sizes. While the use of an adaptive data structure, such as an octree, has advantages in terms of memory requirements, the topological thinning algorithm requires a constant voxel size. Note that using small voxels impacts the running time of the algorithm. Thus, the most suitable voxel size can be understood as the biggest one that still allows the reconstruction of the intended surface details. Such a value can be obtained based on the user experience or using a binary-search-based trial and error process. Our approach does not require point normals. However, if the dataset contains normals, they can be used to help thinning and meshing. For instance, the sub-directions for thinning could be reduced from 6 to 2 and one could further optimize the obtained mesh by applying the constraints on surface normals. The major limitation of the proposed approach is that the hole filling algorithm relies on the assumption that the size of gaps to be filled is smaller than the size of separation between surface components, which should not be filled. In the case of increased noise We have presented a new approach for surface reconstruction from unorganized points. Our approach can naturally handle both manifold and non-manifold surfaces, surfaces with boundaries and nonorientable surfaces using a single framework. Our method is robust to irregular and sparse sampling, and to surface gaps. By not relying on normals, it is relatively robust to the presence of noise. We have demonstrated the effectiveness of the proposed approach by reconstructing geometric models directly from range scans of real objects containing noise and registration errors. The user can decide whether gaps and holes should be filled or not. The approach is based on simple local operations, resulting in a fast, parallelizable and easy to implement procedure. We have shown that the cost of the algorithm varies linearly with the size of the point cloud and with the number of voxels used to discretize the space. Along with the surface-reconstruction method, we presented an extension to Tsao s and Fu s thinning algorithm [22] that preserves surface boundaries. This new algorithm might be useful for other applications that require non-essential geometric data to be discarded, while preserving boundaries. We have also extended Azernikov s meshing algorithm [4] to support non-manifold surfaces and introduced a new smoothing boundary algorithm that significantly improves the quality of the reconstructed surface boundaries. The use of a fixed voxel size leads to unnecessary processing on locally flat regions without holes. The use of an adaptive framework (octree-like) based on the local geometry and topology of the surface patch inside a voxel could be used to skip this processing. Recently, Tchon et al. [20] report an approach for thinning on octrees. Also, the topological thinning approach may smooth some sharp features. For really curved regions, the reconstructed surface may be shifted from the real one. Currently, the voxel size is a user-specified parameter. We would like to devise a mechanism for easily detecting different surface features inside voxels. Such a mechanism should help to guide an octree subdivision process, lending to an adaptive version of our surface-reconstruction algorithm. This is conceptually similar to what has been recently described by Ohtake and collaborators [18]. We also want to use graphics hardware to accelerate our method. Developing post-processing methods for the resulting mesh to handle sharp features is another important avenue for future exploration. The use of non-manifold subdivision [25] may help to improve the quality of the resulting mesh. ACKNOWLEDGMENTS This work is partially supported by NSF grant CCR and FAPERGS (Brazil) Processo No 03/ The bunny and

8 dragon datasets are courtesy of the Stanford 3D scanning repository. The vase model was provided by Cyberware. REFERENCES [1] Anders Adamson and Marc Alexa. Approximating bounded, nonorientable surfaces from points. Shape Modeling International, pages , [2] Marc Alexa, Johannes Behr, Daniel Cohen-Or, Shachar Fleishman, David Levin, and Claudio T. Silva. Point set surfaces. IEEE Visualization, pages 21 28, [3] Nina Amenta, Marshall Bern, and Manolis Kamvysselis. A new voronoi-based surface reconstruction algorithm. SIGGRAPH, pages , [4] Sergei Azernikov, Alex Miropolsky, and Anath Fischer. Surface reconstruction of freeform objects based on multiresolution volumetric method. the 8th ACM symposium on Solid modeling and applications, pages , [5] Fausto Bernardini, Joshua Mittleman, Holly Rushmeier, Claudio Silva, and Gabriel Taubin. The ball-pivoting algorithm for surface reconstruction. IEEE Trans. on Visualization and Computer Graphics, 5(4): , [6] Andrew Blake and Michael Isard. Active Contours. Springer-Verlag, [7] Jules Bloomenthal, editor. Introduction to Implicit Surfaces. Morgan Kaufmann, [8] Jules Bloomenthal and Keith Ferguson. Polygonization of nonmanifold implicit surfaces. SIGGRAPH, pages , [9] J.C. Carr, R.K. Beatson, J.B. Cherrie, T.J. Mitchell, W.R. Fright, B.C. McCallum, and T.R. Evans. Reconstruction and representation of 3D objects with radial basis functions. SIGGRAPH, pages 67 76, [10] Herbert Edelsbrunner and Ernst P. Mucke. Three-dimensional alpha shapes. ACM Trans. on Graphics, 13:43 72, [11] M. Gopi and S. Krishnan. A fast and efficient projection based approach for surface reconstruction. International Journal of High Performance Computer Graphics, Multimedia and Visualisation, 1(1):1 12, [12] Tim Van Hook. Real-time shaded NC milling display. SIGGRAPH, pages 15 20, [13] Hugues Hoppe, Tony DeRose, Tom Duchamp, John McDonald, and Werner Stuetzle. Surface reconstruction from unorganized points. SIGGRAPH, pages 71 78, [14] Tao Ju. Robust repair of polygonal models. SIGGRAPH, pages , [15] Marc Levoy, Kari Pulli, Brian Curless, Szymon Rusinkiewicz, David Koller, Lucas Pereira, Matt Ginzton, Sean Anderson, James Davis, Jeremy Ginsberg, Jonathan Shade, and Duane Fulk. The digital michelangelo project: 3D scanning of large statues. SIGGRAPH, pages , [16] William E. Lorensen and Harvey E. Cline. Marching cubes: A high resolution 3D surface construction algorithm. SIGGRAPH, pages , [17] Bryan S. Morse, Terry S. Yoo, Penny Rheingans, David T. Chen, and K.R. Subramanian. Interpolating implicit surfaces from scattered surface data using compactly supported radial basis functions. Shape Modeling International, pages 89 98, [18] Yutaka Ohtake, Alexander Belyaev, Marc Alexa, Greg Turk, and Hans-Peter Seidel. Multi-level partition of unity implicits. SIG- GRAPH, pages , [19] Stan Sclaroff and Alex Pentland. Generalized implicit functions for computer graphics. SIGGRAPH, 25(4): , [20] Ko-Foa Tchon, Mohammed Khachan, Francois Guibault, and Ricardo Camarero. Constructing anisotropic geometric metrics using octrees and skeletons. In 12th International Meshing Rountable, pages , September [21] D. Terzopoulos and D. Metaxas. Dynamic 3d models with local and global deformations: Deformable superquadrics. IEEE Trans. on Pattern Analysis and Machine Intelligence, 13: , [22] Y.F. Tsao and K.S. Fu. A parallel thinning algorithm for 3D pictures. Computer Graphics and Image Processing, 17: , [23] Greg Turk and James O Brien. Variational implicit surfaces. Technical Report GIT-GVU-99-15, Georgia Institute of Technology, [24] Tamás Várady, Ralph R. Martin, and Jordan Cox. Reverse engineering of geometric models - an introduction. Computer Aided Design, 29(4): , [25] Lexing Ying and Denis Zorin. Nonmanifold subdivision. IEEE Visualization, pages , 2001.

Delaunay Based Shape Reconstruction from Large Data

Delaunay Based Shape Reconstruction from Large Data Delaunay Based Shape Reconstruction from Large Data Tamal K. Dey Joachim Giesen James Hudson Ohio State University, Columbus, OH 4321, USA Abstract Surface reconstruction provides a powerful paradigm for

More information

Model Repair. Leif Kobbelt RWTH Aachen University )NPUT $ATA 2EMOVAL OF TOPOLOGICAL AND GEOMETRICAL ERRORS !NALYSIS OF SURFACE QUALITY

Model Repair. Leif Kobbelt RWTH Aachen University )NPUT $ATA 2EMOVAL OF TOPOLOGICAL AND GEOMETRICAL ERRORS !NALYSIS OF SURFACE QUALITY )NPUT $ATA 2ANGE 3CAN #!$ 4OMOGRAPHY 2EMOVAL OF TOPOLOGICAL AND GEOMETRICAL ERRORS!NALYSIS OF SURFACE QUALITY 3URFACE SMOOTHING FOR NOISE REMOVAL 0ARAMETERIZATION 3IMPLIFICATION FOR COMPLEXITY REDUCTION

More information

How To Create A Surface From Points On A Computer With A Marching Cube

How To Create A Surface From Points On A Computer With A Marching Cube Surface Reconstruction from a Point Cloud with Normals Landon Boyd and Massih Khorvash Department of Computer Science University of British Columbia,2366 Main Mall Vancouver, BC, V6T1Z4, Canada {blandon,khorvash}@cs.ubc.ca

More information

Dual Marching Cubes: Primal Contouring of Dual Grids

Dual Marching Cubes: Primal Contouring of Dual Grids Dual Marching Cubes: Primal Contouring of Dual Grids Scott Schaefer and Joe Warren Rice University 6100 Main St. Houston, TX 77005 [email protected] and [email protected] Abstract We present a method for

More information

A unified representation for interactive 3D modeling

A unified representation for interactive 3D modeling A unified representation for interactive 3D modeling Dragan Tubić, Patrick Hébert, Jean-Daniel Deschênes and Denis Laurendeau Computer Vision and Systems Laboratory, University Laval, Québec, Canada [tdragan,hebert,laurendeau]@gel.ulaval.ca

More information

On Fast Surface Reconstruction Methods for Large and Noisy Point Clouds

On Fast Surface Reconstruction Methods for Large and Noisy Point Clouds On Fast Surface Reconstruction Methods for Large and Noisy Point Clouds Zoltan Csaba Marton, Radu Bogdan Rusu, Michael Beetz Intelligent Autonomous Systems, Technische Universität München {marton,rusu,beetz}@cs.tum.edu

More information

Segmentation of building models from dense 3D point-clouds

Segmentation of building models from dense 3D point-clouds Segmentation of building models from dense 3D point-clouds Joachim Bauer, Konrad Karner, Konrad Schindler, Andreas Klaus, Christopher Zach VRVis Research Center for Virtual Reality and Visualization, Institute

More information

A Generalized Marching Cubes Algorithm Based On Non-Binary Classifications

A Generalized Marching Cubes Algorithm Based On Non-Binary Classifications Konrad-Zuse-Zentrum fu r Informationstechnik Berlin Takustraße 7 D-14195 Berlin-Dahlem Germany HANS-CHRISTIAN HEGE DETLEV STALLING MARTIN SEEBASS MALTE ZOCKLER A Generalized Marching Cubes Algorithm Based

More information

Part-Based Recognition

Part-Based Recognition Part-Based Recognition Benedict Brown CS597D, Fall 2003 Princeton University CS 597D, Part-Based Recognition p. 1/32 Introduction Many objects are made up of parts It s presumably easier to identify simple

More information

Surface Curvature from Laser Triangulation Data. John Rugis ELECTRICAL & COMPUTER ENGINEERING

Surface Curvature from Laser Triangulation Data. John Rugis ELECTRICAL & COMPUTER ENGINEERING Surface Curvature from Laser Triangulation Data John Rugis ELECTRICAL & COMPUTER ENGINEERING 1) Laser scan data? Application: Digital archive, preserve, restore. Cultural and scientific heritage. Michelangelo

More information

From Scattered Samples to Smooth Surfaces

From Scattered Samples to Smooth Surfaces From Scattered Samples to Smooth Surfaces Kai Hormann 1 California Institute of Technology (a) (b) (c) (d) Figure 1: A point cloud with 4,100 scattered samples (a), its triangulation with 7,938 triangles

More information

Anatomic Modeling from Unstructured Samples Using Variational Implicit Surfaces

Anatomic Modeling from Unstructured Samples Using Variational Implicit Surfaces Studies in Health Technology and Informatics, vol. 81 (Proceedings of Medicine Meets Virtual Reality 2001. J. D. Westwood, et al., eds.), Amsterdam: IOS Press, pp. 594-600. Anatomic Modeling from Unstructured

More information

The Ball-Pivoting Algorithm for Surface Reconstruction

The Ball-Pivoting Algorithm for Surface Reconstruction 1 The Ball-Pivoting Algorithm for Surface Reconstruction Fausto Bernardini Joshua Mittleman Holly Rushmeier Cláudio Silva Gabriel Taubin Abstract The Ball-Pivoting Algorithm (BPA) computes a triangle mesh

More information

We can display an object on a monitor screen in three different computer-model forms: Wireframe model Surface Model Solid model

We can display an object on a monitor screen in three different computer-model forms: Wireframe model Surface Model Solid model CHAPTER 4 CURVES 4.1 Introduction In order to understand the significance of curves, we should look into the types of model representations that are used in geometric modeling. Curves play a very significant

More information

Recovering Primitives in 3D CAD meshes

Recovering Primitives in 3D CAD meshes Recovering Primitives in 3D CAD meshes Roseline Bénière a,c, Gérard Subsol a, Gilles Gesquière b, François Le Breton c and William Puech a a LIRMM, Univ. Montpellier 2, CNRS, 161 rue Ada, 34392, France;

More information

Computing and Rendering Point Set Surfaces

Computing and Rendering Point Set Surfaces IEEE TVCG 9(1) Jan 2003 Computing and Rendering Point Set Surfaces Marc Alexa TU Darmstadt Johannes Behr ZGDV Darmstadt Daniel Cohen-Or Tel Aviv University Shachar Fleishman Tel Aviv University David Levin

More information

Efficient Simplification of Point-Sampled Surfaces

Efficient Simplification of Point-Sampled Surfaces Efficient Simplification of Point-Sampled Surfaces Mark Pauly Markus Gross Leif P Kobbelt ETH Zürich ETH Zürich RWTH Aachen Figure 1: Michelangelo s David at different levels-of-detail From left to right,

More information

Constrained Tetrahedral Mesh Generation of Human Organs on Segmented Volume *

Constrained Tetrahedral Mesh Generation of Human Organs on Segmented Volume * Constrained Tetrahedral Mesh Generation of Human Organs on Segmented Volume * Xiaosong Yang 1, Pheng Ann Heng 2, Zesheng Tang 3 1 Department of Computer Science and Technology, Tsinghua University, Beijing

More information

The Essentials of CAGD

The Essentials of CAGD The Essentials of CAGD Chapter 2: Lines and Planes Gerald Farin & Dianne Hansford CRC Press, Taylor & Francis Group, An A K Peters Book www.farinhansford.com/books/essentials-cagd c 2000 Farin & Hansford

More information

How To Create A Triangulation From A Point Cloud

How To Create A Triangulation From A Point Cloud Eurographics Symposium on Geometry Processing (2004) R. Scopigno, D. Zorin, (Editors) Spectral Surface Reconstruction from Noisy Point Clouds Ravikrishna Kolluri Jonathan Richard Shewchuk James F. O Brien

More information

Neural Gas for Surface Reconstruction

Neural Gas for Surface Reconstruction Neural Gas for Surface Reconstruction Markus Melato, Barbara Hammer, Kai Hormann IfI Technical Report Series IfI-07-08 Impressum Publisher: Institut für Informatik, Technische Universität Clausthal Julius-Albert

More information

A HYBRID APPROACH FOR AUTOMATED AREA AGGREGATION

A HYBRID APPROACH FOR AUTOMATED AREA AGGREGATION A HYBRID APPROACH FOR AUTOMATED AREA AGGREGATION Zeshen Wang ESRI 380 NewYork Street Redlands CA 92373 [email protected] ABSTRACT Automated area aggregation, which is widely needed for mapping both natural

More information

GUIDE TO POST-PROCESSING OF THE POINT CLOUD

GUIDE TO POST-PROCESSING OF THE POINT CLOUD GUIDE TO POST-PROCESSING OF THE POINT CLOUD Contents Contents 3 Reconstructing the point cloud with MeshLab 16 Reconstructing the point cloud with CloudCompare 2 Reconstructing the point cloud with MeshLab

More information

SCALABILITY OF CONTEXTUAL GENERALIZATION PROCESSING USING PARTITIONING AND PARALLELIZATION. Marc-Olivier Briat, Jean-Luc Monnot, Edith M.

SCALABILITY OF CONTEXTUAL GENERALIZATION PROCESSING USING PARTITIONING AND PARALLELIZATION. Marc-Olivier Briat, Jean-Luc Monnot, Edith M. SCALABILITY OF CONTEXTUAL GENERALIZATION PROCESSING USING PARTITIONING AND PARALLELIZATION Abstract Marc-Olivier Briat, Jean-Luc Monnot, Edith M. Punt Esri, Redlands, California, USA [email protected], [email protected],

More information

Reconstruction of Solid Models from Oriented Point Sets

Reconstruction of Solid Models from Oriented Point Sets Eurographics Symposium on Geometry Processing (2005) M. Desbrun, H. Pottmann (Editors) Reconstruction of Solid Models from Oriented Point Sets Michael Kazhdan Abstract In this paper we present a novel

More information

Curves and Surfaces. Goals. How do we draw surfaces? How do we specify a surface? How do we approximate a surface?

Curves and Surfaces. Goals. How do we draw surfaces? How do we specify a surface? How do we approximate a surface? Curves and Surfaces Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces [Angel 10.1-10.6] Goals How do we draw surfaces? Approximate with polygons Draw polygons

More information

Parallel Simplification of Large Meshes on PC Clusters

Parallel Simplification of Large Meshes on PC Clusters Parallel Simplification of Large Meshes on PC Clusters Hua Xiong, Xiaohong Jiang, Yaping Zhang, Jiaoying Shi State Key Lab of CAD&CG, College of Computer Science Zhejiang University Hangzhou, China April

More information

Mean Value Coordinates

Mean Value Coordinates Mean Value Coordinates Michael S. Floater Abstract: We derive a generalization of barycentric coordinates which allows a vertex in a planar triangulation to be expressed as a convex combination of its

More information

Robust NURBS Surface Fitting from Unorganized 3D Point Clouds for Infrastructure As-Built Modeling

Robust NURBS Surface Fitting from Unorganized 3D Point Clouds for Infrastructure As-Built Modeling 81 Robust NURBS Surface Fitting from Unorganized 3D Point Clouds for Infrastructure As-Built Modeling Andrey Dimitrov 1 and Mani Golparvar-Fard 2 1 Graduate Student, Depts of Civil Eng and Engineering

More information

A NEW METHOD OF STORAGE AND VISUALIZATION FOR MASSIVE POINT CLOUD DATASET

A NEW METHOD OF STORAGE AND VISUALIZATION FOR MASSIVE POINT CLOUD DATASET 22nd CIPA Symposium, October 11-15, 2009, Kyoto, Japan A NEW METHOD OF STORAGE AND VISUALIZATION FOR MASSIVE POINT CLOUD DATASET Zhiqiang Du*, Qiaoxiong Li State Key Laboratory of Information Engineering

More information

Interactive 3D Medical Visualization: A Parallel Approach to Surface Rendering 3D Medical Data

Interactive 3D Medical Visualization: A Parallel Approach to Surface Rendering 3D Medical Data Interactive 3D Medical Visualization: A Parallel Approach to Surface Rendering 3D Medical Data Terry S. Yoo and David T. Chen Department of Computer Science University of North Carolina Chapel Hill, NC

More information

Binary Image Scanning Algorithm for Cane Segmentation

Binary Image Scanning Algorithm for Cane Segmentation Binary Image Scanning Algorithm for Cane Segmentation Ricardo D. C. Marin Department of Computer Science University Of Canterbury Canterbury, Christchurch [email protected] Tom

More information

Topological Data Analysis Applications to Computer Vision

Topological Data Analysis Applications to Computer Vision Topological Data Analysis Applications to Computer Vision Vitaliy Kurlin, http://kurlin.org Microsoft Research Cambridge and Durham University, UK Topological Data Analysis quantifies topological structures

More information

Multiphysics Software Applications in Reverse Engineering

Multiphysics Software Applications in Reverse Engineering Multiphysics Software Applications in Reverse Engineering *W. Wang 1, K. Genc 2 1 University of Massachusetts Lowell, Lowell, MA, USA 2 Simpleware, Exeter, United Kingdom *Corresponding author: University

More information

Faculty of Computer Science Computer Graphics Group. Final Diploma Examination

Faculty of Computer Science Computer Graphics Group. Final Diploma Examination Faculty of Computer Science Computer Graphics Group Final Diploma Examination Communication Mechanisms for Parallel, Adaptive Level-of-Detail in VR Simulations Author: Tino Schwarze Advisors: Prof. Dr.

More information

Volumetric Meshes for Real Time Medical Simulations

Volumetric Meshes for Real Time Medical Simulations Volumetric Meshes for Real Time Medical Simulations Matthias Mueller and Matthias Teschner Computer Graphics Laboratory ETH Zurich, Switzerland [email protected], http://graphics.ethz.ch/ Abstract.

More information

Volume visualization I Elvins

Volume visualization I Elvins Volume visualization I Elvins 1 surface fitting algorithms marching cubes dividing cubes direct volume rendering algorithms ray casting, integration methods voxel projection, projected tetrahedra, splatting

More information

Computer Graphics. Geometric Modeling. Page 1. Copyright Gotsman, Elber, Barequet, Karni, Sheffer Computer Science - Technion. An Example.

Computer Graphics. Geometric Modeling. Page 1. Copyright Gotsman, Elber, Barequet, Karni, Sheffer Computer Science - Technion. An Example. An Example 2 3 4 Outline Objective: Develop methods and algorithms to mathematically model shape of real world objects Categories: Wire-Frame Representation Object is represented as as a set of points

More information

Bernice E. Rogowitz and Holly E. Rushmeier IBM TJ Watson Research Center, P.O. Box 704, Yorktown Heights, NY USA

Bernice E. Rogowitz and Holly E. Rushmeier IBM TJ Watson Research Center, P.O. Box 704, Yorktown Heights, NY USA Are Image Quality Metrics Adequate to Evaluate the Quality of Geometric Objects? Bernice E. Rogowitz and Holly E. Rushmeier IBM TJ Watson Research Center, P.O. Box 704, Yorktown Heights, NY USA ABSTRACT

More information

A Short Introduction to Computer Graphics

A Short Introduction to Computer Graphics A Short Introduction to Computer Graphics Frédo Durand MIT Laboratory for Computer Science 1 Introduction Chapter I: Basics Although computer graphics is a vast field that encompasses almost any graphical

More information

Point Cloud Segmentation via Constrained Nonlinear Least Squares Surface Normal Estimates

Point Cloud Segmentation via Constrained Nonlinear Least Squares Surface Normal Estimates Point Cloud Segmentation via Constrained Nonlinear Least Squares Surface Normal Estimates Edward Castillo Radiation Oncology Department University of Texas MD Anderson Cancer Center, Houston TX [email protected]

More information

Efficient Storage, Compression and Transmission

Efficient Storage, Compression and Transmission Efficient Storage, Compression and Transmission of Complex 3D Models context & problem definition general framework & classification our new algorithm applications for digital documents Mesh Decimation

More information

Feature Sensitive Surface Extraction from Volume Data

Feature Sensitive Surface Extraction from Volume Data Feature Sensitive Surface Extraction from Volume Data Leif P. Kobbelt Mario Botsch Ulrich Schwanecke Hans-Peter Seidel Computer Graphics Group, RWTH-Aachen Computer Graphics Group, MPI Saarbrücken Figure

More information

The Scientific Data Mining Process

The Scientific Data Mining Process Chapter 4 The Scientific Data Mining Process When I use a word, Humpty Dumpty said, in rather a scornful tone, it means just what I choose it to mean neither more nor less. Lewis Carroll [87, p. 214] In

More information

MA 323 Geometric Modelling Course Notes: Day 02 Model Construction Problem

MA 323 Geometric Modelling Course Notes: Day 02 Model Construction Problem MA 323 Geometric Modelling Course Notes: Day 02 Model Construction Problem David L. Finn November 30th, 2004 In the next few days, we will introduce some of the basic problems in geometric modelling, and

More information

PCL - SURFACE RECONSTRUCTION

PCL - SURFACE RECONSTRUCTION PCL - SURFACE RECONSTRUCTION TOYOTA CODE SPRINT Alexandru-Eugen Ichim Computer Graphics and Geometry Laboratory PROBLEM DESCRIPTION 1/2 3D revolution due to cheap RGB-D cameras (Asus Xtion & Microsoft

More information

Computer Graphics CS 543 Lecture 12 (Part 1) Curves. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Computer Graphics CS 543 Lecture 12 (Part 1) Curves. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI) Computer Graphics CS 54 Lecture 1 (Part 1) Curves Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) So Far Dealt with straight lines and flat surfaces Real world objects include

More information

Off-line Model Simplification for Interactive Rigid Body Dynamics Simulations Satyandra K. Gupta University of Maryland, College Park

Off-line Model Simplification for Interactive Rigid Body Dynamics Simulations Satyandra K. Gupta University of Maryland, College Park NSF GRANT # 0727380 NSF PROGRAM NAME: Engineering Design Off-line Model Simplification for Interactive Rigid Body Dynamics Simulations Satyandra K. Gupta University of Maryland, College Park Atul Thakur

More information

The GeoMedia Fusion Validate Geometry command provides the GUI for detecting geometric anomalies on a single feature.

The GeoMedia Fusion Validate Geometry command provides the GUI for detecting geometric anomalies on a single feature. The GeoMedia Fusion Validate Geometry command provides the GUI for detecting geometric anomalies on a single feature. Below is a discussion of the Standard Advanced Validate Geometry types. Empty Geometry

More information

Jiří Matas. Hough Transform

Jiří Matas. Hough Transform Hough Transform Jiří Matas Center for Machine Perception Department of Cybernetics, Faculty of Electrical Engineering Czech Technical University, Prague Many slides thanks to Kristen Grauman and Bastian

More information

Surface Reconstruction from Point Clouds

Surface Reconstruction from Point Clouds BOURNEMOUTH UNIVERSITY Surface Reconstruction from Point Clouds Master Thesis Navpreet Kaur Pawar M.Sc. Computer Animation and Visual Effects Supervisor: - Jon Macey 15-AUG-2013 ABSTRACT Recent advancement

More information

SECONDARY STORAGE TERRAIN VISUALIZATION IN A CLIENT-SERVER ENVIRONMENT: A SURVEY

SECONDARY STORAGE TERRAIN VISUALIZATION IN A CLIENT-SERVER ENVIRONMENT: A SURVEY SECONDARY STORAGE TERRAIN VISUALIZATION IN A CLIENT-SERVER ENVIRONMENT: A SURVEY Kai Xu and Xiaofang Zhou School of Information Technology and Electrical Engineering The University of Queensland, Brisbane,

More information

Visibility Map for Global Illumination in Point Clouds

Visibility Map for Global Illumination in Point Clouds TIFR-CRCE 2008 Visibility Map for Global Illumination in Point Clouds http://www.cse.iitb.ac.in/ sharat Acknowledgments: Joint work with Rhushabh Goradia. Thanks to ViGIL, CSE dept, and IIT Bombay (Based

More information

Topographic Change Detection Using CloudCompare Version 1.0

Topographic Change Detection Using CloudCompare Version 1.0 Topographic Change Detection Using CloudCompare Version 1.0 Emily Kleber, Arizona State University Edwin Nissen, Colorado School of Mines J Ramón Arrowsmith, Arizona State University Introduction CloudCompare

More information

Data Mining. Cluster Analysis: Advanced Concepts and Algorithms

Data Mining. Cluster Analysis: Advanced Concepts and Algorithms Data Mining Cluster Analysis: Advanced Concepts and Algorithms Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 1 More Clustering Methods Prototype-based clustering Density-based clustering Graph-based

More information

Fast and Robust Normal Estimation for Point Clouds with Sharp Features

Fast and Robust Normal Estimation for Point Clouds with Sharp Features 1/37 Fast and Robust Normal Estimation for Point Clouds with Sharp Features Alexandre Boulch & Renaud Marlet University Paris-Est, LIGM (UMR CNRS), Ecole des Ponts ParisTech Symposium on Geometry Processing

More information

Consolidated Visualization of Enormous 3D Scan Point Clouds with Scanopy

Consolidated Visualization of Enormous 3D Scan Point Clouds with Scanopy Consolidated Visualization of Enormous 3D Scan Point Clouds with Scanopy Claus SCHEIBLAUER 1 / Michael PREGESBAUER 2 1 Institute of Computer Graphics and Algorithms, Vienna University of Technology, Austria

More information

Data Visualization. Principles and Practice. Second Edition. Alexandru Telea

Data Visualization. Principles and Practice. Second Edition. Alexandru Telea Data Visualization Principles and Practice Second Edition Alexandru Telea First edition published in 2007 by A K Peters, Ltd. Cover image: The cover shows the combination of scientific visualization and

More information

HistoPyramid stream compaction and expansion

HistoPyramid stream compaction and expansion HistoPyramid stream compaction and expansion Christopher Dyken1 * and Gernot Ziegler2 Advanced Computer Graphics / Vision Seminar TU Graz 23/10-2007 1 2 University of Oslo Max-Planck-Institut fu r Informatik,

More information

Categorical Data Visualization and Clustering Using Subjective Factors

Categorical Data Visualization and Clustering Using Subjective Factors Categorical Data Visualization and Clustering Using Subjective Factors Chia-Hui Chang and Zhi-Kai Ding Department of Computer Science and Information Engineering, National Central University, Chung-Li,

More information

Customer Training Material. Lecture 4. Meshing in Mechanical. Mechanical. ANSYS, Inc. Proprietary 2010 ANSYS, Inc. All rights reserved.

Customer Training Material. Lecture 4. Meshing in Mechanical. Mechanical. ANSYS, Inc. Proprietary 2010 ANSYS, Inc. All rights reserved. Lecture 4 Meshing in Mechanical Introduction to ANSYS Mechanical L4-1 Chapter Overview In this chapter controlling meshing operations is described. Topics: A. Global Meshing Controls B. Local Meshing Controls

More information

A HYBRID GROUND DATA MODEL TO SUPPORT INTERACTION IN MECHANIZED TUNNELING

A HYBRID GROUND DATA MODEL TO SUPPORT INTERACTION IN MECHANIZED TUNNELING A HYBRID GROUND DATA MODEL TO SUPPORT INTERACTION IN MECHANIZED TUNNELING F. HEGEMANN P. MANICKAM K. LEHNER M. KÖNIG D. HARTMANN Department of Civil and Environmental Engineering, Ruhr-University of Bochum,44780

More information

Surface Reconstruction from Point Cloud of Human Body by Clustering

Surface Reconstruction from Point Cloud of Human Body by Clustering Systems and Computers in Japan, Vol. 37, No. 11, 2006 Translated from Denshi Joho Tsushin Gakkai Ronbunshi, Vol. J87-D-II, No. 2, February 2004, pp. 649 660 Surface Reconstruction from Point Cloud of Human

More information

A new point cloud simplification algorithm

A new point cloud simplification algorithm A new point cloud simplification algorithm Carsten Moenning Computer Laboratory University of Cambridge 15 JJ Thomson Avenue Cambridge CB3 0FD - UK email: [email protected] Neil A. Dodgson Computer Laboratory

More information

Introduction to Computer Graphics

Introduction to Computer Graphics Introduction to Computer Graphics Torsten Möller TASC 8021 778-782-2215 [email protected] www.cs.sfu.ca/~torsten Today What is computer graphics? Contents of this course Syllabus Overview of course topics

More information

Colour Image Segmentation Technique for Screen Printing

Colour Image Segmentation Technique for Screen Printing 60 R.U. Hewage and D.U.J. Sonnadara Department of Physics, University of Colombo, Sri Lanka ABSTRACT Screen-printing is an industry with a large number of applications ranging from printing mobile phone

More information

Computational Geometry. Lecture 1: Introduction and Convex Hulls

Computational Geometry. Lecture 1: Introduction and Convex Hulls Lecture 1: Introduction and convex hulls 1 Geometry: points, lines,... Plane (two-dimensional), R 2 Space (three-dimensional), R 3 Space (higher-dimensional), R d A point in the plane, 3-dimensional space,

More information

Modelling 3D Avatar for Virtual Try on

Modelling 3D Avatar for Virtual Try on Modelling 3D Avatar for Virtual Try on NADIA MAGNENAT THALMANN DIRECTOR MIRALAB UNIVERSITY OF GENEVA DIRECTOR INSTITUTE FOR MEDIA INNOVATION, NTU, SINGAPORE WWW.MIRALAB.CH/ Creating Digital Humans Vertex

More information

Surface Reconstruction from Point Clouds

Surface Reconstruction from Point Clouds Autonomous Systems Lab Prof. Roland Siegwart Bachelor-Thesis Surface Reconstruction from Point Clouds Spring Term 2010 Supervised by: Andreas Breitenmoser François Pomerleau Author: Inna Tishchenko Abstract

More information

Canny Edge Detection

Canny Edge Detection Canny Edge Detection 09gr820 March 23, 2009 1 Introduction The purpose of edge detection in general is to significantly reduce the amount of data in an image, while preserving the structural properties

More information

Geometry and Topology from Point Cloud Data

Geometry and Topology from Point Cloud Data Geometry and Topology from Point Cloud Data Tamal K. Dey Department of Computer Science and Engineering The Ohio State University Dey (2011) Geometry and Topology from Point Cloud Data WALCOM 11 1 / 51

More information

2.5 Physically-based Animation

2.5 Physically-based Animation 2.5 Physically-based Animation 320491: Advanced Graphics - Chapter 2 74 Physically-based animation Morphing allowed us to animate between two known states. Typically, only one state of an object is known.

More information

Distributed Dynamic Load Balancing for Iterative-Stencil Applications

Distributed Dynamic Load Balancing for Iterative-Stencil Applications Distributed Dynamic Load Balancing for Iterative-Stencil Applications G. Dethier 1, P. Marchot 2 and P.A. de Marneffe 1 1 EECS Department, University of Liege, Belgium 2 Chemical Engineering Department,

More information

Voronoi Treemaps in D3

Voronoi Treemaps in D3 Voronoi Treemaps in D3 Peter Henry University of Washington [email protected] Paul Vines University of Washington [email protected] ABSTRACT Voronoi treemaps are an alternative to traditional rectangular

More information

Intersection of a Line and a Convex. Hull of Points Cloud

Intersection of a Line and a Convex. Hull of Points Cloud Applied Mathematical Sciences, Vol. 7, 213, no. 13, 5139-5149 HIKARI Ltd, www.m-hikari.com http://dx.doi.org/1.12988/ams.213.37372 Intersection of a Line and a Convex Hull of Points Cloud R. P. Koptelov

More information

MapReduce Approach to Collective Classification for Networks

MapReduce Approach to Collective Classification for Networks MapReduce Approach to Collective Classification for Networks Wojciech Indyk 1, Tomasz Kajdanowicz 1, Przemyslaw Kazienko 1, and Slawomir Plamowski 1 Wroclaw University of Technology, Wroclaw, Poland Faculty

More information

Visualisation in the Google Cloud

Visualisation in the Google Cloud Visualisation in the Google Cloud by Kieran Barker, 1 School of Computing, Faculty of Engineering ABSTRACT Providing software as a service is an emerging trend in the computing world. This paper explores

More information

Robust Blind Watermarking Mechanism For Point Sampled Geometry

Robust Blind Watermarking Mechanism For Point Sampled Geometry Robust Blind Watermarking Mechanism For Point Sampled Geometry Parag Agarwal Balakrishnan Prabhakaran Department of Computer Science, University of Texas at Dallas MS EC 31, PO Box 830688, Richardson,

More information

Image Based Rendering With Stable Frame Rates

Image Based Rendering With Stable Frame Rates huamin Department Image Based Rendering With Stable Frame Rates Huamin Qu Ming Wan Jiafa Qin Arie Kaufman Center for Visual Computing (CVC) and Department of Computer Science State University of New York

More information

Normal Estimation for Point Clouds: A Comparison Study for a Voronoi Based Method

Normal Estimation for Point Clouds: A Comparison Study for a Voronoi Based Method Eurographics Symposium on Point-Based Graphics (2005) M. Pauly, M. Zwicker, (Editors) Normal Estimation for Point Clouds: A Comparison Study for a Voronoi Based Method Tamal K. Dey Gang Li Jian Sun The

More information

Representing Geography

Representing Geography 3 Representing Geography OVERVIEW This chapter introduces the concept of representation, or the construction of a digital model of some aspect of the Earth s surface. The geographic world is extremely

More information

PATTERN RECOGNITION AND MACHINE LEARNING CHAPTER 4: LINEAR MODELS FOR CLASSIFICATION

PATTERN RECOGNITION AND MACHINE LEARNING CHAPTER 4: LINEAR MODELS FOR CLASSIFICATION PATTERN RECOGNITION AND MACHINE LEARNING CHAPTER 4: LINEAR MODELS FOR CLASSIFICATION Introduction In the previous chapter, we explored a class of regression models having particularly simple analytical

More information

How To Draw In Autocad

How To Draw In Autocad DXF Import and Export for EASE 4.0 Page 1 of 9 DXF Import and Export for EASE 4.0 Bruce C. Olson, Dr. Waldemar Richert ADA Copyright 2002 Acoustic Design Ahnert EASE 4.0 allows both the import and export

More information

3D Face Modeling. Vuong Le. IFP group, Beckman Institute University of Illinois ECE417 Spring 2013

3D Face Modeling. Vuong Le. IFP group, Beckman Institute University of Illinois ECE417 Spring 2013 3D Face Modeling Vuong Le IFP group, Beckman Institute University of Illinois ECE417 Spring 2013 Contents Motivation 3D facial geometry modeling 3D facial geometry acquisition 3D facial deformation modeling

More information

Triangulation by Ear Clipping

Triangulation by Ear Clipping Triangulation by Ear Clipping David Eberly Geometric Tools, LLC http://www.geometrictools.com/ Copyright c 1998-2016. All Rights Reserved. Created: November 18, 2002 Last Modified: August 16, 2015 Contents

More information

Social Media Mining. Data Mining Essentials

Social Media Mining. Data Mining Essentials Introduction Data production rate has been increased dramatically (Big Data) and we are able store much more data than before E.g., purchase data, social media data, mobile phone data Businesses and customers

More information

Spatio-Temporal Mapping -A Technique for Overview Visualization of Time-Series Datasets-

Spatio-Temporal Mapping -A Technique for Overview Visualization of Time-Series Datasets- Progress in NUCLEAR SCIENCE and TECHNOLOGY, Vol. 2, pp.603-608 (2011) ARTICLE Spatio-Temporal Mapping -A Technique for Overview Visualization of Time-Series Datasets- Hiroko Nakamura MIYAMURA 1,*, Sachiko

More information

A 3d particle visualization system for temperature management

A 3d particle visualization system for temperature management A 3d particle visualization system for temperature management Benoit Lange, Nancy Rodriguez, William Puech, Hervé Rey, Xavier Vasques To cite this version: Benoit Lange, Nancy Rodriguez, William Puech,

More information

Employing Complex GPU Data Structures for the Interactive Visualization of Adaptive Mesh Refinement Data

Employing Complex GPU Data Structures for the Interactive Visualization of Adaptive Mesh Refinement Data Volume Graphics (2006) T. Möller, R. Machiraju, T. Ertl, M. Chen (Editors) Employing Complex GPU Data Structures for the Interactive Visualization of Adaptive Mesh Refinement Data Joachim E. Vollrath Tobias

More information

Performance Driven Facial Animation Course Notes Example: Motion Retargeting

Performance Driven Facial Animation Course Notes Example: Motion Retargeting Performance Driven Facial Animation Course Notes Example: Motion Retargeting J.P. Lewis Stanford University Frédéric Pighin Industrial Light + Magic Introduction When done correctly, a digitally recorded

More information

Finite Element Formulation for Plates - Handout 3 -

Finite Element Formulation for Plates - Handout 3 - Finite Element Formulation for Plates - Handout 3 - Dr Fehmi Cirak (fc286@) Completed Version Definitions A plate is a three dimensional solid body with one of the plate dimensions much smaller than the

More information