Diplomarbeit

Motivation

In meiner Diplomarbeit bespreche und analysiere ich Algorithmen zur zweidimensionalen Textursynthese. Dabei werden zwei unterschiedliche Ansätze der prozeduralen Textursynthese - die Pixel-Based sowie die Patch-Based Methode - näher untersucht. Der erste Ansatz wurde von Wei-Levoy vorgeschlagen, der zweite von Liang et al. Es gibt weitere zahlreiche Methoden, um Texturen auf prozeduralem Wege zu generieren, wobei ich jedoch nur auf die bereits Erwähnten näher eingehen werde.

Die (heute) aktuellen Computerspiele nutzen zum Beispiel die Technik des so genannten Texture-Mappings. Dadurch soll der visuelle Realismus bei Computerspielen oder bei wissenschaftlichen Simulationen (z.B. in der Physik und der Biologie) verbessert werden. Es gibt aber auch Situationen, in denen das Texture-Mapping unzureichend ist. In solchen Fällen kann man auf prozedural erzeugte Texturen zurückgreifen. Ein Ziel von Algorithmen der Textursynthese ist es, eine möglichst realistisch wirkende Textur in möglichst kurzer Zeit zu generieren. Manche Ansätze legen dabei eine (viel) kleinere Eingabe-Textur zu Grunde und erzeugen auf deren Basis eine (sehr) große Ausgabe-Textur. Die hier besprochenen Methoden greifen diesen Ansatz auf.

Der Ansatz, der auf einer Eingabe-Textur aufsetzt, verwendet kleine Bereiche statistischer bzw. stochastischer Eigenschaften und/oder markante strukturelle Teile dieser Eingabe-Textur. Als Ergebnis des Synthese-Prozesses erhält man eine Ausgabe-Textur, die diese Eigenschaften der Eingabe-Textur (mehr oder weniger gut) widerspiegelt. Die Größe der Ausgabe-Textur kann dabei beliebig groß gewählt werden (mit Rücksicht auf Speicher- und Rechenkosten). Ein weiterer Vorteil der Textursynthese besteht darin, dass die Ausgabe-Texturen keine visuellen Wiederholungen ("Kacheln") enthalten bzw. dieser Effekt stark reduziert werden kann. Ein guter Algorithmus sollte daher in der Lage sein, aus einer großen Menge unterschiedlichster Eingabe-Texturen möglichst ähnliche Ausgabe-Texturen zu erzeugen. Dabei sollte er ein Minimum an Rechenzeit benötigen sowie unerwünschte Artefakte in der Ausgabe-Textur verhindern (oder zumindest reduzieren).

Download

Die Diplomarbeit kann hier als PDF heruntergeladen werden: Texture Synthesis (~2.8Mb)

Beispiele

Nachfolgend werden einige Beispiel-Texturen, bezogen auf die untersuchten Ansätze, aufgelistet. Die Ausgabe-Texturen wurden mittels des von mir entwickelten Renderers generiert.
Die kleineren Texturen sind jeweils die Eingabe-Texturen mit einer Größe von 64x64 Pixel. Die größeren Texturen sind die - aus den Eingabe-Texturen - generierten Ausgabe-Texturen mit einer Größe von 128x128 Pixel.

Beispiele, die mittels des Pixel-Based Ansatzes gerendert wurden:
 
 
Beispiele, die mittels des Patch-Based Ansatzes gerendert wurden: