420 likes | 525 Views
Physically-based Animations of 3D Biped Characters with Genetic Algorithms. Università di Roma “La Sapienza”. Maurizio Conventi. Relatore: Prof. Marco Schaerf Correlatore: Ing. Marco Fratarcangeli. Tecniche per creare animazioni. Key-Framing . Tecniche per creare animazioni.
E N D
Physically-based Animations of 3D Biped Characterswith Genetic Algorithms Università di Roma “La Sapienza” Maurizio Conventi Relatore: Prof. Marco Schaerf Correlatore: Ing. Marco Fratarcangeli
Tecniche per creare animazioni Key-Framing Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Tecniche per creare animazioni Motion Capture Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Tecniche per creare animazioni Physics Based Methods Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Tecniche per creare animazioni Nuovo approccio: “Genetic Animations Creator” (GAC): • Ambiente e personaggi simulati fisicamente • Movimento desiderato definito attraverso pochi parametri • Algoritmo genetico realizza l’animazione Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Un nuovo approccio per animare Ambiente: • Ogre (Object-Oriented Graphics Rendering Engine) • Astrae dall’uso di librerie grafiche come Direct3D e OpenGL • Ageia PhysX (Novodex) • Simula le leggi della fisica (gravità, attrito, collisioni, etc.) Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Un nuovo approccio per animare Personaggi: • Corpi rigidi • Giunti: • Fissi • Ad un grado di libertà Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Un nuovo approccio per animare Controllo dei giunti durante il movimento: • Controllo in posizione seguendo l’andamento di funzioni sinusoidali problema: • Motore fisico usa molle angolari per guidare la posizione dei giunti Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Un nuovo approccio per animare Controllo dei giunti durante il movimento: • Controllo in velocità seguendo l’andamento di funzioni coseno problema: • Motore fisico simula il mondo reale in modo discreto Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Un nuovo approccio per animare Controllo di un giunto durante il movimento: • Approssimazione di un coseno in velocità I valori di Ampiezza, Frequenza e Fase vengono calcolati dall’algoritmo genetico Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Algoritmo Genetico Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Genetic Algorithm Initialization: Individual Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Genetic Algorithm Evaluation: Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Genetic Algorithm Creation new generation Example: Num. of best individuals = 1 Num. of individuals discarded = 1 Mutation probability = 0,1 • Copy of best individual: 0,1 0,7 0,5 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Genetic Algorithm • Crossover and Mutation: • Individuals 2 and 4, have been selected • Creation gene 1: • New random value: 0,6 • 0,6 > mutation probability (0,1) New random value: 0,4 0,6 *0,4 + 0,1*(1 - 0,4) = 0,3 0,3 Current generation New generation Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Creation gene 2: • New random value: 0,2 • 0,2 > mutation probability (0,1) New random value: 0,1 0,3 *0,1 + 0,7*(1 - 0,1) Genetic Algorithm = 0,7 0,7 Current generation New generation Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Creation gene 3: • New random value: 0,0 • 0,0 < mutation probability (0,1) Genetic Algorithm • New random value between [ -1, 1 ] : 0,1 0,8 + 0,1 = 0,9 0,9 Current generation New generation Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Genetic Algorithm • In the way just described there is the creation of individual 3: • The better individuals have more probability to be selected for the reproduction: New generation Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Genetic Algorithm …and individual 4: New generation Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Genetic Algorithm Last individual is completely random ( one only individual discarded) New generation Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Genetic Algorithm Generation evaluation: Improvement Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Genetic Algorithm Fitness evolution: • Stopping conditions: • A good valuation has been obtained • The number of generation is bigger than a maximum value Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Algoritmo Genetico Inizializzazione: • Valori casuali (prima generazione con un numero di individui significativamente maggiore) • Uso di una generazione precedentemente salvata Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Algoritmo Genetico Creazione di una nuova generazione: • Copia degli individui migliori (elitismo) • Rimpiazzamento con valori random degli individui peggiori • Fino a quando la generazione non sia stata completata: selezionando due individui ed applicando loro gli operatori di mutazione e crossover viene generato un nuovo individuo. Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Algoritmo Genetico Selezione: • Roulette Wheel Selection: ogni individuo viene selezionato con una probabilità proporzionata al proprio fitness • Category Selection: due individui scelti in modo casuale, uno tra gli individui migliori e l’altro fra l’intera generazione Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Algoritmo Genetico Crossover: • Linear Crossover Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Algoritmo Genetico Crossover: • Blend Crossover Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Algoritmo Genetico Crossover: • Fitness Proportioned Crossover Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Algoritmo Genetico Mutazione: • Effettuata aggiungendo un valore al gene di uno dei parenti • Probabilità di mutazione • Statica • Dinamica Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Algoritmo Genetico Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Algoritmo Genetico Valutazione generazione: • Guida l’evoluzione • Calcola la distanza tra la posa assunta dal personaggio nell’ultimo frame e quella desiderata • Assegna penalità per comportamenti non voluti Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Architettura GAC Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Architettura GAC Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Architettura GAC Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Test e Risultati Strutture con 1, 3, 5, 7, 11, 15 gradi di libertà sono state animate: Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Test e Risultati • Crescita tempo di calcolo: • Tempo richiesto dall’algoritmo genetico • Simulazione del motore fisico • Non sempre più gradi di libertà → più tempo • Animazioni buone in termini di errore ma non come stile Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Test e Risultati Animazione con errore ottimo ma stile scorretto Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Conclusioni • Sono state realizzate buone animazioni fisicamente plausibili • Il sistema può essere utilizzato efficacemente anche da utenti senza particolari capacità artistiche Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Conclusioni • Operatori genetici suggeriti: • Category Selection • Linear Crossover • Dynamic Mutation Probability • Approccio utilizzabile anche in robotica Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Sviluppi Futuri • Interfaccia utente • Uso di posizioni desiderate intermedie • Uso di controllori aventi meno limitazioni • Minimizzazione pesata dell’energia spesa durante il movimento • Uso di un motore fisico dedicato • Evoluzione interattiva Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi