Archiv


Perfekte Gestalt-Verwandlung

Geschmeidig verwandeln sich Gesichter - von alt nach jung, von Mann in Frau, von Tier in Mensch. Solche Computeranimationen, bei denen Bilder ineinander verschmelzen und ständig neue Formen bilden, nennt man Morphing. Kaum ein Computer- oder Videospiel verzichtet auf diese Technik. Morphing zählt damit zu den wichtigsten Forschungsgebieten innerhalb der Computeranimation. Auch die Technische Universität Darmstadt entwickelt solche Technologien und imponiert mit neuen Verfahren.

31.05.2003
    Von Mirko Smiljanic

    Dass Michael Jackson mit seinen Musik-Videos Popgeschichte geschrieben hat, ist zumindest seinen Fans klar; dass er nebenbei auch ein bisschen Computergeschichte geschrieben hat, wissen aber nur Eingeweihte. Dabei wimmelt es in seinen Filmen nur so von Special Effects: Kontinuierlich, unmerklich und glatt verschmelzen etwa Gesichter ineinander, die Computeranimation zieht alle Register. Das Morphing von Gesichtern zählt noch zu den einfachen Übungen. Zwischen beide Objekten - also beiden Gesichtern - stellt der Informatiker mathematische Beziehungen her, so dass sich Augen auf Augen, der Mund auf den Mund uns so weiter beziehen. Wandelt sich nun Gesicht A in Gesicht B, verändern sich immer nur die jeweiligen Bezugspunkte der Augen, des Mundes und so weiter.

    Schwieriger ist das Ganze, wenn man im Rechner tatsächlich dreidimensionale Objekte repräsentiert hat, die sind meistens repräsentiert als eine Menge von kleinen Dreiecken, das kennt vielleicht der eine oder andere als Drahtgittermodell, auch da muss man wieder eine Abbildung finden von entsprechenden Dreiecken, Punkten, Knoten in diesem Dreieckmodell, so dass in diesen beiden Drahtgittermodellen gleiche Merkmale auch gleich repräsentiert sind.

    Auch in diesem Fall - sagt Marc Alexa, Juniorprofessor für diskrete geometrische Modellierung an der TU Darmstadt - werden zunächst Beziehungen hergestellt zwischen Objekt A und Objekt B - zwischen sagen wir einem Gesicht und einem Auto. Hier Korrespondenzen zu knüpfen, ist schwer, weil sie nicht plausibel sind. Wenn Augen in Augen verschmelzen, wirkt dies ästhetisch, verschmelzen Augen mit Kotflügeln, sieht das weniger schön aus. Neben diesem Korrespondenzproblem beschäftigt Informatiker aber noch das so genannte Pfadproblem. Beim Pfadproblem geht es um den Weg, den Objekt A und Objekt B nehmen müssen, um unmerklich ineinander überzugehen. Der kürzeste Weg ist dabei selten der beste, außerdem spielt das Volumen der Objekte eine Rolle, wie Marc Alexa am Beispiel eines sich bewegenden Armes erklärt.

    Man stellt das ganze Volumen dar durch ne Menge in dem Fall nicht durch kleinen Dreiecken auf der Oberfläche, sondern kleinen Volumenelement innerhalb der Arme und versucht nun Pfade zu finden, so dass sich die Volumenelemente als Menge möglichst wenig deformieren. Dazu muss man ein Maß für die Deformation finden und dann eben dieses Maß minimieren mit numerischen Methoden.

    Je konstanter das Volumen bleibt, desto glatter wirken die Übergänge. Im Grundsatz sind diese Probleme gelöst, leider nur erfordern die entsprechenden Software-Lösungen häufig leistungsstarke Rechner. Auch hier suchen die Mitarbeiter um Marc Alexa neue Wege. So definieren sie zunächst einmal ein normal dreinschauendes Gesicht als erste Achse,...

    ...genauso kann ich auf einer zweiten, dritte, vierten usw. Achse angeben, um wie viel Prozent spricht das Gesicht gerade ein A oder ein E oder zwinkert oder sonst was macht, das heißt ich kann dann einfach durch Angabe von Prozentwerten das Gesicht beschreiben. Zum Beispiel lächelt das Gesicht zu 30 Prozent und zu 20 Prozent spricht es gerade ein A und zu 50 Prozent spricht es gerade ein E.

    Dies ist eine ausgesprochen ökonomische Beschreibung eines Gesichtsausdrucks. Wer also Gesicht A mit Gesicht B verschmelzen will, das mit den Augen zwinkert und "ohhh" sagt, gibt nur noch Prozentwerte an: Unendliche viele Informationen reduzieren sich so auf einige wenige. Reduktionen haben allerdings immer den unangenehmen Nebeneffekt, dass die Qualität der Resultate sinkt.

    Das ist auch hier so! Man schränkt sich dabei ein, man muss sich entscheiden - um beim Beispiel des Gesichts zu bleiben, wie viele kanonische Gesichtsausdrücke möchte ich verwenden - die kann ich dann verwenden - aber damit schränkt man eben die mögliche Variation von Gesichtsausdrücken von vorn herein ein. Man kann so zusagen wählen dazwischen mehr Daten zu verwenden und das Gesicht genauer zu beschreiben oder weniger Daten zu verwenden und das Gesicht ungenauer zu beschreiben.

    Idealerweise sind die Methoden über einen schlichten Regler skalierbar: Der Nutzer dreht einen Knopf und bestimmt so, ob er Zeit und Rechenleistung einsetzen will zugunsten eines präzisen Übergangs der Gesichter, oder ob die grobe - dafür aber schnelle - Variante reicht. Entscheiden ist in vielen Fällen die Leistung des Computers.

    Das ist der Grundgedanke dieser skalierbaren Beschreibungen, dass man nicht wissen kann, auf welchen Rechnern die Sache dann letztlich ausgeführt wird. Deshalb möchte man die Beschreibung so allgemein haben, dass sie letztlich auf schwachen wie auf leistungsfähigen Rechnern gut durchführbar ist. Also die Idee bei diesem Projekt mit den Gesichtern war, dass man von einem sehr leistungsfähigen Rechner bis hinunter zu einem PDA immer die gleiche Repräsentation hat, die eben so anpassungsfähig ist, dass sie auf jedem dieser Geräte funktionieren wird.