TU Chemnitz Seminar Computergraphik 2010 Maurice Gall.

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Vorinfo: Die Anzahl der Wiederholungen sollen erreicht werden. Ist dies am Beginn nicht der Fall, dann so lange üben, bis diese erreicht werden. 3-4x/Woche.
Fast Fourier Transformation
Definition [1]: Sei S eine endliche Menge und sei p eine Abbildung von S in die positiven reellen Zahlen Für einen Teilmenge ES von S sei p definiert.
Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Polynome und mehrfache Nullstellen
Polynomial Root Isolation
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
Vom graphischen Differenzieren
WR + WS ZEIGEN Neues aus der Mathematik.
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten KMP, BM.
Wasserfall-Ansätze zur Bildsegmentierung
Verifizieren versus Berechnen
Christian Schindelhauer
Klicke Dich mit der linken Maustaste durch das Übungsprogramm!
Regel 11 - Abseits Teil 1 = Grundsätzliche Abseitsstellung
Algorithmentheorie 04 –Hashing
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
Bestimmung des Next-Arrays im KMP-Algorithmus
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Geometrisches Divide and Conquer
Kapitel 5 Stetigkeit.
Kapitel 6 Differenzierbarkeit. Kapitel 6: Differenzierbarkeit © Beutelspacher Juni 2005 Seite 2 Inhalt 6.1 Die Definition 6.2 Die Eigenschaften 6.3 Extremwerte.
Anwendungsseminar: Kausale Modellbildung
Wir suchen ‘ mit m = m    ‘ c  ‘ mod 26
Inhalte und Maßnahmen eingegeben haben,
Mathematische Grundlagen und Rechnen mit algebraischen Zahlen
Berechnung des Osterdatums
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Heute: Scherenzange zeichnen
Ralf KüstersDagstuhl 2008/11/30 2 Ralf KüstersDagstuhl 2008/11/30 3.
Kakuro Regeln und Strategien
Bild 1.1 Copyright © Alfred Mertins | Signaltheorie, 2. Auflage Vieweg+Teubner PLUS Zusatzmaterialien Vieweg+Teubner Verlag | Wiesbaden.
Gebäudeverschneidung 4
DG1 – Sichtbarkeit Aufgabenstellung: Bei einem Pyramidenschnitt soll die Sichtbarkeit festgestellt werden.
Microstretching Anwendungsregeln für Microstretching
Diskrete Mathe 9 Vorlesung 9 SS 2001
Ganzkörperübungen Partnerübungen Übungen mit einer Wasserflasche
Moin. Ich benutze PPT 2002 und möchte drei Bilder nacheinander 1
ANFANGSPHASE (1) Der rechte Arm des Walkers wird in der Anfangsphase leicht gebeugt. Die linke Faust ist auf Höhe des Beckens positioniert, und während.
Gestaltung von Folien mit Powerpoint
by Chrissi Bruckner & Chrissi Lipp
Physik für Mediziner und Zahnmediziner
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Übung Datenbanksysteme II Index- strukturen
Auslegung eines Vorschubantriebes
Ganzheitliches Projekt-, Ressourcen- und Qualitätsmanagement 1 Reports und AddOns Auf den folgenden Seiten wird Ihnen die Funktionsweise der Reports und.
ProSeminar WS 2007/08 Leo Hackstein
TU Chemnitz Seminar Computergraphik 2010 Maurice Gall.
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Bild 1 Ausgangssituation
Jünger sind entschieden!
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Ein Überblick über verschiedene Verfahren
LOD Levels of Detail Oliver Gassner Christian Troger.
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Analyseprodukte numerischer Modelle
Arne Vater Wintersemester 2006/ Vorlesung
Übungen über das Verhalten
1 IdeenSet Sonnensystem Ideenset Wann können Sonnenfinsternisse stattfinden? Erich Laager / 2014.
Der Erotik Kalender 2005.
Fit Wichtig ist jede Übung 30 Sekunden durchführen. Dabei muss zwischen den Übungen eine 5 Sekunden Pause vorlegen Bei der ersten Übung ist der Hampelmann.
Responsorium 14 Mathematik für alle
Tutorial Schritt 1: Über den Link im VP gelangen Sie auf die Seite
Sternchenthema Weitsprung
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 2 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Lineare Optimierung Nakkiye Günay, Jennifer Kalywas & Corina Unger Jetzt erkläre ich euch die einzelnen Schritte und gebe Tipps!
 Präsentation transkript:

TU Chemnitz Seminar Computergraphik 2010 Maurice Gall

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

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

Video: Einführungsbeispiel 4

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

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

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

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

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

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

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

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

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

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

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´

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

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

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ß

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ß

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ß

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

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

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

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

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

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

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

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

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

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

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.

4. Resultate Beispielvideo Retargeting 32

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