von Tim Sternberg Im Rahmen des Seminars Manipulation und Verarbeitung digitaler Bilder
Einleitung Mit Morphing wird der fließende Übergang eines Bildes in ein anderes bezeichnet. Zwei digitale Bilder können mit Hilfe vieler verschiedener Verfahren elegant in einander überführt werden. Durch diese Technik sind atemberaubende Effekte in Filmen möglich geworden. Beispiele hierfür sind der Film Willow oder Jekyll And Hyde. Im Folgenden werde ich mich mit vier Verfahren befassen: Cross-dissolve, Mesh Warping, Field Morphing und Multilevel free-form deformation. Dabei werde ich beschreiben, wie jedes Einzelne funktioniert und wo die Vor- und Nachteile der jeweiligen Verfahren liegen. Morphing allgemein Zum morphen zweier digitaler Bilder muss zunächst die Form des Ausgangsbildes (I S ) in die des Zielbildes (I T ) transformiert werden. Dazu legt der Benutzer korrespondierende Punkt-, Linien- oder Polylinienpaare in beiden Bildern fest. Diese Paare sollten an möglichst markanten Punkten, wie zum Beispiel Augen oder der Nase, platziert werden um einen möglichst günstigen Übergang zu erzeugen. Als nächste Phase der Transformation führt der Computer die warp generation durch. Hierbei werden die Punkt-Koordinaten des Quellbildes mittels der warp function in die des Zielbildes überführt. Die warp function ist eine mathematische Funktion, die die diese Verschiebung bestimmt. Je nach Vorgabe werden eine bestimmte Anzahl Zwischenbilder erzeugt, bei denen die Transformation mehr oder weniger weit fortgeschritten ist. Die Farbwertinformationen werden aus dem vorhergehenden Bild mittels der warp function berechnet. Es entsteht also eine Reihe von Bildern, die mehr und mehr die Form des Zielbildes annimmt, dabei aber die Farben des Ausgangsbildes beibehält. Abb. 1 zeigt ein Beispiel dazu. Abb. 1: Transformation mittels Multilevel free-form deformation (I S I T ) Im zweiten Schritt wird das Zielbild als Ausgangspunkt genommen und zum Ausgangsbild hin transformiert. Es wird mittels der inversen warp function bearbeitet, was eine Reihe mit der gleichen Topologie wie im ersten Schritt erzeugt. Die Farbinformationen stammen in dieser Reihe jedoch aus dem Zielbild (Abb. 2). Abb. 2: Ebenfalls MFFD, aber I S I T Seite 2
Als drittes werden die Farbwerte von Bildern gleicher Topologie mit unterschiedlichen Wertigkeiten gemittelt (Abb. 3). Bei wie in diesem Beispiel fünf Bildern wird also im ersten Bild die Farbinformation des Ausgangsbildes genommen. Im zweiten Bild wird 75% des Bildes in der ersten Reihe und 25% des Bildes in der zweiten, usw. Abb. 3: Reihe nach Interpolation der Farbwerte Cross-dissolve Cross-dissolve ist die einfachste Methode des Morphens und die einzige, die auch analog durchgeführt werden kann. Beim Cross-dissolve wird lediglich ein Bild in ein anderes Übergeblendet, ohne die Form zu verändern. Dies ist analog möglich indem man gleichzeitig die Helligkeit eines Films verringert, während man die des zweiten erhöht. Digital wird der Effekt durch Interpolation der Farbwertinformation mit verschiedenen Wertigkeiten erzeugt (Abb. 4). Die warp function ist, da ja die Form nicht verändert wird, die Identitätsabbildung. Abb. 4: Cross-dissolve Beispiel (Abb. 5): 5 Bilder sollen erzeugt werden, d.h. 4 Farbübergänge, also erfolgt die Abstufung in 25% Schritten. Es wird der Einfachheit halber nur der Rotkanal von Pixel (0,0) betrachtet: I S = 252, IT = 000 252*1+0*0 =252 252*0,75+0*0,25 =189 252*0,5+0*0,5 =126 252*0,25+0*0,75 =63 252*0+0*1 =0 252 189 126 063 000 000 063 126 189 252 Abb. 5: Cross-dissolve Seite 3
Mesh Warping Das Mesh Warping kann als erste echte Form des Morphing bezeichnet werden. Es wurde zum ersten mal 1988 von Industrial Light & Magic in dem Film Willow genutzt. Beim Mesh Warping wird als Korrespondenz ein Maschennetz über beide Bilder gelegt. Dieses muss vom Benutzer auf die Konturen des Bildes angepasst werden. Während der warp generation verschiebt der Rechner die Ecken der Maschen gleichmäßig von der Position im Ursprungsbild zu der im Zielbild. Von Bild zu Bild verformen sich also die einzelnen Maschen. Nun kann mit Hilfe mathematischer Verfahren jeder Punkt in der verformten Masche aus der vorhergehenden Masche berechnet werden. Diese Transformation findet, wie am Anfang beschrieben in beide Richtungen statt. Es entstehen zwei Reihen (Abb. 6 oben und unten). Danach werden die Farbwerte der beiden Reihen interpoliert (Abb. 6 mitte). Abb. 6: Mesh Warping Durch die Vorgabe eines Netzes ist Mesh Warping sehr übersichtlich. Wenn die Maschenstruktur ausreichend fein gewählt wird, können mit diesem Verfahren gute Ergebnisse erzielt werden. Aber auch schon bei recht großen Maschen ist der Effekt meistens recht ansehnlich. Es ist jedoch zu bemerken, dass der Arbeitsaufwand für den Benutzer erheblich wächst, wenn die Maschenstruktur feiner wird. Field Morphing Der Vorteil von Field Morphing liegt darin, dass nur einzelne Linien gesetzt werden, statt eines ganzen Netzes. Während der warp generation werden die Endpunkte der Linien zu ihren Äquivalenten im Zielbild verschoben. Die warp function berechnet nun den kürzesten Abstand eines Pixels zur Linie. Dazu können folgende Formeln verwendet werden: Seite 4
In Gleichung (1) wird zunächst über das Skalarprodukt der Vektoren PX auf den Vektor PQ projiziert. Nach einfachem Normieren erhält man also den Vektor, der von P beginnend auf den Punkt zeigt an dem der geringste Abstand zwischen der Linie und dem Punkt X besteht. Dieser Vektor wird noch einmal mit der Länge des Vektors PQ normiert. Dadurch erhält man für u einen Wert zwischen 0 und 1, wenn X neben der Linie liegt. Genauso wird in Gleichung (2) der Vektor PX auf die Senkrechte (Perpendicular) von PQ projiziert und normiert. Die quadratische Normierung erfolgt nicht, sondern es wird mit PQ und P Q normiert. Anscheinend wird so ein besseres Ergebnis erzielt. Addiert man nun auf den Punkt P im Ursprungsbild u mal den Vektor P Q und v mal den Senkrechten Vektor zu P Q erhält man den Punkt X (Gleichung 3). X im Ursprungsbild entspricht daher X im Zielbild, also wird an die Stelle X die Farbinformation von X geschrieben. Diese Berechnung ist in Abb. 7 für den Fall 0<u< Q-P grafisch dargestellt. Abb. 7: Field Morphing mit 1 Linie Mit nur einer Linie eignet sich Field Morphing zur Rotation, Translation oder zur Skalierung einer Koordinate: Abb. 8: Rotation, Translation bzw. Skalierung mit Field Morphing Seite 5
Richtiges Morphing erzielt man mit dem Field Morphing jedoch erst, wenn mehr als eine Linie verwendet wird. Dabei wird für jedes Pixel X im Zielbild die oben angegebene Rechnung für jede Linie durchgeführt. Dann wird für jedes X der Vektor berechnet, der von X auf X zeigt (D = X X). Diese Vektoren werden mit einer Gewichtung, die von der Länge der Linie und der Entfernung zu X abhängt, multipliziert und aufaddiert. Der Ergebnisvektor wird durch die Summe der Gewichtungen geteilt und es wird der Ortsvektor von X hinzuaddiert. Die Farbinformation, die an diesem Punkt steht wird nun an die Stelle X im Zielbild geschrieben. Abb. 9: Field Morphing mit zwei Linien Bei der Anwendung fällt jetzt jedoch auf, dass mit zwei Linien keine Skalierung mehr möglich ist ohne das Bild zu verzerren (Abb. 10). Abb. 10: Der Versuch ein Bild mit Field Morphing mit zwei Linien zu skalieren Der Vorteil des Verfahrens ist der meist geringere Aufwand für den Benutzer, da nur wenige Linien, statt eines ganzen Netzes platziert werden müssen. Allerdings kann es passieren, dass Fehler auftreten, so dass weitere Linien zum Ausgleich platziert werden müssen. Zusätzlich ist der Rechenaufwand um einiges größer als beim Mesh Warping, weil ja jedes Pixel in Bezug zu jeder Linie berechnet werden muss. Während beim Mesh Warping die Zeitkomplexität unabhängig von der Anzahl der Maschen konstant ist, ist sie beim Field Morphing proportional zur Anzahl der Linien. Seite 6
Multilevel free-form deformation Die Multilevel free-form deformation ist die Methode, die von den hier vorgestellten wohl die Beste ist. Je nach Implementierung können alle einfachen Formen, wie Punkte, Linien, Polylinien oder auch Kurven als Referenz benutzt werden. Der Algorithmus berechnet daraus eine C2-stetige, also zweimal stetig differenzierbare, warp function. Die Methode ist also einfach handhabbar, bei mittlerem Zeitaufwand. Die Programmierung und die mathematischen Funktionen, die genutzt werden sind hingegen deutlich komplexer. Abb. 11 Multilevel free-form deformation Transition Control Mit Transition Control wird die Möglichkeit bezeichnet in den zeitlichen Ablauf des Morphingvorganges einzugreifen. Bisher war der Zeitablauf jeder vorgestellten Methode linear. Es ist jedoch möglich das morphen eines Bildes zeitweise schneller oder langsamer ablaufen zu lassen. Ebenso können bestimmte Teile des Bildes schneller verändert werden, während andere sich langsam oder gar nicht verformen. In Abb. 12 sieht man deutlich, wie bis zur Hälfte des Morphingvorganges die Kopfform des Mannes nicht verändert wird. Andererseits ist die Nase nach dem dritten Bild fertig verändert und eingefärbt. Es wird also auch die Farbinterpolation beeinflusst. Diese Anwendung der Transition Control wird im Englischen nonuniform metamorphosis genannt. Seite 7
Abb. 12: MFFD mit nonuniform metamorphosis Anwendungen Wie in der Einleitung erwähnt findet das Morphing Anwendung in Filmen, wenn eine Person oder ein Objekt sich verwandeln soll. Zusätzlich wird es heute auch in der Animationstechnik genutzt. Anstatt wie beim Zeichentrick jedes Frame einzeln zu erzeugen werden zum Teil nur die Key-Frames generiert. Durch geschicktes Morphen zwischen den Einzelbildern kann nun ein flüssiger Film erzeugt werden. Eine weitere Anwendung ist der Polymorph, bei dem aus mehreren Einzelbildern ein Zielbild erzeugt wird. So sind in Abb. 13 in der linken Spalte Abbildungen von drei Mädchen zu sehen. Das rechte Bild zeigt eine Kombination aus den Haaren des oberen, der Augen und Nase des mittleren und des Mundes und Kinns des unteren Bildes. Abb. 13: Polymorph Seite 8