MIAV1: Praktikum Active Models
Prof. Dr. W.
Konen
Stand: Okt.
2006
Active Shape Models: Will man in der Bildverarbeitung
deformierbare Objekte (Gesichter, Hände, medizinische Aufnahmen) beschreiben, so
kommt man mit starren Modellen nicht sehr weit. Shape Models sind flexible
Konturen oder Formen (Form = shape), die "lernen", in welche Richtung
sie sich leicht / schwer deformieren lassen. Active Shape Models
sind Modelle, die sich automatisch auf ein vorgegebenes Bild anpassen.
Active Appearance Models: Weiterentwicklung der ASMs: nicht
nur die Form, sondern auch die Textur, d.h. die Grauwertverteilung (Aussehen =
appearance) wird gelernt. Hierdurch lassen sich mit nur wenigen Parametern aus
einem Modell eine Vielzahl von Bildinstanzen erzeugen. Anwendungsfelder:
Gesichtsmodellierung, -findung, z.B. Tracking bei Videotelefonie, Übertragung
von Gesichtsmimik auf Avatare, Eye Tracking, modellbasierte Registrierung in
medizinischen Bildern.
ASMs / AAMs praktisch erfahrbar machen, erste Erfahrungen sammeln, wobei der volle mathematisch-theoretische Hintergrund erst später in der Vorlesung / in der Seminararbeit aufgebaut wird.
Generell gilt: Sie werden mit diesem Praktikum ins "kalte Wasser" geschmissen, indem Sie mit Modellen AAM / ASM operieren, deren genaue Funktionsweise Sie (noch) nicht kennen. Trotzdem kann man aber erstmal damit arbeiten, wobei sich naturgemäß im Detail zahlreiche Fragen auftun werden. Fragen ist aber der Beginn wissenschaftlichen Arbeitens, deshalb sehr wichtig. Also: Schreiben Sie die Fragen, auf die Sie stoßen, praktikumsbegleitend auf, wir werden versuchen, sie in den Besprechungen aufzugreifen.
Ziel des Praktikums ist es nicht zuletzt, Interesse zu wecken: "Aha, jetzt weiss ich ungefähr, was ein AAM kann. Ist ja ganz erstaunlich. Jetzt will ich auch verstehen, wie es genauer funktioniert". Oder: "Ich will besser verstehen, was die einzelnen Modellparameter bedeuten und wie sie zusammenwirken". Diese Aspekte sollten dann in der sich anschließenden Vorlesung und den Seminararbeiten aufgegriffen werden.
Ein Shape Model ist ein Drahtgittermodell (Graph), bestehend aus Knoten
und Kanten, wobei die Kanten in der Nähe markanter Strukturen (Grauwertkanten)
des Bildes verlaufen sollten.
Um ein solches Modell zu bauen, muss man zunächst definieren, aus
welchen Punkten das Modell bestehen soll und wie diese zusammenhängen (gelbe
Linien).
Ziel: Aufbau eines Modells der Augen von Tim Cootes.
Hierzu nehmen wir drei (beliebige) Gesichtsbilder C:/Program Files/am_tools/images als Basis-Bildmaterial (Wieso nur 3? - Um uns erstmal mit der grundlegenden Funktionsweise der Tools vertraut zu machen. Später werden wir das Modell auf 10 Bilder erweitern, dadurch wird es flexibler und robuster)
Schritt 1: Folgen
Sie den Schritten, die in am_tools_doc/model_building_from_scratch.html
"Annotate the first image"
detailliert beschrieben sind. Anmerkungen:
Das Ergebnis sollte etwa wie folgt aussehen:
Schritt 2: Bauen Sie ein erstes (Shape) Modell mit am_build_apm eye3 und am_build_aam eye3.
Schritt 3: Folgen Sie den Schritten, die in am_tools_doc/model_building_from_scratch.html, "Annotate further images" detailliert beschrieben sind, startend mit am_markup eye3. Anmerkungen:
·
Startposition für
Modell (gelbe Linien) transformieren: Move All und ReMaus: Man kann die gesamte Kontour
vergrößern und drehen (praktisch, wenn sich das Modell beim Search mal auf
einen Punkt zusammengezogen hat). Move All und LiMaus: alle Punkte verschieben.
·
Sie müssen
einzelne Modellpunkte anfassen und auf korrespondierende Stellen bringen, sonst
lernt das Modell nichts
Schritt 4: Bauen
Sie das (Shape) Modell erneut mit am_build_apm
eye3 und am_build_aam eye3.
Hierdurch lernt das Modell, welche Variationen / Deformationen an der Drahtgitterkonfiguration auftreten können: Es ist z.B. eher unwahrscheinlich, dass ein Auge nach unten, das andere nach oben geht; ein Hochziehen der Augenbrauen (zusammen oder einzeln) kann aber vorkommen. Das Modell lernt dieses, wenn Bilder mit hochgezogenen Augenbrauen im Datenmaterial enthalten sind.
Schritt 5: Betrachten des Shape Modells mit am_view_shape_model eye3 (grüne Linien auf schwarzem Grund). Das Ergebnis sollte in etwa wie folgt aussehen:
In der Mitte ist der Durchschnitts-Shape (Mean Shape). Jeder Mode stellt eine Deformierung in einer bestimmten "Richtung" dar, dabei ist Mode 1 der wichtigste, Mode 2 der zweitwichtigste usw. Links und rechts sind die Abweichungen dieses Modes dargestellt, nämlich wenn man vom Mean Shape 250% in negative "Richtung" bzw. in positive "Richtung" geht.
Beispiel: Wäre "Richtung" = "Augenbrauen hoch", dann stünde links ein Bild mit Augenbrauen tiefer als im Mean Shape, rechts ein solches mit Augenbrauen höher.
Schritt 6: Mit dem Modell die Augenpartie in neuen Bildern suchen gehen: einen File data_todo.smd mit den neuen Bildern vorbereiten, dann am_markup eye3 und Load Image Set ... data_todo.smd. Für jedes Bild kann man (fallweise) die initale Lage des gelben Shapes anpassen, dann mit File – Search oder Props – Search die Suche starten.
Idealerweise findet das Modell, auch von weit entfernten Startwerten, die Augenpartie zielgenau in ihrer jeweiligen intrinsischen Deformation. Real wird das kleine Spiel-Modell mit nur 3 Gesichtern natürlich weit hinter diesem Ideal zurückbleiben.
Hypothese: Ein Shape Modell der Augenpartie basierend auf 10 Gesichtsbildern ist flexibler und robuster als ein auf nur 3 Gesichtsbildern basierendes Modell.
Ziel: Sie sollen eine wissenschaftliche Untersuchung durchführen, die diese Hypothese durch Experimente mit quantitativen Ergebnissen stützt oder falsifiziert. Design der Experimiente und Darstellung der Ergebnisse gehören mit zu Ihren Aufgaben.
1. Design des Experimentes: Entwickeln Sie Kriterien, nach denen Sie "flexibel" und "robust" bewerten wollen! (gut sind auch mehrere alternative Kriterien)
1.1. Anforderung an Kriterien:
1.1.1. (quantitativ) meßbar,
1.1.2. reproduzierbar,
1.1.3. zielgenau
2. Konzipieren Sie den Experimentablauf, um diese Kriterien messen!
2.1. Aspekte:
2.1.1. Wie erreicht man Reproduzierbarkeit, also wiederholbare Anfangsbedingungen?
2.1.2. Wie stellt man aber auch sicher, dass man den Datenraum voll exploriert, also nicht ein Ergebnis erhält, das bei Variation einiger für die Hypothese nicht relevanter Parameter ganz anders ausfiele?
2.1.3. Genau welche Experimente sind mit wieviel Durchläufen geplant?
2.1.4. Welches Datenmaterial nehmen Sie bei welchen Schritten?
2.1.5. Was müssen Sie, um die Ergebnisse auszuwerten?
2.1.6. Ist also der Aufwand beherrschbar?
3. Konzipieren Sie Darstellungsformen, mit denen man die aus den Experimenten erhaltenen Ergebnisse in einem Technical Report visualisieren kann!
3.1. Aspekte: Tabelle, Diagramm, Beschreibung, Diskussion, ...
4. Schreiben Sie das so erhaltene Konzept in 2 bis 5 Seiten auf und diskutieren Sie es mit dem Betreuer.
5. Führen Sie erst jetzt die Experimente in voller Breite durch!
6. Dokumentieren und diskutieren Sie die Ergebnisse im Bericht.
Ein Appearance Model lernt nicht nur die Deformierbarkeit
korrespondierender Punkte, sondern darüber hinaus auch den Grauwertverlauf
"dazwischen". Es ist daher möglich, aus den Modellparametern nicht
nur "Drahtgitter" sondern ganze Objektbilder zu generieren bzw. zu
rekonstruieren.
Ziel: Sie sollen hier das Appearence-Modell für ein Gesicht aus einer Reihe von 8 Bildern aufbauen, visualisieren und testen.
Schritt 1 - 4: in analoger Weise durchzuführen wie die Schritte 1 – 4 aus Task 1.
Schritt 5: Betrachten des Appearance Modells mit am_view_aam face8. Das Ergebnis sollte in etwa wie folgt aussehen:
Schritt 6: Generieren eines Gesichtsbildes aus wenigen Modellparametern: Man benutze das Tool am_make_image (s. doc\am_make_image.html). Was erhält man, wenn man alle Koeffizienten in data_file auf 0.0 setzt?
TIPP: bei Abweichung von 0.0 nicht so große Zahlen (99.0) verwenden wie in doc\am_make_image.html, sondern eher Werte im Bereich -0.5 ... 0.5.
Ist es nicht erstaunlich, mit wie wenig Parametern man aus dem Modell Gesichtsbilder generieren kann, die verschiedene, realitätsnahe Mimikausdrücke der Person wiederspiegeln? Das ist der wichtige Aspekt des Modellbaus: In der Lage zu sein, durch wenige Parameter relativ komplexe Vorgänge bzw. Gegebenheiten zu beschreiben. |
dieser Teil wird im Laufe der ersten
Semesterwochen noch genauer ausgeführt –
Grobe Beschreibung
ZIEL:
AUFGABEN:
General literature
on Modelling in Computer Vision
General introduction to Eigenvalue, PCA
Introductory
and more advanced literature on ASM (Active Shape Models) and AAM (Active
Appearance Models)
Sprechstunde Kg Di, 10:15-11:00
Fon Kg - 275
Raum Kg A2603
[1] Um die Knoten-Nr. im Bild zuordnen zu können, kann man im am_markup-Tool "Props – Graphics– Show Model Point Numbers" einstellen.