Physically-based Animations of 3D Biped Characters with Genetic Algorithms Università di Roma La Sapienza Relatore: Prof. Marco Schaerf Correlatore: Ing. Marco Fratarcangeli Maurizio Conventi
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi 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 lanimazione
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 dalluso 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 landamento 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 landamento 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 dallalgoritmo 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 0,40,11,0 0,60,30,8 0,00,20,9 0,10,70,5 1,00,30,9 Initialization: Individual
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi Genetic Algorithm 0,40,11,0 0,60,30,8 0,00,20,9 0,10,70,5 1,00,30,9 Evaluation: 0,6 0,7 1,0 0,4 0,5
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi Genetic Algorithm 0,40,11,0 0,60,30,8 0,00,20,9 0,10,70,5 1,00,30,9 0,6 0,7 1,0 0,4 0,5 Creation new generation Example: Num. of best individuals = 1 Num. of individuals discarded = 1 Mutation probability = 0,1 0,1 0,7 0,5 Copy of best individual:
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi Genetic Algorithm 0,40,11,0 0,60,30,8 0,00,20,9 0,10,70,5 1,00,30,9 Crossover and Mutation: 0,10,70,5 Individuals 2 and 4, have been selected 0,3 Current generationNew generation 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
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi Genetic Algorithm 0,40,11,0 0,60,30,8 0,00,20,9 0,10,70,5 1,00,30,9 0,10,70,5 0,3 0,7 Current generationNew generation 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) = 0,7
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi Genetic Algorithm 0,40,11,0 0,60,30,8 0,00,20,9 0,10,70,5 1,00,30,9 0,10,70,5 0,30,7 0,9 Current generationNew generation Creation gene 3: New random value: 0,0 0,0 < mutation probability (0,1) = 0,9 New random value between [ -1, 1 ] : 0,1 0,8+ 0,1
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi Genetic Algorithm 0,10,70,5 0,30,70,9 0,20,40,5 New generation In the way just described there is the creation of individual 3: The better individuals have more probability to be selected for the reproduction:
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi Genetic Algorithm 0,10,70,5 0,30,70,9 0,20,40,5 0,10,40,6 New generation …and individual 4:
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi Genetic Algorithm 0,10,70,5 0,30,70,9 0,20,40,5 0,10,40,6 0,80,1 New generation Last individual is completely random ( one only individual discarded)
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi Genetic Algorithm 0,10,70,5 0,30,70,9 0,20,40,5 0,10,40,6 0,80,1 Generation evaluation: 0,4 0,6 0,3 0,5 0,8 Improvement
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi Genetic Algorithm 0,4 0,6 0,3 0,5 0,8 0,2 0,6 0,1 0,4 0,9 0,1 0,7 0,3 0,6 0,5 Fitness evolution: 0,3 0,4 0,2 0,5 0,7 0,3 0,5 0,8 0,7 0,6 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 laltro fra lintera 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 levoluzione Calcola la distanza tra la posa assunta dal personaggio nellultimo 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
Test e Risultati Crescita tempo di calcolo: –Tempo richiesto dallalgoritmo 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 dellenergia spesa durante il movimento Uso di un motore fisico dedicato Evoluzione interattiva