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. 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 – 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 – Fall 1 Rotation für Position und Orientierung von A 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 19 Bild Footroll: Sicht von vorn auf den Fuß

20 3. Algorithmus - 2. Phase Berechnen der Position und Orientierung 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 – 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 – 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 Im weiteren Verlauf des Algorithmuses ist es aber möglich diese Unstetigkeiten zu glätten 22

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. 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 Knöchel miteinander verbinden. p´ A = berechnete Position von A o H = Offset der Hüfte

25 3. Algorithmus - 3. Phase Ermitteln der Position der Wurzel – Fall 2 Fall 2: zwei Knöchel mit Zwangsbedingungen Projektion der Wurzel in den Schnittpunkt der beiden Radien der beiden maximalen Beinlängen 25 Bild links: Sicht von vorn auf das Animationsskelett

26 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. 26 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

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

28 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 28

29 3. Algorithmus - 4. Phase Einstellen der Beinparameter Im nächsten Schritt wird eine Rotation ausgeführt, die dem Knöchel seine globale Zielorientierung verleiht Die Beinlänge wird nun nur verändert, wenn das Bein fast voll gestreckt ist. Da dies weniger störend ist, als die entsprechenden Veränderung für das Knie. 29

30 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. 30

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 beschätigten Bewegungsdaten Footskating beheben und erzeugte keine neuen Bildfehler Durch kleine Retargeting Operationen entstandenes Footskating konnte vom Algorithmus behoben werden.

32 4. Resultate Beispielvideo Retargeting 32

33 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/ 33

34 34


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

Ähnliche Präsentationen


Google-Anzeigen