tu chemnitz seminar computergraphik 2010 maurice gall

Download TU Chemnitz Seminar Computergraphik 2010 Maurice Gall

If you can't read please download the document

Upload: hilbert-hemmerich

Post on 05-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

  • Folie 1
  • TU Chemnitz Seminar Computergraphik 2010 Maurice Gall
  • Folie 2
  • Gliederung 1. Problematik 2. Ausgangslage 3. Algorithmus 4. Resultate 5. Quellen 2
  • Folie 3
  • 1. Problematik Entstehung Wenn Bewegungsdaten in Animationen verarbeitet werden, knnen Artefakte auftreten z.B. durch: Mangelhafte Rohdaten durch falsch kalibrierte Sensoren Beim Abbilden der Bewegungsdaten auf das Animationsskelett Ein unschnes Artefakt ist, wenn der Fu des Charakters sich bewegt, obwohl er auf dem Boden fixiert sein msste. Dieses Artefakt ist bekannt als Footskate. 3
  • Folie 4
  • Video: Einfhrungsbeispiel 4
  • Folie 5
  • 1. Problematik Definition Das Footskate Cleanup Problem: Gegeben ist eine Zusammenstellung von Skelettbewegungsdaten mit Footplants Gesucht wird eine artefaktfreie Bewegung, so nah wie mglich an der Originalen 5
  • Folie 6
  • 2. Ausgangslage Was sind Footplants? Eine echte menschliche Bewegung enthlt Footplants. Das sind Zeitpunkte an denen ein Fu oder ein Teil des Fues fest an einer Position auf dem Boden verbleibt. 6 aufrechter menschlicher Gang
  • Folie 7
  • 2. Ausgangslage Was sind Footplant Zwangsbedingungen? Zwangsbedingungen sagen aus, ob und wenn welcher Teil des Fues fest am Boden verbleiben soll. Sie helfen dem Algorithmus feste Positionen fr die Fe zu finden. 7 Das Bild zeigt ein Bein des Animationsskelettes und die mglichen Footplant Zwangsbedingungen
  • Folie 8
  • 2. Ausgangslage Was sind Footplant Zwangsbedingungen? Jeder Frame kann Footplant Zwangsbedingungen haben fr linke Ferse und/oder linker Ballen rechte Ferse und/oder rechter Ballen 8 (A)Keine Zwangsbedingungen (B)Nur fr die Ferse (C)Fr Ferse und Ballen (D)Nur fr den Ballen
  • Folie 9
  • 2. Ausgangslage Das Animationsskelett 9 Im Bild zu sehen ist der untere Teil des Skelettes, da nur dieser fr den Algorithmus relevant ist. Benannt sind alle Gelenke des Skelettes die bearbeitet werden
  • Folie 10
  • 2. Ausgangslage Was sind Skelettbewegungsdaten? Skelettbewegungsdaten werden gegeben durch eine zeitabhngige Funktion Sie gibt an, wie zu einen Zeitpunkt t die Gelenke des Skeletts zueinander stehen. M(t) = (p R (t),q 0 (t),, q k (t), o 0 (t),, o k (t)) p R Vektor 3d Position der Wurzel q i Quaternion Orientierung des iten Gelenks im Vaterkoordinatensystem o i Vektor 3d Verschiebung des iten Gelenks im Vaterkoordinatensystem 10
  • Folie 11
  • 2. Ausgangslage Vorgehen 11 Der Algorithmus arbeitet sequenziell die Bewegungsdaten ab: F(i) = M(i)
  • Folie 12
  • 3. Algorithmus bersicht Phase 1 Berechnen der Position von Ballen und Ferse Phase 2 Berechnen der Position und Orientierung der Fuknchel Phase 3 Ermitteln der Position der Wurzel Phase 4 Einstellen der Beinparameter Phase 5 Gltten der Bewegung 12
  • Folie 13
  • 3. Algorithmus Phase 1 Allgemein Es findet nur eine Berechnung statt, wenn der aktuelle Frame F i eine Footplant Zwangsbedingung hat Dabei werden 2 Flle unterschieden: Hat auch der Frame F i-1 eine Footplant Zwangsbedingung oder hat er keine 13
  • Folie 14
  • 3. Algorithmus 1. Phase Berechnen der Position von Ballen und Ferse 14 Fall 1: hat keine ZwangsbedingungFall 2: hat Zwangsbedingung die Position von J wird ber die Position von J ist dieselbe wie in F i-1 die nchsten Frames gemittelt Gelenk J im Frame F i-1
  • Folie 15
  • 3. Algorithmus - 1. Phase Abschlieend Das Ergebnis der Berechnung aus den beiden Fllen wird auf den Boden projiziert in den Punkt c J um sicher zu stellen, dass der Fu Bodenkontakt hat Es muss jetzt noch kontrolliert werden, ob das zweites Gelenk J des Fues korrekten Abstand hat, da man sonst die Form des Fues verndern wrde 15 Als Ergebnis der 1.Phase erhlt man die kalkulierten Punkte c J und c J
  • Folie 16
  • 3. Algorithmus - 2. Phase Allgemein Berechnung der globalen Position und Orientierung der Fuknchel, fr jeden Frame mit Zwangsbedingungen, die in Phase 1 gefunden wurden 3 Flle werden unterschieden 16
  • Folie 17
  • 3. Algorithmus - 2. Phase Allgemein Knchel A heit: doppelt eingeschrnkt, wenn die Ferse und der Ballen des zugehrigen Fues Zwangsbedingungen haben einfach eingeschrnkt, wenn nur ein Kindgelenk (Ferse/Ballen) Zwangsbedingungen hat ansonsten uneingeschrnkt. 17 Bild 1: A ist doppelt eingeschrnkt Bild 2: A ist einfach eingeschrnkt
  • Folie 18
  • 3. Algorithmus - 2. Phase Berechnen der Position und Orientierung Fall1 Fall 1: Knchel A = doppelt eingeschrnkt gegeben: Ferse in Punkt c H, Ballen in Punkt c B aus Phase 1 Knchel A besitzt nur einen Freiheitsgrad - die Rotationen um den Vektor c B c H, bezeichnet als Footroll 18 Bild: seitliche Sicht auf einen Fu
  • Folie 19
  • 3. Algorithmus - 2. Phase Berechnen der Position und Orientierung Fall 1 Rotation fr Position und Orientierung von A Kann explizit gesetzt werden z.b. fr unebenes Terrain Alternativ kann sie auch berechnet werden, um so genau wie mglich an der Originalen Position und Orientierung zu liegen 19 Bild Footroll: Sicht von vorn auf den Fu
  • Folie 20
  • 3. Algorithmus - 2. Phase Berechnen der Position und Orientierung Fall 2 Fall 2: Knchel A = einfach eingeschrnkt gegeben: Gelenk J mit Zwangsbedingung Sei p J die originale globale Position von Gelenk J Und c J die bedingte Position aus Phase 1 20 Bild: seitliche Sicht auf einen Fu
  • Folie 21
  • 3. Algorithmus - 2. Phase Berechnen der Position und Orientierung Fall 2 A wird verschoben, sodass J an Zielposition Orientierung von A wird behalten und um Vektor c J p J verschoben 21
  • Folie 22
  • 3. Algorithmus - 2. Phase Berechnen der Position und Orientierung Fall 3 Fall 3: Knchel A = hat keine Zwangsbedingung In dem Fall wird nichts getan. Daher knnen Unstetigkeiten zwischen benachbarten Frames entstehen auf Grund der Verschiebung von A in den beiden anderen Fllen Im weiteren Verlauf des Algorithmuses ist es aber mglich diese Unstetigkeiten zu gltten 22
  • Folie 23
  • 3. Algorithmus - 3. Phase Allgemein Ermitteln der Position der Wurzel, damit die berechnete Position des Knchels aus Phase 2 erreicht werden kann Es werden zwei Flle betrachtet: 1. Einer der beiden Fuknchel hat eine Zwangsbedingung 2. Beide Fuknchel haben eine Zwangsbedingung 23
  • Folie 24
  • 3. Algorithmus - 3. Phase Ermitteln der Position der Wurzel Fall 1 Fall 1: ein Knchel mit Zwangsbedingung Die maximale Beinlnge l max wird berechet. Das Bein ist dann komplett gestreckt. Dann wird l target und l max miteinander verglichen 24 Nur wenn l target > l max wird die Wurzel auf Radius von l max mittig ber p A o H projiziert. Ansonsten kann das Bein immer Wurzel und Knchel miteinander verbinden. p A = berechnete Position von A o H = Offset der Hfte
  • Folie 25
  • 3. Algorithmus - 3. Phase Ermitteln der Position der Wurzel Fall 2 Fall 2: zwei Knchel mit Zwangsbedingungen Projektion der Wurzel in den Schnittpunkt der beiden Radien der beiden maximalen Beinlngen 25 Bild links: Sicht von vorn auf das Animationsskelett
  • Folie 26
  • 3. Algorithmus - 3. Phase Beseitigen von Unstetigkeiten Unstetigkeiten knnen auftreten, zwischen Frames, wenn Zwangsbedingungen hinzukommen oder wegfallen. Das kommt daher, dass die Projektion der Wurzel sehr unterschiedliche Positionen annehmen kann. Diese Unstetigkeit wird als Rootpopping bezeichnet. 26 Bild: Projektion der Wurzel (P) um Bedingungen zu erfllen fr: (L) linken Knchel (R) rechten Knchel (B) beide Knchel Popping zwischen den Punkten
  • Folie 27
  • 3. Algorithmus - 4. Phase Allgemein die Kniee und die Hfte werden justiert, damit Zielposition und Orientierung des Knchels erreicht wird 27
  • Folie 28
  • 3. Algorithmus - 4. Phase Einstellen der Beinparameter Zuerst wird das Knie gebeugt/gestreckt sodass die Distanz von der Hfte zum Knchel die gleiche ist wie die Distanz von der Hfte zur Zielposition des Knchels. Dabei darf das Knie nicht berstreckt werden. Danach rotiert man den Winkel der Hfte, damit das Bein Richtung Zielposition des Knchels Ziegt 28
  • Folie 29
  • 3. Algorithmus - 4. Phase Einstellen der Beinparameter Im nchsten Schritt wird eine Rotation ausgefhrt, die dem Knchel seine globale Zielorientierung verleiht Die Beinlnge wird nun nur verndert, wenn das Bein fast voll gestreckt ist. Da dies weniger strend ist, als die entsprechenden Vernderung fr das Knie. 29
  • Folie 30
  • 3. Algorithmus - 5. Phase Gltten der Bewegung Unstetigkeiten knnen immer noch vorhanden sein, wenn Bedingungen aktiv oder inaktiv werden. Um dies zu beheben werden die Korrekturen, die vorgenommen wurden um Zwangsbedingungen zu erfllen miteinander verschmolzen. Ein Fu ohne Zwangsbedingung knnte immer noch in den Boden ragen. Wenn dann wird der Knchel des Fues so verschoben, das der Ballen und die Ferse ber dem Boden sind und der Algorithmus aus Phase 4 wird angewendet um den Rest des Beinen einzustellen. Der Letzte Schritt ist, sicherzustellen, dass die Zehen nicht in den Boden ragen. Dazu wird eine positive Rotation definiert, die die Zehen nach oben beugt. 30
  • Folie 31
  • 4. Resultate Allgemein 31 Das Bild zeigt links, bereinander gelegte Bewegungsdaten ohne den Algorithmus und rechts, nachdem der Algorithmus die Daten bearbeitet hat. Der Algorithmus konnte in beschtigten Bewegungsdaten Footskating beheben und erzeugte keine neuen Bildfehler Durch kleine Retargeting Operationen entstandenes Footskating konnte vom Algorithmus behoben werden.
  • Folie 32
  • 4. Resultate Beispielvideo Retargeting 32
  • Folie 33
  • 5. Quellen KOVAR, L., SCHREINER, J., AND GLEICHER, M. 2002. Footskate cleanup for motion capture editing. In Proceedings of the 2002 ACM Symposium on Computer Animation. http://www.cs.wisc.edu/graphics/Gallery/ kovar.vol/Cleanup/ http://www.cs.wisc.edu/graphics/Gallery/ kovar.vol/Cleanup/ 33
  • Folie 34
  • 34