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.
Polynome und mehrfache Nullstellen
Polynomial Root Isolation
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
Vom graphischen Differenzieren
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Claudio Moraga; Gisbert Dittrich
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten KMP, BM.
Streuung Bezeichnung Streuung=Dispersion=Variabilität Fragestellung:
Der Heilige Geist will bewegen
Suche in Texten (Stringsuche )
Wasserfall-Ansätze zur Bildsegmentierung
Klicke Dich mit der linken Maustaste durch das Übungsprogramm!
Spektra von periodischen Signalen. Resonanz.
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.
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.
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 2.1.
Anwendungsseminar: Kausale Modellbildung
Das Keplerproblem (Teil 3)
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.
TU Chemnitz Seminar Computergraphik 2010 Maurice Gall.
Neue variable Lernkontrollen mit Diagnose und Förderplanung
Ganzkörperübungen Partnerübungen Übungen mit einer Wasserflasche
Selbsttest zum Modul 2 Informationstechnik
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.
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
Jakis Überblick! Ein Viereck hat 4 Ecken (und 4 Seiten).
ProSeminar WS 2007/08 Leo Hackstein
Potenzen und Wurzeln Zusammenfassung
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
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
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Vortrag von Rechtsanwältin Verena Nedden, Fachanwältin für Steuerrecht zur Veranstaltung Wege zum bedingungslosen Grundeinkommen der Piratenpartei Rhein-Hessen.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
1 IdeenSet Sonnensystem Ideenset Wann können Sonnenfinsternisse stattfinden? Erich Laager / 2014.
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
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 2 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
DG3 - Angittern Gerades, quadratisches Prisma, Grundfläche parallel zu
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. 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

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

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ß

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ß

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

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

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

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

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

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

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

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

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

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

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

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

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.

4. Resultate Beispielvideo Retargeting 35

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