TECHNICAL REPORT NO 324-2012 - III 30
1
Ordered Statistics Vertex Extraction and Tracing Algorithm (OSVETA) Bata Vasic, University of Nis
Abstract— We propose an algorithm for identifying vertices from three dimensional (3D) meshes that are most important for a geometric shape creation. Extracting such a set of vertices from a 3D mesh is important in a number of applications, such as digital watermarking, optimization and triangulation. In the first step, the Ordered Statistics Vertex Extraction and Tracing Algorithm (OSVETA) estimates precisely the local curvature and most important topological features of a mesh geometry. Using the vertex geometric importance ranking, the algorithm traces and extracts a vector of vertices, ordered by decreasing index of importance. Index Terms—3-D mesh, 3D geometry, curvature, ordered statistics, vertex extraction.
I. INTRODUCTION Curvature plays an important role in the global shape recognition, but there are others significant features of discrete object representations, which are involved in description of local topological characteristics. Thus, for example a low and high value of dihedral angles characterizes local topology ridge and furrow respectively. In the other hand great distance of one point to its neighbors probably represents topological error, despite to evident high value of local curvature. Estimation of such features importance in combination with a local and global estimation of curvature is the main idea of this paper. In computers graphics 3D object is described in discrete form and fundamental element is a vertex given by its Euclidian coordinates. Therefore, the goal of our approach is exactly extraction of important vertices, i.e. indices of vertices which are assessed with high grades by the most geometric features criteria. For a best defining criteria it is necessary a theoretical study of existing curvature estimation algorithms for the beginning. Results will demonstrate the effect of the different curvature estimation to the description of topological features. Within next phase follows a exploration of most important characteristics of optimization and simplification processes. Explicitly underlining principles of selection vertices for decreasing their number, sets a new assessment criteria. Characteristics of optimization and simplification processes are similar to stabile vertex extraction process, but in opposite direction. Actually, goals are completely opposite and learning principles of vertices deletion in optimization processes we know which vertices should be eliminated from ordering, i.e. Bata Vasic is with Department of Electronics, University of Nis, Faculty of Electronic Engineering, Aleksandra Medvedeva 14, 18000 Nis, Republic of Serbia (cellphone: +381-63-417-696, e-mail:
[email protected]).
whish criteria should be give bad grades to vertices assessment. Thus, our approach provides forming criteria for action from both sides of problem. First set of criteria eliminates vertices from ordering based on matching their geometrical features with criteria conditions. The purpose of second set of criteria is ordering and finally, determination of the vertex extraction order in our approach is in direct proportion to its invariance in relation to the simplification and optimization process. The paper is organized as follows: Section II gives a preliminaries with discussing a prior work in relevant areas of 3D geometry. In this section we also define the notion of curvature and its sign, and introduce the concepts and terminology used in the paper. Typical methods of optimization and study of their characteristic properties are also located in this section. Section III presents the main idea as well as the details of OSVETA extraction algorithm. This section also provides conclusions about requirements that assessment criteria has to meet. In Section IV we show numerical results, obtained using our OSVETA software tools with real 3D meshes. In this section we also discuss the limitations and possible shortcomings of the proposed approach and tradeoffs among complexity, distortion and security. Section V provides the summary of the numerical results, conclusions and future research directions. In Appendix one may find statistic results of experimental test carried out to determine the rating of certain criterion. II. PRELIMINARIES Unavoidable process of recognition of shapes has long been estimation of curvature. In 1954, Attneave [1] published an important paper in which he observed that extrema of curvature along contours provided much of the information necessary to recognize objects from line drawings. Attneave manually picked points that corresponded to extrema of curvature and connected the points with straight lines. Remarkably, recognition based on such figures was found to be simple for human observers. However, defining important vertices which form a simple and computer-recognizable 3D shape is not trivial process. Thus, it is necessary first pick the point to problems and difficulties of discrete curvature estimation, but also on differences between known methods. A. Discrete curvature estimation methods The notion of curvature originates from Gauss and his work in differential geometry [2] where he also was first who formulated the main curvature features. The latter curvature
TECHNICAL REPORT NO 324-2012 - III 30
2
evaluation methods improve mathematical interpretation and introduce new conditions, generalizing computation for all types of 3D meshes: boundary meshes for example, which Gauss did not consider in his aforementioned work. The main discussions are conducted about accuracy of methods for discrete mesh computations, where lies the difficulty of using theoretical models. 1) Curvature Estimation using Discrete Differential Geometry From differential geometry [3] we know that for manifold surface M in 3 , and each point on the given surface, one can locally approximate the surface by its tangent plane, orthogonal to the normal vector n. For every unit direction e in the tangent plane, the normal curvature K is defined as the curvature of the curve that belongs to both the surface itself and the plane containing both n and e. The two principal curvatures κ1 and κ2 of the surface M, with their associated orthogonal directions e1 and e2 are the extremum values of all the normal curvatures (Figure 1, a). The mean curvature κH is defined as the average of the normal curvatures κH=(κ1+κ2)/2. The Gaussian curvature κG is defined as the product of the two principle curvatures κG=κ1κ2.
vi
κ1e θi
(
)
(
)
κ 1 ( vi ) = κ H ( vi ) + ∆ ( vi )
κ 2 ( vi ) = κ H ( vi ) − ∆ ( vi ) where are ∆ ( v i ) = κ H2 ( v i ) − κ G ( v i ) , κ H ( v i ) =
vi
vi
θij T 2
αij
1 K ( vi ) 2
θij
T
vj 4 αij
vj
(a)
(b)
Figure 2 An example of mixed areas around a vertex use the midpoint of the edge opposite to the obtuse angle as the center: (a) non −Voronoi = T / 4 and (b) non −Voronoi = T / 2 .
n κ2e
2 1 2 4 ∑ cot θij + cot α ij vi − v j sin θij a) j ∈N1 (i ) non −Voronoi = 2 2 1 θ α v v θ cot cot sin b) + − ij ij i j ij 8 j ∈∑ N1 (i ) The expressions for discrete principal curvatures at a point vi are:
θi
βij
2) Fitting Quadric Curvature Estimation This method is today one of most used for curvature features vj computations. Mathematical and theoretical background with (a) (b) (c) comparison with previous similar methods are given by Figure 1 An illustration of (a) An infinitesimal neighborhood on a McIvor and Valkenburg in [5]. Later, Petitjean published continuous surface patch; (b) 1-ring neighbors of point vi and angles survey with comparison with discrete differential geometry opposite to an edge; (c) External angles of a Voronoi region. method in [6], while Toolbox Graph (free Matlab software tools by Piere Alliez) is practical application of method; Given a point vi of discrete surface M the mean curvature author refers to detailed algorithm in [7] and [8]. The idea of normal (Laplace-Beltrami operator) K(vi)=2 κH(vi)n(vi) gives this method is that smooth surface geometry can be locally both the mean curvature 2 κH(vi) and unit normal n(vi) at the approximated with a quadratic polynomial surface. Method vertex vi. Expressions for mean curvature normal and fits a quadric to point in a local neighborhood of each chosen Gaussian curvatures of a discrete surface, depending only on point in a local coordinate frame. Frame is positioned at the vertex positions and angles of the adjacent triangles, chosen point and with the Z-coordinate axis, which is aligned respectively are given by Mayer at al.[4]: along an estimated surface normal at that point. The curvature 1 of the quadric at the chosen point is taken to be the estimate of K ( vi ) = ∑ cotα j + cot β j v j − vi the curvature for the discrete surface. 2Mixed j ∈N1 (i ) For simple quadric form z' = ax'2+bx'y'+cy'2 procedure is #f 1 given [6]: 2π − ∑θ j κ G ( vi ) = Mixed j =1 - Two ways of surface normal n estimation at the point v: Where #f is a number of adjacent triangular faces at the point simple or weighted averaging or finding a least squares fitted vi and θj is the angle of j-th adjacent triangle at the point vi. plane to the point and its neighbors. is the area of the first ring of triangles around the point vi. - Positioning a local coordinate system (x',y',z') at the point v Minimizing the discretization error, Mayer at al.[4] suggest and align axis z' along the estimated normal. McIvor and region Mixed as a combination of Voronoi region for nonValkenburg suggest aligning the x' coordinate axis with a obtuse triangle and the half (or quarter) of a whole obtuse projection of the global x axis onto the tangent plane defined triangle region (Figure 2). by n. This results in rotation matrix (attitude matrix) 2 1 ′ =[r1,r2,r3]T, from global coordinate frame to local Voronoi = ∑ cotα ij + cot βij vi − v j coordinate frame. Then: 8 j ∈N1 (i ) εi
αij
(
(
)(
)
)
TECHNICAL REPORT NO 324-2012 - III 30
( − nn ) i ( − nn ) i
3
T
r3 = n
r1 =
r2 = r3 × r1
T
where is identity matrix, i is the global x axis [1,0,0]T. - Mapping the world data to the rotated principal frame with: x ' = ′ ( x w − v w ) where index w denotes that coordinates are expressed in global (world) coordinate frame. - Fit the mapped data to the rotated principal quadric z'= a'x'2+b'x'y'+c'y'2, and solve the resulting system of linear equations, giving a',b',c': x12 x1 y1 y12 a ' z1 b ' = xn2 xn yn yn2 c ' zn - Computing both principal curvatures κ1 and κ1 using:
κ1 = a′ + c′ +
( a ′ − c ′ )2 + b ′ 2 , κ 1 = a ′ + c ′ − ( a ′ − c ′ )2 + b ′ 2
Now we can give expressions for Gaussian and mean curvature: κ G = 4 a ′c ′ − b ′ 2 , κ H = a ′ + c ′ - If we use McIvor and Valkenburg improvements and fit the mapped data to extended quadric: ˆˆ + c ' yˆ 2 + d ′xˆ + e ′yˆ zˆ = a ' xˆ 2 + b ' xy giving a new estimate of the surface normal at point v: T − d ′, −e ′,1] [ . n=
1 + d ′ 2 + e′ 2 - We have estimation for Gaussian and mean curvature: a ′ + c ′ + a ′e ′ 2 + c ′d ′ 2 − b ′d ′e ′ 4 a ′c ′ − b ′ 2 , κH = κG = 2 3 1 + d ′ 2 + e′ 2 1 + d ′ 2 + e′ 2
(
)
(
)
where a',b',c',d',e' are the parameters of the last quadric fitted 3) Comparison of curvature estimation methods Already noted good comparison of mentioned methods, which have performed McIvor and Valkenburg and later Petitjean, give enough information about accuracy. For our approach it is not necessary go into details. More purposeful is experimental computation of characteristic curvature features using both methods. Then, check stability of vertex at which are highest calculated values of all curvature features. For our considerations, method is better then other one if its more important vertices survive deletion process of optimization. Experimental and statistical results, presented in Appendix, show different discrete values of characteristic curvature features for both methods (TABLE 6). Moreover , difference of stabile vertices appears, although it is expected only difference in their quantity. B. Curvature estimation improvement Roughly speaking, the basic difference between mentioned methods is direction of computation characteristic features. Thus, fitting quadric method first calculates both principal curvatures, and then derive Gaussian and mean curvature. Differential geometry method begins calculation with Gaussian curvature, which is in discrete case calculated as
sum of all adjacent triangle angles at vertex and divided by amount of selected surface area around it. For our approach is more important direct impact on the calculation of Gaussian and mean curvature and we will, following experimental results, improve the estimation accuracy of methods based on discrete differential geometry. Instead of Voronoi area, which does not give good results for obtuse triangles and strict local curvature estimation, we suggest barycentric area. 2 1 θij + cot α ij xi - x j sin 2 θij Barycenter = cot ∑ 6 j ∈N1 (i )
(
)
Barycentric area area is calculated as the surface formed by the midpoints of edges, and the barycenter of triangle. However, experimental results indicate greater dependence of curvature estimation on the angle at vertex, and less than the theoretical region convergence. Indeed, this argument is valid for measuring the stability of certain areas only, not for global curvature evaluation. C. Optimization and Simplification The second group of vertex features which we used in consideration is set of features which characterize resistance to transformations. Actually, if we know that rotation and uniform scaling does not affect the mutual position of the vertex coordinates, optimization and simplification most destructive affect the geometry of the object. Therefore, it is necessary to understand principles of optimization and simplification for reliable vertex importance determination. The tools commonly used for optimization include the algorithms such as: Mesh Optimization [10], Progressive Meshes [11], Simplification Envelopes [12],Quadric Error Metrics [13] and Memoryless Simplification [14]. Features of mentioned processes criteria are very important because results of their assessment drastically change the geometric structure, removing vertices and deforming triangular faces. The basic principle of 3D surfaces simplification, which is also the most relevant to my work, is the vertex decimation process [15]. The algorithm begins by testing to the local 3D mesh geometry with multiple passes over all vertices. During a pass, each vertex is a candidate for removal and, if it meets the specified decimation criteria, the vertex and all surrounding triangles are deleted. The hole in the mesh is patched by a local triangulation. Vertex removal process is repeated until some termination condition is met. Three steps of the algorithm are:
characterization of the local vertex geometry and topology, the decimation criteria evaluation the resulting hole triangulation.
1) local geometry characterization The first step of decimation algorithm is a characterization of local geometry and topology for a given vertex. The outcome of this process determines whether the vertex is a potential candidate for deletion. Each vertex can be classified according to one of three possible classifications: simple, complex and boundary vertex. A simple vertex can be further classified as a smooth, interior edge or corner vertex. A simple vertex is surrounded by triangles where each edge containing the vertex is common to exactly two triangles.
TECHNICAL REPORT NO 324-2012 - III 30
4
If the edge containing the vertex is shared with more than two triangles, or if vertex is common with at least one more than the cycle triangles, the vertex is complex. If an edge which is branch of only an one triangle exist, then the vertex of these edge is a boundary vertex. If the dihedral angle between two adjacent triangles is greater than a specified feature angle, then a feature edge exists. When a vertex is used by two feature edges, the vertex is an interior edge vertex. If one or three or more feature edges use the vertex, the vertex is classified a corner vertex. The illustration of characterization one may see in following figure:
(simple)
(complex)
(boundary)
(edge)
(corner)
Figure 3 Classification of vertices according to their local geometric and topological features.
2) The decimation criteria evaluation Evaluation step determines whether the vertices and triangles can be deleted and replaced by another triangulation. The main criterion for the decimation of a simple vertex is its distance from the average plane formed by adjacent vertices. If this distance is less than a given, then the vertex is deleted (Figure 3.(a)). Boundary vertex and the interior edge use the distance from the edge criteria. In this case, the algorithm determines the distance from the line, defined by two vertices that create the boundary or interior edge. If distance less than a certain, vertex can be deleted (Figure 3.(b)). d
d boundary
average plane
(a)
(b)
Figure 4 Criteria of decimation: a) vertex distance from average plane, b) vertex distance from boundary
Other simplification approaches [16] are different than the specified vertex decimation approach in one or even in all steps of algorithm. However, some features in all of simplification algorithms certain vertices, edges and faces are classified as a risk primitives. 3) Risky primitives and topological errors Follows list of the high risk geometric primitives:
Isolated vertices, independent in space, vertices which have only one boundary edge, edges that are joint to more than two faces, crossed edges without mutual vertex vertices which have the most neighbors, vertices that connect collinear edges, short edges, vertices which determines adjacent faces, vertices, edges and faces in flat and smooth areas (d→0).
This listed group can be divided into topological errors (the first four) and regular risky primitives (the last four). Topological errors will be treated by assessment criteria with strict zero grade, while regular risky primitives have different treatment and their assessment should be adjustable to user. D. Curvature sign Based on the calculated Gaussian curvature, both principal curvatures and relationship between them, one can define vertex features in all areas of a given mesh M. The point vi∈M is referred to as an umbilics if κ1(vi)=κ2(vi). If κ1(vi)=κ2(vi)=0, vi is said to be a planar point. If κG(vi)=0, but vi is not a planar point, then vi is a parabolic point. If κG(vi)>0, vi is an elliptic point, and if κG(vi)0 κH0 κH 0 κG < 0 κG1 > 0 κG1 < 0
Description Positive maximal dihedral angle Positive minimal dihedral angle Small Theta angle Big Theta angle Positive Gaussian curvature Negative Gaussian curvature Positive Gaussian curvature Negative Gaussian curvature
Rate 0.9 1.0 1.0 0.8 0.4 0.8 1.0 0.7
ψmax and ψmin are maximal and minimal dihedral angles at vertex respectively, e.i. maximal and minimal angles between pair of triangular faces which have common edge. is a sum of all j angles at vertices (see Figure 1(b)). Follows κG and κG1: Gaussian curvature estimated using discrete differential geometry and fitting quadrics method respectively. The criteria ranking is performed using an automatic iterative computation of survival vertices for certain criteria selection. Results of experimental test are in Appendix (See TABLE 5). B. Irrelevant and Risky vertices elimination The elimination of some unimportant vertices from assessment and sorting is also relevant process. Based on matching their geometrical features with criteria conditions, outcome of elimination is decreasing of an irrelevant vertices assessment probability. In addition, it reduces chance of topological error vertices to be considered in calculations, and as mentioned previously, they get a good grades for eventual high values of curvature features. Topological errors are listed in Section II.C.3), thus in this step the algorithm extracts EM -the matrix of topological error vertices, BM -the matrix of boundary vertices, and vector of adjacent vertices: NA for each vertex vi. Using those matrices as also signs and threshold values 2 of κG(vi) and κH(vi) algorithm first extracts risky vertices. Risky vertices matrix is actually union of matrices EM, BM 3 and vertices which satisfy the condition: κG(vi)=0 ∧ κH(vi)=0. In TABLE 3 we introduce new criteria with geometric features used from consideration in Section II.C.: Cel is coefficient of maximal elongated face; CDUG is length of longest connected edge to vertex; CTUP is value of maximal angle of adjacent triangles; CVIS is distance of vertex from its neighbors average plane. κG and κH are gradients of Gaussian and mean curvature respectively. TABLE 3 Irrelevant vertices elimination criteria. N0 1 2 3
Criterion (κG > 0 & κG < 7.0513e-13) | (κG < 0 & κG > -2.8223e-9 ) κH > 2.3688 | (κH < 6.0769e-6 & κH > 0) κH < -51929.7144 | (κH > -3.8486e-6 & κH < 0)
2 Threshold values of all elimination criteria, including Gaussian and mean curvature values, can be adjustable. In the OSVETA software we allow three setting options: safe, extended and aggresive. 3 Boundary vertices are often important for shape creation, and algorithm leaves to user the coise of their elimination from ordering.
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
κmax > > 39.5904 κmax < -594.6627 | (κmax < 0 & κmax > -2.3077e-15) κmin > 0.40945| (κmin > 0 & κmin < 0.00017504) κmin < -51843.002 | (κmin < 0 & κmin > -3.6061e-6) > 545.3552 | < 213 | == 360 κG1 > 0.83844 | κG1 < -1.2989 κH1 > 1.2481 | (κH1 >= 0 & κH1 < 1.671e-5) κH1 < -2.3336 | (κH1 < 0 & κH1 > -1.5326e-8) Cel > 1.7682 | (Cel > 0 & Cel < 8.4903e-7 ) Cel < -1.3404 | (Cel < 0 & Cel > -6.9662e-5) CDUG > 6.1607 | CDUG < 1.0111 CTUP > 179.9596 | CTUP < 32.7365 CVIS > 0.92554 | CVIS < 3.7982e-6 κG > 1467169.264 | κG < 6.0536e-17 κH > 2.8209 | κH < 5.6712e-5 ψmax >= 90 | ψmax < 2
C. The flowchart of Algorithm process The flow of all algorithm processes is shown on Figure 5. M(V,F) i=1 Computing EM(vi), BM(vi), κG(vi), κH(vi), NA(vi) vi∈EM ∨ vi∈BM ∨ (κG(vi)=0 ∧ κH(vi)=0)
Yes
No Yes
Does the vertex meets the OSVETA criteria? No
Important VIM(vi)
Irelevant VIR(vi)
Risky VR(vi)
i=i+1 No
i>N
Yes
Halt
Figure 5 The flow chart of the OSVETA.
For a mesh of a given 3D surface M(V,F) the result of OSVETA are two vectors: s, the vector of vertex stabilities arranged in a decreasing order, and i, the vector of corresponding indices. The mesh vertices ordered with respect of decreasing stability form the vector Vo. Vo=vi, and the length-L vector p is obtained from by taking the first L elements from Vo. IV. NUMERICAL RESULTS For computing vertex invariance to optimization we used 4 3D mesh models (See Figure 6): (A) Christ the Redeemer [19], (B) Myron of Eleutherae [19], (C) Naissa by Bata [18] and (D) Venus de Milo [19]. For brevity we refer to these objects as to A, B, C, and D. All four models are different in total number of vertices and faces, but also in geometric structure. More precisely, they are different in percentage of
TECHNICAL REPORT NO 324-2012 - III 30
6
curved and flatten areas. Myron of Eleutherae and Naissa by Bata are complex mesh models; both containing closed elements as subobjects. OSVETA algorithm works equally well with both homogeneous and complex meshes, as well as with open meshes with a boundary.
(A)
(B)
(C)
(00)
(02)
(04)
(06)
(08)
(10)
(D)
Figure 6 Original 3D meshes: (A) Christ the Redeemer, (B) Myron of Eleutherae, (C) Naissa by Bata [18] and (D) Venus de Milo.
For comparison and evaluation we used 'Optimize' modifier from 3D Studio Max 2012 application [17]. We have performed 7 different levels of optimization with the following face thresholds: (A)(FT): 0,2,4,6,8,10,13,25 (B)(FT): 0,2,4,6,8,10,13, 27 (C)(FT): 0,2,4,6,8,10,13,26 (D)(FT): 0,2,4,6,8,10,13,24 Higher maximal values are used for meshes with the larger total number of faces. The zero FT value does not affect the reduction of vertices and faces, and we consider it as an initial state of mesh geometry. The optimization with the maximum FT value completely destroys the geometric structure of the mesh, leaving only 5-10% of the total number of vertices (See Figure 7).
Figure 8 Perceptual degradation of the Naisa by Bata 3D mesh as a function of the face threshold level. The subfigures corresponds to the threshold levels 0,2,4,6,8,10.
Experimental tests of stability 1000 vertices, selected by our algorithm compared to the randomly allocated group of 1000 vertices showed the superiority of our approach. The ratio of removed vertices from mentioned mesh models, denoted by 01,02,03 and 04 numerically is shown in the table. TABLE 4 Relation of number of deleted vertices by optimization process, using random and OSVETA extraction algorithms.
(A)
(B)
(C)
(D)
Figure 7 Destroyed geometries of 3D meshes after optimization with high level of FT.
Determination of face threshold limits preserving the usability of 3D mesh, is illustrated in Figure 8 on the example of the Venus de Milo by Bata mesh. As can be seen from Figure 8 the optimization face threshold higher then 8, leads to significant perceptual and geometric degradation of mesh. Thus we therefore set the OSVETA criteria for assessing vertices without considering FT optimization values over 10.
3D Model A# Vertices Random OSVETA B# Vertices Random OSVETA C# Vertices Random OSVETA D# Vertices Random OSVETA
FT=0
FT=2
FT=4
FT=6
FT=8
FT=10
27802 0 0 100681 0 0 33465 0 0 17350 0 0
16627 502 8 49931 523 6 25334 276 3 12209 332 1
9789 718 51 32353 686 8 17472 495 21 6953 622 30
5991 838 170 21498 794 19 12146 654 44 3926 781 147
3743 907 333 15078 848 51 8588 760 77 2315 872 332
2432 948 531 11620 877 94 5870 845 156 1448 920 522
The one of most important features of our OSVETA extraction is stability of vertices grouped at the beginning of the selection. This fact is shown in the figure below used Naissa by Bata 3D mesh model with the limit level of optimization (FT=10).
TECHNICAL REPORT NO 324-2012 - III 30
7 curved and flatten areas. Myron of Eleutherae and Naissa by Bata are complex mesh models; both containing closed elements as subobjects. In same parts of paper we denoted used objects with A,B,C and D respectively. A. Comparison of criteria efficiency First, we tested efficiency of all criteria, i.e. we sorted vertices of source object by 23 criteria and found which vertices matched optimized object vertices. Test is repeated for different number of selected vertices. Next table shows results for Venus de Milo (Source/Optimized vertices = 17350/716, FT=13):
Figure 9 First 50 extracted vertices by OSVETA: stabile vertices ( filed circles) and deleted vertices by optimization (outlined circles).
Another important characteristic we observed from OSVETA computations: probability of two consecutive vertices deletion is very low. For example, for all 3D mesh models using all optimization levels in 1000 extracted vertices there is no consecutive deleted vertices. The presented vertex extraction approach based on OSVETA algorithm practically does not nave restriction in use. A lack of such extraction is dependence of curvature extraction accuracy, but we partially solve this problem using two evaluation methods by including four criteria. Feature angles ( and ψ) criteria are based on computation adjacent triangles characteristics and these values are used in Gaussian and mean curvature estimation. However, experimental results related on extracted vertices stability, indicate a fairly more efficiency then Gaussian and mean curvature criteria (See TABLE 5 in Appendix). V. CONCLUSIONS AND FUTURE WORK We have elaborated the new approach to extraction important vertices from 3D mesh. Ranking geometric importance of vertices by curvature and other noted criteria two effects was achieved: vector of irrelevant and risky vertices is separated and vector of vertices stability arranged in a decreasing order together with vector of corresponding indices are extracted. Ordered Statistics Vertex Extraction and Tracing Algorithm has reached good efficiency showing invariance of extracted vertices to deletion by optimization. However, we could see a success of algorithm is determined by results of two research directions: curvature estimation and simplification process characteristics and effects. Thus, OSVETA future improvements will involve more precise mesh geometry estimation and better curvature and topological feature estimation. We believe that these enhancements would result in more accurate identification of stable vertices and consequently significant reduction of deletion probability.
TABLE 5 Criteria efficiency for given number of selected vertices. N0
Criterion
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
κG > 0 κG < 0 κH > 0 κH < 0 κmax > 0 κmin < 0 > 360 < 360 κG1 > 0 κG1 < 0 κH1 > 0 κH1 < 0 Cel > 0 Cel 0 CTUP > 0 CDUG > 0 κH > mean κH < mean κG > mean κG < mean ψmax >= 0 ψmin >= 0
1 1 0 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1
2 2 1 2 1 2 0 1 1 2 0 1 1 0 1 0 0 1 1 0 2 0 0 2
Number of selected vertices 3 4 5 10 50 100 2 3 4 7 19 27 2 3 4 7 21 31 2 2 3 5 13 23 1 1 1 2 4 9 2 2 2 4 17 25 0 1 1 1 4 9 1 2 2 7 31 54 2 3 4 7 31 47 3 3 3 5 21 38 0 0 1 3 17 31 1 1 1 2 11 18 1 2 2 2 12 20 0 0 1 1 6 10 1 1 1 1 2 3 0 1 1 4 8 18 0 0 0 1 4 9 1 1 1 1 1 3 1 1 1 1 9 14 0 0 0 0 0 0 2 3 3 5 13 27 0 0 0 0 0 0 1 1 1 2 11 18 3 4 5 6 22 37
500 86 86 37 34 86 42 138 130 99 82 79 68 41 24 52 39 18 45 7 84 0 112 86
1000 148 128 37 69 129 80 192 185 131 125 116 99 70 34 87 71 34 86 19 151 4 204 134
For next experimental computing all of criteria selected 10 vertices and Figure 11 represents the histogram of frequent selected vertices. As we can se, only two vertices out of 10 are selected by 3 criteria, four vertices selected by 2 and rest of vertices selected and graded by one, different criterion.
APPENDIX In this part of paper we present comparison of numerical results, which we obtained from an experimental criteria test. For the test computation we used 4 mesh models (See Section IV). All four models contain different total number of vertices and faces. Geometric structures of objects are also different; more precisely, they are different with respect to percentage of
Figure 10 Frequent graded vertices by criteria (Venus de Milo).
Some similar criteria, as well as Gaussian curvatures, estimated by two mentioned methods, select complete different first 10 vertices. Following TABLE 6 shows vertices
TECHNICAL REPORT NO 324-2012 - III 30
8
selected by κG > 0 and κG1 > 0 criteria for maximal measured optimization (FT = 13): TABLE 6 Difference of selected vertices by similar criteria. Selected vertices N0 Criterion 1 κG > 0 8755 8769 8773 9386 9439 10374 10376 9 κG1 > 0 5827 5829 6174 6833 15925
Indeed, position of selected vertices in geometry is more important. 3D plot shows different and very important topological regions which both set of selected vertices define (See Figure 12).
(a)
(b)
Figure 11 3D position of first 50 vertices selected by κG and κG1 criteria. (a) κG > 0 - circles, (b) κG1 > 0 - diamonds.
B. Voronoi or Barycentric areas in curvature estimation? We computed for Section II.B extraction efficiency of κG > 0 and κG < 0 criteria using Voronoi and Barycentric regions in curvature estimation. For a better comparison with previous results Venus de Milo is used in extraction. Numbers of extracted vertices using both compared regions are given in following table: TABLE 7 Criteria efficiency for given number of selected vertices. N0 1 2 1 2
Number of selected vertices 1 2 3 4 5 10 50 100 500 1000 Curvature estimation using barycentric area in calculation κG > 0 1 2 2 3 4 7 19 27 86 148 κG < 0 0 1 2 3 4 7 21 31 86 128 Curvature estimation using Voronoi area in calculation κG > 0 1 2 2 3 4 6 18 25 84 140 κG < 0 1 2 3 3 4 4 12 20 80 123 Criterion
The differences in criteria efficiency using barycentric and Voronoi area in curvature evaluations one may see only for large numbers of selected vertices, specially for κG criterion. REFERENCES [1] F. Attneave. "Some aspects of visual perception.", Psychology Review, 61:183 193, 1954. [2] Dombrowski, "150 years after Gauss - Carl Friedrich Gauss ‘Disquisitiones generales circa superficies curvas," asterisque, 62 (with the original text of Gauss and an English translation by A. Hiltebeitel and J. Morehead), 1979. [3] M. Spivak, "A comprehensive introduction to differential geometry," Vol. II, 2nd ed., Publish or Perish Inc., Wilmington, Delaware, 1979.
[4] M. Meyer, M. Desbrun, P. Schroder and A. H. Barr, "Discrete Differential-Geometry Operators for Triangulated 2-Manifolds mesh," In Proc. VisMath’02, Berlin, Germany, 2002. [5] A. McIvor and R. Valkenburg, "A comparison of local surface geometry estimation methods." Machine Vision and Applications 10, 1, 17–26. 1997. [6] S. Petitjean. A survey of methods for recovering quadrics in triangle meshes. ACM Computing Surveys, 34(2):211–262, June 2002. [7] D. Cohen-Steiner and J-M. Morvan. "Restricted Delaunay triangulations and normal cycle.", In Proc. 19th Annual ACM Symposium on Computational Geometry, pages 237-246, 2003. [8] P. Alliez, D. Cohen-Steiner, O. Devillers, B. Levy and M. Desbrun, "Anisotropic Polygonal Remeshing," in Proc ACM Transactions on Graphics, SIGGRAPH '2003, Vol. 22, No 3, 2003. [9] C.H. Lee, A. Varshney, and D. W. Jacobs, “Mesh saliency,” ACM Transactions on Graphics, vol. 24, no. 3, pp. 659–666, 2005. [10] H. Hoppe, T. DeRose, T. Duchamp, J. McDonald, and W. Stuetzle, "Mesh Optimization," Proc. of the SIGGRAPH 93, ACM SIGGRAPH, pp. 19–26, 1993. [11] H. Hoppe, "Progressive Meshes," Proc. of the SIGGRAPH 96, ACM SIGGRAPH, pp. 99-108, 1996. [12] J. Cohen, A. Varshney, D. Manocha, G. Turk, H. Weber, P. Agarwal, F. Brooks, and W. Wright, "Simplification Envelopes". Proc. of the SIGGRAPH 96, ACM SIGGRAPH, pp. 119-128, 1996. [13] M. Garland and P.S. Heckbert, "Surface Simplification using Quadric Error Metrics," Proc. of the SIGGRAPH 97, ACM SIGGRAPH, pp. 209–216, 1997. [14] P. Lindstrom and G. Turk, "Fast and Memory Efficient Polygonal Simplification," Proc. of the Visualization ’98, IEEE Computer Soc. Press, pp. 279–286, 1998. [15] William J. Schroeder, Jonathan A. Zarge, and William E. Lorensen "Decimation of triangle meshes," Proc. of the SIGGRAPH 92, ACM SIGGRAPH , 26(2):65–70, 1992. [16] P. Heckbert and M. Garland, "Survey of Polygonal Surface Simplification Algorithms," SIGGRAPH 97 Course Notes, no. 25, ACM Press, New York, 1997. [17] M. Kauffman, "Optimizing Your Autodesk® 3ds Max® Design Models for Project Newport", Autodesk University 2009,[Online Available], http://au.autodesk.com/?nd=material&session_material_id=6296, pp:6. [18] Serbian Film Center, Naissa Trophy [Online Available:] http://www.batavasic.com/research/Naissa_by_Bata.zip. [19] Autodesk free 3D models, Autodesk 123C, [Online Available:] [http://www.123dapp.com/123C-3D-Model/:] Venus-de-MiloStatue/595750, Myron-of-Eleutherae-Statue/595747, Christ-theRedeemer-Statue/595949. [20] B. Vasic, Ordered Statistic Vertex Extraction and Tracing Algorithm (OSVETA) MatLab Software, [Online Available:], http://www.batavasic.com/research/OSVETA.zip. Bata Vasic (S’92–M’93) received the B.Sc. and M.Sc. degrees in electrical engineering from the University of Nis, Nis, Yugoslavia (now Serbia), in 1992, and 1993, respectively. In 1992 He is a pioneer in the architectural 3D visualization in the Balkans. His research is in special effects for the movies. He produced and published more than three hundred 3D animations and TV commercials based on special effects. Since 2008 he is teaching the Computers Animations, Computer Graphics and Computer Design courses in the Department of Electronics on Faculty of Electrical Engineering Nis, University of Nis. His interests are in the theory of mesh models geometry in 3D space with special emphasis on using geometric features for watermark and security of 3D mesh models.