610 likes | 769 Views
Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Features. Dinesh Shikhare National Centre for Software Technology (NCST) Mumbai, India. Overview. Large 3D polygon mesh models Processing tasks for applications Storage, transmission, loading, rendering
E N D
Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Features Dinesh Shikhare National Centre for Software Technology (NCST) Mumbai, India. Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Overview • Large 3D polygon mesh models • Processing tasks for applications • Storage, transmission, loading, rendering • Special techniques needed due to the large size of models • Previous work in Geometry Compression • not best suited for large 3D models of engineering class • Our contributions • Compression of large engineering models using automatic discovery of repeating geometric features • Results Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Large polygon mesh models Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Large polygon mesh models… Walk-through of Massive Power Plant Model (13 million triangles) University of North Carolina, Chapel Hill. (http://gamma.cs.unc.edu/GigaWalk/) Double Eagle Tanker (82 million triangles) Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Large polygon mesh models… Digital Michelangelo Project (Statue of David) 4,128,614 vertices 8,254,150 triangles Digital Michelangelo Project (St. Matthew) 186,810,938 vertices 372,422,615 triangles http://graphics.stanford.edu/projects/mich/ Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
3D Data on the Web… Collaborative CAD http://www.cocreate.com Notre Dame Cathedral Walk-through http://www.vrndproject.com Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
3D Data on the Web… Fatehpur Sikri Walkthrough http://rohini.ncst.ernet.in/fatehpur Virtual Trade Fair http://www.cvtf.org.in Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Triangle mesh models… • Common representation • Shared list of vertices (Geometry) • each has xyz coordinates • List of triangles (Connectivity) • each has 3 indices into the shared vertex list • Size of storage • Vertices: 3 x V xB bits, (B bits per coordinate value) • Triangles: 3 x T x log2V(V = no. of vertices) • Typically, T = 2 x V Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Large file sizes… • Even the smallest model will need 204sec to transmit at download speeds of 64kbps • At 500,000 triangles/sec, z-buffer hardware can render only 5 frames/sec Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Large models need special techniques… • Acquisition • Healing – adapting the model for application • Rendering at interactive speeds • Fast interactions – e.g. collision detection • Fast transmission • Progressive disclosure • Compact storage Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Compression of Mesh Models • Compact encoding of “information” by eliminating “redundancy” in the original data • Exploit the special knowledge of “structure” in the data to encode the information • Specialized algorithms perform better than PKZIP, gzip, etc. • e.g. JPEG, MPEG, MP3, etc. • Polygon meshes have a special structure too! Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Previous Work • Connectivity compression • Compact encoding of meshes based on graph traversals • Geometry compression • Truncation of precision • Prediction of vertex positions • Spectral compression (FT, Wavelets, …) • Compression of attributes • Separation of Attributes and their mappings • Quantization of color, normals • Truncation of precision Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Connectivity compression • In a triangle mesh: • triangle count 2 * (vertex count) • each vertex gets used in 5 to 7 triangles • Such large number of repeated references to vertices motivates compression of connectivity information • goal: minimize repeated references to vertices Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Triangle strips and fans… (OpenGL) 2 3 4 2 1 5 4 0 0 3 1 0 1 2 3 4 5 ... 5 0 1 2 2 1 3 2 3 4 4 3 5 ... 0 1 2 0 2 3 0 3 4 0 4 5 ... Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Generalized triangle strips…(Deering95) Triangle Star Triangle Strip 5 9 10 2 6 7 8 11 1 4 14 3 12 13 R1 O2 O3 O4 O5 O6 R7 O8 O9 M10 M11 M12 M13 M14 Independent Triangle Independent Quad 16 21 19 R15 O16 O17 R18 O19 O20 O21 15 17 18 20 Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Edge-based traversal… Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Traversal is not always smooth… Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Dual graph traversal + encoding Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Geometry & Attributes • Vertex Coordinates • Truncation of precision • Prediction schemes • based on the traversal of connectivity • parallelogram rule (Touma and Gotsman) • butterfly scheme (Pajarola and Rossignac) • Vertex Normals • global table of quantized normals • Colour • Truncation of precision Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Geometry compression… • Spectral compression of geometry • Frequency-domain based schemes • Wavelet based schemes • Works only on smooth meshes Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Recent years of intense research… • Began with Deering ’95 (first geometry compression paper), and to some degree with Turk ‘92, Rossignac&Borrel, ‘92, Hoppe ’93 (the first simplification papers) • Papers on connectivity alone • Itai,Rodeh: Representation of graphs, Acta Informatica, 82 • Turan: On the succinct representation of graphs, Discrete Applied Math, 84 • Naor:Succinct representation of general unlabeled graphs,Discrete Applied Math, 90 • Keeler,Westbrook: Short encoding of planar graphs and maps, Discrete Applied Math, 93 • He, Kao,Lu: Linear time succinct encodings of planar graphs, Siam J. Discrete Math, 99 • Chuang, Garg, He, et al: Compact encodings of planar graphs, ICALP, 98 • Deering: Geometry Compression,Siggraph, 95 • Taubin,Rossignac: Geometric compression through topological surgery, ACM ToG, 98 • Taubin,Horn,Lazarus,Rossignac: Geometry coding and VRML, Proc. IEEE, 98 • Touma,Gotsman: Triangle Mesh Compression, GI, 98 • Gumbold,Straßer: Realtime compression of triangle mesh connectivity, Siggraph, 98 • Rossignac: Edgebreaker: Compressing the incidence graph of triangle meshes, TVCG, 99 • Rossignac,Szymczak: Wrap&Zip: Linear decompression of triangle meshes, CGTA, 99 • King&Rossignac: Guaranteed 3.67V Bit Encoding of Planar Triangle Graphs, CCCG, 99 • Bajaj et al.: Single resolution compression of arbitrary triangle meshes, DCC 99 • Cohen-Or: Progressive compression of arbitrary triangle meshes, Visualization 99 • Isenburg&Snoeyink, Mesh Collapse Compression, SIBGRAPI 99 • Snoeyink, VanKreveld: Linear-time reconstruction of Delauney triangulations,ESA 99 • Denny,Sohler:Encoding a triangulation as a permutation of its point set,CCCG, 97 • King, Symczak, &Rossignac: Connectivity Compression for Irregular Quadrilateral Meshes, submitted • Isenburg&Snoeyink: Face-Fixer, Siggraph 2000 • Above list does not include the progressive methods, the ones that focus on geometry, ones that change the connectivity Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Patents… • Companies – Intel, Sun, IBM, Microsoft, Macromedia, Metacreations • Startups – Virtue3D, Enbaya, WebGlide, … • At least 20 Issued Patents (from http://www.3dcompression.com/patents.phtml) • 6,167,159 -- Touma&Gotsman's valence-based mesh compression • 6,046,744 -- Hoppe's Selective Refinement of Progressive Meshes • 5,793,371 -- Deering's Compression used in Java3D • 5,825,369 -- Rossignac&Taubin's Topological Surgery • 5,736,987 -- Drucker&Mitchell's compression method for normals • 5,818,463 -- Tao et al. -- a method for animated 3D model compression using quads, 1998 • 5,905,507 -- Rossignac&Taubin's Topological Surgery for generalized models • 5,929,860 -- Hoppe's Progressive Meshes • 5,963,209 -- Hoppe's Progressive Meshes -- Encoding and transmission • 5,966,133 -- Hoppe's Progressive Meshes -- Geomorphs and variable resolution • 6,009,435 -- Taubin -- level of detail method that sends the highest LOD connectivity • 6,031,548 -- Gueziec,Lazarus,Taubin -- Progressive Multi-level transmission • 6,016,153 -- Gueziec&Taubin -- Cutting&Stitching • 6,169,819 -- Dyer (HP) -- Fast compression of surface normals • 6,169,549 -- Burr, 2001, method for continuous LOD control • 6,088,034 -- Deering's Java3D -- surface normal decompression • 5,870,094 -- Deering's Java3D -- system for transferring compressed 3D • 5,867,167 -- Deering's Java3D compression • 5,842,004 -- Deering's Java3D decompression • 6,028,610 -- Deering's Java3D -- geometry instructions for decompression • 5,933,153 -- Deering's Java3D -- mesh buffer for decompression • 5,905,502 -- Deering's Generalized Triangle Mesh compression Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Architectural and Engineering Designs • Common Characteristics: • Large number of small meshes. • Many shapes and groups of shapes repeat. • The model has arbitrary grouping of polygons. • Instancing information is not captured and modeled optimally. Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Applicability of previous techniques to Engineering Models? • Each repeating feature is repeatedly encoded. • Predictive encoders perform poorly on engineering CAD models having sharp edges and corners. • Spectral methods too can’t handle sharp features. • Vertices are repeated to capture texture coordinates, vertex normals. • Hence graph traversals have many short branches in the tree – encoding is not very compact. Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Our Approach • Attack the redundancy in encoding the shape features that repeat within a 3D model • Automatic discovery of repeating shapes at various granularities: • Connected components • Sub-component features • Aggregates of above two types • Compactly encode the repetition of features Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Our Approach Unstructured or arbitrarily grouped collection of polygons along with attributes. Soup of Polygons Regrouping of polygons to obtain edge-connected components -- “component shapes”. Connected Components Detection of repeating component shapes using 3D registration techniques. Component level Instance Detection Detection of repeating features Within and across components using “feature growth” technique. Sub-component level Instance Detection Detection of repeating groups of component shapes (“aggregates”) by looking for iso-transformation instances of component shapes. Aggregate-level Instance Detection Compact encoding Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Preprocessing of Model • Removal of duplicated geometry • replicated vertices • overlapping faces • Regrouping of the model as a collection of connected components • For the first stage, connected component is the unit for matching and instancing. A single mesh in the original model split into 36 components to make shape matching and instancing possible. Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Matching at Component Level • Problem: (Top-Down) • Determine whether given two component shapes are near identical (in the sense of a rigid body transformation). • If they are identical, record the transformation (rotation, translation) for instance definition and for later reconstruction. • Various approaches: • graph matching, feature extraction and matching, 3D registration. Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Matching at Component Level • Normalized Orientation • Obtain an orthonormal basis that describes the eccentricities of the component shape. • Use this basis as a pure rotation matrix to bring a shape to its “normalized orientation”. Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Matching at Component Level • Hotelling Transform • Determine the centroid: • Compute Covariance Matrix: • Determine eigenvectors and eigenvalues of matrix C. • Obtain pure rotation matrix R with normalized eigenvectors and translation T-m to get rigid body transformation (R, T-m). • Compute OBB. Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Matching at Component Level • Matching two component shapes, M1, M2: • Obtain for both shapes, orthonormal bases and centroids: (R1, T-m1) and (R2, T-m2). Also compute OBBs of the shapes. • Proceed only if dimensions of OBBs match. • Proceed if vertex counts and polygon counts match. • Align M2 with M1 using the composite transformation: T = T-m1 R2 R1-1 Tm2 • Carry out fuzzy comparison of vertices of M1 and M2. • If 99.9% of vertices match, create an instance and record T. Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Matching at Component Level First Instance Component Shapes Feature i DEF Geom+Conn+Attrib Feature j DEF Geom+Conn+Attrib Feature k DEF Geom+Conn+Attrib Instance USET1 Instance USET3 Instance USET1 Instance USET2 Instance USET1 Instance USET1 Instance USET2 Instance USET2 Instance USETm Instance USETn Instance USET4 Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Sample Models Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Results: Repeating Components Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Results... Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Sub-component features • Many shape features repeat within and across components. • Examples: • Teeth of a gear: geometry and connectivity for each tooth is repeatedly described. • Components of mechanical assemblies are merged to obtain a single component, but still has many repeating shapes. • Component level discovery cannot detect sub-component level patterns. • Previous work • Discovery of repeating motifs in molecular structures Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Sub-component features… Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Sub-component features… • Discovery algorithm (Bottom-up) • Assign footprints to all vertices in the model • Create equivalence classes of vertices having identical neighborhoods as identified by their footprints • Starting with vertices of each equivalence class • Carry out identical simultaneous breadth-first growth of features • Verify that the features are indeed geometrically identical Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Sub-component features… Identical simultaneous growth of repeating features about vertices (seeds) having identical neighborhoods. Vertex 0 indicates the seeds, and the numbering indicates the BFS order of traversal during the growth. Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Sub-component features… Steering Spring Antenna Rotor Wheel Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Sub-component features… Large number of vertices belonging to repeating features can be compressed effectively using instancing of vertices and triangles connecting them. Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Aggregate features • Geometry repeats not only at the level of connected features, but also as groups of features • e.g. A pillar in an architectural model consists of multiple component shapes, and the model can have a large number of identical pillars. • Key Observation: • USE-instances of all meshes of a structure have identical transformation associated with them. • An iso-transformation set gives us structures that repeat. Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Aggregate features… First Instance Features / Shapes Feature i DEF Geom+Conn+Attrib Feature j DEF Geom+Conn+Attrib Feature k DEF Geom+Conn+Attrib Instance USET1 Instance USET3 Instance USET1 Structure 1 Instance USET2 Instance USET1 Instance USET1 Structure 2 Instance USET2 Instance USET2 Instance USETm Instance USETn Instance USE T4 Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Aggregate features… Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Identification of Erroneous Duplicates First Instance Features / Shapes Feature i DEF Geom+Conn+Attrib Feature j DEF Geom+Conn+Attrib Feature k DEF Geom+Conn+Attrib Instance USET1 Instance USET3 Instance USET1 Structure 1 Instance USET2 Instance USET1 Instance USET1 Structure 2 Identical Transformations Instance USET2 Instance USET2 Instance USETm Identity Transformation Instance USETn Instance USEI Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Compressed Storage • DEF instances compressed using the best available connectivity compression algorithm • e.g. Edgebreaker (Rossignac 1999) • USE instances represented as reference to the DEF instance and a rigid-body transformation. • A more general transformation may be used • similarity transformation • a sequence of topological operators to take one mesh to another Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Compressed Storage Scheme Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Result of compression… (1) File sizes in bytes. (2) Note that some models could not be compressed using Edgebreaker algorithm because (a) DIK has textures and (b) others have non-manifold meshes. (3) CR = 1 – C(M) / O(M) Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Lathe Heritage Boeing 747 Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.
Summary of contributions • New algorithms for discovery of repeating geometric features at different levels of granularity • A new compression scheme for large 3D models of architectural and engineering class • Extension of compression scheme for incorporation of the previously reported compression techniques • A new technique for automatically eliminating erroneously replicated geometry Compression of Large Engineering 3D Models using Automatic Discovery of Repeating Geometric Features.