Instanced model simplification using combined geometric and appearance-related metric
aa r X i v : . [ c s . G R ] J a n Instanced model simplification using combinedgeometric and appearance-related metric
Sadia Tariq, Anis Ur Rahman, Tahir Azim and Rehman Gull Khan ✦ Abstract —volution of 3D graphics and graphical worlds has broughtissues like content optimization, real-time processing, rendering, andshared storage limitation under consideration. Generally, different sim-plification approaches are used to make 3D meshes viable for ren-dering. However, many of these approaches ignore vertex attributesfor instanced 3D meshes. In this paper, we implement and evaluate asimple and improved version to simplify instanced 3D textured models.The approach uses different vertex attributes in addition to geometry tosimplify mesh instances. The resulting simplified models demonstrateefficient time-space requirements and better visual quality. volution of3D graphics and graphical worlds has brought issues like content opti-mization, real-time processing, rendering, and shared storage limitationunder consideration. Generally, different simplification approaches areused to make 3D meshes viable for rendering. However, many of theseapproaches ignore vertex attributes for instanced 3D meshes. In thispaper, we implement and evaluate a simple and improved version tosimplify instanced 3D textured models. The approach uses differentvertex attributes in addition to geometry to simplify mesh instances. Theresulting simplified models demonstrate efficient time-space require-ments and better visual quality. E
Index Terms —3D meshes, simplification, instancing
NTRODUCTION
Technology brings imagination closer to reality. This phenomenon canbe demonstrated through the presentation of 3D models. Traditionally,the use of virtual worlds for social communication is considered inthe context of 3D games. However, these computer-based graphicalenvironments also provide other morphs of interaction to participants,including forums, blogs, wikis, chat rooms, instant messaging, and videoconferencing. Such platforms help build communities with like-mindedpeople who can share information and gain new experiences. Like-wise, from advertising and marketing to geological hazard simulations,information is presented as 3D data that must be shared in order tobring the imagined project to reality. In particular, the application of avirtual environment is most obvious in the entertainment and gamingworld. However, latency in transferring 3D data is a major issue in thisindustry. Moreover, most content of virtual worlds is created by manyusers requiring shared data storage. The visual quality of the 3D modelssuffers as a result of latency in such shared data storages.Computing large amounts of client-produced cloud-based graphicaldata highlights the challenges in storage, network, and processing; thatis, user-developed models are not optimized for rendering in terms of
Sadia Tariq and Anis U. Rahman are with School of Electrical Engineeringand Computer Science (SEECS), National University of Sciences and Tech-nology (NUST), Islamabad, Pakistan. Tahir Azim is with ´Ecole PolytechniqueF´ed´erale de Lausanne (EPFL), Lausanne, Switzerland. Rehman G. Khan iswith Bahauddin Zakaria University (BZU), Multan, PakistanCorresponding Author: Anis Ur Rahman, e-mail:[email protected] face count. For instance, virtual worlds contain a large number of 3Dmeshes/objects in a scene where many of these are repeated with thesame geometry but different sizes, orientations, and other properties.Such repeated meshes are referred to as instanced 3D meshes. Modern3D tools take a mesh with multiple copies as instanced input and savethis data as one mesh with different properties. This approach savesmemory and renders livelier scenes. However, a major challenge facedwhile simplifying instanced 3D meshes is dealing with a huge numberof copies as a single mesh. Another challenge relates to sorting out themeshes into groups; that is, deciding which object is an exact copy ofwhich one. Subsequently, downloading just a few of them can overbur-den the network bandwidth and graphic processors. Thus, transferringhuge amounts of data with detailed textures and normal attributes is notfeasible.Numerous attempts with optimized results have previously beenmade in the field of 3D model simplification. As aforementioned, themost common and serious issue with many of these approaches is theresulting file size. In some cases, the file size doubles, in particularwhen mesh instancing is not taken into account. Present techniques forreducing meshes and making them appropriate for the cloud presentsdifferent challenges. These techniques efficiently reduce the number oftriangles from the mesh to produce good visual results, but many ofthese techniques increase the file size–making it unfit for shared datastorage [1], [2], [3]. This is not a concern when the data is storedon local disks. However, with the advent of virtual worlds and real-time multi-dimensional environments, the data needs to be shared toensure robustness and to maintain the integrity of the user-developedcontent. This requirement makes cloud new storage points, altering thedirection of research from simple simplification to efficient simplificationwith reduced data sizes to avoid latencies. To resolve this issue, theapproach in [4] considers instancing and coherence in real-world todecrease file size by reducing the triangle count of meshes. This 3Dsimplification, however, does not take into account vertex attributes suchas textures and colors. There is a need to develop techniques that alsoconsider these attributes while simplifying 3D content to produce smallersized results.In this paper, we propose an instanced simplification approach thatincorporates both instancing and the concept of simplifying differentvertex attributes. The former records copies of the same mesh asreferences rather than as complete data. This provides an opportunity tohave faster processing times by simplifying multiple copies of the samemesh and to save storage space by keeping only references of multipleclones of the mesh. While the latter simplifies an instanced mesh byreducing its triangle count to get smaller files, as well as, addressesdifferent attributes such as the texture, color, and normals.The main contribution of this work is a simple and efficient algo-rithm that accounts for vertex attributes when simplifying instanced 3Dtextured models. A customized format was used to work with readableinstanced input and output for an accurate understanding of the varia-tions which occur during the simplification procedure. In summary, theproposed technique uses instances, vertex attributes, and geometrical simplification while producing smaller sized result files.The remainder of the paper is organized as follows: in Section 2,we provide the theoretical foundations and a review of the state-of-the-art algorithms for 3D mesh simplification. Our main contributionsare presented in Section 3. In Section 4, we report comprehensiveexperimental results to validate the proposed approach, followed bydiscussion in Section 5. Finally, in Section 6, conclusions and futureresearch directions are outlined.
ELATED WORK
Since the evolution of multi-dimensional presentation and the waysof communication over the last decade, when live 3D environmentsand virtual worlds have taken initiatives, 3D simplification algorithmshave been well-studied. However, increased usage of this concept hascome with new limitations, opening an entirely untouched dimension forresearch.A lot of previous research has been done on geometrical simpli-fication of 3D models. This includes simplification of vertex attributesand other local properties [1], [2]. But, the major issues with thesemethods came to light when data was transferred over the network forsharing. The methods either double the resultant file sizes or ignoredifferent attributes of vertices while simplifying 3D meshes. However,in [4], file sizes after simplification of 3D models are efficiently handledby instance-aware simplification where common factors of coherenceand instancing of meshes in a large 3D world are exploited. On thedownside, without simplification of attributes, a significant amount getsadded in data size.We can organize 3D simplifications into three major categories:a) geometric simplification, b) attribute simplification, and c) instancedmesh simplification.
Traditionally, research in 3D model simplification involves geometric datareduction with predefined conditions and assumptions. Schroeder etal. [5] proposed one of the first iterative decimation approach usingvertex-to-plane distances. This approach is fast, producing vertices asa subset of the original set of vertices, but changes to the vertex posi-tions limit the fidelity of simplification. Generally, selection methods forgeometric simplification work by producing an optimal point for collapseof a vertex pair. The methods are efficient at producing quality results byclassifying vertices into a hierarchal triangulation. All vertices containedare decimated iteratively followed by re-triangulation of the remainingvertices to fill any holes. Other selection approaches use different met-rics to guide this decimation: curvature-based [6], Hausdorff distance-based [7], local tessellation and geometric error [3], volume [8], [9], anddistances to supporting forms [10].In [11], decimation is implemented using group vertex splits en-coded as vertex spanning trees. A similar approach [12] using vectorquantization, instead of scalar quantization used earlier, results in fasterdecoding and lower memory usage but lower simplification fidelity. An-other extension introduces progressive vertex forest splits to get highercompression rates [13]. Though the fidelity improves but the processis slower; however, there exists an efficient implementation exploitinghardware vertex buffers to improve vertex data reuse [14]. In [15],a more sophisticated data-driven approach is proposed using vectorquantization with arbitrarily shaped groups for encoding. This results inbetter rate-distortion performance but the algorithm is computationallyexpensive.More recent works in simplification literature use multi-resolutionschemes [16], [17] and improved quantization schemes [18], [19], [20]for intermediate meshes to reduce distortion. Other improvements in-clude the use of Gaussian mixture models for vertex creation [21], patchcoloring for iterative decimation [22] followed by cleansing conquestscheme in [23] and null patch avoidance scheme proposed in [24].Many of these methods improve bit-rates but the geometry is somewhatdegraded. This is countered by the use of simplification envelopes [25], [26] to guide the simplification process for irregular meshes, ensuringfidelity bounds for boundary and texture preservation.The downside to the aforementioned geometric simplification al-gorithms is that they are limited to manifold surfaces; that is, all suchmethods can close gaps created after vertex removal using successiveedge contraction but are unable to join unconnected faces. Furthermore,many of them fail to meet all model parameters defined in [27] includingquality, efficiency, generality, and optimization of geometric simplifica-tion.
Classical quadric error method [2] is efficient with reasonably good re-sults, later followed by an extension incorporating different appearanceattributes [28]. Similarly, Hoppe [29] introduces progressive meshesfor storage and transmission of triangle meshes. The approach usessuccessive edge collapses based on energy functions defined on theseattributes to preserve granularity. But, the trivial decimation processused becomes expensive when the number of candidate vertices forcollapse approach the total model size.An adaptive threshold selection scheme proposed in [1] uses asurface-area metric complemented with other shading attributes to im-prove simplification fidelity. Other similar methods introduce appearancepreserving simplifications [28], [30], [31]. The process may lead toloss of geometric details, degrading actual appearance. This issue wasalleviated in a generalized quadric approach [32] based on appearanceattributes to accurately and efficiently simplify meshes while preservingfidelity.In [33], the approach guarantees fidelity on the original appearancebased on envelopes proposed in [25]. These envelopes are definedusing a texture stretch and deviation metric [31] to preserve appear-ance but at the cost of expensive parameterizations. The parame-terizations can be avoided using different optimizations: sampling thenormal map using ray casting concepts [31], [34], [35], or randomlysampling the normal map [36], or using an adaptive sampling of a high-resolution normal map encoded as an octree [37]. The latter supportsefficient lookups while avoiding expensive parameterizations. Further-more, texture-based simplification approach [38], [39], [40] to visualizetextures dynamically at different scales uses wavelet transformation tocompress the textures and then recolor them. A surface reconstructionmethod proposed in [41] produces dense meshes with preserved detailand sharpness. The approach is scalable for indoor 3D models withtextures. All these methods attempt to preserve fidelity to the originalappearance.
The above mentioned simplification approaches take a model or a 3Denvironment as an indexed triangle mesh comprising a list of positionpoints called vertices, details of textures and normal coordinates, anda list of indexed triangles. In contrast, real-world models use formatsthat describe a 3D model as an instanced mesh, for instance, COL-LADA [42], Maya, Autodesk 3ds Max file formats, and so forth, where themesh structure consists of a list of sub-meshes and their correspondingtransformations for instancing.Current mesh simplification algorithms including quadric approachand GAPS are unaware of instances in their input. They generallyrequire expansion of instancing as indexed triangles for simplification, inturn, the simplified file output requires much more storage space. Suchlarge files result in latency during network transmission, making themunsuitable for richly instanced virtual worlds.More recent work referred to as instance aware simplification (IAS)in [4] exploits the similarity of duplicated meshes and coherence amongthem for instance-aware simplification. To be more precise, it is aninstanced variant of quadric simplification that simplifies a sub-meshonce and applies this change to all the instances referred to this sub-mesh. The resulting simplification is irreversible, reducing processingtimes while dealing with instanced meshes. It is an improved approach with respect to processing times and end file sizes but lacks attributesimplification.As pointed out, none of the methods take attributes into account.To resolve this issue, we propose an improved version of GAPS thatincorporates the concept of instancing to the existing approach. GAPSitself is an attribute version of quadric simplification where the attributeerror cost is added into vertex geometric cost matrices. We introduceinstancing to this concept to get complete simplification of all duplicatedcopies with no additional processing time required.
ROPOSED S OLUTION
We propose an extended version of GAPS as instanced textured 3Dmodel simplification (ITS). This approach starts off with simplifying meshgeometry using the classical quadric approach followed by simplifyingmesh attributes derived from GAPS, while maintaining compressionusing instancing. The proposed algorithm mainly comprises three majorsteps as follows:1)
Step 1.
Simplify mesh geometry using quadric error matrices. Thisgeometrical simplification requires some prerequisites includingthreshold calculation and the listing of valid pairs for merging intodestination vertices.2)
Step 2.
Calculate attribute errors via point clouds leading to aunified error. This error is the basis of merging.3)
Step 3.
Apply simplification across all instances using correspond-ing transformation matrices.The basic work flow of the proposed ITS algorithm is shown in Fig-ure 1 comprising four major phases illustrated in Algorithm 1 includingtaking and interpreting input and writing details of an output file.
Algorithm 1
Instance Aware GAPS
1. Read Input(a) Store data (vertices, textures, normal, transformations, trian-gles, number of instances) separately.2. Simplify the instanced meshi. Compute thresholdii. Find valid pairs for simplificationiii. Recompute threshold if valid pairs > or < iv. Compute geometric error for each vertex in valid pairs listv. Compute attribute errors (textures and normal)vi. Compute unified error for each vertexvii. Collapse edges with minimal error verticesviii. Repeat until desired level of simplification reached withinerror limits3. Apply simplification to all instances4. Generate output as an indexed triangles Input/Output Format.
Often multidimensional virtual world envi-ronments take input as instanced meshes. Object file format, witha .obj extension, is the simplest readable format to store 3D data.We customized the input object file format by adding informationrelated to all its instances including the number of copies of aparticular mesh in a given scene, their orientations, sizes and ro-tation angles etc. This information was stored as a matrix included in the object file format, later used to retrieve instanced 3D sub-meshes as indexed 3D files. Each sub-mesh is a result of multi-plying the instance vertices information–a transformation matrix–to a given reference mesh. We produced two types of outputs:one an instanced 3D textured output and another an indexed 3Dtextured output carrying instance mesh information as a complete3D mesh. The former output with extension .obj was a classicalobject file excluding support for instances, used to get reducedfile sizes. While the latter output file, an instanced 3D texturedoutput, was used to visualize the instances retrieved as indexedmeshes. Additionally, a material file ( .mtl ) was stored containingall the attribute information including textures, normals, and colors.2)
Errors Calculation.
The proposed algorithm applies quadric sim-plification followed by calculation of geometrical error of the 3Dmesh. For texture and normal error, it uses point clouds. Afterward,all the computed errors are unified to select and merge the leasterrored vertex pairs.3)
Instancing.
Once the sub-mesh is simplified using its attributes toa desired level, simplification is applied to all the referred instancesusing transformation matrices.
The motivation of this paper is to produce an optimal simplificationalgorithm for textured 3D instanced meshes that minimize space re-quirement of the simplified output file over the cloud. It aims to introducean approach that not only simplifies the 3D structures but also deals withvertex properties minimizing loss of information, resulting in better visualquality.As our approach is an enhanced and instanced version of GAPS, westart with an introduction to quadric matrices for geometry simplification,then give an explanation of attributes handling and instancing, and finallyconclude with a detailed work flow.
Classic quadric simplification [2] works in two steps: First, calculateserror matrices for each vertex, and second, contracts the edge with leasterror.1)
Quadric Error.
For each collapse, an error cost is defined, which iscalculated by assigning a × matrix representing a cost againstevery vertex. This matrix is known as the Q matrix. Error at eachvertex v = [ v x v y v z T in quadratic form is given as follows, ∆( v ) = v T ( X pǫplanes ( v ) K p ) v where K p is the matrix: K p = pp T = a ab ac adab b bc bdac bc c cdad bd cd d This fundamental error quadric K p can be used to find the squareddistance of any point in the space to the plane p . These quadricscan be summed up to represent an entire set of planes with asingle matrix Q .2) Pair Selection.
GAPS defines some rules to select valid pairs forcollapse. Let us assume ( v , v ) is a valid pair if either ( v , v ) isan edge, or k v − v k < t where t is a threshold. A vertex pairis a valid pair if and only if there exists an edge and the distancebetween both vertices is less than a defined threshold.3) Distance Threshold.
Automated and adaptive nature of thresholdselection makes the simplification procedure efficient and pre-serves the surface area as well [1]. We use similar threshold se-lection in this work. The threshold remains if there exists any validpair, otherwise it gets doubled. On the other hand, if there existmore than ten valid pairs under this threshold, then the thresholdgets halved.
Fig. 1: Overview of ITS (instanced textured 3D model simplification) Edge Contraction.
Valid pair of vertices degenerate to one of thevertices involved in the collapse, one with a smaller error.
Vertex attributes including their position, texture coordinates, colors,and normals are dealt in GAPS by Erikson and Manocha [1]. Theyapproached these properties by introducing the concept of point clouds.The concept is very simple and efficient, but only an approximatemethod for computing error in attribute space. We use a similar conceptto GAPS point cloud approach for local attribute simplification.1)
Locating merged vertex.
Quadric error was used to locate theposition of the merged vertex. We did not allocate a new optimalpoint to get the pair collapsed; rather, we defined one of the ver-tices from the selected pair with the least error to be the destinationpoint.2)
Attribute error via point clouds.
A simple and efficient butapproximate approach to find the attribute error is introduced byGAPS [1]. The approach uses a point cloud, a pool of 3D pointswith some weight.The approximate average error A ( p ) at point p with respect tocloud X is, A ( p ) = s Π( p ) X where Π( p ) is the weighted sum of squared distances of a point p from the point cloud X . Here, X at vertex v is [ X t X c X n ] texturecoordinate point cloud, color point cloud, and normal point cloudrespectively. While X is the sum of weights of all points includedin the point cloud X . For instance, X n is the sum of normal pointcloud X n and X t for texture point cloud X t .3) Unified error metric.
At vertex v with geometric error, texturecoordinate point cloud X t , color point cloud X c , and normal pointcloud X n , a unified error metric defines the complete error for the collapse [1]. It is a weighted average error for vertex v given as: E ( v ) = S ( v ) · Γ( v ) + X n · N ( v ) + X c · C ( v ) + X t · T ( v ) S ( v ) + X n + X c + X t whereS ( v ) : total surface area of vertex v Γ( v ) : geometric error of vertex vN ( v ) : normal error of vertex vT ( v ) : texture coordinate error of vertex vC ( v ) : color error of vertex v Interpolating attributes.
To determine the new attribute value fora merged vertex, the merged vertex was projected onto its localgeometry assuming the geometry prior to the merge. Limiting thesearch to this local geometry, we interpolated the original attributesto obtain attribute values for the new vertex. In case of attributediscontinuities at a merged vertex, the process was similar butmore than one pair of attributes were merged.
This paper follows in the footsteps of IAS to deal with instanced meshes,except that it applies attribute simplification in addition to geometricsimplification.
We achieved attribute simplification with reduced file sizes by applyingconcepts similar to GAPS for instance 3D meshes. Once valid pairsto collapse are nominated and their calculated geometric, texture, andnormal errors are unified, the pairs with least unified error are selectedfor collapse. Note that it becomes impossible to revert back to theoriginal mesh because the change is applied to all referenced instancesof a particular sub-mesh by multiplying each instance with respectivetransformation matrices.Suppose a scene with a sub-mesh M has n number of in-stances { m , m , · · · , m n } with transformations { t , t , · · · , t n } . Sub-mesh M has i number of vertices, j number of texture coordinates { T , T , · · · , T j } , k number of normal coordinates { N , N , · · · , N k } ,and l number of faces { F , F , · · · , F l } . A × transformation ma-trix contains information about rotation, scaling, and translation of aninstance. After applying simplification, sub-mesh M ′ is reduced to i ′ number of vertices, j ′ number of texture coordinates, k ′ number of normal coordinates, and l ′ number of faces. The simplified texturedinstanced 3D meshes are calculated using, M ′ × t i = m t i i The normal and texture coordinates for a particular instance may recordafter position coordinates. Simplified texture coordinates and normalcoordinates are obtained as a result of reference submesh attributesimplification. Instances may have a different scale, rotation, and trans-lation but they must be an exact copy of reference submesh in geometry.For simplicity, we assumed that all instances of a submesh have sametexture coordinates as those of the reference submesh.Let T be the texture coordinates and N be the normal coordinates,then simplification is applied to instances I n in the following routine, M ′ × t = m t T N F M ′ × t = m t T N F M ′ × t = m t T N F ... ... ... ... M ′ × t n = m t n n T n N n F n where M ′ : simplified geometric mesh t i : i th instance’s transformation m t i i : i th simplified instance T i : i th simplified instance’s textures N i : i th simplified instance’s normals F i : i th simplified instance’s face listThe resulting simplification algorithm is experimentally evaluated usinginput 3D models in the following section. XPERIMENTAL R ESULTS
This section describes both qualitative and quantitative results obtainedafter evaluating the proposed simplification method using different in-puts. The algorithm was developed in Visual Studio using VB.NET andregex was used to retrieve data. All results were compiled on a Windows10 64-bit system with Intel i3 processor and 4GB system memory, while3ds Max Studio and MeshLab aided visualization of the inputs andresults.We compare the results to two previous techniques: Quadric andGAPS simplification, at 10%, 20% and 50% level of simplification. Forthe time being, the proposed system is designed only for triangulatedinputs; that is, other polygons are not treated yet. Test 3D input modelsare shown in Table 1 alongside their respective statistics.
A comparison between the three different approaches to simplifyingthe Stanford bunny input model by reducing vertices and face countsis shown in Figure 2. The simplification is done by quadric algorithm,GAPS, and proposed ITS at 10%, 20%, 50% and 70% level of simpli-fication. The quadric approach does not simplify textures and normalcoordinates; hence we have only accounted for geometry.Once quadric and attribute simplification is done, instancing is in-troduced. Then, simplified instanced 3D mesh copies are written asindexed triangles into an object file. Figure 3 shows twelve copies of10% and 20% reduced vertices and face counts of Stanford bunny withdifferent rotation angles, scales, and positions but the same geometry,computed in 1.72 and 2.83 seconds respectively.Additionally, few other results of meshes simplification with instanc-ing are presented. Figure 4 shows 10%, 20% and 50% simplification oftest input model of a bear. The model is simplified with four instancesat different rotation angles, scales, and translations. It is evident fromthe result that after reducing 20% of vertices, most of the model’s shapeis retained. The time taken by the proposed approach to reducing five
Fig. 2: Visual comparison of three different approaches onthe Stanford bunny, Top row: Quadric simplification; Mid-dle row: proposed ITS; and Bottom row: GAPS. Moreover,column-wise corresponds to different levels of simplifica-tion 10%, 20%, 50% and 70% respectively.Fig. 3: Results of simplification for 13 different instancedStanford bunny, Top: with 10%t fewer vertices and trianglescount in 1.72 seconds; and Bottom: with 20% fewer verticesand triangles count in 2.83 seconds. models of the bear is 0.78, 0.97, and 1.07 seconds by 10%, 20%, and50% simplification respectively. Furthermore, Figure 5 shows 10%, 20%and 50% simplification of test input model of a deer. The simplifiedmodel has four instances with different rotation angles, scales, andtranslations. The time taken by our system to reduce five models of adeer is 0.72, 0.99, and 1.29 seconds by 10%, 20%, and 50% simpli-fication respectively. Similarly, Figure 6 shows four different instancedwolves simplified by a 10%, 20%, and 50% simplification rate.In the cases of deer, bears, and wolves, upon the reduction offace counts by 10% and 20%, most of the details and shapes wereretained. For example, in the case of the deer, the shape of its mouthand sharpness of its antlers were still there. However, when reduced to50% face count, the face started losing its shape and so did the antlers.Its legs also disappeared partially and the tail disappeared completely.These results also reveal another fact about this approach: the resultsget better with the increase in data size. As Stanford bunny has verticesand faces in thousands, thus, upon reducing its face count to 50%, lossof information was enough to be noticed from a distance.
Table 2 shows a reduction in faces and vertices in comparison with theoriginal number of vertices and faces. Here, reduction in vertex countsby 10%, 20% and 50% level of simplification are presented. The time
TABLE 1: Input 3D models and their respective statistics.
Models Vertices Texture Normal Triangles
Fig. 4: Results of simplification for four different instanced bears, Left: with 10% fewer vertices and faces count and fourdifferent instances produced in 0.78 seconds; Middle: with 20% fewer vertices and faces count and four different instancesproduced in 0.97 seconds; and Right: with 50% fewer vertices and faces count and four different instances produced in 1.07seconds.Fig. 5: Results of simplification for four different instanced deer, left: with 10% fewer vertices and faces count and fourdifferent instances produced in 0.72 seconds; Middle: with 20% fewer vertices and faces count and four different instancesproduced in 0.99 seconds; and Right: with 50% fewer vertices and faces count and four different instances produced in 1.29seconds.Fig. 6: Results of simplification for four different instanced Wolves, Left: with 10% fewer vertices and faces count producedin 0.70 seconds; Middle: with 20% fewer vertices and faces count produced in 0.84 seconds; and Right: with 30% fewervertices and faces count produced in 1.27 seconds. taken to reduce input test models to the desired level using this approachis shown in Table 3. Moreover, the reduction in file size is also mentionedin this table. A comparison between un-instanced (Quadrics and GAPS) andinstanced (IAS and proposed ITS) is shown in Table 3 in terms oftime taken and size of the output files produced. It should be noted that
TABLE 2: Faces and vertices count chart of simplified result models with original inputs (without instances).
Models Original 10% Simplified 20% Simplified 50% SimplifiedVertices Faces Vertices Faces Vertices Faces Vertices FacesBunny 2503 4968 2247 4456 1998 3958 1244 2448Bear 742 1360 664 1204 589 1054 370 652Deer 693 1382 623 1234 550 1082 345 650Wolf 645 1286 581 1156 516 1024 317 620
GAPS does not support instancing, thus in order to reduce instancedmeshes, it took all the instances as an indexed triangle mesh, takingmuch more time than the proposed instanced version. Moreover, thefile size produced by GAPS was also larger compared to the proposedapproach.Figure 7 shows a comparison of processing times and the result filesizes for simplification of Stanford bunny using un-instanced (Quadricsand GAPS) and instanced (IAS and ITS).
10% 20% 50%051015 10 . . . . . . . . . . . T i m e ( s ) QuadricGAPSIASITS
10% 20% 50%02468 5 . . . . . . . . . . . . S i ze ( M B ) QuadricGAPSIASITS
Fig. 7: Time and size comparison graphs of Instanced Stan-ford Bunny and Un-Instanced Stanford Bunny, simplified by10%, 20%, and 50%.
Time and size comparison for un-instanced (Quadrics and GAPS)and instanced (IAS and proposed ITS) using different input 3D models:Stanford bunny, bear, deer, and wolf at different levels of simplificationare shown in Figure 8.The proposed simplification method produces results significantlymore efficient than previous approaches. The results clearly show itsefficiency compared to GAPS. Using this approach, 3D content withtextures and normals can be shared using minimal network bandwidth;thereby contributing to making 3D content readily available, in particularfor virtual worlds. Moreover, there is a significant processing time reduc-tion while producing acceptable results. All in all, the results make thiswork a good contribution in simplification of 3D textured instance awaremodels.
Bunny Bear Deer Wolf0510 10 . . . . . . . . T i m e ( s ) Un-instancedInstanced
Bunny Bear Deer Wolf0246 5 . . . . . . . . S i ze ( M B ) Un-instancedInstanced
Fig. 8: Average time and size for Instanced and Un-Instanced simplication at levels 10%, 20%, and 50%.
ISCUSSION
We proposed a hybrid 3D textured model simplification approach thatis faster and efficient. This approach is a combination of three variantideas to deal with three objectives: it simplifies geometry, it simplifiesvertex attributes, and it controls file sizes by accounting for instances.There are many approaches that simplify geometry in a very efficientway, whereas other approaches deal with attributes, however, they lackin the reduction of file size. Our algorithm is efficient enough to handlegeometry and attribute simplification while resulting in smallest possiblefile size.Furthermore, the proposed simplification was split into two stages:geometric simplification followed by attribute simplification, to get abetter geometric appearance. This was mainly due to the assumptionthat the visual quality of a 3D model is more affected by its geometryrather than its textures or normals. Thence, a geometric error wasused to make an initial vertex collapse. In case the collapse kept thegeometric quality within acceptable limits, it was further simplified usingvertex attributes.The proposed method is more generalized, as most of the 3Dcontent is stored as an instanced file containing textures and normalcoordinates. It is noteworthy that most of the virtual environments and3D worlds use instanced data, which was not the case in previousapproaches. For example, instanced simplification uses instancing but
TABLE 3: Comparison between un-instanced (Quadrics and GAPS) and instanced (IAS and proposed ITS) in terms of timeand space required. Time in seconds and size in kilobytes.
10% Simplified 20% Simplified 50% SimplifiedUn-instanced Instanced Un-instanced Instanced Un-instanced InstancedQ GAPS IAS ITS Q GAPS IAS ITS Q GAPS IAS ITSBunny Size (KB) 6383 6370 4672 4661 5928 5915 4147 4142 4537 4537 2594 2576Time (ms) 10140 10517 741 774 12922 12662 910 977 8125 8151 602 621Bear Size (KB) 565 565 470 469 515 515 417 415 385 385 268 269Time (ms) 945 895 193 185 1130 1115 223 225 1690 1565 321 287Deer Size (KB) 550 550 467 465 505 505 414 414 375 375 265 264Time (ms) 975 2250 199 215 1175 1195 228 238 1665 1820 341 406Wolf Size (KB) 505 505 427 430 465 465 383 384 345 345 248 244Time (ms) 835 1155 192 174 945 1120 203 198 1445 1475 328 322 lacks accounting for attributes while GAPS does not use instancedinput, rather it takes them as indexed triangles for applying quadricsimplification.We came across a few challenges in this work: First, instanced 3Dmesh input file formats like COLLADA, Autodesk Maya, and Autodesk3ds Max files are not readable in raw, making it almost impossible to takea deep look into the processing applied to 3D data. Object file formatis the simplest readable format to carry such data, but a major issuewith object file format is that it does not support instancing. Therefore,an input file format that is readable yet supports instancing needs tobe developed. To overcome this challenge, we developed an instancesupporting version of object file format. Second, to write the instancessupporting object file, we developed the transformation matrices be-cause this information is given by default in files like COLLADA andAutodesk Maya. Third, making a new file format raised issues such aswhich visual tool would open a file type. To resolve this issue, we cameup with the solution that data is to be read from a customized object fileand stored separately. This procedure was carried out on the data andthe result was written as an indexed triangle mesh for visual analysis.Last, we also developed two different formats for the result file: one withindexed triangles, and the other with instances and transformations. Theoutput produced using the proposed approach was viewable in differenttools irrespective of instancing. Once the input 3D model was simplifiedwith its geometry and other properties, the resulting simplified data wasapplied across all respective instances to get the desired result.Some points require improvements, such as threshold selection isiterative and inefficient. Furthermore, the approach used to select validpairs for collapse can be replaced with more sophisticated methods;this most likely can help generate better results. Point cloud idea isa very approximate and average method to calculate attribute errorsthat should definitely be improved. Geometry simplification can also beimproved by finding optimal point for the collapse of a pair to makeresults more defined and qualitative.The proposed solution restrictively takes triangulated input, it is notdesigned to deal with other polygons. Moreover, it is not tested in acomplete 3D environment or some other real-world data, rather theevaluation is carried out using laboratory produced instanced meshes.Another constraint is the use of customized object type input as tradi-tional object file format which does not support instances. Lastly, weassume that there is one mesh with multiple instances; however, thiscan be generalized for multiple meshes with many instances.
ONCLUSION
The proposed 3D simplification algorithm takes as input a 3D instancedmodel with attributes like geometry, normals, and textures. It uses itera-tive pair contractions based on surface attributes to simplify the modelsand uses quadric error matrices to find errors as the models get simpli-fied. The resulting mesh simplification is used to simplify and produce multiple simplified meshes (instances). On larger 3D input models, thealgorithm produces far better results compared to other approaches.Moreover, the time to reduce instanced meshes is equivalent to onemesh simplification. In the end, the results produced for 3D texturedmodels are as refined as those produced using GAPS with efficient time-space and visual quality. R EFERENCES [1] C. Erikson and D. Manocha, “Gaps: General and automatic polyg-onal simplification,” in
Proceedings of the 1999 symposium onInteractive 3D graphics . ACM, 1999, pp. 79–88.[2] M. Garland and P. S. Heckbert, “Surface simplification usingquadric error metrics,” in
Proceedings of the 24th annual confer-ence on Computer graphics and interactive techniques . ACMPress/Addison-Wesley Publishing Co., 1997, pp. 209–216.[3] R. Ronfard and J. Rossignac, “Full-range approximation of trian-gulated polyhedra.” in
Computer Graphics Forum , vol. 15, no. 3.Wiley Online Library, 1996, pp. 67–76.[4] T. Azim, E. Cheslack-Postava, and P. Levis, “Instance-aware simpli-fication of 3d polygonal meshes,” in
Multimedia and Expo (ICME),2015 IEEE International Conference on . IEEE, 2015, pp. 1–6.[5] W. J. Schroeder, J. A. Zarge, and W. E. Lorensen, “Decimation oftriangle meshes,” in
ACM Siggraph Computer Graphics , vol. 26,no. 2. ACM, 1992, pp. 65–70.[6] M. Reddy, “Scrooge: Perceptually-driven polygon reduction,” in
Computer Graphics Forum , vol. 15, no. 4. Wiley Online Library,1996, pp. 191–203.[7] R. Klein, G. Liebich, and W. Straßer, “Mesh reduction with errorcontrol,” in
Proceedings of the 7th conference on Visualization’96 .IEEE Computer Society Press, 1996, pp. 311–318.[8] A. Gu´eziec,
Surface simplification inside a tolerance volume . IBMTJ Watson Research Center, 1996.[9] P. Lindstrom and G. Turk, “Fast and memory efficient polygonalsimplification,” in
Visualization’98. Proceedings . IEEE, 1998, pp.279–286.[10] J. Rossignac, “Geometric simplification and compression.”[11] R. Pajarola and J. Rossignac, “Squeeze: Fast and progressivedecompression of triangle meshes,” in
Computer Graphics Inter-national, 2000. Proceedings . IEEE, 2000, pp. 173–182.[12] G. Taubin and J. Rossignac, “Geometric compression throughtopological surgery,”
ACM Transactions on Graphics (TOG) , vol. 17,no. 2, pp. 84–115, 1998.[13] G. Taubin, A. Gu´eziec, W. Horn, and F. Lazarus, “Progressive forestsplit compression,” in
Proceedings of the 25th annual conferenceon Computer graphics and interactive techniques . ACM, 1998, pp.123–132. [14] Z. Karni, A. Bogomjakov, and C. Gotsman, “Efficient compressionand rendering of multi-resolution meshes,” in
Proceedings of theconference on Visualization’02 . IEEE Computer Society, 2002,pp. 347–354.[15] J. J. Li, D. D. Tian, and G. AlRegib, “Vector quantization in mul-tiresolution mesh compression,”
IEEE Signal Processing Letters ,vol. 13, no. 10, pp. 616–619, 2006.[16] S. Valette and R. Prost, “Wavelet-based progressive compressionscheme for triangle meshes: Wavemesh,”
IEEE Transactions onVisualization and Computer Graphics , vol. 10, no. 2, pp. 123–129,2004.[17] J. Kim, C. Nam, and S. Choe, “Bayesian ad coder: Mesh-aware va-lence coding for multiresolution meshes,”
Computers & Graphics ,vol. 35, no. 3, pp. 713–718, 2011.[18] D.-Y. Lee, J.-K. Ahn, M. Ahn, J. D. Kim, C. Kim, and C.-S. Kim, “3dmesh compression based on dual-ring prediction and mmse pre-diction,” in
Image Processing (ICIP), 2011 18th IEEE InternationalConference on . IEEE, 2011, pp. 905–908.[19] H. Lee, G. Lavou´e, and F. Dupont, “Rate-distortion optimizationfor progressive compression of 3d mesh with color attributes,”
TheVisual Computer , vol. 28, no. 2, pp. 137–153, 2012.[20] J.-K. Ahn, D.-Y. Lee, M. Ahn, J. D. K. Kim, C. Kim, and C.-S. Kim, “Progressive compression of 3d triangular meshes usingtopology-based karhunen-lo`eve transform,” in
Image Processing(ICIP), 2010 17th IEEE International Conference on . IEEE, 2010,pp. 3417–3420.[21] D.-Y. Lee, S. Sull, and C.-S. Kim, “Progressive 3d mesh com-pression using mog-based bayesian entropy coding and gradualprediction,”
The Visual Computer , vol. 30, no. 10, pp. 1077–1091,2014.[22] D. Cohen-Or, D. Levin, and O. Remez, “Progressive compressionof arbitrary triangular meshes,” in
IEEE visualization , vol. 99, 1999,pp. 67–72.[23] P. Alliez and M. Desbrun, “Progressive compression for losslesstransmission of triangle meshes,” in
Proceedings of the 28th an-nual conference on Computer graphics and interactive techniques .ACM, 2001, pp. 195–202.[24] J.-K. Ahn, D.-Y. Lee, M. Ahn, and C.-S. Kim, “Rd optimized progres-sive compression of 3d meshes using prioritized gate selection andcurvature prediction,”
The Visual Computer , vol. 27, no. 6-8, pp.769–779, 2011.[25] J. Cohen, A. Varshney, D. Manocha, G. Turk, H. Weber, P. Agarwal,F. Brooks, and W. Wright, “Simplification envelopes,” in
Proceed-ings of the 23rd annual conference on Computer graphics andinteractive techniques . ACM, 1996, pp. 119–128.[26] K. Bahirat, C. Lai, R. P. McMahan, and B. Prabhakaran, “A bound-ary and texture preserving mesh simplification algorithm for virtualreality,” in
Proceedings of the 8th ACM on Multimedia SystemsConference . ACM, 2017, pp. 50–61.[27] B. R. Campomanes- ´Alvarez, O. Cord´on, and S. Damas, “Evolution-ary multi-objective optimization for mesh simplification of 3d openmodels,”
Integrated Computer-Aided Engineering , vol. 20, no. 4,pp. 375–390, 2013.[28] M. Garland and P. S. Heckbert, “Simplifying surfaces with color andtexture using quadric error metrics,” in
Visualization’98. Proceed-ings . IEEE, 1998, pp. 263–269.[29] H. Hoppe, “Progressive meshes,” in
Proceedings of the 23rd an-nual conference on Computer graphics and interactive techniques .ACM, 1996, pp. 99–108.[30] P. Lindstrom and G. Turk, “Image-driven simplification,”
ACM Trans-actions on Graphics (ToG) , vol. 19, no. 3, pp. 204–241, 2000.[31] P. V. Sander, J. Snyder, S. J. Gortler, and H. Hoppe, “Texture map-ping progressive meshes,” in
Proceedings of the 28th annual con-ference on Computer graphics and interactive techniques . ACM,2001, pp. 409–416.[32] H. Hoppe, “New quadric metric for simplifiying meshes with ap-pearance attributes,” in
Proceedings of the conference on visual- ization’99: Celebrating ten years . IEEE Computer Society Press,1999, pp. 59–66.[33] J. Cohen, M. Olano, and D. Manocha, “Appearance-preservingsimplification,” in
Proceedings of the 25th annual conference onComputer graphics and interactive techniques . ACM, 1998, pp.115–122.[34] P. V. Sander, X. Gu, S. J. Gortler, H. Hoppe, and J. Snyder,“Silhouette clipping,” in
Proceedings of the 27th annual confer-ence on Computer graphics and interactive techniques . ACMPress/Addison-Wesley Publishing Co., 2000, pp. 327–334.[35] M. Tarini, P. Cignoni, and R. Scopigno, “Visibility based methodsand assessment for detail-recovery,” in
Proceedings of the 14thIEEE Visualization 2003 (VIS’03) . IEEE Computer Society, 2003,p. 60.[36] R. L. Cook, J. Halstead, M. Planck, and D. Ryu, “Stochastic sim-plification of aggregate detail,” in
ACM Transactions on Graphics(TOG) , vol. 26, no. 3. ACM, 2007, p. 79.[37] J. Lacoste, T. Boubekeur, B. Jobard, and C. Schlick, “Appearancepreserving octree-textures,” in
Proceedings of the 5th internationalconference on Computer graphics and interactive techniques inAustralia and Southeast Asia . ACM, 2007, pp. 87–93.[38] M. F. Toubin, O. Laligant, A. Diou, F. Truchetet, E. P. Verrecchia,C. Dumont, and M. A. Abidi, “Multiscale analysis for the char-acterization of 3d objects,” in
Intelligent Robots and ComputerVision XVII: Algorithms, Techniques, and Active Vision , vol. 3522.International Society for Optics and Photonics, 1998, pp. 414–424.[39] M. F. Toubin, D. L. Page, C. Dumont, F. Truchetet, and M. A. Abidi,“Multiresolution wavelet analysis for simplification and visualizationof multitextured meshes,” in
Visual Data Exploration and AnalysisVII , vol. 3960. International Society for Optics and Photonics,2000, pp. 155–164.[40] B. Mao and Y. Ban, “Generalization of 3d building texture usingimage compression and multiple representation data structure,”
ISPRS journal of photogrammetry and remote sensing , vol. 79, pp.68–79, 2013.[41] E. Turner, P. Cheng, and A. Zakhor, “Fast, automated, scalablegeneration of textured 3d models of indoor environments,”
IEEEJournal of Selected Topics in Signal Processing , vol. 9, no. 3, pp.409–421, 2015.[42] R. Arnaud and M. C. Barnes,