420 likes | 545 Views
3D-Kompression. Multimedia-Seminar, WS 2001/2002 Michael Weyel. Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick. Inhalt. Häufigste Darstellungsform : Polygonales Modell Bestandteile : Punkte (Vertices) und Flächen (Faces).
E N D
3D-Kompression Multimedia-Seminar, WS 2001/2002 Michael Weyel
Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick Inhalt
Häufigste Darstellungsform : Polygonales Modell Bestandteile : Punkte (Vertices) und Flächen (Faces) Aufbau von 3D-Modellen Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Vertex-Eigenschaften: Position ( x, y, z ) Farbe ( r, g, b ) Normalenvektor ( nx, ny, nz ) Texturkoordinaten ( tu, tv ) ... Flächen-Eigenschaften: Materialkonstante Normalenvektor Aufbau von 3D-Modellen Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Vorteile der polygonalen Darstellung Weit verbreitet und akzeptiert Flexibel Durch Hardware unterstützt Nachteile der polygonalen Darstellung Wirklich „runde“ Oberflächen nicht darstellbar U.u. viele Vertices und Faces pro Modell nötig Aufbau von 3D-Modellen Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Aufbau von 3D-Modellen Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick 1000 Faces 424000 Faces
Andere Darstellungsmöglichkeiten Parametric Spline Surfaces NURBS Aufbau von 3D-Modellen Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Grafikanwendungen brauchen viel Rechenzeit 3D-Modelle häufig zu detailliert Polygondichte nicht angepasst Verwendete Hardware unterschiedlich Übertragungszeit bei Online-Anwendungen Motivation Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Anzahl der Objekte wird nicht berücksichtigt Motivation Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Entfernung der Objekte zum Betrachter wird nicht berücksichtigt Motivation Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Speicherung oder Real-Time-Erzeugung mehrer Detailstufen eines 3D-Modells Anzeige der einzelnen Detailstufen nach vorgegebenen Kriterien Level of Detail ( LoD ) Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Ziel : Erzeugung eines „Multiresolution Model“ Unterschieden wird in Discrete Multiresolution ( Verwendung von festen Vereinfachungsstufen ) Continuous Multiresolution (Kontinuierliche Vereinfachung oder Verfeinerung) Level of Detail ( LoD ) Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Discrete Multiresolution Renderer entscheidet zur Laufzeit, welche Detailstufe angezeigt wird (Dist, AoI, ...) Übergang darf nicht rechenzeitaufwendig sein Problem: „popping artifacts“ Level of Detail ( LoD ) Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Discrete Multiresolution Level of Detail ( LoD ) Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Discrete Multiresolution Lösungsansätze LoD-Blending (Alpha Blending) Geomorphing Geschwinddigkeit beider Verfahren Hardwareabhängig DM-Verfahren rückläufig, weitere Nachteile vorhanden Level of Detail ( LoD ) Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Continuous Multiresolution Vereinfachung der Oberfläche zur Laufzeit Vereinfachung wird in sehr kleinen Schritten vorgenommen Es muss nur das Ausgangsmodell gespeichert werden ( zusätzlich, je nach Verfahren, die Vereinfachungsschritte ) Level of Detail ( LoD ) Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Continuous Multiresolution Ermöglicht „variables“ und „blickwinkelabhängiges“ LoD Level of Detail ( LoD ) Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Mögliche Verfahrensweisen: Manuelle Bearbeitung Automatische Erzeugung der Detailstufen Zwei Ansätze : Refinement ( Verfeinerung ) Decimation ( Dezimierung ) Level of Detail ( LoD ) Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Refinement Ausgangspunkt : Stark vereinfachtes Modell Hinzufügen von Elementen Anwendungsbereiche : Vereinfachung von 2D-Kurven ( Douglas-Peucker-Algorithmus ) Vereinfachung von Höhen-Feldern z = f(x,y) ( „Greedy insertion“ ) Nachteil : Original und vereinfachtes Ausgangsmodell nötig Level of Detail ( LoD ) Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Decimation Ausgangspunkt : Detailreiches Modell Wegnehmen oder Verschmelzen von Elementen Anwendungsbereiche Vereinfachung von beliebigen Oberflächen Level of Detail ( LoD ) Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Decimation Vertex Clustering Legen eines Gitters „in“ das Modell Verschmelzen aller Vertices im selbem Gitterbereich Level of Detail ( LoD ) Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Decimation Vertex Clustering Vorteile Schnell Arbeitet gut, wenn Modell „überdetailliert“ Unterstützt „Non-Manifold Surfaces“ Nachteile Vereinfachungen meist qualitativ schlecht Ergebnis hängt stark von der Unterteilung und Platzierung des Gitters ab Level of Detail ( LoD ) Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
(Non-) Manifold Surfaces Die Nachbarn jedes Punktes (außer Grenzpunkte) liegen so, dass sie einen geschlossenen Fächer bilden und jede Kante innerhalb dieses Fächers hat 2 Nachbarn Level of Detail ( LoD ) Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Decimation Vertex Clustering Vorteile Schnell Arbeitet gut, wenn Modell „überdetailliert“ Unterstützt „Non-Manifold Surfaces“ Nachteile Vereinfachungen meist qualitativ schlecht Ergebnis hängt stark von der Unterteilung und Platzierung des Gitters ab Level of Detail ( LoD ) Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Decimation Vertex Decimation Einen Vertex löschen Retriangulation des entstandenen Loches Level of Detail ( LoD ) Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Decimation Vertex Decimation Vorteile Relativ effizient Gut bei „rauhen“ Oberflächen Nachteile Topologie des Modells bleibt immer bestehen Schlecht bei „weichen“ Oberflächen Unterstützt keine „Non-Manifold Surfaces“ Level of Detail ( LoD ) Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
(Non-) Manifold Surfaces Die Nachbarn jedes Punktes (außer Grenzpunkte) liegen so, dass sie einen geschlossenen Fächer bilden und jede Kante innerhalb dieses Fächers hat 2 Nachbarn Level of Detail ( LoD ) Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Decimation Iterative Contraction 2 Arten : Egde Contraction, Vertex Contraction „Zusammenziehen“ einer Kante oder zweier unabhängiger Punkte Level of Detail ( LoD ) Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Decimation Iterative Contraction Vorteile Unterstützt „Non-Manifold Surfaces“ Topologie kann geändert werden Mittlerweile weit verbreitet Nachteile Je nach verwendetem Algorithmus langsam Level of Detail ( LoD ) Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Iterative Edge Contraction – Verfahren von Hugues Hoppe (96) Aufwendige Vereinfachung eines Modells Effiziente Verfeinerung und Speicherung möglich Algorithmus beachtet auch „Aussehen“ des Modells Verfeinerung mittels „Vertex-Splitting“ Progressive Meshes Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Effiziente Speicherung der Werte 2 Möglichkeiten für Edge Contraction Progressive Meshes Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Vereinfachung basiert auf„Energiefuntion“ E(M)=Edist(M)+Espring(M)+Escalar(M)+Edisc(M) Ermitteln dieses Wertes für jeden möglichen Vereinfachungsschritt Edist + Espring : Erhaltung der Oberflächengeometrie Escalar : Erhaltung der skalaren Vertex-Komponenten Edisc : Erhaltung der Diskontinuitäten Progressive Meshes Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Vorteile Effizient (RAM, Zeit für Verfeinerung) Progressive Transmission möglich Gute Ergebnisse Nachteile Vereinfachung dauert lange (Modell „cessna“ von 13,546 Faces auf 150 Faces in 23 Minuten auf Indigo2/150 Progressive Meshes Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Progressive Meshes Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Iterative Vertex Contraction – Verfahren von Michael Garland (99) Schnell bei optisch guten Resultaten Vertices v1 und v2 werden in v3 zusammengeführt Quadric Error Metric leicht erweiterbar Quadric Error Metric Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Ablauf des Algorithmus: Kandidaten von Vertexpaaren für die Zusammenlegung auswählen „Kosten“ für jede Zusammenlegung bestimmen Alle Kandidaten in Heap-Speicher ablegen, geringste Kosten zuoberst Solange gewünschte Vereinfachung nicht erreicht: Ersten Vertexpaar vom Heap entfernen Diese Vertices zusammenlegen Kosten für umliegende Vertexpaare neu berechnen Quadric Error Metric Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Kostenberechnung: Basiert auf Beachtung lokaler Unterschiede Abstandsmessung eines Punktes zu den Ebenen, welche seine Nachbarn aufspannen Bildung einer Matrix aus den Normalenvektoren dieser Ebenen Schnelle Berechnung, da nicht jeder Abstand (Vertex-Ebene) einzeln berechnet werden muss Detailunabhängig durch Gewichtung Quadric Error Metric Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Beachtung der Flächengröße Beachtung der Grenzlinien Quadric Error Metric Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Vorteile: Sehr schnell (Modell „Bunny“ von 69,451 Faces auf 150 Faces in 7 sec!! auf PPro/200) Einfach erweiterbar Progressive Transmission möglich Nachteile: Andere Techniken können bessere Ergebnisse liefern ( aber langsamer ) Quadric Error Metric Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Quadric Error Metric Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick
Similarity of Appearance Area of Interest Adaptive Refinement Noise Reduction Verbesserung und Verfeinerung der vorhandenen Algorithmen (z.B. Symmetrieerkennung, effizientere Behandlung von sehr großen Modellen(>1,000,000 Faces) ) Ausblick Aufbau von 3D-Modellen Motivation Level of Detail Progressive Meshes Quadric Error Metric Ausblick