Dynamisches Hautmodellfür Muskelbasierte GesichtsanimationZwischenergebnisse 27.10.2006                                   ...
Inhalt  Neuer Titel und Thema der Arbeit  Geplanter Inhalt der Arbeit  Gewähltes Hautmodell     Aktueller Stand der Im...
Neuer Titel der Arbeit Dynamisches Hautmodell für Muskelbasierte Gesichtsanimation Hauptthema der Arbeit ist die Untersuch...
Inhalt der Arbeit - Vorbereitung Vergleich der Verfahren für Gesichtsanimation  Direkte Manipulation der Hautgeometrie, M...
Inhalt der Arbeit - Implementierung Automatische Erzeugung der Haut aus vorhandener   Hautgeometrie  Berechnung und Berei...
Hautmodell Hautmodell von Kähler (verworfen)  hält nicht die Form bei fehlendem Knochen  sehr künstliches Modell (einsch...
Aktueller Stand der Arbeit Maya API  Verschiebung von Polygonknoten – erledigt  Erstellung von Federverbindungen – erled...
Federverbindungen – Implementierung in MEL Erstellung von Federverbindungen mit MEL  schnell implementiert: Hinzufügen vo...
Federverbindungen – Implementierung in C++ (Maya API)  Erstellung von Federverbindungen in Maya nicht dokumentiert!  Ent...
Federverbindungen – Implementierung in C++ (Maya API) MEL-Befehl setAttr ".object1" -type "Int32Array" 4 1 0 3 2; Äquivale...
Offset-Polygon - Methoden Offset-Berechnung ein komplexes mathematisches Problem! Indirekte Offset-Methode (IOM)  keine Ü...
Offset-Polygon – Direkte Offset-Methoden Direkter Offset in 2D: einfach  In einem Punkt schneiden sich genau zwei Geraden...
Offset-Polygon – Direkte Offset-Methoden Probleme bei einem direkten Offset in 3D:  In einem Punkt können sich beliebig v...
Offset-Polygon – DOM: Schnittpunkt von drei Ebenen  Aufwändige Berechnung: Gaußalgorithmus  Beibehaltung der Parallelitä...
Offset-Polygon – DOM: Vertexnormale  Schnelle Berechnung der Verschiebungsrichtung   aus dem Durchschnitt der Flächennorm...
Offset-Polygon – Probleme der Vertexnormalen Die Durchschnittsnormale gibt oft nicht die optimale Richtung vor! Beispiel: ...
Offset-Polygon – Existenz der Optimalrichtung Ursache des Problems:   ungleichmäßige Verteilung von Flächen um den Knoten ...
Offset-Polygon – Existenz der Optimalrichtung Beweisversuch:   O. B. d. A. für Parallelverschiebung von sechs Ebenen um de...
Offset-Polygon – DOM: Gewichtete Vertexnormale     In der Optimalrichtung gesehen, würden die Flächennormalen     etwa fol...
Offset-Polygon – DOM: Gewichtete Vertexnormale     Grund: die Flächennormalen sind nicht gleichmäßig um den     Optimalvek...
Offset-Polygon – DOM: Kantenrichtung     Bisher wurde versucht den neuen Schnittpunkt ausschließlich aus     Flächennormal...
Offset-Polygon – DOM: Kantenrichtung     Verschiebung in die Kantenrichtung erfüllt für die     Pyramidenspitze die aus de...
Offset-Polygon – DOM: Kantenrichtung     Diese möglicherweise optimale Verschiebungsrichtung erweist     sich in der Praxi...
Offset-Polygon – DOM: Kantenrichtung     Lösung für das Vorzeichenproblem: im Normalfall zeigen alle     Vertexnormalen na...
Offset-Polygon – DOM: Kantenrichtung     Abhilfe: Einberechnung der Vertexnormalen in den Durchschnitt     der Kantenricht...
Vergleich: Kantennormale und Vertexnormale Vergleich:            Blau: Originalpolygon                       Rot: Kantenri...
Vergleich: Kantennormale und Vertexnormale      Kantenrichtung                          Original     Vertexnormale Offset-...
www.muskelbasierte-gesichtsanimation.de
Nächste SlideShare
Wird geladen in …5
×

Zwischenergebnisse 27.10.2006 - Dynamisches Hautmodell für Muskelbasierte Gesichtsanimation

724 Aufrufe

Veröffentlicht am

Zwischenergebnisse - Dynamisches Hautmodell für Muskelbasierte Gesichtsanimation

Technische Universität Hamburg-Harburg
The Parallel Computing Group

Dynamisches Hautmodell für Muskelbasierte Gesichtsanimation

Studienarbeit im Studiengang Informatik-Ingenieurwesen

Pawel Kazakow
27.10.2006

Betreuer: Prof. Dr. Helmut Weberpals

0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
724
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
2
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Zwischenergebnisse 27.10.2006 - Dynamisches Hautmodell für Muskelbasierte Gesichtsanimation

  1. 1. Dynamisches Hautmodellfür Muskelbasierte GesichtsanimationZwischenergebnisse 27.10.2006 www.muskelbasierte-gesichtsanimation.dePräsentation: Pawel KazakowBetreuer: Prof. Helmut WeberpalsTechnische Universität Hamburg-Harburg
  2. 2. Inhalt  Neuer Titel und Thema der Arbeit  Geplanter Inhalt der Arbeit  Gewähltes Hautmodell  Aktueller Stand der Implementierung  Implementierung der Federverbindungen  Berechnung des Offset-Polygons  Direkte Offset-MethodenPawel KazakowDynamisches Hautmodell - Zwischenergebnisse Oktober 2006
  3. 3. Neuer Titel der Arbeit Dynamisches Hautmodell für Muskelbasierte Gesichtsanimation Hauptthema der Arbeit ist die Untersuchung bereits vorhandener Hautmodelle und Umsetzung eines geeigneten Hautmodells für muskelbasierte Gesichtsanimation. Anschließend soll dieses Hautmodell durch Federmuskeln und Bewegung des Unterkiefers getestet werden. Nebenthema der Arbeit ist die Untersuchung verschiedener Muskelmodelle. Eines davon wird zum Testen des Hautmodells verwendet.Pawel KazakowDynamisches Hautmodell - Zwischenergebnisse Oktober 2006
  4. 4. Inhalt der Arbeit - Vorbereitung Vergleich der Verfahren für Gesichtsanimation  Direkte Manipulation der Hautgeometrie, Morphing  Muskelbasierte Gesichtsanimation Untersuchung vorhandener Hautmodelle  Hautmodell von Kähler  Schichtenmodell Kurzbeschreibung von Maya  Polygone, Federn, Partikelsystem, Dynamik  Konzept von Maya APIPawel KazakowDynamisches Hautmodell - Zwischenergebnisse Oktober 2006
  5. 5. Inhalt der Arbeit - Implementierung Automatische Erzeugung der Haut aus vorhandener Hautgeometrie  Berechnung und Bereinigung des Offset-Polygons  Erzeugung der Federverbindungen innerhalb der Haut  Verbindung der Haut mit Knochengeometrie  Hilfsfunktionen für Extraktion der Knochengeometrie aus der Haut Muskelmodelle  Untersuchung verschiedener Modelle  Manuelle Umsetzung des Federmodells Testen der Haut  Bewegung des Unterkiefers  Einbau von FedermuskelnPawel KazakowDynamisches Hautmodell - Zwischenergebnisse Oktober 2006
  6. 6. Hautmodell Hautmodell von Kähler (verworfen)  hält nicht die Form bei fehlendem Knochen  sehr künstliches Modell (einschichtig, Spiegelknochen) Schichtenmodell  formhaltend auch bei fehlendem Knochen  Modell näher am Vorbild (Knochen, Haut mit eigenem Volumen) Hautgeometrie (gegeben) Federverbindungen Unterhaut (Offset-Polygon) Knochen (Offset-Polygon)Pawel KazakowDynamisches Hautmodell - Zwischenergebnisse Oktober 2006
  7. 7. Aktueller Stand der Arbeit Maya API  Verschiebung von Polygonknoten – erledigt  Erstellung von Federverbindungen – erledigt  Erstellung eines SpringNode  Erstellung einer Benutzeroberfläche Offset-Polygon  Knotenverschiebung entlang der Durschnittsnormalen – erledigt  Berechnung der optimalen Verschiebungsentfernung  Bereinigung von Überlappungen  Effiziente Suche der überkreuzten FlächenPawel KazakowDynamisches Hautmodell - Zwischenergebnisse Oktober 2006
  8. 8. Federverbindungen – Implementierung in MEL Erstellung von Federverbindungen mit MEL  schnell implementiert: Hinzufügen von Federn zum vorhandenen Federknoten (SpringNode) mit dem Befehl spring -add …  Skript funktioniert nur bei kleinen Polygonen  Skript versagt bei großen Polygonen:  Hautgeometrie mit ca. 60 000 Punkten  nach ca. 3 Minuten Rechenzeit läuft der Speicher voll (1,5 GB), der Skript wird abgebrochen  Kleine Verbesserung durch Abschalten des Konstruktionsverlaufs constructionHistory -tgl off  nach ca. 7 Minuten Rechenzeit läuft der Speicher wieder voll, der Skript wird abgebrochen, es werden nur ca. 20 000 von 6 x 60 000 Federn erstelltPawel KazakowDynamisches Hautmodell - Zwischenergebnisse Oktober 2006
  9. 9. Federverbindungen – Implementierung in C++ (Maya API)  Erstellung von Federverbindungen in Maya nicht dokumentiert!  Entscheidende Hinweise liefert die .ma-Datei: mit MEL-Befehl SetAttr werden Federverbindungen dem SpringNode nach und nach hinzugefügt  Im Wesentlichen legen die Int32Array-Attribute point0 und point1 die Knotennummern fest, die die einzelnen Federn verbinden und objekt0 und objekt1 bestimmen zu welchem der verbundenen Objekte die Knotennummern gehören: createNode transform -n "spring1"; createNode spring -n "springShape1" -p "spring1"; ... setAttr ".obo" -type "Int32Array" 4 0 0 0 0 ; // object1 (obo) setAttr ".obz" -type "Int32Array" 4 1 1 1 1 ; // object0 (obz) setAttr ".pto" -type "Int32Array" 4 1 2 3 3 ; // point1 (pto) setAttr ".ptz" -type "Int32Array" 4 0 0 1 2 ; // point0 (ptz) ...Pawel KazakowDynamisches Hautmodell - Zwischenergebnisse Oktober 2006
  10. 10. Federverbindungen – Implementierung in C++ (Maya API) MEL-Befehl setAttr ".object1" -type "Int32Array" 4 1 0 3 2; Äquivalenter C++ Code MFnDependencyNode fnSpring(...); MPlug plug_object1 = fnSpring.findPlug("object1", true, &Status); MObject ref; plug_object1.getValue(ref); MFnIntArrayData fnIntArray(ref, &Status); MIntArray int32array_object1(fnIntArray2.array()); int32array_object1.setLength(4); int i = 0; int32array_object1[i++] = 1; Der Plug-In erstellt innerhalb von ca. int32array_object1[i++] = 0; int32array_object1[i++] = 3; einer Sekunde alle 6 x 60 000 Federn, int32array_object1[i++] = 2; ohne Speicherprobleme.Pawel KazakowDynamisches Hautmodell - Zwischenergebnisse Oktober 2006
  11. 11. Offset-Polygon - Methoden Offset-Berechnung ein komplexes mathematisches Problem! Indirekte Offset-Methode (IOM)  keine Überschneidungen  aufwändig in der Implementierung  hohe Rechenzeit  verändert die Topologie  keine triviale Knotenzuordnung für Federverbindungen Direkte Methode (DOM)  Überschneidungen müssen nachträglich entfernt werden  Beibehaltung der Topologie  Federverbindungen einfach: KanteniterierungPawel KazakowDynamisches Hautmodell - Zwischenergebnisse Oktober 2006
  12. 12. Offset-Polygon – Direkte Offset-Methoden Direkter Offset in 2D: einfach  In einem Punkt schneiden sich genau zwei Geraden  Richtung: Summe der Normalenvektoren der Geraden  Entfernung: Satz von Pythagoras  Richtung und Entfernung ergeben eindeutige Position Direkter Offset in 3D: eine Herausforderung  Verschiebungsrichtung und -Entfernung in 3D zu finden  Nachträgliche Entfernung der ÜberschneidungenPawel KazakowDynamisches Hautmodell - Zwischenergebnisse Oktober 2006
  13. 13. Offset-Polygon – Direkte Offset-Methoden Probleme bei einem direkten Offset in 3D:  In einem Punkt können sich beliebig viele Ebenen* schneiden Beibehaltung der Parallelität nur bei maximal drei Ebenen  Keine optimale Verschiebungsmethode bekannt * Ebenen werden durch Polygonflächen beschriebenPawel KazakowDynamisches Hautmodell - Zwischenergebnisse Oktober 2006
  14. 14. Offset-Polygon – DOM: Schnittpunkt von drei Ebenen  Aufwändige Berechnung: Gaußalgorithmus  Beibehaltung der Parallelität In der triangulierten Hautgeometrie schneiden sich meistens sechs Ebenen in einem Punkt:  Nur bei genau drei Ebenen anwendbar, deshalb ungeeignet!Pawel KazakowDynamisches Hautmodell - Zwischenergebnisse Oktober 2006
  15. 15. Offset-Polygon – DOM: Vertexnormale  Schnelle Berechnung der Verschiebungsrichtung aus dem Durchschnitt der Flächennormalen, kann außerdem in Maya API direkt ausgelesen werden: Durchschnittliche Flächennormale = Vertexnormale  Parallelität wird i. d. R. nicht beibehalten  Entfernung muss noch berechnet werden  Verschiebung aller Knoten um die gleiche Entfernung kann zu Überschneidungen führen  Methode für die Berechnung einer optimalen Entfernung noch nicht gefundenPawel KazakowDynamisches Hautmodell - Zwischenergebnisse Oktober 2006
  16. 16. Offset-Polygon – Probleme der Vertexnormalen Die Durchschnittsnormale gibt oft nicht die optimale Richtung vor! Beispiel: eine Pyramide mit geneigter Spitze Flächennormalen Durchschnittsnormalen Durchschnittsnormale in der Spitze: keine optimale Verschiebungsrichtung  Verschiebung in diese Richtung führt zu Überschneidung Abhilfe: Berechnung einer gewichteten DurchschnittsnormalenPawel KazakowDynamisches Hautmodell - Zwischenergebnisse Oktober 2006
  17. 17. Offset-Polygon – Existenz der Optimalrichtung Ursache des Problems: ungleichmäßige Verteilung von Flächen um den Knoten Annahme: es gibt eine optimale Verschiebungsrichtung der Pyramidenspitze, sodass bei beliebiger positiver Verschiebungsentfernung keine Überschneidung zwischen Offset- und Original-Polygon entsteht. Bedingung (folgt aus Annahme): Ist die Verschiebungsrichtung optimal, so ist die Relation (größter / kleiner) zwischen zwei Verschiebungsentfernungen gleich der Relation zwischen allen Winkeln zwischen Original- und Offset-Ebenen (z. B. erhöht man die Verschiebungsentfernung, so werden alle Winkel zwischen Original- und Offset-Ebenen größer).Pawel KazakowDynamisches Hautmodell - Zwischenergebnisse Oktober 2006
  18. 18. Offset-Polygon – Existenz der Optimalrichtung Beweisversuch: O. B. d. A. für Parallelverschiebung von sechs Ebenen um den gleichen Abstand entstehen zwei Schnittpunkte. Die Mitte der Geraden, die diese Schnittpunkte verbindet, müsste der neue optimale Offsetpunkt sein. Bei einem beliebigen Abstand für Parallelverschiebung müsste die Richtung der Geraden durch den Original- und Offset-Punkt stets konstant bleiben. Für einen gemeinsamen Schnittpunkt muss die Parallelität aufgegeben werden: alle Ebenen neigen sich zur Mitte der Verbindungsgerade zweier Schnittpunkte. Folglich werden alle Winkel zwischen Original- und Offsetebenen größer sein mit steigender Verschiebungsentfernung, was die Bedingung erfüllt.Pawel KazakowDynamisches Hautmodell - Zwischenergebnisse Oktober 2006
  19. 19. Offset-Polygon – DOM: Gewichtete Vertexnormale In der Optimalrichtung gesehen, würden die Flächennormalen etwa folgendes Bild ergeben: Die Durchschnittsnormale zeigt nicht in die Optimalrichtung (aus der Präsentationsfolie hinaus), sondern nach oben:Pawel KazakowDynamisches Hautmodell - Zwischenergebnisse Oktober 2006
  20. 20. Offset-Polygon – DOM: Gewichtete Vertexnormale Grund: die Flächennormalen sind nicht gleichmäßig um den Optimalvektor verteilt Ansatz für die Gewichtung: je mehr Flächennormalen pro Winkeleinheit, desto weniger wird ihre Richtung gewichtet: Problem: Optimalrichtung nicht vorher bekannt Lösungsidee: Gewichtung über die Ähnlichkeit (Projektion der Richtungen aufeinander) der Flächennormalenrichtungen wählen, aber wie genau?!Pawel KazakowDynamisches Hautmodell - Zwischenergebnisse Oktober 2006
  21. 21. Offset-Polygon – DOM: Kantenrichtung Bisher wurde versucht den neuen Schnittpunkt ausschließlich aus Flächennormalen zu bestimmen. Die Kantenrichtungen wurden vernachlässigt. Eine Flächennormale ergibt sich aus dem Kreuzprodukt zweier Kantenvektoren und enthält die Durchschnittsrichtung der Kantenvektoren nicht: Durchschnittsrichtung der Kantenvektoren Flächennormale Polygonfläche Kantenvektoren Kantenrichtung eines Punktes: Durchschnittliche Richtung aller Kanten, die sich in diesem Punkt schneidenPawel KazakowDynamisches Hautmodell - Zwischenergebnisse Oktober 2006
  22. 22. Offset-Polygon – DOM: Kantenrichtung Verschiebung in die Kantenrichtung erfüllt für die Pyramidenspitze die aus der Annahme gefolgerte Bedingung und ist damit die optimale Verschiebungsrichtung.Pawel KazakowDynamisches Hautmodell - Zwischenergebnisse Oktober 2006
  23. 23. Offset-Polygon – DOM: Kantenrichtung Diese möglicherweise optimale Verschiebungsrichtung erweist sich in der Praxis als problematisch. Vorzeichenproblem: Die Kantenrichtung zeigt nicht immer nach außen, sodass einige Punkte gegen die Offset-Richtung verschoben werden. Offset-Richtung Weiß: Original-Polygon, grün: Offset-PolygonPawel KazakowDynamisches Hautmodell - Zwischenergebnisse Oktober 2006
  24. 24. Offset-Polygon – DOM: Kantenrichtung Lösung für das Vorzeichenproblem: im Normalfall zeigen alle Vertexnormalen nach Außen der Polygonfigur. Zeigt die Kantenrichtung nach innen, so wird sie negiert. Annahme: Die Kantenrichtung zeigt nach innen, wenn ihr Winkel zu der Vertexnormalen 90° überschreitet. Diese Korrektur produziert ein neues Problem an den Punkten, wo der Winkel in der Nähe von 90° liegt…Pawel KazakowDynamisches Hautmodell - Zwischenergebnisse Oktober 2006
  25. 25. Offset-Polygon – DOM: Kantenrichtung Abhilfe: Einberechnung der Vertexnormalen in den Durchschnitt der Kantenrichtungen. Die Kantenrichtung wird vorher negiert, wenn der Winkel nicht zwischen 80° und 100° beträgt. Fazit Kantenrichtung:  Gute Ergebnisse nur bei künstlichen Beispielpolygonen  Trotz Verbesserungen, Ergebnis beim komplexen Kopf schlecht  Für die Praxis nicht geeignetPawel KazakowDynamisches Hautmodell - Zwischenergebnisse Oktober 2006
  26. 26. Vergleich: Kantennormale und Vertexnormale Vergleich: Blau: Originalpolygon Rot: Kantenrichtung Gelb: VertexnormalePawel KazakowDynamisches Hautmodell - Zwischenergebnisse Oktober 2006
  27. 27. Vergleich: Kantennormale und Vertexnormale Kantenrichtung Original Vertexnormale Offset-Entfernung: 2 Bisher beste Ergebnisse in der Praxis: VertexnormalePawel KazakowDynamisches Hautmodell - Zwischenergebnisse Oktober 2006
  28. 28. www.muskelbasierte-gesichtsanimation.de

×