30
PROJEKT: GAZE TRACKING Machine Learning Letztes Update: 23. Februar 2017 Nadja Kurz Studienbereich Informatik Hochschule RheinMain

Projekt: Gaze Tracking - Machine Learningulges/teaching/16ML/files/talks/gaze_kurz.pdfGliederung Einleitung Datengrundlage Architektur und verfolgte Ans atze Normalisierung Experimente

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Projekt: Gaze Tracking - Machine Learningulges/teaching/16ML/files/talks/gaze_kurz.pdfGliederung Einleitung Datengrundlage Architektur und verfolgte Ans atze Normalisierung Experimente

PROJEKT: GAZE TRACKINGMachine Learning

Letztes Update: 23. Februar 2017

Nadja Kurz

Studienbereich InformatikHochschule RheinMain

Page 2: Projekt: Gaze Tracking - Machine Learningulges/teaching/16ML/files/talks/gaze_kurz.pdfGliederung Einleitung Datengrundlage Architektur und verfolgte Ans atze Normalisierung Experimente

Gliederung Einleitung Datengrundlage Architektur und verfolgte Ansatze Normalisierung Experimente Fazit

GLIEDERUNG

1. Einleitung

2. Datengrundlage

3. Architektur und verfolgte Ansatze

4. Normalisierung

5. Experimente

6. Fazit

2

Page 3: Projekt: Gaze Tracking - Machine Learningulges/teaching/16ML/files/talks/gaze_kurz.pdfGliederung Einleitung Datengrundlage Architektur und verfolgte Ans atze Normalisierung Experimente

Einleitung

Page 4: Projekt: Gaze Tracking - Machine Learningulges/teaching/16ML/files/talks/gaze_kurz.pdfGliederung Einleitung Datengrundlage Architektur und verfolgte Ans atze Normalisierung Experimente

Gliederung Einleitung Datengrundlage Architektur und verfolgte Ansatze Normalisierung Experimente Fazit

ZIELE BZW. INHALTE

I Entwicklung eines CNNs zum Gaze Tracking

I Erkennen von Gesichtsmerkmalen und der 3D-Kopfrotation

I Normalisierung von Bildern einer Webcam

I Entwicklung einer Anwendung zum Sammeln personlicherTrainingsdaten

I Entwicklung einer lauffahigen DemoI Darstellen der Blickrichtung auf dem BildschirmI Sammeln von personlichen TrainingsdatenI ’Zusatztraining’ mit den personlichen Daten

4

Page 5: Projekt: Gaze Tracking - Machine Learningulges/teaching/16ML/files/talks/gaze_kurz.pdfGliederung Einleitung Datengrundlage Architektur und verfolgte Ans atze Normalisierung Experimente

Gliederung Einleitung Datengrundlage Architektur und verfolgte Ansatze Normalisierung Experimente Fazit

DATENQUELLEN

I Appearance-based Gaze Estimation in the Wild by X. Zhang,Y. Sugano, M. Fritz and A. Bulling

I CNN-ArchitekturI Normalisierungsansatz

I Learning-by-synthesis for appearance-based 3d gazeestimation by Y. Sugano, Y. Matsushita and Y. Sato

I NormalisierungI Sammeln von eigenen Trainingsdaten (Anwendung)

5

Page 6: Projekt: Gaze Tracking - Machine Learningulges/teaching/16ML/files/talks/gaze_kurz.pdfGliederung Einleitung Datengrundlage Architektur und verfolgte Ans atze Normalisierung Experimente

Datengrundlage

Page 7: Projekt: Gaze Tracking - Machine Learningulges/teaching/16ML/files/talks/gaze_kurz.pdfGliederung Einleitung Datengrundlage Architektur und verfolgte Ans atze Normalisierung Experimente

Gliederung Einleitung Datengrundlage Architektur und verfolgte Ansatze Normalisierung Experimente Fazit

MPIIGAZE

I 213.659 Bilder von 15 verschiedenen Personen

I Bilder wurden in ’naturlicher’ Umgebung aufgenommen

I Zeitraum: 3 Monate

I verschiedene Kopfpositionen / Ausrichtungen des Kopfes

Abbildung: Einige Bsp. der normalisierten Bilder des MPIIGaze Datensets.

7

Page 8: Projekt: Gaze Tracking - Machine Learningulges/teaching/16ML/files/talks/gaze_kurz.pdfGliederung Einleitung Datengrundlage Architektur und verfolgte Ans atze Normalisierung Experimente

Gliederung Einleitung Datengrundlage Architektur und verfolgte Ansatze Normalisierung Experimente Fazit

MPIIGAZE

I (Relevante) Inhalte des Datensets:I Original-Bilder (nur Ausschnitte der Augenpartien)I Normalisierte Bilder einzelner Augen (60x36 Pixel)I Kopfrotation in 3D-KoordinatenI Groundtruth in Form von 3D-Koordinaten der ’gaze direction’

Abbildung: Einige Bsp. der normalisierten Bilder des MPIIGaze Datensets.

8

Page 9: Projekt: Gaze Tracking - Machine Learningulges/teaching/16ML/files/talks/gaze_kurz.pdfGliederung Einleitung Datengrundlage Architektur und verfolgte Ans atze Normalisierung Experimente

Gliederung Einleitung Datengrundlage Architektur und verfolgte Ansatze Normalisierung Experimente Fazit

PERSONLICHE TRAININGSDATEN

I Idee: das auf den MPIIGaze-Daten trainierte CNN mitpersonlichen Daten ’verfeinern’

I 237 verschiedene Bilder von mir selbstI unterschiedliche Umgebungen zu unterschiedlichen ZeitenI Einschrankung: Keine Rotation des Kopfes erlaubt

I Augen auf einer Hohe mit der Kamera in einem 90◦ Winkel

Abbildung: Schematische Darstellung der Kopfposition in Relation zur Kamera.

9

Page 10: Projekt: Gaze Tracking - Machine Learningulges/teaching/16ML/files/talks/gaze_kurz.pdfGliederung Einleitung Datengrundlage Architektur und verfolgte Ans atze Normalisierung Experimente

Gliederung Einleitung Datengrundlage Architektur und verfolgte Ansatze Normalisierung Experimente Fazit

PERSONLICHE TRAININGSDATEN

I Weitere Einschrankungen:I Halbwegs beleuchtete UmgebungI Keine Brillen oder andere Objekte vor den AugenI Nur Bilder von einem Auge (hier: das Linke)

Abbildung: Einige Bsp. der normalisierten personlichen Trainingsbilder.

10

Page 11: Projekt: Gaze Tracking - Machine Learningulges/teaching/16ML/files/talks/gaze_kurz.pdfGliederung Einleitung Datengrundlage Architektur und verfolgte Ans atze Normalisierung Experimente

Architektur und verfolgte Ansatze

Page 12: Projekt: Gaze Tracking - Machine Learningulges/teaching/16ML/files/talks/gaze_kurz.pdfGliederung Einleitung Datengrundlage Architektur und verfolgte Ans atze Normalisierung Experimente

Gliederung Einleitung Datengrundlage Architektur und verfolgte Ansatze Normalisierung Experimente Fazit

PITCH UND YAW

+ yaw- yaw

+ pitch

- pitch

12

Page 13: Projekt: Gaze Tracking - Machine Learningulges/teaching/16ML/files/talks/gaze_kurz.pdfGliederung Einleitung Datengrundlage Architektur und verfolgte Ans atze Normalisierung Experimente

Gliederung Einleitung Datengrundlage Architektur und verfolgte Ansatze Normalisierung Experimente Fazit

NETZARCHITEKTUR

I Eingabe: Normalisiertes Bild eines linken/rechten AugesI Ausgabe: 2 Winkel - Pitch und Yaw

I Pitch: Drehung des Augapfels um die horizontale AchseI Yaw: Drehung des Augapfels um die vertikale Achse

Abbildung: Netzwerkarchitektur des implementierten CNNs [Source: 1]

1Appearance-based Gaze Estimation in the Wild, X. Zhang, Y. Sugano, M. Fritz, A. Bulling

13

Page 14: Projekt: Gaze Tracking - Machine Learningulges/teaching/16ML/files/talks/gaze_kurz.pdfGliederung Einleitung Datengrundlage Architektur und verfolgte Ans atze Normalisierung Experimente

Gliederung Einleitung Datengrundlage Architektur und verfolgte Ansatze Normalisierung Experimente Fazit

FREIE PARAMETER

I Optimization-Algorithmus: AdamOptimizerI weitere freie Parameter geandert: beta1, beta2, epsilonI Durch Trial & Error bestimmt

I Loss-Funktion: Summe des quadratischen FehlersI Wichtig! Summe fur Pitch und Yaw getrennt → 2 LossesI Optimierung auf beiden Werten parallel

n∑i=0

(output pitch − target pitch)2

n∑i=0

(output yaw − target yaw)2

14

Page 15: Projekt: Gaze Tracking - Machine Learningulges/teaching/16ML/files/talks/gaze_kurz.pdfGliederung Einleitung Datengrundlage Architektur und verfolgte Ans atze Normalisierung Experimente

Gliederung Einleitung Datengrundlage Architektur und verfolgte Ansatze Normalisierung Experimente Fazit

FREIE PARAMETER

I Weitere freie Parameter zur Netzarchitektur:I Initialisierung der Gewichte:

I Convolutional-Layers: Zufallige Werte der NormalverteilungI FC-Layers: Xavier-Initialisierung2

I Initialisierung der Biases: Konstant 0.1

I Allgemeine Parameter zum Training des Netzes:I Batchsize:

I Training auf MPIIGaze: 1000I Training auf personlichen Daten: 100

I Learningrate: 1e − 4 = 0.0001I Anzahl Iterationen:

I Training auf MPIIGaze: 30.000I Training auf personlichen Daten: 6 1.000

2Algorithmus, der die Gewichte so initialisiert, dass diese ’gerade so passen’.

15

Page 16: Projekt: Gaze Tracking - Machine Learningulges/teaching/16ML/files/talks/gaze_kurz.pdfGliederung Einleitung Datengrundlage Architektur und verfolgte Ans atze Normalisierung Experimente

Normalisierung

Page 17: Projekt: Gaze Tracking - Machine Learningulges/teaching/16ML/files/talks/gaze_kurz.pdfGliederung Einleitung Datengrundlage Architektur und verfolgte Ans atze Normalisierung Experimente

Gliederung Einleitung Datengrundlage Architektur und verfolgte Ansatze Normalisierung Experimente Fazit

NORMALISIERUNG

I Hintergrund: Augen sehen je nach Kopfposition anders ausI Idee: Transformation des Gesichtes, sodass Kamera direkt vor

den Augen positioniert istI Perspektivische Transformation (Skalierung und Rotation)

I Histogramm-Normalisierung: Reduzierung der Auswirkungenverschiedener Lichtverhaltnisse

17

Page 18: Projekt: Gaze Tracking - Machine Learningulges/teaching/16ML/files/talks/gaze_kurz.pdfGliederung Einleitung Datengrundlage Architektur und verfolgte Ans atze Normalisierung Experimente

Gliederung Einleitung Datengrundlage Architektur und verfolgte Ansatze Normalisierung Experimente Fazit

NORMALISIERUNG - ABLAUF

1. Erkennung von Landmarks

2. Berechnung von Kopfrotation und -transformation (solvePnP)I In Relation zu einem generischen 3D-Kopf-Modell

3. Berechnung einer ’Homography’ Matrix

4. Perspektivische Transformation

5. Histogramm-Normalisierung

6. Ausschneiden und Skalierung der Augen

18

Page 19: Projekt: Gaze Tracking - Machine Learningulges/teaching/16ML/files/talks/gaze_kurz.pdfGliederung Einleitung Datengrundlage Architektur und verfolgte Ans atze Normalisierung Experimente

Experimente

Page 20: Projekt: Gaze Tracking - Machine Learningulges/teaching/16ML/files/talks/gaze_kurz.pdfGliederung Einleitung Datengrundlage Architektur und verfolgte Ans atze Normalisierung Experimente

Gliederung Einleitung Datengrundlage Architektur und verfolgte Ansatze Normalisierung Experimente Fazit

GUTEMASS

Durchschnittliche Abweichung [Grad]

1

#Samples

∑|target yaw − actual yaw |

1

#Samples

∑|target pitch − actual pitch|

20

Page 21: Projekt: Gaze Tracking - Machine Learningulges/teaching/16ML/files/talks/gaze_kurz.pdfGliederung Einleitung Datengrundlage Architektur und verfolgte Ans atze Normalisierung Experimente

Gliederung Einleitung Datengrundlage Architektur und verfolgte Ansatze Normalisierung Experimente Fazit

UBERSICHT: EXPERIMENTE

Experiment Vortraining Zusatztraining

1 MPIIGaze —2 MPIIGaze Nur eigene Daten (227 Bilder)3 MPIIGaze Eigene Daten (227 Bilder) +

MPIIGaze (x Bilder) Daten4 Eigene Daten —

Abbildung: Links: 1. Testset (52 Bilder), Rechts: 2. Testset (90 Bilder)

21

Page 22: Projekt: Gaze Tracking - Machine Learningulges/teaching/16ML/files/talks/gaze_kurz.pdfGliederung Einleitung Datengrundlage Architektur und verfolgte Ans atze Normalisierung Experimente

Gliederung Einleitung Datengrundlage Architektur und verfolgte Ansatze Normalisierung Experimente Fazit

ERGEBNISSE

0 1 2

Pitch

3 4 5Durchschnittliche Abweichung in Grad

1. Testset 2. Testset

4. Experiment

2:1

1:2

1:1

3. Experiment

2:1

1:2

1:1

3. Experiment

4. Experiment

22

Page 23: Projekt: Gaze Tracking - Machine Learningulges/teaching/16ML/files/talks/gaze_kurz.pdfGliederung Einleitung Datengrundlage Architektur und verfolgte Ans atze Normalisierung Experimente

Gliederung Einleitung Datengrundlage Architektur und verfolgte Ansatze Normalisierung Experimente Fazit

ERGEBNISSE - PITCH

0 1 2

Pitch

3 4 5Durchschnittliche Abweichung in Grad

1. Testset 2. Testset

4. Experiment

2:1

1:2

1:1

3. Experiment

23

Page 24: Projekt: Gaze Tracking - Machine Learningulges/teaching/16ML/files/talks/gaze_kurz.pdfGliederung Einleitung Datengrundlage Architektur und verfolgte Ans atze Normalisierung Experimente

Gliederung Einleitung Datengrundlage Architektur und verfolgte Ansatze Normalisierung Experimente Fazit

ERGEBNISSE - YAW

2:1

1:2

1:1

3. Experiment

4. Experiment

24

Page 25: Projekt: Gaze Tracking - Machine Learningulges/teaching/16ML/files/talks/gaze_kurz.pdfGliederung Einleitung Datengrundlage Architektur und verfolgte Ans atze Normalisierung Experimente

Gliederung Einleitung Datengrundlage Architektur und verfolgte Ansatze Normalisierung Experimente Fazit

ERGEBNISSE - ZUSAMMENFASSUNG

I MPIIGaze vs personliche Daten:I Personliche Daten verbessern QualitatI Eventuell abhangig von der NormalisierungI MPIIGaze + Zusatztraining = gute Alternative

I Zusatztraining:I Kann Generalisierungsfahigkeit beeintrachtigenI Verbessert Qualitat fur einzelne Person deutlich

I Pitch ist schwieriger zu Klassifizieren als Yaw

I Insgesamt: Durchschnittliche Abweichung < 5◦

25

Page 26: Projekt: Gaze Tracking - Machine Learningulges/teaching/16ML/files/talks/gaze_kurz.pdfGliederung Einleitung Datengrundlage Architektur und verfolgte Ans atze Normalisierung Experimente

Fazit

Page 27: Projekt: Gaze Tracking - Machine Learningulges/teaching/16ML/files/talks/gaze_kurz.pdfGliederung Einleitung Datengrundlage Architektur und verfolgte Ans atze Normalisierung Experimente

Gliederung Einleitung Datengrundlage Architektur und verfolgte Ansatze Normalisierung Experimente Fazit

FAZIT UND AUSBLICK

I MPIIGaze Daten sind teilweise nicht brauchbarI Normalisierung wurde in dem Originalpaper kaum erlautert

I Viel ’herumprobieren’ und nachforschen in Quellen des Papers

I Training hat nicht mit den gleichen Parametern des CNNs desOriginalpapers funktioniert (andere Learningrate, etc.)

Abbildung: Ausschnitt einiger problematischer Bilder des MPIIGaze Datensets.

27

Page 28: Projekt: Gaze Tracking - Machine Learningulges/teaching/16ML/files/talks/gaze_kurz.pdfGliederung Einleitung Datengrundlage Architektur und verfolgte Ans atze Normalisierung Experimente

Gliederung Einleitung Datengrundlage Architektur und verfolgte Ansatze Normalisierung Experimente Fazit

FAZIT UND AUSBLICK

I Brauchbare Lossfunktion zu bestimmen war großte HurdeI Optimierung mit kombiniertem Losswert hat nicht funktioniertI Lossfunktion, die im Originalpaper verwendet wurde, hat

Fehlermeldungen erzeugt

I Weitere Ansatze, die nicht umgesetzt wurden:I Andere CNN Architektur bzw. komplexere

I Mehr Convolutional LayerI Nicht nur max Pooling

28

Page 29: Projekt: Gaze Tracking - Machine Learningulges/teaching/16ML/files/talks/gaze_kurz.pdfGliederung Einleitung Datengrundlage Architektur und verfolgte Ans atze Normalisierung Experimente

Gliederung Einleitung Datengrundlage Architektur und verfolgte Ansatze Normalisierung Experimente Fazit

Vielen Dank fur IhreAufmerksamkeit

29

Page 30: Projekt: Gaze Tracking - Machine Learningulges/teaching/16ML/files/talks/gaze_kurz.pdfGliederung Einleitung Datengrundlage Architektur und verfolgte Ans atze Normalisierung Experimente

Gliederung Einleitung Datengrundlage Architektur und verfolgte Ansatze Normalisierung Experimente Fazit

QUELLEN

I Appearance-based Gaze Estimation in the Wild,X. Zhang, Y. Sugano, M. Fritz, A. Bulling

I Learning-by-synthesis for appearance-based 3dgaze estimation by Y. Sugano, Y. Matsushitaand Y. Sato

I Head Pose Estimation. Available fromhttp://www.learnopencv.com/

head-pose-estimation-using-opencv-and-dlib/

I Dlib - Landmark detection. Available fromhttps://matthewearl.github.io/2015/07/

28/switching-eds-with-python/

I Perspective Transformation. Available fromhttp:

//stackoverflow.com/questions/23275877/

opencv-get-perspective-matrix-from-translation-rotation

I Special Olympics Osterreich. ArnoldSchwarzenegger. Available fromhttps://www.flickr.com/photos/

so-austria/19948240828/ License.

30