WO2001052194A1 - Use of normal meshes in three-dimensional imaging - Google Patents

Use of normal meshes in three-dimensional imaging Download PDF

Info

Publication number
WO2001052194A1
WO2001052194A1 PCT/US2001/001086 US0101086W WO0152194A1 WO 2001052194 A1 WO2001052194 A1 WO 2001052194A1 US 0101086 W US0101086 W US 0101086W WO 0152194 A1 WO0152194 A1 WO 0152194A1
Authority
WO
WIPO (PCT)
Prior art keywords
normal
polyline
mesh
vertices
point
Prior art date
Application number
PCT/US2001/001086
Other languages
French (fr)
Inventor
Peter Schroeder
Igor Guskov
Original Assignee
California Institute Of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/820,383 external-priority patent/US7129947B1/en
Application filed by California Institute Of Technology filed Critical California Institute Of Technology
Priority to AU2001229416A priority Critical patent/AU2001229416A1/en
Publication of WO2001052194A1 publication Critical patent/WO2001052194A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame

Definitions

  • Three-dimensional imaging often requires three scalar functions such as x, y, and z coordinates. These coordinates define parameters of the surface so that the surface can be visualized as a three dimensional image.
  • the present application teaches a new kind of way of describing a three dimensional surface.
  • the description is called a "normal mesh".
  • the mesh has information which defines information relative to a special tangent plane.
  • the normal mesh is defined as a normal offset from a coarser version.
  • the mesh can be stored with a single float per vertex, thus reducing the amount of information which needs to be stored.
  • Figure 1 shows how a smooth surface of three dimensions can be described in terms of single variable scalars
  • Figure 2 shows a polyline
  • Figure 3 shows construction of a normal polyline
  • Figure 4A shows a flowchart of forming a polyline
  • Figure 4B shows a flowchart of overall operation of compressing the surface
  • Figures 5A-5F show the various stages of compressing a sample surface, here a molecule
  • Figure 6 shows a based domain vertext repositioning
  • Figure 7 shows a piercing operation
  • Figure 8 shows a face splitting operation to obtain additional surface detail
  • Figure 9 shows a result of applying a naive piercing procedure.
  • Figure 1 shows how a smooth surface 100 can be locally described by single variable scalar height functions, hi, h 2 , h 3 , h over a tangent plane 110.
  • the three dimensional information for the smooth surface 100 is contained only in this single dimension h: the height over the tangent plane. In practice, this approximation only works infinitesimally. However, it may provide interesting information.
  • the normal meshes .which are described herein require only a single scalar value per vertex. This is may be done using a multiresolution and local frame. A hierarchical representation provides that all detail coefficients expressed in these frames are scalar.
  • the parameter may be a normal component, for example. In the context of compression, for example, this allows parameter information to be predicted and confines residual error to the normal direction.
  • a curve in a plane can be defined by a pair of parametric functions.
  • S(t) (x(t), y(t)) with t e [0,1] .
  • polylines may be used to approximate curves.
  • Figure 2 shows removing one point (Su+1,2t+1)) in a
  • polyline multiresolution and recording the difference with the midpoint m On the left a general polyline where the detail has both a normal and a tangential component. On the right is a normal polyline where the detail is purely normal.
  • a polyline is "normal" if a multiresolution structure exists where every removed point forms an Isosceles triangle with its neighbors. Then there is zero parameter information and the polyline can be represented with one scalar per point, namely the normal component of the associated detail.
  • Figure 3 shows construction of a normal polyline. We start with the coarsest level and each time check where the normal to the midpoint crosses the curve. For simplicity only the indices of the S j/k points are shown and only certain segments are subdivided.
  • the polyline (0,0)-(2,l)-(3,3)-(l,l) ' -(0,l) is determined by its endpoints and three scalars, the heights of the Isosceles triangles .
  • a base point and normal estimate can be produced using the well known 4 point rule. Any predictor which only depends on the coarser level is allowed. Irregular schemes described in Daubechies, I., Guskov, I., and Sweldens, W. Regularity of Irregular Subdivision. Constr. Approx. 15 (1999), 381-426. can also be used. Levels may be built by downsampling every other point, or using any other ordering. Describing this in terms of further generality, a polyline is normal if a removal order of the points exist such that each removed point lies in the normal direction from a base point, where the normal direction and base point only depend on the remaining points . Hence a normal polyline may be completely determined by a single scalar component per vertex.
  • Normal polylines are closely related to certain well known fractal curves such as the Koch Snowflake.
  • the normal coefficients can be thought of as a piecewise linear wavelet transform of the original curve. Because the tangential components are always zero, there may be half as many wavelet coefficients as the original scalar coefficients.
  • the wavelets have their usual decorrelation properties.
  • K is an abstract simplicial complex which contains all the topological, i.e., ' adjacency information.
  • the complex K is a set of subsets of ⁇ 1,...,N ⁇ . These subsets come in three types: vertices ⁇ i ⁇ , edges ⁇ i,j ⁇ , and faces ⁇ i,j,k ⁇ . Two vertices i and j are neighbors if
  • V(i) ⁇ jlmid ⁇ i,j ⁇ ⁇ E ⁇ .
  • a mesh M is normal in case a sequence of vertex removals exists so that each removed vertex lies on a line defined by a base point and normal direction which only depends on the remaining vertices.
  • a normal mesh can be described by a small base domain and one scalar coefficient per vertex.
  • a mesh in general is not normal, just as a curve is in general not normal.
  • the present application therefore uses a special kind of mesh, called a semi-regular mesh.
  • the semi-regular mesh has a connectivity which is formed by successive quadrasection of coarse base domain faces.
  • the operation is shown in Figure 4 at 440, the operation begins with a coarsest level or base domain. If there are no new vertices, the operation is complete at 410. For each new vertex determined at 405, a new base point is computed and a normal direction are found at 415. A determination is made of where the line defined by the base point and normal intersects the surface 420. 425 determines how many intersection points exist. If only one point exists, it is accepted at 430. In the surface situation, there might be no intersection point or many intersection points, not all of which are correct.
  • V(i) is the 1-ring neighborhood of the vertex i
  • an initial set of curves is defined, to connect the vertices of the base domain with a net of non intersecting curves on the different levels of the mesh simplification hierarchy. This can be -done using the MAPS parameterization.
  • MAPS uses polar maps to build a bijection between a 1-ring and its retriangulation after the center vertex is removed. The concatenation of these maps is a bijective mapping between different levels ( j, j) in the hierarchy.
  • the desired curves include the image of the base domain edges under this mapping. Because of the bijection, no intersection can occur. Note that the curves start and finish at a vertex of the base domain.
  • the repositioning is typically done on some intermediate level j .
  • Boundary conditions are assigned using arc length parameterization.
  • Parameter coordinates are iteratively computed for each level j vertex inside the shaded region.
  • the point qi may be replaced with any level point from P j in the shaded region.
  • the new q ⁇ ⁇ may be the point of Pj that in the parameter domain is closest to the center of the disk.
  • the curves can be redrawn by taking the inverse mapping of straight lines from the new point in the parameter plane. This procedure may be iterated. It may alternatively suffice to cycle once through all base domain vertices.
  • User controlled repositioning may allow the user to replace the center vertex with any P j point in the shaded region. Parameterization may be used to recompute the curves from that point.
  • Figure 5C shows the repositioned vertices. Notice how some of them, like the rightmost ones have moved considerably.
  • Figure 6 shows base domain vertex repositioning with the left showing original patches around qi, middle: parameter domain, right: repositioned q ⁇ and new patch boundaries. This is replaced with the vertex whose parameter coordinate are the closest to the center. The inverse mapping (right) is used to find the new position qi' and the new curves. 4. Fixing the global edges: The image of the global edges on the finest level will later be the patch boundaries of the normal mesh. For this reason, the smoothness of the associated curves be improved at the finest level. 465 defines fixing global edges using a procedure similar to Eck, M., DeRose, T., Duchamp, T., Hoppe, H., Lounsbery, M. , and Stuetzle, W.
  • FIG. 7 shows the canonical step for a new vertex of the semi-regular mesh to find its position on the original mesh.
  • every edge of level j generates a new vertex on level j+1.
  • compute a base point is computed using interpolating Butterfly subdivision as well as an approximation of the normal. This defines a straight line. This line may have multiple or no intersection points with the original surface.
  • the new vertex q may lie halfway along the edge ⁇ a, c ⁇ with incident triangles ⁇ a, c, b ⁇ and ⁇ c, a, d ⁇ , see Figure 7, Let the two incident patches form the region R.
  • Figure 8 shows a Face split: Quadrisection in the parameter plane (left) leads to three new curves within the triangular surface region (right) .
  • the aperture parameter K of the piercing procedure provides control
  • Figure 9 shows 4 levels of naive piercing for the torus starting from a 102 vertex base mesh. Clearly, there are several regions with flipped and self- intersecting triangles. The error is about 20 times larger than the true normal mesh.
  • Normal meshes have numerous applications. The following are examples. Compression Usually a wavelet transform of a standard mesh has three components which need to be quantized and encoded. Information theory tells us that the more non uniform the distribution of the coefficients the lower the first order entropy. Having 2/3 of the coefficients exactly zero will further reduce the bit budget. From an implementation viewpoint, the normal mesh coefficients may be connected to the best known scalar wavelet image compression code.
  • Texturing Normal semi-regular meshes are very smooth inside patches, across global edges, and around global vertices even when the base domain is exceedingly coarse, cf. the skull model.
  • the implied parameterizations are highly suitable for all types of mapping applications.

Abstract

A special set of normal meshes (100) is defined where errors (Fig. 1) and residuals will also be along a direction that minimizes the error in coding. These normal meshes (100) can be used to model a three dimensional surface.

Description

USE OF NORMAL MESHES IN THREE-DIMENSIONAL IMAGING
Background Three-dimensional imaging often requires three scalar functions such as x, y, and z coordinates. These coordinates define parameters of the surface so that the surface can be visualized as a three dimensional image.
Summary The present application teaches a new kind of way of describing a three dimensional surface. The description is called a "normal mesh". The mesh has information which defines information relative to a special tangent plane.
In one embodiment, the normal mesh is defined as a normal offset from a coarser version. The mesh can be stored with a single float per vertex, thus reducing the amount of information which needs to be stored.
Brief Description of the Drawings These and other aspects will now be described in detail with reference to the accompanying drawings, in which:
Figure 1 shows how a smooth surface of three dimensions can be described in terms of single variable scalars;
Figure 2 shows a polyline; Figure 3 shows construction of a normal polyline; Figure 4A shows a flowchart of forming a polyline; Figure 4B shows a flowchart of overall operation of compressing the surface;
Figures 5A-5F show the various stages of compressing a sample surface, here a molecule;
Figure 6 shows a based domain vertext repositioning; Figure 7 shows a piercing operation; Figure 8 shows a face splitting operation to obtain additional surface detail; and Figure 9 shows a result of applying a naive piercing procedure. Detailed Description Figure 1 shows how a smooth surface 100 can be locally described by single variable scalar height functions, hi, h2, h3, h over a tangent plane 110. When considered this way, the three dimensional information for the smooth surface 100 is contained only in this single dimension h: the height over the tangent plane. In practice, this approximation only works infinitesimally. However, it may provide interesting information.
Surfaces are often approximated using a triangle mesh. However, this description may lose structural assumption that are inherent in the actual surface. For example, some of the smoothness assumption that one can make in an actual surface may be lost in the triangle mesh. Hence, the triangle mesh has inherent redundancy.
For a given smooth shape, different parameterizations may still keep the geometry the same. In defining a mesh, the present application notices that infinitesimal tangential motion of a vertex does not change the geometry. However, moving in the normal direction does change the geometry.
The normal meshes .which are described herein require only a single scalar value per vertex. This is may be done using a multiresolution and local frame. A hierarchical representation provides that all detail coefficients expressed in these frames are scalar. The parameter may be a normal component, for example. In the context of compression, for example, this allows parameter information to be predicted and confines residual error to the normal direction.
A curve in a plane can be defined by a pair of parametric functions. S(t) = (x(t), y(t)) with t e [0,1] . In the present embodiment,
polylines may be used to approximate curves.
Let £(p,p') be the linear segment between the points
p and p' . A polyline multiresolution approximation is made by sampling the curve at points Sj,k where Sj,k = Sj+ι,2 and defining the jth level approximation as
E.
0 < k < V '(^ '^ +i)
To move from Lj to Lj+χ, the points Sj+ι,2+ι are inserted (Figure 2, left). Clearly this requires two scalars: the two coordinates of Sj+ι,2k+ι- Alternatively one could compute the difference Sj+ι,2k+ι - m between the new point and some predicted point m, for example, the midpoint of the neighboring points s-j,k and Sj,k+ι. This detail has a •tangential component m- b and a normal component b- Sj+ι,2+ι- The normal component represents the geometric information while the tangential component the parameter information.
Figure 2 shows removing one point (Su+1,2t+1)) in a
polyline multiresolution and recording the difference with the midpoint m. On the left a general polyline where the detail has both a normal and a tangential component. On the right is a normal polyline where the detail is purely normal.
Polylines can hence be described with one scalar per point if the parameter information is always zero, i.e., b = m, in Figure 2B. If the triangle Sj,k, Sj+ι_2k+i sj,k+ι is Isosceles, there is no parameter information.
Hence a polyline is "normal" if a multiresolution structure exists where every removed point forms an Isosceles triangle with its neighbors. Then there is zero parameter information and the polyline can be represented with one scalar per point, namely the normal component of the associated detail.
Figure 3 shows construction of a normal polyline. We start with the coarsest level and each time check where the normal to the midpoint crosses the curve. For simplicity only the indices of the Sj/k points are shown and only certain segments are subdivided. The polyline (0,0)-(2,l)-(3,3)-(l,l)'-(0,l) is determined by its endpoints and three scalars, the heights of the Isosceles triangles .
For a general polyline, the removed triangles are hardly ever exactly Isosceles, and the polyline hence not normal. A normal polyline approximation for any continuous curve using the following techniques. The easiest is to start building Isosceles triangles from the coarsest level. The operation starts with the first base 1 (s0,o, s0,i) , see Figure 3. Next, its midpoint is taken. A determination is made of where the normal direction crosses the curve. Because the curve is continuous, there has to be at least one such point. If there are multiple points, any one point can be selected. This point can be labeled as Sι,ι. The first triangle is defined using this point. Now this process is repeated. Each time Sj+ι_2k+ι is found where the normal to the midpoint of Sj,k and S/ +ι crosses the curve. Thus any continuous curve can be approximated arbitrarily closely with a normal polyline. The result is a series of polylines Lj, all of which are normal with respect to midpoint prediction. Effectively each level is parameterized with respect to the one coarser level. Because the polylines are normal, only a single scalar value, the normal component, needs to be recorded for each point. These polylines may have no parameter information.
One can also consider normal polylines with respect to other predictors. A base point and normal estimate can be produced using the well known 4 point rule. Any predictor which only depends on the coarser level is allowed. Irregular schemes described in Daubechies, I., Guskov, I., and Sweldens, W. Regularity of Irregular Subdivision. Constr. Approx. 15 (1999), 381-426. can also be used. Levels may be built by downsampling every other point, or using any other ordering. Describing this in terms of further generality, a polyline is normal if a removal order of the points exist such that each removed point lies in the normal direction from a base point, where the normal direction and base point only depend on the remaining points . Hence a normal polyline may be completely determined by a single scalar component per vertex.
Normal polylines are closely related to certain well known fractal curves such as the Koch Snowflake. The normal coefficients can be thought of as a piecewise linear wavelet transform of the original curve. Because the tangential components are always zero, there may be half as many wavelet coefficients as the original scalar coefficients. The wavelets have their usual decorrelation properties.
A triangle mesh Mis a pair (P,K) , where P is a set
of N point positions P = {Pt = (Xi,Yi,Zi) <= R3 \ mid l ≤ i ≤ N} , and
K is an abstract simplicial complex which contains all the topological, i.e., 'adjacency information. The complex K is a set of subsets of {1,...,N}. These subsets come in three types: vertices {i}, edges {i,j}, and faces {i,j,k}. Two vertices i and j are neighbors if
i,j} e E . The 1-ring neighbors of a vertex I form a set
V(i) = {jlmid{i,j} ^ E} .
Definition of normal triangle meshes may be inspired by the curve case. Consider a hierarchy of triangle meshes Mj built using mesh simplification with vertex removals. These meshes are nested in the sense that
Pj c Pj÷l . Take a removed vertex P. e Pj+1 \Pj . For the mesh
to be normal we need to be able to find a base point b and
normal direction N that only depend on P. , so that P{ -b
lies in the direction N. This leads to the definition that a mesh M is normal in case a sequence of vertex removals exists so that each removed vertex lies on a line defined by a base point and normal direction which only depends on the remaining vertices.
Thus a normal mesh can be described by a small base domain and one scalar coefficient per vertex.
A mesh in general is not normal, just as a curve is in general not normal. The present application therefore uses a special kind of mesh, called a semi-regular mesh. The semi-regular mesh has a connectivity which is formed by successive quadrasection of coarse base domain faces. The operation is shown in Figure 4 at 440, the operation begins with a coarsest level or base domain. If there are no new vertices, the operation is complete at 410. For each new vertex determined at 405, a new base point is computed and a normal direction are found at 415. A determination is made of where the line defined by the base point and normal intersects the surface 420. 425 determines how many intersection points exist. If only one point exists, it is accepted at 430. In the surface situation, there might be no intersection point or many intersection points, not all of which are correct.
If there are no intersection points, control passes to the left. A fully normal mesh could not be built from this base domain. Therefore, the definition of a normal mesh is rearranged to allow a small number of cases where the new points do not lie in the normal direction. The technique needs to find a suitable non-normal direction in order to proceed. A smooth parameterization helps define the surface. Several parameterization techniques have been proposed including MAPS, patch wise relaxation, and specific smoothness function, see, Dyn, N., Levin, D., and Gregory, J. A. A Butterfly Subdivision Scheme for Surface Interpolation with Tension Control. ACM Transactions on Graphics 9, 2 (1990), 160-169. Eck, M. , DeRose, T., Duchamp, T., Hoppe, H., Lounsbery, M. , and Stuetzle, W. Multiresolution Analysis of Arbitrary Meshes. Proceedings of SIGGRAPH 95 (1995), 173-182. ; Lee, A. W. F. , Dobkin, D., Sweldens, W., and Schroder, P. Multiresolution Mesh Morphing. Proceedings of SIGGRAPH 99 (1999), 343-350; Levoy, M. The Digital Michelangelo Project. In Proceedings of the 2nd International Conference on 3D Digital Imaging and Modeling, October 1999. Consider a region R of the mesh homeomorphic to a disc that is to be parameterized onto a convex planar region B, i.e., find a bijective map u : R —> B . The map u is fixed by a boundary condition dR - dB and minimizes a certain energy functional. Several functionals can be used leading to, e.g., conformal or harmonic mappings. The disclosed system takes an approach based on the parameterization scheme introduced by Floater. In short, the function u needs to satisfy the following equation in the interior:
Figure imgf000012_0001
(1)
where V(i) is the 1-ring neighborhood of the vertex i and
the weights aik come from the Floater parameterization
scheme introduced by Floater. The Floater weights is that they are always positive, which, combined with the convexity of the parametric region, guarantees that no triangle flipping can occur within the parametric domain. This is not true in general for harmonic maps which can have negative weights. The iterative biconjugate gradient method is used to obtain the solution to the system. The overall image formation is shown in the flowchart of Figure 4B. Figure 5 shows a highly detailed and curved model of a molecule and these steps. 1. Mesh simplification: At 450, the Garland- Heckbert simplification, based on half-edge collapses, is used to create a mesh hierarchy (Pj,iTj) . We use the coarsest level ( P0 f Ko) as an initial guess for our base domain ( QO, KQ ) . The first image, shown in Figure 5A, shows an image of the base domain for the molecule. Note that this is relatively coarse.
2. Building an initial net of curves: At 460, an initial set of curves is defined, to connect the vertices of the base domain with a net of non intersecting curves on the different levels of the mesh simplification hierarchy. This can be -done using the MAPS parameterization. MAPS uses polar maps to build a bijection between a 1-ring and its retriangulation after the center vertex is removed. The concatenation of these maps is a bijective mapping between different levels ( j, j) in the hierarchy. The desired curves include the image of the base domain edges under this mapping. Because of the bijection, no intersection can occur. Note that the curves start and finish at a vertex of the base domain. They need not follow the edges of the finer triangulation, i.e., they can cut across triangles. These curves define a network of triangular shaped patches corresponding to the base domain triangles. Later these curves will be adjusted on some intermediate level. Again MAPS may be used to propagate these changes to other levels. Figure 5B shows these curves for some intermediate level of the hierarchy. 3. Fixing the global vertices: A normal mesh is almost completely determined by the base domain. Selection of the base domain vertices Q0 may reduce the number of non-normal vertices to a minimum. The coarsest level of the mesh simplification P0 is only a first guess. At 460, the global vertices q± are respositioned with {i} e Kb. Constraint is imposed that the qi needs to coincide with some vertex pk of the original mesh, but not necessarily p^.
The repositioning is typically done on some intermediate level j . Take a base domain vertex qi shown on the left in Figure 6. We build a parameterization from the patches incident to vertex qi to a disk in the plane 610, see Figure 6. Boundary conditions are assigned using arc length parameterization. Parameter coordinates are iteratively computed for each level j vertex inside the shaded region. The point qi may be replaced with any level point from Pj in the shaded region. The new q±ι may be the point of Pj that in the parameter domain is closest to the center of the disk. Once a new position qi' is chosen, the curves can be redrawn by taking the inverse mapping of straight lines from the new point in the parameter plane. This procedure may be iterated. It may alternatively suffice to cycle once through all base domain vertices.
User controlled repositioning may allow the user to replace the center vertex with any Pj point in the shaded region. Parameterization may be used to recompute the curves from that point. Figure 5C shows the repositioned vertices. Notice how some of them, like the rightmost ones have moved considerably.
Figure 6 shows base domain vertex repositioning with the left showing original patches around qi, middle: parameter domain, right: repositioned q± and new patch boundaries. This is replaced with the vertex whose parameter coordinate are the closest to the center. The inverse mapping (right) is used to find the new position qi' and the new curves. 4. Fixing the global edges: The image of the global edges on the finest level will later be the patch boundaries of the normal mesh. For this reason, the smoothness of the associated curves be improved at the finest level. 465 defines fixing global edges using a procedure similar to Eck, M., DeRose, T., Duchamp, T., Hoppe, H., Lounsbery, M. , and Stuetzle, W. Multiresolution Analysis of Arbitrary Meshes. Proceedings of SIGGRAPH 95 (1995), 173-182. For each base domain edge {i,k} region formed on the finest level mesh by its two incident patches. Let 1 and m be the opposing global vertices. A scalar parameter function p within the
diamond-shaped region of the surface is compiled. The boundary condition is set as p (qi) = p (qk) = 0, p (qi) =
1, p (qm) = -1, with linear variation along the edges.
The parameterization is compiled and its zero level set is the new curve. One could iterate this procedure until convergence but in practice one cycle may suffice. The curves of Figure 5D represent the result of the curve smoothing on the finest level.
5. Initial parameterization: Once the global vertices and edges are fixed the interior may be filled at 470. This is done by computing parameterization of each patch to a triangle while keeping the boundary fixed. The parameter coordinates from the last stage can serve as a good initial guess a smooth global parameterization is shown in the bottom left of Figure 5E. Each triangle is given a triangular checkerboard texture to illustrate the parameterization. Figure 7 shows Upper left: piercing, the Butterfly point is s, the surface is pierced at the point q, the parametrically suggested point v lies on the curve separating two regions of the mesh. Right: parameter domain, the pierced point falls inside the aperture and gets accepted. Lower left: the parameterization is adjusted to let the curve pass through q. 6. Piercing: Piercing, at 475, piercing is used to start building the actual normal mesh. Figure 7 shows the canonical step for a new vertex of the semi-regular mesh to find its position on the original mesh. In quadrisection, every edge of level j generates a new vertex on level j+1. First, compute a base point is computed using interpolating Butterfly subdivision as well as an approximation of the normal. This defines a straight line. This line may have multiple or no intersection points with the original surface. The new vertex q may lie halfway along the edge {a, c} with incident triangles {a, c, b} and {c, a, d} , see Figure 7, Let the two incident patches form the region R.
Build the straight line L defined by the base point s predicted by the Butterfly subdivision rule and the direction of the normal computed from the coarser level points. All the intersection points of L are found with the region R by checking all triangles inside.
If there is no intersection the point v that lies midway between the points a and c in the parameter domain is taken: u(v) = (u(a)+u(c)) / 2. This is the same point a standard parameterization based remesher would use.
In the case when there exist several intersections of the mesh region R with the piercing line L we choose the intersection point that is closest to the point u(v) in the parameter domain. Let us denote by u(q) the parametric coordinates of that piercing point. We accept this point as a valid point of the semi-regular mesh if |u(q)-u(v) || <κ I u(a)-u(v) || , where K is an "aperture" parameter that specifies
how much the parameter value of a pierced point is allowed to deviate from the center of the diamond. Otherwise, the piercing point is rejected and the mesh takes the point with the parameter value u(v).
7. Adjusting the parameterization: Once there is a new piercing point, we need to adjust the parameterization to reflect this at 480. Essentially, the adjusted parameterization u should be such that the piercing point has the parameters u(v) = :u(q). When imposing such an isolated point constraint on the parameterization, there is no mathematical guarantee against flipping. Hence a new piecewise linear curve through u(q) in the parameter domain is prepared. This gives a new curve on the surface which passes through q, see Figure 7. The parameterization for each of the patches onto a triangle is separately computed. A piecewise linear boundary condition, with the half point at q on the common edge, is produced.
When all the new midpoints for the edges of a face of level j are computed, the faces of level j+1 are found. This is done by drawing three new curves inside the corresponding region of the original mesh, as shown in Figure 8. Before that operation happens we need to ensure that a valid parameterization is available within the patch. The patch is parameterized onto a triangle with three piecewise linear boundary conditions each time putting the new points at the midpoint. Then the new points are connected in the parameter domain which allows us to draw new finer level curves on the original mesh. This produces a metamesh similar to ** [1_4] which replicates the structure of the semi-regular hierarchy on the surface of the original. The construction of the semi-regular mesh can be done adaptively with the error driven procedure from MAPS [15] . An example of parameterization adjustment after two levels of adaptive subdivision is shown Figure 5F.
As the parametrization regions become smaller, the starting guesses are better and the solver becomes faster. Lazy parameter computation may be used, and the relaxation is run just before we actually need to use parameters for either a point location or a surface curve drawing procedure. Figure 8 shows a Face split: Quadrisection in the parameter plane (left) leads to three new curves within the triangular surface region (right) .The aperture parameter K of the piercing procedure provides control
over how much of the original parameterization is
preserved in the final mesh. At K = 0 a mesh can be built
based entirely based on the original global
parameterization. At K = 1 a purely normal mesh can be
made which is independent of the parameterization. The best results may be achieved when the aperture was set low (0.2) at the coarsest levels, and then increased to (0.6) on finer levels. On the very fine levels of the hierarchy, where the geometry of the semi-regular meshes closely follows the original geometry, a naive piercing procedure without parameter adjustment. Figure 9 illustrates such a Naive piercing procedure. Clearly, several regions have flipped triangles and are self- intersecting .
Figure 9 shows 4 levels of naive piercing for the torus starting from a 102 vertex base mesh. Clearly, there are several regions with flipped and self- intersecting triangles. The error is about 20 times larger than the true normal mesh.
Normal meshes have numerous applications. The following are examples. Compression Usually a wavelet transform of a standard mesh has three components which need to be quantized and encoded. Information theory tells us that the more non uniform the distribution of the coefficients the lower the first order entropy. Having 2/3 of the coefficients exactly zero will further reduce the bit budget. From an implementation viewpoint, the normal mesh coefficients may be connected to the best known scalar wavelet image compression code.
Filtering It has been shown that applications such as smoothing, enhancement, and denoising can simply be effected through a suitable scaling of wavelet coefficients. In a normal mesh any such algorithm will run three times as fast. Also large scaling coefficients in a standard mesh will introduce large tangential components leading to flipped triangles. In a normal mesh this is much less likely to happen.
Texturing Normal semi-regular meshes are very smooth inside patches, across global edges, and around global vertices even when the base domain is exceedingly coarse, cf. the skull model. The implied parameterizations are highly suitable for all types of mapping applications.
Rendering Normal maps are a very powerful tool for decoration and enhancement of otherwise smooth geometry. In particular in the context of bandwidth bottlenecks it is attractive to be able to download a normal map into hardware and only send smooth coefficient updates for the underlying geometry. The normal mesh transform effectively solves the associated inverse problem: construct a normal map for a given geometry. Although only a few embodiments have been disclosed in detail above, other modifications are possible.

Claims

What is claimed is:
1. A method of compressing information indicative of a three dimensional surface, comprising: determining a function which approximates some aspect of the surface; and defining the surface in terms of one scalar per point relative to said function.
2. A method as in claim 1, wherein said defining comprises defining a coarse representation and subsequently increasing a resolution of the coarse representation to a finer representation.
3. A method as in claim 2, wherein coefficients of the finer representation are all scalar functions.
4. A method as in claim 2, wherein coefficients of the finer representation confine a residual area to a normal direction of said surface.
5. A method as in claim 1, wherein said surface is defined by a parametric function.
6. A method as in claim 1, wherein said surface is defined by a polyline.
7. A method as in claim 6, wherein said polyline has a normal component representing geometric information and a tangent component representing parameter information.
8. A method as in claim 6, wherein said polyline is defined as a function such that it can be described as one scalar per point of the polyline.
9. A method as in claim 8, wherein said polyline is substantially normal to said surface.
10. A method as in claim 9, wherein said polyline forms a isoceles triangle with neighboring line segments.
11. A method as in claim 6, wherein said polyline is a normal polyline to a surface.
12. A method as in claim 6, wherein said polyline is an approximation to a normal polyline to a surface.
13. A method of compressing a representation of a surface, comprising: forming a plurality of triangles which are normal triangles and which have vertices that are defined by a base point in a normal direction; and using said triangles to form a mesh that represents a surface.
13. A method as in claim 12, wherein said mesh is semiregular, having an connectivity formed by successive quadrisection of coarse base domain phases.
14. A method of forming a model of a three dimensional object, comprising: forming a coarsest version of the model; forming a plurality of curves which do not intersect one another, and which start and finish at vertices defining a base domain; determining non-normal vertices and repositioning said vertices to maximize a number of normal vertices, and using said information to form a normal mesh.
PCT/US2001/001086 2000-01-14 2001-01-12 Use of normal meshes in three-dimensional imaging WO2001052194A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001229416A AU2001229416A1 (en) 2000-01-14 2001-01-12 Use of normal meshes in three-dimensional imaging

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US17636900P 2000-01-14 2000-01-14
US60/176,369 2000-01-14
US09/820,383 2000-07-26
US09/820,383 US7129947B1 (en) 2000-07-26 2000-07-26 Use of normal meshes in three-dimensional imaging

Publications (1)

Publication Number Publication Date
WO2001052194A1 true WO2001052194A1 (en) 2001-07-19

Family

ID=26872162

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/001086 WO2001052194A1 (en) 2000-01-14 2001-01-12 Use of normal meshes in three-dimensional imaging

Country Status (2)

Country Link
AU (1) AU2001229416A1 (en)
WO (1) WO2001052194A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5555356A (en) * 1992-10-29 1996-09-10 International Business Machines Corporation System and method for generating a trimmed parametric surface for display on a graphic display device
US6046744A (en) * 1996-01-11 2000-04-04 Microsoft Corporation Selective refinement of progressive meshes
US6108006A (en) * 1997-04-03 2000-08-22 Microsoft Corporation Method and system for view-dependent refinement of progressive meshes

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5555356A (en) * 1992-10-29 1996-09-10 International Business Machines Corporation System and method for generating a trimmed parametric surface for display on a graphic display device
US6046744A (en) * 1996-01-11 2000-04-04 Microsoft Corporation Selective refinement of progressive meshes
US6108006A (en) * 1997-04-03 2000-08-22 Microsoft Corporation Method and system for view-dependent refinement of progressive meshes

Also Published As

Publication number Publication date
AU2001229416A1 (en) 2001-07-24

Similar Documents

Publication Publication Date Title
Guskov et al. Normal meshes
Lee et al. MAPS: Multiresolution adaptive parameterization of surfaces
US6982710B2 (en) System and method to obtain surface structures of multi-dimensional objects, and to represent those surface structures for animation, transmission and display
US7538764B2 (en) System and method to obtain surface structures of multi-dimensional objects, and to represent those surface structures for animation, transmission and display
Fleishman et al. Progressive point set surfaces
Pauly Point primitives for interactive modeling and processing of 3D geometry
Valette et al. Wavelet-based multiresolution analysis of irregular surface meshes
Marinov et al. Direct anisotropic quad-dominant remeshing
US6137492A (en) Method and system for adaptive refinement of progressive meshes
US7310097B2 (en) Method, apparatus and computer program product enabling a dynamic global parameterization of triangle meshes over polygonal domain meshes
Jeong et al. Direct reconstruction of a displaced subdivision surface from unorganized points
WO1998044454A9 (en) Method and system for view-dependent refinement of progressive meshes
EP1221674A2 (en) System and method to obtain surface structures of multidimensional objects, and to represent those surface structures for animation, transmission and display
Labsik et al. Progressive transmission of subdivision surfaces
Marinov et al. Automatic generation of structure preserving multiresolution models
Payan et al. Semi‐Regular Triangle Remeshing: A Comprehensive Study
US7129947B1 (en) Use of normal meshes in three-dimensional imaging
US20030076319A1 (en) Method and apparatus for encoding and decoding an object
WO2001050417A2 (en) System and method for multi-resolution fairing of non-manifold models
Morán et al. Comparison of wavelet-based three-dimensional model coding techniques
KR100414058B1 (en) Remeshing optimizing method and apparatus for polyhedral surface
Rossignac 54 Surface Simplification and 3d Geome-Try Compression
WO2001052194A1 (en) Use of normal meshes in three-dimensional imaging
Kammoun et al. Adaptive semi-regular remeshing: A voronoi-based approach
Liu et al. Multiresolution free form object modeling with point sampled geometry

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP