U.S. patent application number 11/553005 was filed with the patent office on 2007-03-08 for system and method for performing domain decomposition for multiresolution surface analysis.
Invention is credited to Ioana M. Martin.
Application Number | 20070052706 11/553005 |
Document ID | / |
Family ID | 32468907 |
Filed Date | 2007-03-08 |
United States Patent
Application |
20070052706 |
Kind Code |
A1 |
Martin; Ioana M. |
March 8, 2007 |
System and Method for Performing Domain Decomposition for
Multiresolution Surface Analysis
Abstract
A computer-implemented method to process a model of an object
includes mapping a mesh representation of the model onto a plane to
form a planarized mesh; generating a shape image by associating a
shape descriptor with each vertex of the planarized mesh; forming a
color image of the planarized mesh by using the shape descriptor to
encode a color of each mesh vertex; creating a region map of the
color image corresponding to areas of small shape variation;
fitting a coarse two dimensional mesh to the region map and
computing a target representation from the coarse two dimensional
mesh. In the presently preferred embodiment the target
representation is expressed as a multiresolution subdivision
surface representation. The shape descriptors can include surface
normals obtained from the mesh representation and, more generally,
can be descriptive of one of surface normal, Gaussian curvature,
mean curvature, shape index and curvedness. The colors assigned to
the vertices therefore correspond to properties of the three
dimensional surface of the object model. Creating the region map
includes performing a color segmentation procedure, and in the
preferred embodiment identifies clusters of mesh faces
corresponding to portions of the mesh in which vertices have
approximately the same value of shape descriptor. The process of
creating the region map preferably identifies clusters of mesh
faces corresponding to connected sets of faces representing
aggregate properties of the mesh.
Inventors: |
Martin; Ioana M.; (Pelham
Manor, NY) |
Correspondence
Address: |
Louis J. Percello, Esq.;International Business Machines Coropration
Thomas J. Watson Research Center
P.O. Box 218
Yorktown Heights
NY
10598
US
|
Family ID: |
32468907 |
Appl. No.: |
11/553005 |
Filed: |
October 26, 2006 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10316684 |
Dec 10, 2002 |
7129942 |
|
|
11553005 |
Oct 26, 2006 |
|
|
|
Current U.S.
Class: |
345/423 |
Current CPC
Class: |
G06T 17/20 20130101 |
Class at
Publication: |
345/423 |
International
Class: |
G06T 17/20 20060101
G06T017/20 |
Claims
1. A computer-implemented method to process a model of an object,
comprising: mapping a mesh of the model onto a plane to form a
planarized mesh; generating a shape image by associating a shape
descriptor with each vertex of the planarized mesh; forming a color
image of the planarized mesh by encoding the shape descriptor as a
color for each mesh vertex; creating a region map of the color
image corresponding to areas of small shape variation; fitting a
coarse two dimensional mesh to the region map; computing a coarse
three dimensional base mesh from the two dimensional mesh with
faces that approximate regions of relatively constant shape on the
input model; and computing a target three dimensional
multiresolution subdivision hierarchy over the three dimensional
base mesh, wherein the method is image based and is not
simplification based.
2. A method as in claim 1, where mapping comprises parameterizing
the input mesh onto a plane.
3. (canceled)
4. A method as in claim 1, where mapping comprises one of cutting
and flattening the mesh, or decomposing the mesh and merging
domains.
5. A method as in claim 1, where said shape descriptors are
descriptive of one of surface normal, Gaussian curvature, mean
curvature, shape index and curvedness.
6. A method as in claim 1, where colors assigned to the vertices
correspond to properties of the three dimensional surface of the
object model.
7. A method as in claim 1, where creating the region map comprises
performing a color segmentation procedure.
8. A method as in claim 1, where creating the region map comprises
identifying clusters of mesh faces corresponding to portions of the
mesh in which vertices have approximately the same value of shape
descriptor.
9. A method as in claim 1, where creating the region map comprises
identifying clusters of mesh faces corresponding to connected sets
of faces representing aggregate properties of the mesh.
10. A computer-implemented method to process a three dimensional
model of an object, comprising: computing a parameterization p of
an input mesh M onto a plane, where P denotes a planarized input
mesh and where M represents all or at least a part of the three
dimensional model; constructing a shape map S using P, where the S
comprises a two dimensional image having properties selected to
encode shape information of the three dimensional model;
identifying regions of small shape variation in S and building a
region graph G; generating a coarse two dimensional polygonal mesh
D2 using G, where D2 comprises facets approximating the identified
regions; generating a coarse three dimensional mesh D as the image
of D2 through an inverse map p.sup.-1, and computing a target three
dimensional multiresolution subdivision hierarchy over the three
dimensional mesh D, wherein the method is image based and is not
simplification based.
11. A method as in claim 10, where the mesh D comprises an initial
base domain, and where a final domain is obtained from D after
optimization to adjust positions of its vertices to best fit the
input data in a least-squares sense.
12. A method as in claim 10, where the image properties comprise
color.
13. A method as in claim 10, where the image properties are
expressed using shape descriptors.
14. A method as in claim 13, where computing the parameterization
comprises one of cutting and flattening the input mesh, or
decomposing the input mesh representation and merging domains.
15. A method as in claim 13, where said shape descriptors are
descriptive of one of surface normal, Gaussian curvature, mean
curvature, shape index and curvedness.
16. A method as in claim 13, where said shape descriptors are used
to assign colors to vertices, where the assigned colors correspond
to properties of a three dimensional surface of the object
model.
17. A data processing system for processing a three dimensional
model of an object, comprising a computer coupled to a memory and
comprising logic for operating in accordance with a stored program
for mapping a mesh of arbitrary topology representing the model
onto a plane to form a planarized mesh; for generating a shape
image by associating a shape descriptor with each vertex of the
planarized mesh; for forming a color image of the planarized mesh
by encoding the shape descriptor as a color for each mesh vertex;
for creating a region map of the color image corresponding to areas
of small shape variation; for fitting a coarse two dimensional mesh
to the region map; for back-projecting the two dimensional map onto
the three dimensional model to obtain a three dimensional base
domain; for fitting the three dimensional base domain to the
geometry of the three dimensional model; and for computing a
multiresolution subdivision surface representation of the object
with respect to the three dimensional domain.
18. A system as in claim 17, where said shape descriptors are
descriptive of one of surface normal, Gaussian curvature, mean
curvature, shape index and curvedness of the model.
19. A system as in claim 17, where colors assigned to mesh vertices
correspond to properties of the three dimensional surface of the
model.
20. A system as in claim 17, where creating the region map
comprises performing a color segmentation procedure, and
identifying clusters of mesh faces corresponding to portions of the
mesh in which vertices have approximately the same value of shape
descriptor.
21. A computer readable medium storing a computer program the
execution of which causes a computer coupled to a memory and
comprising logic to process a three dimensional model of an object
by mapping a mesh of arbitrary topology representing the model onto
a plane to form a planarized mesh; generating a shape image by
associating a shape descriptor with each vertex of the planarized
mesh; forming a color image of the planarized mesh by encoding the
shape descriptor as a color for each mesh vertex; creating a region
map of the color image corresponding to areas of small shape
variation; fitting a coarse two dimensional mesh to the region map;
back-projecting the two dimensional map onto the three dimensional
model to obtain a three dimensional base domain; fitting the three
dimensional base domain to the geometry of the three dimensional
model; and computing a multiresolution subdivision surface
representation of the object with respect to the three dimensional
domain.
22. A computer readable medium as in claim 21, where said shape
descriptors are descriptive of one of surface normal, Gaussian
curvature, mean curvature, shape index and curvedness of the
model.
23. A computer readable medium as in claim 21, where colors
assigned to mesh vertices correspond to properties of the three
dimensional surface of the model.
24. A computer readable medium as in claim 21, where creating the
region map comprises performing a color segmentation procedure, and
identifying clusters of mesh faces corresponding to portions of the
mesh in which vertices have approximately the same value of shape
descriptor.
25. A data processing system to process a three dimensional model
of an object, comprising means for mapping a mesh of arbitrary
topology representing the model to a planarized mesh; means for
generating a shape image by associating a shape descriptor with
each vertex of the planarized mesh; means for forming a color image
of the planarized mesh by encoding the shape descriptor as a color
of individual ones of mesh vertices; means for creating a region
map of the color image corresponding to areas of small shape
variation; means for fitting a coarse two dimensional mesh to the
region map; means for projecting the two dimensional map onto the
three dimensional model to obtain a three dimensional base domain;
means for fitting the three dimensional base domain to the geometry
of the three dimensional model; and means for computing a
multiresolution subdivision surface representation of the object
with respect to the three dimensional domain.
26. A system as in claim 25, where said shape descriptors are
descriptive of at least one of surface normal, Gaussian curvature,
mean curvature, shape index and curvedness of the model.
27. A system as in claim 25, where colors assigned to mesh vertices
correspond to properties of the three dimensional surface of the
model.
28. A system as in claim 25, where said means for creating the
region map comprises means for performing a color segmentation
procedure and identifying clusters of mesh faces corresponding to
portions of the mesh in which vertices have approximately the same
value of shape descriptor.
29. A computer readable medium comprising program instructions the
execution of which by a computer perform operations to process a
model of an object, comprising: providing a representation of the
model as an arbitrary triangle mesh M with 2-manifold connectivity;
decomposing the arbitrary triangle mesh M into components C.sub.0,
. . . , C.sub.N-1 by extracting geometrically and topologically
simpler sub-meshes that are more readily parameterized than the
arbitrary triangle mesh M; for each component C.sub.i, determining
a parameterization domain D.sub.i; merging determined
parameterization domains to obtain a parameterization domain D for
the arbitrary triangle mesh M, where D is computed as a union of
domains D.sub.0 through D.sub.N-1; resampling the arbitrary
triangle mesh M over the domain D; and performing a multiresolution
analysis to create a three dimensional multiresolution hierarchy
S.
30. The computer readable medium of claim 29, where the operation
of determining the parameterization domain D.sub.i comprises, for a
genus zero mesh: parameterizing the mesh over a sphere by assigning
spherical coordinates (.theta.,.phi.) to each vertex to provide the
spherical quantization; using the spherical parameterization,
flattening the surface into the (.theta.,.phi.)plane using a
cylindrical projection from the sphere to the plane to create a
parameterization P.sub.i, where the projection defines a map
between an original three dimensional surface and a region of the
plane which is interpretable as a two dimensional color image;
computing colors of the image by assigning colors to the vertices
of a projected two dimensional mesh, where colors assigned to the
vertices correspond to at least one property of the original three
dimensional surface, where the resulting image having assigned
colors comprises a shape map SH.sub.i; processing SH.sub.i to
detect regions of substantially constant shape; and computing a two
dimensional coarse mesh by fitting one of a triangle or
quadrilateral mesh to the region map, where each face of the coarse
mesh corresponds approximately to a region of constant shape of the
shape map SH.sub.i, and where an image of the two dimensional
coarse mesh gives the parameterization domain D.sub.i.
31. The computer readable medium of claim 29, where the resampling
operation comprises sampling faces of the base domain using a
midpoint subdivision operation to generate grid points G.sub.i,
i=0, . . . , K-1; where resampling of the geometry of the triangle
mesh M with manifold connectivity is performed at a finest level by
computing the positions of the vertices corresponding to the
generated grid points G.sub.i, i=0, . . . , K-1.
32. The computer readable medium of claim 31, where the
multiresolution analysis operation comprises, when generating the
multiresolution hierarchy from data on the finest level: inputting
a resampled mesh R, a course mesh D with K faces, and a number of
subdivision levels L; allocating a subdivision hierarchy S with K
mesh faces having the number of L level for a resulting mesh;
assigning the finest level of the multiresolution hierarchy S
values computed during the resampling operation; and computing data
on intermediate levels by applying one of a restriction or a
smoothing operator; and for each intermediate level, optimizing
positions of the vertices using a relaxation procedure that
comprises a least squares fitting of the data at a next resolution
level, where coordinates of the next resolution level are computed
by subdivision, and multiresolution details are computed as
differences between original positions and the positions obtained
by subdivision.
33. A method as in claim 10, where computing a target three
dimensional multiresolution subdivision hierarchy over the three
dimensional base mesh comprises resampling using surface
normals.
34. A method as in claim 1, wherein mapping the mesh of the model
onto a plane to form a planarized mesh comprises cutting the mesh
of the model if the mesh is not of genus 0.
35. A method as in claim 34, wherein the mesh is cut to form a
planarized mesh using disc topology.
Description
TECHNICAL FIELD
[0001] These teachings relate generally to systems and methods for
the analysis and display of graphical information, in particular
the analysis and display of visual representations of three
dimensional (3D) models of objects having shapes rendered with
displayable surfaces.
BACKGROUND
[0002] The representation of surfaces through subdivision elegantly
addresses many of the drawbacks that are inherent in conventional
3D shape representations. Subdivision offers an efficient and
compact technique to represent the geometry with minimal
connectivity information. The use of subdivision beneficially: (i)
generalizes the classical spline patch approach to arbitrary
topology; (ii) naturally accommodates multiple levels of detail;
and (iii) produces meshes with well-shaped elements arranged in
almost regular structures, suitable for digital processing.
[0003] One of the earliest approaches to the multiresolution
analysis of arbitrary meshes was proposed by M. Eck, T. DeRose, T.
Duchamp, H. Hoppe, M. Lounsbery, and W. Stuetzle, Multiresolution
Analysis of Arbitrary Meshes, Computer Graphics, vol. 29: Annual
Conference Series, pps. 173-182, 1995. In this case, domain
decomposition is done by randomly selecting seeds on the 3D model
around which titles are grown. The growth of a title is driven by a
set of topological criteria, and does not take into account the
shape of the surface.
[0004] L. Kobbelt. J. Vorsatz, U. Labsik and H-P. Seidel described
in A Shrink Wrapping Approach to Remeshing Polygonal Surface,
Computer Graphics Forum (Eurographics '99), vol. 18(3):119-130, The
Eurographics Association and Blackwell Publishers, ed. P. Brunet
and R. Scopigno, 1999, a shrink-wrapping approach to semi-regular
mesh extraction. The approach, however, is limited to closed genus
0 input meshes.
[0005] A parameterization-based approach to finding a suitable base
domain is described by U. Labsik, K. Hormann, and G. Greiner, Using
Most Isometric Parameterizations for Remeshing Polygonal Surfaces,
Proceedings of Geometric Modeling and Processing 2000, pps. 220-228
(IEEE Computer Society Press). This method is restricted to
manifolds with boundary and no holes, and it is insensitive to
shape variations.
[0006] T. Kanai in MeshToSS: Converting Subdivision Surfaces from
Dense Meshes, Proceedings of Modeling and Visualization 2001, IOS
Press, Amsterdam, pps. 325-332, 2001, describes a method to recover
a multiresolution Loop subdivision surface. The construction of the
base domain is based on simplification of the input mesh which is
presumed to be dense. Some surface information such as sharp
features are used to guide the simplification process.
Nevertheless, like any simplification-based approach, there is
limited flexibility as to where vertices of the base domain are
positioned and the simplification process may be quite
time-consuming. Moreover, no multiresolution hierarchy is directly
extracted, rather, different base meshes are used to lead to
different approximations.
[0007] Of more interest to this invention is the approach of Alliez
et al. (P. Alliez, M. Meyer, and M Desbrun, Interactive Geometry
Remeshing, ACM Transactions on Graphics. Special issue for SIGGRAPH
conference, 21(3):347-354, 2002). In this case, various property
maps are computed for a mesh and used for remeshing. The maps,
however, correspond to mesh charts with disk topology, and they are
not used to compute the decomposition into charts, which is done
using the method proposed by M. Eck, et al., Multiresolution
Analysis of Arbitrary Meshes, Computer Graphics, vol. 29: Annual
Conference Series, pps. 173-182, 1995.
[0008] Other methods attempt to recover semi-regular meshes from
other types ofinput data. For example, given as input a signed
distance volume, the method of Z. Wood, P. Schroder, D. Breen, and
M. Desbrun, Semi-regular mesh extraction from volumes, IEEE
Visualization, pps. 275-282, 2000, is directed towards the
extraction of semi-regular iso-surfaces from volumes. Wood et al.
proceed by building a coarse domain for the isosurface by stitching
together contours on the surface. This approach is driven by
topological information about the model extracted from the volume
dataset, and does not include any surface properties in the
computation of the base domain. It is also restricted to closed
meshes (i.e., meshes with no boundary). Also starting from a
volume, K. Hormann, U. Labsik, M. Meister, and G. Greiner,
Hierarchical Extraction of Iso-Surfaces with Semi-Regular Meshes,
Proceedings of the Seventh ACM Symposium on Solid Modeling and
Applications, pps. 53-58, 2002, K. Lee and N. M. Patrikalakis
editors (ACM Press), describe a process of semi-regular mesh
extraction. The base mesh is computed using a standard Marching
Cubes algorithm (W. Lorensen and H. Cline, Marching cubes: A high
resolution 3D surface construction algorithm, Proceedings of
SIGGRAPH 87, pps. 163-169, 1987), with no regard for surface
properties.
[0009] A cloud of points is another, relatively common data
representation, typically generated by scanning devices. Fitting
surfaces to clouds of points has been extensively studied. For
example, reference can be made to H. Hoppe, T. DeRose, T. Duchamp,
M. Halstead, H. Jin J. I. McDonald. J. Schweitzer, and W. Stuetzle,
Piecewise Smooth Surface Reconstruction, Computer Graphics,
Proceedings of SIGGRAPH 94, vol. 28:295-302, Annual Conference
Series, 1994, where the authors describe an optimization-based
method for fitting a piecewise smooth surface to a dense set of
points. The approach is very compute-intensive as it involves
several optimization steps. Also, the recovered mesh is at a single
resolution and the method is not applicable to sparse data sets.
Mention may also be made of the approach of Suzuki et al. (H.
Suzuki, S. Takeuchi, T. Kanai, and F. Kimura, Subdivision Surface
Fitting to a Range of Points, Proceedings IEEE Pacific Graphics 99,
pps. 158-167, 1999), which recovers meshes with subdivision
connectivity. However, this approach requires a manual outlining of
the base mesh.
[0010] A significant drawback to representing surfaces using
semi-regular meshes is having to convert existing 3D data to this
format. Current 3D content creation technology typically leads to
either irregular representations, such as point clouds and
arbitrary polygonal meshes, or to regular but constrained
representations, such as spline patches. While volumetric datasets
are typically regular in nature, most extraction algorithms tend to
yield an irregular mesh from a volumetric dataset.
[0011] What is thus required is a technique for the conversion of
arbitrary polygonal meshes to multiresolution subdivision
hierarchies. While no standard has yet emerged for 3D shape
description, polygonal meshes are the output representation of
choice in many applications, especially in the final stages of
processing for viewing and rendering purposes. Many methods have
been devised to generate arbitrary meshes from other
representations.
[0012] The task of converting an arbitrary mesh to one with
semi-regular connectivity can be viewed as having two main steps:
(a) identifying a suitable parameterization domain for the input
mesh; and (b) resampling the original geometry at regularly-spaced
intervals in parameter space.
[0013] By far, the first step is the most challenging one. An ideal
domain should have several properties. As examples, an ideal domain
will have the properties of: a small number of elements; elements
that are well-shaped polygons, with reasonable aspect ratios; and
that partition the surface of the model into a collection of
height-field patches suitable for resampling. Once a
parameterization of the model is found, a multiresolution
representation can be extracted by choosing the resolution of the
finest level, resampling on this level, and then applying
multiresolution analysis to generate a hierarchy of details at
intermediate levels.
[0014] Methods that have attempted to address this problem
typically involve some degree of manual adjustment, or they
generate arbitrary domains, by simplification of the original
mesh.
[0015] With specific regard to domain decomposition, it is noted
that parameterization of discrete surfaces plays an important role
in many computer graphics applications. A commonly used technique
to define a parameterization is to identify a coarse polyhedral
domain that approximates the surface, and to then define the
parameterization as a function over this domain. The first task,
domain identification or, alternatively, model decomposition, has
numerous applications beyond parameterization generation, in areas
such as object recognition, shape perception, collision detection
and ray tracing.
[0016] To summarize the foregoing, it has been shown that
subdivision methods lead to hierarchical representations of 3D
surface data that are useful in many applications from network
transmission to surface styling and design. A number of algorithms
that exploit their semi-regular nature have recently emerged and
address some of the major limitations posed by more traditional
surface representations, such as arbitrary polygonal meshes and
NURBS, in an elegant and efficient way. However, an obstacle to the
widespread acceptance of these newer algorithms is the lack of a
general, high-quality conversion method from other 3D data
formats.
[0017] What is thus needed, and what is therefore a goal of this
invention to provide, is a method to perform the automatic
conversion of arbitrary polygonal meshes into multiresolution
hierarchies having subdivision connectivity.
SUMMARY OF THE PREFERRED EMBODIMENTS
[0018] The foregoing and other problems are overcome, and other
advantages are realized, in accordance with the presently preferred
embodiments of these teachings.
[0019] Disclosed herein is a process for converting an arbitrary
mesh to a semi-regular mesh. The process finds a high-quality
parametric domain automatically, without user intervention, taking
into account properties of the surface. The process handles input
meshes of arbitrary genus. The process also beneficially generates
Catmull-Clark and/or Loop multiresolution hierarchies fitted to the
input geometry with a minimal amount of distortion.
[0020] This invention provides an image-based algorithm for domain
decomposition that eliminates the conventional need for manual
intervention, that takes into account surface properties, and that
accommodates arbitrary 2-manifold meshes. Previous methods have
either required some degree of manual input, or have restricted the
class of models handled to those of genus 0 (in some cases) or to
open meshes with disc topology (in other cases). The image-based
algorithm overcomes problems inherent in the geometric approaches
of the prior art. An additional benefit of the method is that it
provides a technique to compute clusters of faces on a mesh, which
is in itself a problem that has conventionally been approached from
a geometric point of view.
[0021] A computer-implemented method to process a model of an
object includes mapping a mesh representation of the model onto a
plane to form a planarized mesh; generating a shape image by
associating a shape descriptor with each vertex of the planarized
mesh; forming a color image (where a color image can be one
containing, e.g., red, green, blue (RGB) colors, or one that is a
grayscale image) of the planarized mesh by using the shape
descriptor to encode a color of each mesh vertex; creating a region
map of the image corresponding to areas of small shape variation;
fitting a coarse two dimensional mesh to the region map and
computing a target representation from the coarse two dimensional
mesh. In the presently preferred embodiment the target
representation comprises a multiresolution subdivision surface
representation.
[0022] The mapping process can include parameterizing the input
mesh over a plane, or decomposing it into components that can be
parameterized onto a plane.
[0023] The shape descriptors can include surface normals obtained
from the mesh representation and, more generally, can be
descriptive of one of surface normal, Gaussian curvature, mean
curvature, shape index and curvedness. The colors (or shades of
gray) assigned to the vertices therefore correspond to properties
of the three dimensional surface of the object model.
[0024] Creating the region map includes performing a color
segmentation procedure, and in the preferred embodiment identifies
clusters of mesh faces corresponding to portions of the mesh in
which vertices have approximately the same value of shape
descriptor. The process of creating the region map preferably
identifies clusters of mesh faces corresponding to connected sets
of faces representing aggregate properties of the mesh.
[0025] A computer-implemented method to process a three dimensional
model of an object may include computing a parameterization p of an
input mesh M onto a plane, where P denotes a planarized input mesh
and where M represents all or a part of the three dimensional
model; constructing a shape map S using P, where S comprises a two
dimensional image having colors selected to encode shape
information of the three dimensional model; identifying regions of
small shape variation in S and building a region graph G;
generating a coarse two dimensional polyhedral mesh D2 using G,
where D2 comprises facets approximating the identified regions and
generating a coarse three dimensional mesh D as the image of D2
through an inverse map p.sup.-1. The mesh D may be an initial base
domain, and a final domain is obtained from D after optimization to
adjust positions of its vertices to best fit the input data in a
least-squares sense.
[0026] Also disclosed is a data processing system for processing a
three dimensional model of an object.
[0027] The data processing system includes a computer operating in
accordance with a stored program for mapping a mesh representation
of the model onto a plane to form a planarized mesh. The stored
program further directs the computer for generating a shape image
by associating a shape descriptor with each vertex of the
planarized mesh; for forming a color image of the planarized mesh
by using the shape descriptor to encode a color of each mesh
vertex; for creating a region map of the color image corresponding
to areas of small shape variation; for fitting a coarse two
dimensional mesh to the region map; for back-projecting the two
dimensional map onto the three dimensional model to obtain a three
dimensional base domain; for fitting the domain to the geometry of
the three dimensional model; and for computing a multiresolution
subdivision surface representation of the object with respect to
the three dimensional domain. A computer readable media that stores
a copy of the program is also encompassed by this invention.
[0028] It was noted above that many methods have been devised to
generate arbitrary meshes from other representations. By extension,
these conventional methods may be combined with the presently
preferred embodiment of this invention to generate semi-regular
meshes from other types of data.
BRIEF DESCRIPTION OF THE DRAWINGS
[0029] The foregoing and other aspects of these teachings are made
more evident in the following Detailed Description of the Preferred
Embodiments, when read in conjunction with the attached Drawing
Figures, wherein:
[0030] FIG. 1 shows a model of an object, in this case a duck, that
is represented by an irregular triangle mesh.
[0031] FIG. 2 shows the natural parameterization of a subdivision
surface,
[0032] FIG. 3 shows the parameterization of the duck model of FIG.
1 onto a plane;
[0033] FIG. 4A shows a shape map corresponding to the duck model of
FIG. 1, where the shape descriptor at each vertex was defined as
the normalized normal at that vertex;
[0034] FIG. 4B shows an example of a shape map corresponding to a
sphere model, where a Koenderink curvedness parameter was used as a
shape descriptor;
[0035] FIG. 5A illustrates a smoothed shape map for the duck model
of FIG. 1, FIG. 5B shows a quantized map containing clusters
corresponding to dominant colors, FIG. 5C illustrates clustering
based on the quantized map shown in FIG. 5B, and FIG. 5D
illustrates refined clusters obtained from a quantized map with an
increased number of colors;
[0036] FIGS. 6A and 6B show an edge map and a simplified edge map,
respectively, for the duck object of FIG. 1;
[0037] FIG. 7 illustrates the resulting domain after triangulation
of the simplified edge map of FIG. 6B, and back-projection onto the
3D duck model;
[0038] FIGS. 8A-8D are useful in explaining a resampling process of
this invention wherein FIG. 8A shows a Venus head model, FIG. 8B
depicts a wireframe rendering of the model in FIG. 8A, and
illustrates the irregular structure of the mesh, FIG. 8C shows a
base domain for the head model and FIG. 8D shows the resampled mesh
with semi-regular connectivity;
[0039] FIGS. 9A, 9B and 10-13 are logic flow diagrams that describe
the operation of the methods of this invention in greater
detail;
[0040] FIG. 14 is a simplified block diagram of a data processing
system that is suitable for practicing this invention; and
[0041] FIG. 15 is a one dimensional diagram that illustrates a
presently preferred resampling process.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0042] For simplicity, the ensuing description is restricted to
parametric domains containing polygonal elements of the same type,
e.g., triangles or quadrilaterals. This assumption is not, however,
to be construed in a limiting sense upon the practice of this
invention.
[0043] Given a mesh representation of an arbitrary two-dimensional
manifold, it is assumed that it is desired to find another, coarse
mesh that approximates the same two-dimensional manifold and that
serves as a parameterization domain for the two-dimensional
manifold. A key question then is how to build the coarse mesh such
that it has a small number of faces, where each face corresponds to
an area of the input mesh that can be parameterized over the face
with minimal distortion.
[0044] In contrast to those existing methods that arbitrarily
identify a base domain either by simplification of the original
mesh, or by finding coarse elements covering roughly equal areas,
this invention employs an image-based approach that takes into
account properties of the surface when identifying suitable facets
for the simplicial base domain. In accordance with an aspect of
this invention, the method employs an intermediate mapping of the
input model onto a plane. The method then generates a "shape image"
by associating a shape descriptor with each vertex of the mesh, and
renders the flattened model using the shape descriptor to encode a
color of each vertex. The method then identifies or maps regions in
the image corresponding to areas of small shape variation. A coarse
2D mesh is fitted to the region map and used to compute a 3D coarse
domain as the pre-image of the 2D mesh through the planar
parameterization.
[0045] A brief description is now provided of the input and output
representations for the conversion process.
(A) Arbitrary Polygonal Meshes
[0046] As was previously mentioned, it is desirable to convert
irregular polygonal meshes to a more regular, hierarchical
representation that is better suited for modeling and network
transmission. Irregular meshes are a popular representation used by
many applications, and they are also at the basis of hardware
implementations. Hence, many other representations are ultimately
tesselated to polygonal format for processing or rendering
purposes. An irregular polygonal mesh is typically specified in
terms of mesh vertices (i.e., locations in space) and mesh faces
(i.e., lists of vertices forming a face). Without loss of
generalization, consider triangle meshes, i.e., meshes in which
each polygonal element is a triangle. Meshes with non-triangular
elements may be easily converted to triangle meshes by
triangulating each non-triangular face. FIG. 1 shows an example of
such a mesh. Note should be taken of the differences between the
sizes and shapes of the triangles across the mesh.
(B) Multiresolution Subdivision Surfaces
[0047] The presently preferred target representation was introduced
in various forms (see M. Lounsbery, T. DeRose, and J. Wareen,
Multiresolution analysis for surfaces of arbitrary topological
type, Transactions on Graphics, 16(1):34-73, January 1997; K. Pulli
and M. Lounsbery, Hierarchical editing and rendering of subdivision
surfaces, Technical Report UW-CSE-97-04-07, Dept. of CS&E,
University of Washington, Seattle, Wash., 1997; D. Zorin, P.
Schroeder, and W. Sweldens, Interactive Multiresolution Mesh
Editing, Proceedings of SIGGRAPH 97, pps. 259-268, August 1997).
Subdivision defines a smooth surface recursively, as a limit of a
sequence of meshes. Each finer mesh is obtained from a coarser mesh
by using a set of fixed refinement rules using subdivision rules
based on those provided by, for example, Loop (C. Loop, Smooth
subdivision surfaces based on triangles, Master's Thesis,
University of Utah, Department of Mathematics, 1987) or
Catmull-Clark (E. Catmull and J. Clark, Recursively generated
B-spline surfaces on arbitrary topological meshes, 10(6):350-355,
1978). Multiresolution surfaces extend these conventional
subdivision surfaces by introducing details at each level. Each
time a finer mesh is computed, it is obtained by adding detail
offsets to the subdivided coarser mesh. If one is given a
semi-regular mesh, i.e., a mesh with subdivision connectivity, one
can readily convert the semi-regular mesh to a multiresolution
surface by defining a smoothing operation to compute vertices for a
coarser level from a finer level.
[0048] The details are computed as differences between the
levels.
[0049] For conversion purposes, it is useful to consider a
multiresolution surface as a function on a domain. A most natural
domain for a multiresolution subdivision surfaces is the initial
(coarsest level) mesh, as shown in FIG. 2. FIG. 2 shows the natural
parameterization of a subdivision surface, where each time the
subdivision rules are applied to compute the finer control mesh, a
midpoint subdivision is also applied to a copy of the initial
control mesh. As one repeatedly subdivides, one obtains a mapping
from a denser and denser subset of the control polygon to the
control points of a finer and finer control mesh. In the limit one
obtains a map from the control polygon to the surface.
[0050] A desirable goal of this invention is to identify a suitable
coarse mesh for an arbitrary mesh, and to create a multiresolution
subdivision hierarchy on top of the identified coarse mesh.
(C) Planar Parameterizations
[0051] The flattening of an arbitrary mesh onto a plane has been an
extensively researched subject as it has numerous applications,
including texture mapping, remeshing and modeling. Most
conventional methods address the problem of flattening manifolds
with boundaries (e.g., A. Sheffer and E. de Sturler,
Parameterization of faceted surfaces for meshing using angle based
flattening, Engineering with Computers, 17(3):326-337, 2001) or,
more restrictively, that of flattening meshes with a disc topology
(e.g., M. S. Floater, Parameterization and smooth approximation of
surface triangulations, Computer Aided Geometric Design,
14:231-250, 1997; K. Hormann and G. Greiner, MIPS: An efficient
global parameterization method, pages 153-162, 2000; M. Desbrun, M.
Meyer, P. Alliez, Intrinsic parameterizations of surface meshes, In
Eurographics conference proceedings, pages 209-218, 2002). However,
recent techniques for mesh cutting, such as those described by A.
Sheffer and J. Hart in Seamster: Inconspicuous low-distortion
texture seam layout, in IEEE Visualization, pages 291-298, 2002 and
X. Gu, S. Gortler, and H. Hoppe, Geometry ima gcs, ACM Transactions
on Graphics, Special issue for SIGGRAPH conference, 21(3):355,
2002, allow parameterization of 2-manifolds of arbitrary genus onto
planes.
[0052] Any parameterization method that allows the flattening of a
given input 2-manifold onto a plane can be used with this
invention. For the purpose of illustration, and not be way of
limitation, the presently preferred domain decomposition technique
is described in the context of genus zero meshes, with no boundary,
using a parameterization in polar coordinates (see C. Brechbuhler,
G Gerig, and O. Kuber, Parameterization of closed surfaces for 3-D
shape description, Computer Vision and Image Understanding,
61(2):154-170,1995). Also described is a presently preferred
implementation of the general case of 2-manifolds of arbitrary
genus with or without boundaries.
(D) Genus 0 Closed Meshes
[0053] In C. Brechbuhler et al. the authors propose a method of
parameterizing a genus 0 closed mesh over a sphere by assigning
latitude (.theta.) and longitude (.phi.) coordinates to each
vertex. To obtain a planar parameterization, one unfolds this
spherical parameterization into the plane defined by the polar
coordinates (.theta.,.phi.)using a cylindrical or some other
projection (for example, in cartography there have been many ways
devised to unfold a sphere onto a plane for creating a map of the
Earth).
(E) Arbitrary 2-Manifolds
[0054] General meshes can be flattened by first performing cuts
along selected edges to generate a mesh with a disc topology, and
then flattening the resulting mesh onto the plane. An example of
such a method was described by A. Sheffer and J. Hart in Seamster:
Inconspicuous low-distortion texture seam layout, in IEEE
Visualization, pages 291-298, 2002.
[0055] Alternatively, another approach for dealing with arbitrary
meshes is to decompose them into simple parts that can be
represented by genus 0 meshes. A coarse base domain can be found
for each simple part, and a global domain for the entire object can
be computed by merging the base domains of the simple parts (for
example, by using boolean operations as described by H. Biermann
and D. Kristjansson and D. Zorin, Approximate boolean operations on
free-form solids, Proceedings of SIGGRAPH 01, pps. 185-194,
2001.
[0056] As will be described in further detail below with respect to
FIG. 11, an embodiment of the image-based segmentation process
generally proceeds as follows:
[0057] Compute a parameterization p of the input mesh M onto a
plane. Let P denote the flattened or planarized mesh;
[0058] Using P, construct a shape map S, i.e., a 2D image of the
model that encodes shape information; Identify regions of small
shape variation in S and build a region graph G;
[0059] Using G, generate a coarse 2D triangular or quadrilateral
mesh D2 with facets approximating the regions found in Step C;
and
[0060] Compute a coarse 3D mesh D as the image of D2 through an
inverse map p.sup.-1.
[0061] The mesh D constitutes the initial desired base domain. The
final domain is obtained from D, after optimization to adjust the
positions of its vertices to best fit the input d eta (in a
least-squares sense).
[0062] Steps B, C and D are now described in further detail. These
steps correspond to the processing of the mesh in parameter space.
The overall operation of the presently preferred methods of this
invention are also described in further detail below in relation to
FIGS. 9A, 9B and 10-13.
[0063] The shape map S serves as a 2D substitute for the input 3D
shape. In a manner that is somewhat similar to the geometry maps
proposed by P. Alliez, M. Meyer, and M Desbrtm, Interactive
Geometry Remeshing, ACM Transactions on Graphics. Special issue for
SIGGRAPH conference, 21(3):347-354, 2002, and by X. Gu et al., S
encodes information about the variation in shape across the input
model. A relatively simple manner in which to generate S is to
compute a shape descriptor at each vertex of the original mesh M
and, through the mapping p, at each vertex of P, and to then render
P using a suitable color map that maps shape descriptors to colors.
Hardware-assisted rendering can be employed to compute shape maps
efficiently.
[0064] In that the process is interested in a coarse domain with
facets corresponding to relatively flat regions of the input
object, the shape descriptors preferably capture the concept of
"flatness". Examples of suitable descriptors used in computer
graphics and computer vision include, but need not be limited to,
surface normals, Gaussian and mean curvatures (P. Besl and R Jain,
Invariant surface characteristics for 3-d object recognition in
range images, Computer Vision, Graphics, Image Processing,
33:33-80, 1986), shape index as well as cur vedness (J. Koenderink
and A. van Doom, Surface shape and curvature scales, Image and
vision computing, 10(8):557-565, 1992).
[0065] FIG. 3 shows the parameterization of the duck model of FIG.
1 onto the plane, while FIG. 4A illustrates (as a gray scale
representation of a multi-color image) the shape map obtained by
using the normals of the duck model shown in FIG. 1 as shape
descriptors. FIG. 4B shows, as a further example, the shape map of
a sphere model for which Koenderink's curvedness was used as a
shape descriptor.
[0066] The shape map encapsulates information about the variation
of "shape" across the model into a regular 2D representation. This
invention makes use of techniques from color image processing and
signal processing to decompose the shape map into regions of
interest. Before proceeding to find regions, a small number of
smoothing steps are preferably applied to the original shape map to
reduce the amount of noise due to discretization. The subsequent
processing is then performed on the smoothed shape map.
[0067] For the purposes of this invention, the regions of interest
preferably correspond to regions of no or little variation in
shape. Since the shape variation is encoded into the color
information, this task can be cast as a color quantization one.
[0068] While, in principle, any color quantization algorithm can be
applied at this stage, it is instructive to keep in mind that the
quality of the final decomposition depends on the accuracy of the
quantization method. Adaptive color segmentation methods, such as
those proposed by E. Saber, A. Tekalp, and G. Bozdagi, Fusion of
Color and Edge Information for Improved Segmentation and Edge
Linking, IEEE Trans. Image Proc., 6(10):1446-1451, 1995 and by M.
Chang, M. Sezan and A. M. Tekalp, Adaptive Bayesian segmentation of
color images, Journal of Electronic Imaging, vol. 3:404-414, 1994,
have been found to provide good results, although this invention is
not limited to these particular color segmentation processes. It is
also important that colors that appear in the quantized image
should be extracted automatically (as opposed to the user
specifying some target number of colors), and that the colors
accurately represent the dominant colors in the original image.
[0069] Regarding the mapping of shape descriptors to colors, the
details of the mapping depend in large part on the descriptor. For
example, and for the case of surface normals, the color mapping can
be done by mapping each of the normalized (x, y, z) components of a
normal vector to the (r, g, b) components of a color. In this way,
and by example, a normal of (0, 0, 1) (i.e., a normal along the z
axis) gets the color blue. For other shape descriptors, other
mappings may be used. For example, and considering the
sphere-shaped map in which Koenderink curvedness is used as a
descriptor, a function can be applied to map curvedness which is a
positive number to the interval [0, 1], and to then associate a
gray level to it accordingly (e.g., zero curvedness=black, 1
curvedness =white, in between curvedness is expressed as shades of
gray).
[0070] It is again noted that an image may be a color image (e.g.,
a RGB image) or a grayscale image, and for the purposes of this
invention a grayscale image is considered to be a special case of a
color image. As such, references to color, color mapping and color
images made herein should be generally understood to encompass
grayscale images as well.
[0071] FIG. 5B shows a quantized map for the duck model obtained by
quantization of the smoothed shape map in FIG. 5A. The
corresponding regions on the duck model are illustrated in FIG. 5C.
Note that, since the shape map was generated from the surface
normals, the resulting regions correspond to portions of the mesh
in which vertices have approximately the same normal vectors. This
result, in itself, constitutes a novel solution to the problem of
finding clusters on meshes. By varying the parameters of the
quantization, a hierarchy of clusters can be obtained, as shown in
FIG. 5D, for a refined partition obtained by increasing the number
of colors in the quantized map. Such clusters are useful in many
applications, in which connected sets of faces representing
aggregate properties of the mesh are required to be identified.
Some exemplary applications where this is the case include ray
tracing, collision detection, numerical simulations, and
radiosity.
[0072] For conversion to a multiresolution mesh with subdivision
connectivity, what is desired is a coarse mesh with faces
corresponding to the cluster regions as determined above. The
method first computes a 2D mesh corresponding to the planar region
map, and then maps the vertices of the mesh onto the original
surface to obtain a 3D base domain.
[0073] In accordance with an aspect of this invention, an algorithm
for obtaining an optimal or near optimal triangulation or
quadrangulation for a given region map executes the following
steps:
[0074] (A) Compute a region graph G from the quantized shape map.
The nodes of G correspond to regions, and its edges reflect
adjacency relationships between region. An edge is inserted between
nodes i and j if regions i and j in the quantized map share a
common border.
[0075] (B) The region graph enables the computation of an edge map
E, with edges along the borders of the regions. The use of a graph
to locate the edges is preferred over computing the edges directly
using an edge detection algorithm, as it is desired to retrieve
linked chains along the region boundaries.
[0076] (C) To find a suitable triangulation of the region map, it
is preferred to first simplify the region map, and then execute a
constrained Delaunay triangulation algorithm, in which the
simplified edges are the constraints. Alternatively, to find a
quadrangulation, one may run a constrained quadrangulation
algorithm, or one may convert the triangulation to a
quadrangulation.
[0077] FIG. 6A shows the edge map computed from the quantized shape
map in FIG. 5B, and a simplified edge map is shown in FIG. 6B. In
principle, any map simplification algorithm can be used to perform
the simplification of the edge map. In the example shown in FIG. 6B
the well-known Douglas-Peucker method was employed (see D. Douglas
and T. Peucker, Algorithms for the reduction of the number of
points required to represent a line or its caricature, The Canadian
Cartographer, 10(2):112-122, 1973).
[0078] The resulting domain after triangulation of the simplified
edge map, and back-projection onto the 3D model, is shown in FIG.
7, which represents the resulting domain for the duck model.
[0079] A discussion is now made of a presently preferred resampling
process. Once an initial base domain has been found, a
multiresolution hierarchy representing the model is generated by
resampling followed by multiresolution analysis. These steps are
described below in reference to FIGS. 12 and 13.
[0080] For resampling, the method first establishes the desired
number of levels L for the multiresolution hierarchy, and then
generates a dyadic parameterization by midpoint subdivision of each
face of the base domain. For example, quadrilateral domains have
(2.sup.(L-1) +1).times.(2.sup.(L-1) +1) points arranged in a
regular grid (similar to FIG. 2) on the finest level L-1 (levels
are numbered from 0 to L-1). Points on the edges and at the
vertices of the base domain are shared. Similarly, for triangular
domains, every face is split into four, by inserting vertices at
the midpoint of each edge. The original geometry can be resampled
on this finest level of the hierarchy by computing the
intersections of rays emanating at points on the base domain in the
direction of the normal at each point with the original mesh (as
illustrated in the one-dimensional diagram in FIG. 15). In FIG. 15,
the base domain face is midpoint subdivided. At each grid position
the original geometry is resampled by intersecting a ray from the
point in the direction of the normal with the original mesh.
[0081] Next, a multiresolution hierarchy can be generated from data
values on the finest level by selecting a restriction operator. An
example of such an operator is the one that replaces every four
points on a given level with their average on the next coarser
level. Multiresolution analysis with fitting is then applied, from
fine to coarse, by solving a least-squares problem on a given level
i-1 while fitting the data on the next finest level i. The computed
positions on level i-1 are then used to compute values on the next
finest level by subdivision. The difference vectors between the
original values on level i and the values obtained by subdivision
from level i-1, expressed in local coordinate systems at each
vertex on level i, constitute the multiresolution details on level
i.
[0082] Reference can be made to FIGS. 8A-8D. FIG. 8D illustrates
the resulting semi-regular mesh for the Venus head model in FIGS.
8A and 8B, after resampling over the domain shown in FIG. 8C.
[0083] FIGS. 9A, 9B and 10-13 are logic flow diagrams representing
algorithms that are executed by the computer system 10 shown in
FIG. 14. The system 10 includes at least one data processor 12, a
memory 14 and a user interface that typically includes a keyboard
16 and a display 18. A network interface 20 can be provided for
coupling the computer system 10 to all external network 22, which
may be an intranet such as a local area network (LAN), or it may be
or provide access to a global communications network such as the
Internet. The memory 14A is assumed to include a program storage
portion 14A where computer code is stored for implementing the
presently preferred algorithms, as described in FIGS. 8-13. The
computer code can be resident on or in any suitable
computer-readable media, such as a fixed or removable disk, a tape,
or a semiconductor memory device.
[0084] FIGS. 9A and 9B show two primary methods for dealing with a
complex model. FIG. 9A shows a case where the model is cut and then
flattened, and FIG. 9B shows a case where the model is decomposed
into simpler parts, followed by a merging of the independently
found domains. Both of these methods are within the scope of this
invention.
[0085] FIG. 9A shows the main steps of a conversion process in
accordance with the first embodiment (model cutting followed by
flattening) of this invention. The conversion process takes as
input an arbitrary triangle mesh M with manifold connectivity. At
Step 200 the mesh M is cut (if needed), into a mesh M1 with disc
topology. At Step 300 M1 is parameterized over the domain D. At
Step 500 M is resampled over D, and at Step 600 the method performs
multiresolution analysis, with fitting, to obtain the hierarchy
S.
[0086] FIG. 9B shows the main steps of a conversion process in
accordance with the second embodiment (decomposition followed by
merging) of this invention. The conversion process takes as input
the arbitrary triangle mesh M with manifold connectivity. In Step
201 (shown in greater detail in FIG. 10), components corresponding
to sub-parts of the model are extracted. Alternatively, one may
employ cutting of the input mesh (as shown in FIG. 9A), and bypass
the decomposition into several parts. In this case the following
steps are performed as if N=1. For each extracted component, Steps
300 (shown in greater detail in FIG. 11) extract a parameterization
domain. The extracted parameterization domains are then merged at
Step 400 to obtain a parameterization domain D for the mesh M. The
merging operation preferably computes D, the parametric domain for
M, as the union of domains D.sub.0 through D.sub.N-1 The mesh M is
then resampled over the domain D at Step 500 (shown in greater
detail in FIG. 12), and a multiresolution analysis Step 600 (shown
in greater detail in FIG. 13) is performed to create the
multiresolution hierarchy S.
[0087] FIG. 10 illustrates in greater detail the process for
decomposing the model into simpler parts (Step 201 of FIG. 9B). The
general principle of this method step is to extract geometrically
and topologically simple sub-meshes that are more
readilyparameterized than the original mesh. For this purpose
different methods may be used. For example, S. Svensson and G.
Sanniti di Baja, A Tool for Decomposing 3D Discrete Objects, IEEE
Computer Society Conference on Computer Vision and Pattern
Recognition, pps. 850-855, 2001 use a volumetric approach model
segmentation. This preferred approach is outlined in Step 200. The
model is first converted to a binary volumetric representation (V)
at Step 210 by enclosing it within a 3D grid, and by labeling all
grid points within the model with the label "in", and all points
outside of the 3D grid with the label "out". This volumetric
representation (V) is used to compute a Discrete Distance Transform
(DDT) at Step 220 through which each grid point within the model is
labeled with the distance to the surface along grid lines. A
volumetric segmentation of the model is performed by computing a
set of region seed values R.sub.0-R.sub.N-1 using the DDT
corresponding to the regions of the model of differing thickness
(Step 230). Starting from the seed values, a distance-driven region
growing algorithm is employed to partition the volume within the
model into regions corresponding to parts of the model of different
thickness (Step 240). For each volumetric region V.sub.i (i=0 to
N-1), the corresponding iso-surface C.sub.i, is extracted, yielding
a mesh representation for that region (Step 250). At Step 260 the
topological genus of each mesh C.sub.i; is computed, and if mesh is
not of genus zero, it is converted to a genus zero by cutting. In
addition to this preferred implementation of finding parts, other
methods that achieve the same result can be used. There exist, for
example, medial axis-based methods that allow such
decompositions.
[0088] FIG. 11 illustrates in greater detail the process for
computing a coarse mesh domain. In this step of the overall method
the idea is to parameterize the mesh over a plane. For a
non-limiting example of a genus zero mesh, this may be accomplished
by first parameterizing the mesh over a sphere by assigning
spherical coordinates (.theta.,.phi.) to each vertex by a diffusion
process. Then, using the spherical parameterization, the surface
may be flattened into the (.theta.,.phi.) plane using a cylindrical
projection from the sphere to the plane (Step 310), thereby
creating a parameterization P.sub.i. In other embodiments a mesh
cutting technique can be used, such as the one mentioned above by
A. Sheffer and J. Hart, Seamster: Inconspicuous low-distortion
texture seam layout, IEEE Visualization, pages 291-298, 2002. An
optional relaxation process may then be employed to reduce any
distortion of the mapping to the plane (Step 320). The projection
defines a map between the original surface and a region of the
plane, which may then be interpreted as a 2D color image. The
colors of the image are computed by assigning colors to the
vertices of the projected 2D mcsh, and rendering the projected 2D
mesh using, preferably, Gouraud shading or some similar technique.
The colors assigned to the vertices correspond to the properties of
the original 3D surface (e.g., curvatures, normals). The resulting
image is referred to herein as the shape map SH.sub.i (Step 330).
SH.sub.i is then processed to detect regions of constant shape
(e.g., by smoothing and color quantization) at Step 340, and at
Step 350 a 2D coarse mesh is computed by fitting a 2D quadrilateral
(or a triangle) mesh to the region map. In Step 350 each face of
the coarse mesh corresponds (approximately) to a region of constant
shape of the shape map SH.sub.i. The image of the 2D coarse mesh,
obtained through the inverse mapping from the plane to the original
mesh, gives the coarse parameterization domain D.sub.i for the 2D
mesh (Step 360). At Step 370 D.sub.i is optionally relaxed.
[0089] FIG. 12 illustrates in greater detail the resampling process
500 shown in FIGS. 9A and 9B. The faces of the base domain are
regularly sampled using, preferably, midpoint subdivision (Step
510). More specifically, Step 510 midpoint subdivides L times each
face D.sub.i of D, thereby generating a grid of points G.sub.i,
where i=0, . . . , K-1. At Step 520 the resampling of the geometry
of the triangle mesh M with manifold connectivity is performed at
the finest level by computing the positions of the vertices
corresponding to the generated grid points G.sub.i, i=0, . . . ,
K-1. This is preferably accomplished by intersecting the original
geometry with the normal direction at a given grid point. It should
be noted that the normals may be computed by interpolation from the
normals of the base domain that, in turn, correspond to the normals
interpolated from the original geometry.
[0090] FIG. 13 illustrates in greater detail the multiresolution
analysis process 600 shown in FIGS. 9A and 9B. More specifically,
FIG. 13 depicts the process of generating a multiresolution
hierarchy from data on the finest level, and takes as inputs the
resampled mesh R, the course mesh D with K faces, and the number of
subdivision levels L. The subdivision hierarchy S with K mesh
faces, having the number of L levels specified by Step 500 of FIG.
12, is allocated for the resulting mesh at Step 610. At Step 620
the finest level of the hierarch S is assigned values computed in
Step 500. The data on intermediate levels is computed by applying a
restriction (or smoothing) operator (Step 630). A non-limiting
example of a restriction operator is averaging. Steps 640-660
relate to the fitting process. More specifically, for each
intermediate level, the positions of the vertices computed by
restriction are optimized using a relaxation procedure that
includes a least squares fitting of the data at the next resolution
level (Step 640). Coordinates of the next level are computed by
subdivision (Step 650), and multiresolution details are computed as
differences between the original positions and the positions
obtained by subdivision (Step 660).
[0091] Based on the foregoing detailed description of the methods
and apparatus of this invention, it should be appreciated that the
inventor has provided an image-based algorithm for domain
decomposition that eliminates the conventional need for manual
intervention, that takes into account surface properties, and that
is capable of accommodating arbitrary 2-manifold meshes. The
image-based algorithm overcomes problems inherent in the geometric
approaches of the prior art. An additional benefit of the method
described above is that it also provides an image-based technique
to compute clusters of faces on a mesh.
[0092] While described in the context of presently preferred
embodiments, those skilled in the art should appreciate that
various modifications of and alterations to the foregoing
embodiments can be made, and that all such modifications and
alterations will still be within the scope of this invention.
* * * * *