29.01.2014 Aufrufe

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

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!