Subdivision-based surface representations

Subdivision can be thought of as a natural extension of existing patch-based surface representations. In this view, subdivision algorithms effectively bridge the gap between patchbased and polygonal mesh representations. Using subdivision also naturally leads to useful multiresolution representations of surfaces. Such representations can be used for a variety of applications, most importantly, interactive editing and animation. We found that such representations are equally applicable for construction of models from scratch as well as manipulation of scanned high-resolution geometry data. In our ongoing work we are addressing a few important research problems that have to be solved to make such applications practical. Currently our research is focused on two major issues: the design of efficient algorithms for manipulation of subdivision-based multiresolution surfaces and development of algorithms for fitting of meshes with subdivision connectivity to unorganized surface samples. In this paper we discuss our approach to these problems, compare them to the related work, and demonstrate some results. 1 High Resolution Meshes Geometric modeling in special effects production and animation is characterized by the need to create and manipulate complex geometric models of arbitrary topology. These typically contain detail at many scales (cf. Fig. 1). While they are at times constructed from scratch, they are often generated through the use of range sensing devices such as laser scanners. Particularly in the latter case they are often presented as high resolution meshes with hundreds of thousands or millions of polygons. Manipulating such meshes, especially in interactive modeling or animation environments is a challenge. While it is possible to generate lower resolution approximations through mesh optimization (e.g., [13, 11]), we are interested in representations that can be used for interactive manipulation of data at different levels of resolution; optimization techniques typically are too slow to generate multiple levels of resolution on the fly. To effectively edit or animate a given high resolution mesh hierarchical representations are necessary: we want to affect large scale smooth changes to the surface shape as easily as minute edits at the individual vertex level. While it is possible to build smoother approximations to the original mesh using patches [12], high frequency detail will be lost. This could be partially recovered through the use of displacement maps [15], but the management of arbitrary topology settings is difficult in this approach. ∗dzorin@gg.caltech. edu †holst@ama.caltech. edu ‡ps@cs.caltech. edu Figure 1: Before the Armadillo started working out he was flabby, complete with a double chin. Now he exercises regularly. The original is on the right (courtesy Venkat Krischnamurthy, Stanford University). The edited version on the left illustrates large scale edits, such as his belly, and smaller scale edits such as the belly button and his double chin; all edits were performed at about 5 frames per second on an Indigo R10000 Solid Impact. We propose to use a single underlying representation, hierarchically structured triangular meshes. What is needed is a way to provide coarse level smooth editing semantics as provided in patch based settings. Subdivision provides the connection between fine level polyhedral meshes and patches and is the basis for a system that we are building. Aside from giving us the desired multiresolution control over the surface shape, subdivision algorithms are very simple, and can be implemented using highly adaptive algorithms and datastructures to build a scalable editing system which provides interactive update rates for complex meshes using only moderate hardware resources [22]. 2 Hierarchical Representation and Manipulation The idea of hierarchical editing and adaptive refinement was first pioneered in the ab initio design setting by Forsey and Bartels [8]. They described H-splines, which model finer level detail on top of coarser structures through the use of offset spline patches. To achieve the correct semantics they observed the importance of describing high resolution detail as offsets with respect to a coordinate frame induced by the lower resolution approximation. Lacking an analysis, i.e., coarsification, procedure their approach is very dependent on the editing history of a given object and, in any case, is not suitable if the inital geometry is given as a fine resolution mesh of arbitrary topology (although, see [7] for an attempt at analysis). The arbitrary topology challenge in the ab initio design scenario was addressed by Kurihara [16] who used Doo-Sabin subdivision in a hierarchical editor. However, without adaptive algorithms this approach cannot hope to deal with the exponential space and time requirements of uniform subdivision. Patches, or their arbitrary topology generalizations, provide a powerful abstraction when building coarse grain, smooth models. In models with fine detail patch representation can quickly overwhelm the user and even high-end hardware resources. At that point a fine polyhedral mesh becomes a more suitable representation (cf. Fig. 2). Figure 2: What used to be a patch is best treated as a mesh when adding fine detail. High resolution polyhedral meshes represent the other end of the spectrum which starts with patches. Such meshes have many advantages, especially if the original model arose from dense measurements such as those produced by a laser range finder. These meshes can resolve fine detail, accommodate arbitrary topology, and can be efficiently rendered on standard graphics hardware. Unfortunately the fine detail also gives rise to so many polygons that even fast polygon rendering hardware cannot display complicated models at interactive rates. Furthermore, it is not immediately clear how to provide coarse level smooth editing semantics. Subdivision (cf. Fig. 3), originally conceived of as a way to generalize spline based knot insertion [2, 4, 17, 5, 21, 14] to the irregular topology setting, provides the connection we need between fine polyhedral meshes and patch-like, hierarchical editing semantics. Figure 3: Subdivision describes a smooth surface as the limit of a sequence of refined polyhedra. The meshes show two levels of an adaptive Loop surface generated by our system (Dataset, courtesy Hugues Hoppe, University of Washington) This connection between subdivision and hierarchical representations of a priori given meshes was first explored in pioneering work by Lounsbery et al. [19]. They built wavelet like multiresolution representations of subdivision connectivity meshes. The wavelet setting provided the needed analysis algorithm, which was missing from earlier hierarchical editing work. While their original work only used piecewise linear subdivision, smoother generalizations are possible [20, 21]. Unfortunately the resulting wavelet representations are not suitable for direct editing manipulations, since wavelet coefficients, even when parameterized with respect to local frames, do not behave in intuitive ways [9]. Using instead a Laplacian pyramid [1] type approach overcomes these difficulties. It provides the editing semantics of Forsey and Bartels while using only a mesh, not patches. The fact that the initial mesh must be provided with subdivision connectivity can be addressed through remeshing. Eck et al. [6] have described a possible approach to remeshing arbitrary finest level input meshes fully automatically. A method that relies on a user’s expertise was developed by Krishnamurthy and Levoy [15]. With this component of the system in place the generation of meshes with subdivision connectivity is now the major next step towards a complete infrastructure. Instead of first producing a mesh from unstructured samples through a techniques such as marching cubes and then remeshing this mesh, we propose to generate subdivision connectivity meshes directly from the original unstructured point samples generated by some measurement device. 3 Hierarchical Meshes from Unstructured Point Samples The geometry data generated by scanners typically has the form of unorganized surface samples. A number of approaches were developed for converting such data into a mesh. Curless and Levoy [3], for example, describe a method which collates the original measurements into a signed probability volume. The most common algorithms to turn such a representation into a mesh are based on the marching cubes [18] approach. Algorithms of the type described in Section 2 require meshes with special structure, usually called meshes with subdivision connectivity. This means that the mesh can be thought of as a relatively small number of coarsest-level triangles or quadrilaterals, each subdivided uniformly a certain number of times. The importance of obtaining meshes with this structure was recognized in the work of Lounsbery et al. [19]. Eck et al. [6] have described a possible approach to remeshing arbitrary finest level input meshes fully automatically. A method that relies on a user’s expertise was developed by Krishnamurthy and Levoy [15]. Several important lessons can be derived from this previous work: • Remeshing Both remeshing methods use an initial mesh obtained from the unorganized samples as a starting point for the algorithm. Aside from additional computational overhead, construction of such a mesh inherently involves arbitrary decisions about connectivity of the mesh, which almost inevitably affect the final results. As pointed out in [15], there is nothing sacrosanct about the original mesh as typically the distance between vertices is close to the resolution of the sensor. It would be desirable to utilize the information in the data directly, without introducing the artifacts of the intermediate meshing step. Furthermore, the marching cubes algorithm is known to produce meshes which are not topological 2-manifolds, thus requirin