Sintesi di volti virtuali da foto ortogonali

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Sintesi di volti virtuali da foto ortogonali"

Transcript

1 Università degli studi di Roma La Sapienza Facoltà di Informatica Tesi di Laurea in Informatica Sintesi di volti virtuali da foto ortogonali Relatore Prof. Paolo Bottoni Candidato Graziella Geremia Correlatore Ing. Marco Fratarcangeli Anno Accademico 2005/2006

2 Dedica

3 Indice 1 Introduzione Contesto Descrizione del problema Soluzione proposta Struttura della tesi Background Modellazione di un volto Generazione di texture Modello generico di un volto umano Standard MPEG Deformazione del volto Acquisizione foto ortogonali Specifica FDP sulle foto Morphing con le radial basis function Scelta della radial basis function Algoritmo di deformazione Texturizzazione del volto Texture mapping Cube Map Confronto tra cube map e tecniche tradizionali Generazione texture

4 4.5 Disegno Mesh Algoritmo Implementazione Struttura dell applicazione Sottosistema Modellazione-Texturizzazione Sottosistema Interfaccia grafica Librerie utilizzate Risultati Prove di rendering Analisi dei tempi di esecuzione Analisi qualitativa dei risultati Conclusioni Possibili sviluppi A OpenGL e cubemap 89 B Risoluzione sistema tramite fattorizzazione LU 93 3

5 Capitolo 1 Introduzione 1.1 Contesto La generazione di modelli di volti umani 3D realistici ha attirato negli ultimi anni un crescente interesse nell ambito dell informatica grafica moderna, stimolato dallo sviluppo dei numerosi campi in cui trova applicazione e favorito dall evoluzione delle schede grafiche dalla potenza di calcolo sempre maggiore. La sintesi di volti realistici è il primo passo verso l animazione facciale; il suo dominio di applicazione è vasto ed include vari settori che spaziano dall ambito puramente ricreativo(film, videogiochi) ad attività di interesse generale(medicina, insegnamento a distanza). In particolare, con lo sviluppo di ambienti virtuali in cui le persone possono interagire tra loro attraverso personaggi virtuali chiamati avatar, è emersa la necessità di creare volti umani 3D che rispecchino l apparenza di ogni singola persona. Ciò consente di immergere un individuo in un mondo virtuale e trova applicazione, ad esempio, nelle videoconferenze o nei videgiochi dove viene data al giocatore la possibilità di assegnare al proprio personaggio un avatar personalizzato. La generazione di un modello 3D realistico non è un problema banale. Il fattore principale per descrivere una persona è rappresentato dal suo volto, 4

6 1.2. Descrizione del problema veicolatore di caratteristiche e dettagli somatici che lo rendono distinguibile. Particolare attenzione è quindi richesta nella creazione di personaggi virtuali. Se si considerano la complessità della struttura anatomica di un volto e la naturale propensione di un essere umano nel percepire anche piccoli dettagli e cambiamenti su qualcosa che gli è familiare, si può intuire come la modellazione facciale costituisca un problema aperto ed interessante nell ambito della computer graphics. 1.2 Descrizione del problema Un volto umano è una forma geometrica estremamente complessa e soggetta a vincoli di proporzionalità. Un modo per ottenere un buon grado di realismo consiste nel basare la sua modellazione su una persona reale. In tal senso, le immagini di uno stesso soggetto catturate da diverse angolazioni forniscono importanti informazioni inerenti la geometria, la forma e l apparenza di un volto. Il problema affrontato in questa tesi consiste nella ricostruzione tridimensionale di un volto umano attraverso l utilizzo di immagini ortogonali che lo ritraggono. L obiettivo è quello di ottenere un modello 3D in grado di riprodurre la forma e l apparenza del volto. In linea generale, due foto ortogonali, che catturano rispettivamente una vista frontale e una laterale del volto, sono sufficienti per la sua ricostruzione trimidensionale: sfruttando la simmetria del volto, è possibile dedurre approssivamente le informazioni del profilo non rappresentato nella foto laterale a partire dall immagine che ritrae il profilo opposto.un numero maggiore di immagini non può far altro che influire positivamente sul risultato finale incrementando il realismo ed il grado di dettaglio. Il processo di generazione di un modello di volto umano descritto in questa tesi può essere pensato come una traslazione da una rappresentazione bidimensionale del volto costituita da fotografie ad una rappresentazione tridimensionale, ossia un modello di volto 3D in congiunzione con le texture da 5

7 1.3. Soluzione proposta applicarvi. Le problematiche affrontate sono legate principalmente a: la deformazione di un volto generico in modo da adattarlo al volto presente nelle immagini la generazione delle texture da applicare al volto per ottenere un effetto realistico 1.3 Soluzione proposta Questo progetto di tesi mostra come sia possibile realizzare volti umani realistici a partire da un generico modello di volto tridimensionale e da una serie di immagini raffiguranti il volto di una persona. Si può pensare quindi ad un processo che, preso in input un modello di volto 3D generico e una serie di immagini raffiguranti il volto di un soggetto umano, restituisca in output il modello 3D rappresentante il volto presente nelle immagini. Nell ambito di questa tesi chiameremo il modello di volto generico source model, intendendo distinguerlo dal target model definito dal volto presente nelle foto. L approccio utilizzato prevede la suddivisione del problema in alcuni moduli, ciascuno dei quali rappresenta un unità logica separata dall intero sistema. Il primo modulo si occupa di adattare la geometria del source model a quella del target model. A tale scopo è necessario determinare una serie di corrispondenze tra i punti cruciali di ciascun modello. Si utilizzano, nel nostro caso, gli FDP(Facial Definition Points) dello standard MPEG4. Si tratta di un insieme di parametri che, essendo localizzati in parti caratteristiche del volto(pupilla dell occhio, angolo della bocca, ecc.), consentono di definire l apparenza di un volto. Si è sviluppata un interfaccia grafica che consente all utente di specificare gli FDP su ciascuna foto; la loro posizione nello spazio viene poi utilizzata nel processo di deformazione del source model guidato dalle radial basis function. La selezione degli FDP su ciascuna foto è l unico 6

8 1.3. Soluzione proposta passo dell intero processo in cui è richiesta l interazione dell utente. Il secondo modulo riguarda la texturizzazione del volto. Per ottenere modelli sintetici realistici di volti virtuali è fondamentale la creazione e la manipolazione della tessitura che crea l apparenza dei dettagli caratterizzanti la pelle umana e che sono assenti nella geometria del modello 3D.Il problema consiste nel riuscire a combinare le informazioni provenienti dalle varie foto in modo tale da creare una tessitura del volto uniforme e realistica. Particolare attenzione è stata dedicata a quest aspetto introducendo una nuova tecnica di texturizzazione basata sull utilizzo delle cube map. Generalmente le cube map vengono usate per l environment mapping al fine di creare effetti di riflessione molto realistici di un oggetto nella scena in cui si trova. In questo progetto esse vengono utilizzate come tecnica di texturizzazione di oggetti la cui forma può essere idealmente racchiusa in un cubo. A partire dalle fotografie in input si generano sei texture che andranno a ricoprire le sei facce di un cubo e verranno successivamente mappate sul volto in maniera opportuna. Questa tecnica, comparata con le tecniche tradizionali utilizzate, presenta alcuni vantaggi: è indipendente dal tipo di volto utilizzato, consente di evitare fenomeni di distorsione e il presentarsi delle cuciture, ossia linee che identificano il passaggio dal contributo di una texture all altra. Si è proposto un algoritmo adattivo volto a scongiurare la presenza di zone di discontinuità di colore. Durante la combinazione di più immagini, a causa di differenti condizioni di illuminazione, presenze di ombre ed errori di registrazione delle immagini, può accadere che zone del volto adiacenti presentino una discontinuità cromatica. Per ovviare a tale problema, si è proposto un algoritmo adattivo che elimina tali artefatti preservando gli attributi di colore. Durante lo sviluppo di questa tesi è stata considerata la complessità computazionale richiesta per eseguire le tecniche descritte cercando di eseguire il maggior numero di ottimizzazioni per alleviarne il carico. Il lavoro svolto in questa tesi risulta essere molto semplice e lineare dal punto di vista concettuale: esso si propone come una linea guida da seguire per 7

9 1.4. Struttura della tesi ottenere una ricostruzione tridimensionale con un buon grado di realismo. In questa trattazione vengono dichiarate le scelte effettuate, vengono descritte in maniera dettagliata le problematiche osservate e proposte delle soluzioni. La figura 1.1 mostra i passi che descrivono l intero processo di generazione di volti virtuali. 1.4 Struttura della tesi Capitolo 2 : introduce il tema della sintesi di volti virtuali realistici illustrandone le origine e lo stato dell arte. Presenta inoltre la descrizione di alcune informazioni richieste alla comprensione della tesi. Capitolo 3 : descrive la nostra tecnica di modellazione di un volto. A partire da un insieme di fotografie ortogonali che ritraggono il volto di una persona, un generico modello di volto tridimensionale viene deformato affinchè assuma la forma del volto presente nelle foto. Viene descritto il metodo di acquisizione degli FDP dalle varie foto e viene illustrato il processo di deformazione del volto guidato dalle radial basis function. La presenza nel capitolo di uno studio dettagliato sulle radial basis function è volta a giustificare la scelta della funzione di interpolazione più idonea al processo di deformazione del volto. Capitolo 4 : è inerente alla texturizzazione del volto. Si introduce la tecnica delle cube map mostrandone le caratteristiche e le differenze rispetto alle tecniche tradizionalmente adottate. L algoritmo utilizzato per la generazione delle texture a partire dalle immagini iniziali e la loro applicazione sul volto costituiscono il punto focale di questa tesi e vengono descritti in maniera dettagliata. Capitolo 5 : presenta un analisi descrittiva dell applicazione. Viene mostrata l organizzazione e le relazioni fra i vari moduli con l ausilio di diagrammi UML. 8

10 1.4. Struttura della tesi Capitolo 6 :descrive, visualizza ed analizza alcuni risultati ottenuti mettendo in evidenza le caratteristiche del sistema. Capitolo 7 : conclude questa tesi con un sommario del lavoro svolto ponendo l accento sui possibili sviluppi futuri. 9

11 1.4. Struttura della tesi Foto input Selezione FDP Modello generico Modello generico deformato Texture generate Risultato finale Fig. 1.1: Processo di generazione di volti virtuali 10

12 Capitolo 2 Background Questo capitolo introduce il tema della sintesi di volti virtuali realistici illustrandone le origine e lo stato dell arte. Descriveremo i vari approcci al problema presenti in letteratura distinguendo tra la parte di modellazione e deformazione del volto e quella relativa alla generazione di texture. Presenteremo inoltre la descrizione di alcune informazioni richieste alla comprensione della tesi. 2.1 Modellazione di un volto In relazione alla modellazione di volti umani, sono stati proposti e sviluppati molti metodi che possono essere ricondotti in due principali categorie: tecniche basate sull utilizzo di scanner laser e tecniche basate sulle immagini. Nel primo caso, la geometria e l apparenza di un volto può essere acquisita da scanner laser che evidenziano le posizioni tridimensionali dei punti sulla superficie. Questo approccio presenta aluni svantaggi. Lo scanner non può acquisire la geometria di aree complesse quali orecchie e capelli,produce texture di bassa risoluzione ed i modelli ottenuti sono sufficienti solo per rappresentazioni statiche del volto, in quanto non presentano le informazioni tali da consentire tecniche di animazione del volto. La nostra tecnica rientra nell altra categoria: le immagini di un volto ven- 11

13 2.1. Modellazione di un volto gono utilizzate per creare la geometria del volto. Rispetto ai metodi di modellazione che utilizzano lo scanner, il nostro metodo richiede una semplice attrezzatura rappresentata da una fotocamera e consente di estrarre texture ad alta risoluzione. Il prezzo da pagare per questi vantaggi è la necessità dell intervento dell utente nel processo di modellazione. La prima tecnica di modellazione del volto basata sulle foto fu sviluppata da Parke [1, 2] e prevedeva l utilizzo di griglie disegnate direttamente sul volto del soggetto. A causa della presenza di tali griglie, le immagini utilizzate per costruire il modello di volto non potevano essere usate come mappe di tessitura. Recentemente sono stati proposti molti metodi che permettono la ricostruzione del modello senza l utilizzo di griglie. In [3, 4, 5] viene utilizzato un database di volti neutrali costruito acquisendo, attraverso uno scanner, la geometria del volto da un centinaio di soggetti. Partendo da una sola fotografia, un algoritmo ricerca la forma del volto che si avvicina maggiormente alla geometria del volto della fotografia. Gli altri approcci prevedono essenzialmente due passi: l estrazione di alcuni punti del volto e la deformazione di quest ultimo. Nel primo passo un numero limitato di punti, corrispondenti a punti caratteristici del volto, vengono rilevati in maniera automatica o interattivamente dalle immagini. Kurihara and Arai [6] hanno utilizzato un metodo interattivo per determinare alcuni punti caratteristici. In [7] e [8] viene usato un approccio simile. Questi due approcci tentano di individuare automaticamente i feature points su due immagini ortogonali catturate dalle viste frontale e laterale usando un template dinamico per controllare i punti concavi e convessi sul profilo laterale di una faccia. Gli approcci sinora descritti sono simili ed hanno lo svantaggio di utilizzare un piccolo numero di punti caratteristici per deformare il volto generico. Ciò può condurre ad avere come risultato un volto la cui geometria presenta discostamenti dal reale. Nel lavoro [9] viene descritto un metodo per deformare un volto generico ed 12

14 2.2. Generazione di texture adattarlo al volto presente in cinque diverse fotografie catturate simultaneamente attraverso l utilizzo di cinque fotocamere. In ognuna di esse, viene marcato un insieme di punti caratteristici corrispondente ad un sottoinsieme dei vertici della mesh del volto generico. Una volta ottenute queste corrispondenze, viene ricostruita la posizione delle varie fotocamere e la posizione 3D dei punti caratteristici in base ai quali viene effettuata la deformazione. Questo approccio è concettualmente simile al nostro, noi utilizziamo però come punti caratteristici gli FDP dello standard MPEG-4, di cui parleremo ampliamente nel paragrafo 2.4. In [10] [11], viene descritto un metodo che utilizza in input due foto ortogonali (vista frontale e vista di profilo) per ricostruire un modello 3D del volto. Il metodo è basato sull estrazione degli FDP sulle foto tramite l utilizzo di un interfaccia con l utente e il modello viene poi deformato in base alle corrispondenze individuate. Per la parte di texturizzazione viene composta un unica immagine combinando le informazioni dalle immagini presenti. Il secondo passo è quello della deformazione: i punti estratti vengono utilizzati come punti di controllo per deformare un modello generico; gli altri punti del volto vengono modificati applicando una particolare funzione. Alcuni approcci [12] prevedono l uso della Dirichlet Free Form Deformation(FFD), noi proponiamo come altri [13, 14, 15], l utilizzo delle radial basis function che consentono di ottenere una deformazione piuttosto regolare. 2.2 Generazione di texture Una volta determinata la forma del modello di volto, è necessario creare la tessitura(texture) corrispondente. La pelle del volto umano presenta delle caratteristiche che la rendono difficile da riprodurre. L approccio più semplice [16] consiste nell utilizzo uno di scanner laser Cyberware in grado di acquisire la forma geometrica del volto e la texture creando una corrispondenza tra i punti 3D ed i pixel dell immagine texture [17, 18]. Questo metodo ha lo svantaggio di creare texture con bassa risoluzione. In 13

15 2.2. Generazione di texture [3] viene proposto un metodo per generare la geometria del volto e la texture attraverso l utilizzo di un database costruito utilizzando uno scanner. Nel lavoro [19] viene descritta una tecnica per acquisire la riflettività della pelle umana e per usare tale informazione per renderizzare il volto in condizioni di luci arbitrarie. La generazione di texture tramite la combinazione di informazioni provenienti da varie foto è un problema affrontato in letteratura da molti autori. In questo lavoro [20] si è proposto un approccio per ottenere la mappatura delle texture su un oggetto geometrico 3D. Partendo da un insieme di fotografie dell oggetto, le parti rilevanti di tali immagini vengono combinate in un unica texture atlas. Per fare ciò si partizionano i vertici dei triangoli che costituiscono la mesh del volto a seconda delle immagini da cui ogni vertice prende il suo colore. Ad ogni faccia della mesh che occupa una posizione di confine tra due immagini viene assegnato un pezzo di texture ottenuto come media pesata dei colori delle sezioni adiacenti corrispondenti. La risultante texture map ha però una struttura a patch che rende impossibile la generazione del mip-mapping. In generale, durante la combinazione di più immagini, a causa di differenti condizioni di illuminazioni, ombre o errori di registrazione delle immagini,può presentarsi il problema della presenza di zone di discontinuità di colore nelle zone di confine tra regioni assegnate a differenti foto. Per eliminare tale inconveniente, le informazioni provenienti dalle varie immagini vengono combinate applicando un filtro gaussiano o una funzione continua [21]. Un altra tecnica per eliminare il problema della discontinuità di colore è stata introdotta da Burt e Adelson [22] Essi propongono la tecnica spline multirisoluzione che consiste nel decomporre le immagini in bande di alta e bassa frequenza e nel combinare le informazioni delle immagini separatamente ad ogni livello. Il risultato è un unica grande immagine mosaico che combina le le informazioni provenienti dalle varie fotografie. In [9] si è proposto un sistema per generare volti tridimensionali a partire da fotografie descrivendo una tecnica di combinazione delle texture basata 14

16 2.3. Modello generico di un volto umano sull introduzione di una mappa di pesi. Essa verte su alcuni parametri: la visibilità(un peso zero viene assegnato ai vertici della mesh nascosti), la regolarità(i pesi devono variare in modo regolare per garantire continuità) ed infine la direzione della vista(i pesi dipendono dall angolo della direzione di vista). Cosi come in altri lavori [6, 18], essi combinano le informazioni provenienti dalle varie fotografie in un unica texture map che viene costruita su di un cilindro virtuale che circonda il modello mesh. Il mapping tra mesh e spazio tessitura viene definito tramite proiezione cilindrica. Un lavoro interessante sulla texturizzazione dei volti è quello presentato in [23]. Viene proposto un metodo per generare, a partire da alcune fotografie di un volto, texture ad alta risoluzione rappresentanti la pelle del volto ed alcune sue componenti quali denti ed occhi. Dopo aver parametrizzato nello spazio 2D la mesh 3D di input, utilizzano le tecniche di interpolazione di colore e di combinazione multirisoluzione per generare texture senza cuciture. 2.3 Modello generico di un volto umano Ogni volto umano presenta alcuni tratti essenziali quali occhi, bocca, naso. E la morfologia di tali elementi, unitamente all eventuale presenza di altri particolari, che consente di distinguere un volto da un altro. Un modello di volto generico deve possedere come caratteristica fondamentale la possibilità di essere modificato in modo tale da poter coprire una vasta gamma di volti differenti. Per rappresentare il volto viene utilizzata una mesh 3D. Il termine mesh viene usato per indicare un oggetto tridimensionale rappresentato mediante una superficie chiusa, mediante cioè un insieme di facce poste l una accanto all altra che definiscono la forma dell oggetto. Nel nostro lavoro utilizzeremo due modelli di volto differenti entrambi memorizzati in file formato VRML(Virtual Reality Modelling Language). Il linguaggio VRML permette di definire attraverso un insieme di comandi e di funzioni il comportamento e la forma 15

17 2.3. Modello generico di un volto umano di un insieme di oggetti che andranno a comporre la scena. Tutte le entità presenti all interno di un codice VRML sono rappresentabili come dei nodi in una struttura gerarchica che contiene il modello completo del mondo. Un nodo che rappresenta un oggetto a sua volta contiene diversi campi che permettono di specificarne ulteriori caratteristiche fra cui il colore, la forma, la dimensione, la traslazione o la texture utilizzata per renderlo maggiormente realistico. Il vantaggio di tale formato risiede nella possibilità di poter essere facilmente utilizzato dagli utenti di tutti i pacchetti commerciali che ne supportano l importazione e l esportazione. Il primo modello, beta, è costituito da 2196 vertici e 4118 triangoli mentre il secondo, reana, ha 991 vertici e 1601 facce. Entrambi sono composti da vari oggetti: occhio sinistro, occhio destro, denti e resto del volto, a ciascuno dei quali è associata una texture. Ad ognuno dei due modelli è associato inoltre l insieme degli FDP che rende possibile il processo di deformazione. (a) (b) Fig. 2.1: modelli utilizzati: beta(a), reana(b) 16

18 2.4. Standard MPEG Standard MPEG-4 In questo progetto di tesi si è sviluppato un sistema di ricostruzione tridimensionale di un volto compatibile con le specifiche dello standard MPEG-4. Per la comprensione del metodo utilizzato è necessario introdurre i concetti fondamentali riguardanti le specifiche dello standard MPEG-4 [24]. MPEG- 4, presentato nel 1998, è il nome dato a un insieme di standard per la codifica dell audio e del video digitale sviluppati dall ISO/IEC Moving Picture Experts Group (MPEG). Lo standard definisce un sistema generico per poter creare e accedere interattivamente a contenuti multimediali di qualsiasi tipo. Essi possono essere testi, ipertesti, immagini, disegni, animazioni, filmati, suoni naturali, suoni sintetici ecc. MPEG-4 supporta tutte le caratteristiche degli standard MPEG-1 e MPEG-2 oltre a tutta una serie di nuove caratteristiche come la gestione tridimensionale degli oggetti (tramite un estensione del VRML). I flussi audio e video vengono trattati dallo standard MPEG-4 come oggetti che possono essere manipolati e modificati in tempo reale. L unità primitiva dello standard MPEG- 4 è l oggetto audiovisuale (AVO). Ogni sequenza MPEG risulta composta da più AVO, ognuno dei quali è costituito da informazioni sul contenuto dell oggetto (campioni audio e/o video) e da informazioni su come, quando e dove l oggetto vada riprodotto. Una parte interessante dello standard MPEG-4, che riguarda l argomento della nostra tesi, consiste nelle specifiche necessarie per una codifica efficiente della forma e dell animazione di volti e corpi umani.(face and Body Animation o FBA). MPEG-4 definisce un generico stato neutrale del volto unitamente a due insieme di parametri: 84 punti di definizione facciale (Facial Definition Points o FDP) e 68 punti di animazione facciale (Facial Animation Points o FAPS). Lo stato neutrale di un volto è la sua posizione prima che vi sia applicata un animazione; in questa posizione i muscoli facciali sono rilassati, la bocca è chiusa e gli occhi aperti. Gli FDP definiscono punti somatici rilevanti del volto e sono utilizzati per modificare l apparenza e la forma di un modello facciale. I FAP costituiti- 17

19 2.4. Standard MPEG-4 scono un insieme completo di azioni che il viso può compiere. Includono ad esempio il movimento degli occhi, della lingua e della bocca permettendo in tal modo la rappresentazione di molte delle naturali espressioni facciali. Il valore di un FAP indica l ampiezza della corrispondente azione; valori esagerati permettono di simulare azioni che normalmente non sono possibili per un volto umano ma possono caratterizzare, ad esempio, il volto di un cartone animato. In questa tesi siamo particolarmente interessati agli FDP chiamati anche punti caratteristici (Feature Point o FP). La nostra applicazione prevede un interfaccia grafica che consente all utente di specificare sulle varie immagini i vari Feature Points che costituiranno la base del processo di deformazione. MPEG-4 specifica 84 FDP, ciascuno dei quali è composto da: Numero: il numero che identifica l FDP ed il particolare gruppo a cui esso appartiene Posizione: La posizione memorizza le coordinate x,y,z relative al punto FDP. L origine è definita dal FDP 7.1. I punti giacciono in un sistema di coordinate con l asse delle x orientato verso destra, l asse delle y verso l alto e l asse delle z orientato verso l osservatore Coordinate Texture: Le coordinate texture memorizzano le coordinate nella texture map. La figura 2.2 mostra la posizione di tali punti, la tabella in appendice ne presenta una descrizione testuale. 18

20 2.4. Standard MPEG-4 Fig. 2.2: Gli FDP dello standard MPEG-4 19

21 Capitolo 3 Deformazione del volto In questo capitolo mostriamo come ottenere il modello di volto 3D corrispondente al volto rappresentato nelle foto. Poiché i volti umani sono simili in struttura ed in forma, la tecnica utilizzata consiste nel deformare un generico volto 3D in modo tale da adattarlo alla particolare geometria del volto presente nelle foto ortogonali utilizzando le informazioni che da esse vengono estratte. L input è quindi rappresentato da un generico modello 3D, nel nostro caso un modello VRML, e da fotografie ortogonali raffiguranti un volto umano visto dai vari profili. Chiameremo il generico volto 3D source model, mentre ci riferiremo al volto 3D presente nelle foto e quindi da rappresentare, come al target model. L approccio si basa sulla specifica di alcuni punti di riferimento definiti sul modello; cambiando la locazione di tali punti e la relazione fra di essi è possibile modificare la geometria e la forma del volto 3D. I punti di riferimento sono punti caratteristici del modello da deformare(occhi, naso,bocca, ecc), nel nostro caso essi coincidono con gli FDP dello standard MPEG-4 di cui abbiamo parlato nel paragrafo 2.4. Tramite una procedura interattiva l utente è in grado di specificare una serie di corrispondenze tra source model e target model; tali corrispondenze saranno alla base del processo di deformazione del source model al termine del quale i punti di riferimento del source model coincideranno con quelli del 20

22 3.1. Acquisizione foto ortogonali target model. E necessario quindi costruire una funzione di interpolazione che, preso l insieme dei punti di riferimento del source model e il corrispondente insieme del target model, esprima la deformazione dei punti generici del modello(non quelli di riferimento) in termini dei cambiamenti dei punti di riferimento. Questo problema di scattered data interpolation viene risolto tramite l utilizzo delle radial basis function (vedi paragrafo 3.3) ed in particolare del metodo di Hardy che presuppone la risoluzione di un sistema lineare. L intero processo può essere quindi sintetizzato in questi tre passi: acquisizione foto ortogonali specifica FDP sulle foto deformazione del volto con le radial basis function 3.1 Acquisizione foto ortogonali Il primo passo consiste nell acquisizione delle foto rappresentanti un volto umano da una semplice macchina fotografica. La posizione della macchina fotografica deve essere scelta in modo tale che le immagini risultanti riescano ad includere l intero volto. Durante l acquisizione non è richiesta alcuna speciale illuminazione; tuttavia la presenza di una illuminazione diffusa e uniforme si riflette positivamente sul risultato finale. E inoltre necessario che il soggetto assuma la stessa espressione in tutte le foto. La possibilità che le varie fotografie siano catturate a distanze o altezze diverse dal soggetto può costituire un ostacolo in fase di elaborazione delle immagini; l analisi e la risoluzione di tale problema è descritta dettagliatamente nel paragrafo successivo. Foto con risoluzioni diverse non rappresentano un problema nell elaborazione in quanto le coordinate delle immagini acquisite non fanno riferimento all unità di misura pixel ma vengono normalizzate tra 0 e 1 sia in altezza che in larghezza. Ciò consente, oltre ad utilizzare immagini con risoluzioni diverse, di avere un unico sistema di riferimento in tutte le foto. E possibile quindi 21

23 3.2. Specifica FDP sulle foto applicare fattori di scala all immagine senza che siano necessarie elaborazioni per il riposizionamento dei punti. L algoritmo utilizzato per normalizzare le coordinate di un punto in una foto consiste nella seguente formula: coordinate normalizzate = coordinate pixel/dimensione immagine (3.1) In altri termini se un punto viene posizionato a coordinate pixel 64x64 in una foto da 256x256 pixel, dividendo la posizione per la dimensione dell immagine si ottiene una grandezza (0,25x0,25) non più legata alla risoluzione dell immagine. Ridimensionando l immagine a 512x512 il punto (0,25x0,25) sarà collocato a 128x128, proprio come ci aspettavamo. 3.2 Specifica FDP sulle foto Come abbiamo visto nel paragrafo 2.4, lo standard MPEG-4 fornisce una parametrizzazione per l animazione facciale basata sulla fisionomia del volto in grado di definire e controllare la forma e i movimenti di un volto 3D. Esso individua due insiemi di parametri che descrivono ed animano un modello facciale 3D: i FAP (parametri di animazione facciale) e gli FDP (parametri di definizione facciale). Gli FDP sono punti caratteristici del volto 3D che permettono di localizzare le caratteristiche facciali più salienti e sono utilizzati per adattare un generico modello di volto 3D ad un modello particolare. Poiché desideriamo modificare la forma e l apparenza del generico volto 3D in modo da renderlo il più possibile somigliante a quello presente nelle foto, è necessaria una procedura interattiva di individuazione degli FDP sulle foto. Il posizionamento di uno specifico FDP nelle varie foto consente di recuperare la sua posizione 3D. Ciascuna foto ha un sistema di riferimento basato su due delle tre coordinate dello spazio del modello facciale ed ha in comune almeno un asse con almeno una delle altre foto. L insieme delle coordinate 2D proveniente dalle foto ci permette di dedurre la posizione 3D di ogni punto FDP. Ogni foto ha un sistema di riferimento con valori compresi tra 0 e 1 e un FDP 22

24 3.2. Specifica FDP sulle foto è composto da 3 valori che rappresentano le sue coordinate tridimensionali. Ciascuna foto fornisce solamente due di queste tre coordinate. Il fatto di dover utilizzare più foto per determinare la posizione di un punto FDP ha il seguente effetto collaterale: anche se tutte le foto condividono un sistema di riferimento compreso tra 0 e 1, questo non significa che, prese due foto che condividono uno stesso asse di riferimento, il valore assunto dall FDP in una foto corrisponda al valore dello stesso FDP nell altra foto. Come mostrato in figura 3.1, nella foto frontale abbiamo un FDP posizionato sul naso con coordinate (xa,ya). Al medesimo FDP sulla foto laterale corrisponde la coordinata (zb,yb). Qualora in fase di acquisizione delle foto non siano stati utilizzati accorgimenti tali che la distanza e la posizione della camera rispetto al soggetto rimanessero costanti, il valore ya è diverso da yb. Tutto questo comporta che la coordinata y dell FDP è indeterminata in quanto assume valori diversi; ciò è dovuto al fatto che tra le due foto è presente un errore di traslazione (la fotocamera presentava due altezze diverse rispetto al soggetto) oppure un errore di scala(la fotocamera aveva due distanze diverse rispetto al soggetto). E quindi necessario fornire alle foto che condividono uno stesso asse carte- Fig. 3.1: siano, un sistema di riferimento omogeneo che consenta di annullare l errore. A tale scopo vengono posizionati due punti di controllo su ogni foto nelle 23

25 3.2. Specifica FDP sulle foto medesime zone del volto. Riferendosi all esempio precedente, dati i punti di controllo a 1 e a 2 sulla foto frontale e b 1 e b 2 sulla foto laterale, tramite la seguente espressione ((ya a 1y a 2y + a 1y b 1y )/ b 1y b 2y = yb (3.2) esiste una corrispondenza biunivoca tra ya e yb. Avendo trovato una corrispondenza biunivoca, scegliamo di utilizzare uno dei due valori come componente y dell FDP. E una condizione necessaria dover poi utilizzare sempre i valori provenienti della medesima foto per dedurre i valori della coordinata y dei restanti FDP. Questo è generalizzabile su tutte e tre le coordinate e su un numero arbitrario di foto. Grazie alla corrispondenza biunivoca venutasi a creare tra le varie foto, modificando la posizione di un punto FDP in una foto, automaticamente in tutte le foto che condividono uno dei due assi cartesiani il corrispondente FDP subisce un alterazione che soddisfa l espressione 3.2. Non è richiesto in tal modo alcun riposizionamento dell FDP in ciascuna foto. Come approfondiremo nel paragrafo successivo, il processo di deformazione considera l insieme degli FDP presenti nel source model(fs) e l insieme degli FDP acquisiti dalle foto(ft) per determinare una funzione di interpolazione che sia in grado di mappare gli FS negli FT. Il preciso posizionamento degli FDP si riflette quindi positivamente sul risultato della deformazione. Poiché è difficile localizzare alcuni punti(soprattutto nel caso in cui non siano presenti alcune foto) ed il processo di inserimento potrebbe risultare lungo e noioso, si è implementata una procedura semplice ma efficace di estrazione degli FDP che faciliti ed agevoli l inserimento. L idea si basa su successive applicazioni del processo di deformazione che conducono a successivi raffinamenti della posizione degli FDP. Nel primo passo vengono acquisiti sono alcuni FDP di facile individuazione. A questo punto viene calcolata la funzione di interpolazione che permette la mappatura di tali punti. Tale funzione viene poi applicata ai restanti punti sul volto 3D per suggerire all utente la relativa posizione degli FDP(vedi figura xx). 24

26 3.3. Morphing con le radial basis function L intero processo può essere reiterato migliorando la precisione della funzione di interpolazione, sino a quando tutti gli FDP non assumeranno la posizione corretta. 3.3 Morphing con le radial basis function In questo paragrafo mostriamo come deformare il source model in modo da adattarlo alla forma del volto presente nelle foto. L idea consiste nel definire una funzione di interpolazione in grado di mappare gli FDP del source model negli FDP rappresentati dai punti acquisiti dalle foto e nell utilizzare tale funzione per deformare i restanti vertici del source model. Poiché gli FDP non sono regolarmente distribuiti sull intera superficie, si tratta di risolvere un problema standard di scattered data interpolation che può essere formalizzato cosi: Dato un insieme di punti P = p i con i = 1... n definito sul source model e il corrispondente insieme di punti Q = q i con i = 1... n nel target model, trovare una funzione tale che: F (p i ) = q i (3.3) Tale funzione, applicata ad un punto non landmark del source model, consente di ottenere il corrispondente punto nel target model. Ci sono vari metodi per l individuazione della funzione di interpolazione. La scelta è caduta sulle radial-basis-function (funzioni a base radiale) che risultano particolarmente efficaci quando i punti feature non sono distribuiti regolarmente [25]. Una radial basis function (RBF) è una funzione il cui valore dipende dalla distanza da un punto detto centro. Il metodo di interpolazione è semplicemente una combinazione lineare di tali funzioni: n F (x) = λ i φ( x p i ) (3.4) i=1 25

27 3.3. Morphing con le radial basis function dove λ i è il peso associato al punto p i e φ denota la radial basis function. In alcuni casi, per assicurare la precisione lineare della trasformazione, è necessario aggiungere un polinomio. Siano {π 1,... π d } le basi di un polinomio L di grado d e siano {v 1,... v d } i coefficienti che consentono di ottenere L in termini di queste basi. La funzione di interpolazione diviene cosi: n d F (x) = λ i φ( x p i ) + v c π c (p j ) (3.5) i=1 c=1 Per determinare i coefficienti λ i basta semplicemente sostituire la condizione F (p i ) = q i nell equazione precedente: n d F (x) = λ i φ( x p i ) + v c π c (p j ) = q i (3.6) i=1 c=1 Per la precisione lineare, richiediamo inoltre che: n λ i = 0, i=1 n λ i π c (p i ) = 0 (3.7) i=1 ottenendo il seguente sistema di equazioni: φ 11 φ 12 φ 1n π 1 (p 1 ) π 2 (p 1 ) π d (p 1 ) φ 21 φ 22 φ 2n φ n1 φ n2 φ nn π 1 (p n ) π 2 (p n ) π d (p n ) π 1 (p 1 ) π 2 (p 1 ) π d (p 1 ) π 1 (p n ) π 2 (p n ) π d (p n ) λ 1 λ 2. λ n v 1. v d = q 1 q 2. q n 0. 0 Denotando con: A ij = φ( p i p j ) con i, j = 1... n Π ij = π j (p i ) con j = 1... d e i = 1... n λ = [λ 1,..., λ n ] T Q = [q 1,..., q n ] T 26

28 3.4. Scelta della radial basis function V = [v 1... v d ] T Il precedente sistema può essere scritto come: A Π Π T 0 λ V = Q 0 (3.8) Il sistema ottenuto può essere riscritto in maniera tale da evidenziare l influenza dei valori del dominio della funzione su λ e V. Sia C D la matrice inversa della matrice A Π ; moltiplicandola E F Π T 0 a sinistra nell equazione 3.8 otteniamo: λ V = C E D F Q 0 = C Q (3.9) E dove C è la matrice che rappresenta l influenza dei valori del dominio della funzione su λ e E è la matrice che esprime l influenza su v. La funzione di interpolazione nel dominio X, derivata dagli insiemi P e Q, può essere riscritta cosi: Φ(X, P 1 ) Π(X) F (X, P, Q) = Q CT. + ET. Φ(X, P n ) Π(X) (3.10) 3.4 Scelta della radial basis function Esistono varie radial basis function. Una classificazione può essere effettuata sulla base degli effetti locali o globali, che esse producono nel processo di deformazione. Una trasformazione è globale se è dipendente da tutti i punti di controllo:lo spostamento di uno di essi produce degli effetti sull intero volto; diversamente in una trasformazione locale gli effetti si localizzano in un area 27

29 3.4. Scelta della radial basis function ristretta in prossimità del punto. Nella scelta di quale radial basis function adottare per la deformazione del volto, si deve attribuire particolare importanza, quindi al comportamento che essa assume a fronte di un cambiamento di un punto di controllo. E da prediligere infatti una funzione che produca effetti locali mantenendo nel contempo un certo grado di regolarità. Per determinare quale sia l influenza di uno spostamento di un FDP target sull intera trasformazione utilizziamo la serie di Taylor che consente di esprimere la funzione interpolante in maniera approssimata. La serie di Taylor in una dimensione (x), è: con: dove: F (X, P, Q x + Q x ) = F (X, P, Q x ) + F (X, P, Q x) Q x Q x + O( Q x 2 ) Φ(X, P 1 ) Π(X) F (X) = Q x. + ET. Φ(X, P n ) Π(X) Q x è l insieme delle coordinate x dei punti target (3.11) O( Q x 2 ) = 0 poichè tutte le derivate parziali di ordine superiore sono uguali a zero C è la matrice che rappresenta l influenza dei valori del dominio della funzione su λ e E è la matrice che esprime l influenza su v. Supponiamo di avere come punti source l insieme P = {P 1 = 20, P 2 = 5, P 3 = 18, P 4 = 40} e come punti target l insieme Q = {Q 1 = 20, Q 2 = 0, Q 3 = 21, Q 4 = 40} 28

30 3.4. Scelta della radial basis function Qui di seguito analizzeremo le varie radial basis function mostrando per ciascuna di esse due grafici: il primo mostra l andamento della funzione considerata; il secondo presnta l influenza di ogni punto target sull insieme dei F (X) F (X) punti del dominio mostrando ( Q j = Q xj, j = 1,...4), il terzo mostra la derivata della funzione considerata. In tutti i casi ci limiteremo allo studio della sola dimensione x. Le radial basis function gaussiana e di hardy presentano un parametro σ che regola la rigidità della deformazione. Esso è arbitrario, ma per garantire che la deformazione sia morbida nell area in cui punti sono più sparsi e rigida nell area in cui i punti sono più fitti, viene calcolato come: min j=1,...n,i j p i p j (3.12) 29

31 3.4. Scelta della radial basis function 1 0,96 0,92 0,88 0,84 0,8 0,76 0,72 0 0,04 0,08 0,12 0,16 0,2 0,24 0,28 RBF Linear φ(r) = 0 r influenza 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0, x influenza Q1 influenza Q2 influenza Q3 influenza Q4 F(x) F(x) F(x) Fig. 3.2: grafico influenza della funzione lineare ,96 0, ,2-18 0,92 0, , ,88 0, , ,84 0, , ,8 0, ,76 0, , , , , ,68 0, , ,64 0, , ,6 0, ,56 0,44 x , ,52 0, , ,48 0, ,6-6 0,44 0,56 x 0 0-8,8-5 0,4 0, ,36 0, ,2-3 0,32 0, ,4-2 Fig. 3.3: 0,28 grafico0,72 andamento 0della funzione 0 lineare -5,6-1 0,24 0, ,8 0 0,2 0, ,16 0, , ,12 0, , ,08 0, , ,04 0, , , , , , , , , , , , , , , , , x lineare lineare lineare

32 , , , , , , , , , , , , , , , , , , , , , , , , , , , , Scelta della radial basis function f'(x) 1,8 1,6 1,4 1,2 1 0,8 0,6 0,4 0, x derivata lineare Fig. 3.4: grafico derivata della funzione lineare RBF Cubic φ(r) = r 3 2 1,5 influenza 1 0, , influenza Q1 influenza Q2 influenza Q3 influenza Q4-1 x Fig. 3.5: grafico influenza della funzione cubica 31

33 3.4. Scelta della radial basis function F(x) F(x) x Fig. 3.6: grafico andamento della funzione cubica x cubica cubica 2 derivata cubica 1,5 1 f'(x) f'(x) derivata cubica 0, , , ,5 x , x influenza influenza 1,4 1,2 1 0,8 Fig. 3.7: grafico derivata della funzione cubica 0,6 0,4 1,4 0,2 1,2 01-0,2 0, ,4 0,6 0,4 x 0,2 0-0, ,4 x influenza Q1 influenza Q2 influenza Q3 influenza Q4 influenza Q1 influenza Q2 influenza Q3 influenza Q4

34 1,5 1 f'(x) 0, , RBF Thin-plate spline x 3.4. Scelta della radial basis function φ(r) = r 2 log(r) influenza 1,4 1,2 1 0,8 0,6 0,4 0,2 0-0, ,4 x influenza Q1 influenza Q2 influenza Q3 influenza Q4 Fig. 3.8: grafico influenza della funzione thin-splate F(x) x thin-plate f'(x) 1,8 1,6 1,4 1,2 1 0,8 0,6 0,4 0,2 0 Fig. 3.9: grafico andamento della funzione thin-splate x 33 derivata thin

35 F(x) F(x) f'(x) f'(x) influenza x 3.4. Scelta della radial basis function -30 1,8 1,6 x 1,4 1,2 1 0,8 0,6 0,4 1,8 0,2 1,6 1,4 0 1, x 0,8 0,6 0,4 0,2 0 RBF Gaussian influenza ,2 1 0,8 0,6 Fig. 3.10: grafico derivata della funzione thin-splate φ(r) = e ( r2 σ ) 0,4 1,2 0, , ,2 0,6 x 0,4 0, ,2 x x thin-plate thin-plate derivata thin derivata thin influenza Q1 influenza Q2 influenza Q3 influenza Q4 influenza Q1 influenza Q2 influenza Q3 influenza Q4 Fig. 3.11: grafico influenza della funzione gaussiana 34

36 3.4. Scelta della radial basis function f'(x) F(x) F(x) gaussiana x gaussiana Fig. 3.12: grafico andamento della funzione gaussiana derivata gaussiana 2,5 x 2 1,5 1 f'(x) 0,5 2, x 1,5 1 derivata gaussiana influenza influenza 0,5 1, ,8 x 0,6 0,4 0,2 1,2 0 Fig. 3.13: grafico derivata della funzione gaussiana -0, ,4 0,8 0,6 x 0,4 0, , ,4 x influenza Q1 influenza Q2 influenza Q3 influenza Q4 influenza Q1 influenza Q2 influenza Q3 influenza Q4

37 derivata gaussiana 2,5 2 f'(x) 1, Scelta della radial basis function 0,5 RBF Hardy multiquadrics φ(r) = r 2 + σ 2 x influenza 1,2 1 0,8 0,6 0,4 0,2 0-0, ,4 x influenza Q1 influenza Q2 influenza Q3 influenza Q4 Fig. 3.14: grafico influenza della funzione hardy F(x) x hardy Fig. 3.15: grafico andamento della funzione hardy 36 '(x) 2 1,8 1,6 1,4 1,2 1 derivata hardy

38 x 3.4. Scelta della radial basis function f'(x) 2 1,8 1,6 1,4 1,2 1 0,8 0,6 0,4 0, x derivata hardy Fig. 3.16: grafico derivata della funzione hardy Lo scopo di questi grafici è quello di mostrare quale tra le funzioni analizzate sia la più adatta a rivestire il ruolo di funzione di interpolazione nel nostro processo di deformazione del volto. In linea generale siamo alla ricerca di una radial basis function che abbia regioni di influenza limitata e presenti un andamento morbido e regolare. Guardando i grafici xx, poniamo l attenzione su quelle radial basis function la cui influenza in un punto Q i sia alta in prossimità di P i e tenda a decrescere in maniera rapido allontanandosi da esso. Il motivo per cui siamo interessati a ricercare una funzione RBF con tale andamento è dovuto al fatto che in tale circostanza la funzione RBF effettua la deformazione della mesh esclusivamente nella zona limitata e definita dalla posizione assunta dall FDP Q i. Tale approccio porta il vantaggio che l FDP Q i non ha influenza sulla deformazione nelle restanti zone della mesh. In conclusione quello che vogliamo avere è che modificando la posizione assunta dall FDP Q i abbiamo nella mesh una deformazione localizzata nell intorno dell FDP P i. Ad esempio la funzione RBF cubica presenta una deformazione non localizzata: ogni FDP Q i produce un influenza anche al di fuori dell area che circonda il corrispettivo FDP P i. Oltre alla tipologia di deformazione, locale o meno, abbiamo bisogno che la deformazione della mesh abbia un andamento regola- 37

39 3.4. Scelta della radial basis function re e morbido tra le varie zone localizzate dai vari FDP P i. Il rischio in cui si può incorrere è che la funzione RBF per passare da una zona localizzata dall FDP P i alla zona adiacente, localizzata dall FDP P j, introduca una brusca variazione sul profilo della mesh. Per studiare tale fenomeno si è pensato di calcolare la derivata delle varie funzioni RBF. Il grafico risultante permette facilmente di evidenziare l andamento che avrà la mesh e in quale zone presenterà delle brusche variazioni nel proprio profilo 3D. Questo perchè la mesh finale è il risultato dell applicazione della funzione RBF. Nel caso in cui la curva della RBF presenta delle irregolarità in alcune zone, evidenziate da una veloce variazione della pendenza dalla funzione derivata, anche la mesh finale presenterà irregolarità nelle medesime zone. Poniamo quindi l attenzione su quelle radial basis function in cui non siano presenti brusche variazioni che possono indurre la presenza di zone spigolose nella deformazione. Considerando i fattori di linearità della derivata e località della RBF, la radial basis function di Hardy sembra la più adatta ai nostri scopi. Non presenta variazioni improvvise nella funzione derivata, quindi la modellazione risulta essere regolare e morbida su tutta la mesh, e allo stesso tempo possiede una localizazzione nella deformazione della mesh. Questo studio analitico è stato verificato tramite uno studio pratico: partendo dalla medesima mesh e dallo stesso insieme FDP finale, abbiamo applicato separatamente le varie funzioni RBF e abbiamo quindi messo a confronto i vari modelli finali. Il risultato migliore si è intuitivamente ottenuto con l uso della multiquadrica di Hardy. In figura xx è mostrato come essa riesca ad adattare bene la mesh 3D al volto presente nelle foto. 38

40 3.4. Scelta della radial basis function Fig. 3.17: Fig. 3.18: 39

41 3.5. Algoritmo di deformazione 3.5 Algoritmo di deformazione L algoritmo utilizzato per il processo di deformazione del volto generico iniziale può essere concettualmente suddiviso in tre parti: costruzione del sistema di equazioni descritto nel paragrafo 3.3 risoluzione del sistema calcolo della funzione di interpolazione e applicazione ai vertici del modello La risoluzione del sistema avviene tramite la fattorizzazione LU che è descritta nell appendice B. Il costo computazionale per la risoluzione del sistema è O(n 3 ) dove n è il numero di FDP. Una volta determinati i coefficienti è necessario applicare la funzione di interpolazione su tutti i vertici del modello in modo tale da produrre la deformazione. Per determinare la nuova posizione di un vertice il costo è pari a O(n), per deformare l intera mesh il costo diventa quindi O(n m) dove m è il numero di vertici. Il costo complessivo dell intero processo di deformazione è quindi il massimo tra la fattorizzazione LU e la deformazione della mesh: max(o(n 3 ), O(n m)) in quanto n 2 può essere sia minore che maggiore di m a seconda del tipo di mesh da deformare. 40

42 Capitolo 4 Texturizzazione del volto Un volto umano può essere pensato come la combinazione di due elementi: una componente geometrica che ne definisce la forma e una componente texture che ne definisce l apparenza e aggiunge quel grado di dettaglio fondamentale per la caratterizzazione del volto. Nel processo di realizzazione del volto rappresentato nelle foto, la texturizzazione assume quindi un ruolo fondamentale: a differenza di ciò che accade per la deformazione, piccole imprecisioni, anche locali, possono influire negativamente sul grado di realismo finale. Nel precedente capitolo abbiamo visto come deformare la componente geometrica del source model affinché coincida con quella del volto presente nelle foto; in questo capitolo ci occuperemo invece di come ottenere la componente texture. Dato il modello 3D e dato un insieme di immagini prese da diversi punti di vista, il metodo che descriveremo si propone di costruire delle texture che integrino le informazioni di colore contenute nelle immagini d ingresso, ottimizzando la rappresentazione degli attributi di colore. Poiché in input si hanno varie foto del volto secondo diverse inquadrature, sorge il problema di come combinare le varie foto per generare le texture da mappare sul volto. Se le foto non presentano le medesime condizioni di illuminazione, il colore della pelle può differire notevolmente tra le varie immagini 41

43 4.1. Texture mapping e in tal caso si hanno sgradevoli effetti di discontinuità di colore sul volto finale laddove si è operata una combinazione tra le varie foto. E necessario quindi ideare un algoritmo adattivo che consenta di evitare il presentarsi di zone poco realistiche sul volto causate da differenti tonalità di colore tra le foto. La tecnica adottata a tale scopo è basata sul cube mapping; nei successivi paragrafi ne presenteremo le caratteristiche, i vantaggi rispetto alle tecniche tradizionali e mostreremo come il suo utilizza preveda una prima fase di generazione delle texture seguita da una fase di applicazione delle texture sul volto. 4.1 Texture mapping Il texture mapping è una delle tecniche più diffusa nella grafica 3D e trova grande applicazione in quei rami della computer graphics in cui il realismo è uno dei fattori predominanti. Esso permette di applicare un immagine sopra una superficie in modo da simulare un grado di dettaglio superiore a quello raggiungibile mediante la sola modellazione. Attraverso l utilizzo della texture si ottengono ottimi risultati in termini di realismo di una scena computerizzata, infatti l immagine applicatale ne varia le proprietà di superficie punto per punto, così da fornire un apparente livello di dettaglio che invece non è presente nella geometria della superficie. Ovviamente si tratta di una tecnica complessa che richiede una notevole potenza di elaborazione visto che le immagini vengono elaborate pixel per pixel. Il vantaggio del texture mapping è quello di elevare notevolmente il realismo della scena rappresentata, evitando di modellare e renderizzare tutti i dettagli tridimensionali di una superficie. Senza texture mapping la grafica risulta vuota e irrealistica. Il principio del Texture Mapping è poi alla base di tutta una serie di effetti come il Bump Mapping, il reflaction Mapping, le light map, le shadow map, nei quali la texture è usata per applicare proprietà alla 42

44 4.1. Texture mapping superficie e non banalmente colore. La sua applicazione prevede una prima fase di parametrizzazione della superficie: è necessario assegnare ad un punto P della superficie delle coordinate texture associate ai pixel (o texel) dell immagine rappresentante la texture. Il punto viene poi mappato dalla proiezione in un punto dello schermo (xs,ys). La figura 4.1 mostra l intero processo dal dominio texture allo spazio schermo. Una texture è un immagine che rappresenta la tessitura visiva della superficie Fig. 4.1: Processo di texturizzazione. e viene mappata sui poligoni che modellano gli oggetti della scena. Nel caso bidimensionale una texture è definita all interno del piano (u,v) chiamato spazio tessitura e le coordinate texture assumono generalmente valori tra 0 e 1; la posizione (0,0) indica l angolo in alto a destra nell immagine texture, la posizione (1,1) l angolo in basso a sinistra. Le coordinate texture sono usualmente specificate per ogni vertice di ogni poligono che compone l oggetto, definendo in tal modo un mapping tra il poligono della superficie e il poligono tessitura. Ad ogni vertice del poligono corrisponde un punto all interno dell immagine, per gli altri punti interni al poligono viene utilizzata l interpolazione lineare. La texture può essere applicata alla superficie dell oggetto con vari tipi di proiezione: planare, cubica, sferica e cilindrica. Il tipo più adatto viene scelto in base alla texture da proiettare ed alla forma dell oggetto su cui sarà proiettata. In tutti i casi il processo consiste nel definire la forma geometrica scelta( piano, cilindro, 43

45 4.2. Cube Map sfera o cubo) e nel proiettare su di essa i vertici dell oggetto, derivando le coordinate texture dalle coordinate del vertice. Ciascun tipo di mappatura produce diversi artefatti: la proiezione frontale è adatta nel caso in cui si voglia osservare la superficie da un particolare punto di vista; le proiezioni sferiche e cilindrica limitano la presenza di artefatti alle zone dei poli. Nel nostro lavoro di tesi focalizzeremo l attenzione sulla proiezione cubica di cui parleremo nel seguente paragrafo. 4.2 Cube Map La cube map è un particolare tipo di texture composta da sei immagini bidimensionali della stessa dimensione, rappresentanti le sei facce di un cubo centrato nell origine. Ogni texel del cubo rappresenta ciò che può essere visto dall origine verso quella direzione. Nella figura 4.2 è mostrato un esempio. Fig. 4.2: cube map Per determinare quale delle sei texture e quale texel associare ad ogni vertice, si utilizza una tripla di coordinate texture che rappresentano un vettore direzione 3D. Tale vettore può essere pensato come un raggio che viene emanato dal centro del cubo e raggiunge uno dei sei lati del cubo. La tecnica del cube mapping viene generalmente utilizzata per l environment mapping che permette effetti di riflessione molto realistici di un oggetto nella scena in cui si trova e consente quindi di dare l impressione che l oggetto 44

3DE Modeling Color. E il modulo che si occupa della costruzione di modelli 3D con tessitura a colori.

3DE Modeling Color. E il modulo che si occupa della costruzione di modelli 3D con tessitura a colori. 3DE Modeling Color E il modulo che si occupa della costruzione di modelli 3D con tessitura a colori. E spesso necessario che alle informazioni geometriche di forma siano abbinate informazioni di colore

Dettagli

Corrispondenze e funzioni

Corrispondenze e funzioni Corrispondenze e funzioni L attività fondamentale della mente umana consiste nello stabilire corrispondenze e relazioni tra oggetti; è anche per questo motivo che il concetto di corrispondenza è uno dei

Dettagli

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)

Dettagli

Processo di rendering

Processo di rendering Processo di rendering Trasformazioni di vista Trasformazioni di vista Il processo di visione in tre dimensioni Le trasformazioni di proiezione 2 Rendering nello spazio 2D Il processo di rendering (visualizzazione)

Dettagli

Capitolo 13: L offerta dell impresa e il surplus del produttore

Capitolo 13: L offerta dell impresa e il surplus del produttore Capitolo 13: L offerta dell impresa e il surplus del produttore 13.1: Introduzione L analisi dei due capitoli precedenti ha fornito tutti i concetti necessari per affrontare l argomento di questo capitolo:

Dettagli

Capitolo V : Il colore nelle immagini digitali

Capitolo V : Il colore nelle immagini digitali Capitolo V : Il colore nelle immagini digitali Lavorare con il colore nelle immagini digitali L uso dei colori nella visione computerizzata e nella computer grafica implica l incorrere in determinate problematiche

Dettagli

Testo Esercizio. Un modello è ragionevole quando contiene queste tre caratteristiche.

Testo Esercizio. Un modello è ragionevole quando contiene queste tre caratteristiche. Testo Esercizio Si consideri la realizzazione di un semplice programma grafico per il disegno di figure geometriche in due dimensioni. Si analizzino i requisiti e se ne rappresentino i risultati in UML

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

3D e Realtà Virtuale

3D e Realtà Virtuale 3D e Realtà Virtuale Modello 3D La costruzione di un modello 3D, così come la realizzazione di un plastico tradizionale, necessita di grande precisione e attenzione conoscitiva. Tale modello convoglia

Dettagli

Informatica per la comunicazione" - lezione 7 -

Informatica per la comunicazione - lezione 7 - Informatica per la comunicazione - lezione 7 - Campionamento La codifica dei suoni si basa sulla codifica delle onde che li producono, a sua volta basata su una procedura chiamata campionamento.! Il campionamento

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

Il concetto di valore medio in generale

Il concetto di valore medio in generale Il concetto di valore medio in generale Nella statistica descrittiva si distinguono solitamente due tipi di medie: - le medie analitiche, che soddisfano ad una condizione di invarianza e si calcolano tenendo

Dettagli

Project Cycle Management

Project Cycle Management Project Cycle Management Tre momenti centrali della fase di analisi: analisi dei problemi, analisi degli obiettivi e identificazione degli ambiti di intervento Il presente materiale didattico costituisce

Dettagli

~ Copyright Ripetizionando - All rights reserved ~ http://ripetizionando.wordpress.com STUDIO DI FUNZIONE

~ Copyright Ripetizionando - All rights reserved ~ http://ripetizionando.wordpress.com STUDIO DI FUNZIONE STUDIO DI FUNZIONE Passaggi fondamentali Per effettuare uno studio di funzione completo, che non lascia quindi margine a una quasi sicuramente errata inventiva, sono necessari i seguenti 7 passaggi: 1.

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

La distribuzione Normale. La distribuzione Normale

La distribuzione Normale. La distribuzione Normale La Distribuzione Normale o Gaussiana è la distribuzione più importante ed utilizzata in tutta la statistica La curva delle frequenze della distribuzione Normale ha una forma caratteristica, simile ad una

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

4 Dispense di Matematica per il biennio dell Istituto I.S.I.S. Gaetano Filangieri di Frattamaggiore EQUAZIONI FRATTE E SISTEMI DI EQUAZIONI

4 Dispense di Matematica per il biennio dell Istituto I.S.I.S. Gaetano Filangieri di Frattamaggiore EQUAZIONI FRATTE E SISTEMI DI EQUAZIONI 119 4 Dispense di Matematica per il biennio dell Istituto I.S.I.S. Gaetano Filangieri di Frattamaggiore EQUAZIONI FRATTE E SISTEMI DI EQUAZIONI Indice degli Argomenti: TEMA N. 1 : INSIEMI NUMERICI E CALCOLO

Dettagli

Guida all uso di Java Diagrammi ER

Guida all uso di Java Diagrammi ER Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con

Dettagli

3DE Modeling Professional

3DE Modeling Professional 3DE Modeling Professional 3DE Modeling Professional è la parte di 3DE Modeling Suite che si occupa della modellazione 3D automatica di oggetti ed edifici a partire da nuvole di punti ottenute con scanner

Dettagli

13. Campi vettoriali

13. Campi vettoriali 13. Campi vettoriali 1 Il campo di velocità di un fluido Il concetto di campo in fisica non è limitato ai fenomeni elettrici. In generale il valore di una grandezza fisica assegnato per ogni punto dello

Dettagli

Computer Graphics. La disciplina fornisce metodi per creare elaborare memorizzare visualizzare. immagini di oggetti o scene mediante un computer

Computer Graphics. La disciplina fornisce metodi per creare elaborare memorizzare visualizzare. immagini di oggetti o scene mediante un computer Computer Graphics La disciplina fornisce metodi per creare elaborare memorizzare visualizzare immagini di oggetti o scene mediante un computer Image Processing La disciplina fornisce metodi per acquisire

Dettagli

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da Data una funzione reale f di variabile reale x, definita su un sottoinsieme proprio D f di R (con questo voglio dire che il dominio di f è un sottoinsieme di R che non coincide con tutto R), ci si chiede

Dettagli

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

SCHEDA M MOSAICI CLASSIFICARE CON LA SIMMETRIA

SCHEDA M MOSAICI CLASSIFICARE CON LA SIMMETRIA SCHEDA M MOSAICI CLASSIFICARE CON LA SIMMETRIA Qui sotto avete una griglia, che rappresenta una normale quadrettatura, come quella dei quaderni a quadretti; nelle attività che seguono dovrete immaginare

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

Dettagli

LEZIONE: Pensiero Computazionale. Tempo della lezione: 45-60 Minuti. - Tempo di preparazione: 15 Minuti.

LEZIONE: Pensiero Computazionale. Tempo della lezione: 45-60 Minuti. - Tempo di preparazione: 15 Minuti. 3 LEZIONE: Pensiero Computazionale Tempo della lezione: 45-60 Minuti. - Tempo di preparazione: 15 Minuti. Obiettivo Principale: Introdurre il modello del Pensiero Computazionale come metodo per la risoluzione

Dettagli

Raccomandazione del Parlamento europeo 18/12/2006 CLASSE PRIMA COMPETENZE ABILITÀ CONOSCENZE. Operare con i numeri

Raccomandazione del Parlamento europeo 18/12/2006 CLASSE PRIMA COMPETENZE ABILITÀ CONOSCENZE. Operare con i numeri COMPETENZA CHIAVE MATEMATICA Fonte di legittimazione Raccomandazione del Parlamento europeo 18/12/2006 CLASSE PRIMA COMPETENZE ABILITÀ CONOSCENZE L alunno utilizza il calcolo scritto e mentale con i numeri

Dettagli

1. Distribuzioni campionarie

1. Distribuzioni campionarie Università degli Studi di Basilicata Facoltà di Economia Corso di Laurea in Economia Aziendale - a.a. 2012/2013 lezioni di statistica del 3 e 6 giugno 2013 - di Massimo Cristallo - 1. Distribuzioni campionarie

Dettagli

SPC e distribuzione normale con Access

SPC e distribuzione normale con Access SPC e distribuzione normale con Access In questo articolo esamineremo una applicazione Access per il calcolo e la rappresentazione grafica della distribuzione normale, collegata con tabelle di Clienti,

Dettagli

LE FUNZIONI A DUE VARIABILI

LE FUNZIONI A DUE VARIABILI Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre

Dettagli

ESTRAZIONE DI DATI 3D DA IMMAGINI DIGITALI. (Visione 3D)

ESTRAZIONE DI DATI 3D DA IMMAGINI DIGITALI. (Visione 3D) ESTRAZIONE DI DATI 3D DA IMMAGINI DIGITALI () Una immagine (digitale) permette di percepire solo una rappresentazione 2D del mondo La visione 3D si pone lo scopo di percepire il mondo per come è in 3 dimensioni

Dettagli

Matematica generale CTF

Matematica generale CTF Successioni numeriche 19 agosto 2015 Definizione di successione Monotonìa e limitatezza Forme indeterminate Successioni infinitesime Comportamento asintotico Criterio del rapporto per le successioni Definizione

Dettagli

Corso di. Dott.ssa Donatella Cocca

Corso di. Dott.ssa Donatella Cocca Corso di Statistica medica e applicata Dott.ssa Donatella Cocca 1 a Lezione Cos'è la statistica? Come in tutta la ricerca scientifica sperimentale, anche nelle scienze mediche e biologiche è indispensabile

Dettagli

Altri metodi di indicizzazione

Altri metodi di indicizzazione Organizzazione a indici su più livelli Altri metodi di indicizzazione Al crescere della dimensione del file l organizzazione sequenziale a indice diventa inefficiente: in lettura a causa del crescere del

Dettagli

Decorazione Piastrelle

Decorazione Piastrelle Materiali Materiali/Textures: Il programma comprende un'ampia raccolta di materiali suddivisi in diverse categorie ma è possibile incrementare la quantità di materiali tramite il comando di creazione materiale.

Dettagli

5.3 TABELLE 5.3.1 RECORD 5.3.1.1 Inserire, eliminare record in una tabella Aggiungere record Eliminare record

5.3 TABELLE 5.3.1 RECORD 5.3.1.1 Inserire, eliminare record in una tabella Aggiungere record Eliminare record 5.3 TABELLE In un sistema di database relazionali le tabelle rappresentano la struttura di partenza, che resta poi fondamentale per tutte le fasi del lavoro di creazione e di gestione del database. 5.3.1

Dettagli

Massimi e minimi vincolati di funzioni in due variabili

Massimi e minimi vincolati di funzioni in due variabili Massimi e minimi vincolati di funzioni in due variabili I risultati principali della teoria dell ottimizzazione, il Teorema di Fermat in due variabili e il Test dell hessiana, si applicano esclusivamente

Dettagli

Il controllo della visualizzazione

Il controllo della visualizzazione Capitolo 3 Il controllo della visualizzazione Per disegnare in modo preciso è necessario regolare continuamente l inquadratura in modo da vedere la parte di disegno che interessa. Saper utilizzare gli

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

2 Argomenti introduttivi e generali

2 Argomenti introduttivi e generali 1 Note Oltre agli esercizi di questa lista si consiglia di svolgere quelli segnalati o assegnati sul registro e genericamente quelli presentati dal libro come esercizio o come esempio sugli argomenti svolti

Dettagli

fit-up), cioè ai problemi che si verificano all atto dell assemblaggio quando non si riescono a montare i diversi componenti del prodotto o quando il

fit-up), cioè ai problemi che si verificano all atto dell assemblaggio quando non si riescono a montare i diversi componenti del prodotto o quando il Abstract Nel presente lavoro di tesi è stata analizzata l importanza che riveste l assemblaggio meccanico nelle diverse fasi del processo produttivo, centrando l attenzione sulle fasi di progettazione

Dettagli

Vademecum studio funzione

Vademecum studio funzione Vademecum studio funzione Campo di Esistenza di una funzione o dominio: Studiare una funzione significa determinare gli elementi caratteristici che ci permettono di disegnarne il grafico, a partire dalla

Dettagli

Capitolo 2. Operazione di limite

Capitolo 2. Operazione di limite Capitolo 2 Operazione di ite In questo capitolo vogliamo occuparci dell operazione di ite, strumento indispensabile per scoprire molte proprietà delle funzioni. D ora in avanti riguarderemo i domini A

Dettagli

HR - Sicurezza. Parma 17/12/2015

HR - Sicurezza. Parma 17/12/2015 HR - Sicurezza Parma 17/12/2015 FG Software Produce software gestionale da più di 10 anni Opera nel mondo del software qualità da 15 anni Sviluppa i propri software con un motore completamente proprietario

Dettagli

Rilevazione tramite Photoscan! Esempio applicativo

Rilevazione tramite Photoscan! Esempio applicativo Rilevazione tramite Photoscan Esempio applicativo Considerazioni generali Un quadro completo dell'elemento da rilevare con eventuali salti di quota, pendenze, punti di inaccessibilità, vegetazione ecc.

Dettagli

Slide Cerbara parte1 5. Le distribuzioni teoriche

Slide Cerbara parte1 5. Le distribuzioni teoriche Slide Cerbara parte1 5 Le distribuzioni teoriche I fenomeni biologici, demografici, sociali ed economici, che sono il principale oggetto della statistica, non sono retti da leggi matematiche. Però dalle

Dettagli

GIOCHI MATEMATICI PER LA SCUOLA SECONDARIA DI I GRADO ANNO SCOLASTICO 2011-2012

GIOCHI MATEMATICI PER LA SCUOLA SECONDARIA DI I GRADO ANNO SCOLASTICO 2011-2012 GIOCHI MATEMATICI PER LA SCUOLA SECONDARIA DI I GRADO ANNO SCOLASTICO 2011-2012 L unità di Milano Città Studi del Centro matematita propone anche per l a.s. 2011-2012 una serie di problemi pensati per

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

FUNZIONE. Si scrive: A B f: A B x y=f(x) (si legge: f funzione da A in B) x f y= f(x)

FUNZIONE. Si scrive: A B f: A B x y=f(x) (si legge: f funzione da A in B) x f y= f(x) 1 FUNZIONE Dati gli insiemi A e B, si definisce funzione da A in B una relazione o legge o corrispondenza che ad ogni elemento di A associa uno ed un solo elemento di B. Si scrive: A B f: A B f() (si legge:

Dettagli

Ottimizzazione Multi Obiettivo

Ottimizzazione Multi Obiettivo Ottimizzazione Multi Obiettivo 1 Ottimizzazione Multi Obiettivo I problemi affrontati fino ad ora erano caratterizzati da una unica (e ben definita) funzione obiettivo. I problemi di ottimizzazione reali

Dettagli

Il campionamento. La digitalizzazione. Teoria e pratica. La rappresentazione digitale delle immagini. La rappresentazione digitale delle immagini

Il campionamento. La digitalizzazione. Teoria e pratica. La rappresentazione digitale delle immagini. La rappresentazione digitale delle immagini ACQUISIZIONE ED ELABORAZIONE DELLE IMMAGINI Teoria e pratica La digitalizzazione La digitalizzazione di oggetti legati a fenomeni di tipo analogico, avviene attraverso due parametri fondamentali: Il numero

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

Anno 4 Grafico di funzione

Anno 4 Grafico di funzione Anno 4 Grafico di funzione Introduzione In questa lezione impareremo a disegnare il grafico di una funzione reale. Per fare ciò è necessario studiare alcune caratteristiche salienti della funzione che

Dettagli

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni

Dettagli

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali PowerPoint Come costruire una presentazione PowerPoint 1 Introduzione! PowerPoint è uno degli strumenti presenti nella suite Office di Microsoft! PowerPoint permette la realizzazione di presentazioni video

Dettagli

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere. UML e i Casi d USO I casi d uso specificano una sequenza di azioni che producono un risultato visibile agli attori del sistema. Essi nascono per fornire descrizioni delle capacità del sistema. I casi d

Dettagli

Proposta di soluzione della prova di matematica Liceo scientifico di Ordinamento - 2014

Proposta di soluzione della prova di matematica Liceo scientifico di Ordinamento - 2014 Proposta di soluzione della prova di matematica Liceo scientifico di Ordinamento - 14 Problema 1 Punto a) Osserviamo che g (x) = f(x) e pertanto g () = f() = in quanto Γ è tangente all asse delle ascisse,

Dettagli

e-dva - eni-depth Velocity Analysis

e-dva - eni-depth Velocity Analysis Lo scopo dell Analisi di Velocità di Migrazione (MVA) è quello di ottenere un modello della velocità nel sottosuolo che abbia dei tempi di riflessione compatibili con quelli osservati nei dati. Ciò significa

Dettagli

Novità di Access 2010

Novità di Access 2010 2 Novità di Access 2010 In questo capitolo: Gestire le impostazioni e i file di Access nella visualizzazione Backstage Personalizzare l interfaccia utente di Access 2010 Creare database utilizzando modelli

Dettagli

ISTITUTO COMPRENSIVO MONTEGROTTO TERME SCUOLA PRIMARIA DISCIPLINA: MATEMATICA - CLASSE PRIMA OBIETTIVI DI APPRENDIMENTO

ISTITUTO COMPRENSIVO MONTEGROTTO TERME SCUOLA PRIMARIA DISCIPLINA: MATEMATICA - CLASSE PRIMA OBIETTIVI DI APPRENDIMENTO PRIMA DELLA DISCIPLINA: MATEMATICA - CLASSE PRIMA L alunno si muove con sicurezza nel calcolo scritto e mentale con i numeri naturali. Legge e comprende testi che coinvolgono aspetti logici e matematici.

Dettagli

DATABASE. A cura di Massimiliano Buschi

DATABASE. A cura di Massimiliano Buschi DATABASE A cura di Massimiliano Buschi Introduzione Con Microsoft Access: Immissione dati e interrogazione Interfaccia per applicazioni e report Ma prima bisogna definire alcune conoscenze di base sui

Dettagli

10 - CURVE DI LIVELLO

10 - CURVE DI LIVELLO 10 - CURVE DI LIVELLO La rappresentazione del territorio mediante CURVE DI LIVELLO è stata da sempre la soluzione ideale adottata dai topografi al fine di visualizzare in maniera efficace l andamento orografico

Dettagli

Al giorno d oggi, i sistemi per la gestione di database

Al giorno d oggi, i sistemi per la gestione di database Introduzione Al giorno d oggi, i sistemi per la gestione di database implementano un linguaggio standard chiamato SQL (Structured Query Language). Fra le altre cose, il linguaggio SQL consente di prelevare,

Dettagli

Sistemi Informativi Territoriali. Map Algebra

Sistemi Informativi Territoriali. Map Algebra Paolo Mogorovich Sistemi Informativi Territoriali Appunti dalle lezioni Map Algebra Cod.735 - Vers.E57 1 Definizione di Map Algebra 2 Operatori locali 3 Operatori zonali 4 Operatori focali 5 Operatori

Dettagli

ColorSplitter. La separazione automatica dei colori di Colibri.. Perché ColorSplitter? Come opera ColorSplitter?

ColorSplitter. La separazione automatica dei colori di Colibri.. Perché ColorSplitter? Come opera ColorSplitter? ColorSplitter La separazione automatica dei colori di Colibri.. ColorSplitter è una nuova funzionalità aggiunta a Colibri, che permette di elaborare un immagine trasformandola in una separata in canali

Dettagli

IDENTIFICAZIONE DEI BISOGNI DEL CLIENTE

IDENTIFICAZIONE DEI BISOGNI DEL CLIENTE IDENTIFICAZIONE DEI BISOGNI DEL CLIENTE 51 Dichiarazione d intenti (mission statement) La dichiarazione d intenti ha il compito di stabilire degli obiettivi dal punto di vista del mercato, e in parte dal

Dettagli

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video Video Librerie digitali Gestione di video Ogni filmato è composto da più parti Video Audio Gestito come visto in precedenza Trascrizione del testo, identificazione di informazioni di interesse Testo Utile

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

Per capire meglio l ambito di applicazione di un DWhouse consideriamo la piramide di Anthony, L. Direzionale. L. Manageriale. L.

Per capire meglio l ambito di applicazione di un DWhouse consideriamo la piramide di Anthony, L. Direzionale. L. Manageriale. L. DATA WAREHOUSE Un Dataware House può essere definito come una base di dati di database. In molte aziende ad esempio ci potrebbero essere molti DB, per effettuare ricerche di diverso tipo, in funzione del

Dettagli

Forze come grandezze vettoriali

Forze come grandezze vettoriali Forze come grandezze vettoriali L. Paolucci 23 novembre 2010 Sommario Esercizi e problemi risolti. Per la classe prima. Anno Scolastico 2010/11 Parte 1 / versione 2 Si ricordi che la risultante di due

Dettagli

Le strumentazioni laser scanning oriented per i processi di censimento anagrafico dei patrimoni

Le strumentazioni laser scanning oriented per i processi di censimento anagrafico dei patrimoni CONVEGNO FACILITY MANAGEMENT: LA GESTIONE INTEGRATA DEI PATRIMONI PUBBLICI GENOVA FACOLTA DI ARCHITETTURA 06.07.2010 Le strumentazioni laser scanning oriented per i processi di censimento anagrafico dei

Dettagli

Animazioni 3D. Informatica Grafica I. Le basi dell'animazione 3D. Le basi dell'animazione 3D. Le basi dell'animazione 3D. Le basi dell'animazione 3D

Animazioni 3D. Informatica Grafica I. Le basi dell'animazione 3D. Le basi dell'animazione 3D. Le basi dell'animazione 3D. Le basi dell'animazione 3D Informatica Grafica I Marco Gribaudo marcog@di.unito.it Animazioni 3D L'animazione 3D si basa sugli stessi principi dell'animazione tradizionale. Il filmato viene realizzato attraverso una sequenza di

Dettagli

Raggruppamenti Conti Movimenti

Raggruppamenti Conti Movimenti ESERCITAZIONE PIANO DEI CONTI Vogliamo creare un programma che ci permetta di gestire, in un DB, il Piano dei conti di un azienda. Nel corso della gestione d esercizio, si potranno registrare gli articoli

Dettagli

ARCHITETTURA. Rubrica Infografica

ARCHITETTURA. Rubrica Infografica RICOSTRUZIONE/Empler 26-07-2007 13:06 Pagina 47 PROGETTARE ARCHITETTURA Tommaso Empler* Rubrica Infografica Ricostruzione infografica di una situazione ambientale urbana Dopo aver illustrato le procedure

Dettagli

Un gioco con tre dadi

Un gioco con tre dadi Un gioco con tre dadi Livello scolare: biennio Abilità interessate Costruire lo spazio degli eventi in casi semplici e determinarne la cardinalità. Valutare la probabilità in diversi contesti problematici.

Dettagli

1 Serie di Taylor di una funzione

1 Serie di Taylor di una funzione Analisi Matematica 2 CORSO DI STUDI IN SMID CORSO DI ANALISI MATEMATICA 2 CAPITOLO 7 SERIE E POLINOMI DI TAYLOR Serie di Taylor di una funzione. Definizione di serie di Taylor Sia f(x) una funzione definita

Dettagli

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE LE SUCCESSIONI 1. COS E UNA SUCCESSIONE La sequenza costituisce un esempio di SUCCESSIONE. Ecco un altro esempio di successione: Una successione è dunque una sequenza infinita di numeri reali (ma potrebbe

Dettagli

Prof.ssa Paola Vicard

Prof.ssa Paola Vicard Questa nota consiste perlopiù nella traduzione (con alcune integrazioni) da Descriptive statistics di J. Shalliker e C. Ricketts, 2000, University of Plymouth Consideriamo i dati nel file esercizio10_dati.xls.

Dettagli

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione SISTEMI INFORMATIVI AVANZATI -2010/2011 1 Introduzione In queste dispense, dopo aver riportato una sintesi del concetto di Dipendenza Funzionale e di Normalizzazione estratti dal libro Progetto di Basi

Dettagli

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma

Dettagli

Capitolo 25: Lo scambio nel mercato delle assicurazioni

Capitolo 25: Lo scambio nel mercato delle assicurazioni Capitolo 25: Lo scambio nel mercato delle assicurazioni 25.1: Introduzione In questo capitolo la teoria economica discussa nei capitoli 23 e 24 viene applicata all analisi dello scambio del rischio nel

Dettagli

LA GRAFICA E LA GEOMETRIA OPERATIVA

LA GRAFICA E LA GEOMETRIA OPERATIVA LA GRAFICA E LA GEOMETRIA OPERATIVA La geometria operativa, contrariamente a quella descrittiva basata sulle regole per la rappresentazione delle forme geometriche, prende in considerazione lo spazio racchiuso

Dettagli

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati Informatica 3 Informatica 3 LEZIONE 10: Introduzione agli algoritmi e alle strutture dati Modulo 1: Perchè studiare algoritmi e strutture dati Modulo 2: Definizioni di base Lezione 10 - Modulo 1 Perchè

Dettagli

ELABORAZIONE DI DATI TRIDIMENSIONALI - RELAZIONE HOMEWORK 2

ELABORAZIONE DI DATI TRIDIMENSIONALI - RELAZIONE HOMEWORK 2 DAVIDE ZANIN 1035601 ELABORAZIONE DI DATI TRIDIMENSIONALI - RELAZIONE HOMEWORK 2 SOMMARIO Elaborazione di dati tridimensionali - Relazione Homework 2... 1 Obiettivo... 2 Descrizione della procedura seguita...

Dettagli

Valutazione dei Ruoli

Valutazione dei Ruoli Valutazione dei Ruoli 1 Cos è la valutazione dei ruoli 3 2 Gli obiettivi del sistema di valutazione dei ruoli 3 3 I vantaggi del sistema di valutazione dei ruoli 4 4 Gli elementi del Metodo Hay Group Guide

Dettagli

Un ripasso di aritmetica: Rappresentazione binaria - operazioni. riporti

Un ripasso di aritmetica: Rappresentazione binaria - operazioni. riporti Un ripasso di aritmetica: Rappresentazione binaria - operazioni A queste rappresentazioni si possono applicare le operazioni aritmetiche: riporti 1 1 0 + 1 0 = 1 0 0 24 Un ripasso di aritmetica: Rappresentazione

Dettagli

Metodi Stocastici per la Finanza

Metodi Stocastici per la Finanza Metodi Stocastici per la Finanza Tiziano Vargiolu vargiolu@math.unipd.it 1 1 Università degli Studi di Padova Anno Accademico 2011-2012 Lezione 6 Indice 1 Il metodo bootstrap 2 Esercitazione 3 Interpolazione

Dettagli

Matematica 1 - Corso di Laurea in Ingegneria Meccanica

Matematica 1 - Corso di Laurea in Ingegneria Meccanica Matematica 1 - Corso di Laurea in Ingegneria Meccanica Esercitazione su massimi e minimi vincolati 9 dicembre 005 Esercizio 1. Considerare l insieme C = {(x,y) R : (x + y ) = x } e dire se è una curva

Dettagli

Strumenti e metodi per la redazione della carta del pericolo da fenomeni torrentizi

Strumenti e metodi per la redazione della carta del pericolo da fenomeni torrentizi Versione 2.0 Strumenti e metodi per la redazione della carta del pericolo da fenomeni torrentizi Corso anno 2011 E. MANUALE UTILIZZO HAZARD MAPPER Il programma Hazard Mapper è stato realizzato per redarre,

Dettagli

Equilibrio bayesiano perfetto. Giochi di segnalazione

Equilibrio bayesiano perfetto. Giochi di segnalazione Equilibrio bayesiano perfetto. Giochi di segnalazione Appunti a cura di Stefano Moretti, Silvia VILLA e Fioravante PATRONE versione del 26 maggio 2006 Indice 1 Equilibrio bayesiano perfetto 2 2 Giochi

Dettagli

Sistema di diagnosi CAR TEST

Sistema di diagnosi CAR TEST Data: 30/09/09 1 di 7 Sistema di diagnosi CAR TEST Il sistema di diagnosi CAR TEST venne convenientemente utilizzato per: - verificare che la scocca di un veicolo sia dimensionalmente conforme ai disegni

Dettagli

( x) ( x) 0. Equazioni irrazionali

( x) ( x) 0. Equazioni irrazionali Equazioni irrazionali Definizione: si definisce equazione irrazionale un equazione in cui compaiono uno o più radicali contenenti l incognita. Esempio 7 Ricordiamo quanto visto sulle condizioni di esistenza

Dettagli

Introduzione all analisi dei segnali digitali.

Introduzione all analisi dei segnali digitali. Introduzione all analisi dei segnali digitali. Lezioni per il corso di Laboratorio di Fisica IV Isidoro Ferrante A.A. 2001/2002 1 Segnali analogici Si dice segnale la variazione di una qualsiasi grandezza

Dettagli

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico MANUALE MOODLE STUDENTI Accesso al Materiale Didattico 1 INDICE 1. INTRODUZIONE ALLA PIATTAFORMA MOODLE... 3 1.1. Corso Moodle... 4 2. ACCESSO ALLA PIATTAFORMA... 7 2.1. Accesso diretto alla piattaforma...

Dettagli

Rappresentazione grafica di entità e attributi

Rappresentazione grafica di entità e attributi PROGETTAZIONE CONCETTUALE La progettazione concettuale, ha il compito di costruire e definire una rappresentazione corretta e completa della realtà di interesse, e il prodotto di tale attività, è lo schema

Dettagli

Probabilità condizionata: p(a/b) che avvenga A, una volta accaduto B. Evento prodotto: Evento in cui si verifica sia A che B ; p(a&b) = p(a) x p(b/a)

Probabilità condizionata: p(a/b) che avvenga A, una volta accaduto B. Evento prodotto: Evento in cui si verifica sia A che B ; p(a&b) = p(a) x p(b/a) Probabilità condizionata: p(a/b) che avvenga A, una volta accaduto B Eventi indipendenti: un evento non influenza l altro Eventi disgiunti: il verificarsi di un evento esclude l altro Evento prodotto:

Dettagli

Capitolo 4: Ottimizzazione non lineare non vincolata parte II. E. Amaldi DEIB, Politecnico di Milano

Capitolo 4: Ottimizzazione non lineare non vincolata parte II. E. Amaldi DEIB, Politecnico di Milano Capitolo 4: Ottimizzazione non lineare non vincolata parte II E. Amaldi DEIB, Politecnico di Milano 4.3 Algoritmi iterativi e convergenza Programma non lineare (PNL): min f(x) s.v. g i (x) 0 1 i m x S

Dettagli