Studienarbeit

Werbung
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
Herunterladen