Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

TU Chemnitz Seminar Computergraphik 2010 Maurice Gall.

Ähnliche Präsentationen


Präsentation zum Thema: "TU Chemnitz Seminar Computergraphik 2010 Maurice Gall."—  Präsentation transkript:

1 TU Chemnitz Seminar Computergraphik 2010 Maurice Gall

2 Gliederung 1. Problematik 2. Ausgangslage 3. Algorithmus 4. Resultate 5. Quellen 2

3 1. Problematik Entstehung Wenn Bewegungsdaten in Animationen verarbeitet werden, können Artefakte auftreten z.B. durch: Mangelhafte Rohdaten durch falsch kalibrierte Sensoren Beim Abbilden der Bewegungsdaten auf das Animationsskelett Ein unschönes Artefakt ist, wenn der Fuß des Charakters sich bewegt, obwohl er auf dem Boden fixiert sein müsste. Dieses Artefakt ist bekannt als Footskate. 3

4 Video: Einführungsbeispiel 4

5 1. Problematik Definition Das Footskate Cleanup Problem: Gegeben ist eine Zusammenstellung von Skelettbewegungsdaten mit Footplants Gesucht wird eine artefaktfreie Bewegung, so nah wie möglich an der Originalen 5

6 2. Ausgangslage Was sind Footplants? Eine echte menschliche Bewegung enthält Footplants. Das sind Zeitpunkte an denen ein Fuß oder ein Teil des Fußes fest an einer Position auf dem Boden verbleibt. Für den hier beschriebenen Algorithmus, wird vorrausgesetzt, dass die Footplants vor dem eigentlichen Algorithmus erkannt wurden und den Bewegungsdaten hinzugefügt wurden. 6 aufrechter menschlicher Gang

7 2. Ausgangslage Was sind Footplant Zwangsbedingungen? Zwangsbedingungen sagen aus, ob und wenn welcher Teil des Fußes fest am Boden verbleiben soll. Sie helfen dem Algorithmus feste Positionen für die Füße zu finden. 7 Das Bild zeigt ein Bein des Animationsskelettes und die möglichen Footplant Zwangsbedingungen

8 2. Ausgangslage Was sind Footplant Zwangsbedingungen? Jeder Frame kann Footplant Zwangsbedingungen haben für linke Ferse und/oder linker Ballen rechte Ferse und/oder rechter Ballen 8 (A)Keine Zwangsbedingungen (B)Nur für die Ferse (C)Für Ferse und Ballen (D)Nur für den Ballen

9 2. Ausgangslage Das Animationsskelett 9 Im Bild zu sehen ist der untere Teil des Skelettes, da nur dieser für den Algorithmus relevant ist. Benannt sind alle Gelenke des Skelettes die bearbeitet werden

10 2. Ausgangslage Was sind Skelettbewegungsdaten? Skelettbewegungsdaten werden gegeben durch eine zeitabhängige 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 i´ten Gelenks im Vaterkoordinatensystem o i … Vektor 3d – Verschiebung des i´ten Gelenks im Vaterkoordinatensystem 10

11 2. Ausgangslage Vorgehen 11 Der Algorithmus arbeitet sequenziell die Bewegungsdaten ab: F(i) = M(i)

12 3. Algorithmus Übersicht Phase 1 Berechnen der Position von Ballen und Ferse Phase 2 Berechnen der Position und Orientierung der Fußknöchel Phase 3 Ermitteln der Position der Wurzel Phase 4 Einstellen der Beinparameter Phase 5 Glätten der Bewegung 12

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 Fälle unterschieden: Hat auch der Frame F i-1 eine Footplant Zwangsbedingung oder hat er keine 13

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 nächsten Frames gemittelt Gelenk J im Frame F i-1

15 3. Algorithmus - 1. Phase Abschließend Das Ergebnis der Berechnung aus den beiden Fällen 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 Fußes korrekten Abstand hat, da man sonst die Form des Fußes verändern würde 15 Als Ergebnis der 1.Phase erhält man die kalkulierten Punkte c J und c J´

16 3. Algorithmus - 2. Phase Allgemein Berechnung der globalen Position und Orientierung der Fußknöchel, für jeden Frame mit Zwangsbedingungen, die in Phase 1 gefunden wurden 3 Fälle werden unterschieden 16

17 3. Algorithmus - 2. Phase Allgemein Knöchel A heißt: doppelt eingeschränkt, wenn die Ferse und der Ballen des zugehörigen Fußes Zwangsbedingungen haben einfach eingeschränkt, wenn nur ein Kindgelenk (Ferse/Ballen) Zwangsbedingungen hat ansonsten uneingeschränkt. 17 Bild 1: A ist doppelt eingeschränkt Bild 2: A ist einfach eingeschränkt

18 3. Algorithmus - 2. Phase Berechnen der Position und Orientierung der Fußknöchel – Fall1 Fall 1: Knöchel A = doppelt eingeschränkt gegeben: Ferse in Punkt c H, Ballen in Punkt c B aus Phase 1 Knöchel A besitzt nur einen Freiheitsgrad - die Rotationen um den Vektor c B – c H, bezeichnet als Footroll 18 Bild: seitliche Sicht auf einen Fuß

19 3. Algorithmus - 2. Phase Berechnen der Position und Orientierung der Fußknöchel – Fall1 Die Rotation kann explizit gesetzt werden z.b. für unebenes Terrain Alternativ kann sie auch berechnet werden, um so genau wie möglich an der Originalen Position und Orientierung zu liegen: Definiere Rot (a,b) als die kleinstmögliche Rotation, die a und b zusammenschließt Sei p B – p H die originale globale Position von Ballen und Ferse und Q A die originale globale Orientierung, dann sei Q A´ = Rot (p B – p H, c B – c B ) * Q A die globale Zielorientierung von Knöchel A 19 Bild Footroll: Sicht von vorn auf den Fuß

20 3. Algorithmus - 2. Phase Berechnen der Position und Orientierung der Fußknöchel – Fall 2 Fall 2: Knöchel A = einfach eingeschränkt 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ß

21 3. Algorithmus - 2. Phase Berechnen der Position und Orientierung der Fußknöchel – Fall 2 A wird verschoben, sodass J an Zielposition Orientierung von A wird behalten und um Vektor c J – p J verschoben 21

22 3. Algorithmus - 2. Phase Berechnen der Position und Orientierung der Fußknöchel – Fall 3 Fall 3: Knöchel A = hat keine Zwangsbedingung In dem Fall wird nichts getan. Daher können Unstetigkeiten zwischen benachbarten Frames entstehen auf Grund der Verschiebung von A in den beiden anderen Fällen Bsp.: Frame i mit Bedingung - A wird verschoben, Frame i+1 A hat keine Bedingung daher wird nichts getan 22 In Phase 5 werden diese Unstetigkeiten geglättet Frame F i Frame F i+1

23 3. Algorithmus - 3. Phase Allgemein Ermitteln der Position der Wurzel, damit die berechnete Position des Knöchels aus Phase 2 erreicht werden kann Es werden zwei Fälle betrachtet: 1) Einer der beiden Fußknöchel hat eine Zwangsbedingung 2) Beide Fußknöchel haben eine Zwangsbedingung 23

24 3. Algorithmus - 3. Phase Ermitteln der Position der Wurzel – Fall 1 Fall 1: ein Knöchel mit Zwangsbedingung Die maximale Beinlänge l max wird berechet. Das Bein ist dann komplett gestreckt. l target und l max werden miteinander verglichen 24 Wenn l target > l max ist es nötig die Wurzel zu verschieben, da ein voll ausgestrecktes Bein diese nicht erreichen könnte. Die Wurzel wird auf den Umfang des Kreises von l max projiziert.

25 3. Algorithmus - 3. Phase Ermitteln der Position der Wurzel – Fall 2 Fall 2: zwei Knöchel mit Zwangsbedingungen Zuerst wird für jeden Knöchel die originale globale Position der Wurzel auf den Umfang der jeweiligen Sphere projiziert 25

26 3. Algorithmus - 3. Phase Ermitteln der Position der Wurzel – Fall 2 Dabei werden 3 mögliche Ergebnisse unterschieden: A) eine der Projektionen liegt im 3D Schnitt der Spheren, dann ist dies die Zielprojektion der Wurzel 26 B) beide Projektionen liegen im 3D Schnitt, dann ist die gesuchte Projektion, die welche der Originalen am nächsten ist

27 3. Algorithmus - 3. Phase Ermitteln der Position der Wurzel – Fall 2 27 C) Wenn keine Projektion im 3D Schnitt liegt, dann wird die Wurzel auf den 3D Schnitt der Spheren projiziert

28 3. Algorithmus - 3. Phase Beseitigen von Unstetigkeiten Unstetigkeiten können 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. Um Rootpopping zu beseitigen, werden erst die Positionen in einer kleinen Nachbarschaft ermittelt und dann der Durchschnitt berechnet 28 Bild: Projektion der Wurzel (P) um Bedingungen zu erfüllen für: (L) linken Knöchel (R) rechten Knöchel (B) beide Knöchel Popping zwischen den Punkten

29 3. Algorithmus - 3. Phase Beseitigen von Unstetigkeiten Rootpopping 29 Bild: Projektion der Wurzel (P) um Bedingungen zu erfüllen für: (L) linken Knöchel (R) rechten Knöchel (B) beide Knöchel Popping zwischen den Punkten

30 3. Algorithmus - 4. Phase Allgemein die Kniee und die Hüfte werden justiert, damit Zielposition und Orientierung des Knöchels erreicht wird 30

31 3. Algorithmus - 4. Phase Einstellen der Beinparameter Zuerst wird das Knie gebeugt/gestreckt sodass die Distanz von der Hüfte zum Knöchel die gleiche ist wie die Distanz von der Hüfte zur Zielposition des Knöchels. Dabei darf das Knie nicht überstreckt werden. Danach rotiert man den Winkel der Hüfte, damit das Bein Richtung Zielposition des Knöchels Ziegt 31

32 3. Algorithmus - 4. Phase Einstellen der Beinparameter Im nächsten Schritt wird eine Rotation ausgeführt, die dem Knöchel seine globale Zielorientierung verleiht Um Kniepoping zu verhindern, was bei einem fast voll ausgestrecktem Knie auftreten kann, wird in diesem Fall erlaubt das Bein zuverlängern um die Zielpositionen, die berechnet worden sind zu erreichen. 32

33 3. Algorithmus - 5. Phase Glätten der Bewegung Unstetigkeiten können immer noch vorhanden sein, wenn Bedingungen aktiv oder inaktiv werden. Um dies zu beheben werden die Korrekturen, die vorgenommen wurden um Zwangsbedingungen zu erfüllen miteinander verschmolzen. Ein Fuß ohne Zwangsbedingung könnte immer noch in den Boden ragen. Wenn dann wird der Knöchel des Fußes 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. 33

34 4. Resultate Allgemein 34 Das Bild zeigt links, übereinander gelegte Bewegungsdaten ohne den Algorithmus und rechts, nachdem der Algorithmus die Daten bearbeitet hat. Der Algorithmus konnte in beschätigten Bewegungsdaten Footskating beheben und erzeugte keine neuen Bildfehler Durch kleine Retargeting Operationen entstandenes Footskating konnte vom Algorithmus behoben werden.

35 4. Resultate Beispielvideo Retargeting 35

36 5. Quellen KOVAR, L., SCHREINER, J., AND GLEICHER, M Footskate cleanup for motion capture editing. In Proceedings of the 2002 ACM Symposium on Computer Animation. kovar.vol/Cleanup/ kovar.vol/Cleanup/ 36

37 37


Herunterladen ppt "TU Chemnitz Seminar Computergraphik 2010 Maurice Gall."

Ähnliche Präsentationen


Google-Anzeigen