
Geometry Processing Kai Hormann Abstract Citation Info The interdisciplinary research area of geometry processing combines concepts from Booktitle computer science, applied mathematics, and engineering for the efficient acquisition, Encyclopedia of Applied and reconstruction, optimization, editing, and simulation of geometric objects. Applications Computational Mathematics of geometry processing algorithms can be found in a wide range of areas, including com- Editor puter graphics, computer aided design, geography, and scientific computing. Moreover, B. Engquist this research field enjoys a significant economic impact as it delivers essential ingredients Publisher for the production of cars, airplanes, movies, and computer games, for example. In con- Springer, Berlin, Heidelberg, 2015 trast to computer-aided geometric design, geometry processing focusses on polygonal meshes, and in particular triangle meshes, for describing geometrical shapes rather than Pages 593–606 using piecewise polynomial representations. Data acquisition and surface reconstruction The first step of the geometry processing pipeline is to digitize real-world objects and to describe them in a format that can be handled by the computer. A common approach is to use a 3D scanner to acquire the coordinates of a number of sample points on the surface of the object. After merging the scans into a common coordinate system, the surface of the scanned object is reconstructed by approximating the sample points with a triangle mesh (see Figure 1). 3D scanning 3D scanning technology has advanced significantly over the last two decades and current devices are able to sample millions of points per second. Large objects, like buildings, are usually scanned with a time-of-flight scanner. It determines the distance to the object in a specific direction, and hence the 3D coordinates of the corresponding surface point, by emitting a pulse of light, detecting the reflected signal, and measuring the time in between. The accuracy of this technique is on the order of millimetres. Higher accuracy can be obtained with hand-held laser scanners. Such a scanner projects a laser line onto the object (see Figure 1) and uses a camera to detect position and shape of the projected line. Knowing the positions of the laser emitter and the camera in the local coordinate frame of the scanner, the concept of triangulation can be used to compute the 3D coordinates of a set of surface sample points. This approach further requires to track position and direction of the scanner as it moves around the object, for example by following a predefined scanning path or by mounting it onto a 3D measuring arm, so as to be able to transform all coordinates into a common global coordinate system. Hand-held laser scanners are best suited for smaller objects and indoor scanning and provide an accuracy on the order of micrometres. A notable example of this scanning technique is the Digital Michelangelo Project [18], which digitized some of Michelangelo’s statues in Florence, including the David. (a) (b) (c) Figure 1: 3D scanning with a hand-held laser scanner (a) gives a point cloud (b), and triangulating the points results in a piecewise linear approximation of the scanned object (c). 1 An alternative with similar accuracy is provided by structured-light scanners. Instead of a laser line, such scanners project specific light patterns onto the object, which are observed again by a camera. Due to the specific structure of the patterns, 3D coordinates of samples on the object’s surface can then be determined by triangulation. The most prominent member from this class of scanners is the Mircosoft Kinect, which can be used to scan and reconstruct 3D objects within seconds [16]. Registration In general, several 3D scans are needed to capture an object from all sides, and the resulting point clouds, which are represented in different local coordinate systems, need to be merged. This so-called registration problem can be solved with the iterative closest point (ICP) algorithm [2] or one of its many variants. To register two scans P and Q, this algorithm iteratively applies the following steps: 1. for each point in P , find the nearest neighbour in Q; 2. find the optimal rigid transform for moving Q as close as possible to P ; 3. apply this transformation to Q, until the best rigid transform is sufficiently close to the identity. As for the second step, let P = p1,p2,...,pm 3 f g and Q = q1,q2,...,qm be the two point sets, such that qi R has been identified as the nearest neighbour 3f g 2 of pi R for i = 1,...,m. The task now is to solve the optimization problem 2 m X 2 min pi Rqi t (1) R,t ( + ) i =1 k − k 3 3 3 for some rotation R R × and some translation t R . Denoting the barycentres of P and Q by 2 2 m m 1 X 1 X p¯ p and q¯ q , = m i = m i i =1 i =1 we consider the covariance matrix m X T M = (pi p¯)(qi q¯) i =1 − − T and its singular value composition M = U ΣV . The solution of (1) is then given by T R = UV and t = p¯ Rq¯. − Surface reconstruction Once the surface samples are available in a common coordinate system, they need to be triangulated, so as to provide a piecewise linear approximation of the surface of the scanned object. This can be done by either interpolating or approximating the sample points, but due to inevitable measurement errors, approximation algorithms are usually preferred. The computational geometry community has developed many efficient algorithms for reconstructing triangle meshes from point clouds [8], using concepts like Voronoi diagrams and Delaunay triangulations, with the advantage of providing theoretical guarantees regarding the topological correctness of the result as long as certain sampling conditions are satisfied. 3 Another approach is to define an implicit function F : R R, for example by approximating the signed 3 distance to the samples [3], such that the iso-surface S = x !R : F (x ) = 0 approximates the sample points and hence the surface of the object. A popular algorithmf from2 this class,g which has been incorporated in a number of well-established geometry processing libraries, is based on estimating an indicator function that separates the interior of the object from the surrounding space by efficiently solving a suitable Poisson problem [17]. The implicit function F is usually represented by storing the function values Fi j k = F (xi j k ) at the nodes xi j k of a regular or hierarchical grid, and the iso-surface S is extracted by the marching cubes al- gorithm [22] or one of its many variants. The key idea of this algorithm is to distinguish the 15 local configur- ations that can occur in each cell of the grid, based on the signs of Fi j k at the cell corners, then to estimate points on S by linear interpolation of F along cell edges whose end points have function values with different signs, and finally to connect these points by triangles, with a predefined topology for each cell configuration (see Figure 2). 2 Figure 2: The 15 local configurations considered in the marching cubes algorithm, based on the signs of the function values at the cell corners. All other configurations are equivalent to one of these 15 cases. (a) (b) (c) Figure 3: Example of surface reconstruction via iso-surface extraction: original object (a), CT scan (b), and reconstructed triangle mesh (c). Iso-surface extraction with marching cubes can also be used to reconstruct surfaces from a volumetric function F that was generated by a computed tomography (CT) scan of the 3D object (see Figure 3) or by magnetic resonance imaging (MRI). Discrete differential geometry For many geometry processing tasks it is imperative to have available the concepts and tools from differ- ential geometry for working with surfaces. As those usually require the surface to be at least once or twice continuously differentiable, they need to be carried over with care to discrete surfaces (i.e., triangle meshes). The resulting discrete differential geometry should satisfy at least two main criteria. On the one hand, we require convergence, that is, continuous ideas need to be discretized such that a discrete property converges to the continuous property as the discrete surface converges to a smooth surface. On the other hand, we want structure preservation, that is, high level theorems, like the Gauss–Bonnet theorem should hold in the discrete world. The most important concepts are surface normals and curvature, and we restrict our discussion to them. However, a comprehensive overview of the topic can be found in the SIGGRAPH Asia Course Notes by Desbrun et al. [5]. Normals 3 For each triangle T = [x , y, z ] of a triangle mesh with vertices x , y, z R , the normal is easily defined as 2 (y x ) (z x ) n(T ) = − × − . (y x ) (z x ) k − × − k 3 V n(T1) V n(T2) µi µE ¯ Vi+1 T T i T1 i¡1 i T E 2 ®i Ei Vi¡1 Vi W Figure 4: A vertex V of a triangle mesh with neighbouring vertices Vi and adjacent triangles Ti . The angle of Ti at V is denoted by θi and the angles opposite the edge Ei by αi and βi . The dihedral angle θE at a mesh edge E is the angle between the normals of the adjacent triangles. Along each edge E , we can take the normal that is halfway between the normals of the two adjacent triangles T1 and T2, n(T1) + n(T2) n(E ) = , (2) n(T1) + n(T2) k k and at a vertex V we usually average the normals of the n adjacent triangles T1,...,Tn , n P γ n T i =1 i ( i ) n(V ) = Pn .
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages14 Page
-
File Size-