DR. DANIEL SCHIFFNER
Goethe-Universität Frankfurt am Main
Fachbereich Informatik und Mathematik
Institut für Informatik
Robert-Mayer-Str. 10
60054 Frankfurt am Main
E-Mail: dschiffner[AT]gdv.cs.uni-frankfurt.de
Perception Points
Durch die Entwicklung moderner und heterogener Hardware haben sich die Anforderungen an 3d Anwendungen geändert. Obwohl Echtzeit-Rendering von photorealistischen Bildern heutzutage möglich ist, bleibt der Rechenaufwand trotz leistungsfähiger Graphikkarten enorm hoch. Gerade ältere Computer mit schwächerer Graphikkarte oder Smart-Phones sind nicht in der Lage die selben Ergebnisse zu erreichen. Um auf diesen leistungsschwächeren Systemen trotzdem ein interaktives Rendering zu ermöglichen, werden üblicherweise Details von den Objekten innerhalb einer Szene entfernt. Dadurch müssen weniger Daten verarbeitet werden und als Resultat wird eine höhere Bildwiederholfrequenz erzielt. Das Entfernen von Details kann dabei jedoch Artefakte erzeugen, welche von einem Betrachter oder Benutzer als störend empfunden werden können. Dadurch wird die vom Betrachter empfundene Qualität der Szenerie reduziert.
Um die Erzeugung von Artefakten zu vermeiden, werden Merkmale auf einem Objekt identifiziert, welche entfernt werden können. Meistens werden dazu geometrische Eigenschaften genutzt, wie z.B. Abstand, Fläche oder Form. Mit Hilfe von diesen wird die Qualtität einer möglichen Reduktion eingeschätzt. Die wiederholte Anwendung von diesen Reduktionen erzeugt die sogenannten Levels Of Detail (LODs), welche von einem Renderingsystem genutzt werden können. Diese vorberechneten LODs werden dann mittels einer Metrik, wie der Abstand zum Betrachter, ausgewählt und ausgetauscht. Der Übergang zwischen zwei LODs-Versionen muss dabei kontinuierlich von statten gehen, um von einem Betrachter nicht wahrgenommen zu werden. Daher ist es nötig, beide LODVersionen gleichzeitig anzuzeigen und zwischen beiden überzublenden, d.h. mit Hilfe der Transzparenz einen Austausch der Objekte zu vollführen. Der dadurch entstehende zusätzliche Aufwand muss hierbei in Betracht gezogen werden und der Vorteil einer LOD-Reduktion ist erst nach dem Vollenden des Austausches gegeben. Grundsätzlich nutzen die aktuellen LOD-Methoden die diskreten und vorberechneten Level. Dabei werden aber auch Beschränkungen von Anzeige und Betrachter ausgenutzt.
Die visuelle Wahrnehmung von Menschen ist limitiert, z.B. können wir uns nur auf eine Stelle gleichzeitig fokussieren oder gleiche Farben nicht unterscheiden, wenn die Lichtverhältnisse verschieden sind. In der Forschung innerhalb dieses Bereiches wurden verschiedene Kompressionsarten vorgestellt, welche diese Informationen nutzen können. Bildbasierte Kompressionen, wie MPEG und JPEG, nutzen diese, um für Menschen unbemerkbare Details zu entfernen. Die JPEG-Bildkomprimierung zum Beispiel macht sich unter Anderem zu Nutze, dass Menschen eine geringere Auflösung für Farbeninformationen besitzen. Auch in anderen Wahrnehmungsbereichen finden Kompressionsmethoden Anwendung, wie z.B. MP3. In dieser Kompression werden überlagerte Frequenzen mit geringerer Genauigkeit speichert, falls diese von einer anderen Frequenz maskiert wird. Zur Abbildung von Wahrnehmung, insbesondere die visuelle Wahrnehmung, gibt es verschiedene Computermodelle. In unserem Szenario sind besonders solche von Vorteil, welche nicht von Menschen beeinflusst werden können, wie z.B. die Salienz.
Salienz ist ein Begriff aus der Psychophysik und beschreibt die Fähigkeit eines Objektes aus seiner Umgebung “hervorzustechen”. Solche Objekte (oder Merkmale) sind besonders wichtig für das menschliche visuelle System. Mit Hilfe der Salienz ist es möglich, Regionen zu identifizieren, auf die ein Mensch wahrscheinlich schauen wird. In der Literatur wurde die Salienz bereits verwendet, um rekursive Rendering-Algorithmen zu steuern, wie z.B. Path-Tracing oder globale Beleuchtungsrechnungen. Gerade sehr aufwändige Verfahren ziehen einen großen Nutzen aus einer wahrnehmungsbasierten Darstellung, da sie dadurch einzelne Berechnungen abbrechen können ohne die Qualität des Ergebnisbildes stark zu beeinflussen. Im Idealfall würde das Ergebnisbild sich nicht von einer naïven Methode unterscheiden. Bis jetzt ist es allerdings üblich, Salienz für Bilder zu berechnen und eine 3d Variante wurde nur partiell vergestellt und umgesetzt. Damit das existierende Modell komplett in 3d überführt werden kann, müssen einige Probleme umgangen werden.
In dieser Arbeit stellen wir ein smartes Renderingsystem vor, welches mit Hilfe eines 3d Salienzmodells Wahrnehmungsinformationen nutzen kann. Dieses Rendering passt die vorhandenen Objekte direkt während der Anzeige an und ermittelt mit der Salienz Bereiche oder Regionen, in denen Details entfernt werden können. Dadurch ist dieses System nicht auf Vorberechnungen bezüglich der LOD-Versionen angewiesen. Wir präsentieren eine allgemeine Repräsentation der Salienz, welche es ermöglicht, einzelne Merkmale im Voraus zuberechnen und in einer beliebigen Szenerie einzufügen. Unser LOD-Verfahren ist dabei nicht nur abhängig von Objektinformationen, sondern nutzt zusätzlich die Szenerie, wodurch genauere Anpassungen möglich sind. Zur Bestätigung unserer Thesen, haben wir einen Prototypen erstellt, der auf aktuellen Systemen interaktives Rendering ermöglicht und konnten in Benutzerstudien die vorgestellten Verfahren verifizieren.
Für die Anpassung eines 3d Objektes definieren wir eine dynamische Datenstruktur, den TreeCut. Diese kapselt eine multi-resolution Darstellung ab, welche verschiedene Detailstufen eines Objektes enthält. Im Gegensatz zu klassischen, hierarchiebasierten Renderingmethoden, wird in unserem Verfahren explizit ein Cut gespeichert, welcher die aktuelle Darstellung repräsentiert. Diese Darstellung wird dabei durch die sogennanten Cut-Knoten beschrieben. Es ist nicht nötig, die hierarchie nochmals zu traversieren und eine Beschleunigung in der Anzeige wird erreicht, da die Darstellung allein durch die Cut-Knoten möglich ist. Zusätzlich kann, auf Grund dieser expliziten Darstellung, der TreeCut mit nur zwei Basisoperationen verändert werden, das refine und coarse. Wird die refine-Operation angewendet, so erhöht sich das Detail an der aktuellen Stelle, wohingegen die coarse-Operation dieses dort entfernt. Beide Operationen sind lokal, d.h. es werden keine globalen oder externen Informationen benötigt. Lediglich Nachfolger- oder Vorgängerinformationen müssen zugänglich sein, um einen Austausch zu ermöglichen.
Wir stellen verschiedene Evaluationsstrategien vor, um eine TreeCut-Repräsentation nicht nur lokal sondern global zu verändern. Dafür werden einem Cut-Knoten entweder Prioritäten oder ein Ziellevel (Bucket) zugewiesen. Im Fall der Prioritäten kann ein Optimierungsalgorithmus die Gesamtpriorität eines TreeCuts maximieren. Dafür ist eine Beschränkung nötig, wie zum Beispiel die maximale Anzahl von Primitiven oder Cut-Knoten. Die Evaluationsstrategie ersetzt dann mittels der beiden Basisoperationen Cut-Knoten mit geringer Priorität durch andere mit höherer Priorität. Im Falle des Buckets wird der TreeCut solange verändert, bis die vorgegebene Verteilung erreicht wurde. Beide Evaluationsstrategien arbeiten mit linearer Komplexität in Abhängigkeit von der Größe des TreeCuts.
Um eine effiziente Auswertung und Darstellung zu erreichen, werden Rendering und Evaluation parallel verarbeitet. Dabei wird das Objekt über mehrere Frames angepasst, ohne das Rendering zu blockieren. Wir stellen innerhalb der Arbeit eine Parallelisierungsmethode vor, um den Austausch zwischen der Evaluationsstrategie und der Darstellung zu ermöglichen. Dafür wird die hierarchie Information von der Darstellung getrennt. Trotz der zusätzlichen Berechnungen und Trennung der Daten behält der TreeCut seine lineare Zeitkomplexität für das Rendering und die Auswertung.
Der TreeCut ist in seiner Anpassungsfähigkeit nicht auf geometrische Eigenschaften beschränkt und als eine mögliche Alternative wird eine Stippling-Methode präsentiert. Ein Stippling ist eine punkt-basierte Darstellung eines Objektes mit verschiedener Punktdichte, um die Silhouette oder interne Merkmale darzustellen. In diesem Fall wird die Bucket-Strategie genutzt, um mittels der Beleuchtung die korrekte Punktdichte zu ermitteln. Die multi-resolution Darstellung wird in diesem Fall angepasst, um verschiedene Punktdichten zu liefern. Der TreeCut kann auch dazu genutzt, eine bestimmte Wichtigkeit eines Objektes sicherzustellen oder zu erzeugen. In einem Testszenario haben wir ein Icon so angepasst, dass es sich in Abhängigkeit von Benutzer und Aufgabe verändert. Damit konnten wir einen Zusammenhang zwischen Benutzerbelastung und der Priorität des Icons zeigen. Werden diese Informationen zusammengetragen, wäre es möglich ein Benachrichtigungssystem zu erstellen, welches den aktuellen Zustand des Benutzers berücksichtigen kann.
Optimiert man eine Szenerie oder ein Objekt können wahrnehmungsorienterte Methoden die Beschränkungen des visuellen Systems berücksichtigen. Existierende Salienzverfahren erzeugen dazu ein 2d Bild, welches Bereiche identifiziert, in denen Detail erhalten werden sollte. Diese Salienz ist dabei abhängig von mehrerern Faktoren, unter Anderem die Sicht und Beleuchtung der Szenerie. Wir präsentieren ein 3d Salienzmodell, welches eine universelle Berechnung von Wahrnehmungsinformationen erlaubt, die Bidirectional Saliency Weight Distribution Function (BSWDF). Zur Bestimmung der Merkmale werden direkt 3d Informationen genutzt, um eine Approximation aus 2d Daten zu vermeiden. Dazu werden vorhandene Merkmalsextraktoren (engl. feature extractors) von 2d in den 3d Raum übertragen. Durch die allgemeine Beschreibung der BSWDF ist es damit auch möglich, Bilder zu bearbeiten und in diesen wichtige Regionen zu identifizieren.
Um die einzelnen Merkmale zu extrahieren, benutzen wir sowohl Fähigkeiten von modernen Graphikkarten als auch aktuelle Verfahren aus der Computergraphik. Inspiriert von punkt-basierten Renderingmethoden werden die einzelnen Merkmale in einem einzelnen Element (dem sogennanten surface element (surfel)) gespeichert und auf Salienz untersucht, d.h. wie sehr es “hervorsticht”. Dabei beschränkt sich die vorgestellte Methode nicht nur auf punkt-basierte Repräsentationen, sondern kann für alle Primitivtypen benutzt werden. Zur Auswertrung verwenden wir ein Shader-Programm, welches auf der Graphics Processing Unit (GPU) ausgeführt wird und dadurch eine Übertragung von Daten vermeidet. Zusätzlich wird die Berechnung, wegen der schnellen Graphikkarte, beschleunigt. Die so erhaltenen objektbasierten Merkmale können extrahiert und zusammengefasst werden, um eine Salienzkarte für die Objektoberfläche zu erstellen.
Diese oberflächenspezifische Merkmale, wie Farbe oder Krümmung, können dabei vorberechnet werden, um Rechenzeit während des Renderings zu sparen. Wir stellen hierfür Sampling Schemata vor, um die einzelnen Blickpositionen zu bestimmen, die däfur benötigt werden. Mit diesen ist sichergestellt, dass während des Renderings in jedem Blickwinkel alle Oberflächenmerkmale rekonstruiert werden können. Die Ergebnisse aus den Sampling Schemata werden innerhalb einer Lookup Table gespeichert, ähnlich zu Verfahren, wie sie in der Beleuchtungsrechnung Anwendung finden. Die Größe der Tabelle ist dabei nur von Anzahl der Blickpositionen und der genutzten Bildgröße abhängig. Die geometrische Komplexität, d.h. die Anzahl der Primitive, welche das Objekt beschreiben, beeinflusst die Lookup Table nicht. Dies bedeutet, dass die Qualität einer Lookup Table unabhängig von einem Objekt ist.
Die Berechnung der BSWDF kann sowohl auf der Central Processing Unit (CPU) oder der GPU erfolgen und nur wenige Instruktionen werden dafür benötigt. Für den Fall, dass die Daten vorberechnet wurden, wird eine Rückprojektion durchgeführt und mit den aktuellen wahrnehmungsrelevanten Informationen aus der Szenerie verknüpft. Zusammen mit einem speziellen Beleuchtungsmodell wird die Salienz für alle Primitive berechnet. Falls die Daten auf der GPU berechnet werden, werden diese mit Hilfe der “transform feedback” Fähigkeiten übertragen. Im Gegensatz zu anderen Verfahren, erhält das “transform feedback” dabei die verwendete Ordnung der Primitive und erlaubt dadurch eine schnelle Zuweisung der ermittelten Salienzdaten. Interpretiert man diese Salienzdaten als Prioritäten, kann zusammen mit den TreeCut Evaluationsstrategien ein Objekt wahrnehmungsorientiert angepasst werden.
Eine so durchgeführte Anpassung eines Objektes basiert dabei auf Szenen gestützten Informationen und eine Änderung resultiert somit in neuen Salienzinformationen. Ein Objekt ist durch den TreeCut und der BSWDF in der Lage, sich optimal der aktuellen Szenerie anzupassen. Das Objekt wird somit selbst-optimierend und ein Feedback System erschaffen. Das Ergebnis der wiederholten Anpassung ist wahrnehmungsoptimiert. Um die Nützlichkeit von Salienz zu bewerten, wurden mehrere Benutzerstudien durchgeführt, welche die Qualität der erzielten Reduktionen bewerteten. Wir haben in diesen Studien eine Salienzkompression mit einer geometrischer Kompression verglichen. Ein Resultat ist unter Anderem, dass die Salienzinformationen es erlauben ein Objekt noch weiter zu komprimieren als es mit rein geometrischen Verfahren möglich wäre. Dabei wird die Qualität der Reduktion nicht beeinflusst obwohl die Anzahl der Primitive verringert wurde. Die Teilnehmer waren zum Beispiel nicht in der Lage zwischen zwei Objekten zu unterscheiden, obwohl die Salienzkomprimierung das Objekt nur mit 60% der Größe der geometrisch-reduzierten Variante darstellte. War dieses Verhältnis größer, so wurde die Salienzvariante bevorzugt. Mit Hilfe von statistischer Analyse konnten wir die Ergebnisse als signifikant bzw. als hoch-signifikant einstufen.
Das Feedback System erlaubt es, ein beliebiges Objekt in seiner Darstellung zu optimieren. Aber nicht nur geometrisches Detail kann damit geändert werden und als Beispiel stellen wir eine dynamische Simulation vor. Diese basiert auf einem Software Development Kit (SDK), um sowohl die universelle Einsetzbarkeit des Feedback Systems zu zeigen und den Fokus auf die Umsetzung der Verknüpfung zu legen. In diesem Szenario dient der TreeCut dazu, nicht nur geometrisches- sondern auch simulations-bezogenes Detail zu verändern. Wir fügen das SDK in das vorhandene System ein und passen dazu den TreeCut entsprechend an. Durch die Anpassung des TreeCuts wird zusätzlich zur Beschleungigung der Darstellung, auch die Rechenzeit für einen Simulationsschritt reduziert.
In der Simulation verwenden wir einen sogennanten Soft-Body, welches ein deformierbarer aber auf der Oberfläche verbundener Körper ist. Dies trifft zum Beispiel auf ein Stück Stoff zu, welches sich an eine Oberfläche anpassen kann, aber durch das Geflecht nicht auseinander reißt. Andere Typen sind starre Körper – dies sind idealisierte Körper, welche nicht elastisch sind – und Fluide oder Gase. Die beiden Letzten werden vor allem in punkt-basierten Simulationen verwendet. Jede dieser Simulationsarten ist dabei von der Anzahl der zu berechnenden Simulationsknoten abhängig und eine Reduktion liefert entsprechend eine große Beschleunigung. Wir definieren für dieses Szenario eine besondere BSWDF, welche animationsbasierte Informationen nutzt, wie z.B. die Bewegung eines Objektes oder eines Knotens. Das Feedback System kann mit Hilfe dieser BSWDF den Detailgrad in sich schnell bewegenden Regionen erhöhen und in statischen Bereichen Detail entfernen. Die Operationen berücksichtigen dabei auch die Wahrnehmung von Menschen und erhalten bei einer Reduktion wichtige Informationen.
Die Verwendung von Wahrnehmung im Echtzeitrendering ist ein wichtiges Thema aktueller Forschung. Das menschliche visuelle System ist inzwischen hinreichend erforscht und gültige Computermodelle wurden entwickelt. Diese finden sowohl in kommerziellen als auch in freien Programmen anwendung, wie z.B. im Falle der JPEG-Komprimierung. In dieser Dissertation wird der TreeCut vorgestellt, welcher das LOD eines Objektes, unabhängig von seiner Repräsentationsart, dynamisch und kontinuierlich anpassen kann. Spezifische Level müssen hierbei nicht bereitgestellt oder vorberechnet werden. Zusammen mit der Identifikation von wichtigen Regionen durch die BSWDF, wird eine wahrnehmungsbasierte Auswertung eines Objektes ermöglicht. Im Gegensatz zu bisherigen Salienzmodellen, werden innerhalb der BSWDF explizit 3d Daten genutzt. Ein Teil der zu berechnenden Informationen kann ausgelagert werden, um die dafür benötigte Rechenzeit während des Renderings und während der Berechnung der BSWDF zu sparen. Diese oberflächenspezifischen Informationen können innerhalb eines beliebigen Beleuchtungsszenarios eingefügt werden Das Feedback System, bestehend aus dem TreeCut und der BSWDF, optimiert dabei die Darstellung. Diese Optimierung ist nicht nur auf visuelle Eigenschaften beschränkt. Wir konnten mit einem Prototypen interaktives Rendering erzielen und haben die Ergebnisse des Feedback Systems mit Hilfe von Benutzerstudien validiert. Jedoch beschränkt sich das vorgeschlagene System nur auf spezifische Aspekte des wahrnehmungsbasierten Renderings und weitere Forschung in dem Bereich ist nötig, um noch mehr Nutzen aus den Wahrnehmunginformationen ziehen zu können.
Tags
Rendering, Perception, Data Structure, Physics