physically-based animations of 3d biped characters with genetic algorithms università di roma la...
TRANSCRIPT
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 animazioniTecniche per creare animazioni
Key-Framing
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Tecniche per creare animazioniTecniche per creare animazioni
Motion Capture
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Tecniche per creare animazioniTecniche per creare animazioni
Physics Based Methods
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Tecniche per creare animazioniTecniche 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 animareUn 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 animareUn 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 animareUn 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 animareUn 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 animareUn 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 GeneticoAlgoritmo Genetico
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Genetic AlgorithmGenetic Algorithm
0,4 0,1 1,0
0,6 0,3 0,8
0,0 0,2 0,9
0,1 0,7 0,5
1,0 0,3 0,9
Initialization:
Individual
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Genetic AlgorithmGenetic Algorithm
0,4 0,1 1,0
0,6 0,3 0,8
0,0 0,2 0,9
0,1 0,7 0,5
1,0 0,3 0,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 AlgorithmGenetic Algorithm
0,4 0,1 1,0
0,6 0,3 0,8
0,0 0,2 0,9
0,1 0,7 0,5
1,0 0,3 0,9
0,6
0,7
1,0
0,4
0,5
Creation new generationExample:
Num. of best individuals = 1Num. of individuals discarded = 1Mutation 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 AlgorithmGenetic Algorithm
0,4 0,1 1,0
0,6 0,3 0,8
0,0 0,2 0,9
0,1 0,7 0,5
1,0 0,3 0,9
• Crossover and Mutation:
0,1 0,7 0,5
• Individuals 2 and 4, have been selected
0,3
Current generation New 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 AlgorithmGenetic Algorithm
0,4 0,1 1,0
0,6 0,3 0,8
0,0 0,2 0,9
0,1 0,7 0,5
1,0 0,3 0,9
0,1 0,7 0,5
0,3 0,7
Current generation New 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 AlgorithmGenetic Algorithm
0,4 0,1 1,0
0,6 0,3 0,8
0,0 0,2 0,9
0,1 0,7 0,5
1,0 0,3 0,9
0,1 0,7 0,5
0,3 0,7 0,9
Current generation New 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 AlgorithmGenetic Algorithm
0,1 0,7 0,5
0,3 0,7 0,9
0,2 0,4 0,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 AlgorithmGenetic Algorithm
0,1 0,7 0,5
0,3 0,7 0,9
0,2 0,4 0,5
0,1 0,4 0,6
New generation
…and individual 4:
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Genetic AlgorithmGenetic Algorithm
0,1 0,7 0,5
0,3 0,7 0,9
0,2 0,4 0,5
0,1 0,4 0,6
0,6 0,8 0,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 AlgorithmGenetic Algorithm
0,1 0,7 0,5
0,3 0,7 0,9
0,2 0,4 0,5
0,1 0,4 0,6
0,6 0,8 0,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 AlgorithmGenetic 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 GeneticoAlgoritmo 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 GeneticoAlgoritmo 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 GeneticoAlgoritmo 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 GeneticoAlgoritmo Genetico
Crossover:• Linear Crossover
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Algoritmo GeneticoAlgoritmo Genetico
Crossover:• Blend Crossover
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Algoritmo GeneticoAlgoritmo Genetico
Crossover:• Fitness Proportioned Crossover
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Algoritmo GeneticoAlgoritmo 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 GeneticoAlgoritmo Genetico
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Algoritmo GeneticoAlgoritmo 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 GACArchitettura GAC
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Architettura GACArchitettura GAC
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Architettura GACArchitettura GAC
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
Test e RisultatiTest 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 RisultatiTest 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 RisultatiTest e RisultatiAnimazione con errore ottimo ma stile scorretto
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Maurizio Conventi
ConclusioniConclusioni
• 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
ConclusioniConclusioni
• 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 FuturiSviluppi 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