Oder Text markieren und Enter drücken…

Kinect Gesture Recognition Approach

Tags
Backlinks
» Tags: "Kinect Gesture Recognition Approach" is tagged as
» Backlinks: These Wikipages link to "Kinect Gesture Recognition Approach"

Der Versuch eine minimale Gestenerkennung für die Kinect zu kreieren.

Im folgenden Artikel wird kurz erläutert, wie eine von vielen Herangehensweisen zum 

wahrnehmen von Gesten aussehen könnte.

 

Bei Fragen:

Antonio Kraemer, Marcel Müller, Patric Sterrantino

 

Die Klasse gibt es unter KinectGestureApproach zum herunterladen.

Für die Verwendung muss diese lediglich in Eclipse in das Projekt importiert

werden und anschließend, wie direkt in der Datei beschrieben die Klasse in der

Main-Class geaddet und initialisiert werden.

 

Gestenerkennung

 

Positionen speichern

Um Gesten erkennen zu können muss zuerst einmal grundsätzlich zu jedem Zeitpunkt

die Position inkl. einem Zeitstempel des Trackingpunktes gespeichert werden.

 

Positionen vergleichen

Nun, da man die Positionen des getrackten Punktes kontinuierlich speichert und somit

zu jeder Zeit weiß, wo sich der getrackte Punkt wann befunden hat (selbstverständlich

in einem begrenzten Zeitraum), kann man diese miteinander vergleichen. 

 

Lineare Geste


Kinect Gesture Approach Screen1

Hier wird dargestellt, wie eine lineare Geste wahrgenommen werden kann. Durch simples

Vergleichen der aktuellen Position mit der x-Sekunden davor weiß man, um wie weit sich

der tracking Punkt in einer bestimmten Zeit bewegt hat.

 

Kreisförmige Geste

 
Kinect Gesture Approach Screen2
 
Um eine kreisförmige Geste zu erkennen reicht es nicht aus zwei Punkte zu vergleichen.
Hier ist es nötig, alle Punkte in einem bestimmten Zeitraum zu untersuchen und heraus-
zufinden, ob diese auf einem Umkreis liegen. 
Man vergleicht also alle Punkte in den letzten x-Sekunden und errechnet dadurch einen
möglichen Mittelpunkt. Man rechnet alle getrackten Punkte zusammen und errechnet
den Durchschnitt. Hätte der Benutzer einen Kreis gezeichnet, wäre dieser der Mittelpunkt
unserer Kreis-Geste. 
Um zu überprüfen ob ein Kreis gezeichnet wurde, wird als nächste verglichen ob alle 
verwendeten Punkte einen ähnlichen Abstand zum Durchschnittspunkt haben. 
Ist dies der Fall, kann man von einer kreisförmigen Geste ausgehen.
Natürlich wird hier ein Buffer für das Zittern des getrackten Punktes und das ungenaue
Zeichnen des Kreises eingebaut.