Benutzer-Werkzeuge

Webseiten-Werkzeuge


seminar_3m:3m_2014:motion_segmentation

Dies ist eine alte Version des Dokuments!



Warning: Undefined array key 1 in /is/htdocs/wp1019470_OPI92FFHXV/www/wikiLehre/lib/plugins/vshare/syntax.php on line 66

Warning: Undefined array key 1 in /is/htdocs/wp1019470_OPI92FFHXV/www/wikiLehre/lib/plugins/vshare/syntax.php on line 132

Segmentation of Human Motion

Modul 3M Seminar 2014
Kategorie 3M-Seminar 2014
Autor Jennifer Conrad, Sarina Thomas, Sonja Mohnen, Franziska Rupf & Pascal Schuchmann
Betreuer Christian Mandery
Bearbeitungsdauer ca. 25 Stunden


Introduction/Motivation

Die Robotik ist ein sich schnell entwickelndes Feld. Verschiedenste Kleingeräte helfen dem Menschen bereits im Alltag, jedoch ist der Weg zum selbstständigen, humanoiden Roboter noch lange nicht vollständig beschritten. Für den Menschen alltägliche Bewegungen, wie das Greifen, Bewegen und Ablegen eines Gegenstandes können Roboter ohne vorangegangene Informationen vor unlösbare Aufgaben stellen.

Betrachtet man die Bewegungen eines Menschen wird schnell deutlich, dass viele Variablen existieren, die über die Zielerreichung der Bewegung entscheiden. Bei einem Roboter ist es kaum möglich, menschliche Bewegungen exakt nach zu bilden. Die komplexe Bewegungsabfolge mit der Vielzahl an Freiheitsgraden muss auf die limitierte Anzahl an Gelenksfreiheitsgraden des Roboters projiziert und angenähert werden. Dabei muss nicht immer nur eine Lösung existieren, wodurch die Problematik der Singularitäten und Redundanzen entsteht.

Darüber hinaus ermöglichen Propriozeption und Erfahrungsschatz dem Menschen auf verschiedene Gegebenheiten schnell und flexibel reagieren zu können, meist sogar ohne dass bewusste Entscheidungen getroffen werden. Dieses Wissen und Können fehlt Robotern und muss gelernt werden. Dieser Lernprozess kann zum Beispiel durch Nachahmung (“Behavioral cloning”) – also der Vorgabe von Trajektorien-Punkten durch einen Menschen oder dem selbstständigen Ausprobieren mit anschließender Bewertung des Feedbacks (“Reinforcement learning”) realisiert werden.

Eine Möglichkeit, Roboter zu steuern, ist die Verwendung von Motion Capturing Daten. Eine der größten Schwierigkeiten in der Roboter-Bewegungsplanung liegt in der korrekten Ansteuerung über einen längeren Zeitraum, also einer längeren Bewegungssequenz, welche ihrerseits mehrere Bewegungssegmente enthält. Deshalb ist es sinnvoll, die aufgenommene Bewegungssequenz automatisiert in geeignete Bewegungssegmente zu unterteilen. Die zeitlich korrekte Anordnung der Segmente erlaubt es Robotern, Bewegungsaufgaben nach humanoidem Vorbild zu lösen.

Im Rahmen des Projektes “Segmentation of Human Motion” im 3M Seminar sollte sich durch eine Literaturrecherche [1,2] in die Thematik der automatisierten Bewegungs-Segmentierung eingearbeitet werden. Während der Präsenzzeit in Karlsruhe sollten anschließend zwei Segmentierungsverfahren [4] implementiert und evaluiert werden. Dazu wurden vorab eigenständig ausgewählte Bewegungssequenzen mit dem Vicon Motion Capturing System aufgenommen und aufbereitet. Darüber hinaus sollten zur Vertiefung des theoretischen Hintergrundes verschiedene Theorie-Aufgaben [5] gelöst werden.


Podcast

Das folgende Video zeigt ???.



Summary


Im Rahmen des Seminar wurden unterschiedliche Bewegungen wie z.B. Kniebeuge, Handstand und Hampelmann mit dem VICON Motion Capturing System aufgenommen (siehe <imgref image1>). Das System besteht aus 10 Infrarot-Kameras, die am Körper angebrachte retro-reflektierende Marker erfassen können. In einem anschließenden aufwendigen Aufbereitungsschritt wurden die Marker identifiziert und fehlerhafte Markerzuordnungen korrigiert.

<imgcaption image1|Handstand mit Trajektorienvisualisierung></imgcaption>

Diese Bewegungssequenzen galt es durch zwei Segmentierungsverfahren zu segmentieren. Das erste Verfahren beruht auf der Annahme, dass im Falle eines neuen Bewegungsabschnittes Gelenke eine kurzzeitge Ruhestellung einnehmen. Das heisst, betrachtet man die Geschwindigkeit der einzelnen Markern, soll genau dann segmentiert werden, wenn möglichst viele Geschwindigkeitswerte den Wert null erreicht haben. Deshalb wird bei diesem Verfahren die Summe aller Geschwindigkeiten gebildet und mit einem manuell wählbaren Schwellenwert verglichen. Unterschreitet man diesen Schwellenwert, wird segmentiert.

In dem zweiten Verfahren werden n Marker-Punkte (mit jeweils 3 Dimensionen pro Marker) in einen 3n – dimensionalen Raum aufgetragen. Durch eine Hauptkomponentenanalyse können diejenigen Basisvektoren bestimmt werden, die für die Bewegung wichtig sind. Die Marker-Punkte können somit in einen niederdimensionalen Raum projiziert werden. Durch diese Projektion entsteht ein Projektionsfehler, da lediglich die wichtigsten Basisvektoren verwendet werden und nicht alle. Der Segmentierungsalgorithmus stützt sich auf die Annahme, dass bei einem neuen Bewegungsabschnitt dieser Projektionsfehler signifikant ansteigt.

Die Verfahren wurden jeweils im Gelenkwinkel-Raum als auch im kartesischen Raum untersucht.

Eine Evaluierung hat gezeigt, dass lediglich das erste Verfahren bei den ausgewählten Bewegungen repräsentative Ergebnisse erzielen konnte, welche im kartesischen Raum zu den besten Ergebnissen führten.


References

[1] Jernej Barbic, Jia-Yu Pan, Christos Faloutsos, Jessica K Hodgins, and Nancy Pollard. Segmenting motion capture data into distinct behaviors. In In Proceedings of Graphics Interface 2004, pages 185 – 194, May 2004.

[2] Odest Chadwicke Jenkins and Maja J. Mataric. Automated derivation of behavior vocabularies for autonomous humanoid motion. In Proceedings of the second international joint conference on Autonomous agents and multiagent systems, pages 225–232, New York, NY, USA, 2003.

[3] Expose expose_segmentation.pdf

[4] Aufgabenbeschreibung bewegungssegmentierung.pdf

[5] Lösung Theorie Übungen solutions.zip

indexmenu_n_1


seminar_3m/3m_2014/motion_segmentation.1403466622.txt.gz · Zuletzt geändert: 28.11.2022 00:01 (Externe Bearbeitung)


Warning: Undefined variable $orig_id in /is/htdocs/wp1019470_OPI92FFHXV/www/wikiLehre/lib/plugins/openas/action.php on line 232