Folien der Verteidigung (.pdf - 2.9 MB) - Faculty of Computer Science
Folien der Verteidigung (.pdf - 2.9 MB) - Faculty of Computer Science
Folien der Verteidigung (.pdf - 2.9 MB) - Faculty of Computer Science
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Fakultät Informatik Institut für S<strong>of</strong>tware- und Multimediatechnik, Pr<strong>of</strong>essur für <strong>Computer</strong>graphik und Visualisierung<br />
Gestenbasierte Steuerung von interaktiven<br />
Umgebungen mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Diplomverteidigung<br />
Ludwig Schmutzler<br />
Dresden, 31.01.2013
Quelle: http://www.gocomics.com/brevity/2011/01/31<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 2
Motivation<br />
• Verfolgen und Interpretieren von Nutzerbewegungen<br />
Steuerung virtueller Objekte / Auslösen von Aktionen<br />
• Micros<strong>of</strong>t Kinect ermöglicht das Nachverfolgen in 3D<br />
Bild-Quelle: http://www.xbox.com/de-DE/Kinect/GetStarted<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 3
Zielstellung <strong>der</strong> Arbeit<br />
• Beschränkung auf Hände und Arme, Ausnutzung d. Potenzials <strong>der</strong> Kinect<br />
Anfor<strong>der</strong>ungen:<br />
• Robustheit gegenüber<br />
Lichtverhältnissen Kleidung Körperproportionen Kamera-/Nutzerstandort<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 4
Zielstellung <strong>der</strong> Arbeit<br />
• Beschränkung auf Hände und Arme, Ausnutzung d. Potenzials <strong>der</strong> Kinect<br />
Anfor<strong>der</strong>ungen:<br />
• Robustheit gegenüber<br />
Lichtverhältnissen Kleidung Körperproportionen Kamera-/Nutzerstandort<br />
Kinect<br />
geeignete Modellbeschreibung<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 5
Zielstellung <strong>der</strong> Arbeit<br />
• Beschränkung auf Hände und Arme, Ausnutzung d. Potenzials <strong>der</strong> Kinect<br />
Anfor<strong>der</strong>ungen:<br />
• Robustheit gegenüber<br />
Lichtverhältnissen Kleidung Körperproportionen Kamera-/Nutzerstandort<br />
Kinect<br />
geeignete Modellbeschreibung<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 6
Zielstellung <strong>der</strong> Arbeit<br />
• Beschränkung auf Hände und Arme, Ausnutzung d. Potenzials <strong>der</strong> Kinect<br />
Anfor<strong>der</strong>ungen:<br />
• Robustheit gegenüber<br />
Lichtverhältnissen Kleidung Körperproportionen Kamera-/Nutzerstandort<br />
Kinect<br />
geeignete Modellbeschreibung<br />
• schnelle Berechnungen, Echtzeitfähigkeit<br />
• Erkennung von arbiträren Gesten aus dem Bewegungsfluss heraus<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 7
Zielstellung <strong>der</strong> Arbeit<br />
beson<strong>der</strong>e Herausfor<strong>der</strong>ungen:<br />
• Entwickeln eines Gestenkonzeptes<br />
• komplexes Zusammenspiel <strong>der</strong> einzelnen System-Komponenten realisieren<br />
• Ungenauigkeiten des Trackings durch robustes Filtern ausgleichen<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 8
Glie<strong>der</strong>ung<br />
1. Grundlagen<br />
Modellkomponenten, Gestenkonzept<br />
2. Gestenerkennungssystem<br />
Sensordaten, Posenmodell, Erkennungsverfahren<br />
3. Diskussion<br />
Ergebnisse, Bewertung, Ausblick<br />
4. Demonstration<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 9
1. Grundlagen<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 10
Theoretische Grundlagen – Gestenkosmos<br />
Ein Blick in die reale Welt:<br />
Gesten sind Kommunikationsmittel, wichtig für den Menschen<br />
Beispiel<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 11
Theoretische Grundlagen – Gestenkosmos<br />
Bild-Quelle: http://www.facebook.com/brandpermissions/logos.php<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 12
Theoretische Grundlagen – Modellierung<br />
Geste<br />
(Wie<strong>der</strong>-)Erkennen<br />
Interpretieren<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 13
Theoretische Grundlagen – Modellierung<br />
Geste<br />
(Wie<strong>der</strong>-)Erkennen<br />
Interpretieren<br />
Bedeutungsmodellierung ist<br />
Aufgabe <strong>der</strong> Anwendung<br />
Demonstrationsanwendung<br />
im Rahmen <strong>der</strong> Arbeit<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 14
Theoretische Grundlagen – Modellierung<br />
Geste<br />
(Wie<strong>der</strong>-)Erkennen einer<br />
Struktur über ein Modell<br />
Interpretieren<br />
Modellierungskonzepte:<br />
• explizites Vorgeben von Größen<br />
• Definieren von Zustandsfolgen<br />
Bedeutungsmodellierung ist<br />
Aufgabe <strong>der</strong> Anwendung<br />
Demonstrationsanwendung<br />
im Rahmen <strong>der</strong> Arbeit<br />
• mathematische Beschreibung von<br />
Bewegungskurven<br />
• Aufzeichnen von Zeitreihen durch den Nutzer<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 15
Theoretische Grundlagen – Modellierung<br />
Geste<br />
(Wie<strong>der</strong>-)Erkennen einer<br />
Struktur über ein Modell<br />
Interpretieren<br />
Modellierungskonzepte:<br />
• explizites Vorgeben von Größen<br />
• Definieren von Zustandsfolgen<br />
Bedeutungsmodellierung ist<br />
Aufgabe <strong>der</strong> Anwendung<br />
Demonstrationsanwendung<br />
im Rahmen <strong>der</strong> Arbeit<br />
• mathematische Beschreibung von<br />
Bewegungskurven<br />
• Aufzeichnen von Zeitreihen durch den Nutzer<br />
Im Rahmen <strong>der</strong><br />
Arbeit verwendet<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 16
Theoretische Grundlagen – Modellierung<br />
Noch etwas mehr Modellierung…<br />
• modularer Mensch, funktionale Trennung von Hand und restl. Oberkörper<br />
Hand<br />
Handposition<br />
Handform<br />
Oberkörper<br />
Körperwinkel<br />
Folge von<br />
Körperhaltungen<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 17
Theoretische Grundlagen – Modellierung<br />
Noch etwas mehr Modellierung…<br />
• modularer Mensch, funktionale Trennung von Hand und restl. Oberkörper<br />
Hand<br />
Handposition<br />
Handform<br />
Oberkörper<br />
Körperwinkel<br />
Folge von<br />
Körperhaltungen<br />
Gestenarten [KS05]:<br />
deiktische Geste<br />
manipulative Geste<br />
semaphorische Geste<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 18
Theoretische Grundlagen – Modellierung<br />
Noch etwas mehr Modellierung…<br />
• modularer Mensch, funktionale Trennung von Hand und restl. Oberkörper<br />
Hand<br />
Handposition<br />
Handform<br />
Oberkörper<br />
Körperwinkel<br />
Folge von<br />
Körperhaltungen<br />
Gestenarten [KS05]:<br />
deiktische Geste<br />
manipulative Geste<br />
semaphorische Geste<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19
Theoretische Grundlagen – Modellierung<br />
Noch etwas mehr Modellierung…<br />
• modularer Mensch, funktionale Trennung von Hand und restl. Oberkörper<br />
Hand<br />
Handposition<br />
Handform<br />
Oberkörper<br />
Körperwinkel<br />
Folge von<br />
Körperhaltungen<br />
Gestenarten [KS05]:<br />
deiktische Geste<br />
manipulative Geste<br />
semaphorische Geste<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 20
Theoretische Grundlagen – Modellierung<br />
Noch etwas mehr Modellierung…<br />
• modularer Mensch, funktionale Trennung von Hand und restl. Oberkörper<br />
Hand<br />
Handposition<br />
Handform<br />
Oberkörper<br />
Körperwinkel<br />
Folge von<br />
Körperhaltungen<br />
Gestenarten [KS05]:<br />
deiktische Geste<br />
manipulative Geste<br />
semaphorische Geste<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 21
Theoretische Grundlagen – Modellierung<br />
Noch etwas mehr Modellierung…<br />
• modularer Mensch, funktionale Trennung von Hand und restl. Oberkörper<br />
Hand<br />
Handposition<br />
Handform<br />
Oberkörper<br />
Körperwinkel<br />
Folge von<br />
Körperhaltungen<br />
Gestenarten [KS05]:<br />
deiktische Geste<br />
manipulative Geste<br />
semaphorische Geste<br />
Aufgabe des<br />
Erkennersystems<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 22
2. Gestenerkennungssystem<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 23
Gestenerkennung – Übersicht<br />
Gesamtsystem<br />
Kinect<br />
Gestenerkenner<br />
Applikation<br />
Nutzeraktion<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 24
Gestenerkennung – Übersicht<br />
Gesamtsystem<br />
Kinect<br />
Gestenerkenner<br />
Applikation<br />
Nutzeraktion<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 25
Gestenerkennung – Sensordaten<br />
Kinect Sensor liefert mit 30 fps [Mic12]:<br />
• RGB-Video (bis 1280x960)<br />
• Tiefendaten (bis 640x480), Objekt -<br />
Abstand in Millimetern (13-bit)<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 26
Gestenerkennung – Sensordaten<br />
Kinect Sensor liefert mit 30 fps [Mic12]:<br />
• RGB-Video (bis 1280x960)<br />
s 3<br />
s 2<br />
s 8 s 4<br />
• Tiefendaten (bis 640x480), Objekt -<br />
Abstand in Millimetern (13-bit)<br />
s 9 s 5<br />
s 1<br />
s 0<br />
s 10 s 6<br />
s 11 s 16 s 12 s 7<br />
• Skelettdaten:<br />
20 markante Körperpunkte im sog.<br />
Skeleton Space, werden automatisch<br />
nachverfolgt<br />
s 17 s 13<br />
s 18 s 14<br />
s 19 s 15<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 27
Gestenerkennung – Sensordaten<br />
• interne Glättungsfunktionen für Skelettdaten<br />
• dennoch: Trackingprobleme bei Überdeckung<br />
von Körperteilen<br />
s 3<br />
s 2<br />
s 8 s 4<br />
s 9 s 5<br />
s 1<br />
s 0<br />
s 10 s 6<br />
s 11 s 16 s 12 s 7<br />
s 17 s 13<br />
s 18 s 14<br />
s 19 s 15<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 28
Gestenerkennung – Sensordaten<br />
• interne Glättungsfunktionen für Skelettdaten<br />
Torso<br />
• dennoch: Trackingprobleme bei Überdeckung<br />
von Körperteilen<br />
s 3<br />
s 2<br />
s 8 s 4<br />
s 9 s 5<br />
s 1<br />
Steigerung <strong>der</strong> Robustheit durch<br />
Neuberechnung <strong>der</strong> Torsopunkte<br />
s 0<br />
s 10 s 6<br />
s 11 s 16 s 12 s 7<br />
s 17 s 13<br />
s 18 s 14<br />
s 19 s 15<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 29
Gestenerkennung – Übersicht<br />
Gesamtsystem<br />
Kinect<br />
<br />
Gestenerkenner<br />
Applikation<br />
Tiefendaten<br />
Skelettdaten<br />
Nutzeraktion<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 30
Gestenerkennung – Übersicht<br />
Gesamtsystem<br />
Kinect<br />
<br />
Gestenerkenner<br />
Applikation<br />
Tiefendaten<br />
Skelettdaten<br />
reine Skelettdaten ungeeignet!<br />
Nutzeraktion<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 31
Gestenerkennung – Modellansatz<br />
gesucht ist Beschreibungsform invariant gegenüber:<br />
• Lage und Orientierung <strong>der</strong> Kinect Kamera<br />
• Körpermaßen <strong>der</strong> Nutzer<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 32
Gestenerkennung – Modellansatz<br />
gesucht ist Beschreibungsform invariant gegenüber:<br />
• Lage und Orientierung <strong>der</strong> Kinect Kamera<br />
• Körpermaßen <strong>der</strong> Nutzer<br />
Winkelrepräsentationen sind geeignet und werden häufig verwendet<br />
(vgl. [YPL07, RKH11, PL06, BP+04, OFH08])<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 33
Gestenerkennung – Modellansatz<br />
zusätzlich:<br />
• Handpositionen in lokalem Koordinatensystem<br />
• werden robust aus Hauptkomponenten-Analyse <strong>der</strong><br />
Torsopunkte ermittelt (vgl. [RKH11])<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 34
Gestenerkennung – Modellansatz<br />
zusätzlich:<br />
• Handpositionen in lokalem Koordinatensystem<br />
• werden robust aus Hauptkomponenten-Analyse <strong>der</strong><br />
Torsopunkte ermittelt (vgl. [RKH11])<br />
• Pose zum Zeitpunkt t<br />
P t = φ 1,t , φ 2,t , … , φ 8,t , x t L , x t<br />
R<br />
φ i,t ∈ R, i ∈ 1,8 , x t L , x t R ∈ R 3<br />
• Redundanzreduktion: 60 14<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 35
Gestenerkennung – Übersicht<br />
Gesamtsystem<br />
Kinect<br />
<br />
Gestenerkenner<br />
Applikation<br />
Tiefendaten<br />
Skelettdaten<br />
Nutzeraktion<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 36
Gestenerkennung – Übersicht<br />
Gesamtsystem<br />
Kinect<br />
<br />
Gestenerkenner<br />
Applikation<br />
Tiefendaten<br />
Skelettdaten<br />
Posenmodell<br />
Handpositionen<br />
<br />
Körperwinkel<br />
Nutzeraktion<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 37
Gestenerkennung – Übersicht<br />
Gesamtsystem<br />
Kinect<br />
<br />
Gestenerkenner<br />
Applikation<br />
Tiefendaten<br />
Skelettdaten<br />
Posenmodell<br />
Handposition<br />
Handpositionen<br />
Körperwinkel<br />
Körperwinkel<br />
<br />
Handform<br />
Folge von<br />
Körperhaltungen<br />
Nutzeraktion<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 38
Gestenerkennung – Übersicht<br />
Gesamtsystem<br />
Kinect<br />
<br />
Gestenerkenner<br />
Applikation<br />
Tiefendaten<br />
Skelettdaten<br />
Posenmodell<br />
Handpositionen<br />
<br />
Körperwinkel<br />
Nutzeraktion<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 39
Gestenerkennung – Übersicht<br />
Gesamtsystem<br />
Kinect<br />
<br />
Gestenerkenner<br />
Applikation<br />
Tiefendaten<br />
Skelettdaten<br />
Posenmodell<br />
Handpositionen<br />
Körperwinkel<br />
<br />
Han<strong>der</strong>kennung<br />
Handform?<br />
Handposition?<br />
Nutzeraktion<br />
Oberkörpergestenerkennung<br />
Körperwinkel?<br />
Folge von Körperhaltungen?<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 40
Gestenerkennung – Übersicht<br />
Gesamtsystem<br />
Kinect<br />
<br />
Gestenerkenner<br />
Applikation<br />
Tiefendaten<br />
Skelettdaten<br />
Posenmodell<br />
Handpositionen<br />
Körperwinkel<br />
<br />
Han<strong>der</strong>kennung<br />
Handform?<br />
Handposition?<br />
Nutzeraktion<br />
Oberkörpergestenerkennung<br />
Körperwinkel?<br />
Folge von Körperhaltungen?<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 41
Erkennung von Handgesten - deiktisch<br />
deiktische Handgeste: Handposition virtuelle Zeigerposition<br />
1. Aufgabe:<br />
• ruhige Zeigerführung temporale Glättung <strong>der</strong> Handposition<br />
2. Aufgabe:<br />
• Genaues Positionieren und große Bildschirmbereiche abdecken?<br />
nicht-lineare Übersetzung von Hand- in Zeigerposition<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 42
Erkennung von Handgesten - semaphorisch<br />
semaphorische Handgesten:<br />
• Klassifizierung <strong>der</strong> Handform:<br />
• Handfläche als Punktmengen [TLB12]<br />
• Fitten von Spline-Kurven [RVCB03]<br />
• Nachbar-Pixelsuche [Li12]<br />
• Radiale Histogramme [Tan11,RYZ11]<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 43
Erkennung von Handgesten - semaphorisch<br />
semaphorische Handgesten:<br />
• Klassifizierung <strong>der</strong> Handform:<br />
• Handfläche als Punktmengen [TLB12]<br />
• Fitten von Spline-Kurven [RVCB03]<br />
• Nachbar-Pixelsuche [Li12]<br />
• Radiale Histogramme [Tan11,RYZ11]<br />
hier: Auswertung <strong>der</strong> Konturlinie in Polardarstellung ,<br />
zwei einfache Handstellungen: "<strong>of</strong>fen" u. "geschlossen"<br />
Kinect liefert lediglich 2 Skelettpunkte für Hand<br />
bildbasiertes Verfahren über Tiefendaten<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 44
Erkennung von Handgesten - semaphorisch<br />
Vorgehen (I)<br />
• Finden <strong>der</strong> Handwurzel im Tiefenbild<br />
(über Kinect API)<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 45
Erkennung von Handgesten - semaphorisch<br />
Vorgehen (I)<br />
y<br />
• Finden <strong>der</strong> Handwurzel im Tiefenbild<br />
(über Kinect API)<br />
• Definition eines lokalen Koordinatensystems<br />
(0,0)<br />
x<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 46
Erkennung von Handgesten - semaphorisch<br />
Vorgehen (I)<br />
y<br />
• Finden <strong>der</strong> Handwurzel im Tiefenbild<br />
(über Kinect API)<br />
• Definition eines lokalen Koordinatensystems<br />
≥ δ<br />
• „Handpixel“ definiert über Schwellwert<br />
< δ<br />
(0,0)<br />
x<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 47
Erkennung von Handgesten - semaphorisch<br />
Vorgehen (I)<br />
• Finden <strong>der</strong> Handwurzel im Tiefenbild<br />
(über Kinect API)<br />
y<br />
Bounding Box<br />
• Definition eines lokalen Koordinatensystems<br />
≥ δ<br />
• „Handpixel“ definiert über Schwellwert<br />
< δ<br />
(0,0)<br />
x<br />
• Anfor<strong>der</strong>ungen: Lokalität und Kontinuität<br />
Bounding-Box-Verfahren (achsenparallele Suchstrahlen, beginnend im Ursprung)<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 48
Erkennung von Handgesten - semaphorisch<br />
Vorgehen (II)<br />
• Handkontur über radiale Suchstrahlen<br />
s i = r ⋅ cos ω i<br />
sin ω i<br />
• Strahlen werden effizient von außen nach innen<br />
verfolgt (Kontinuität <strong>der</strong> Handfläche)<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 49
Erkennung von Handgesten - semaphorisch<br />
Vorgehen (II)<br />
• Handkontur über radiale Suchstrahlen<br />
s i = r ⋅ cos ω i<br />
sin ω i<br />
• Strahlen werden effizient von außen nach innen<br />
verfolgt (Kontinuität <strong>der</strong> Handfläche)<br />
• Konturlinie<br />
k ≔ r max,i<br />
Glätten und Auszählen <strong>der</strong> lokalen Maxima (=Fingeranzahl)<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 50
Erkennung von Handgesten - semaphorisch<br />
120<br />
120<br />
r max,ωi<br />
100<br />
r max,ωi<br />
100<br />
80<br />
80<br />
60<br />
60<br />
40<br />
40<br />
20<br />
20<br />
0<br />
0 20 40 60 80 100 120 140 160 180<br />
ω<br />
Handkontur (<strong>of</strong>fene Hand) Fingerpositionen i<br />
0<br />
0 20 40 60 80 100 120 140 160 180<br />
ω<br />
Handkontur (geschlossene Hand) i<br />
• praxisgerechte Klassifikation:<br />
• Anzahl <strong>der</strong> lokalen Maxima ≤ 1 „geschlossene Hand“<br />
• Anzahl <strong>der</strong> lokalen Maxima > 1 „<strong>of</strong>fene Hand“<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 51
Gestenerkennung – Übersicht<br />
Gesamtsystem<br />
Kinect<br />
<br />
Gestenerkenner<br />
Applikation<br />
Tiefendaten<br />
Skelettdaten<br />
Posenmodell<br />
Handpositionen<br />
Körperwinkel<br />
<br />
Han<strong>der</strong>kennung<br />
Handform?<br />
Handposition?<br />
Nutzeraktion<br />
Oberkörpergestenerkennung<br />
Körperwinkel?<br />
Folge von Körperhaltungen?<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 52
Gestenerkennung – Übersicht<br />
Gesamtsystem<br />
Kinect<br />
Tiefendaten<br />
Skelettdaten<br />
<br />
Posenmodell<br />
Handpositionen<br />
Körperwinkel<br />
<br />
Gestenerkenner<br />
Han<strong>der</strong>kennung<br />
Applikation<br />
Klassifizierung <strong>der</strong> Handform Ergebnis d.<br />
Klassifikation<br />
Virtuelle Handkoordinaten<br />
<br />
Nutzeraktion<br />
Oberkörpergestenerkennung<br />
Körperwinkel?<br />
Folge von Körperhaltungen?<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 53
Gestenerkennung – Übersicht<br />
Gesamtsystem<br />
Kinect<br />
Tiefendaten<br />
Skelettdaten<br />
<br />
Posenmodell<br />
Handpositionen<br />
Körperwinkel<br />
<br />
Gestenerkenner<br />
Han<strong>der</strong>kennung<br />
Applikation<br />
Klassifizierung <strong>der</strong> Handform Ergebnis d.<br />
Klassifikation<br />
Virtuelle Handkoordinaten<br />
<br />
Nutzeraktion<br />
Oberkörpergestenerkennung<br />
Körperwinkel?<br />
Folge von Körperhaltungen?<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 54
Oberkörpergestenerkennung – Vorverarbeitung<br />
Vorverarbeitung:<br />
• Oberkörpergesten (OKG) werden nur über Winkel modelliert, Extraktion aus <strong>der</strong> Pose<br />
φ t = φ P t = φ 1,t , φ 2,t , … , φ 8,t<br />
Merkmalsvektor (MV), wird temporal geglättet<br />
deiktische Oberkörpergeste:<br />
Weiterleiten des aktuellen MV an die Applikation<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 55
Oberkörpergestenerkennung – semaphorisch<br />
semaphorische OKG: Folge von Körperhaltungen<br />
zeitreihenbasierter Modellansatz:<br />
• Geste = Folge von Merkmalsvektoren Merkmalsvektorsequenz (MVS)<br />
Φ (i,j) ≔ φ i , φ i+1 , … , φ j −1 , φ j<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 56
Oberkörpergestenerkennung – semaphorisch<br />
semaphorische OKG: Folge von Körperhaltungen<br />
zeitreihenbasierter Modellansatz:<br />
• Geste = Folge von Merkmalsvektoren Merkmalsvektorsequenz (MVS)<br />
Φ (i,j) ≔ φ i , φ i+1 , … , φ j −1 , φ j<br />
2 Kern-Aufgaben des Erkennens:<br />
• Auffinden<br />
• Klassifizieren<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 57
Oberkörpergestenerkennung – semaphorisch<br />
Auffinden potenzieller OKG:<br />
• automatisches Segmentieren <strong>der</strong> Nutzeraktionen aus dem Interaktionsfluss heraus<br />
Warum?<br />
Nutzer soll nicht manuell anzeigen<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 58
Oberkörpergestenerkennung – semaphorisch<br />
Auffinden potenzieller OKG:<br />
• automatisches Segmentieren <strong>der</strong> Nutzeraktionen aus dem Interaktionsfluss heraus<br />
Warum?<br />
Nutzer soll nicht manuell anzeigen<br />
• Absuchen aller möglichen vergangenen MVS, zu rechenintensiv<br />
Markieren von Zeitpunkten potenziellen Gesten-Beginns/-Endes, dann Absuchen<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 59
Oberkörpergestenerkennung – semaphorisch<br />
Auffinden potenzieller OKG:<br />
• über Gradienten und <strong>der</strong>en Än<strong>der</strong>ung (vgl. [KLJ04]) hier: Winkelgeschwindigkeiten<br />
• Beobachtung:<br />
• Ruhe niedriger Geschwindigkeitsbetrag<br />
• Bewegung hoher Geschwindigkeitsbetrag<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 60
Oberkörpergestenerkennung – semaphorisch<br />
Auffinden potenzieller OKG:<br />
• über Gradienten und <strong>der</strong>en Än<strong>der</strong>ung (vgl. [KLJ04]) hier: Winkelgeschwindigkeiten<br />
• Beobachtung:<br />
• Ruhe niedriger Geschwindigkeitsbetrag<br />
• Bewegung hoher Geschwindigkeitsbetrag<br />
Vorgehen (I)<br />
• Markieren bei Übergang von einer in die an<strong>der</strong>e Phase<br />
• Spezialfälle: Verweilen in einer Haltung o<strong>der</strong> andauerndes Weiterbewegen<br />
Warten bis bestimmte Zahl von Frames abgelaufen, dann markieren<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 61
Oberkörpergestenerkennung – semaphorisch<br />
Auffinden potenzieller OKG:<br />
Vorgehen (II)<br />
• Suchfenster W konstanter Größe über die markierten Zeitindizes<br />
• Bilden von temporären MVS:<br />
(i,j )<br />
Φ temp|i,<br />
j ∈ W, i < j<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 62
Oberkörpergestenerkennung – semaphorisch<br />
Auffinden potenzieller OKG:<br />
Vorgehen (II)<br />
• Suchfenster W konstanter Größe über die markierten Zeitindizes<br />
• Bilden von temporären MVS:<br />
(i,j )<br />
Φ temp|i,<br />
j ∈ W, i < j<br />
• alle temporären MVS klassifizieren<br />
• Weiterrücken von W je nach Klassifikationsergebnis<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 63
Oberkörpergestenerkennung – semaphorisch<br />
Auffinden potenzieller OKG:<br />
Vorgehen (II)<br />
• Suchfenster W konstanter Größe über die markierten Zeitindizes<br />
• Bilden von temporären MVS:<br />
(i,j )<br />
Φ temp|i,<br />
j ∈ W, i < j<br />
• alle temporären MVS klassifizieren<br />
• Weiterrücken von W je nach Klassifikationsergebnis<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 64
Oberkörpergestenerkennung – semaphorisch<br />
Klassifikation von MVS<br />
Grundlage <strong>der</strong> Erkennung?<br />
Trainingsdaten! Aufzeichnen von MVS<br />
• Bilden von Klassen, d.h. mehrere MVS-Bsp. <strong>der</strong> gleichen Bewegung werden<br />
zusammengefasst<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 65
Oberkörpergestenerkennung – semaphorisch<br />
Klassifikation von MVS<br />
• gegeben: eine temporäre MVS viele trainierte MVS<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 66
Oberkörpergestenerkennung – semaphorisch<br />
Klassifikation von MVS<br />
• gegeben: eine temporäre MVS viele trainierte MVS<br />
• Aufgabe:<br />
Vergleich<br />
Klassenzuordnung<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 67
Oberkörpergestenerkennung – semaphorisch<br />
Klassifikation von MVS<br />
• gegeben: eine temporäre MVS viele trainierte MVS<br />
• Aufgabe:<br />
Vergleich<br />
Klassenzuordnung<br />
Wie?<br />
• zeitreihenbasierter Modellansatz Berechnen <strong>der</strong> Distanz zwischen MVS<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 68
Oberkörpergestenerkennung – semaphorisch<br />
Klassifikation von MVS<br />
verwendeter Algorithmus: k-Nächste-Nachbarn-Verfahren<br />
• hinreichend schnell, einfach zu implementieren<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 69
Oberkörpergestenerkennung – semaphorisch<br />
Klassifikation von MVS<br />
verwendeter Algorithmus: k-Nächste-Nachbarn-Verfahren<br />
• hinreichend schnell, einfach zu implementieren<br />
• untersuchte Distanzmaße:<br />
• Euklidischer Abstand<br />
• modifizierter euklidischer Abstand (dazu Komplexitätsmaß nach [BWK11])<br />
• Pearson-Distanz<br />
• FM-Distanz [OFH08]<br />
• Dynamic Time Warping (DTW)<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 70
Oberkörpergestenerkennung – semaphorisch<br />
Klassifikation von MVS<br />
Schwächen <strong>der</strong> „klassischen“ Maße:<br />
• MVS müssen gleiche Länge haben<br />
(lösbar über Resampling)<br />
Φ(t)<br />
7<br />
6<br />
Bsp. 1D – Zeitreihen<br />
• Zuordnung <strong>der</strong> MV-Korrespondenzen<br />
ist festgelegt<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
1 2 3 4 5 6 7 8 9<br />
t<br />
φ1<br />
φ2<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 71
Oberkörpergestenerkennung – semaphorisch<br />
Klassifikation von MVS<br />
Schwächen <strong>der</strong> „klassischen“ Maße:<br />
• MVS müssen gleiche Länge haben<br />
(lösbar über Resampling)<br />
Φ(t)<br />
7<br />
6<br />
Bsp. 1D – Zeitreihen<br />
• Zuordnung <strong>der</strong> MV-Korrespondenzen<br />
ist festgelegt<br />
5<br />
4<br />
3<br />
Vorteil DTW:<br />
2<br />
• lokale Anpassung <strong>der</strong><br />
MV-Korrespondenzen<br />
1<br />
0<br />
1 2 3 4 5 6 7 8 9<br />
t<br />
φ1<br />
φ2<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 72
Gestenerkennung – Übersicht<br />
Gesamtsystem<br />
Kinect<br />
Tiefendaten<br />
Skelettdaten<br />
<br />
Posenmodell<br />
Handpositionen<br />
Körperwinkel<br />
<br />
Gestenerkenner<br />
Han<strong>der</strong>kennung<br />
Applikation<br />
Klassifizierung <strong>der</strong> Handform Ergebnis d.<br />
Klassifikation<br />
Virtuelle Handkoordinaten<br />
<br />
Nutzeraktion<br />
Oberkörpergestenerkennung<br />
Körperwinkel?<br />
Folge von Körperhaltungen?<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 73
Gestenerkennung – Übersicht<br />
Gesamtsystem<br />
Kinect<br />
Tiefendaten<br />
Skelettdaten<br />
<br />
Posenmodell<br />
Handpositionen<br />
<br />
Gestenerkenner<br />
Han<strong>der</strong>kennung<br />
Klassifizierung <strong>der</strong> Handform<br />
Virtuelle Handkoordinaten<br />
<br />
Applikation<br />
Ergebnis d.<br />
Klassifikation<br />
Nutzeraktion<br />
Körperwinkel<br />
Merkmalsvektoren<br />
Oberkörpergestenerkennung<br />
Abbilden von<br />
Merkmalsvektoren<br />
<br />
Auffinden u. Klassifizieren von<br />
Merkmalsvektorsequenzen<br />
Ergebnis d.<br />
Klassifikation<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 74
Gestenerkennung – Übersicht<br />
Gesamtsystem<br />
Kinect<br />
Tiefendaten<br />
Skelettdaten<br />
<br />
Posenmodell<br />
Handpositionen<br />
<br />
Gestenerkenner<br />
Han<strong>der</strong>kennung<br />
Klassifizierung <strong>der</strong> Handform<br />
Virtuelle Handkoordinaten<br />
<br />
<br />
Applikation<br />
Ergebnis d.<br />
Klassifikation<br />
Nutzeraktion<br />
Körperwinkel<br />
Merkmalsvektoren<br />
Oberkörpergestenerkennung<br />
Abbilden von<br />
Merkmalsvektoren<br />
<br />
Auffinden u. Klassifizieren von<br />
Merkmalsvektorsequenzen<br />
Ergebnis d.<br />
Klassifikation<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 75
3. Diskussion<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 76
Evaluation – Übersicht<br />
Was wurde untersucht?<br />
• Klassifikationsraten<br />
• Geschwindigkeit<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 77
Evaluation – Handform<br />
Klassifikation <strong>der</strong> Handform<br />
Testdaten:<br />
• 2500 Trainingsbeispiele, unterschiedliche Abstände zur Kamera, verschiedene<br />
Ausführgeschwindigkeiten, Hand frontal zur Kamera<br />
Ergebnisse:<br />
• Eingabe <strong>der</strong> geschlossenen Hand stets zu 100% korrekt klassifiziert<br />
• korrekte Klassifizierung <strong>der</strong> geöffneten Hand fällt ab bestimmten Abstand stark ab<br />
• Ø Rechenzeit pro Klassifikation: 0,37 ms<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 78
Evaluation – Handform<br />
Klassifikation <strong>der</strong> Handform<br />
Distanzbereich richtig erkannt falsch erkannt Genauigkeit<br />
„geschlossene<br />
Hand“<br />
1201 - 1600mm 100% 0% 100%<br />
800 - 1900mm 100% 0% 96,76%<br />
>1900mm 100% 0% 52,96%<br />
„<strong>of</strong>fene Hand“ 1201 - 1600mm 100% 0% 100%<br />
800 - 1900mm 96,65% 3,35% 100%<br />
>1900mm 11,18% 88,82% 100%<br />
Distanzbereich Korrektklassifikationsrate Falschklassifikationsrate<br />
1201 - 1600mm 100% 0%<br />
800 - 1900mm 98,33% 1,67%<br />
>1900mm 55,59% 44,41%<br />
Genauigkeit (precision) =<br />
Klasse X richtig erkannt<br />
Klasse X erkannt<br />
=<br />
true positives<br />
true positives+false positives<br />
Korrektklassifikationsrate (accuracy) =<br />
Anz. <strong>der</strong> korrekt erkannten Gesten<br />
Gesamtheit <strong>der</strong> eingegeben Gesten =<br />
true pos. + true neg.<br />
true pos. + true neg. + false pos. + false neg.<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 79
Evaluation – Handform<br />
Klassifikation <strong>der</strong> Handform<br />
Distanzbereich richtig erkannt falsch erkannt Genauigkeit<br />
„geschlossene<br />
Hand“<br />
1201 - 1600mm 100% 0% 100%<br />
800 - 1900mm 100% 0% 96,76%<br />
>1900mm 100% 0% 52,96%<br />
„<strong>of</strong>fene Hand“ 1201 - 1600mm 100% 0% 100%<br />
800 - 1900mm 96,65% 3,35% 100%<br />
>1900mm 11,18% 88,82% 100%<br />
Distanzbereich Korrektklassifikationsrate Falschklassifikationsrate<br />
1201 - 1600mm 100% 0%<br />
800 - 1900mm 98,33% 1,67%<br />
>1900mm 55,59% 44,41%<br />
Genauigkeit (precision) =<br />
Klasse X richtig erkannt<br />
Klasse X erkannt<br />
=<br />
true positives<br />
true positives+false positives<br />
Korrektklassifikationsrate (accuracy) =<br />
Anz. <strong>der</strong> korrekt erkannten Gesten<br />
Gesamtheit <strong>der</strong> eingegeben Gesten =<br />
true pos. + true neg.<br />
true pos. + true neg. + false pos. + false neg.<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 80
Evaluation – Klassifikation <strong>der</strong> MVS<br />
Klassifikation <strong>der</strong> MVS<br />
Testdaten:<br />
• 600 Trainings-Bsp., 10 Klassen 2 Gruppen: 50 Test- u. 10 Referenz-Bsp. pro Klasse<br />
Test 1: isolierte Klassifikation<br />
Distanzmaß k R F N KK ØRZ<br />
Eukl. Abstand 3 497 3 0 99,4% 1,35 ms<br />
Mod. Eukl. Abstand 3 499 1 0 99,8% 1,44 ms<br />
Pearson- Distanz 3 437 0 63 87,4% 3,33 ms<br />
Dynamic Time<br />
Warping<br />
3 482 18 0 96,4% 1,22 ms<br />
FM-Distanz 3 498 2 0 99,6% 2,52 ms<br />
k: Anzahl d. Nachbarn, R: richtig erkannt, F: falsch erkannt, N: nicht erkannt,<br />
KK: Korrektklassifikationsrate, ØRZ: durchschnittliche Rechenzeit<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 81
Evaluation – Klassifikation <strong>der</strong> MVS<br />
Klassifikation <strong>der</strong> MVS<br />
Testdaten:<br />
• 600 Trainings-Bsp., 10 Klassen 2 Gruppen: 50 Test- u. 10 Referenz-Bsp. pro Klasse<br />
Test 1: isolierte Klassifikation<br />
Distanzmaß k R F N KK ØRZ<br />
Eukl. Abstand 3 497 3 0 99,4% 1,35 ms<br />
Mod. Eukl. Abstand 3 499 1 0 99,8% 1,44 ms<br />
Pearson- Distanz 3 437 0 63 87,4% 3,33 ms<br />
Dynamic Time<br />
Warping<br />
3 482 18 0 96,4% 1,22 ms<br />
FM-Distanz 3 498 2 0 99,6% 2,52 ms<br />
k: Anzahl d. Nachbarn, R: richtig erkannt, F: falsch erkannt, N: nicht erkannt,<br />
KK: Korrektklassifikationsrate, ØRZ: durchschnittliche Rechenzeit<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
gut und schnell<br />
Folie 82
Evaluation – Klassifikation <strong>der</strong> MVS<br />
Klassifikation <strong>der</strong> MVS<br />
• gute Ergebnisse für alle Distanzmaße, Eignung im laufenden Betrieb?<br />
Test 2: Klassifikation zur Laufzeit<br />
• Ausführung <strong>der</strong> 10 Gesten in unterschiedl. Reihenfolge, insgesamt 600 Ausführungen<br />
• On-The-Fly-Erkennung durch das parallele System von Finden und Klassifizieren<br />
• nur DTW-Verfahren bringt hier gute Ergebnisse<br />
• bei den an<strong>der</strong>en: häufig fälschliche Klassifikationen von Nicht-Gesten (false positives)<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 83
Evaluation – Klassifikation <strong>der</strong> MVS<br />
Test 2: Klassifikation zur Laufzeit<br />
• Gesamtergebnis (DTW):<br />
• Anzahl <strong>der</strong> Gesten: 600<br />
• richtig erkannt: 574<br />
• falsch erkannt: 7<br />
• nicht erkannt: 19<br />
• Korrektklassifikationsrate: 95,67%<br />
• Ø Genauigkeit: 98,85%<br />
• Geschwindigkeitsbetrachtung:<br />
• Festlegung: Gesten < 3s, Suchfenstergröße 12<br />
• Ø RZ = 84 ms (pro Fenster) < 267 ms (Ø Markierungsintervall),<br />
• Ø Latenz ca. 1-4 Markierungsintervalle (267ms-1067ms), maximal 3,17s<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 84
Bewertung <strong>der</strong> Ergebnisse<br />
Han<strong>der</strong>kennung<br />
Handposition<br />
+ Ruhige Zeigerführung, Latenz vertretbar, Details bleiben erhalten<br />
+ nichtlineare Skalierung erlaubt Zielgenauigkeit und gleichzeitig großen Arbeitsbereich<br />
– kein vollständiges Ausgleichen von Tracking-Ungenauigkeiten<br />
Handform<br />
+ gute Erkennung in bestimmten Distanzbereich<br />
+ schnell (ca. 1% von Frame-Dauer)<br />
– kleiner nutzbarer Tiefenbereich durch Mindestabstand d. Nutzers zur Kinect<br />
Erkennung von OKG<br />
+ für überschaubare Anzahl selbstdefinierter Gesten gute Ergebnisse<br />
+ schnell<br />
– systembedingte maximale Verzögerung<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 85
Ausblick<br />
Erweiterungspotenzial:<br />
• Verbesserung d. Handformerkennung unter Einbeziehung d. Videobildes<br />
• Erkennung von Fingerstellungen<br />
• mehrere Kinects synchronisieren größerer effektiver Nutzerbereich<br />
• effektiveres Training durch halbautomatisches Labeling<br />
. . .<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 86
4. Demonstration<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 87
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 88
Details<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 89
Details – Glättung <strong>der</strong> Torsopunkte<br />
Beobachtung: stabilster Punkt ist<br />
s 1<br />
1. Annahme: Nutzer bleibt an Ort und Stelle<br />
Glättung von s 1 :<br />
s 1,t ≔ 1 − β ⋅ s 1,t + β ⋅ s 1,t−1<br />
s 3<br />
s 2<br />
s 8 s<br />
v 4<br />
i<br />
s 9 s 5<br />
s 1<br />
2. Annahme: Torso ist starr<br />
s 0<br />
s 10 s 6<br />
s 11 s 16 s 12 s 7<br />
Stützvektoren<br />
v i,t ≔ s i,t − s 1,t für i ∈ {0,2,4,8,12,16}<br />
werden temporal geglättet:<br />
v i,t ≔ 1 − α ⋅ v i,t + α ⋅ v i,t−1<br />
s 17 s 13<br />
Berechnung rekonstruierter Torsopunkte<br />
s ′ i,t<br />
′<br />
s i,t<br />
≔ s 1,t + v i,t für i ∈ {0,2,4,8,12,16}<br />
s 18 s 14<br />
s 19 s 15<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 90
Details – nicht-lineare Skalierung<br />
Übersetzung von Hand- zu Zeigerposition:<br />
SENSITIVITÄT :=<br />
Än<strong>der</strong>ung <strong>der</strong> ausgehenden Zeigerposition<br />
Än<strong>der</strong>ung <strong>der</strong> eingehenden Handposition<br />
σ t ≔ Δp L|R<br />
t<br />
L|R<br />
Δx t<br />
→ Δp t<br />
L|R = σt ⋅ Δx t<br />
L|R<br />
L|R L|R L|R<br />
mit Δx t = xt − xt−1<br />
L|R L|R L|R<br />
und Δpt = pt − pt−1<br />
• einfacher Ansatz:<br />
σ t = σ 0 = const.<br />
• Problem: genaue Positionierung bei kleinem Wert, großer Bildschirmbereich bei<br />
großem Wert<br />
wünschenswert: BEIDES!<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 91
Details – nicht-lineare Skalierung<br />
Nicht-lineare Sensitivitäts-Skalierung (vgl. Mauszeigerbeschleunigung):<br />
SENSITIVITÄT = Skalierungskoeffizient x Betrag <strong>der</strong> Positionsän<strong>der</strong>ung<br />
σ t ε ≔ ε ⋅ Δx t<br />
L|R<br />
• großes Verhältnis bei schnellen, kleines Verhältnis bei langsamen Hand-Bewegungen<br />
→ Δp t<br />
L|R = ε ⋅ Δxt<br />
L|R<br />
⋅ Δx t<br />
L|R<br />
→ p t<br />
L|R = ε ⋅ Δxt<br />
L|R<br />
L|R L|R<br />
⋅ Δx t + pt−1<br />
• Wahl von ε empirisch, resultiert in 1:1 - Übersetzung bei einer „mittelschnellen“<br />
Positionsän<strong>der</strong>ung, entspricht 0,025 m pro Frame (~2,7 km/h):<br />
1 = ε ⋅ Δx m<br />
L|R<br />
→ ε =<br />
1<br />
Δx m<br />
L|R<br />
= 1<br />
0,025 = 40<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 92
Details – nicht-lineare Skalierung<br />
Nicht-lineare Sensitivitäts-Skalierung (vgl. Mauszeigerbeschleunigung):<br />
5<br />
L|R<br />
Δp̠t<br />
4<br />
3<br />
2<br />
1<br />
0<br />
-5 -4.5 -4 -3.5 -3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5<br />
-1<br />
Δx t<br />
L|R<br />
-2<br />
-3<br />
-4<br />
-5<br />
ε = 5 ε = 10 ε = 20 ε = 40 ε = 80<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 93
Details – Suchfenster<br />
Vorgehen (II) – Suchfensteralgorithmus<br />
Nutzerinteraktion zur Laufzeit<br />
Strom <strong>der</strong> MV<br />
. . .<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 94
Details – Suchfenster<br />
Vorgehen (II) – Suchfensteralgorithmus<br />
Strom <strong>der</strong> MV<br />
. . .<br />
Markierungen<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 95
Details – Suchfenster<br />
Vorgehen (II) – Suchfensteralgorithmus<br />
Strom <strong>der</strong> MV<br />
. . .<br />
Markierungen<br />
Suchfenster<br />
konstante<br />
Länge<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 96
Details – Suchfenster<br />
Vorgehen (II) – Suchfensteralgorithmus<br />
Strom <strong>der</strong> MV<br />
. . .<br />
Markierungen<br />
Suchfenster<br />
temporäre MVS<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 97
Details – Suchfenster<br />
Vorgehen (II) – Suchfensteralgorithmus<br />
Strom <strong>der</strong> MV<br />
. . .<br />
Markierungen<br />
Suchfenster<br />
temporäre MVS<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 98
Details – Suchfenster<br />
Vorgehen (II) – Suchfensteralgorithmus<br />
Strom <strong>der</strong> MV<br />
. . .<br />
Markierungen<br />
Suchfenster<br />
temporäre MVS<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 99
Details – Suchfenster<br />
Vorgehen (II) – Suchfensteralgorithmus<br />
Strom <strong>der</strong> MV<br />
. . .<br />
Markierungen<br />
Suchfenster<br />
temporäre MVS<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 100
Details – Suchfenster<br />
Vorgehen (II) – Suchfensteralgorithmus<br />
Strom <strong>der</strong> MV<br />
. . .<br />
Markierungen<br />
Suchfenster<br />
temporäre MVS<br />
Trainingsdaten<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 101
Klassifikation<br />
Details – Suchfenster<br />
Vorgehen (II) – Suchfensteralgorithmus<br />
Strom <strong>der</strong> MV<br />
. . .<br />
Markierungen<br />
Suchfenster<br />
temporäre MVS<br />
Trainingsdaten<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 102
Details – Suchfenster<br />
Vorgehen (II) – Suchfensteralgorithmus<br />
Strom <strong>der</strong> MV<br />
. . .<br />
Markierungen<br />
Suchfenster<br />
temporäre MVS<br />
Gewinner!<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 103
Details – Suchfenster<br />
Vorgehen (II) – Suchfensteralgorithmus<br />
Strom <strong>der</strong> MV<br />
. . .<br />
Markierungen<br />
Suchfenster<br />
neuer<br />
Suchbeginn<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 104
Details – Suchfenster<br />
Vorgehen (II) – Suchfensteralgorithmus<br />
Strom <strong>der</strong> MV<br />
. . .<br />
Markierungen<br />
Suchfenster<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 105
Details – Suchfenster<br />
Vorgehen (II) – Suchfensteralgorithmus<br />
Strom <strong>der</strong> MV<br />
. . .<br />
Markierungen<br />
Suchfenster<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 106
Klassifikation<br />
Details – Suchfenster<br />
Trainingsdaten<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 107
Details – kNN-Algorithmus<br />
Klassifikation von MVS<br />
k-Nearest-Neighbour-Algorithmus<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 108
Details – kNN-Algorithmus<br />
Klassifikation von MVS<br />
k-Nearest-Neighbour-Algorithmus<br />
Raum <strong>der</strong> MVS<br />
Klasse 1<br />
Klasse 2<br />
Klasse 3<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 109
Details – kNN-Algorithmus<br />
Klassifikation von MVS<br />
k-Nearest-Neighbour-Algorithmus<br />
Raum <strong>der</strong> MVS<br />
?<br />
zu klassifizierende MVS<br />
Klasse 1<br />
Klasse 2<br />
Klasse 3<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 110
Details – kNN-Algorithmus<br />
Klassifikation von MVS<br />
k-Nearest-Neighbour-Algorithmus<br />
Raum <strong>der</strong> MVS<br />
• suche die k nächstliegenden Nachbarn<br />
?<br />
Klasse 1<br />
Klasse 2<br />
Klasse 3<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 111
Details – kNN-Algorithmus<br />
Klassifikation von MVS<br />
k-Nearest-Neighbour-Algorithmus<br />
Raum <strong>der</strong> MVS<br />
• suche die k nächstliegenden Nachbarn<br />
?<br />
Klasse 1<br />
Klasse 2<br />
Klasse 3<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 112
Details – kNN-Algorithmus<br />
Klassifikation von MVS<br />
k-Nearest-Neighbour-Algorithmus<br />
Raum <strong>der</strong> MVS<br />
• suche die k nächstliegenden Nachbarn<br />
• naive Klassifikation: Zählen<br />
?<br />
<br />
gewinnt<br />
Klasse 1<br />
Klasse 2<br />
Klasse 3<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 113
Details – kNN-Algorithmus<br />
Klassifikation von MVS<br />
k-Nearest-Neighbour-Algorithmus<br />
Raum <strong>der</strong> MVS<br />
• suche die k nächstliegenden Nachbarn<br />
• naive Klassifikation: Zählen<br />
?<br />
<br />
gewinnt<br />
• besser: Gewichtete Summen<br />
1<br />
Punkte <strong>der</strong> Klasse X = Σ Distanz zu MVS<br />
MVS Є X<br />
Klasse 1<br />
Klasse 2<br />
Klasse 3<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 114
Details – kNN-Algorithmus<br />
Klassifikation von MVS<br />
k-Nearest-Neighbour-Algorithmus<br />
Raum <strong>der</strong> MVS<br />
• suche die k nächstliegenden Nachbarn<br />
• naive Klassifikation: Zählen<br />
<br />
gewinnt<br />
• besser: Gewichtete Summen<br />
1<br />
Punkte <strong>der</strong> Klasse X = Σ Distanz zu MVS<br />
MVS Є X<br />
Klasse 1<br />
<br />
gewinnt<br />
Klasse 2<br />
Klasse 3<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 115
Details – kNN-Algorithmus<br />
Klassifikation von MVS<br />
Raum <strong>der</strong> MVS<br />
Wie werden die Distanzen berechnet?<br />
?<br />
?<br />
?<br />
?<br />
Klasse 1<br />
Klasse 2<br />
Klasse 3<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 116
Details – Distanzmaße<br />
Anmerkungen:<br />
• grundsätzlich keine Normalisierung <strong>der</strong> MV nötig, da Winkel in <strong>der</strong> gleichen<br />
Größenordnung liegen<br />
Studentisierung birgt die Gefahr, dass Rauschanteile deutlicheren Einfluss auf das<br />
Klassifikationsergebnis haben<br />
• aber Skalierung entlang <strong>der</strong> Anzahl <strong>der</strong> MV zur Vergleichbarkeit unterschiedlich langer<br />
Gesten<br />
Def. Merkmalsvektorsequenz von Zeitpunkt i bis Zeitpunkt j:<br />
Φ i,j ≔ φ i , φ i+1 , … , φ j −1 , φ j mit i < j<br />
φ i … geglätter<br />
Merkmalsvektor<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 117
Details – Distanzmaße<br />
Metrik:<br />
8<br />
d φ i , φ j = φ n,i − φ 2<br />
n,j<br />
n=1<br />
Φ k<br />
i,j … k-ter Eintrag in<br />
<strong>der</strong> MVS<br />
Euklidischer Abstand<br />
D Euklid Φ (i,j ) , Φ (g,h) = 1 N<br />
N<br />
k=1<br />
d Φ k<br />
i,j , Φk<br />
g,h<br />
2<br />
N ≔ Φ (i,j ) = Φ (g,h)<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 118
Details – Distanzmaße<br />
modifizierter Euklidischer Abstand<br />
Komplexitätsmaß CE nach [BWK11]<br />
Φ k<br />
i,j … k-ter Eintrag in<br />
<strong>der</strong> MVS<br />
CE Φ (i,j ) > CE Φ (g,h) ⟺ T (i,j ) > T (g,h)<br />
Bahnlänge <strong>der</strong> Trajektorie: T (i,j ) i,j i,j<br />
= d Φ k , Φk−1<br />
j<br />
k=i+1<br />
Korrekturfaktor CF:<br />
CF Φ (i,j ) , Φ (g,h) ≔ max CE Φ(i,j ) , CE Φ (g,h)<br />
min CE Φ (i,j ) , CE Φ (g,h)<br />
= max T(i,j ) , T (g,h)<br />
min T (i,j ) , T (g,h)<br />
<br />
D mod.Euklid Φ (i,j ) , Φ (g,h) ≔ D Euklid Φ (i,j ) , Φ (g,h) ⋅ CF Φ (i,j ) , Φ (g,h)<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 119
Details – Distanzmaße<br />
Pearson-Distanz<br />
Korrelationskoeffizienten pro Merkmalsdimension m:<br />
(i,j )<br />
Φ m,k … k-ter Eintrag in<br />
<strong>der</strong> m-ten<br />
Dimension<br />
einer MVS<br />
ρ m Φ (i,j ) , Φ (g,h) ≔<br />
N<br />
k=1<br />
N<br />
k=1<br />
(i,j ) (i,j)<br />
Φ m,k − Φm,k<br />
i,j i,j<br />
Φ 2<br />
m,k − Φm,k<br />
(g,h) (g,h)<br />
Φ m,k − Φm,k<br />
g,h g,h<br />
Φ 2<br />
m,k − Φm,k<br />
N ≔ Φ (i,j ) = Φ (g,h)<br />
(i,j) 1<br />
Φ m,k ≔<br />
N<br />
N<br />
k=1<br />
(i,j )<br />
Φ m,k<br />
→ D Pearson Φ (i,j ) , Φ (g,h) ≔ 1 N<br />
8<br />
m =1<br />
1 − ρ m Φ (i,j ) , Φ (g,h)<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 120
Details – Distanzmaße<br />
FM-Distanz [OFH08]<br />
Kinetische Energie pro Merkmalsdimension m:<br />
2<br />
E m ,k ≔ m m v m,k mit v m,k = Φ m,k<br />
(i,j ) (i,j ) − Φm,k−1<br />
Δt<br />
(i,j )<br />
Φ m,k … k-ter Eintrag in<br />
<strong>der</strong> m-ten<br />
Dimension<br />
einer MVS<br />
lässt sich vereinfachen zu:<br />
i,j i,j<br />
E m ,k ≔ Φ m,k − Φm,k−1<br />
2<br />
mittlere Energie <strong>der</strong> m-ten Merkmalszeitreihe:<br />
N<br />
E m ≔ 1<br />
N − 1<br />
Energievektoren<br />
k=2<br />
e ≔ e 1 , e 2 , … , e 8<br />
E m,k<br />
logarithmische Skalierung:<br />
e m ≔ log E m + 1<br />
8<br />
→ D FM Φ i,j , Φ g,h i,j g,h<br />
≔ e 2<br />
k − ek<br />
k=1<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 121
03 Gestenerkennung – Gesture Recognition<br />
DYNAMIC TIME WARPING<br />
• Voraussetzung: lokales Distanzmaß (auch Kostenfunktion genannt)<br />
d: ϕ × ϕ → R + ,<br />
d ϕ i , ϕ j = ϕ i − ϕ j<br />
• Input: zwei Merkmalsvektor-Zeitreihen, die aus den Posen einer Geste gewonnen werden<br />
φ (ij) = ϕ i , ϕ i+1 , … , ϕ k , … , ϕ j−1 , ϕ j mit ϕ k = φ P k für P k ∈ G (ij)<br />
φ k<br />
ij = ϕi+k−1 mit k ∈ [1, j − i + 1]<br />
• Ziel des Algorithmus: Verknüpfen von zusammengehörenden Merkmalsvektorpaaren aus<br />
beiden Zeitreihen, sodass die akkumulierte Distanz minimal wird<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 15 von 22
03 Gestenerkennung – Gesture Recognition<br />
DYNAMIC TIME WARPING – Grundlagen<br />
1. lokale Kostenmatrix C aller paarweisen Distanzen:<br />
C ∈ R M×N , C mn ≔ d φ m<br />
(gh) , φn<br />
(ij)<br />
, m ∈ 1, M , n ∈ 1, N<br />
2. Warping-Pfad Q: ist eine Folge von Indexpaaren (stellvertretend für die Merkmalsvektorpaare):<br />
Q = q 1 , q 2 , … , q L mit q l = m l , n l für l ∈ [1, L]<br />
• Distanz zwischen beiden Zeitreihen entspricht den akkumulierten Kosten entlang des Pfades Q:<br />
L<br />
Distanz Q φ gh , φ (ij) =<br />
l=1<br />
gh ij<br />
d φ ml , φnl<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 16 von 22
03 Gestenerkennung – Gesture Recognition<br />
DYNAMIC TIME WARPING – Grundlagen<br />
Warping-Pfad muss folgende Bedingungen erfüllen:<br />
q 1 = 1,1 und q L = (M, N)<br />
• Boundary – Kriterium:<br />
(Start- und Endindexpaar des Pfades muss Start- und Endindizes <strong>der</strong> beiden Zeitreihen entsprechen)<br />
• Monotonie – Kriterium:<br />
(Zeitordnung muss erhalten bleiben)<br />
m 0 ≤ m 1 ≤ ⋯ ≤ m L und n 0 ≤ n 1 ≤ ⋯ ≤ n L<br />
• Schrittgrößen – Kriterium:<br />
(Es dürfen keine Sprünge entlang des Pfades auftreten)<br />
q l+1 − q l ∈ 0,1 , 1,0 , (1,1) für l ∈ [1, L − 1]<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 17 von 22
03 Gestenerkennung – Gesture Recognition<br />
DYNAMIC TIME WARPING – Vorgehen<br />
• Unter <strong>der</strong> Menge aller möglichen Pfade ist <strong>der</strong>jenige mit den minimalen Gesamtkosten gesucht<br />
D ∈ R M×N<br />
• Definition einer globalen Kostenmatrix :<br />
n<br />
(gh) (ij)<br />
• 1. Zeile: D 1,n = d φ 1 , φk für n ∈ [1, N]<br />
k=1<br />
m<br />
(gh) (ij)<br />
• 1. Spalte: D m,1 = d φ k , φ1 für m ∈ [1, M]<br />
k=1<br />
• Sonst:<br />
D m,n = d φ m<br />
(gh) , φn<br />
(ij)<br />
+ min D m−1,n−1 , D m−1,n , D m,n−1 für m ∈ 2, M und n ∈ [2, N]<br />
• Der Eintrag D M,N enthält die Gesamtkosten des optimalen Pfades (dieser kann explizit durch<br />
Backtracking ermittelt werden)<br />
• liegen sie unter einem definierten Schwellwert, so werden die Gesten als übereinstimmend erkannt<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 18 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
1. Zeile und 1. Spalte setzen<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
1 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
1. Zeile und 1. Spalte setzen<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
3 0 0 0 0 0 0 0 0<br />
1 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
1. Zeile und 1. Spalte setzen<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
6 0 0 0 0 0 0 0 0<br />
3 0 0 0 0 0 0 0 0<br />
1 0 0 0 0 0 0 0 0<br />
0 0 0 2 0 0 0 0 0<br />
1. Zeile und 1. Spalte setzen<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
10 0 0 0 0 0 0 0 0<br />
6 0 0 0 0 0 0 0 0<br />
3 0 0 0 0 0 0 0 0<br />
1 0 0 0 0 0 0 0 0<br />
0 0 0 2 5 0 0 0 0<br />
1. Zeile und 1. Spalte setzen<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
13 0 0 0 0 0 0 0 0<br />
10 0 0 0 0 0 0 0 0<br />
6 0 0 0 0 0 0 0 0<br />
3 0 0 0 0 0 0 0 0<br />
1 0 0 0 0 0 0 0 0<br />
0 0 0 2 5 9 0 0 0<br />
1. Zeile und 1. Spalte setzen<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 0 0 0 0 0 0<br />
15 0 0 0 0 0 0 0 0<br />
13 0 0 0 0 0 0 0 0<br />
10 0 0 0 0 0 0 0 0<br />
6 0 0 0 0 0 0 0 0<br />
3 0 0 0 0 0 0 0 0<br />
1 0 0 0 0 0 0 0 0<br />
0 0 0 2 5 9 14 0 0<br />
1. Zeile und 1. Spalte setzen<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
0 0 0 0 0 0 0 0 0<br />
16 0 0 0 0 0 0 0 0<br />
15 0 0 0 0 0 0 0 0<br />
13 0 0 0 0 0 0 0 0<br />
10 0 0 0 0 0 0 0 0<br />
6 0 0 0 0 0 0 0 0<br />
3 0 0 0 0 0 0 0 0<br />
1 0 0 0 0 0 0 0 0<br />
0 0 0 2 5 9 14 17 0<br />
1. Zeile und 1. Spalte setzen<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
16 0 0 0 0 0 0 0 0<br />
16 0 0 0 0 0 0 0 0<br />
15 0 0 0 0 0 0 0 0<br />
13 0 0 0 0 0 0 0 0<br />
10 0 0 0 0 0 0 0 0<br />
6 0 0 0 0 0 0 0 0<br />
3 0 0 0 0 0 0 0 0<br />
1 0 0 0 0 0 0 0 0<br />
0 0 0 2 5 9 14 17 19<br />
1. Zeile und 1. Spalte setzen<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
16 0 0 0 0 0 0 0 0<br />
16 0 0 0 0 0 0 0 0<br />
15 0 0 0 0 0 0 0 0<br />
13 0 0 0 0 0 0 0 0<br />
10 0 0 0 0 0 0 0 0<br />
6 0 0 0 0 0 0 0 0<br />
3 0 0 0 0 0 0 0 0<br />
1 1 0 0 0 0 0 0 0<br />
0 0 0 2 5 9 14 17 19<br />
Restliche Einträge:<br />
= + min ( , , )<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
16 0 0 0 0 0 0 0 0<br />
16 0 0 0 0 0 0 0 0<br />
15 0 0 0 0 0 0 0 0<br />
13 0 0 0 0 0 0 0 0<br />
10 0 0 0 0 0 0 0 0<br />
6 0 0 0 0 0 0 0 0<br />
3 0 0 0 0 0 0 0 0<br />
1 1 1 0 0 0 0 0 0<br />
0 0 0 2 5 9 14 17 19<br />
Restliche Einträge:<br />
= + min ( , , )<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
16 0 0 0 0 0 0 0 0<br />
16 0 0 0 0 0 0 0 0<br />
15 0 0 0 0 0 0 0 0<br />
13 0 0 0 0 0 0 0 0<br />
10 0 0 0 0 0 0 0 0<br />
6 0 0 0 0 0 0 0 0<br />
3 0 0 0 0 0 0 0 0<br />
1 1 1 1 3 6 0 0 0<br />
0 0 0 2 5 9 14 17 19<br />
Restliche Einträge:<br />
= + min ( , , )<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
16 0 0 0 0 0 0 0 0<br />
16 0 0 0 0 0 0 0 0<br />
15 0 0 0 0 0 0 0 0<br />
13 0 0 0 0 0 0 0 0<br />
10 0 0 0 0 0 0 0 0<br />
6 0 0 0 0 0 0 0 0<br />
3 0 0 0 0 0 0 0 0<br />
1 1 1 1 3 6 10 12 13<br />
0 0 0 2 5 9 14 17 19<br />
Restliche Einträge:<br />
= + min ( , , )<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
16 0 0 0 0 0 0 0 0<br />
16 0 0 0 0 0 0 0 0<br />
15 0 0 0 0 0 0 0 0<br />
13 0 0 0 0 0 0 0 0<br />
10 0 0 0 0 0 0 0 0<br />
6 6 0 0 0 0 0 0 0<br />
3 3 3 1 2 4 7 8 8<br />
1 1 1 1 3 6 10 12 13<br />
0 0 0 2 5 9 14 17 19<br />
Restliche Einträge:<br />
= + min ( , , )<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
16 0 0 0 0 0 0 0 0<br />
16 0 0 0 0 0 0 0 0<br />
15 0 0 0 0 0 0 0 0<br />
13 0 0 0 0 0 0 0 0<br />
10 0 0 0 0 0 0 0 0<br />
6 6 6 2 1 2 4 4 5<br />
3 3 3 1 2 4 7 8 8<br />
1 1 1 1 3 6 10 12 13<br />
0 0 0 2 5 9 14 17 19<br />
Restliche Einträge:<br />
= + min ( , , )<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
16 0 0 0 0 0 0 0 0<br />
16 0 0 0 0 0 0 0 0<br />
15 15 0 0 0 0 0 0 0<br />
13 13 13 5 2 2 3 2 3<br />
10 10 10 4 2 1 2 3 5<br />
6 6 6 2 1 2 4 4 5<br />
3 3 3 1 2 4 7 8 8<br />
1 1 1 1 3 6 10 12 13<br />
0 0 0 2 5 9 14 17 19<br />
Restliche Einträge:<br />
= + min ( , , )<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
16 16 16 8 8 9 11 8 5<br />
16 16 16 6 5 6 8 5 3<br />
15 15 15 5 3 4 5 3 2<br />
13 13 13 5 2 2 3 2 3<br />
10 10 10 4 2 1 2 3 5<br />
6 6 6 2 1 2 4 4 5<br />
3 3 3 1 2 4 7 8 8<br />
1 1 1 1 3 6 10 12 13<br />
0 0 0 2 5 9 14 17 19<br />
Restliche Einträge:<br />
= + min ( , , )<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
16 16 16 8 8 9 11 8 5<br />
16 16 16 6 5 6 8 5 3<br />
15 15 15 5 3 4 5 3 2<br />
13 13 13 5 2 2 3 2 3<br />
10 10 10 4 2 1 2 3 5<br />
6 6 6 2 1 2 4 4 5<br />
3 3 3 1 2 4 7 8 8<br />
1 1 1 1 3 6 10 12 13<br />
0 0 0 2 5 9 14 17 19<br />
Backtracking:<br />
= min ( , , )<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
16 16 16 8 8 9 11 8 5<br />
16 16 16 6 5 6 8 5 3<br />
15 15 15 5 3 4 5 3 2<br />
13 13 13 5 2 2 3 2 3<br />
10 10 10 4 2 1 2 3 5<br />
6 6 6 2 1 2 4 4 5<br />
3 3 3 1 2 4 7 8 8<br />
1 1 1 1 3 6 10 12 13<br />
0 0 0 2 5 9 14 17 19<br />
Backtracking:<br />
= min ( , , )<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
16 16 16 8 8 9 11 8 5<br />
16 16 16 6 5 6 8 5 3<br />
15 15 15 5 3 4 5 3 2<br />
13 13 13 5 2 2 3 2 3<br />
10 10 10 4 2 1 2 3 5<br />
6 6 6 2 1 2 4 4 5<br />
3 3 3 1 2 4 7 8 8<br />
1 1 1 1 3 6 10 12 13<br />
0 0 0 2 5 9 14 17 19<br />
Backtracking:<br />
= min ( , , )<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
16 16 16 8 8 9 11 8 5<br />
16 16 16 6 5 6 8 5 3<br />
15 15 15 5 3 4 5 3 2<br />
13 13 13 5 2 2 3 2 3<br />
10 10 10 4 2 1 2 3 5<br />
6 6 6 2 1 2 4 4 5<br />
3 3 3 1 2 4 7 8 8<br />
1 1 1 1 3 6 10 12 13<br />
0 0 0 2 5 9 14 17 19<br />
Backtracking:<br />
= min ( , , )<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
16 16 16 8 8 9 11 8 5<br />
16 16 16 6 5 6 8 5 3<br />
15 15 15 5 3 4 5 3 2<br />
13 13 13 5 2 2 3 2 3<br />
10 10 10 4 2 1 2 3 5<br />
6 6 6 2 1 2 4 4 5<br />
3 3 3 1 2 4 7 8 8<br />
1 1 1 1 3 6 10 12 13<br />
0 0 0 2 5 9 14 17 19<br />
Backtracking:<br />
= min ( , , )<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
16 16 16 8 8 9 11 8 5<br />
16 16 16 6 5 6 8 5 3<br />
15 15 15 5 3 4 5 3 2<br />
13 13 13 5 2 2 3 2 3<br />
10 10 10 4 2 1 2 3 5<br />
6 6 6 2 1 2 4 4 5<br />
3 3 3 1 2 4 7 8 8<br />
1 1 1 1 3 6 10 12 13<br />
0 0 0 2 5 9 14 17 19<br />
Backtracking:<br />
= min ( , , )<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
16 16 16 8 8 9 11 8 5<br />
16 16 16 6 5 6 8 5 3<br />
15 15 15 5 3 4 5 3 2<br />
13 13 13 5 2 2 3 2 3<br />
10 10 10 4 2 1 2 3 5<br />
6 6 6 2 1 2 4 4 5<br />
3 3 3 1 2 4 7 8 8<br />
1 1 1 1 3 6 10 12 13<br />
0 0 0 2 5 9 14 17 19<br />
Backtracking:<br />
= min ( , , )<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
16 16 16 8 8 9 11 8 5<br />
16 16 16 6 5 6 8 5 3<br />
15 15 15 5 3 4 5 3 2<br />
13 13 13 5 2 2 3 2 3<br />
10 10 10 4 2 1 2 3 5<br />
6 6 6 2 1 2 4 4 5<br />
3 3 3 1 2 4 7 8 8<br />
1 1 1 1 3 6 10 12 13<br />
0 0 0 2 5 9 14 17 19<br />
Backtracking:<br />
= min ( , , )<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
16 16 16 8 8 9 11 8 5<br />
16 16 16 6 5 6 8 5 3<br />
15 15 15 5 3 4 5 3 2<br />
13 13 13 5 2 2 3 2 3<br />
10 10 10 4 2 1 2 3 5<br />
6 6 6 2 1 2 4 4 5<br />
3 3 3 1 2 4 7 8 8<br />
1 1 1 1 3 6 10 12 13<br />
0 0 0 2 5 9 14 17 19<br />
Backtracking:<br />
= min ( , , )<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
16 16 16 8 8 9 11 8 5<br />
16 16 16 6 5 6 8 5 3<br />
15 15 15 5 3 4 5 3 2<br />
13 13 13 5 2 2 3 2 3<br />
10 10 10 4 2 1 2 3 5<br />
6 6 6 2 1 2 4 4 5<br />
3 3 3 1 2 4 7 8 8<br />
1 1 1 1 3 6 10 12 13<br />
0 0 0 2 5 9 14 17 19<br />
Backtracking:<br />
= min ( , , )<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
16 16 16 8 8 9 11 8 5<br />
16 16 16 6 5 6 8 5 3<br />
15 15 15 5 3 4 5 3 2<br />
13 13 13 5 2 2 3 2 3<br />
10 10 10 4 2 1 2 3 5<br />
6 6 6 2 1 2 4 4 5<br />
3 3 3 1 2 4 7 8 8<br />
1 1 1 1 3 6 10 12 13<br />
0 0 0 2 5 9 14 17 19<br />
Backtracking:<br />
= min ( , , )<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
16 16 16 8 8 9 11 8 5<br />
16 16 16 6 5 6 8 5 3<br />
15 15 15 5 3 4 5 3 2<br />
13 13 13 5 2 2 3 2 3<br />
10 10 10 4 2 1 2 3 5<br />
6 6 6 2 1 2 4 4 5<br />
3 3 3 1 2 4 7 8 8<br />
1 1 1 1 3 6 10 12 13<br />
0 0 0 2 5 9 14 17 19<br />
Backtracking:<br />
= min ( , , )<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
16 16 16 8 8 9 11 8 5<br />
16 16 16 6 5 6 8 5 3<br />
15 15 15 5 3 4 5 3 2<br />
13 13 13 5 2 2 3 2 3<br />
10 10 10 4 2 1 2 3 5<br />
6 6 6 2 1 2 4 4 5<br />
3 3 3 1 2 4 7 8 8<br />
1 1 1 1 3 6 10 12 13<br />
0 0 0 2 5 9 14 17 19<br />
• Alternativer Pfad<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Referenz<br />
03 Gestenerkennung – Bsp.<br />
Lokale Distanzmatrix C:<br />
Φ(t)<br />
7<br />
6<br />
5<br />
4<br />
1 0 0 0 2 3 4 5 3 2<br />
3<br />
2 1 1 1 1 2 3 4 2 1<br />
3 2 2 2 0 1 2 3 1 0<br />
2<br />
4 3 3 3 1 0 1 2 0 1<br />
5 4 4 4 2 1 0 1 1 2<br />
1<br />
4 3 3 3 1 0 1 2 0 1<br />
0<br />
3 2 2 2 0 1 2 3 1 0<br />
1 2 3 4 5 6 7 8 9 t<br />
2 1 1 1 1 2 3 4 2 1<br />
1 0 0 0 2 3 4 5 3 2<br />
Referenz Input<br />
1 1 1 3 4 5 6 4 3 Distanz herkömmlich berechnet: d=13<br />
Input<br />
Globale Distanzmatrix D:<br />
16 16 16 8 8 9 11 8 5<br />
16 16 16 6 5 6 8 5 3<br />
15 15 15 5 3 4 5 3 2<br />
13 13 13 5 2 2 3 2 3<br />
10 10 10 4 2 1 2 3 5<br />
6 6 6 2 1 2 4 4 5<br />
3 3 3 1 2 4 7 8 8<br />
1 1 1 1 3 6 10 12 13<br />
0 0 0 2 5 9 14 17 19<br />
• Distanz <strong>der</strong> beiden Zeitreihen über<br />
Dynamic Time Warping: d= 5<br />
TU Dresden, 31.01.2013 Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 19 von 22
Oberkörpergestenerkennung – Typ<br />
Bestimmung des Oberkörpergestentyps<br />
• über Varianzen in den MVS, unterscheiden statisch (kleine akkumulierte Varianz) von<br />
dynamisch (große akkumulierte Varianz)<br />
• Einteilung in links-/rechts-/beidseitige Ausführung (in Trainingsdaten gespeichert)<br />
Optimierung<br />
• Mindestlänge für temporäre MVS in gleitendem Suchfenster<br />
• statisch Gesten ausgedrückt durch ihren Mittelwertsvektor Distanz reduziert sich zu<br />
euklidischem Abstand zweier MV<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 158
Evaluation – Finden von OKG<br />
Auffinden von Oberkörpergesten<br />
Untersuchung zur Laufzeit:<br />
• Bewegungsausführung, manuelles Markieren <strong>der</strong> Gesten zur Laufzeit mit Fußtaster<br />
• Vergleichen, ob automatisch markierte Zeitpunkte auf Anfang/Ende einer Geste fallen<br />
• koordinativ schwierig, keine umfassende Untersuchung<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 159
Betrag <strong>der</strong> Geschwindigkeit<br />
Evaluation – Finden von OKG<br />
Ergebnisse<br />
55<br />
50<br />
45<br />
40<br />
35<br />
30<br />
25<br />
20<br />
15<br />
10<br />
5<br />
0<br />
1 51 101 151 201 251 301 351 401 451 501 551 601<br />
t<br />
Betrag <strong>der</strong> Geschwindigkeit manuelle Markierungen berechnete Markierungen<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 160
Betrag <strong>der</strong> Geschwindigkeit<br />
Evaluation – Finden von OKG<br />
Ergebnisse<br />
55<br />
50<br />
45<br />
40<br />
35<br />
30<br />
25<br />
20<br />
Markierte Zeitpunkte (ohne Spezialfälle)<br />
15<br />
10<br />
5<br />
0<br />
1 51 101 151 201 251 301 351 401 451 501 551 601<br />
t<br />
Betrag <strong>der</strong> Geschwindigkeit manuelle Markierungen berechnete Markierungen<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 161
Details – Tiefenprobleme <strong>der</strong> Handformerkennung<br />
(a) ~ 1000 mm, (b) ~ 1500 mm, (c) ~ 2000 mm, (d) ~ 3000 mm<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 162
korrekt klassifiziert (in %)<br />
800 - 1000<br />
1001 - 1100<br />
1101 - 1200<br />
1201 - 1300<br />
1301 - 1400<br />
1401 - 1500<br />
1501 - 1600<br />
1601 - 1700<br />
1701 - 1800<br />
1801 - 1900<br />
1901 - 2000<br />
2001 - 2100<br />
2101 - 2200<br />
2201 - 2300<br />
2301 - 2400<br />
2401 - 2500<br />
2501 - 2600<br />
2601 - 2700<br />
2701 - 2800<br />
2801 - 2900<br />
2901 - 3000<br />
3001 - 3100<br />
3101 - 3200<br />
3201 - 3300<br />
3301 - 3400<br />
3401 - 3500<br />
Details – Tiefenprobleme <strong>der</strong> Handformerkennung<br />
100<br />
90<br />
80<br />
70<br />
60<br />
50<br />
40<br />
30<br />
20<br />
10<br />
0<br />
KK geöffnete Hand<br />
KK geschlossene Hand<br />
Distanz-Intervall (in mm)<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 163
Details – Übersicht Erkennungsverfahren<br />
Kinect<br />
Gestenerkenner<br />
Applikation<br />
Han<strong>der</strong>kennung<br />
Tiefendaten<br />
Skelettdaten<br />
Posenmodell<br />
Handpositionen<br />
Klassifizierung <strong>der</strong> Handform<br />
Virtuelle Handkoordinaten<br />
Ergebnis d.<br />
Klassifikation<br />
Körperwinkel<br />
Nutzeraktion<br />
Merkmalsvektoren<br />
Oberkörpergestenerkennung<br />
Abbilden von<br />
Merkmalsvektoren<br />
Auffinden u. Klassifizieren von<br />
Merkmalsvektorsequenzen<br />
Ergebnis d.<br />
Klassifikation<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 164
Details – Übersicht Erkennungsverfahren<br />
Han<strong>der</strong>kennung<br />
Erkennung <strong>der</strong> Handform<br />
Tiefendaten<br />
Separieren von<br />
Handpixeln<br />
Suchstrahlalgorithmus<br />
Klassifikation<br />
Ergebnis d.<br />
Klassifikation<br />
Handkontur<br />
Bounding Box<br />
Handpositionen<br />
geglättete Handpositionen<br />
Virtuelle Zeigerposition<br />
Fensterkoordinaten<br />
Sensitivitätsskalierung<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 165
Details – Übersicht Erkennungsverfahren<br />
Oberkörpergestenerkennung<br />
Körperwinkel<br />
Merkmalsvektor<br />
Mittelwertfilter<br />
geglätteter Merkmalsvektor<br />
Ausgabe<br />
Erkennung von semaphorischen Oberkörpergesten<br />
Distanzmaß<br />
Auffinden von Gesten<br />
Markierung<br />
Gleitendes Fenster<br />
Klassifikation einer<br />
Merkmalsvektorsequenz<br />
Merkmalsvektorsequenz<br />
Trainingsdaten<br />
Ergebnis<br />
Bestes Ergebnis<br />
Klassifikationsergebnis<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 166
Empirisches<br />
• Wahl <strong>der</strong> Gesten hat großen Einfluss<br />
• größere Nutzerstudie fehlt<br />
praxisnahe Herausfor<strong>der</strong>ungen:<br />
• Wahl <strong>der</strong> System-Parameter<br />
• 13 Werte bei <strong>der</strong> Han<strong>der</strong>kennung<br />
• 16 Werte bei <strong>der</strong> OKG-Erkennung<br />
• überwiegend empirisch ermittelt<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 167
Quellen<br />
[BB11]<br />
BISWAS, K. K. ; BASU, S. K.: Gesture recognition using Micros<strong>of</strong>t Kinect. In: Automation, Robotics and<br />
Applications (ICARA), 2011 5th International Conference on, IEEE, Dezember 2011, S. 100–103<br />
[Boo78] DE BOOR, Carl Wilhelm R.: A Practical Guide to Splines. New York : Springer Verlag, 1978<br />
[BP+04]<br />
BARBIC, Jernej ; ; PAN, Jia-Yu ; FALOUTSOS, Christos ; HODGINS, Jessica K. ; POLLARD, Nancy: Segmenting<br />
Motion Capture Data into Distinct Behaviors. In: In Proceedings <strong>of</strong> Graphics Interface 2004, 2004, S. 185 – 194<br />
[BWK11] BATISTA, Gustavo ; WANG, Xiaoyue ; KEOGH, Eamonn J.: A Complexity-Invariant Distance Measure for Time<br />
Series. In: SDM, SIAM / Omnipress, 2011, S. 699–710<br />
[DSM+11] DOLIOTIS, Paul ; STEFAN, Alexandra ; MCMURROUGH, Christopher ; ECKHARD, David; ATHITSOS, Vassilis:<br />
Comparing gesture recognition accuracy using color and depth information. In: Proceedings <strong>of</strong> the 4th<br />
International Conference on PErvasive Technologies Related to Assistive Environments. New York, NY, USA :<br />
ACM, 2011 (PETRA ’11), S.20:1–20:7<br />
[GGNZ06] GUYON, Isabelle ; GUNN, Steve ; NIKRAVESH, Masoud ; ZADEH, Lotfi A.: Feature Extraction: Foundations and<br />
Applications (Studies in Fuzziness and S<strong>of</strong>t Computing). Bd. 207. 1. Springer, August 2006<br />
[HS03] HÄRDLE, Wolfgang ; SIMAR, Léopold: Applied multivariate statistical analysis. Berlin : Springer, 2003<br />
[Int96] INTERNATIONAL STANDARD OF ORGANISATION. Basic human body measurements for technological design -<br />
ISO 7250. 1996<br />
[Ize08]<br />
[KGP02]<br />
[KLJ04]<br />
[KS05]<br />
IZENMAN, Alan J.: Mo<strong>der</strong>n Multivariate Statistical Techniques: Regression, Classification and Manifold Learning.<br />
1. Springer Publishing Company, Incorporated, 2008<br />
KOVAR, Lucas ; GLEICHER, Michael ; PIGHIN, Frédéric: Motion graphs. In: SIGGRAPH’02: Proceedings <strong>of</strong> the<br />
29th annual conference on <strong>Computer</strong> graphics and interactive techniques Bd. 21. New York, NY, USA : ACM, Juli<br />
2002, S. 473–482<br />
KANG, Hyun ; LEE, Chang W. ; JUNG, Keechul: Recognition-based gesture spotting in video games. In: Pattern<br />
Recogn. Lett. 25 (2004), November, Nr. 15, S. 1701–1714<br />
KARAM, Maria ; SCHRAEFEL, M. C.: A Taxonomy <strong>of</strong> Gestures in Human <strong>Computer</strong> Interactions/ University <strong>of</strong><br />
Southampton. 2005. – Technical Report<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 168
Quellen<br />
[Li12]<br />
[LK99]<br />
LI, Yi: Multi-scenario gesture recognition using Kinect. In: MEHDI, Quasim H. (Hrsg.); ELMAGHRABY, Adel (Hrsg.)<br />
; MARSHALL, Ian (Hrsg.) ; MORETON, Robert (Hrsg.) ;RAGADE, Rammohan K. (Hrsg.) ; ZAPIRAIN, Begona G.<br />
(Hrsg.) ; CHARIKER, Julia (Hrsg.); EL-SAID, Mostafa M. (Hrsg.) ; YAMPOLSKIY, Roman V. (Hrsg.) ; ZHIGIANG,<br />
Nickola L.(Hrsg.): CGAMES, IEEE, 2012, S. 126–130<br />
LEE, Hyeon-Kyu ; KIM, Jin H.: An HMM-Based Threshold Model Approach for Gesture Recognition. In: IEEE<br />
Transactions on Pattern Analysis and Machine Intelligence 21 (1999), S. 961–973<br />
[Mic12] Micros<strong>of</strong>t Corporation: Kinect For Windows SDK Documentation. 2012<br />
[OFH08]<br />
[PL06]<br />
[RKH11]<br />
ONUMA, Kensuke ; FALOUTSOS, Christos ; HODGINS, Jessica K.: FMDistance: A fast and effective distance<br />
function for motion capture data. In: in Short Papers Proceedings <strong>of</strong> EUROGRAPHICS, 2008<br />
PARK, A-Youn ; LEE, Seong-Whan: Gesture spotting in continuous whole body action sequences using discrete<br />
hidden markov models. In: Proceedings <strong>of</strong> the 6th international conference on Gesture in Human-<strong>Computer</strong><br />
Interaction and Simulation. Berlin, Heidelberg: Springer-Verlag, 2006 (GW’05), S. 100–111<br />
RAPTIS, Michalis ; KIROVSKI, Darko ; HOPPE, Hugues: Real-time classification <strong>of</strong> dancegestures from skeleton<br />
animation. In: Proceedings <strong>of</strong> the 2011 ACM SIGGRAPH/Eurographics Symposium on <strong>Computer</strong> Animation. New<br />
York, NY, USA : ACM, 2011 (SCA ’11), S. 147–156<br />
[RVCB03] RAMAMOORTHY, Aditya ; VASWANI, Namrata ; CHAUDHURY, Santanu ; BANERJEE, Subhashis. Recognition <strong>of</strong><br />
dynamic hand gestures. 2003<br />
[RYZ11]<br />
[SC90]<br />
[Sen08]<br />
REN, Zhou ; YUAN, Junsong ; ZHANG, Zhengyou: Robust hand gesture recognition based on finger-earth mover’s<br />
distance with a commodity depth camera. In: Proceedings <strong>of</strong> the 19th ACM international conference on<br />
Multimedia. New York, NY, USA : ACM, 2011 (MM ’11), S. 1093–1096<br />
SAKOE, Hiroaki ; CHIBA, Seibi: Readings in speech recognition. San Francisco, CA, USA : Morgan Kaufmann<br />
Publishers Inc., 1990, Kapitel Dynamic programming algorithm optimization for spoken word recognition, S. 159–<br />
165<br />
SENIN, Pavel: Dynamic TimeWarping Algorithm Review / Department <strong>of</strong> Information and <strong>Computer</strong> <strong>Science</strong>s,<br />
University <strong>of</strong> Hawaii, Honolulu, Hawaii 96822. 2008 ( CSDL-08-04). – Forschungsbericht<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 169
Quellen<br />
[SRT07]<br />
STIEFMEIER, Thomas ; ROGGEN, Daniel ; TRÖSTER, Gerhard: Gestures are strings: efficient online gesture<br />
spotting and classification using string matching. In: Proceedings <strong>of</strong> the ICST 2nd international conference on<br />
Body area networks. ICST, Brussels, Belgium : ICST (Institute for <strong>Computer</strong> <strong>Science</strong>s, Social-Informatics and<br />
Telecommunications Engineering), 2007 (BodyNets ’07), S. 16:1–16:8<br />
[SSS+05] SCHÜNKE, M. ; SCHULTE, E. ; SCHUMACHER, U. ; VOLL, M. ; WESKER, K.: Prometheus, LernAtlas <strong>der</strong> Anatomie,<br />
Allgemeine Anatomie und Bewegungssystem. Stuttgart : Thieme, 2005<br />
[Tan11] TANG, Matthew. Recognizing Hand Gestures with Micros<strong>of</strong>t’s Kinect. 2011<br />
[TLB12]<br />
TRINDADE, Pedro ; LOBO, Jorge ; BARRETO, Joao P.: Hand gesture recognition using color and depth images<br />
enhanced with hand angular pose data. In: Multisensor Fusion and Integration for Intelligent Systems (MFI),<br />
2012 IEEE Conference on, 2012, S. 71 –76<br />
[WM97] WILSON, D. R. ; MARTINEZ, Tony R.: Improved heterogeneous distance functions. In: J. Artif. Int. Res. 6 (1997),<br />
Januar, Nr. 1, S. 1–34<br />
[WNDS99] WOO, Mason ; NEIDER, Jackie ; DAVIS, Tom ; SHREINER, Dave: OpenGL Programming Guide: The Official Guide<br />
to Learning OpenGL, Version 1.2. 3rd. Boston, MA, USA : Addison-Wesley Longman Publishing Co., Inc., 1999<br />
[YPL07]<br />
YANG, Hee-Deok ; PARK, A-Yeon ; LEE, Seong-Whan: Gesture Spotting and Recognition for Human-Robot<br />
Interaction. In: IEEE Transactions on Robotics 23 (2007), Nr. 2, S. 256–270<br />
Diplomverteidigung Ludwig Schmutzler<br />
Gestenerkennung mithilfe <strong>der</strong> Micros<strong>of</strong>t Kinect<br />
Folie 170