Benutzer-Werkzeuge

Webseiten-Werkzeuge


seminar_3m:3m_2015:human_motion_capturing_character_animation_ii

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
seminar_3m:3m_2015:human_motion_capturing_character_animation_ii [09.07.2015 13:16] – [Referenzen] Isabel Ehrenbergerseminar_3m:3m_2015:human_motion_capturing_character_animation_ii [28.11.2022 00:11] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 2: Zeile 2:
 ====== Human motion capturing character animation II====== ====== Human motion capturing character animation II======
  
-^ Modul-Icon           | ...  +^ Modul-Icon           | ...                                                               
-^ Veranstaltung        | ...  +^ Veranstaltung        | ...                                                               
-^ Autor                |      +^ Autor                | Jan Philipp Gerlach, Filip Szeliga, Isabel Ehrenberger, Wei Quan  
-^ Bearbeitungsdauer    | ...  +^ Bearbeitungsdauer    | 10 h pro Person                                                   
-^ Präsentationstermin  | ...  +^ Präsentationstermin  | ...                                                               
-^ Zuletzt geändert     | ...  |+^ Zuletzt geändert     | ...                                                               |
  
 <note warning> <note warning>
Zeile 23: Zeile 23:
 Beim Entwurf von Robotermodellen muss für jeden Roboter eine Kinematik erstellt werden, welche seine einzelnen Segmente, also Körperglieder, und seine jeweiligen Gelenke mit der Anzahl der Freiheitsgrade beschreibt. Da jeder Roboter individuell ist, muss immer eine neue kinematische Struktur erstellt werden. Beim Entwurf von Robotermodellen muss für jeden Roboter eine Kinematik erstellt werden, welche seine einzelnen Segmente, also Körperglieder, und seine jeweiligen Gelenke mit der Anzahl der Freiheitsgrade beschreibt. Da jeder Roboter individuell ist, muss immer eine neue kinematische Struktur erstellt werden.
  
-Die Bewegungen, welche der Roboter in der Simulation ausführen soll, können nun auf zwei Arten übergeben werden. Entweder werden diese direkt eingegeben oder über das sogenannte "Motion Capture" auf den Roboter übertragen. Beim "Motion Capture" werden Aufnahmen von Menschen mit diversen Kamerasystemen gemacht. Diese können entweder mit Point-Cloud-basierten Kamerasystemen, wie der Kinect Camera, oder mit aktiven optischen Kamerasystemen, wie dem VICON-System, aufgenommen werden. Um aufgenommen Bewegungen, welche von unterschiedlichen Probanden sein können, auf jeden beliebigen Roboter zu mappen, wurde hierfür die Master Motor Map (MMM)[1] entwickelt. Diese ermöglicht es die Aufnahmen mittels eines Converters auf ein Referenzmodell zu mappen. +Die Bewegungen, welche der Roboter in der Simulation ausführen soll, können nun auf verschiedene Weisen übergeben werden. Diese können beispielsweise direkt eingegeben oder über das sogenannte "Motion Capture" auf den Roboter übertragen werden. Beim "Motion Capture" werden Aufnahmen von Menschen mit diversen Kamerasystemen gemacht. Eine Aufnahmemöglichkeit ist die Benutzung von Point-Cloud-basierten Kamerasystemen, wie der Kinect Camera. Eine weitere Möglichkeit stellen aktive optische Kamerasysteme, wie das VICON-System, dar. Um aufgenommen Bewegungen, welche von unterschiedlichen Probanden sein können, auf jeden beliebigen Roboter zu mappen, wurde hierfür die Master Motor Map (MMM)[1] entwickelt. Diese ermöglicht es die Aufnahmen mittels eines Converters auf ein Referenzmodell zu mappen. Die Struktur der MMM 
 +ist in folgender Abbildung zu sehen[1]:
  
 +{{ :seminar_3m:3m_2015:mmm.jpg?300 |}}
 +
 +In nachfolgender Abbildung ist das Referenzmodell zu sehen.
 +
 +{{ :seminar_3m:3m_2015:referenzmodell.png?300 |}}
 +
 +Durch das Mappen auf das MMM-Referenzmodell werden Eigenschaften des Körpers eines jeden Probanden, wie z.B die Körpergröße und die Segmentlänge, wegmarginalisiert. Dadurch findet eine Normalisierung der Bewegung statt. Das Referenzmodell hat für eine einfache Anpassung eine Größe von einem Meter und ein Gewicht von einem Kilogramm. 
 Mit Hilfe eines Converters wird das Referenzmodell auf das ausgewählte Robotermodell gemappt. Dies hat den großen Vorteil, dass die Modellierung der Modelle für die Aufnahmen und die Modellierung der Robotermodelle unabhängig voneinander stattfinden kann. Durch dieses Verfahren hat man eine große Wiederverwendbarkeit der Daten.  Mit Hilfe eines Converters wird das Referenzmodell auf das ausgewählte Robotermodell gemappt. Dies hat den großen Vorteil, dass die Modellierung der Modelle für die Aufnahmen und die Modellierung der Robotermodelle unabhängig voneinander stattfinden kann. Durch dieses Verfahren hat man eine große Wiederverwendbarkeit der Daten. 
-Das Referenzmodell ist ein dynamisches Modell. Dies bedeutet, dass zusätzlich zu der Länge der einzelnen Segmente noch die Masse, das Drehmoment und viele weitere Faktoren für jedes einzelne Gelenk berücksichtigt werden. Durch das Modell wird die maximale Anzahl an möglichen Bewegungsfreiheitsgraden vorgegeben. Ein besonderer Vorteil des MMM Frameworks ist, dass es frei im Internet verfügbar ist.+Das Referenzmodell ist ein dynamisches Modell. Dies bedeutet, dass zusätzlich zu der Länge der einzelnen Segmente noch die Masse, das Trägheitsmoment und viele weitere Faktoren für jedes einzelne Gelenk berücksichtigt werden. Durch das Modell wird die maximale Anzahl an möglichen Bewegungsfreiheitsgraden vorgegeben. Ein besonderer Vorteil des MMM Frameworks ist, dass es frei im Internet verfügbar ist.
  
  
Zeile 32: Zeile 40:
  
 In unserem Seminar haben wir uns genauer mit dem Mapping zwischen Referenzmodell und unserem ausgewähltem Modell beschäftigt. Dazu haben wir zuerst ein Modell des menschlichen Körpers aus dem Internet heruntergeladen[2].  In unserem Seminar haben wir uns genauer mit dem Mapping zwischen Referenzmodell und unserem ausgewähltem Modell beschäftigt. Dazu haben wir zuerst ein Modell des menschlichen Körpers aus dem Internet heruntergeladen[2]. 
-Als Figur haben wir uns dazu Deadpool gewählt. Mit Blender und dem Robot-Editor haben wir ein kinematisches Modell für Deadpool erstellt. Das Modell ist in folgender Abbildung zu sehen. +Als Figur haben wir uns dazu Deadpool gewählt. Mit Blender und dem Robot-Editor[3] haben wir ein kinematisches Modell für Deadpool erstellt. Das Modell ist in folgender Abbildung zu sehen.  
 + 
 +{{ :seminar_3m:3m_2015:kinematic_structure.png?300 |}}
  
-Bild einfügen!!! 
  
 Dieses besteht aus 20 Segmenten, welche mit verschiedenen Gelenken verbunden sind. Die Gelenke haben, den menschlichen Bewegungsfreiheitsgraden entsprechend, 1-3 mögliche Freiheitsgrade. Insgesamt hat das Modell 46 Freiheitsgrade. Bei jedem Freiheitsgrad wurde zusätzlich noch seine minimalen und maximalen Gelenkstellungen angegeben. Für jeden Freiheitsgrad musste in Blender ein „Bone“ reingelegt werden, beispielsweise bei einem Dieses besteht aus 20 Segmenten, welche mit verschiedenen Gelenken verbunden sind. Die Gelenke haben, den menschlichen Bewegungsfreiheitsgraden entsprechend, 1-3 mögliche Freiheitsgrade. Insgesamt hat das Modell 46 Freiheitsgrade. Bei jedem Freiheitsgrad wurde zusätzlich noch seine minimalen und maximalen Gelenkstellungen angegeben. Für jeden Freiheitsgrad musste in Blender ein „Bone“ reingelegt werden, beispielsweise bei einem
-dreidimensionalen Freiheitsgrad liegen hier 3 Bones übereinander.+dreidimensionalen Freiheitsgrad liegen hier 3 Bones übereinander. Ein Bone stellt in unserem Fall ein Bezugskoordinatensystem für ein Gelenk und sein dazugehöriges Segment dar. 
 Das Modell hat vereinfachte Hände und Füße, da einzelne Finger- oder Zehenbewegungen bei uns nicht interessant waren und deshalb nicht näher betrachtet wurden. Die Hände bestehen deshalb jeweils nur aus einem Segment und die Füße jeweils aus zwei Segmenten, ein Segment für den Fuß und eins für die Zehen.  Das Modell hat vereinfachte Hände und Füße, da einzelne Finger- oder Zehenbewegungen bei uns nicht interessant waren und deshalb nicht näher betrachtet wurden. Die Hände bestehen deshalb jeweils nur aus einem Segment und die Füße jeweils aus zwei Segmenten, ein Segment für den Fuß und eins für die Zehen. 
 +
 +Die kinematische Struktur zusammen mit dem Deadpool Modell ist im Folgenden zu sehen:
 +
 +{{ :seminar_3m:3m_2015:kinematic_structure_with_model.png?300 |}}
  
 Die Schwierigkeit bei der Modellierung lag hierbei bei der Wahl der richtigen Rotationsachsen für die Gelenke, damit eine natürliche menschliche Bewegung entsteht. Eine weitere Schwierigkeit war, den genauen Gelenkmittelpunkt anzugeben, so dass es später zu keinen Fehlern bei den Rotationen bzw. unnatürlichen Bewegungen bei der späteren Ausführung der Bewegungen kommt. Die Schwierigkeit bei der Modellierung lag hierbei bei der Wahl der richtigen Rotationsachsen für die Gelenke, damit eine natürliche menschliche Bewegung entsteht. Eine weitere Schwierigkeit war, den genauen Gelenkmittelpunkt anzugeben, so dass es später zu keinen Fehlern bei den Rotationen bzw. unnatürlichen Bewegungen bei der späteren Ausführung der Bewegungen kommt.
Zeile 46: Zeile 60:
 Bei diesem Abschnitt lag die Schwierigkeit darin, die richtigen Teilsegmente auszuwählen, welche bewegt werden sollen und verdeckte Punkte zu markieren. Diese Verdeckungen können dadurch entstehen, dass Segmente nah beieinander liegen, wie z.B. bei den Fingern, oder wenn das Objekt noch zusätzliche Gegenstande am Körper besitzt. Unser Modell hat zusätzlich noch Waffen, einen Gürtel, Munition und andere diverse Gegenstände, welche teilweise den Körper verdecken. Um Punkte zu entdecken, welche noch nicht zum jeweiligen Segment gehören, haben wir einzelne Gelenke bewegt, um zu sehen, welche Teile sich nicht oder zu viel mitbewegen. Bei diesem Abschnitt lag die Schwierigkeit darin, die richtigen Teilsegmente auszuwählen, welche bewegt werden sollen und verdeckte Punkte zu markieren. Diese Verdeckungen können dadurch entstehen, dass Segmente nah beieinander liegen, wie z.B. bei den Fingern, oder wenn das Objekt noch zusätzliche Gegenstande am Körper besitzt. Unser Modell hat zusätzlich noch Waffen, einen Gürtel, Munition und andere diverse Gegenstände, welche teilweise den Körper verdecken. Um Punkte zu entdecken, welche noch nicht zum jeweiligen Segment gehören, haben wir einzelne Gelenke bewegt, um zu sehen, welche Teile sich nicht oder zu viel mitbewegen.
  
-Anschließend wurden Marker auf das Deadpool Modell angebracht. Die Markerpositionen entsprechen den Positionen des Markersets[3]. Die Marker werden entsprechend des Markersets in Blender an die jeweiligen Stelle des Deadpool Modells angebracht. Durch diese Markierung findet das Mapping zwischen dem Deadpool- und dem Referenzmodell statt, da das Referenzmodell an den gleichen Stellen Markeranbringungen hat. Jeder Marker muss dafür benannt werden und einem Segment zugeordnet werden.+Anschließend wurden Marker auf das Deadpool Modell angebracht. Die Markerpositionen entsprechen den Positionen des Markersets[4]. Die Marker werden entsprechend des Markersets in Blender an die jeweiligen Stelle des Deadpool Modells angebracht. Durch diese Markierung findet das Mapping zwischen dem Deadpool- und dem Referenzmodell statt, da das Referenzmodell an den gleichen Stellen Markeranbringungen hat. Jeder Marker muss dafür benannt werden und einem Segment zugeordnet werden. Auf den zwei folgenden Bildern 
 +sind die Marker auf der Vorder- und Rückseite des Deadpool Modells zu sehen.
  
-Hierbei bestand die Schwierigkeit die genaue Position für die Marker zu treffen, da das von uns ausgewählte Modell einen leicht anderen Körperbau hat. Zusätzlich musste man sich genau überlegen, zu welchem Segment der ausgewählte Marker gehört, da dies die spätere Bewegung beeinflusst. Teilweise war es schwierig die Markernamen genau zu wählen, da die Markernamen teilweise inkonsistent waren. Des Weiteren ist die Positionierung der Marker sehr zeitaufwendig.+{{ :seminar_3m:3m_2015:markers_front.png?300 |}}
  
-Als nächsten Schritt haben wir aus der Motion Data Base[4] Bewegungen rausgesucht. Dabei haben wir folgende Bewegungen gewählthigh kick with right leg[5]+{{ :seminar_3m:3m_2015:markers_back.png?300 |}}
  
-Diese Bewegung haben wir anschließend probiert auf unser Deadpool Modell zu mappen. Leider hat dies nach längerem Probieren trotzdem nicht geklapptDeshalb können wir an dieser Stelle leider kein Video der Bewegung zur Verfügung stellen.+Hierbei bestand die Schwierigkeit die genaue Position für die Marker zu treffen, da das von uns ausgewählte Modell einen leicht anderen Körperbau hat. Zusätzlich musste man sich genau überlegen, zu welchem Segment der ausgewählte Marker gehört, da dies die spätere Bewegung beeinflusst. Wenn beispielsweise ein Marker einem falschen Körpersegment zugeordnet wird, kann es zu unnatürlichen Bewegungen kommen, da das Programm versucht das Modell auf die vorgegebene Trajektorie zu mappen. Teilweise war es schwierig die Markernamen genau zu wählen, da die Markernamen teilweise inkonsistent warenDes Weiteren ist die Positionierung der Marker sehr zeitaufwendig.
  
 +Als nächsten Schritt haben wir aus der Motion Data Base[5] Bewegungen rausgesucht. Dabei haben wir folgende Bewegungen gewählt: high kick with right leg[6]
  
- +Diese Bewegung haben wir anschließend probiert auf unser Deadpool Modell zu mappen. Leider hat dies nach längerem Probieren trotzdem nicht geklappt. Deshalb können wir an dieser Stelle leider kein Video der Bewegung zur Verfügung stellen.
-{{ youtube>large:CuVB8YpQlYQ|by Slo Mo Guys }} +
-<html><br></html><html><br></html>+
  
  
Zeile 71: Zeile 85:
 [2] http://tf3dm.com/3d-model/deadpool-44183.html [2] http://tf3dm.com/3d-model/deadpool-44183.html
  
-[3] https://motion-database.humanoids.kit.edu/marker_set/+[3] https://h2t.anthropomatik.kit.edu/748.php 
 + 
 +[4] https://motion-database.humanoids.kit.edu/marker_set/
  
-[4] https://motion-database.humanoids.kit.edu/list/motions/+[5] https://motion-database.humanoids.kit.edu/list/motions/
  
-[5] https://motion-database.humanoids.kit.edu/details/motions/610/+[6] https://motion-database.humanoids.kit.edu/details/motions/610/
  
  
seminar_3m/3m_2015/human_motion_capturing_character_animation_ii.1436440610.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