Technische Universität Dresden Fakultät Forst-, Geo- und Hydrowissenschaften Institut für Photogrammetrie und Fernerkundung Professur für Photogrammetrie Studienarbeit am Institut für Photogrammetrie und Fernerkundung zum Thema: Implementation und Validierung von Templateupdate-Strategien in der Bildsequenzanalyse Institut für Photogrammetrie und Fernerkundung Professur für Photogrammetrie Prof. Dr. habil. Hans-Gerd Maas Marc Schulze Geodäsie, 2004 Matrikelnummer: 3108026 Betreuer: Dipl.-Ing. Patrick Westfeld Dresden, November 2008 Inhaltsverzeichnis Abbildungsverzeichnis iii Tabellenverzeichnis v Abkürzungsverzeichnis 1 2 Einführung 1 1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Zielsetzung 2 1.3 Zusammenhänge 1.4 Hardware 1.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Grundlagen 5 2.1 Blickrichtungsmessmethoden . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1.1 Elektrookulogramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.1.2 Kontaktlinsenmethode . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.1.3 Cornea-Reex-Methode . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1.4 Video-Okulographie (VOG) . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1.5 Zusammenfassung Blickrichtungsmethoden . . . . . . . . . . . . . . . 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2 3 vii Tracking Algorithmen 2.2.1 Kreuzkorrelation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2.2 Least Squares Matching (LSM) . . . . . . . . . . . . . . . . . . . . . . 11 Programmstufen 3.1 3.2 17 Programmstufe Kreuzkorrelation . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.1.1 Kein Templateupdate . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.1.2 Permanentes Templateupdate . . . . . . . . . . . . . . . . . . . . . . . 20 3.1.3 Kreuzkorrelation mit bedingtem Templateupdate . . . . . . . . . . . . 21 3.1.4 Ergebnis Kreuzkorrelation . . . . . . . . . . . . . . . . . . . . . . . . . 26 Programmstufe Least Squares Matching . . . . . . . . . . . . . . . . . . . . . 28 ii 4 Inhaltsverzeichnis 3.2.1 Kein Templateupdate . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.2.2 Naives Templateupdate . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.2.3 Templateupdate mit Driftkorrektur . . . . . . . . . . . . . . . . . . . . 33 3.2.4 Ergebnis Least Squares Matching . . . . . . . . . . . . . . . . . . . . . 34 Zusammenfassung der Ergebnisse und Ausblick 39 4.1 Zusammenfassung der Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.2 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Literaturverzeichnis 41 Abbildungsverzeichnis 1.1 FireWire Kamera DMK 41AF02 . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1 Head-mounted Eyetracker von [Eyelink] . . . . . . . . . . . . . . . . . . . . . 6 2.2 Remote Eyetracker nach [Tobii] . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3 Anwendung und Spannungsmessung des Elektroolulogramms. (a) Spannunsentwicklung aufgrund Blickrichtungsänderung [nach Zipp (1988)] (b) Elektrodenxierung zur horizontalen und vertikalen Blickrichtungsmessung [nach Schandry (1989)] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.4 Cornea Reexion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.5 Darstellung des Kreuzkorrelationskoezienten aus [Westfeld (2005)] . . . . . . 10 2.6 Berechnung des Kreuzkorrelationskoezienten . . . . . . . . . . . . . . . . . . 11 2.7 Visuelle Darstellung des Kreuzkorrelationskoezienten . . . . . . . . . . . . . 12 2.8 Verbesserung der Antransformationsparameter mit MKQ . . . . . . . . . . . 15 3.1 Auge auÿerhalb der Region of Interest (ROI) durch schnelle Kopfbewegung . 18 3.2 fehlerhafte Augendetektion durch Überlagerung der ROI . . . . . . . . . . . 19 3.3 Ablauf des Matchings ohne Templateupdate . . . . . . . . . . . . . . . . . . . 19 3.4 Drift des Patches bei statischem Template . . . . . . . . . . . . . . . . . . . 20 3.5 Ablauf des Matchings mit Templateupdate . . . . . . . . . . . . . . . . . . . . 20 3.6 Drift des Augentemplates bei Lidschluÿ 21 3.7 Histogramm des Augentemplates mit dynamisch erzeugtem Schwellwert 3.8 Binärisierung der ROI 3.9 Wahl der Fixpunkte . . . . . . . . . . . . . . . . . . . . . . . . 22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.10 Gröÿenveränderung der ROI in Abhängigkeit der Fixpunktentfernung . . . . . 26 3.11 Ablauf des Matchings mit Templateupdate unter gegebenen Bedingungen . . 27 . . . . . . . . . . . . . 30 3.12 Drift des Patches bei zu groÿ gewählter Iterationszahl 3.13 Drift des Templates nach wenigen Bildern bei kleiner Templategröÿe . . . . . 30 3.14 Vertrauensbereich . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.15 Problem beim Matching des nicht aktuellen Bildobjektes . . . . . . . . . . . . 32 3.16 Drift des Strategie mit naivem Templateupdate . . . . . . . . . . . . . . . . . 33 iv Abbildungsverzeichnis 3.17 Verteilung der normierten Parametervektoren . . . . . . . . . . . . . . . . . . 35 3.18 schnelle Blickrichtungsänderung in zwei aufeinanderfolgenden Bildern . . . . . 36 3.19 Vergleich der Matchingergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.20 Konvergenzverhalten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.1 40 Erweiterungen für Eyetrackingsysteme von [InteractiveMinds] . . . . . . . . . Tabellenverzeichnis 1.1 Kameraparameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.1 Erfolgreich gefundene Augen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.2 Driftkorrektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 vi Tabellenverzeichnis Abkürzungsverzeichnis 3D . . . . . . . . . . . . . Dreidimensional CCD . . . . . . . . . . . Charge-coupled Device d.h. . . . . . . . . . . . . das heiÿt LSM . . . . . . . . . . . Least Squares Matching (dt. Kleinste Quadrate Anpassung) MKQ . . . . . . . . . . Methode der kleinsten Quadrate OpenCV . . . . . . . Open Source Computer Vision Library ROI . . . . . . . . . . . . Region Of Interest (dt. Region von Interesse) VOG . . . . . . . . . . . Video-Okulographie viii Abkürzungsverzeichnis 1 Einführung Betrachtet man die menschlichen Fähigkeiten, so sind die Augen- und Blickbewegungen des Menschen, neben verbalen und motorischen Handlungen, die einfachsten Akte des Menschen. Die Registrierung der Augenbewegungen läÿt sich mit den unterschiedlichsten Methoden realisieren. Sie reichen vom analogen System wie dem Elektrookulogramm bis zur Videobasierten Erfassung. Die Geschichte des Eyetracking beginnt nach [Bente (2004)] mit der Erforschung des Leseverhaltens. Da das menschliche Auge nur in kleinen Bereichen scharf sehen kann, muss es immer wieder neu ausgerichtet werden. Diese Blickrichtungsänderung gibt Informationen darüber was sich der Proband betrachtet und wie lange. Neben den Erkenntnissen zu kognitiven Verarbeitungsprozessen, kann dies auch zur kommerziellen Nutzung, im Speziellen zur Optimierung von visuellen Angeboten, genutzt werden. Die ersten systematischen Beobachtungen stammen aus dem Jahr 1878/79 von Emile Javal. Er bemerkte, dass die Augenbewegungen keine kontinuierlich ieÿende Bewegung ist, sondern vielmehr eine Abfolge von relativ schnellen Bewegungssprüngen des Auges. Erste direkte Messungen mit einer Apparatur stammen nach [Malchau u. a.] von Huey 1908. Um einen Kontakt und somit eine starke Beeinussung des Probanden zu verhindern entwickelten Judd und Buswell 1922 ein Messverfahren, welches die Reektionen eines Spiegels, der auf dem Auge befestigt ist und mit ein Lichtstrahl beleuchtet wird, auf einem Celluloid Film aufzeichnet. Eine Aufnahme der Augen mit einer digitalen Videokamera und deren Verfolgung ist der aktuelle Entwicklungsstandpunkt und bietet eine völlig berührungs- und beeinussungslose Erfassung. 1.1 Motivation Die Implementierung von Eyetracking-Algorithmen mithilfe von Computern und Digitalkameras ist seit den 1990 Jahren stark vorangeschritten und ist ein Teilgebiet des ComputerSehens (engl. Computer Vision). Die Nahbereichsphotogrammetrie nimmt hier mit ihren Erkenntnissen und Verfahren einen wichtigen Platz ein. Sie ist sowohl als ein Teilgebiet der optischen 3D-Messtechnik als auch der 3D-Bildverarbeitung anzusehen und berührt viele Randgebiete [Luhmann (2003)]. Durch die digitalen Aufnahmen eines passiven Sensors ist 2 1 Einführung somit eine berührungslose und simultane Erfassung eines Objektes möglich. Die hohe geometrische Auösung, welche in zukünftigen Messsystemen immer noch gesteigert wird, ermöglicht eine hohe quantitative Akquise von Punkten. Durch die variable Gestaltung und Anpassung von Bildraten ist es möglich, Bewegungen von hoher Geschwindigkeit zu erfassen. Photogrammetrische Kenntnisse helfen dabei die Qualität und Richtigkeit der Vielzahl an Messpunkten, z.B. durch eine Kamerakalibrierung, zu verbessern. Vor allem jedoch durch die Berührungslosigkeit des passiven Sensors ist eine Aufnahme der Augen, ohne den Probanden in seinem Verhalten zu beeinussen, am besten zu realisieren. 1.2 Zielsetzung Das Ergebnis des hier entwickelten Eyetracking Algorithmuses soll es sein, möglichst robust und zuverlässig die Augen bei jeglichen Bewegungen und Zuständen zu verfolgen. Fasst man die Kriterien von psychologischen Beobachtungen zusammen, so sollte der Proband während der Aufnahme seiner Augen in seinem Tun und Handeln möglichst unbeeinusst und uneingeschränkt agieren können. Kognitiv beeinusste Personen könnten das Ergebnis verfälschen, da sie auf ihre Handlungen besonders achten und eventuell einschränken. Was sollte ein ideales Messsystem leisten, damit es heutigen Anwendungen entspricht [nach Schneider und Kurt (2000)]: • kein direkter Kontakt mit dem Probanden • vom Probanden unbemerkt • uneingeschränkter Blick auf Kopf und Gesicht • hohe zeitliche Auösung • geringe Reaktionsträgheit • Kompatibilität zu Messungen von Kopf und Körperbewegungen • geringe Störeinüsse bei Grimassierungen Keine Methode kann alle Kritieren erfüllen, da sich einige gegenseitig ausschlieÿen. Vielmehr ist eine Selektion der Kriterien nach dem jeweiligen Anwendungsgebiet zu treen. 1.3 Zusammenhänge Eine Methode, die eine Vielzahl dieser Kriterien erfüllt ist das Remote Eyetracking, da hierbei die Augen mit einer gewissen Distanz zur Testperson aufgenommen werden. Geome- 3 1.4 Hardware trisch und zeitlich hochauösende Bilder der Augen, welche unbemerkt von der Testperson erstellt werden, liefern die besten Daten für eine Analyse des handelnden Menschen. Bevor jedoch eine Blickrichtungsanalyse erstellt werden kann, ist die Erkennung und Dokumentation der Blickrichtung in jedem einzelnen Bild notwendig. Hierzu müssen die Augen möglichst zuverlässig in jedem Bild gefunden und mit Bildverarbeitungsmethoden analysiert werden. Nachfolgend kann eine Trajektorie der Augenbewegungen erstellt werden. Zur Erreichung dieses Ziels wird auf 2 fundamentale Trackingalgorithmen zurückgegrien. Dies ist zum einen die Kreuzkorrelation und zum anderen die Methode der Kleinsten Quadrate Anpassung (Least Squares Matching). 1.4 Hardware Typ monochrome FireWire-Kamera Sensor CCD Auösung 1280 x 960 Pixel Dynamikbereich Bildrate 8 bit max. 15 Hz Tab. 1.1: Kameraparameter Die Aufnahme des Kopfes bzw. der Augen erfolgte einer monochromen FireWire-Kamera (DMK 41AF02) von The Image Source (Abb. 1.1). Die monochromen Aufnahmen reichen aus, um die Intensität der Augen zu erfassen, da sie bereits alle relevanten Informationen enthalten. Eine Auösung von 1280 x 960 Pixel bietet eine mehr als ausreichende Detailgenauigkeit zur Aufnahme der Augen. Mit einer Farbtiefe von 8bit lassen sich 256 Graustufen darstellen. Diese sind später für die Bildverarbeitung von groÿem Vorteil. Eine maximale Bildrate von 15Hz lässt leider nicht jede Augenbewegung schrittweise verfolgen. Hin und wieder kommt es daher zu Bewegungssprüngen, was das Verfolgen mit Templates nicht erleichtert. Abb. 1.1: FireWire Kamera DMK 41AF02 4 1 Einführung 1.5 Software Die Implementierung des Programmcodes wurde auf Grundlage der OpenCv Library erstellt. Sie stellt neben vielen anderen Bildverarbeitungsroutinen die Berechnung des normierten Kreuzkorrelationskoezienten. Der verwendete LSM-Algoritmus mit Signikanztest wurde aus der Implementation von [Westfeld (2005)] bereitgestellt. Als Programmiersprache wurde C++ im Rahmen des Visual Studios verwendet. 2 Grundlagen 2.1 Blickrichtungsmessmethoden Prinzipiell gibt es 2 verschiedene Methoden zur Blickrichtungserkennung [Malchau u. a.]. Sie unterscheiden sich in subjektive und objektive Betrachtungsweisen. Bei der subjektiven Methode, der ersten und einfachsten, beschreibt der Proband was er gesehen hat oder ein Beobachter des Probanden beschreibt die Blickrichtungen. Diese Varianten sind durch die subjektiven Eindrücke teils sehr ungenau und nur beschränkt anwendbar. Die objektiven Verfahren beruhen meist auf Messsystemen oder -geräten und liefern unverfälschte und genaue Daten zum aktuellen Zeitpunkt. In der Hardware unterscheidet man 2 Techniken. Zum einen ist dies Head-mounted Eye Tracker und Remote Eye Tracker. Beide Varianten unterscheiden sich in Geschwindigkeit und Komplexität, um an den Interpretationsgehalt der Daten zu gelangen. Head-mounted Eye Tracker (Abb. 2.1) oder am Kopf befestigte Augenverfolger besitzen nahe an den Augen befestigte Sensoren. Dies können zum einen Elektroden wie bei dem Elektrookulogramm (Kap. 2.1.1) oder zwei auf die Augen gerichtete Kameras sein. Diese haben durch eine Befestigung am Kopf (z.B. Helm) feste geometrische Position zu den Augen. Die xierten Kameras sind in einem Abstand von etwa 5cm angebracht. Die Kombination aus fester Geometrie zu den Augen und hoher geometrischer Auösung durch die Positionen der Kameras ist eine hohe Genauigkeit der Blickrichtungsmessung möglich. Remote Eye Tracker- oder vom Nutzer ferne Augenverfolger-Systeme (Abb. 2.2) sind meist am unteren Rand des Monitors befestigt, wodurch ein Abstand von ca. 60cm zwischen Kamera und Auge entsteht. Durch die freie Beweglichkeit des Kopfes relativ zu der Kamera während der Messung sind die erzielbaren Genauigkeiten bei dieser Methode geringer. Möchte man die Blickrichtungsmessung nicht mit der höchsten Genauigkeit und mit einem unbeeinussten Probanden durchführen, so ist angesichts des Tragekomforts und einer unbewusst handelnden Testperson die Remote Eye Tracker-Methode zu empfehlen. Personen, denen bewusst ist, dass sie auf eine Handlung untersucht werden, reagieren anders als frei denkende und könnten somit das Messergebnis verfälschen. 6 2 Grundlagen Abb. 2.1: Head-mounted Eyetracker von [Eyelink] Abb. 2.2: Remote Eyetracker nach [Tobii] 2.1.1 Elektrookulogramm Bei dem Elektrookulogramm werden an den Augen jeweils 4 Elektroden angebracht (Abb. 2.3(a)). Augenbewegungen erzeugen zwischen der Hornhaut (Cornea) und der Netzhaut (Retina) eine Potentialdierenz, die sich je nach Blickrichtung leicht ändert. Die Spannungsänderungen, die druch die Elektroden (Abb. 2.3(b)) erfasst werden, kann durch eine A/DWandlung in einen digitalen Winkelwert zur orthogonalen Blickrichtung berechnet werden kann. Der funktionale Zusammenhang ergibt sich aus: U = U0 ∗ sin(ϕ) ϕ : Blickwinkel; U0 : Leerlaufspannung 2.1.2 Kontaktlinsenmethode Eine der genauesten, aber auch aufwendigsten Methoden, ist die Kontaktlinsenmethode. Man unterscheidet hier zwei verschiedene Arten der Methode. Einerseits eine Kontaktlinse mit einem Spiegel, der eingestrahltes Licht je nach Blickrichtung reektiert. Dieser reektierte Strahl kann mit einem lichtempndlichen Sensor registriert werden. Anderseits kann eine Kontaktlinse mit einer Spule eingebracht werden. Hier wird um die Testperson herum ein magnetisches Wechselfeld erzeugt (dies kann über einen Rahmen mit Spulen oder mit Spulen direkt am Kopf umgesetzt werden). Blickrichtungsänderungen lassen die Pupillen mit der Kontaktlinse wandern, was eine Spannung induziert, die direkt proportional zu den Bewegungen des Auges ist. Die Methode ist auch unter dem Namen search coil bekannt. Die Kontaktlinsen des Probanden müssen allerdings gesondert angefertigt werden, damit ein 7 2.1 Blickrichtungsmessmethoden (a) Spannungsmessung zwischen Hornhaut und Elektroden (b) Position der Elektroden vertikal und horizontal Abb. 2.3: Anwendung und Spannungsmessung des Elektroolulogramms. (a) Spannunsentwicklung aufgrund Blickrichtungsänderung [nach Zipp (1988)] (b) Elektrodenxierung zur horizontalen und vertikalen Blickrichtungsmessung [nach Schandry (1989)] Verrutschen dieser oder eine Verletzung der Hornhaut verhindert wird. Dies macht die Methode sehr aufwendig und für wechselnde Benutzer teuer und schwierig. 2.1.3 Cornea-Reex-Methode Die Cornea-Reex-Methode nutzt die spiegelnden Eigenschaften der Hornhaut (Cornea). Strahlt man schräg mit Licht auf das Auge, so entsteht ein heller Reexionspunkt im Auge (Abb. (2.4(b)) 2). Der Corneareexpunkt ist also repräsentativ für die Blickrichtung des Probanden. Der Nachteil dieser Methode ist, dass der Kopf gegenüber der Lichtquelle, die den Corneareex auslöst, fest bleiben muss. Dass heiÿt man benötigt eine ortsfeste Apparatur für die Lichtquelle in Form eines Helmes wie in Kap. 2.1 angesprochen oder eine kopfgestützte Apparatur, die sicherstellt das die Position des Kopfes gleich bleibt (z.B. Beiÿplatte). 2.1.4 Video-Okulographie (VOG) Führt man die Merkmale des Auges mit einem weiÿen Glaskörper, einer gefärbten Iris und einer dunklen Pupille zusammen, so ergibt sich eine optimale Voraussetzung für die VideoOkulographie (VOG), da hier groÿe Intensitätskontraste für eine Bildverarbeitung vorhanden sind. Durch den Einsatz von digitalen Kameras, verschiedenen Bildverarbeitungstechniken 8 2 Grundlagen (a) Entstehungsskzizze (b) Erscheinungsbild (InteractiveMinds) Abb. 2.4: Cornea Reexion und leistungsfähigen Computern ist es in kurzer Zeit möglich Augenbewegungen völlig berührungslos zu erfassen. Nachteilig hierbei ist die zeitliche Auösung von normalen Kameras von 50Hz, welche in einer speziellen Anwendung aber mit einer Hochgeschwindigkeitskamera erhöht werden kann. Unterschiedlich ist auch die räumliche Auösung des Verfahrens, was abhängig von der Entfernung der Kameras ist. In Bezug auf Kap. 2.1 existieren Kopf gestützte Systeme mit einer höheren räumlichen Auösung als ferne Systeme. Nach erfolgreicher Bildverarbeitung sind 2 Techniken zur Blickrichtungsbestimmung durchführbar. Eine Möglichkeit ist das Limbus-Tracking. Als Limbus wird der Übergang von Hornhaut zur Lederhaut (Sklera) bezeichnet und ist sichtbar als Rand der Iris. Durch den groÿen Helligkeitsunterschied zwischen Iris und Sklera ist eine horizontale Positionsänderung hier gut zu erkennen. Da die Augenlider den Limbus oben und unten verdecken, ist eine vertikale Blickrichtungsänderung nicht zu erkennen. Nachteilig ist ebenfalls der saumige, unscharfe Übergang von der Sklera zur Iris, was die Genauigkeit des Trackingverfahrens beeinussen wird. Eine zweite Technik der Video-Okulographie ist das Pupillen-Tracking. Hierbei wird in der Bildverarbeitung der Übergang von Iris zu Pupille betrachtet. Anders als beim LimbusTracking ist die Pupille bis auf den Lidschlag komplett zu sehen und der Übergang ist schärfer zu erkennen. Durch diese Merkmale ist eine Verfolgung in horizontaler und vertikaler Richtung ohne Probleme möglich. 2.1.5 Zusammenfassung Blickrichtungsmethoden Hinsichtlich der Kriterien aus Kap. 1.2 ist aus den erwähnten Methoden keine allgemeingültige perfekte Lösung zu nden. Vielmehr müssen die Kriterien auf die Anwendung bezogen werden. Nach der Zielsetzung in Kap. 1.2 sollte der Proband in hohem Maÿe unbeeinusst und unbewusst Handeln. Das ist nur möglich wenn ihm nicht die komplette Testdauer ein 2.2 Tracking Algorithmen 9 Rahmen um den Kopf hängt, Elektroden im Gesicht kleben oder ein Licht in das Auge leuchtet. Eine Methode, die einen passiven Sensor zur Blickrichtungsbewegung besitzt ohne die Testperson zu markieren, ist die Video-Okulographie. Die Remote Eye Tracker Variante der Video-Okulographie ermöglicht die Beobachtung des Probanden ohne ihn im seinem Verhalten einzuschränken oder zu beeinussen. Bei dieser Variante muss jedoch die Genauigkeit des Ergebnisses der Blickrichtungsanalyse beachtet werden, da sie durch einen freibeweglichen Kopf sehr stark gemindert wird. 2.2 Tracking Algorithmen 2.2.1 Kreuzkorrelation Die Kreuzkorrelation liefert über den Kreuzkorrelationskoezienten ein Maÿ für die Übereinstimmung zwischen Musterbild (Template) und Suchbild (Patch). Template und Patch stellen jeweils ein kleinen Bildausschnitt dar. Mithilfe des Templates soll im nachfolgenden Bild der am höchsten korrelierte Bildausschnitt gefunden werden. Das Patch stellt dabei den aktuellen Suchbereich im Folgebild dar. Mäanderförmig wird das Musterbild vom Bildkoordinatenursprung oben links bis zum Bildende unten rechts verschoben (Abb. (2.6)). An der jeweiligen Position des Musterbildes wird der Kreuzkorrelationskoezient nach Gleichung (2.1) berechnet. Als Voraussetzung für die Berechnung müssen Muster- und Suchbild die gleiche Gröÿe besitzen. Weiterhin muss die Anzahl der Zeilen und Spalten ungerade sein, damit der Koezient für ein tatsächlich vorhandenes und kein imaginäres Pixel berechnet werden kann. Eine Subtraktion des Mittelwertes im Zähler der Gleichung (2.1) bewirkt eine Resistenz gegen Helligkeitsunterschiede. Die Normierung des Koezienten liefert einen Wertebereich von 1 bis -1 und hat den Vorteil, dass der Koezient unempndlich in Bezug auf Kontrastunterschiede ist. Eine Korrelation vom Wert 1 würde eine vollständige Übereinstimmung von Musterbild mit Suchbild bedeuten. Dies lässt sich allerdings nur in theoretischen Modellen erzeugen, da der Rauschanteil im Bild eine exakt gleiche Aufnahme unmöglich macht. In der praktischen Anwendung liegen stark korrelierte Werte bei 0.6 ≤ x < 1, was einer sehr starken Ähnlichkeit entspricht (Abb. 2.5(a)). Jedoch kann die Stelle mit dem gröÿten Koezienten auch falsch sein, wenn es z.B. mehrere hohe Korrelationskoezient gibt [Baltsavias (1999)] (Abb. 2.5(c)). Hierbei spricht man von multiplen Lösungen oder Mehrdeutigkeiten. Ist der Koezient sehr klein, also nahe 0 bis 0.5, kann man von einem falschen Matching sprechen (Abb. 2.5(b)). Das Ähnlichkeitsmaÿ von Muster und Suchbild ist zu gering, als würde es zuverlässig das gleiche Bildobjekt repräsentieren. Ein schlechter Korrelationskoezient tritt häug bei homogenen Flächen auf. 10 2 Grundlagen (a) erfolgreiches Matching mit ho- (b) schlechtes Matching mit gerin- (c) Matching mit Mehrdeutigher Korrelation und eindeutiger ger Korrelation und ohne Eindeu- keitslösungen Lösung tigkeit Abb. 2.5: Darstellung des Kreuzkorrelationskoezienten aus [Westfeld (2005)] Der Kreuzkorrelationskoezient mit den korrespondierenden Lagekoordinaten des Sensors bilden ein Koordinatentripel. Trägt man die Koordinatentripel in ein Koordinatensystem bildet sich so eine 3D-Punktwolke, die es ermöglicht die Position des Suchmusters Subpixelgenau zu bestimmen. Hierbei wird durch eine vermittelnde Ausgleichung ein Paraboloid hineingepasst. Die Scheitelkoordinaten des ausgeglichen Paraboloiden bilden die Subpixelkoordinaten des Suchmusters. Die erreichbare Bildmessgenauigkeit liegt nach [Luhmann (2003)] und [Baltsavias (1999)] bei 0.1 Pixel. Das Kreuzkorrelationsverfahren liefert somit eine schnelle und leicht zu implementierende Variante um ähnliche Grauwertmerkmale zu nden bzw. im Folgeschritt zu verfolgen. Nachteile ergeben sich, falls das eigentlich gesuchte Muster eine Maÿstabsänderung, Rotation und/oder andere Verzerrung erfahren hat. Diese veränderten Komponenten der Bildobjektänderung können nicht von der Kreuzkorrelation erfasst werden und würden direkt zu einem geringen Ähnlichkeitsmaÿ bzw. Korrelationskoezienten führen. S Z X X (f (x0 + s, y 0 + z) − f¯) ∗ (g(x + s, y + z) − ḡ) s=−S z=−Z ρ(x, y) = v u S Z S Z X X uX X 0 0 2 t ¯ (f (x + s, y + z) − f ) ∗ (g(x + s, y + z) − ḡ)2 s=−S z=−Z ḡ : s=−S z=−Z mittlerer Grauwert des Musterbildes S Z X X 1 = ∗ g(x + s, y + z) 4∗S∗Z +1 s=−S z=−Z f¯ : mittlerer Grauwert des Suchbildes = 1 ∗ 4∗S∗Z +1 S Z X X s=−S z=−Z f (x0 + s, y 0 + z) (2.1) 11 2.2 Tracking Algorithmen 2∗S+1: Anzahl der Spalten des Musterbildes 2∗Z +1: Anzahl der Zeilen des Musterbildes (x, y) : Bildkoordinaten des Zentrums des Musterbildes (x0 , y 0 ) : Bildkoordinaten des Zentrums des Suchbildes (a) Berechnung des Kreuzkorrela- (b) Pixelweise Verschiebung des (c) Berechnetes Kreuzkorrelatitionskoezienten mit mäanderför- Berechnungskernels onskoezientenmuster in neuem miger Verschiebung Format (d) Maximale Korrelationskoeenten als wahrscheinlichste Position des Musterbildes Abb. 2.6: Berechnung des Kreuzkorrelationskoezienten 2.2.2 Least Squares Matching (LSM) Die Methode der kleinsten Quadrate Anpassung (MKQ)(engl. Least Squares Matching (LSM)) passt ein Suchbild bestmöglich auf ein Musterbild, mit der Bedingung zur Minimierung der Quadrate der Grauwertdierenzen, an. Die Methode geht auf den Mathematiker Gauÿ aus dem Jahre 1829 zurück und beruht auf dem Verfahren der Vermittelnden Ausgleichung. Die Grauwerte des Patches, einem kleinen Bildausschnit, bilden die Beobachtungen und werden durch die Ausgleichung bestmöglich angepasst. Hierbei wird in einem iterativen Vorgang die beste radiometrische und geometrische Transformation zwischen Suchbild g(x0 , y 0 ) und 12 2 Grundlagen (a) Matchingergebnis; (b) 3D Visualisierung des Korrelahelle Pixel = groÿes Ähnlichkeits- tionskoezienten; maÿ höchster Peak = gröÿtes Ähnlichkeitsmaÿ Abb. 2.7: Visuelle Darstellung des Kreuzkorrelationskoezienten Musterbild f (x, y) ermittelt [Luhmann (2003)]. Dabei muss berücksichtigt werden, dass die Aufnahmen einem zufälligen Fehler unterliegen. Dies hat zur Folge, dass zwei aufeinanderfolgende Bilder, die den selben Objektbereich aufnehmen, einen leicht unterschiedlichen Grauwert an der Stelle (x, y) darstellt. Dieser zufällige Fehler wird als Rauschen bezeichnet und wird als Korrektur e(x,y) an die Beobachtung angebracht: f (x, y) − e(x, y) = g(x, y) (2.2) Ohne Berücksichtigung von radiometrischen und geometrischen Einüssen, ist dieser Rauschanteil die Dierenz von zwei identischen Bildausschnitten. Damit eine geometrische Anpassung erfolgen kann, gilt die Annahme, dass die beiden Bildausschnitte (Muster- und Suchbild) einen ebenen Objektbereich repräsentieren. Dies hat einen Einuss auf die Wahl der Patchgröÿe. Bei einer geringen Gröÿe des Patches kann die Projektivtransformation durch eine Antransformation ersetzt werden. Zu groÿ gewählte Ausschnitte könnten diese Ebenheitsforderung nicht erfüllen und das angenommene mathematische Modell wird hinfällig. Das Modell der Antransformation beruht auf 6 Parametern ( 2 Translations-, 2 Maÿstabs-, 2 Dreh- bzw. Scherungsparameter). Um radiometrische Unterschiede an das geometrische Modell der Antransformation anzupassen, wird diese um 2 Parameter (Helligkeit und Kontrast) erweitert. Jeder Grauwert des Suchbildes Grauwert des Musterbildes gi (x0 , y 0 ) gi (x, y) wird somit geometrisch und radiometrisch an den angepasst: 13 2.2 Tracking Algorithmen fi (x, y) − ei (x, y) = r0 + r1 ∗ gi (x0 , y 0 ) x0 = a0 + a1 ∗ x + a2 ∗ y (2.3) y 0 = b0 + b1 ∗ x + b2 ∗ y mit i: Anzahl der Pixel des Patch = r0 : Helligkeit r1 : Kontrast Zeilen ∗ Spalten a0 , b0 : Translation in x bzw. y a1 , b2 : Maÿstabskorrektur in x bzw. y a2 , b1 : Dreh- und Scherungskorrektur in x bzw. y Als Näherungswerte für die Parameter der geometrischen und radiometrischen Anpassung ist die Festsetzung auf a00 = a02 = b00 = b01 = r00 = 0 a01 = b02 = r10 = 1 (2.4) nach [Luhmann (2003)] in der Regel ausreichend. Da die Beobachtungsgleichung (2.3) nicht linear ist, muss diese, zur Belegung der Koezientenmatrix, linearisiert werden. Hierzu wird die Reihenentwicklung nach Taylor angewendet, wobei nach der 1. Ableitung abgebrochen wird. Es entsteht: f (x, y) − e(x, y) = r0 + r1 g 0 (x, y) + g 0 (x, y)+ +gx da0 + gx xda1 + gx yda2 + (2.5) +gy db0 + gy xdb1 + gy ydb2 mit partiellen Ableitungen: gx = ∂g 0 (x, y) ∂x Grauwertgradient in x-Richtung (2.6) gy = ∂g 0 (x, y) ∂y Grauwertgradient in y-Richtung (2.7) 14 2 Grundlagen Nach einer Linearisierung der Beobachtungsgleichung (2.3) und Wahl der Näherungswerte für die Parameter der ebenen Antransformation (2.4) lassen sich nun die Koezientenbzw. Jakobi- bzw. Designmatrix tenmatrix A A und der Beobachtungsvektor l erstellen. Die Koezien- enthält die partiellen Ableitungen nach den unbekannten Anparametern. Der Beobachtungsvektor ergibt sich aus: l = r0 + r1 ∗ g(x0 , y 0 ) − f (x, y) (2.8) Auf Grundlage des Gauÿ-Markov-Modells bzw. MKQ können die Parameter der geometrischen und radiometrischen Anpassung vermittelnd ausgeglichen werden. v = n,u A ∗ u,1x̂ − n,1l x̂ = (AT ∗ P ∗ A)−1 ∗ (AT ∗ P ∗ l) n,1 (2.9) mit n: Anzahl der Beobachtungen bzw. Pixel (abhängig von Patchgröÿe) u: Anzahl der Unbekannten = 8 A: l: x̂T : P: Koezientenmatrix Beobachtungsvektor Unbekanntenvektor h a0 a1 a2 b0 b1 b2 r0 r1 i Gewichtsmatrix Die Gewichtsmatrix P entspricht unter diesen Umständen der Einheitsmatrix I , da alle Beob- achtungen die gleiche Genauigkeit besitzen und auf die gleiche Weise gemessen wurden. Durch Auftragen der Zuschläge auf die Anparameter in mehreren Iterationsschritten werden die Grauwertdierenzen in der Regel minimiert. Abhängig ist dies von der Güte der Näherungen der Translationsparameter a0 und b0 , die durch einen vorherigen Prozess (Kreuzkorrelation oder Bildpyramide) bestimmt wurden. In der Regel sollte die Näherungsposition auf eine halbe Patchgröÿe bekannt sein, damit der Algorithmus konvergiert. Der Konvergenzradius beschreibt den Abstand zwischen wahren Wert und Näherungsposition und ist abhängig von Gröÿe der Gradienten. Wie schnell der Algorithmus zu einer Lösung kommt wird durch die Konvergenzgeschwindigkeit beschrieben und ist abgängig von der Genauigkeit der Näherungsposition. Groÿe Grauwertgradienten erhöhen die Genauigkeit, aber verringern den 2.2 Tracking Algorithmen 15 Konvergenzradius. Umgekehrt verringern kleine Grauwertgradienten die Genauigkeit, aber erhöhen den Konvergenzradius [Kraus (1996)]. Im Endeekt ist somit eine Subpixelkoordinatenbestimmung der Lage auf 0.01 bis 0.04 Pixel [nach Luhmann (2003)] möglich. Jedoch ist die angegebene theoretische Genauigkeit meist zu optimistisch, da unmodulierte Fehler die erhaltene empirische Genauigkeit der Translationsparameter schlechter darstellen [Baltsavias (1999)]. So ergeben sich realistische Genauigkeiten für: • kontrastreiche, ache Zielmarken von 0.01 - 0.1 Pixel • kontrastarme, ache Zielmarken von 0.2 - 0.3 Pixel • natürliche Punkte auf allgemeine Oberächen von 0.5 - 1.5 Pixel (a) Näherung der Antransforma- (b) Anpassung der Parameter (c) bessere Anpassung der Parationsparameter nach wenigen Iterationen meter nach mehreren Iterationen Abb. 2.8: Verbesserung der Antransformationsparameter mit MKQ 16 2 Grundlagen 3 Programmstufen Ziel ist ein möglichst robuster remote eye tracker, der nach Vorgabe der Augpunkte im ersten Bild diese weiterhin verfolgt. Dabei gilt es die Augen auch während eventueller Kopf-, Augbewegung und/oder Lidschluÿ immer wieder zu nden. 3.1 Programmstufe Kreuzkorrelation Die Kreuzkorrelation bietet für die ersten einfachen Ziele, wie z.B. das Finden von ähnlichen Grauwerten, das richtige Instrument. Da das Verfahren eine globale Bildverarbeitungsmethode ist, d.h. sie arbeitet ein ganzes Bild ab, ist es Sinnvoll den Suchbereich vom Vollbild auf ein Teilbild zu reduzieren. Voraussetzung ist, dass das Teilbild an der richtigen Position des Originalbildes erstellt wird. Das Suchen im Teilbild hat zum einen den Vorteil, dass es schneller durchsucht werden kann und es vermindert das Risiko des Auftretens eventueller Mehrdeutigkeiten. Da der maximale Korrelationskoezient als wahrscheinlichster Ort des gesuchten Musters angenommen wird ist es von enormer Wichtigkeit, dass dieser stets nahe 1 ist. Das heiÿt zwischen Muster- und Suchbild besteht eine groÿe Ähnlichkeit und er somit an der Stelle liegt, da sonst eine falsche Positionierung des Auges vorkommt. Es stellt sich also die Frage, welches Template bringt den sichersten Erfolg beim Matching. Verschieden Strategien ermöglichen eine Realisierung der beiden Kriterien: • gröÿtmögliche Ähnlichkeit bzw. Korrelation • richtige Position Diese Strategien werden folgend auf ihre Zuverlässigkeit geprüft. Die ersten Versuche mit dem erstellten Template ein globales Maximum zu nden waren wenig erfolgreich, sodass es sinnvoll ist den Suchbereich auf ein Teilbild zu reduzieren. Eine Lösung bietet das Anlegen einer Region Of Interest (Bereich von Interesse) kurz ROI. Sie wird groÿzügig um die Position des zu ndenden Objektes erzeugt. Dies hat den Vorteil, dass eventuelle Mehrdeutigkeiten auf ein Minimum reduziert und die Schnelligkeit des Algorithmus durch das kleine Teilbild gesteigert wird. Ist das Auge erfolgreich gefunden worden, wird die ROI hierhin nachgeführt und legt den neuen Suchbereich fest. Die Nachführung 18 3 Programmstufen der ROI bewies sich jedoch vor allem bei schnellen Kopfbewegungen problematisch, da sich hierbei die Position des Auges in zwei aufeinanderfolgenden Bildern stark änderte. Es erschien auÿerhalb des Suchbereiches (Abb. 3.1). Ein Matching mit einem Template ist in diesem Fall unmöglich oder würde nur falsche Ergebnisse liefern. Einen Ausweg bietet die Vergröÿerung der ROI. Diese würde starke Augenbewegungen kompensieren, aber gleichzeitig die Wahrscheinlichkeit von Mehrdeutigkeiten erhöhen. Die Wahl der Gröÿe der ROI entwickelte sich zu einem entscheidenem Kriterium. Eine zu klein gewählte ROI erfasst das Auge schon nach kleinen Bewegungssprüngen nicht mehr und es kann nicht im Suchbereich gefunden werden. Durch eine Vergröÿerung der ROI kann es zu einer Überlappung der ROI der Augen kommen. Stehen sich die Augen dann besonders nah, kann es durch das fast identische Aussehen der beiden Augentemplates zur Fehlinterpretation kommen (Abb. 3.2). Eine Möglichkeit das Problem der schnellen Kopfbewegung zu beheben ist die Vergröÿerung der Bildrate. Die Aufnahmen des Kopfes werden dadurch zeitlich hochauösender erfasst und die Distanz der Kopfbewegungen sind proportional kleiner. (a) Bild 87 (b) Bild 88 Abb. 3.1: Auge auÿerhalb der Region of Interest (ROI) durch schnelle Kopfbewegung 3.1.1 Kein Templateupdate Im ersten Schritt wurde ein statisches Template erzeugt, d.h. mit demselben Template wird in der komplette Bildfolge die gröÿte Korrelation gesucht. Eine nachteilige Stellung der Augen zur Kamera oder gar geschlossene Augen lieferten niedrige Koezienten für diese, sodass sie für den Algorithmus als Lösung nicht in Frage kamen. 19 3.1 Programmstufe Kreuzkorrelation (a) Bild 87 (b) Bild 88 Abb. 3.2: fehlerhafte Augendetektion durch Überlagerung der ROI Mithilfe der ROI lieÿ sich das Risiko einer Fehlinterpretation zwar vermindern, jedoch nicht verhindern. So kann es mit einem statischen Template bei ungünstigen Aufnahmen des Auges trotz einer ROI zu einer Fehlpositionierung des Suchpatches kommen (Abb. 3.4). In diesem Fall spiegelt meist das statische Template nicht mehr das aktuell zu erfassende Bildobjekt dar. Eine Möglichkeit zur Minimierung dieses Problems stellt ein Templateupdate dar, welches in einer der nächsten Schritte untersucht wird. Eine andere Möglichkeit ist das Festlegen eines Schwellwertes für den Korrelationkoezienten, der nicht unterschritten werden darf. Hierdurch wird ein Mindestmaÿ an Ähnlichkeit für das Suchpatch erzwungen, damit es als Augentemplate validiert werden kann. Wurde dieser Schwellwert unterschritten, so wurde das Auge als geschlossen deklariert, auch wenn es nach menschlicher Betrachtung oen ist. Des Weiteren lässt es sich mit einem statischen Template nichts über die Position des Auges aussagen. Wird die höchste Korrelation an einer falschen Stelle gefunden, so verfälscht sie im Nachhinein die Blickrichtungsanalyse. Bei geschlossen Augen Abb. 3.3: Ablauf des Mat- lassen sich einem statischen Template keinerlei richtige Er- chings gebnisse erzeugen. Eine Annahme der Position der gröÿten Templateupdate Ähnlichkeit ist sehr wage und mit hoher Wahrscheinlichkeit falsch. ohne 20 3 Programmstufen (a) Bild 221 (b) Bild 222 Abb. 3.4: Drift des Patches bei statischem Template 3.1.2 Permanentes Templateupdate Zur Vermeidung der in Kapitel 3.1.1 erwähnten Probleme, die beim Matching mit einem statischen Template auftreten können, wird bei dieser Variante nach jedem erfolgreichen Matching das Template erneuert. Das Template passt sich somit nach und nach dem veränderten Zustand des Auges an, wodurch das Maÿ der Ähnlichkeit verstärkt wird und das Risiko einer Fehlinterpretation gesenkt wird. Probleme entstehen, wenn der Proband die Augen schlieÿt oder Augenposition einmalig falsch gesetzt wurde. Im ersten Fall wird das Template durch den Lidschluÿ nach unten gedrückt (Abb. 3.6(b)), da der Kreuzkorrelationskoezient am Lidende gröÿer ist als auf dem Lid. Wird das Auge nun wieder geönet, hat das am Lidende(Wimpern) sitzende Template nahezu keine Ähnlichkeit mehr mit dem Auge und die Wahrscheinlichkeit ist groÿ, dass es nun zu einer Fehlinterpretation kommt und sich das Template gänzlich vom Auge entfernt (Abb. 3.6). Im zweiten Fall ist ein ähnliches Szenario zu erwarten. Sollte einmalig, durch eine multiple Lösung, das Template an einer falschen Position erzeugt werden, ist es unwahrscheinlich, dass Abb. 3.5: Ablauf Matchings des mit Templateupdate das eigentlich zu verfolgende Objekt wieder gefunden wird. Ähnliche Probleme treten auf, wenn die Blickrichtungen sich zu schnell ändern. So ist es mög- 21 3.1 Programmstufe Kreuzkorrelation lich, dass ein Template, was in einer extrem seitlichen Richtung erzeugt wurde, bei plötzlich gerader Blickrichtung nicht gefunden wird. (a) Bild 44 (b) Bild 45 (c) Bild 50 Abb. 3.6: Drift des Augentemplates bei Lidschluÿ 3.1.3 Kreuzkorrelation mit bedingtem Templateupdate Bei einem bedingten Templateupdate muss geprüft werden, unter welchen Voraussetzungen es sinnvoll ist ein Template zu erneuern. Diese Verizierung des aktuellen Suchpatches, ob es für ein neues Augentemplate in Frage kommt, soll verhindern, dass es zu Fehlinterpretationen oder zu Drifts, wie in den Kapiteln 3.1.1 und 3.1.2 erwähnt, kommt. Dazu sind nachfolgend einige Kriterien aufgeführt, die erfüllt sein müssen, damit ein Template erneuert werden kann. 3.1.3.1 Pupillendetektion Damit ein Templateupdate erfolgreich durchgeführt werden kann, muss erkannt werden wann das Auge oen ist, damit es nur dann erneuert wird, wenn das Auge auch im Bild vorhanden ist. Ziel ist es also die ROI auf das Vorhandensein der Pupille zu prüfen. Da die Pupille das dunkelste Objekt in der ROI darstellt ist eine Analyse nach der Binärisierung sinnvoll. Hierzu wird nach Gleichung (3.1) im ersten Bild ein dynamischer Schwellwert aus dem Augentemplate berechnet (Abb. 3.7). Damit nur die Pupille, also die dunkelsten Pixel des Augentemplates, nach der Verarbeitung im Bild bleiben, muss der Prozentwert für den Schwellwert gering gehalten werden (etwa 0.1). 22 3 Programmstufen threshold = GVmin + (GVmax − GVmin ) ∗ p GVmin : niedrigste Grauwert im Bild GVmax : höchster Grauwert im Bild p: (3.1) Prozentwert (0 ... 1) Dieser Wert dient zur Binärisierung der zugehörigen ROI und wird nach jedem erfolgreichen Templateupdate neu bestimmt. Pixel, die nach diesem Bildverarbeitungsprozess noch vorhanden sind (Abb. 3.8(b)), repräsentieren die Pupille. Die Anzahl der Pixel nach der Binärisierung in den Folgebildern sollte nach Erfahrungswerten nie unter 20% der Pixel aus dem aktuellen Bild liegen. Mit dieser Zahl wird versichert, dass zufällig erzeugte dunkle Pixel im Bild, wie z.B. Schatten, nicht als Pupille interpretiert werden und somit fälschlicherweise das Auge als oen erkannt wird. Die Anzahl der schwarzen Pixel, die durch Schatten oder andere zufällige Zustände hervorgerufen werden, beträgt nur ein Bruchteil der Anzahl bei oenem Auge. Ein anderes Kriterium zum Test der Richtigkeit der Position leitet sich aus der binärisierten ROI ab. Geprüft wird der Abstand zwischen gefundenem Auge und Schwerpunkt der binärisierten ROI. Der berechnete Schwerpunkt der verblieben Punkte in der ROI (Abb. 3.8(b)) muss sich immer in der Nähe des Zentrums des aktuellen Suchpatches benden. Wird eine festgelegte Distanz überschritten, so kann die Position des Schwerpunktes im Folgebild als Näherung für das Auge herangezogen werden. Es erfolgt also ein Zurücksetzen eines abgedrifteten Suchpatches. Abb. 3.7: Histogramm des Augentemplates mit dynamisch erzeugtem Schwellwert 23 3.1 Programmstufe Kreuzkorrelation (a) ROI in Grauwerten (b) ROI Binärisiert Abb. 3.8: Binärisierung der ROI 3.1.3.2 Fixpunkte Zur Verizierung der Lage der erneuerten Augentemplates ist eine Überprüfung notwendig. Eine Kontrolle des Abstandes oder Lage der Augenpositionen zueinander ist wenig erfolgsversprechend, da der Augenabstand und die Lage zueinander je nach Kopfdrehung variiert. Abhilfe schaen Fixpunkte in der Gesichtspartie des Probanden (Abb. 3.9). Diese ausgewählten Punkte sollten im Gesicht einmalig und unveränderbar sein. Dass heiÿt die Fixpunkttemplates sollten genug Kontrast besitzen und durch keine Mimik beeinusst werden. Die Anzahl der Fixpunkte sollte nicht zu gering gewählt werden, da sich die Fixpunkte auf ihre relative Lagefestigkeit untereinander prüfen müssen. Angesicht der begrenzten Anzahl an eindeutigen und unveränderbaren Punkten im Gesicht, sollte aber auch nicht zu viel Punkte gewählt werden, da es zu erhöhter Rechenzeit und Fehlerkennungen führen kann. An 3 ausgewählten Punkten (an Nasenspitze und an Ansätzen der Augenbrauen) wurden versuchsweise die Fixpunkte festgelegt. Diese Punkte besitzen neben den erwähnten Eigenschaften der Fixpunkte noch 2 weitere gute Kriterien. Die Punkte sind gut über das Gesicht verteilt und sie bilden ein stabiles nahezu gleichschenkliges Dreieck, wodurch sich die Stabilität der Lage zueinander gut kontrollieren lässt. Die Fixpunkte werden auf die gleiche Art wie die Augen gefunden. Um die Position des Fixpunktes wird eine gröÿere ROI als bei den Augen gelegt, um zu gewährleisten, dass diese auch bei schnellen Kopfbewegungen gefunden werden. Da sie im Gesicht eindeutig sein sollten, ist die Wahrscheinlichkeit einer Fehlinterpretation durch die groÿe ROI gering. 24 3 Programmstufen Abb. 3.9: Wahl der Fixpunkte Ein groÿes Problem ergibt sich jedoch bei starken Kopfdrehungen oder Entfernungsänderungen zur Kamera. Bei Kopfdrehungen kommt es mit groÿen ROI zu Überlagerungen der Augenregion und Augenbrauenregion, was durch die Symmetrie des Gesichtes und ähnlich aussehenden Augen- und Augenbrauentemplates, zu Verwechslungen durch Mehrdeutigkeiten kommen kann. Ausweg bietet eine dynamische Anpassung der ROI Gröÿe nach Gleichung 3.2, die sich über die Entfernung der Fixpunkte, aus Startbild selbstständig vergröÿert oder verkleinert (Abb. 3.10). Einer Überlappung wird somit entgangen. ROIsize = ROIsizebegin ∗ ROIsize : distanceeyebrows distanceeyebrowsbegin (3.2) Gröÿe der aktuellen ROI ROIsizebegin : Gröÿe der ROI im Startbild distanceeyebrows : aktuelle Distanz der Augenbrauen distanceeyebrowsbegin : Distanz der Augenbrauen im Startbild Auf ähnliche Art und Weise werden bei starken Entfernungsänderungen zwischen Kamera und Kopf die Templategröÿen angepasst (Gleichung 3.3. Wird dies nicht beachtet, so würde bei einer starken Entfernungsänderung nach hinten oder vorn das Augentemplate zu groÿ oder zu klein für das eigentliche Auge sein. 25 3.1 Programmstufe Kreuzkorrelation templatesize = templatesizebegin ∗ templatesize : distancenose−eyebrow distancenose−eyebrowbegin (3.3) Gröÿe des aktuellen Templates templatesizebegin : Gröÿe des Templates im Startbild distancenose−eyebrow : aktuelle Distanz von Nase zu Augenbraue distancenose−eyebrowbegin : Distanz von Nase zu Augenbraue im Startbild Neben der Kontrolle, dass sich die Augen in der richtigen Position benden, dienen die Fixpunkte auch dazu eine Grobpositionierung der ROI vorzunehmen, falls der Korrelationskoezient zu gering oder das Auge geschlossen war. Hierfür wird in jedem Bild Distanz bzw. Dierenzen ∆x und ∆y zwischen Augen und Augenbrauen bestimmt. Bei erfolgreichem Mat- ching werden diese Elemente aktualisiert und als Kontrolle auf das nächste Bild angewendet. Wurden die Kriterien für ein erfolgreiches Matching nicht erfüllt (Korrelationskoezient zu gering, die Anzahl an schwarzen Pixeln zu gering oder die Distanz zu den Augenbrauen war zu hoch), dann wird eine Grobpositionierung durch die Augenbrauen mit den letzten vailden Dierenzen zum Auge durchgeführt. Die Augentemplates werden also nur dann erneuert, wenn auch die ungefähre Lage zu den Fixpunkten zutrit. Hat sich die Lage der Fixpunkte untereinander zu stark geändert, so kann die Position der gefunden Augenpositionen nicht überprüft werden. Es kann nun nur hypothetisch anzunehmen sein, dass die gefundenen Augenpositionen auch korrekt sind. In diesem Fall sollte die gefundene Position als falsch deklariert werden, um ein fehlerhaftes Templateupdate und ein nachfolgend falsches Matching auszuschlieÿen. 3.1.3.3 Kriterien Zur Realisierung des Programms mit einem bedingten Templateupdate wurden in den vorherigen Kapiteln verschieden Kriterien angesprochen, die eine Aussage über relative Lage und Zustand des Auges machen. Diese Kriterien sind: 1. ist der Korrelationswert über Schwellwert 2. wurde die Pupille gefunden 3. liegt Schwerpunkt der Pupille in der Nähe des Suchpatches 4. ist die Lage des Suchpathes zu den Fixpunkten realistisch 26 3 Programmstufen (a) Bild 231 (b) Bild 237 Abb. 3.10: Gröÿenveränderung der ROI in Abhängigkeit der Fixpunktentfernung 5. sind die Fixpunkte zueinander stabil Mithilfe dieser Kriterien kann entschieden werden, ob ein Auge als im Bild gefunden deklariert werden kann und wenn dies zutrit ein Templateupdate vorgenommen werden soll. 3.1.4 Ergebnis Kreuzkorrelation Durch die Einführung der in Kapitel 3.1.3.3 erwähnten Kriterien konnte die Rate der sicher gefunden Augen um ein Vielfaches gesteigert werden (Tab. 3.1). Des Weiteren gewährleisten sie eine grobe Positionierung der Augen, wenn diese nicht gefunden wurden. Zusammenfassend bietet ein permanentes Templateupdate die schlechteste der 3 Lösungen, da ein Drift bei Lidschluss und eine fehlerhafte Positionierung nach wenigen Bildern unvermeidlich sind. Ein Vergleich der beiden anderen Varianten (Kapitel 3.1.1 und 3.1.3) zeigt die Erfolgsquote, die durch die zusätzlichen Bedingungen erreicht wurde. Durch die Verizierung des aktuellen Suchpatches mithilfe entsprechender Kriterien können Fehlinterpretationen und -positionierungen verhindert werden. Angesichts eines besseren Ähnlichkeitsmaÿes und einer stärken Eindeutigkeit ist das dynamische Template, also ein Templateupdate, besser geeignet als ein statisches. Dies lässt schlussfolgern, dass eine Verizierung der Lage und eine Analyse der Umstände ein zuverlässigeres Ergebnis liefert (siehe Tabelle 3.1). 3.1 Programmstufe Kreuzkorrelation Abb. 3.11: Ablauf des Matchings mit Templateupdate unter gegebenen Bedingungen 27 28 3 Programmstufen Tab. 3.1: Erfolgreich gefundene Augen Variante ∗ erfolgreich gefunden Augen kein Templateupdate permanentes Templateupdate bedingtes Templateupdate 64% ∗∗ 21% 92% ∗ erfolgreich gefundene Augen heiÿt, dass die Lage des durch die Kreuzkorrelation ermittelten Ergebnisses nicht mehr als 5 Pixel vom Schwerpunkt der binärisierten ROI entfernt ist. ∗∗ ist abhängig vom erstmaligen Lidschluss bzw. von der ersten Erzeugung eines Templates, welches nicht das Auge repräsentiert. 3.2 Programmstufe Least Squares Matching Mit der Methode der Kreuzkorrelation wurde bisher nur das Ähnlichkeitsmaÿ zwischen Muster- und Suchbild bestimmt und daraus die mögliche Position des Suchbildes abgeleitet. Jedoch wurde bisher keine Rotation oder Maÿstabsänderung des zu betrachtenden Bildobjektes bedacht. Um eine bessere geometrische und radiometrische Anpassung von Muster- und Suchbild und somit eine bessere Lokalisierung der Augen zu erreichen, bietet sich die Methode der kleinsten Quadrate (MKQ, engl. Least Squares Matching, LSM) an. Wie in Kapitel 2.2.2 beschrieben, wird hierbei versucht die Grauwertdierenzen zwischen Muster- und Suchbild durch geometrsiche und radiometrische Anpassung ausgleichend zu einem Minimum zu bringen. Als Ergebnis erhält man neben der Position des Auges mit einer Subpixelgenauigkeit die Antransformationsparameter mit deren Standardabweichungen. Die Standardabweichungen aus der Ausgleichung geben Aufschluÿ über die Güte des mathematischen Modells und somit über die Passgenauigkeit von Muster- zu Suchbild. Aufgrund der Nichtlinearität der Beobachtungsgleichung (2.3) müssen Näherungswerte für die Bildkoordinaten erzeugt werden. Um Näherungswerte für den Algorithmus bereitzustellen gibt es verschiedene Möglichkeiten [Baltsavias (1999)]: • vorgegebene bzw. berechnete Bildkoordinaten • manuelle Erstellung der Bildkoordinaten • Mustererkennung durch Bildverarbeitung • Interestoperator Im vorliegenden Fall lassen sich die Näherungskoordinaten am besten durch eine Mustererkennung erstellen. Dies könnte durch einen Bildpyramidenansatz oder durch eine vorgeschaltete 3.2 Programmstufe Least Squares Matching 29 Kreuzkorrelation realisiert werden. Letzteres wurde in Kapitel 2.2.1 beschrieben und implementiert und bietet deshalb als beste Alternative an. Wie bei der Kreuzkorrelation stellt sich die Frage, mit welchem Template das Objekt am ehesten wieder zu nden ist. [Matthews u. a. (2003)] haben 3 Grundlegen Updatestrategien erfasst: • kein Update • naives Update • Update mit Driftkorrektur Folglich wurden alle 3 Strategien auf ihre Anwendung beim Eyetracking getestet. Da das Zielobjekt nicht in jedem Bild zu sehen ist werden die 3 Strategien nur unter den Bedingungen angewendet, wenn das Auge geönet ist und wie in Kapitel 3.1.3 beschrieben veriziert wurde. 3.2.0.1 Wahl des Konvergenzkriteriums Da die Konvergenz des Algorithmuses abhängig von Näherungswerten und des zu matchenden Bildobjektes ist, ist es sinnvoll neben einem Abbruchkriterium für die Gröÿe der a-posteriorie Standardabweichung (z.B. σ < ε) ein Kriterium der maximalen Iterationsanzahl anzugeben. Somit wird verhindert, dass eine nicht konvergierende Rechnung endlos läuft und das Template driftet. Wählt man die Iterationszahl zu klein, so verbleibt dem Algorithmus nicht die Möglichkeit das Patch bestmöglich an das Template anzupassen und an der richtigen Stelle zu konvergieren. Die Parameter der Geometrie können dann nur mit einer mäÿigen Genauigkeit bestimmt werden. Eine zu groÿ gewählte maximale Iterationszahl hat auf konvergierenden Berechnungen keinen Einuss, da bereits vor Erreichen der maximalen Iteration das Kriterium der a-posteriorie Standardabweichung erreicht wird. Konvergiert der Algorithmus jedoch nicht so dirftet das Patch von der richtigen Position (Abb. 3.12). 3.2.0.2 Wahl der Patchgröÿe Ein weiterer wichtiger Aspekt ist die Wahl der Patchgröÿe. Nach der Ebenheits- und Vereinfachungsforderung in Kapitel 2.2.2 darf das Patch nicht zu groÿ gewählt werden, da sonst die Annahmen für das mathematische Modell nicht zutreen. Jedoch birgt eine zu klein gewählte Templategröÿe einige Risiken. Die Antransformationsparameter werden unzureichend bestimmt und ungenügende Textur hat eine höhere Fehlergefahr zur Folge. So wurde versucht 30 3 Programmstufen (a) 10. Iteration (b) 25. Iteration (c) 49. Iteration Abb. 3.12: Drift des Patches bei zu groÿ gewählter Iterationszahl die Templategröÿe auf die Pupille anzupassen. Dies hatte jedoch bereits nach 20 Bildern fehlerhafte Folgen (Abb. 3.13). (a) Bild 1 (b) Bild 10 (c) Bild 20 Abb. 3.13: Drift des Templates nach wenigen Bildern bei kleiner Templategröÿe 3.2.0.3 Wahl der Antransformationsparameter In der 2-D Antransformation sind mithilfe des LSM-Algorithmus die 6 Parameter der geometrischen Anpassung zu bestimmen. Dabei spielt die Form des anzupassenden Objektes eine entscheidende Rolle. Die Form der Iris mit der Pupille entspricht in grober Näherung der eines Kreises. Bei den Beobachtungen der Ergebnisse fällt auf, dass die Rotationsparameter a2 und b1 , bei frontalen Ansichten auf das Auge, in einem gewissen Maÿ (≈ 0.5) miteinander korreliert sind. Grund hierfür ist die lineare Abhängigkeit der beiden Faktoren (a2 , b1 ), da das Auge durch die Kreisform rotationssymmetrisch ist. Ein Ausschlieÿen der Parameter aufgrund der Abhängigkeit dieser (nach [Luhmann (2003)]), um die numerische Stabilität der Ausgleichung zu verbessern, ist nicht sinnvoll, da sonst keine Scherungen oder Rotation erfasst werden. Besonders bei extremen Blickrichtungen wird dieser Kreis der Iris sehr gestaucht. Eine Elimination der Parameter würde sich hierbei nachteilig auf die geometrische Anpassung auswirken. 31 3.2 Programmstufe Least Squares Matching Um kleine grobe Fehler der Parameter aufzudecken und einen Drift des Patches zu verhindern, werden mithilfe der Student-(t)-Verteilung die Parameter auf ihre Signikanz geprüft. Die vorliegende endliche Stichprobe lässt eine Annahme der Normalverteilung nicht zu. Es wird nun geprüft, ob der wahre Wert rischen Mittelwertes µ im Vertrauens- bzw. Kondenzbereich 1−α des empi- x̂ liegt (Abb. 3.14). Die obere und untere Grenze des Vertrauensbereiches ergibt sich aus: Cu = x̂ − tf,1−α/2 · sx̂ (3.4) Co = x̂ + tf,1−α/2 · sx̂ mit sx̂ : t: f: empirische Standardabweichung Quantil der der Student-(t)-Verteilung Freiheitsgrad = Beobachtungen - Unbekannte 1−α: Sicherheitswahrscheinlichkeit Abb. 3.14: Vertrauensbereich Sollte ein Parameter als nicht signikant bestimmt werden, so wird er eliminiert und die Ausgleichung ohne diesen nochmals durchgeführt. 3.2.1 Kein Templateupdate Tn+1 (x, y) = T1 für alle Das neue Template n≥1 Tn+1 ergibt sich immer aus dem Starttemplate T1 . Bei dieser Strate- gie wird versucht in jeder Näherung bestmöglich die Ausgangsposition zu nden. Bei der 32 3 Programmstufen Augenverfolgung ergibt sich aber das Problem, dass das zu ndende Bildobjekt, das Auge, starken Schwankungen der umgebenen Grauwerte und der geometrischen Form unterliegt. Im Speziellen wäre dies der Fall, dass die Pupille am Augenrand positioniert ist (Abb. 3.15(b)). Das eigentliche Starttemplate kann nur schlecht angepasst werden. Eine einfache Lösung um diesem Aktualitätsproblem zu entgehen, ist ein Update des Templates in jedem Bild, in dem das Auge zu sehen ist. Dies wird als naives oder permanentes Templateupdate bezeichnet. (a) Startposition (b) Auge am Rand Abb. 3.15: Problem beim Matching des nicht aktuellen Bildobjektes 3.2.2 Naives Templateupdate V x pn)) Tn+1 (x, y) = Bn ( ( , für alle n≥1 Ein naives Templateupdate beschreibt eine Erneuerung des Templates in jedem Bild. Hierbei beschreibt der Parametervektor passte aktuelle Template (Bn ). V Tn p an der pT = h i a0 a1 a2 b0 b1 b2 das geometrisch angeh i T = Näherungsstelle mit x0 y0 im aktuellen Bild mit x x beschreibt die Verzerrung des Patches in Abhängigkeit von Näherung und An- parameter. Die in dem LSM berechneten neuen Bildkoordinaten für das radiometrisch und geometrisch angepasste Template, ist Grundlage zur Erstellung eines Templates an dieser Stelle im aktuellen Bild. Nachteil dieses permanenten Updates ist eine Drift des Templates. Kleine Fehler der Antransformationsparameter nach mehreren Bildern summieren sich auf und führen zu einem kontinuierlichen Drift des Templates (Abb. 3.16). Dieses repräsentiert nun nicht mehr das eigentlich zu verfolgende Objekt und ndet dementsprechend auch nicht mehr das Auge. Eine Möglichkeit den Drift des neuen Templates (Tn+1 ) zu verhindern ist es eine Korrektur mithilfe des ersten Templates (T1 ) der Bildreihe. 33 3.2 Programmstufe Least Squares Matching (a) Bild 1 (b) Bild 23 (c) Bild 38 Abb. 3.16: Drift des Strategie mit naivem Templateupdate 3.2.3 Templateupdate mit Driftkorrektur Die Probleme aus Kapitel 3.2.1 und 3.2.2 sollen mit dieser Variante beseitigt werden. Dazu wird eine Kombination der beiden Strategien angewendet. Zweistug werden die Parameter p der Antransformation bestimmt. Zuerst werden die Parameter ( n ) für die Anpassung des aktuellen Templates (Tn ) auf das Bild (Bn ), wie in Methode 3.2.2 bestimmt: pn = ∇p=min p X n−1 x∈Tn Vxp x [Bn ( ( , )) − Tn ( )]2 (3.5) Die Anparameter ergeben sich aus der Minimierung der Grauwertgradienten in x- und yRichtung wie in Gleichung (2.6 und 2.7) beschrieben. Als Näherungswerte gehen neben den p Koordinatentupel (x0 , y0 ) auch noch die Anparameter der letzten Anpassung ( n−1 ) ein. p∗ Im zweiten Schritt werden die Verzerrungsparameter ( n ) für die Anpassung des ersten Templates (T1 ) der Bildreihe auf das aktuelle Bild (Bn ), wie in Methode 3.2.1 berechnet: p∗n = ∇pmin =p n X x∈T1 Vxp x [Bn ( ( , )) − T1 ( )]2 (3.6) Die Näherungen für die Anparameter kommen aus Gleichung (3.5). Um den Drift, wie in Kapitel 3.2.2 beschrieben, zu verhindern, wird in jedem Schritt mithilfe des Starttemplates (T1 ) das leicht gedriftete Template (Tn+1 ) korrigiert. Die Driftkorrekturen der Lage sind meist nur im Subpixelbereich, aber notwendig um ein Abgleiten des Patches zu verhindern. Damit ein Template nun erneuert werden kann gilt nach [Matthews u. a. (2003)]: 34 3 Programmstufen Tab. 3.2: Driftkorrektur Bild Wenn sonst ε k Matching mit pn Matching mit p∗n (x,y) in Pixel (x,y) in Pixel Driftkorrektur (x,y) in Pixel 1 (489.292 , 319.261) (489.291 , 319.263) (-0.001 , 0.002) 18 (514.120 , 310.154) (513.107 , 310.190) (-1.013 , 0.036) 30 (535.318 , 306.537) (534.811 , 306.743) (-0.507 , 0.206) 55 (460.094 , 278.386) (459.663 , 278.240) (-0.431 , -0.146) 66 (485.520 , 271.721) (485.918 , 270.908) (0.398 , -0.813) p∗n − pnk ≤ ε , dann x p∗n)) Tn+1 (x, y) = Bn (V ( , Tn+1 (x, y) = Tn (x, y) ist ein kleiner Schwellwert, der versichern soll, dass sich die beiden Parametervektoren nicht zu sehr von einander unterscheiden. Ist die euklidische Norm der Dierenz der beiden Parametervektoren kleiner als der festgelegte Schwellwert ε, so kann ein Templateupdate vorgenommen werden. Andernfalls wird das alte Template beibehalten und zum Matching benutzt. Die Wahl des Schwellwertes ten Dierenzen k p pnk ∗− n ε fällt im Vorhinein sehr schwer, da der Wertebereich der normier- eine groÿe Spanne besitzt (z.B 0 ≤ k∆| ≤ 29.6). Eine Analyse der Werte ergibt, dass 50% der Punkte unter 1 liegen (Abb. 3.17), weshalb der Schwellwert mit 1 angenommen wurde. Wählt man ihn noch gröÿer wird das Template zu oft und zu leichtsinnig erneuert und es geschieht eine Drift wie in Kapitel 3.2.2 beschrieben. Ein zu niedrig gewählter Schwellwert bewirkt genau das Entgegengesetzte. Der Ähnlichkeitsanspruch zwischen den Parametervektoren pn und p∗n wird so hoch angesetzt das nahezu kein Templateupdate erfolgt und somit die Eigenschaften aus Kapitel 3.2.1 eintreten. Eine dynamische Bestimmung von ε durch Mittelung der 5 letzten Dierenzwerte brachte hingegen keinen Erfolg. In den ersten Bildern sind die normierten Dierenzen der Parameter und somit der Mittelwert so gering, dass später nie ein Templateupdate zugelassen wird. 3.2.4 Ergebnis Least Squares Matching Die gewonnen Erkenntnisse decken sich nicht vollkommen mit den Beobachtungen von [Matthews u. a. (2003)]. Übereinstimmungen gibt es bei der beobachteten Drift des naiven Templates (Kap. 3.2.2) nach nur wenigen Iterationen. Durch das einfache Templateupdate nach jedem Bild ohne Kontrolle, summieren sich kleine kaum bemerkbare Abweichungen (Tab. 3.2) in jedem Update auf. Nach einigen Iterationen haben sich die kleinen Abweichungen zu groÿen Lagefehlern entwickelt, die nicht mehr erkannt oder korrigiert werden können. Auch 35 3.2 Programmstufe Least Squares Matching Abb. 3.17: Verteilung der normierten Parametervektoren die beschrieben Beobachtungen bei einem statischen Template (Kap. 3.2.1) gleichen sich. Das veraltete Template repräsentiert oft nicht mehr das aktuelle Bildobjekt, wodurch es durch den LSM-Algorithmus zu ungewöhnlich starken Verzerrungen, Rotationen und letztendlich auch zu einer falschen Lagebestimmung kommt. Die vorausgesagte Besserung mit dem bedingten Templateupdate und der Driftkorrektur tritt nicht ein. Die Driftkorrektur verschlechtert das aktuell angepasste Patch vielmehr, als es zu verbessern (Abb. 3.19(c)). Eine Ursache sind die zum Teil schnellen Augenbewegungen (Abb. 3.2.4). Das Template hat hierdurch keine Möglichkeit sich der veränderten Form der Pupille Schritt für Schritt anzupassen. Die Voraussetzung für ein Templateupdate, eine Ähnlichkeit der beiden Parametervektoren pn und p∗n , ist dadurch nicht gegeben und kann sich der neuen Umgebung nicht anpassen. Somit wird mit einem nur wenig verändertem Template (im Vergleich zu dem statischen Template) das Matching fortgesetzt. Aufgrund dieser mangelhaften Anpassung ähneln sich die Ergebnisse der beiden Strategien sehr (Abb. 3.19), was sich auch in einem ähnlichen Konvergenzverhalten der Patches wiederspiegelt. Dieses liegt bei einer exemplarischen Bildreihe bei beiden Strategien in etwa bei 50% der Bilder (Abb. 3.20). Die zusätzlichen Iterationen zur Driftkorrektur mit dem Starttemplate verschlechtern die Anpassung des Patches zusätzlich (Abb. 3.19(c)). Das Konvergenzverhalten ist stark abhängig von der Genauigkeit der a-posteriori Standardabweichung σ0 . Ist σ0 zu groÿ ist die Wahrschein- lichkeit einer Konvergenz geringer. Eine andere Ursache ist die starke Änderung der Grauwerte bei seitlichen Blickrichtungen. Damit das Patch genügend Textur bekommt und somit die gute Bestimmung der Anparameter gewährleistet ist, wird es ein wenig über die Iris hinaus aufgespannt, sodass noch helle Werte vom Auge im Patch vorhanden sind. Bei einer seitlichen Blickrichtung verschwin- 36 3 Programmstufen (a) Bild 20 (b) Bild 21 Abb. 3.18: schnelle Blickrichtungsänderung in zwei aufeinanderfolgenden Bildern (a) fehlerhaftes Matching mit sta- (b) fehlerhaftes Matching mit be- (c) fehlerhaftes Matching mit betischem Template dingt erneuertem Template dingt erneuertem Template und Driftkorrektur Abb. 3.19: Vergleich der Matchingergebnisse det eine helle Seite komplett, wodurch das Matching nun sehr erschwert wird. Da die hellen Grauwerte auf einer Seite nun fehlen, wird das Patch durch dem LSM-Algorithmus verzerrt. Dies führt unweigerlich auch zu einer Drift des Patchmittelpunktes und somit zu einer Fehlpositionierung des Auges. 3.2 Programmstufe Least Squares Matching (a) Konvergenzverhalten der Strategie ohne Templateupdate (b) fehlerhaftes Matching mit bedingt erneuertem Template Abb. 3.20: Konvergenzverhalten 37 38 3 Programmstufen 4 Zusammenfassung der Ergebnisse und Ausblick 4.1 Zusammenfassung der Ergebnisse Eine Augenverfolgung mit den beiden Matchingverfahren Kreuzkorrelation und LSM brachte unterschiedliche Ergebnisse. Die sich weniger anpassende Kreuzkorrelation brachte hierbei zufriedenstellendere Resultate als die grauwertausgleichende Methode Least Squares Matching. Durch Verizierung und bedingte Templateupdates mit Gröÿenvariation wird die sehr statisch wirkende Kreuzkorrelation sehr stark dynamisiert. Die mangelnde Anpassung der Patchform und ihre Unsensibilität gegenüber kleinen Grauwertänderungen in deren Umgebung machen sie jedoch gleichzeitig sehr robust. Datenauswertungen innerhalb weniger Bruchteile von Sekunden favorisieren sie für ein Echtzeitanalyseverfahren. Das Least Squares Matching liefert hier nur ungenügend zuverlässige Ergebnisse. Starken Grauwertänderungen in der Umgebung der Augen und teilweise sprunghafte Änderungen der Form der Iris lassen den Algorithmus häug nicht konvergieren und abdriften. Die Verizierung der ermittelten Augenkoordinaten durch Fixpunkte auf invarianten Gesichtspartien und die Analyse des Augenzustandes spielt eine entscheidende Rolle bei der Augenverfolgung. Eine falsch bestimmte Position und ein fehlerhaftes Templateupdate in einem Bild, machen eine Augenverfolgung in allen nachfolgenden Bildern schwierig oder unmöglich. Dabei ist die Erkennung des Lidschlusses genauso wichtig, wie Kontrolle der Lage der Augen zu den Fixpunkten und der Fixpunkte untereinander. Somit werden eine Fehlerkennung und ein falsches Update vermieden. Mithilfe der Fixpunkte lassen sich auch Aufschlüsse über die Kopfbewegungen treen. Es ist somit möglich weitere Informationen über das Verhalten des Probanden zu erfassen. Kopfbewegung und Augenbewegung lassen sich so von einander trennen und ermöglichen eine unabhängige Analyse. Der Nachteil des beschriebenen Programms ist die fehlende Bestimmung der exakten Blickrichtung. Es lässt zwar die Erfassung einer Änderung der Blickrichtung zu, jedoch bleibt die genaue Blickrichtung auf das Objekt unbestimmt. 40 4 Zusammenfassung der Ergebnisse und Ausblick 4.2 Ausblick Abhilfe bei dem Problem des Blickrichtungsbestimmung schat die Bestrahlung der Pupille mit infrarotem Licht. Durch die in Kapitel (2.1.3) angesprochene Cornea-Reex-Methode, lässt sich über den Vektor der Pupille (Abb. 4.1(a) 1) zu dem von der Infrarotquelle erzeugtem Punkt (Abb. 4.1(a) 2) auf dem Auge eine Blickrichtung ableiten. Die Verwendung von infrarotem Licht, hat keine Nachteile bezüglich der Beeinussung des Probanden, da es für ihn nicht sichtbar ist. Ein Vorteil des Infrarotlichtes ist die Entstehung einer deutlichen Abgrenzung von Pupille zu Iris, was eine spätere Bildverarbeitung noch vereinfachen würde. (a) Infrarotbestrahlung Cornea-Reexion des Auges mit (b) binokulares Eyetracking System Abb. 4.1: Erweiterungen für Eyetrackingsysteme von [InteractiveMinds] Ausgereifte Eyetracking Systeme verfügen über nachführbare Kameras und automatische Augenerkennung. Hierdurch wird die manuelle Erstellung von Anfangspunkten automatisiert. Eine Kameranachführung hat den Vorteil, das Kopfbewegungen kompensiert werden und keinen Einuss auf die Blickrichtunsganalyse hat. Eine Erweiterung von monokularem auf binokularem Sehen ermöglicht die Bestimmung von 3D-Koordinaten, wodurch die Fokussierung der Kamera ständig an die Entfernung der Augen angepasst werden kann. Eine Bildrate von bis zu 120Hz ermöglicht eine Erfassung der Augen ohne Bewegungssprünge. Dies würde eine Anpassung durch LSM besser ermöglichen. Literaturverzeichnis [Baltsavias 1999] Baltsavias, E. P.: Matching Verfahren und automatische DTM Generierung / ETH Zürich. 1999. Forschungsbericht Bente, G. ; Mangold, R. (Hrsg.) ; Bente, G. (Hrsg.) ; Vorderer, P. [Bente 2004] Erfassung und Analyse des Blickverhaltens / Assessment and analysis of eye movements. Hogrefe, 2004 (Hrsg.): Eyelink: http://www.eyelinkinfo.com. Complete Eye Tracking Solutions [InteractiveMinds ] InteractiveMinds: http://www.interactive-minds.com. Der [Eyelink ] professionelle Entwickler von Eye Tracking-Lösungen mit weltweiter Distribution. Kraus, K.: Photogrammetrie Band 2: Verfeinerte Methoden und [Kraus 1996] Anwendungen. [Luhmann 2003] Dümmlers Verlag, Bonn, 1996 Luhmann, Thomas: Nahbereichsphotogrammetrie 2.Auage; Grundlagen, Methoden, Anwendungen. [Malchau u. a. ] Herbert Wichmann Verlag, 2003 Malchau, W. ; Märtner, S. ; Majer, C. ; Redel, B.and H. S.: Eye-Tracking / Hochschule der Medien Stuttgart. Forschungsbericht [Matthews u. a. 2003] Matthews, I. ; Ishikawa, T. ; Baker, S.: The Template Update Problem / The Robotics Institute, Carnegie Mellon University. 2003. Forschungsbericht [Schandry 1989] Schandry, Rainer: Lehrbuch Psychophysiologie. Körperliche Indikatoren psychischen Geschehens. 2.Auage. [Schneider und Kurt 2000] Psychologie Verlags Union, 1989 Schneider, G. ; Kurt, J.: Technische Prinzipien zur Messung der Blickrichtung und der Augenbewegung. Schneider, G. and Kurt, J., 2000 Tobii: http://www.tobii.com. Eye Tracking and Eye Control [Westfeld 2005] Westfeld, Patrick: Entwicklung von Verfahren zur räumlich und [Tobii ] zeitlich aufgelösten 2D-Bewegungsanalyse in der Glaziologie / TU Dresden. 2005. Forschungsbericht [Zipp 1988] Zipp, Peter: Optimierung der Oberächenableitung bioelektrischer Signale. Fortschrittsberichte VDI, Reihe 17: Biotechnik, Nr. 45. VDI-Verlag, 1988