• Non ci sono risultati.

Progettazione e sviluppo di un modulo software per la creazione e manipolazione di animazioni facciali realistiche in Virtual Human conversazionali

N/A
N/A
Protected

Academic year: 2021

Condividi "Progettazione e sviluppo di un modulo software per la creazione e manipolazione di animazioni facciali realistiche in Virtual Human conversazionali"

Copied!
107
0
0

Testo completo

(1)

1

Corso di Laurea in Informatica Umanistica

RELAZIONE

Progettazione e sviluppo di un modulo software

per la creazione e manipolazione di animazioni

facciali realistiche in Virtual Human

conversazionali

Candidato: Evelina Caruso

Relatore: Marcello Carrozzino

(2)
(3)

3

Sommario

1 INTRODUZIONE ... 5 2 STATO DELL’ARTE ... 11 2.1 VIRTUAL HUMAN ... 11 2.1.1 Virtual Agent ... 14 2.1.2 Avatar ... 17 2.2 UNCANNY VALLEY ... 19

2.3 COMUNICAZIONE NON VERBALE ... 24

2.4 IL VISO: RENDERING E ANIMAZIONE ... 25

2.4.1 Acquisizione e rendering ... 25 2.4.2 Tool di modellazione ... 27 2.4.3 Animazione ... 28 2.5LIP-SYNC ... 32 3 ARCHITETTURA ... 40 3.1 Tools ... 40 3.2 Applicazione: architettura ... 55 4 IMPLEMENTAZIONE ... 61 4.1 APPLICAZIONE: IMPLEMENTAZIONE ... 61

4.1.2 implementazione del modulo TTS: il metodo PlayAvatarWithText ... 62

4.1.2 Implementazione del modulo di esecuzione di un audio pre-caricato: il metodo PlayAvatarWithAudio ... 73

4.1.3 Implementazione del modulo VoiceStream: i metodi PlayAvatarWithAudioStream e StopAvatarWithAudioStream ... 75

4.2CREAZIONE DELLE ANIMAZIONI E PREPARAZIONE DELL’AVATAR ... 78

4.2.1 Creazione delle animazioni ... 78

4.2.2 Preparazione dell’avatar ... 81

4.2.3 Confronto delle performance ... 83

(4)

4

5.1 CONTROLLO DELLE FUNZIONALITÀ DELL’APPLICAZIONE ... 88

5.1.1 Interfaccia di controllo: modulo TTS ... 88

5.1.2 Interfaccia di controllo: modulo di esecuzione di un audio pre-caricato ... 92

5.1.3 Interfaccia di controllo: modulo di esecuzione di AudioStream ... 96

6 CONFRONTO, SAPI LIPSYNC E ESPEAK ... 97

6.1 QUALITÀ E QUANTITÀ DELLE VOCI ... 98

6.2 PORTABILITÀ DEL SOFTWARE ... 99

6.3 FUNZIONAMENTO ... 100

6.4 RELATIVA DOCUMENTAZIONE ... 101

7 CONCLUSIONI ... 102

8 BIBLIOGRAFIA ... 104

9 SITOGRAFIA ... 105

(5)

5

1 INTRODUZIONE

La nascita del concetto di realtà virtuale è probabilmente dovuta alla letteratura fantascientifica. Questa, molto prima che lo stesso concetto di ambiente o realtà virtuale esistesse effettivamente, ne ha immaginato la forma e le potenzialità.

L’origine del termine, per quanto possa apparire strano, non è recente come potrebbe sembrare: la prima volta venne usato in un piccolo racconto di

Stanley Grauman Weinbaum intitolato “Pigmalion’s Spectacles”1, del 1935. Nel

racconto il protagonista incontra un professore che ha inventato una sorta di visore (degli occhiali chiamati, appunto, Spectacles), che permette di vedere un film attraverso tutti e cinque i sensi. L’immersione è totale: il protagonista può addirittura parlare e avere interazioni complesse con i personaggi del film. La filosofia del racconto è già al quanto matrixiana in quanto il protagonista viene introdotto a questo tipo di tecnologia con un discorso che lo porta a domandarsi cosa sia effettivamente la realtà stessa:

"Hah! But sensations are mental phenomena. They exist in our minds. How, then, do we know that the objects themselves do not exist only in our minds?" He waved again at the light-flecked buildings. "You do not see that wall of masonry; you perceive only a sensation, a feeling of sight. The rest you interpret."2

“Pigmalion’s Spectacles” passò al quanto in sordina nel panorama letterario, cosa che viene conclamata dal fatto che non fu mai tradotto. Ciò permise a un altro autore di venire effettivamente considerato come il primo a

1 (Weinbaum 1935).

(6)

6 concettualizzare il significato di realtà virtuale: nel libro “Il teatro e il suo doppio”3 di Antonin Artaud del 1938, l’autore considera “realtà virtuale” lo

spazio in cui avviene un’azione teatrale per differenziarla dalla vita vissuta. La scenografia, i personaggi e le azioni compiute da questi all’interno di uno spazio scenico vengono considerate come appartenenti a una sorta di realtà

alternativa (da lui definita virtuale), che si contrappone alla vera realtà.

Si può immediatamente notare come i concetti appaiano differenti, portando però a una conclusione univoca: la realtà virtuale è una dimensione in cui la mente umana riesce a considerare ciò che la circonda come qualcosa di assolutamente plausibile, tanto da portare i protagonisti di questa esperienza ad agire e interagire con il mondo in cui sono immersi attraverso gesti assolutamente naturali.

I due appena descritti sono i testi con cui, si presuppone, sia nato il concetto seppur primordiale, di realtà virtuale, che divenne effettivamente celebre con testi e autori successivi come P. K. Dick, in particolare con “Ubik”4 (1969), e

Gibson con la “trilogia dello Sprawl”5 (1984-88) in cui crea la dimensione del

Cyberspazio.

La fantascienza ha sicuramente creato aspettative e grandi curiosità nei confronti della realtà virtuale, probabilmente tanto da spingere scienziati e studiosi a trovare delle soluzioni per poterla ricreare.

3 (Artaud 1938).

4 (Dick 1969). 5 (Gibson 1984-88).

(7)

7 Tra le prime invenzioni in questo campo si ricordano “Sensorama” di Morton

Heiling (1956)6 e la “Spada di Damocle” di Ivan Sutherland nel 19697.

Con la nascita di reali sistemi per la realtà virtuale sono emerse diverse definizioni che ne hanno permesso lo sviluppo per come la si intende oggi. Queste, difficilmente sintetizzabili in un’unica grande soluzione, hanno tutte qualcosa in comune: la creazione di un ambiente immersivo tramite computer, che reagisca interattivamente alle azioni dell’utente, la cui interazione, a sua volta, dovrebbe essere il più naturale possibile.

Oggi la realtà virtuale, o VR, è impiegata con successo in diversi campi, anche non immediatamente collegabili al settore scientifico-informatico. In archeologia, o in generale nel settore dei beni culturali, è diventata quasi uno standard per quanto riguarda la ricostruzione, lo studio dei reperti e la creazione di visite e musei virtuali. Ad esempio, il “Museo delle Pure Forme”, progettato dal laboratorio PERCRO della Scuola Superiore Sant’Anna il quale per di più propone delle innovative soluzioni basate su un sistema aptico, permettendo a non-vedenti e ipovedenti di tornare a godere dell’opera d’arte

6 Simulatore passivo di motociclo: Il sedile e il manubrio potevano vibrare e lo schermo visualizzava un filmato stereoscopico realizzato nel traffico di Manhattan. Anche il vento era replicato, ad una velocità proporzionale a quella del proprio movimento. Perfino gli odori dei gas di scarico venivano presentati nei momenti appropriati. (http://percro.sssup.it/marcello/didattica/ s.d.)

7 Le immagini erano proiettate due minuscoli monitor, uno per occhio, montati su un dispositivo sospeso al soffitto e fissato alla testa dell’utente. I movimenti della testa erano rilevati dal dispositivo e inviati al computer che generava la corretta prospettiva. Ivi.

(8)

8 sfruttando i nuovi canali sensoriali messi a disposizione dei visitatori. La scuola Normale Superiore propone invece una visita interattiva dell’agorà di Segesta, in cui è possibile consultare fruire della grande quantità di dati raccolta durante il lavoro su campo. In entrambi casi l’utente si troverà in un ambiente assolutamente immersivo grazie all’utilizzo del CAVE (Cave Automatic Virtual Environment), un ambiente per la realtà virtuale immersiva. È costituito da una stanza a forma di cubo, e dei proiettori video diretti tra tre e sei delle facce. Il nome è anche un riferimento al Mito della caverna di Platone, dove il filosofo contemplava la percezione, la realtà e l'illusione.

In medicina oggi si può parlare di Cybertherapy: per mezzo di strumenti come CAVE e visori è possibile condurre delle vere e proprie terapie, principalmente per quanto riguarda l’ambito psicologico-riabilitativo. Particolarmente positivi sono i risultati ottenuti dalla sperimentazione su pazienti anziani o afflitti da Parkinson8.

Sicuramente uno dei settori che ha maggiormente stimolato la ricerca in questo ambito è quello dell’intrattenimento, in particolare quello videoludico. La ricerca di mezzi per creare software con una grafica sempre più realistica e ottimizzati in maniera tale da renderli accessibili alla massa, ha fatto sì che in un paio di decenni si è arrivati a risultati eccezionali e in molti casi assolutamente fotorealistici. Tutto ciò è stato possibile grazie all’utilizzo di sistemi caratterizzati da una grande flessibilità come ad esempio shaders

programmabili, texture map e algoritmi di illuminazione globale come ray tracing

e photon mapping.

8 Walking in fully immersive virtual environments: an evaluation of potential adverse effects in older adults and individuals with Parkinson’s disease (Kim 2017).

(9)

9 Nel processo di ideazione e creazione di ambiente virtuali realistici, e ancor di più in quelli immersivi, un ruolo fondamentale è sicuramente quello dei

Virtual Human, o VH.

La simulazione di un ambiente reale non può che giovare della presenza di figure umane, le quali rendono l’esperienza più naturale e verosimile. Il crescente livello di realismo nel campo dell’interazione multimediale rende sempre più necessario lo sviluppo di sistemi che permettano di integrare dei VH di altissima qualità in giochi, programmi di simulazione, animazione cinematografica e molto altro.

Ad oggi è possibile notare che i campi che maggiormente richiedono, e potrebbero richiedere in futuro, l’integrazione di questo tipo di tecnologia sono diversi:

• Attori virtuali (principalmente nel campo del gaming) • Manichini per studi ergonomici e nell’industria della moda • Training per task fisici e tecnici

• Perfezionamento di abilità sociali • Simulazione medica

• Narrazione interattiva

• Nuove metafore nell’ambito della HCI9

• Avatar per ambienti condivisi • Scopi didattici

Nel libro di Clifford Nass e Scott Brave “Wired for Speech, How Voice Activates and Advance Human-Computer Relationship”10 gli autori si soffermano nel

9 Human Computer Interface 10 (Nass e Brave 2005).

(10)

10 discutere dell’uso dei Virtual Humans come possibili mediatori dell’esperienza uomo-macchina. In una sezione del loro studio viene posto un accento particolare sulla realizzazione del VH e soprattutto sulla sincronizzazione della locuzione con il labiale, poiché è stato stabilito che un VH con un labiale verosimile e sincronizzato con il parlato, agevolerebbe la comprensione dello stesso, evitando frustrazione nell’utente.

Tutto ciò viene considerato nel sopracitato studio in vista di un possibile utilizzo di questi VH come effettivi “insegnanti” di lingua.

Dati gli ambiti applicativi di realtà virtuale di cui si è appena fatta una disamina, tale punto di vista potrebbe essere esteso al fine di includere l’utilizzo di VH, oltre che nell’insegnamento, anche in molti altri contesti legati al campo umanistico. Alcuni esempi potrebbero essere quelli che vedono applicazioni legate a VH come possibili guide di musei e galleria virtuali, assistenti per la fruizione di contenuti e molto altro. La possibilità di integrare tale tecnologia in moltissime piattaforme, tra cui anche smartphone, sia come

desktop application, installabili sul proprio dispositivo, che come web application,

dunque liberamente fruibili tramite web, rende assolutamente illimitato il potenziale dei VH.

La loro presenza in tali ipotetiche applicazioni servirebbe a rendere più intuitivo l’utilizzo delle stesse, proponendo metafore di interazione sempre più comuni e abituali per l’utente.

Si pensi alla possibilità, ormai assolutamente attuale, di poter interagire con VH utilizzando unicamente la propria voce. L’eventualità di interagire con un sistema vocale legato a un volto umano, generico o personalizzabile, aiuterebbe la fruizione di tali sistemi semplicemente riproponendo una situazione che l’utente riterrebbe del tutto familiare. Questo, non solo ridurrebbe la frustrazione che spesso sopraggiunge nel tentare di

(11)

11 comprendere le modalità di utilizzo di un’applicazione, ma ne incoraggerebbe anche la fruizione.11

Il lavoro che si vuole proporre in questa sede riguarda proprio la costruzione di un modulo software che possa costituire un punto di partenza per l’integrazione di Avatar e VA in ambienti virtuali e di gestirne al meglio le funzioni conversazionali sincronizzando le animazioni facciali dei visemi ai

fonemi emessi. L’applicazione, realizzata tramite all’ambiente di sviluppo

offerto dal game engine Unity, rende possibile scegliere la riproduzione di un testo pre-registrato, la creazione di un testo ex novo grazie all’utilizzo di un di sistema text-to-speech (TTS), in fine animare il volto anche tramite l’utilizzo di un flusso di dati generato in tempo reale grazie all’utilizzo dei microfoni. Come risultato è stato in fine prodotto un plug in integrabile in altre applicazioni.

Verrà inoltre affrontato un confronto tra i due strumenti utilizzati per la realizzazione del sistema TTS in termine di performance e di usabilità.

2 STATO DELL’ARTE

2.1 Virtual Human

I VH sono delle rappresentazioni 3D di forma umanoide che possono essere impiegati in un ampio numero di applicazioni.

I miglioramenti nel rendering, sempre più fotorealistico, nelle schede grafiche, nella velocità dei processori, hanno fatto in modo di rendere l’uso

(12)

12 dei VH sempre più comune e diffuso. Come si è già accennato, l’uso dei VH può essere utile in attività come fruizione di contenuti relativi all’archeologia, beni culturali, arte e storia, insegnamento, training tecnici, miglioramento di abilità sociali e comunicative (come parlare in pubblico), attività di telepresenza12, simulazioni e in generale per migliorare interfacce e l’esperienza in ambienti virtuali13.

Inoltre, umanizzare contenuti e applicazioni tramite VH, donandogli una sorta di personalità e un volto è una vera e propria tecnica di marketing. A questo proposito può essere citata la stessa Unity Technologies, azienda sviluppatrice di Unity, che nel Dicembre 2013 ha creato un personaggio da associare all’engine chiamato Unity-chan.

Uno degli ambienti più curiosi e allo stesso tempo di successo nei quali vengono utilizzati i VH è il settore musicale, con il software Vocaloid14.

Vocaloid è un sintetizzatore software sviluppato dalla Yamaha Corporation che permette di sintetizzare la voce, semplicemente immettendo il testo e la melodia di una canzone. Questo utilizza un'interfaccia piano roll in cui si possono inserire le note congiunte alle sillabe. Il successo e l’apprezzamento raggiunto da un software del genere è sicuramente in parte dovuto alla curiosità con la quale un possibile utente si approccia a tale tecnologia.

Quello che però ha conquistato il pubblico è l’aspetto che è stato donato a ai vari Vocaloid: le voci sono state associate a dei VH umanoidi con sembianze cartoonesche, con un lip-sync e delle movenze davvero

12 Per telepresenza si intende essenzialmente un qualche tipo di presenza di un individuo in un luogo fisicamente distante dalla propria posizione nello spazio (Schloerb 1995).

13 (Zanabaca, Goolkaisian e Hodges 2006) p 1153. 14 (http://www.vocaloid.com/en/ s.d.).

(13)

13 realistiche. Il successo di tale tecnologia è attestato dal fatto che diversi Vocaloid tengono dei veri e propri concerti in cui si esibiscono live, grazie a un sistema di luci che permette di proiettarli sul palco in tre dimensioni.

Figura 1 Hatsune Miku, uno dei più celebri Vocaloid

Il termine Virtual Human in realtà è molto generico e racchiude principalmente due sottocategorie ben distinte tra loro. Questi sono classificati in base all’intelligenza di cui sono dotati: i virtual agent, VA, sono definiti come entità capaci di agire, spesso sono muniti di un’intelligenza

artificiale, il che rende superflua l’azione dell’utente. Quest’ultimo, in tale

circostanza, potrà unicamente relazionarsi con il VH: tale dinamica è studiata nel campo del HCI, ovvero Human-Computer Interaction. Un avatar, al contrario, è la rappresentazione digitale di un essere umano, completamente controllata dall’utente che ne fa uso. Tale rapporto può

(14)

14 dunque essere analizzato secondo le logiche della CMC o Computer

Mediated Comunication15.

2.1.1 Virtual Agent

Gli agenti fanno parte di una categoria di VH completamente guidati da un computer e possono essere distinti in base a quanto è sofisticata la loro intelligenza. Si può passare da agenti che presentano un semplice comportamento pre-scriptato ad altri che possono muoversi autonomamente in ambienti virtuali. Alcuni di questi possono avere features multisensoriali e multipercettive autonome tali da permettergli di influenzare l’AV in cui sono immersi. Tutto ciò è possibile grazie alle Behavioral Animation, che possono rendere l’agente autonomo e capace di reagire al proprio AV proprio grazie alle capacità appena citate.

In questi casi si potrebbe dunque parlare di una sorta di intelligenza, dato che questa può essere considerata come la mera capacità di pianificare e portare a termini i propri compiti nel contesto di cui si fa parte16. Effettivamente, nel

particolare caso dei VA, la capacità di simulare il comportamento umano è cruciale, in quanto il loro utilizzo mira a popolare e rendere il più verosimili possibile gli ambienti costruiti artificialmente.

Il rendering e l’animazione dei VA oggi ha raggiunto dei picchi di fotorealismo e verosimiglianza, soprattutto nel settore della game industry. Numerose software house hanno investito moltissimo nell’animazione dei loro virtual

character tramite le più sofisticate tecniche di motion capture, di cui si parlerà in

15 (von der Pütten e al. 2010), p 1641. 16 (Conde e Thalman 2004), p 312.

(15)

15 seguito, per poter garantire delle performance attoriali che sono riuscite a tenere il pubblico e la critica con il fiato sospeso. Ne è un esempio la celebre azienda francese Quantic Dream, produttrice di videogiochi, che ha inaugurato il filone delle nuove “avventure grafiche” con il più volte acclamato “Heavy Rain”17 e oggi continua a essere celebre grazie a ottimi titoli come il più recente

“Detroit: Become Human”18. Un’interessante testimonianza che attesa quanto

sia alto l’interesse verso il perfezionamento delle tecniche di animazione dei VH è costituita dal fatto che ad oggi esistono diversi premi, assegnati annualmente, per la miglior performance di un VH19.

Occorre utilizzare il termine Autonomous Virtual Human, o AVH, nel caso in cui si parli di virtual character che possano reagire con autonomia, seppur relativa, all’azione dell’utente. Tramite la capacità, più o meno elaborata, di percepire l’ambiente e gli altri VH, l’AVH può “scegliere” la sua reazione grazie a meccanismi comportamentali prestabiliti. La possibilità di percepire l’ambiente virtuale in cui sono immersi è ottenuta tramite sensori che simulano, nella maggior parte dei casi, il comportamento degli apparati visivi e auditivi.

Come si è in precedenza accennato, i VA sono dotati della capacità di simulare il comportamento umano. Questa capacità spesso è identificata, genericamente, con il nome di Artificial Intelligence o AI. In realtà definire che cosa sia l’AI è una questione complessa e delicata.

17 Quantic Dream, 2010.

18 Quantic Dream, 2018.

19 Principalmente in ambito videoludico. Golden Joystick (2016 - 2018) e Game Awards (2014 - 2018) assegnano annualmente questo premio.

(16)

16 Le discipline che si interessano alla creazione e allo sviluppo di sistemi di AI sono nate durante la metà del ventesimo secolo. Proprio in questo periodo, infatti, l’AI è stata sempre più frequentemente menzionata in giornali, riviste, programmi TV, film e in diversi settori relativi al computer entertainment, ma ciò non è stato sufficiente a rendere chiaro cosa effettivamente essa sia. Lo studio dell’AI è in realtà una parte fondamentale dei più profondi progressi in campo scientifico e intellettuale:

• Lo studio dell’informazione, di come può essere acquisita, immagazzinata, manipolata, estesa, usata e trasmessa;

• L’analisi degli obiettivi, come vengono formulati e raggiunti; • La genesi della creazione dei concetti;

• Lo sviluppo del linguaggio20.

Un aspetto interessante dello studio sull’AI riguarda il fatto che, diversamente da come si potrebbe pensare, questo non è parte del campo conosciuto come Computer Science ma semplicemente se ne avvale poiché i computer sono il miglior mezzo a disposizione per tali indagini, e non l’oggetto di studio. Questa ambiguità è dovuta al fatto che dalla nascita dell’informatica i computer sono stati descritti come “cervelli elettronici” , capaci di simulare il comportamento umano. In realtà il meccanismo di funzionamento di un cervello umano era, ed è, ben diverso da quello di un cervello reale, umano o animale che sia.

Inizialmente lo stupore nei confronti di macchine in grado di svolgere attività fino a quel momento riservate all’uomo, si basava esclusivamente su assiemi di regole che i programmi si limitavano ad eseguire. Il picco di

20 (Sloman 2007).

(17)

17 interesse nei confronti dell’AI c’è stato durante gli anni Ottanta, quando sono venuti alla luce i primi Sistemi Esperti, programmi basati su una gigantesca quantità di regole, basati su costrutti else-if, che avrebbero dovuto affiancare la figura umana in diversi ambiti (per esempio diagnosi mediche). Il fallimento di questa tecnologia fu proprio dovuto al fatto che tale sistema non poteva essere chiamato effettivamente intelligenza a causa dell’assoluta incapacità di generalizzazione21.

I più recenti studi sull’AI sembrano essere principalmente condotti tramite l’uso di Neural Networks22 e Machine Learning23 (o sistemi di apprendimento automatico). A differenza del passato questi sistemi permettono l’apprendimento tramite generalizzazione e sintesi di casi di esempio su cui vengono allenate.

2.1.2 Avatar

Il concetto di avatar ha sempre destato un alto grado di curiosità nel pubblico, tanto che molti scrittori e registi hanno basato le loro opere su di esso. Un celebre esempio può essere “Avatar” di James Cameron, in cui il protagonista, costretto su una sedia a rotelle, ha la possibilità di vivere un’avventura su un

21 (Tavosanis 2018), p 12.

22 Nell'uso moderno si intende però di solito con rete neurale una rete di neuroni artificiali, che cerca di simulare il funzionamento dei neuroni all'interno di un sistema informatico. 23 Strettamente legato al riconoscimento di pattern e alla teoria computazionale dell'apprendimento ed esplora lo studio e la costruzione di algoritmi che possano apprendere da un insieme di dati e fare delle predizioni su questi, costruendo in modo induttivo un modello basato su dei campioni.

(18)

18 pianeta alieno grazie ad un corpo progettato sinteticamente, proiettandovi all’interno la propria coscienza.

Un avatar è effettivamente questo, ovvero una qualsiasi proiezione di un utente in un ambiente virtuale. Questi sono nati per migliorarne le interazioni, sia tra utenti che con l’ambiente stesso. A differenza dei VA, gli avatar sono interamente sotto il controllo dell’utente.

Ad oggi possono essere impiegati a tantissimi livelli: dalla “personificazione” di un account anche per mezzo di semplici fotografie, alla rappresentazione di sé stessi in ambienti più o meno complessi, dalle chat agli universi online rappresentati dai MMORPG24.

Una delle più comuni caratteristiche degli avatar è il loro grado di personalizzazione. La possibilità di dare le proprie sembianze a un avatar, o se non altro di sceglierle, rende più immersiva fruizione del mezzo in cui ne si richiede l’utilizzo.

Gli ambiti in cui gli avatar vengono impiegati sono molteplici e vari, anche se l’immaginario comune li associa più facilmente a quello videoludico.

A dimostrazione di questa asserzione si considerino alcuni i seguenti casi: quello della telepresenza è un ambito ancora in piena evoluzione e propone possibilità che, ancora una volta, erano state immaginate solo nella fantascienza: due persone geograficamente distanti che si guardano, si parlano e si scambiano documenti come se fossero seduti allo stesso tavolo, l’uno di fronte all’altro, e senza bisogno di Skype o Google Hangout.

Un progetto con tali propositi è stato proposto proprio da Facebook: Spaces è un'applicazione di realtà virtuale che consente di invitare fino a tre amici di Facebook e interagire con loro usando un dispositivo VR (disponibile sia per

(19)

19 Oculus che per HTC) e i relativi controller. È inoltre possibile scegliere un setting di incontro tra le proprie foto. Come si può immaginare, l’interazione sarà mediata da avatar che avranno un discreto grado di personalizzazione e la possibilità di utilizzare il sistema di emoticon adoperabile su Facebook25.

Sempre per quanto riguarda la telepresenza, in Italia, la società valdostana “Quintetto” ha debuttato nel campo della telepresenza olografica, proponendo un sistema che rende possibile riprodurre in modalità live, in un ambiente naturale, una rappresentazione fra due soggetti a distanza molto realistica, che garantisce elevati livelli di interazione; il tutto a costi sostenibili e sfruttando le normali capacità di trasmissione Internet offerta dagli operatori di mercato26.

In questo caso l’avatar con cui l’utente dovrà interagire sarà la proiezione del suo interlocutore, con la possibilità di sfruttare le più consuete e naturali metafore di interazione.

La realtà virtuale in effetti si propone proprio questo: la possibilità di vivere una simulazione nel modo più naturale possibile.

2.2 Uncanny Valley

Dal momento che non si hanno ancora VA che possano essere completi dal punto di vista della AI (o non sono facilmente fruibili tecnologie abbastanza avanzate in un’ottica di largo consumo), per creare il senso di empatia e reazione sociale, che pare più naturale quando ci si trova davanti a VH animati

25 (https://www.facebook.com s.d.). 26 (https://www.quintetto.it s.d.).

(20)

20 da algoritmi, bisognerà sopperire lavorando sulla qualità impattale di modelli e animazioni. Questa non è, oltretutto, di minore importanza nella creazione di Avatar, in quanto una migliore trasposizione dei comportamenti umani aumenterà ulteriormente il realismo della simulazione.

Individuare però l’equilibrio, tra caratteristiche visuali e comportamentali, che fa percepire “credibile” un VH non è né semplice né banale. Tinwell, nel suo libro The Uncanny Valley in Games and Animation (2015), esplora il concetto di

Uncanny, noto nella robotica e computer grafica (ma non solo) e fondamentale

per comprendere quali siano gli elementi più importanti da tenere in considerazione nella creazione di avatar realistici. Il termine Uncanny Valley27 è stato creato nel 1970 dallo studioso di robotica Masahiro Mori ed è una teoria che tratta dei rischi dell’eccessiva umanizzazione dei robot.

Mori descrisse la relazione non del tutto lineare tra la somiglianza all’essere umano e il senso di familiarità, e quindi empatia, che suscita. Questa, infatti, aumenta sì al crescere della somiglianza con l’essere umano, ma descrive un brusco crollo quando diventa eccessiva e porta appunto a una reazione contraria: un effetto perturbante dovuto al non riuscire a capire se qualcosa è vivo o no per via dell’estremo realismo.

(21)

21

Figura 1. Grafico dell’Uncanny Valley di M. Mori, 1970

Graficamente, Mori descrisse la relazione tramite ordinata e ascissa, e nominò la zona in cui è riscontrato il calo di familiarità come la “zona o valle perturbante”. Nel catalogare gli stimoli soggetti a tale dinamica, mise a confronto stimoli animati e non, considerando il movimento come elemento distintivo. L’apice del perturbante è ciò che si riferisce direttamente a materia umana priva delle sue funzioni vitali ovvero cadaveri e zombie. Del resto, l’orrore di un cadavere è dovuto all’associazione dell’inanimato a un elemento considerato vivo: il latente stato animato di un corpo morto permane nella concezione che abbiamo di esso.

Per contrasto, le marionette bunraku della tradizione giapponese, che ricordano esseri viventi ma che non sono scambiate per essi, risultano più piacevoli e quindi oggetto di empatia.

In questo modo Mori ha evidenziato quali, secondo lui, potessero essere i rischi di un’eccessiva umanizzazione di automi, robot e loro appendici, soffermandosi per esempio sull’effetto perturbante delle allora nuove mani

prostetiche che erano già talmente realistiche da ingannare a primo impatto.

(22)

22 Mori arrivò alla formulazione di tale ipotesi poiché in quegli anni si diffuse la tendenza a realizzare software e dispositivi che assomigliassero, al meglio delle possibilità, all’aspetto umano, in modo da incoraggiare l’interazione tentando di incrementare il livello di familiarità nell’utente. Solo in seguito, ha verificato che tale effetto non si limitava ai robot, ma lo si poteva riscontrare di fronte a qualsiasi oggetto che avesse sembianze umane, come ad esempio bambole e maschere28.

Tutt’ora ci sono istituti che tengono conto di quanto trasmesso da Mori con la sua teoria durante la progettazione dei propri sistemi anche perché, in seguito a ricerche nel campo dell’interazione uomo-macchina, pare si ritenga che non ci siano effettivamente prove che permettano di rifiutare o accettare la teoria. Ciò è dovuto al fatto che il modo in cui gli androidi e altri sistemi che replicano l’aspetto umano, vengono percepiti può variare da cultura a cultura influenzando così l'esistenza, le dimensioni e i valori negativi della zona

perturbante.

Per quanto riguarda più strettamente l’ambito della computer grafica, l’Uncanny sembra scaturire in circostanze differenti.

Virtual characters con sembianze umane realistiche sono frequenti in ambiti come ambienti virtuali immersivi, animazione e simulazioni. Così come per scopi di intrattenimento i VH sono utilizzati per proporre delle problematiche morali ed etiche in ambito legale, medico o di selezione del personale. Ad esempio, a potenziali impiegati può essere richiesto di fronteggiare, in

28 (Seyama e Sagayama s.d.).

(23)

23 ambienti simulati, dei clienti in situazioni poco piacevoli o stressanti, in modo da permettere alle aziende di sondare le loro reazioni in tali contesti.

Un particolare interesse è stato suscitato da come le sembianze e il comportamento di un VH possano influenzare le decisioni prese da utenti messi di fronte a scelte, tanto da potervi basare in maniera affidabile le valutazioni psicologiche.

In tali contesti sembra che la riproduzione fedele dell’aspetto umano in un VH possa migliorarne la percezione e favorire quindi la creazione di empatia tra VH e utente. Già in precedenza era stato stabilito tramite studi specifici che gli utenti reagivano più positivamente di fronte a VH che presentassero un comportamento maggiormente fedele a quello umano (anche a livello meramente motorio), rispetto a VH le cui azioni o movimenti venissero percepiti come strani o innaturali29. Ad esempio, è stato riscontrato che la

deviazione motoria dal comportamento umano in androidi human-like sia una grossa fonte di uncanniness, sia che si parli di fluidità dei movimenti, sia per quanto riguarda i tempi di reazione, sia per l'incongruenza acustica.30.

Tutto ciò sembra essere in contrasto su quanto appena detto riguarda l’Uncanny. É necessario allora cercare di comprendere quali siano i tratti che ci fanno percepire un essere umano come vivente e reale piuttosto che inseguire la perfezione grafica basandosi solo sulla imitazione visiva ed intuitiva. Molti studi hanno mostrato come vengano percepiti maggiormente vicini alla presenza umana, non tanto i personaggi con un alto grado di fotorealismo, ma personaggi anche dichiaratamente non umani con caratterizzazioni che abbiano la possibilità di esprimere emozioni umane. La natura umana, difatti,

29 (Tinwell e al. 2015.).

(24)

24 ha una grande capacità di usare l'antropomorfismo per attribuire tratti umani a oggetti o animali. Anche Mori ha dimostrato come personaggi antropomorfi, pur non possedendo l'aspetto umano siano percepiti più positivamente di androidi iperrealisticamente umani.

2.3 Comunicazione non verbale

La comunicazione non verbale (NVC, Non Verbal Communication) si manifesta in un’ampia varietà di forme come ad esempio espressioni facciali, gesti, linguaggio del corpo, e così discorrendo.

Si può affermare dunque, che lo sguardo, i movimenti di testa e corpo costituiscono una parte fondamentale della comunicazione interpersonale. Tuttavia, a causa di una mancanza di presenza fisica, questi aspetti sono difficili da riproporre in un ambiente virtuale, soprattutto nel caso in cui sia presente la possibilità di essere condiviso.

Recenti studi hanno stabilito che, in ambienti virtuali condivisi, come ad esempio videogiochi online, l’impossibilità di scambiarsi sguardi affligge drammaticamente la qualità di interazione interpersonale31. Nel caso di

un’ipotetica interazione tra utente e VH, si può dunque affermare che gli aspetti tipici della NVC possano influenzare positivamente la percezione dell’utente, ancor più nel caso in cui ci sia coerenza tra le caratteristiche del VH e lo scopo per cui viene proposto. Questo aspetto è ampiamente indagato nel nello studio di C. Nass, S. Brave: negli utenti viene riscontrato uno stato di attivazione positivo e una maggiore capacità di elaborazione nel caso in cui

31 (Maurer e al. 2016)

(25)

25 viso, voce e contenuto siano coerenti tra loro, al contrario l’utente proverà fastidio o frustrazione per una più probabile mancanza di comprensione.

2.4 Il viso: rendering e animazione

In base a quanto detto riguardo la NVC, si può affermare che il viso è importantissimo per l’user experience, sia per quanto riguarda la comprensione che il gradimento e la creazione di empatia.

2.4.1 Acquisizione e rendering

Una resa in digitale del viso che sia realistica è tra le sfide più ardue nel campo della computer grafica.

Alla base della creazione di un modello che sia il più fotorealistico possibile vi è l’acquisizione di dati reali, utilizzando immagini bidimensionali, fotografie o la persona stessa. Attualmente i metodi per acquisire modelli complessi come lo è il viso sono diversi:

il 3D digital scanning permette di ottenete la geometria e dati utili per la creazione delle texture.

Tramite lo scanning è possibile raggiungere alti livelli di accuratezza e dettaglio, tuttavia questi strumenti sono molto costosi32.

Un dispositivo interessante basato sulla tecnologia di scanning è stato proposto nel 2017 al CES33 di Los Angeles: il prodotto in questione si chiama Bellus 3D

ed è una fotocamera scanner facile da usare e montare su smartphone. Questo dispositivo è capace di acquisire scansioni del viso ultradettagliate che

32 (H. Zhang 2015) p. 779. 33 Consumer Electronic Show

(26)

26 vengono in un secondo momento convertite in modelli 3D. Durante l’acquisizione basta ruotare il viso a destra e sinistra e in pochi secondi il lavoro è fatto. Il tutto è basato su due tecnologie proprietarie in grado di individuare ben 500 mila punti 3D sul viso in grado di delinearne i lineamenti con elevatissima definizione. La prima si chiama DepthShape e viene impiegata per ricostruire la forma grazie ad una fotocamera a infrarossi con una precisione submillimetrica. La seconda si chiama invece PhotoShape, capace di incrementare le capacità della fotocamera frontale dello smartphone per captare i pori della pelle e le rughe. Associata ad un LED circolare, il sistema assicura un’acquisizione con luce ottimale in qualsiasi condizione.

Il 3D Morphable Model, o 3DMM, per la ricostruzione di un viso, si compone a partire da un set di immagini in 2D associate a delle scan 3D del viso, il tutto viene rappresentato tramite due set di funzioni PCA34. A causa del grande

quantitativo di dati da elaborare la potenza di rappresentazione di questo sistema può essere limitata.

Per far fronte a queste costrizioni è stato proposto un framework innovativo per allenare una 3DMM non lineare da un ampio set di immagini 2D, senza doverle associare a delle scan 3D35..

L’inverse rendering consiste nell’utilizzare le caratteristiche intrinseche delle immagini come profondità, forma, orientamento della superficie (normali), incidenza della luce ecc, a partire da una singola foto o da un set di foto

34 L'analisi delle componenti principali (in inglese principal component analysis o abbreviata

PCA), anche nota come trasformata di Karhunen-Loève, trasformata di Hotelling o

decomposizione ortogonale propria, è una tecnica per la semplificazione dei dati. Il suo scopo è quello di ridurre il numero più o meno elevato di variabili che descrivono un insieme di dati ad un numero minore di variabili latenti, limitando il più possibile la perdita di informazioni. 35 (L. Tran s.d.).

(27)

27 riguardanti una scena. Ognuna di queste caratteristiche può fornire importanti indizi per la comprensione della scena36.

Grazie al miglioramento e alla potenza delle Convultional Neural-Network (CNN), oggi i risultati ottenuti per la ricostruzione di visi 3D a partire da immagine 2D sono nettamente migliorati. Il successo delle CNN risiede nell’ampio numero di dati classificati sul quale si basano37. Queste reti hanno

bisogno infatti di una gigantesca quantità di dati per essere “allenate” al riconoscimento delle features per arrivare a ottenere dei dati utili.

Queste tecniche appena annoverate spesso vengono combinate per avere dei risultati sempre migliori, come dimostra l’abbondanza di ricerche che propone sempre più spesso approcci ibridi al fine di sfruttare al meglio tutti gli strumenti che si hanno a disposizione. La ricerca in questo particolare ambito è tutt’ora florida, proponendo sempre nuove strategie e miglioramenti che lasciano ben sperare in rapidi passi avanti a livello di risultati.

2.4.2 Tool di modellazione

Per quanto riguarda la modellazione di mesh sono disponibili diversi software

opensource o commerciali come ad esempio: 3D Studio Max (Autodesk), Maya

(Autodesk), Blender (Blender Foundation). Questi permettono di creare il modello tenendo a bada il numero di poligoni e la topologia dell'oggetto, oltre

36 (Kim e al. 2018).

(28)

28 a poter manipolare le uv map38 che potranno essere realizzate nello stesso software o più comunemente in programmi di editing grafico come Photoshop (Adobe) o Gimp (GNU Image Manipulation Program - The GIMP Development Team). Inoltre, dispongono di ottimi strumenti per il rigging,

skinning e animazione del modello e svariati formati di esportazione.

Una tecnica particolare per la realizzazione delle textures è la proiezione dei dettagli creati su software di sculpting come Zbrush (Pixologic), Mudbox (Autodesk) o Sculptris (Pixologic), in questo modo i colori ed i dettagli più fini possono essere scolpiti direttamente sul modello low-poly suddiviso svariate volte come se si lavorasse su modello di cera o del materiale desiderato, in modo da avere la massima libertà artistica senza dover tenere conto del geometrico. I dettagli saranno poi proiettati sulle UV map precedentemente predisposte tramite il software di modellazione.

Sono presenti, inoltre, dei tool come ad esempio Fuse (Adobe), che propongono una raccolta di parti di modelli, principalmente umani o umanoidi, da poter assemblare e modificare a piacimento. Fuse in particolare consente un elevatissimo grado di personalizzazione dato che ogni dettaglio del modello creato può essere modificato, sia per quanto riguarda le parti del modello in sé, come ad esempio taglio degli occhi corporatura eccetera che per vestiario e accessori attribuibili a quest’ultimo.

2.4.3 Animazione

38 È una tecnica di texture mapping che permette di applicare efficacemente e correttamente le texture su un modello tridimensionale.

(29)

29 Per quanto riguarda l’animazione di modelli tridimensionali che replicano il viso umano, una tecnica molto interessante per animare i visi di personaggi virtuali è l’uso di blendshapes, ovvero l’uso di una serie di modelli modificati dall’artista in modo da mantenere la stessa geometria, ma che permettono di riprodurre espressioni nel modo più accurato possibile. Le diverse mesh vengono poi linkate alla mesh “base” con espressione neutrale e le trasformazioni dei vertici vengono interpolate linearmente tramite un processo di blending.

Spesso il sistema di animazione tramite blendshapes è stato paragonato a quello della skeletal animation39. In realtà per quanto riguarda il particolare settore che si occupa dell’animazione del viso si preferiscono proprio le blendshapes poiché l’artista ha un maggiore controllo sul movimento perché egli può definire la posizione individuale dei vertici entro un keyframe, piuttosto che venire vincolata con scheletri.

Le blendshapes sono state la soluzione usata tradizionalmente per le produzioni pre-renderizzate per molto tempo, in quanto consentono un altissimo livello di controllo da parte dell’artista. Tuttavia, non sono prive di lati negativi, specialmente per quanto riguarda il real-time: non sono infatti supportate da molti game engine e, nonostante si miri alla standardizzazione, le blendshapes restano una soluzione caso-per-caso. Andrebbe creata una blendshape per ogni trasformazione e questo aggiungerebbe enormi costi, non solo in termini di lavoro di produzione artistico, ma anche per quanto riguarda la memoria che

39 È una tecnica dell'animazione digitale nella quale un personaggio (o un altro oggetto articolato) è rappresentato in due parti: una rappresentazione superficiale utilizzata per disegnare il personaggio e un insieme gerarchico di ossi interconnessi (chiamato skeleton o rig) impiegato per animare (posa e keyframe) la mesh.

(30)

30 andrebbero ad occupare sulla scheda grafica, problema cruciale per le applicazioni real-time.

Un tool che è in grado di fornire delle bendshape in maniera automatica è Mixamo (Adobe). Questo programma, direttamente collegato con Fuse, citato in precedenza, consente di fare un auto-rigging precedentemente creato in Fuse permettendo così di animare i modelli. Mixamo mette inoltre a disposizione una vasta gamma, non solo di modelli, ma anche di animazioni che possono essere immediatamente applicate a una qualsiasi mesh che abbia un rig precedentemente creato nel programma.

Durante la realizzazione del progetto che si vuole presentare in questa sede, si è tentata l’integrazione in Unity di un modello costruito prima in Fuse e poi passato in Mixamo per la creazione delle blendshape relative al viso. Il risultato è stato un modello realistico e dettagliato, importato in 3D Studio Max per la realizzazione delle animazioni richieste, ma difficilmente integrabile in Unity in particolar modo a causa di problematiche legate all’elaborazione e l’applicazione delle textures. Si è tentata anche una ricostruzione ed esportazione manuale di queste ma i risultati non sono stati comunque soddisfacenti.

Uno schema di animazione facciale che fornisca dettaglio e flessibilità con un basso costo di sviluppo non è ancora presente. Per questo motivo spesso le tecniche di motion capture vengono tagliate fuori e vengono usati metodi di animazione più tradizionali.

Il motion capture è un processo di registrazione dei movimenti di oggetti o persone. In ambito registico e videoludico questa tecnica viene utilizzata per registrare le azioni di un attore che serviranno poi ad animare il modello digitale. Quando lo scopo consiste anche nel rilevare espressioni facciali e movimenti delle dita viene anche chiamato performance capture.

(31)

31 Nelle sessioni di motion capture i movimenti sono registrati in campioni, rilevati molte volte al secondo. Sebbene le più recenti tecniche utilizzino questo sistema anche per la ricostruzione di immagini 3D (come scanner), spesso il suo scopo è unicamente quello di registrare i movimenti. Questi dati, rilevanti per l’animazione, vengono mappati su un modello 3D, così da permettere di replicarli.

I due più comuni schemi di controllo delle animazioni sono ad oggi la manipolazione diretta e quella basata su interfaccia grafica (GUI).

- GUI: crea una astrazione del viso come interfaccia 2D che può essere un viso simbolico o degli sliders 1D/2D. Nell’ultimo caso si tratta di semplici sliders che mappano le azioni facciali, nel primo viene aggiunto del tempo al processo di

rigging per aggiungere le zone di interesse controllate dall'interfaccia 2D.

Questa tecnica, seppure molto semplice ed intuitiva, spesso non rende giustizia ai dettagli più complessi.

- Manipolazione diretta: si tratta di aree di manipolazione solitamente posizionate in corrispondenza dei giunti del viso sottostanti, chiamati bones,in modo da poter essere settata facilmente dal rigger.

Una volta stabilito il sistema di controllo è poi possibile creare l'animazione manualmente tramite il lavoro degli animatori o tramite meccanismi di motion

capture.

Uno strumento software molto interessante a questo proposito è il programma

faceaware40, che propone due sistemi differenti per la costruzione di animazioni facciali, anche in real-time. Tutte le funzionalità del programma non richiedono nessuno strumento specifico, unicamente una semplice videocamera RGB.

(32)

32 Per quanto riguarda la modalità off-line, questo strumento offre la possibilità di creare animazioni in due step:

- Faceware analyzer: è un software di facial motion tracking che converte video di performance facciali in file che verranno usati dal Retargeter. Grazie a questo primo passaggio il software crea dei dati di motion capture di altissima qualità.

- Faceaware Retargeter: è un a plug-in per Autodesk Maya, 3DS Max, and Motionbuilder. Utilizza I dati ottenuti dall’Analyzer e li applica ai rig.

2.5 Lip-sync

La comunicazione è uno degli aspetti più importanti dell’evoluzione umana e per questo rendere un VH capace di comunicare in maniera realistica è un aspetto fondamentale per la creazione di un sistema che sia del tutto immersivo.

Negli ultimi anni la tecnologia ha influenzato fortemente la comunicazione permettendo la nascita di nuove dimensioni relative a questo ambito in molti aspetti della vita di ogni giorno.

Come è già stato accennato, la comunicazione mediata da virtual character è di grande interesse negli ultimi anni. L’atto di comunicare tocca molti aspetti dell’essere umano come il viso, il corpo, la voce e anche l’ambito sociale. Tra tutti questi, il viso e la voce sono sicuramente cruciali. Il viso ha una valenza particolare in quanto rende possibili i meccanismi di riconoscimento, grazie ai quali l’uomo è in grado di differenziare diverse persone e può comprendere il significato di varie espressioni non verbali.

Queste sono le motivazioni principali per cui il viso è una delle caratteristiche che dovrebbe avere particolare rilievo nella creazione di un VH. Detto ciò si

(33)

33 può asserire che l’animazione di un volto reso nell’atto di parlare dovrebbe essere curata al fine di apparire realistica e naturale se si vuole costruire un VH convincente.

Il termine lip sync viene utilizzato per indicare la tecnica che permette di sincronizzare il movimento delle labbra, della bocca e del viso in generale, con una voce sintetizzata.

In ambito di sintesi vocale, il dialogo è normalmente rappresentato da unità chiamate fonemi. Il fonema è un'unità linguistica dotata di valore distintivo, ossia un’unità che può produrre variazioni di significato se scambiata con un'altra ed è l'unità minima che si percepisce. Il passaggio da un dialogo alle unità di cui è composto può essere operato manualmente o tramite diversi software.

I fonemi sono mappati in una serie di posizioni di bocca, lingua e labbra chiamati visemi. La relazione tra fonemi e visemi corrispondenti consente la creazione di una sorta di mappa che guida alla creazione di animazioni facciali fluide e credibili41.

L’animazione facciale relativa al lip sync è probabilmente la più semplice da comprendere, ma la più complessa da applicare, in quanto pone dei vincoli precisi di sincronizzazione rispetto ad una traccia audio e ad una appropriata deformazione della bocca.

Il lavoro di lip syncing è estremamente laborioso, in quanto bisogna analizzare minuziosamente la traccia sonora per determinare quale posizione delle labbra corrisponde al suono in ogni momento. È comunque doveroso sottolineare che nella computer grafica quello che è importante è creare una illusione realistica del parlato, sarebbe infatti impossibile riprodurre

(34)

34 esattamente la pronuncia delle parole, in quanto essa è unica per ogni essere umano, a causa delle diverse conformazioni facciali, accento, lingua etc. In un contesto tale infatti, l’importanza risiede nel favorire una buona percezione del tutto da parte dell’utente rispetto che nel rendere quello che in realtà dovrebbe accadere.

A un livello basilare, riguardo le posizioni della bocca ci sono due coppie di pose base dalle quali partire per creare una prima illusione di animazione conversazionale:

- Aperto/Chiuso - Largo/Stretto

La prima coppia è la più importante in quanto movimento principale della bocca. I cicli del parlato sono composti da apertura e chiusura della bocca per quanto riguarda il movimento della mascella e di largo stretto rispetto al movimento delle labbra42.

Figura 2 Mappatura della frase "Why are we watching you?" in termini di apertura/chiusura e ampiezza della bocca

La tecnica che sfrutta i fonemi per il lip sync è stata usata per molti anni nell’animazione classica, ma risulta più ostica da applicare al mondo della computer grafica 3D.

(35)

35 Fonemi e visemi, che vedremo a breve, sono differenti in linguaggi differenti e le componenti del software oggetto di questa relazione utilizzano fonemi e visemi relativi alla lingua inglese, nella quale si possono individuare 38 fonemi.

Il famoso animatore Preston Blair ha individuato dieci forme base, la cosiddetta Preston Blair phonemes series, che viene ampiamente usata dagli animatori ancora oggi, ed è stata estesa a 12 visemi43.

Figura 3 Preston Blair Series

La serie consiste in forme della bocca che possono essere usate per rappresentare tutti i fonemi che utilizziamo, ma per creare una simulazione che faccia “vivere” il personaggio e riprodurre un dialogo reale è necessario l’uso di espressioni asimmetriche, in quanto la forma della bocca cambierà a seconda del viso del personaggio parlante.

43 (Martin 2006).

(36)

36 - A e I: le labbra sono leggermente tirate in larghezza, i denti aperti, la lingua visibile e appiattita sulla parte inferiore della bocca.

- E: le labbra tirate un po’più ampiamente, gli angoli più alzati e la bocca ed i denti un po’ più chiusi

- U: le labbra sono protese all’esterno a e arricciate a cerchio ma leggermente aperte, i denti aperti e la lingua lievemente sollevata

- O - la bocca forma un cerchio leggermente più ampio ma le labbra non sono protese all’esterno, la lingua è appiattita sul palato inferiore

- C, D, G, K, N, R, S, Th, Y e Z: le labbra sono quasi chiuse e tirate ampiamente, i denti quasi chiusi.

- F e V: la bocca è pressoché alla sua larghezza standard, i denti sono appoggiati sul labbro inferiore, a volte la forma di D e Th può essere molto simile.

I Visemi sono dei suoni prodotti in corrispondenza di determinate posizioni o forme della bocca e che sono essenziali da rappresentare visualmente (ad esempio OO in food, M in mom etc.). In pratica sono i segnali visivi significativi composti dalle labbra. Ci sono tre tipi essenziali di suoni prodotti durante la locuzione: fatti principalmente dalle labbra (i più importanti nel processo di animazione), composti principalmente dalla lingua, composti essenzialmente da gola e corde vocali.

I visemi non sono legati ad un suono individuale, ma sono la rappresentazione di uno o più fonemi nel dominio visivo.

In questo progetto si è ritenuto opportuno utilizzare la serie di visemi adottata dal tool Sapi lipsync creato da Annosoft, che è uno degli strumenti utilizzati per la realizzazione del lavoro presentato. In questo caso la serie non è di composta da dodici ma da dicessette visemi:

(37)

37

Figura 4 Vowel visemes

Figura 5 Consonant visemes

Tale decisione è stata presa in vista di favorire un passaggio più armonioso e realistico da un visema all’altro.

Alla base del processo di sincronizzazione vi è il concetto di coarticolazione44. La coarticolazione è un fenomeno che si verifica durante la fonazione, per il quale ogni suono linguistico (o fono) subisce l'influenza del contesto nel quale è articolato, vale a dire dei foni che lo precedono o lo seguono. Ciò è dovuto al fatto che ogni suono non è articolato separatamente, di per sé, ma si trova in un contesto ben più ampio: nel continuum linguistico nel quale i suoni sono concatenati in una rapida successione ininterrotta.

Nella catena parlata gli effetti della coarticolazione si possono trasmettere sia all'indietro, cioè da un fono a quello che lo precede, sia in avanti, da un fono a quello che lo segue, sia anche a distanza di molti foni. Nel primo caso si avrà

44 (Cohen e Massaro 1993).

(38)

38 coarticolazione regressiva (backward coarticulation), nel secondo coarticolazione progressiva (forward coarticulation), nel terzo coarticolazione a distanza (che può essere sia progressiva che regressiva).

In ambito registico, il lip sync fa parte della postproduzione e richiede delle tecniche molto avanzate, sia per quanto riguarda il doppiaggio da una lingua all’altra che per l’animazione di personaggi animati. Nei videogiochi è consuetudine fare grande uso di questa tecnica al fine di creare ambienti immersivi in cui i personaggi possono comunicare in maniera assolutamente realistica.

Il lip sync è considerato un elemento indispensabile per la creazione di sistemi che presentino dei VH che possano essere ritenuti realistici. Inoltre, se si tiene in considerazione la teoria dell’Uncanny Valley, di cui si è in precedenza discusso, un aspetto importante come il dialogo e la simulazione del movimento che questo comporta per il viso, non può essere assolutamente trascurato se non si vuole creare un effetto sgradevole nell’utente.

Anche la scelta della voce e della sua qualità non sono degli aspetti banali: molti studi dimostrano che diverse combinazioni di VH con relativa voce possono causare effetti differenti negli utenti. Una voce molto realistica, registrata ad esempio, dovrebbe essere associata a un modello di VH curato nei dettagli e ben animato (o anche viceversa), se così non fosse l’utente percepirebbe l’alta qualità della voce in contrasto con la bassa qualità del modello portandolo a provare sensazioni contrastanti che non incoraggerebbero l’utilizzo del sistema proposto45.

45 Wired for speech, p. 169-192.

(39)

39 Ad oggi esistono numerosi sistemi che permettono di creare delle animazioni di lip sync molto elaborate e con pochissimo tempo di lavoro. Lo svantaggio è spesso causato dai prezzi proibitivi di questi software.

L’applicazione che viene proposta in questa sede consente la creazione di animazioni facciali mediante tre metodi differenti:

- Inserendo del testo che verrà letto da una voce maschile o femminile. - Caricando un file audio.

- In real-time, utilizzando il rilevamento della voce tramite microfono. L’applicazione, realizzata in Unity, si avvale di diverse funzionalità messe a disposizione da diversi software specializzati nell’area del riconoscimento vocale in generale.

Per la sintetizzazione delle voci a partire da un testo sono stati utilizzati due strumenti in parallelo, SAPI e MBROLA Voices, abbinati rispettivamente a due software di automatic-lipsync Sapi lipsync sviluppato da Annosoft e eSpeak sviluppato da SourceForce.

Esistono diversi software, simili a quelli utilizzati, che permettono di fare automatic lipsync. Questi in linea con i software appena citati: richiedono un file audio che può essere accompagnato o meno dalla sua trascrizione su un file di testo per aumentare la precisione del rilevamento dei fonemi. Tra questi si può citare:

- Voice-o-matic46, un plug-in di Autodesk 3ds che permette di pesare l’intensità dei visemi e ha delle funzioni di smoothing intelligente. Supporta completamente i seguenti plug in per le animazioni: Morpher, Morph-o-matic, Facial Studio.

(40)

40 - Face-FX47, un programma della OC3 entertainment ideato

principalmente per le animazioni facciali.

Anche Unity propone un plug-in per il rilevamento dei fonemi, ad un prezzo decisamente meno proibitivo delle licenze dei programmi appena citati. Unity

Lipsync Pro48 è un editor che permette di creare animazioni facciali a partire dall’analisi dei fonemi. Come i programmi precedenti richiede un file audio, precedentemente importato nell’asset di Unity. Viene fatta una scansione dei fonemi contenuti nell’audio al fine di generare un’animazione, operazione che può essere fatta direttamente dal suddetto tool. Presenta la possibilità di inserire manualmente delle animazioni per le emozioni direttamente sulla

timeline che documenta l’animazione facciale.

Le principali pecche di questo sistema sono dovute al fatto che non consente la possibilità di realizzare nulla in real-time, il che lo rende principalmente un software adatto alla postproduzione. Un altro aspetto che rende tale tool inferiore rispetto a quelli citati risiede nel fatto che la lista dei fonemi scansionati è decisamente meno ampia rispetto a quella proposta da altri programmi. Questo causerebbe delle animazioni più approssimative e meno realistiche rispetto ad altri sistemi.

3 ARCHITETTURA

3.1 Tools

47 (https://facefx.com/ s.d.).

(41)

41 3.1.1 Unity

Unity è un game engine cross-platform, attualmente supportato da Mac OS X e Windows, sviluppato da Unity Technologies. Al 2018 supporta ventisette diverse piattaforme. La prima versione di Unity è stata creata da David Helgason, Joachim Ante and Nicholas Francis in Danimarca ed è stata resa disponibile nel 2005.

Lo scopo era quello di creare un game engine economico con strumenti professionali, un gestibile workflow e una pipeline semplificata unita a un’interfaccia drag-and-drop49 principalmente per sviluppatori di videogiochi

amatoriali.

Ad oggi Unity occupa una posizione di rilievo nel campo della game industry in quanto si presenta come un ambiente di sviluppo completo che offre numerose possibilità all’utente.

Oltre a supportare numerose piattaforme, tra le quali possono essere annoverati nomi del calibro di Sony Playstation, Nintendo e ovviamente

Microsoft XBOX, Unity è largamente impiegato nel settore dell’Instant Gamining ovvero il campo che si interessa di applicazioni, e in particolare, di

videogiochi sui cellulari.

L’engine risulta essere uno standard anche nel campo dell’XR, termine generale che comprende applicazioni di Virtual Reality (VR), Augmented

49 Nell'interfaccia grafica di un computer, il drag-and-drop indica una successione di tre azioni, consistenti nel cliccare su un oggetto virtuale (quale una finestra o un'icona) per trascinarlo (in inglese: drag) in un'altra posizione, dove viene rilasciato (in inglese: drop). Generalmente nella lingua italiana viene tradotto come "clicca e trascina", anche se sarebbe più corretto definirlo come "trascina e rilascia".

(42)

42 Reality (AR), e Mixed Reality (MR). È utilizzato in questo campo da società come Google (si vedano i software Tilt Brush50 e Blocks51).

È utilizzato per il rendering in real time e supporta delle API grafiche native. Per il settore artistico Unity propone un hub che prevede tool per il 2D e il 3D, creazione di storytelling e cinematics, gestione di illuminazione, audio, sprites e un dopesheet animation system semplice e potente, per la manipolazione dei key frame delle animazioni.

Unity propone inoltre un Animation State Machine che permette di gestire tutte le clip di animazione di un particolare character e tutti gli eventi che possono avvenire in game (come ad esempio gli input dell’utente), attraverso un sistema di trigger, settabili grazie a diversi tipi di paramentri.

Anche per quanto riguarda uno dei settori più prolifici della game industry, ovvero il multiplayer, Unity risulta efficiente e all’avanguardia fornendo supporto, tools e infrastrutture per la realizzazione di software che intendono proporre questo tipo di funzionalità.

Lo scripting è una parte essenziale nella creazione di un qualsiasi software su Unity. Anche l’applicazione più semplice infatti avrà bisogno di scripts per rispondere agli input dell’utente e per predisporre e organizzare eventi che devono attivarsi all’occorrenza. Oltre a questo, gli scripts possono essere utilizzati per la creazione di effetti grafici, controllare il comportamento fisico degli oggetti o predisporre sistemi di routine AI per i personaggi di un videogioco.

Unity supporta tre diversi linguaggi di programmazione: C#, JavaScript e Boo.

50 ( https://www.tiltbrush.com/ s.d.), è un software che permette di disegnare in uno spazio 3D con la realtà virtuale.

(43)

43 Tra questi il più popolare e potente è C#, il quale supporta delle features che gli altri due non supportano (generics, delegates, events.).

La classe MonoBehaviour è la classe base da cui derivano tutti gli scripts di Unity ed è indispensabile per poterne utilizzare le funzionalità.

I principali metodi della classe MonoBehaviour sono:

- Start(): è chiamata al frame di abilitazione di uno script, prima che qualsiasi chiamata di Update() venga fatta. Come la funzione Awake(), Start() viene chiamata un’unica volta nel lifetime di uno script. La differenza sostanziale tra le due sta nel fatto che l’Awake() viene chiamata al momento dell’inizializzazione dell’oggetto dello script, indipendentemente dal fatto che tale script sia abilitato o meno.

- Update(): è chiamata ad ogni frame. Per avere il tempo trascorso tra una funzione di Update() e l’altra si utilizza la proprietà Time.deltaTime. - FixedUpdate(): consente un update indipendente dal frame rate ed è

spesso utilizzata per i calcoli fisici.

- LateUpdate(): viene chiamata in seguito alla prima chiamata di Update(). Questo metodo può essere utile per ordinare l’esecuzione degli script. Ad esempio il movimento di una telecamera dovrebbe essere implementato nella LateUpdate() poiché dovrebbe seguire il movimento di un oggetto, gestito invece dall’Update().

- OnGUI(): viene chiamata per il rendering e la gestione di eventi relativi alla Graphic User Interface (GUI).

- OnEnable(): viene chiamata quando l’oggetto a cui è legata diventa abilitato e attivo.

(44)

44 - OnDisable(): viene chiamata quando un ogetto viene disabilitato. Inoltre, può essere chiamata anche quando un oggetto viene distrutto e può anche essere usata come codice di cleanup52.

Oltre allo scripting, per la realizzazione di qualsiasi applicazione in Unity bisogna tener conto dei tre elementi fondamentali dell’engine:

- GameObjects: ogni tipo di contenuto in Unity nasce a partire da un GameObject. Qualsiasi oggetto sulla scena di Unity può essere considerato un GameObject: characters, luci, effettispeciali ecc.

I Gameobject non possono fare nulla di per sé, per diventare realmente qualcosa occorre dargli delle proprietà, azione che può essere fatta per mezzo dell’aggiunta di Componenti.

Figura 6 Esempi di GameObject

- Componenti: definiscono e controllano il comportamento dei GameObject ai quali sono attaccati. Un semplice esempio potrebbe essere la creazione di una luce, cosa che può essere fatta attaccando un Light Component ad un GameObject.

52 Si riferisce all’atto di scrivere codice per pulire resti di strutture dati e altri materiali indesiderati dalla memoria e dal filesystem.

(45)

45

Figura 7 Unity Light Component

- Variabili: i Componenti possono avere un numero di Variabili modificabili tramite Inspector o tramite script.

Una delle funzionalità più utilizzate di Unity è la possibilità di dichiarare negli script delle variabili serializzate utilizzando la dicitura [SerializeField]. Questa semplice operazione risulta essere molto comoda poiché rende possibile dichiarare delle variabili private che però possono essere modificate nella fase di run time delle applicazioni tramite l’inspector, esattamente come si farebbe con le variabili, di cui si è appena discusso.

3.1.2 SAPI

Riferimenti

Documenti correlati

arebbe un grave erro- re se il governo pen- w casse di predispone la legge di bilancio senza un con- fronto serio con le parti sociali sulle misure da mettere in cam- po

Spostamenti per il tour multietnico Pranzo e cena del 10 febbraio, pranzo dell’11 febbraio 2017 Supplemento stanza singola (a notte) - Costo € 30 Il pernottamento è previsto presso

In altri termini, pare possa concludersi che per la Consulta il carattere “significativamente rappresentativo” del sindacato costituisce, al tempo stesso, presupposto

Esempio emblematico (unica Regione in Italia): la possibilità, espressa nel recente Piano Socio- Sanitario Regionale di affidare la direzione dei servizi sanitari clinici,

È stata recentemente eletta presidente FERPI, Federazione Relazioni Pubbliche Italiana, una delle principali associazioni professionali nel campo della comunicazione.. Ci può dire

Per queste manifestazioni è stato posto il sospetto di reflusso gastroesofageo ed è stata avviata terapia con ranitidina mantenuta fino al quinto mese di vita con

(7 anni, peso: 26 kg) è condotto in PS per aver presentato cefalea, vertigine, vomito e dolore addominale in seguito al consumo di carne grigliata, cotta utilizzando

È un libro talmente scomodo - questo che la semiologa Valentina Pisanty dedica all'insuccesso dei Guardiani della memoria (Bompiani) sovrastati dal ritorno delle destre xenofobe -