From Face to Data Visualization

Page 1


2


Accademia di Belle Arti di Catania

Diploma Accademico di Primo Livello in Arti Tecnologiche Anno Accademico 2014/2015

TESI DI LAUREA

From Face to Data Visualization

RELATORE

CANDIDATO

Giovanni Maria Farinella

Salvatore Nicastro 3


Pubblicazione composta in:

Times New Roman, ideato da Stanley Morison e disegnato da Victor Lardent nel 1931; Bebas disegnato da Ryoichi Tsunekawa, Dharma Type Foundry; Source Code Pro disegnato da Paul D. Hunt nel 2012.

Grafica della copertina: Salvatore Nicastro

Š Copyright 2016 Accademia di Belle Arti di Catania Salvatore Nicastro

Tutti i diritti riservati www.accademiadicatania.com

4


Ai miei genitori che mi hanno sostenuto e appoggiato dal mio primo respiro al mondo. Grazie.

5


6


Dopo un excursus sulle applicazioni, l’utilità e

le potenzialità del Digital Signage nel contesto

odierno, la tesi si concentra nell’esporre il funzionamento basilare delle

tecniche di Computer Vision

relative al riconoscimento facciale.

Inoltre descrive quali sono ad oggi alcuni dei

sistemi di monitoraggio che integrano strumenti

di intelligenza artificiale, evidenziando

l’efficacia e le capacità di queste tecnologie.

Entrando più nel dettaglio, la tesi mette in evidenza i passaggi chiave che hanno portato allo sviluppo del software

“From Face to Data Visualization” e al relativo portale web.

In ultima analisi, le conclusioni espongono in che modo si può migliorare l’esperienza

da parte degli utenti con il software.


8


Following a discussion on the applications, the usefulness and potential of Digital Signage in

today's context, the thesis focuses in exposing the basic operation of the techniques of

Computer Vision related to face recognition. It also describes what are today some of the monitoring systems that integrate artificial

intelligence tools, highlighting the effectiveness and capabilities of these technologies.

In detail, the thesis highlights the key steps that

led to the development of the software

"From Face to Data Visualization" and to its web portal.

Finally, the results show how we can enhance the experience for users with the software.

9


10


Indice Introduzione

Pag. 11

Digital Signage

Pag. 13

Face Detection

Pag. 23

Computer Vision & Monitoraggio

Pag. 33

Cos’è From Face to Data Visualization?

Pag. 39

Conclusioni

Pag. 53

Sitografia

Pag. 59

Ringraziamenti

Pag. 63


12


Introduzione L’idea di “From Face to Data Visualization” nasce dalla voglia di unire le tecnologie

di Computer Vision al settore del business planning e del marketing, al fine di semplificare il processo delle indagini di mercato.

Ad oggi le applicazioni del Digital Signage (segnaletica digitale) sono sempre più

presenti all’interno del contesto cittadino e ciò favorisce non solo la comunicazione ma anche il monitoraggio dell’utente fruitore del messaggio.

La fiorente evoluzione e il crescente ampliamento di questo tipo di tecnologie, ha dato vita, come vedremo nei capitoli che seguono, a sofisticate metodologie che oltre

a monitorare l’utente fruitore del messaggio, creano il messaggio stesso su misura dell’utente.

A differenza di questo tipo di sistemi il software realizzato, analizza il flusso degli

utenti, permettendo di acquisire dati in tempo reale relativi alle visualizzazioni ottenute da un determinato punto di interesse, che a seconda dei contesti in cui viene

collocato e installato l’applicativo, può assumere diverse forme: una vetrina di un negozio, un’opera d’arte, l’ingresso di un locale, ecc.

Il tutto è stato sviluppato sull’ambiente di sviluppo integrato (IDE) di Processing,

che sfrutta un linguaggio di programmazione ereditando dal linguaggio Java, la sintassi, i comandi e il paradigma di programmazione orientata agli oggetti ovvero, permette di creare oggetti software in grado di interagire gli uni con gli altri attraverso lo scambio di messaggi.

Particolare caratteristica dell’applicativo è quella di generare dei grafici intuitivi basati sui dati raccolti, che dopo essere stati esportati in un file dati e caricati sul portale web, permettono la visualizzazione dei grafici ovunque nel mondo attraverso un intuitivo sito internet.

13


14


15


16


I tradizionali mezzi di comunicazione pubblicitaria outdoor, basati sulla cartellonistica o segnaletica visiva, ovvero cartelli o poster dalle più svariate

dimensioni e forme presenti in strade, luoghi pubblici e spazi aperti, sono ormai

conosciuti da tutti e si sono consolidati nel tempo. Questo tipo di pubblicità ha continuato ad avere, dagli inizi del ‘900 ad oggi, molto successo per gli inserzionisti, per la promozione di un prodotto, un servizio o per informare i cittadini.

Nel corso degli ultimi anni questa forma di pubblicità ha trovato una sua evoluzione tecnologico-digitale attraverso l’utilizzo di monitor e display di varie dimensioni, dislocati ogni giorno di più, in spazi che prima erano occupati dai tradizionali cartelli,

andando a conquistare anche nuovi spazi dove la cartellonistica non era ancora arrivata. Questa evoluzione prende il nome di Digital Signage, che tradotto in

italiano è “Segnaletica Digitale”, anche se in genere, viene comunque utilizzata prevalentemente la parola anglosassone.

Il Digital Signage è una forma di comunicazione attuata spesso in prossimità di un

punto vendita o in spazi pubblici, i cui contenuti vengono mostrati ai destinatari attraverso schermi elettronici o videoproiettori appositamente installati. Le caratteristiche principali del DS sono sostanzialmente due:  

La possibilità di modificare i contenuti in maniera dinamica;

L’obbiettivo di far ricevere un messaggio in un luogo specifico in un tempo specifico.

Il DS è utilizzato per molti scopi e non esiste una lista definitiva delle possibili applicazioni, tuttavia i principali contesti d’uso sono: 

Comunicazione Pubblica ed Istituzionale (news, meteo e informazioni locali

o logistiche, come uscite di sicurezza, orario chiusura esercizio, trasporti, ecc.);

17


Comunicazione Aziendale (messaggio aziendali, informazione sulla

Comunicazione Commerciale (messaggi commerciali e pubblicitario in

 

 

sicurezza, news ecc.);

generale, sempre legati al contesto e al target);

Brand building (messaggi all’interno di esercizi commerciali per valorizzare l’insegna o il brand prodotto);

Influencing Consumer Behavior (messaggi per dirigere il cliente verso alcune

aree espositive, aumentando il tempo di permanenza del cliente nei locali del punto vendita);

Valorizzare l’esperienza del cliente (applicazione che consentono di ridurre la percezione dei tempi di attesa in banche, ristoranti e negozi);

Valorizzare l’ambiente (rinnovare gli spazi attraverso schermi interattivi, wayfinding dinamici e totem multimediali).

Le ricerche su internet con la parola “Digital Signage” segnano un trend in constante

crescita, questo dato dimostra l’interesse e la progressiva diffusione di questi nuovi sistemi di comunicazione ed intrattenimento. In minor misura, il DS, viene definito anche con altri nomi come: Monitor Informativi, Schermi Pubblicitari, Captive Audience Network (CANs), Network Televisivo Aziendale, Digital Media Network, inStore Television, Video Poster, Cartellonistica Digitale.

Fonte: Google Trends.

18


Anche se in ritardo rispetto al resto dell’ambiente internazionale, perlopiù

d’oltremanica e d’oltreoceano, il digital signage è un tendenza che sta nascendo e crescendo anche in Italia.

Il nostro paese, confrontato con il resto del mondo, non compare ancora tra i primi paese dove queste nuova tecnologia è già consolidata, ma i dati basati sul Trend di

crescita della parola chiave nei motori di ricerca, dimostrano che anche da noi il futuro del Digital Signage è roseo.

La sua applicazione, ad oggi, è fortemente richiesta dai gestori delle farmacie, che

per far fronte a una sempre più crescente competizione dovuta alla parziale liberalizzazione del mercato, richiedono mezzi sempre più innovativi per comunicare e veicolare la fidelizzazione del cliente.

Verso questa forma di comunicazione innovativa, si stanno muovendo anche altri

settori come la GDO, ovvero la Grande Distribuzione Organizzata¹, le agenzie viaggio e altre aziende di franchising.

Attraverso il DS i gestori delle attività commerciali riescono ad enfatizzare l’esperienza d’uso, più nota come User Experience o UX. Si intende ciò che una

persona prova utilizzando un prodotto, un sistema o un servizio. L’esperienza d’uso concerne, infatti, gli aspetti esperienziali collegati al possesso di un prodotto e all’interazione con esso ma include anche le percezioni soggettive personali sugli aspetti legati all’utilità, la semplicità d’utilizzo e l’efficienza del sistema.

Un esempio di enfatizzazione dell’User Experience attraverso l’utilizzo di sistemi di digital signage, possiamo trovarlo nel centro Niketown, di proprietà della Nike inc.,

dove utilizzando la nuova disciplina del Retail Design², si riusciti a creare una storia attorno al marchio.

19


Analizzando più nel dettaglio il Digital Signage ci accorgiamo che le sue caratteristiche principali spaziano dall’ampia gamma di visualizzazione di qualsiasi

tipo di contenuto multimediale (video, televisione, clip, foto, audio, testo, notizie, meteo, giochi, sondaggi, contenuti interattivi), alla diversa predisposizione per

qualsiasi tipo di supporto di visualizzazione (dal comune formato 32 pollici casalingo a megaschermi o Video Wall di svariate decine di metri), fino ad arrivare all’aggiornamento di ogni genere di contenuto in maniera semplice ed intuitiva con

appositi Digital Signage Software, presenti su sistemi residenti in loco o anche da remoto via web.

E’ facile riuscire a capire i vantaggi e quante siano le nuove opportunità che

queste tecnologie possano offrire rispetto alla pubblicità tradizionale, dato che

l’esperienza di coinvolgimento delle persone che sono attratte dai contenuti

interessanti ed attraenti, talvolta anche interattivi, aumenta in modo esponenziale, riuscendo a veicolare il contenuto pubblicitario molto più efficacemente.

Tutto ciò è facilitato dalla possibilità di creare palinsesti personalizzati, che includono contemporaneamente diverse tipologie di messaggio, che sia un video,

una news testuale, un’immagine fotografica o un’applicazione interattiva, senza tralasciare la possibilità di personalizzare anche l’aspetto grafico con cui lo schermo

si presenta al pubblico, ad esempio inserendo il proprio Brand o inglobando il

monitor in una struttura di design che rispecchi il messaggio da lanciare, ad esempio nei totem pubblicitari.

¹ Moderno sistema di vendita al dettaglio attraverso una rete di supermercati e di altre catene di intermediari di

varia natura, essa rappresenta, infatti, l’evoluzione del supermercato singolo, che a sua volta costituisce lo sviluppo del negozio tradizionale.

² Nuova disciplina che rappresenta l’evoluzione dell’interior design, che ha come scopo quello di progettare nuovi spazi commerciali che siano i più adatti a coinvolgere il consumatore a rispondere alle sue esigenze ma è

anche una pratica che ha lo scopo di creare forme di reazione nuove tra i prodotti ed il consumatore attraverso la ridefinizione dei luoghi commerciali.

20


Un fattore importante da tenere in considerazione quando si opta per questo tipo di

tecnologia, è la scelta di una infrastruttura software “abilitante” ovvero semplice

nella programmazione dei contenuti e nella loro distribuzione, spesso infatti, si ha la necessità di aggiungere o eliminare una parte del contenuto da visualizzare, in breve

tempo. In un primo momento ciò può non sembrare importante, cioè fino a quando ci si accorge della necessità e dell’importanza di inserire velocemente della

pubblicità di un determinato sponsor, brani musicali d’effetto, video-messaggi ed altri

contenuti

affini,

come

ad

esempio

testi

scorrevoli

promozionali.

Allo stesso modo, sarà necessario poter contare sulla gestione di un palinsesto pianificabile a livello orario, giornaliero, settimanale, mensile e annuale e che inoltre, consideri eventi e festività sia locali che nazionali.

La sempre più crescente richiesta, da parte delle aziende, di questo tipo di

sistemi di pubblicità innovativa, ha fatto evolvere il semplice Digital Signage qualcosa di più complesso, accorpando al modello standard nuovi elementi caratterizzanti.

Un esempio recente di questa evoluzione si può trovare nelle installazioni della Brightbox Inc. (www.brightboxcharge.com), società tecnologica Americana fornitrice globale di soluzioni di ricarica per smartphone, che al CES 2016

(Consumer Electronics Show) di Las Vegas tenuto dal 5 al 9 Gennaio 2016, ha presentato in anteprima la nuova versione del suo Mark 3 Locker System.

Questo tipo di sistema unisce la classica applicazione del DS, con monitor in cui si visualizzano pubblicità create su misura per il cliente, a un armadietto di sicurezza in cui vengono riposti gli smartphone così da consentire la ricarica della batteria del

telefono. Inoltre questa apparecchiatura è dotata di una fotocamera che analizza il comportamento dell’utente davanti all’installazione (Face Recognition, vedi Cap. 2) e di conseguenza è in grado di acquisire i dati di ascolto in tempo reale e a

fornire

saperne

così di

un

più

analisi

sui

anonima

consumatori

21

per

che

aiutare i

marchi

interagiscono

con

e

sponsor

Brightbox.


Durante la presentazione a Las Vegas, Joel Martin Vice Presidente del brand, ha

dichiarato: “Siamo fermamente convinti che BrightEyeQ ™ colma un vuoto

mancante nel digital signage, è chiaro che la nostra piattaforma è in grado di produrre risultati migliori rispetto alle altre campagne che utilizzano questa nuovo sistema, elimina alcune delle contraddizioni che contraddistinguono il metodo tradizionale di fare pubblicità indoor.”

Inoltre la piattaforma Brightbox sarà la prima soluzione di ricarica sicura ad offrire il nuovo supporto di ricarica di ultima generazione per smarphone, ovvero USB-C

che offre potenza e velocità di ricarica. Gli ambienti in cui questo tipo di sistema può trovare applicazione sono molteplici, dal centro commerciale al ristorante, dal

cinema agli impianti sportivi, fino ad arrivare in qualsiasi tipo di spazio aperto al pubblico, il tutto garantito dalla sicurezza per i propri dati e per il proprio telefono,

per poter ricaricare lo smartphone è necessario infatti inserire una apposita tessera di riconoscimento che abiliti BrightEyeQ alla ricarica del proprio telefono.

Inoltre esiste anche un App che indica il punto di ricarica più vicino quando ci si trova in giro e si ha necessità di ricaricare il telefono.

22


Fonte immagini: www.brightboxcharge.com

23


24


25


26


In alcuni complessi sistemi di Digital Signage, oltre al visualizzare contenuti pubblicitari in continuo aggiornamento, si ha la possibilità di interagire con essi

attraverso l’utilizzo di sistemi che integrano la tecnologia della “Face Recognition”. La Face Recognition o Face Detection, letteralmente riconoscimento

facciale, è una tecnica di intelligenza artificiale, utilizzata per identificare o verificare l’identità di una persona a partire da una o più immagini che la ritraggono.

Nei casi più comuni il riconoscimento avviene analizzando l’immagine mediante

tecniche di elaborazione delle immagini, ignorando tutti gli elementi presenti al suo interno che non rappresentano una faccia, come edifici, alberi, corpi, ecc., che vengono solitamente definiti background. I primi sistemi di riconoscimento facciale

tenevano conto di poche ma essenziali caratteristiche ovvero, la presenza di due occhi, una naso e una bocca. I sistemi più recenti invece riescono a riconoscere una

persona anche se questa ha il viso ruotato, o comunque, anche se si ha una visione non frontale del volto.

I principali algoritmi presentano punti di forza e di debolezza diversi fra loro, spesso

vengono combinati per migliorare la qualità dei risultati, tuttavia i principali utilizzati per il riconoscimento sono: 

PCA (Principal Component Analysis)

Permette di ottenere da uno spazio ad alta dimensionalità un sottospazio significativo ai fini del riconoscimento (le Eigenfaces). Richiede una quantità

di risorse computazionali relativamente ridotte ma ne risente fortemente quando si ha a che fare con rotazioni e traslazioni, come pure di variazioni di 

illuminazione e sfondo;

LDA (Linear Discriminant Analysis)

Oltre a ottenere un sottospazio a dimensionalità minore, come nel caso della

PCA, permette una suddivisione in classi all’interno delle quali la variazione è minima (le Fisherfaces, da Ronald Fisher); 27


Metodi Kernel;

Modello di Markov nascosto;

 

Metodo delle Wavelet Gabor; Active Appearance Models (AAM).

Il riconoscimento facciale ad oggi è presente in molti sistemi di varia natura di

diversa utilità, può essere utilizzato in real-time per riconoscere facilmente e istantaneamente se c’è o meno, o addirittura capire chi è, la persona che si trova di fronte al sensore, indipendentemente che sia fotocamera, videocamera, webcam, ecc.

La tecnologia della Face Detection è molto usata anche nelle moderne fotocamere e

videocamere ma anche nelle App su smartphone che si occupano di fotografia, dove

attraverso la rilevazione o meno, di una o più facce all’interno dell’immagine, se opportunamente impostato, si autoregola la messa a fuoco dell’obiettivo (autofocus).

Questo tipo di sistemi di individuazione del volto umano, trovano applicazione in diversi settori, ad esempio recentemente anche sui social network è stata integrata una funzione che utilizza questa tecnologia.

Nel caso specifico di Facebook, è stata attivata l’opzione di riconoscimento facciale delle immagini pubblicate dagli utenti, così da facilitare l’inserimento dei “tag”

relativi alle persone rilevate. Un altro esempio di utilizzo della Face Detection nei

social network possiamo trovarla in BLINQ (www.howhot.io), l’app di incontri proveniente da Zurigo in Svizzera.

Gli sviluppatori di BLINQ in collaborazione con il CVL (Computer Vision Laboratory) ETH Zurich, hanno dato vita ad un modo innovativo di far interagire gli utenti con le app di incontri online, questa infatti, riesce ad analizzare la foto

dell’utente riuscendo a capire l’età, il sesso e l’attrattiva che può avere attraverso la foto caricata, indicando in un’apposita classifica il grado di attrattività dell’utente. 28


Fonte immagini: www.howhot.io

Ma esistono anche casi in cui questo tipo di sistema di intelligenza artificiale viene applicato in modo più complesso, modificando la compilazione del software e associando quindi reazioni diverse a seconda degli usi.

Possiamo prendere in esame diversi casi in cui la Face Detection rappresenta un

modo innovativo d’interazione con l’utente (come abbiamo visto in precedenza con BrightEyeQ), uno tra tutti l’abbinamento di Digital Signage e Face Detection. 29


Molte aziende specializzate nel settore, da qualche anno, stanno conquistando il mercato implementando funzioni sempre più innovative nei loro sistemi di Digital

Signage, nella maggior parte dei casi infatti, quando si parla di abbinamento tra

Digital Signage e Face Detection, abbiamo a che fare anche con pubblicità mirata relativa

ai

fruitori

che

si

trovano

in

prossimità

dell’installazione.

Non andando molto lontano, geograficamente parlando, possiamo prendere in esame

l’azienda Siciliana, nello specifico Calatina, Edisonweb (www.edisonweb.com) e la sua piattaforma Web Signage.

Web Signage è uno strumento versatile studiato per tutti i responsabili marketing che

intendono avvalersi del Digital Signage. Esso integra tecnologie innovative di prossimità, inserendole, nella propria strategia di comunicazione sul punto vendita o nei propri piani di brand awareness.

Entrando più nel dettaglio, questo tipo di campagne di comunicazione intelligenti,

permettono di modificare il contenuto degli schermi in base a chi li guarda ma allo stesso tempo, riescono ad ottenere, in modo del tutto anonimo, dati relativi al numero

di utenti fruitori del messaggio, il tempo di permanenza davanti allo schermo, il sesso e l’età degli utenti, così da generare statistiche utili agli studi di marketing riguardanti la campagna di comunicazione stessa.

Il funzionamento di questo tipo di applicazioni è reso possibile grazie all’utilizzo di algoritmi con diverse funzioni: gender recognition e age estimation.

Per quanto riguarda la gender recognition, ci sono diversi approcci da adottare che all’interno dei contesti reali, possono trovare qualche difficoltà a causa della variazione di alcuni parametri come la scarsa illuminazione, la posa del soggetto, la risoluzione, le dimensioni e lo sfondo. L’algoritmo da adottare deve tenere in

considerazione anche altre sfide, come l’approccio da adottare con gruppi di persone e nel riconoscimento del genere in soggetti infantili. 30


Il riconoscimento di genere avviene in tre fasi: face detection, face representation e classificazione di genere. Nella prima fase, vengono rilevati i volti nelle immagini

acquisite, per fare questo di solito viene usato il framework relativo alla object

detection di Viola e Jones. L’algoritmo di apprendimento è basato su AdaBoost ed è utilizzato per selezionare le caratteristiche più discriminanti per una classificazione basilare, combinando i diversi classificatori per scartare gli elementi che fanno parte dello sfondo all’interno dell’immagine e rilevare i visi.

Quando i volti vengono rilevati, si prosegue con una fase di pre-processing,

analizzando la distanza geometrica del volto rilevato (ad esempio allineando il viso rispetto alla posizione degli occhi) e misurando la variabilità fotometrica (ad esempio

attraverso le diverse condizioni di luce). A questo punto le immagini processate contenenti i visi rilevati, sono pronte per essere classificate in base al genere.

Ci sono diversi modi per fare una classificazione di questo tipo ma quasi tutti gli approcci si basano sulle caratteristiche dei descrittori LBP, HOG e SIFT inoltre, possono essere combinate anche con gli istogrammi relativi al colore (CH) e le

caratteristiche Gabor per migliorare le prestazioni della classificazione stessa.

31


I descrittori LBP, HOG e SIFT hanno diversi compiti: 

LBP

Si occupa del confronto spaziale all’interno del contesto locale di un determinato pixel e crea etichette che sono poi uniti in istogrammi. Questo tipo di descrittori (e le relative varianti) sono usati per maggiormente per

individuare le variazioni di illuminazione e rotazione inoltre, sono utili per 

catturare le texture presenti nell’immagine come, ad esempio, la barba. SIFT

I descrittori SIFT resta invariato in scala, in traslazione, in rotazione e parzialmente invariato ai cambiamenti di luminosità ma, è un descrittore

robusto per la distorsione geometrica locale. HOG

Con il metodo HOG, si considera l’immagine ripartita in una struttura a

blocchi dove ogni blocco è caratterizzato dall’istogramma relativo al dislivello in funzione dei bordi. Gli istogrammi vengono anche sottoposti alla normalizzazione del contrasto.

Ad oggi, si sta lavorando al fine di estrapolare quante più informazioni utili contenute

in un volto umano, come ad esempio nel caso della gender recognition. Un segnale di questo lavoro, è dato anche dalla ricerca riguardo invece l’age

estimation, ovvero il riconoscimento dell’età attraverso il volto umano.

Il tema del riconoscimento automatizzato dell’età, ha attirato l’attenzione su di se, sia da parte del mondo accademico che dal marketing industriale data la sua

applicabilità in diversi contesti, come ad esempio può essere davvero utile nel Electronic Customer Relationship Management (ECRM).

32


Se per gli essere umani determinare con una certa accuratezza l’età di volto è piuttosto semplice, non si può dire la stessa cosa se ha farlo è un software.

Esso infatti deve tenere in considerazione molti fattori che possono essere determinanti ai fini dell’accuratezza, come ad esempio la qualità delle immagini

(rumore), posa, luminosità, espressioni facciali. Inoltre, l’invecchiamento varia da

soggetto a soggetto a causa di geni, stile di vita, condizioni di salute ecc., pertanto queste variabili rendono più difficile la stima dell’età di un volto.

I primi approcci di stima automatica dell’età sfruttano modelli di antropometrici,

considerando il rapporto geometrico relativo ad alcune caratteristiche del viso. Tuttavia queste caratteristiche possono essere utilizzate solo per discriminare volti

di giovane età. Per estendere quindi lo stesso sistema anche ad adulti, è stato inserito un metodo di rilevazione delle rughe. Sebbene altri metodi antropometrici sono stati sviluppati per migliorare questo approccio, la scarsa differenza tra differenti forme del viso in età adulta, limita l’applicabilità di questo tipo di soluzioni. Per ovviare a

questo limite, sono stati progettati altri tipi di approcci, come ad esempio l’Active

Appearance Model (AAM). Questo metodo si basa sia sulla forma che sulla

consistenza all’interno dell’immagine, ciò lo rende applicabile anche su individui adulti.

Oggi grazie alle moderne tecniche di intelligenza artificiale impegnate nel riconoscimento facciale, possiamo riconoscere anche l’espressione del viso, consentendo di rilevare le emozioni provate dal soggetto nel momento dello scatto.

Di recente, Microsoft Oxford ha implementato nei suoi progetti di applicazioni

software di sviluppo, strumenti per consentire agli sviluppatori di programmare applicazioni intelligenti, rilevando emozioni facciali umane: felice, triste, arrabbiato, deluso ecc.

33


Ad oggi abbiamo la possibilitĂ di testare questa forma di intelligenza artificiale visitando

direttamente

il

sito

del

progetto

di

casa

Microsoft

(www.projectoxford.ai/demo/emotion) e caricando una nostra foto, nel giro di

qualche instante l’applicazione ci da il responso dell’analisi, indicando valori diversi per ogni singola emozione.

Fonte immagine: www.projectoxford.ai

34


35


36


Come abbiamo visto nei precedenti capitoli, attraverso la Computer Vision si ha la possibilità di prendersi cura dell’utente e fidelizzarlo utilizzando tecnologie

innovative. Ma oltre che ad abbinare la Face Detection al Digital Signage per

ottenere dati sui consumatori o per fornire informazioni mirate create su misura dell’utente, esistono dei sistemi di CV specializzati nel monitoraggio.

Aziende specializzate si occupano infatti di installare in spazi aperti al pubblico, nella

maggior parte dei casi negli esercizi commerciali, sistemi di monitoraggio degli

utenti per ottenere dati utili per le indagini di mercato, così da strutturare la campagna pubblicitaria

del

punto

vendita

in

questione,

su

dati

specifici.

Spendere troppo per la pubblicità e attraverso troppi canali, potrebbe danneggiare le

possibilità di generare un ritorno economico sugli investimenti fatti sulla comunicazione e, spendendo troppo poco si potrebbe rischiare di non raggiungere il

maggior numero di consumatori come si vorrebbe. Attraverso però sistemi di Computer Vision specializzati nel contare le persone, si ha la possibilità di valutare il successo delle campagne pubblicitarie attuate, così da verificare il numero reale di utenti fruitori del messaggio e quindi di conseguenza, modificarlo se necessario.

In genere i popolari sistemi di conteggio delle persone, vengono utilizzati per valutare l’efficacia dei messaggi promozionali di Digital Signage, per aiutare i

rivenditori a pianificare il posizionamento e la tempistica delle informazioni fornite da questi display. Se usati correttamente, questi metodi di pubblicità possono essere

utilizzati come strumenti “call to action” per influenzare il comportamento dei clienti. Secondo Digital Signage Today, il popolare sito di informazione e news

riguardo il Digital Signage, già nel 2013 si prevedeva un importante incremento di questa tecnologia di analisi riferita alle esposizioni per il corso del 2014.

Per determinare la quantità di persone che usufruiscono del messaggio pubblicitario,

queste apparecchiature dedicate al conteggio degli utenti, possono essere collocate

direttamente sopra la zona in cui viene visualizzato il materiale pubblicitario. 37


Negli ultimi anni, diverse aziende si sono dedicate allo sviluppo di questo tipo di apparecchiature, ad esempio come V-Count (www.v-count.com), azienda con sede

ad Ankara in Turchia, che dal 2006 si occupa di automazione industriale, analisi del traffico autostradale, sviluppo software di elaborazioni immagini e ovviamente computer vision.

Per quanto riguarda il monitoraggio degli utenti, V-Count ha sviluppato strumenti all-in-one in grado di misurare in modo accurato e in tempo reale il traffico in negozi

o istituzioni e in automatico invia i dati acquisiti direttamente online, in modo da

renderli consultabili in qualsiasi parte del mondo attraverso l’apposita App. Inoltre fornisce dati sugli ingressi e sulle uscite all’interno del locale preso in esame, attraverso tecniche di Background Subtraction, rileva i soggetti che passano davanti

alla camera dell’apparecchio, in modo da riuscire a determinare se l’utente si muove verso l’ingresso o verso l’uscita.

Con sistemi di questo tipo, se accuratamente posizionati in punti strategici all’interno

del punto vendita, possono essere usati per raccogliere tutte le informazioni necessarie sui clienti, analizzando il flusso di utenti dal punto di ingresso fino al momento dell’acquisto. Pertanto possiamo anche sapere il tempo medio di attesa in

zone specifiche e hot-zone così da modificare, anche nel corso dell’attività, la propria strategia di marketing. Ad esempio sapere quanto tempo perde il cliente a fare la fila

alle casse, consente di inserire o togliere, uno o più impiegati del negozio, ottimizzando così anche l’utilizzo del personale.

38


Fonte immagini:

www.v-count.com

39


40


41


42


Dopo esserci addentrati nel tema del Digital Signage e aver spiegato quali possono essere le sue applicazioni, anche corredate da software che integrano tecnologie di Face Detection, è arrivato il momento di trattare il tema cardine della tesi stessa ma

prima di illustrare quali strade sono state intraprese per la creazione del progetto in questione, è doveroso chiarire qual è l’utilità di tale applicativo. Come si evince dal

titolo “From Face to Data Visualization”, stiamo parlando di visualizzazione di dati

raccolti attraverso la “faccia”, nello specifico questo tipo di software permette di acquisire dati in tempo reale relativi alle visualizzazioni ottenute da un determinato

punto di interesse, che a seconda dei contesti in cui viene collocato e installato l’applicativo, può assumere diverse forme: una vetrina di un negozio, un’opera d’arte, l’ingresso di un locale, ecc.

In tempo reale i dati sulle visualizzazioni, raccolti attraverso l’analisi delle immagini acquisite dalla camera connessa al dispositivo, vanno a formare un grafico intuivo e

di facile leggibilità caricandolo e rendendolo in automatico fruibile online. Questo tipo di sistema si differenzia dagli esempi di monitoraggio dei punti vendita

trattati nel capitolo precedente, per il diverso tipo di analisi delle immagini acquisite. Nel caso di From Face to Data Visualization, l’analisi delle immagini non avviene

attraverso il processo di Background Subtraction, come nei sistemi messi in

commercio da V-Count visti nel precedente capitolo, ma bensì usando la tecnica della

Face Detection (vedi cap. 2) associata a D3.js, la libreria JavaScript per creare visualizzazioni dinamiche ed interattive partendo da dati organizzati.

Il progetto è stato costruito passo dopo passo, seguendo tre distinte fasi: 

Compilazione del software su Processing;

Sviluppo del portale Web integrando D3.js e pubblicazione online.

Esportazione dei dati ottenuti;

43


La prima fase, quella più importante, è costituita dalla compilazione del software sull’ambiente di sviluppo integrato (IDE) di Processing, che sfrutta un linguaggio di programmazione che consente di sviluppare diverse applicazioni come giochi,

animazioni e contenuti interattivi. Inoltre eredita dal linguaggio Java la sintassi, i comandi e il paradigma di programmazione orientata agli oggetti ovvero, permette

di definire oggetti software in grado di interagire gli uni con gli altri attraverso lo scambio di messaggi. Ma ciò che caratterizza Processing rispetto ad un IDE in

linguaggio Java tradizionale è che in più, mette a disposizione numerose funzioni ad alto livello per gestire facilmente gli aspetti grafici e multimediali.

Prima di iniziare con la scrittura vera e propria del programma, è necessario dotare

Processing di una apposita libreria che ci permetta di eseguire le operazioni necessarie al fine di rendere funzionale il processo di Face Detenct. Ciò che fa al caso nostro è OpenCV (Open Source Computer Vision Library), il pacchetto di librerie più usato in robotica per elaborare e riconoscere oggetti catturati

dai sensori visivi. Scritta in C e C++, è stata sviluppata inizialmente da Intel e

successivamente è stata supportata da Willow Garage e da Itseez. Attualmente è disponibile su diverse piattaforme (Windows, Linux, Mac OS, Android e iOS).

Fonte immagini: www.opencv.org - www.processing.org

44


Se stiamo utilizzando l’ultima versione di Processing ovvero la 3.0.1, installare la

libreria OpenCV è piuttosto semplice. Una volta lanciato il programma basta andare nel menu a tendina in alto, cliccare su Sketch → Import Library → Add Library e in

seguito grazie all’apposito strumento di ricerca, basta cercare e installare OpenCV. A questo punto la nostra libreria è installata e pronta per iniziare a programmare.

Per lo sviluppo del software mi sono basato su uno degli esempi contenuti nella

libreria stessa ovvero WhichFace di Daniel Shiffman. In questo esempio, Shiffman,

non si limita alla semplice Face Detenct, che individua determinando con x, y, width e height la posizione del volto ma, si pone un obbiettivo, ovvero quello di

differenziare i singoli volti rilevati in un dato momento nel tempo.

A differenza di noi umani, la visione artificiale riesce ad ottenere informazioni solo dal fotogramma catturato in un particolare momento, pertanto non può determinare se il volto rilevato in un preciso istante esisteva già in precedenza o se sia comparso

per la prima volta, fatta eccezione nei i casi in cui si vanno ad acquisire informazioni 45


aggiuntive come ad esempio la corrispondenza dei colori, un marker AR, ecc. o quando si utilizzano algoritmi particolari dedicati alla Face Re-Identification.

Per trovare la soluzione a questo problema senza ricorrere a metodi sicuramente più

sofisticati ed efficaci, ad ogni volto rilevato viene associato un numero ID che viene usato per tenere traccia di quel volto nel corso del tempo. Se in un lasso di tempo determinato, vengono rilevati altri volti si procede cercando un riscontro con il volto precedente basandosi alla vicinanza tra i due volti rilevati.

In altre parole, non si fa altro che analizzare il fotogramma secondo una logica tipica

del cervello umano (es. se era lì un attimo fa, probabilmente adesso è ancora lì, quindi si tratta dello stesso volto). Come

prima

cosa,

abbiamo

bisogno

rettangoli,

pertanto

abbiamo

di

stabilire

la

Face

class.

visi

rilevati

OpenCV ci dà soltanto una serie di volti rilevati per ogni fotogramma che evidenzia con

dei

vengano inseriti in un ArrayList.

bisogno

che

class Face {

// Rettangolo Rectangle r;

// Sono disponibili abbinamenti? boolean available;

// Devono essere eliminati? boolean delete;

// Quanto tempo deve passare per eliminare abbinamento? int timer = 127;

// Assegno un numero identificativo per ogni volto int id;

46

i


In seguito, per far funzionare il programma bisogna tenere traccia dei volti rilevati all’interno di un ArrayList. ArrayList faceList;

Infine, nel void draw() OpenCV deve determinare in un array i volti che rileva in quel dato momento.

Rectangle[] faces = opencv.detect();

Fatto questo, bisogna abbinare i volti rilevati che sono contenuti nell’ ArrayList, Per fare ciò si possono venire a creare tre diversi scenari:

1. Il nostro ArrayList è vuoto e quindi dobbiamo aggiungere un nuovo volto quando è rilevato.

if (faceList.isEmpty()) { // Si aggiunge un elemento Face ogni volta che viene rilevato for (int i = 0; i < faces.length; i++) { faceList.add(new Face(faces[i].x,faces[i].y,faces[i].width,faces[i].height)); }

2. OpenCV rileva più volti di quelli che attualmente sono all’interno della lista. In questo caso, abbiamo bisogno di abbinare i nostri elementi Face con i

rettangoli disegnati da OpenCV e quindi aggiungere nuovi elementi per eventuali rettangoli rimanenti.

Vengono utilizzate inoltre, variabili booleane per tenere traccia di quali

rettangolo sono gia stati abbinati, in modo da non confondere due diverse facce come lo stesso volto.

47


} else if (faceList.size() < = faces.length) { boolean[] used = new boolean[faces.length]; // Abbina elementi Face con i rettangoli for (Face f : faceList) { // Trova facce che sono pi첫 vicine alla faccia f // Allinea le facce per non utilizzarle due volte float record = 50000; int index = -1; for (int i = 0; i < faces.length; i++) { float d = dist(faces[i].x,faces[i].y,f.r.x,f.r.y); if (d < record && !used[i]) { record = d; index = i; } } // Aggiorna la posizione della faccia used[index] = true; f.update(faces[index]); }

3. Infine, il terzo ed ultimo scenario, viene tirato in causa nel momento in cui si hanno pi첫 volti rilevati da OpenCV.

In questo caso, abbiamo bisogno di abbinare i nostri volti esistenti e quindi contrassegnare quelli rimasti per essere cancellati. } else { // Tutti le facce rilevate iniziano come disponibili for (Face f : faceList) { f.available = true; } // Abbina i rettangoli per ogni faccia rilevata for (int i = 0; i < faces.length; i++) { // Trova facce vicine a face [i] // imposta su non disponibile float record = 50000; int index = -1;

48


for (int j = 0; j < faceList.size(); j++) { Face f = faceList.get(j); float d = dist(faces[i].x,faces[i].y,f.r.x,f.r.y); if (d < record && f.available) { record = d; index = j; } } // Aggiorna la posizione della faccia Face f = faceList.get(index); f.available = false; f.update(faces[i]); }

49


Dopo aver sviluppato la parte del codice relativa al rilevamento dei volti e aver cercato dei riscontri tra un volto e l’altro al fine di non contare più volte la stessa

faccia, bisogna esportare i dati ottenuti nel formato più adatto al tipo di visualizzazione scelta nella libreria D3.js.

D3.js o anche solo D3, sta per “Data-Driven Documents” ovvero “Documenti creati dai dati”. Questa libreria JavaScript viene usata per creare visualizzazioni dinamiche

ed interattive, partendo da dati organizzati, visibili attraverso un comune browser e per fare ciò si serve largamente degli standard web: SVG, HTML5, e CSS.

La libreria JavaScript D3, incorporata in una pagina web HTML, utilizza funzioni

JavaScript preimpostate per selezionare elementi del DOM (Document Object Model), creare elementi SVG (Scalable Vector Graphics), aggiungergli uno stile grafico, oppure transizioni, effetti di movimento ma anche tooltip ovvero

quell’elemento dell’interfaccia grafica che fa comparire un piccolo "box" con

informazioni supplementari riguardo l'oggetto su cui ci siamo posizionati sopra con il mouse.

Gli oggetti creati da D3.js possono essere largamente personalizzati utilizzando lo

standard web dei "fogli di stile a cascata", chiamati in inglese CSS. In questo modo grandi quantità di informazioni organizzate sotto forma di dati

possono essere facilmente convertiti in oggetti SVG usando semplici funzioni di D3, così da generare ricche e variegate rappresentazioni grafiche di numeri, testi, mappe e diagrammi. I dati utilizzati per interagire con la libreria, possono essere caricati in

diversi formati. Il più comune è il JSON ma a seconda del tipo di grafico scelto, i dati si possono caricare anche in TSV, geoJSON o nel nostro caso, attraverso il formato CSV, separando i valori l’uno dall’altro con una semplice virgola.

Per far sì che il software esportasse i dati raccolti in CSV e quindi renderli subito fruibili da parte della libreria D3, ho inserito all’interno del codice qualche semplice ma essenziale riga di codice.

50


Per prima cosa dando l’istruzione relativa all’output del file dati: PrintWriter output;

Poi inserendo all’intero del void setup() il comando per dare un nome alle due colonne all’interno del file di dati, in questo caso "date,value" output.println("date,value"); output.flush();

Fatto questo all’interno del

void

draw(),

si vanno ad inserire i comandi che

stabiliscono la data (in modo che si aggiorni in automatico con quella del dispositivo su cui è installato il software) e le indicazioni necessarie affinché, la data e il numero

di visualizzazioni ottenute siano scritte all’interno del file data.csv nel modo richiesto dalla libreria D3.js, inoltre bisogna tenere in considerazione il passare del

tempo, pertanto per ogni ora il grafico visualizzato deve ripartire da zero, così da poter essere di facile intuizione da parte del lettore dei dati. int d = day();

// Valore da 1 - 31

int m = month();

// Valore da 1 – 12

int y = year();

// 2013, 2014, 2015

int s = second(); int min = minute(); int h = hour();

// Valore da 0 - 59 // Valore da 0 - 59 // Valore da 0 – 23

// Scrivi la stringa con data e numero di visualizzazioni

output.flush(); output.println(String.valueOf(d)

+

"/"

+

String.valueOf(m)

String.valueOf(y) + "-" + h + "," +faceCount );

51

+

"/"

+


// Azzera il contatore delle visualizzazioni ogni ora if (min + s < 1 ) { faceList = new ArrayList<Face>(); faceCount = 0; int id = 0; }

A questo punto, una volta eseguito il programma, avremo in automatico un file dati

in formato .csv con due colonne divise da una virgola, molto simile a questo esempio: date,value 11/12/2015-8,6 11/12/2015-9,13 11/12/2015-10,21 11/12/2015-11,28 11/12/2015-12,36 11/12/2015-13,43 11/12/2015-14,57 11/12/2015-15,51 11/12/2015-16,46 11/12/2015-17,29 11/12/2015-18,23 11/12/2015-19,25 11/12/2015-20,27 11/12/2015-21,35 11/12/2015-22,52 11/12/2015-23,45

Prendendo in esame la prima riga di un esempio dalle 8:00 alle 23:00, troviamo dunque la data (11/12/2015), l’ora (8) e il numero di visualizzazioni (6).

52


La terza e ultima fase del progetto riguarda lo sviluppo e la pubblicazione del portale web, che oltre a fungere da mezzo promozionale del prodotto, è dotato di un funzionale esempio di visualizzazione dei dati acquisiti tramite From Face to Data Visualization.

La struttura del sito è abbastanza semplice e si divide in:  Testata

Contenente il pulsante “Contact” che ci rimanda direttamente al footer;

 Titolo del sito;  Contenuto

Dove in qualche riga è spigata la funzione di From Face to Data

Visualization sia in Italiano che in Inglese. Inoltre è inserito anche un esempio di visualizzazione dei dati attraverso l’utilizzo del software, basato su dati fittizi, relativi a un’ipotetica affluenza davanti a un punto vendita Burger King;

 Footer

Dove sono inseriti i loghi social e di info, per essere contattati da parte di un interessato al progetto.

Anche se ancora in fase sperimentale e in una forma molto essenziale, il sito in

questione è ad oggi fruibile all’indirizzo www.ff2dv.tk, abbreviazione appunto di From Face to Data Visualization.

53


54


55


56


Traendo le conclusioni di questo progetto, possiamo trovare interessanti spunti per migliorare in futuro questo tipo di applicativo.

Un punto debole di From Face to Data Visualization, è sicuramente la compatibilità su diversi sistemi operativi infatti, il software da me sviluppato è ancora in fase sperimentale e ad oggi è testato e reso funzionante solo hardware aventi S.O. desktop di casa Microsoft.

Altro aspetto da migliorare è quello della fruibilità online dei dati raccolti, sia dal punto di vista dell’utente che vuole visualizzare i dati tramite il grafico risultante

dall’analisi effettuata, sia dal punto di vista hardware. Questo perché se da un lato il

processo di output dei dati è relativamente semplice generando un file CSV direttamente dal nostro software (come abbiamo visto nel capitolo precedente), non

possiamo dire la stessa cosa riguardo al caricare il medesimo file sul portale web e quindi a renderlo accessibile in automatico da D3.js.

Per ovviare a questo problema si potrebbe pensare di installare, sia il server del

portale web sia il software stesso, su sistemi single-board computer. Questo tipo di sistemi si distinguono dalle schede madri tradizionali di un computer perché sono sempre privi di daughterboard (scheda elettronica dotata di varie combinazioni di

chip montati che danno vita a memorie EEPROM, ROM, RAM o altri tipi di memorie) e scheda CPU perché viene integrata sempre sul single-board computer, inoltre ha un numero limitato di slot, solitamente massimo due.

Fonte immagine: www.raspberrypi.org

57


Implementando sia il software che il portale web su un single-board computer, come

ad esempio il Raspberry Pi che funziona su ambiente Linux, non c’è la necessità di caricare online il file di dati per renderlo fruibile dal portale web, perché è direttamente il portale web ad essere installato sullo stesso supporto del software, ovviamente il tutto deve essere comunque collegato alla rete e opportunamente

preimpostato con indirizzo ip pubblico, in modo da essere raggiungibile da qualsiasi parte del mondo come un vero e proprio server standard.

Il passo successivo relativo all’evoluzione di From Face to Data Visualization,

potrebbe essere quello di creare un’App user-friendly dedicata al controllo da remoto, sia per quanto riguarda la fruizione dei dati generati dal software che per il

controllo vero e proprio del sistema su cui è installato (ad es. controllando da remoto l’avvio o l’arresto del single-board computer su cui è installato l’applicativo).

Rispetto a ciò che abbiamo visto nei capitoli riguardanti il Digital Signage e la Face Detenct, il software da me sviluppato è qualcosa di molto semplificato e rudimentale

ma che fa comprendere le potenzialità della Computer Vision, che continua

incessantemente a progredire su più fronti contemporaneamente, che sia quello relativo al marketing e alla pubblicità, all’intrattenimento o all’arte interattiva.

Ci sono perciò ancora ampi margini di miglioramento di questa tecnologia, che nel

corso degli ultimi anni ha fatto grandi passi in avanti, che fanno presupporre una sempre più fiorente evoluzione.

58


59


60


Sitografia

Data ultima consultazione delle fonti: 1/02/2016

Digital Signage: 

Informasistemi - Cos’è il Digital Signage?

GASPMedia - Documentazione GASPmedia Confiurazione

Wikipedia - Digital Signage

Google trends – ricerca: Digital Signage

Digital Signage Today - Digital signage and phone-charging kiosk showcasing audience

http://www.informasistemi.com/blog/?p=45

http://www.gaspmedia.net/wp-content/uploads/2011/09/GASP_media_A_11.pdf

https://it.wikipedia.org/wiki/Digital_signage

https://www.google.com/trends/explore#q=digital+signage

analytics at CES 2016

http://www.digitalsignagetoday.com/news/digital-signage-and-phone-charging-kioskshowcasing-audience-analytics-at-ces-2016/ 

PRWeb - Brightbox, the Leading Cell Phone Charging Locker Manufacturer, Releases BrightEyeQ™ Audience Measurement Module and USB-C Charging Capability http://www.prweb.com/releases/2016/01/prweb13151133.htm

Face Detection: 

Department of Mathematics and Computer Science, University of Catania & Centro Studi S.r.l., Buccino - GENDER RECOGNITION: METHODS, DATASETS AND

RESULTS di Vito Santarcangelo, Giovanni Maria Farinella e Sebastiano Battiato http://iplab.dmi.unict.it/sites/default/files/_11.pdf

61


IPLAB, Department of Mathematics and Computer Science, University of Catania &

Department of Mathematics and Computer Science, University of Cagliari - SELECTING DISCRIMINATIVE CLBP PATTERNS FOR AGE ESTIMATION di Alessandro Torrisi, Giovanni Maria Farinella, Giovanni Puglisi e Sebastiano Battiato http://iplab.dmi.unict.it/sites/default/files/_9.pdf

Wikipedia – Riconoscimento facciale

BLINQ app - CVL (Computer Vision Laboratory) ETH Zurich

EdisonWeb - Prodotti - WebSignage

Navigaweb - Scopri che emozioni provavi in una foto (Microsoft web app)

Vita Omelette - Microsoft Project consente al computer di riconoscere le espressioni

https://it.wikipedia.org/wiki/Riconoscimento_facciale

https://howhot.io/ - http://www.vision.ee.ethz.ch/en/ - http://www.joinblinq.com/

http://www.edisonweb.com/it/prodotti.aspx - http://www.websignage.eu/it/ http://www.navigaweb.net/2015/11/scopri-che-emozioni-provavi-in-una-foto.html facciali

http://it.egg-life.net/article/170218 

Microsoft Project Oxford - Emotion Recognition https://www.projectoxford.ai/demo/emotion

Computer Vision & Monitoraggio: 

V-count - People counting

Traf-sys Peolpe Counting Systems - how retailers can use people counting to optimize

http://v-count.com/people-counting-conversion/

their advertising budget

http://www.trafsys.com/how-retailers-can-use-people-counting-to-optimize-their-

advertising-budget/

62


Cos’è From Face to Data Visualization? 

Wikipedia - Processing

Wikipedia - OpenCv

Daniel Shiffman - OpenCV Matching Faces Over Time

Wikipedia - D3.js

https://it.wikipedia.org/wiki/Processing

https://it.wikipedia.org/wiki/OpenCV

http://shiffman.net/2011/04/26/opencv-matching-faces-over-time/

https://it.wikipedia.org/wiki/D3.js

Conclusioni 

RaspberryPi - Products

Wikipedia - RaspberryPi

https://www.raspberrypi.org/

https://it.wikipedia.org/wiki/Raspberry_Pi

63


64


Ringraziamenti

Arrivato alla fine di questo viaggio, durato tre anni della mia vita, fare bilanci è inutile, come lo è fare copia/incolla con frasi tradizionali.

In tre anni di cose ne accadono tante, giuste o sbagliate che siano, accadono. E dal quel momento diventano parte di noi stessi, del nostro modo di essere. Ogni avvenimento, ogni cosa successa lungo il trascorrere dei giorni, rappresenta un pezzo da inserire su un grande puzzle. Il puzzle del nostro carattere.

Immagina di avere una parete su cui applicare un piccolissimo tassello per ogni giorno che passa, fino alla fine dei tuoi giorni. Ad un certo punto, inevitabilmente, ti ritroverai a

guardare quel grande puzzle e indipendentemente dai pezzi che tu abbiamo voluto mettere su quel grande muro, raffigurerà in ogni caso il tuo ritratto.

Io non ho ancora la possibilità di vedere il mio ritratto, credo di essere troppo giovane per farlo, ma so per certo, che qualsiasi cosa io diventi, non dimenticherò facilmente chi ha intagliato ogni tassello del puzzle facendolo diventare un ricordo.

Ecco, alcuni di questi “intagliatori di tasselli” meritano di essere inseriti in questa fase della

Tesi, la fase dei “Ringraziamenti”. Quindi anche per non deludere le aspettative, questa è l’occasione più che adatta per ringraziare qualcuno.

Come prima cosa, il più grande grazie mai detto, va ai miei genitori che sostenendo

sempre ogni scelta da me intrapresa, hanno contribuito in modo vitale sia per i miei studi,

che per la persona che sono adesso. Inutile elencare tutte le cose fatte di buono per me, credo che per essere bravi genitori agli occhi dei figli, l’importante sia dare loro la libertà di scegliere e saper contribuire (non solo economicamente) affinché i loro sogni si realizzino.

Un altro importante pensiero va a mia sorella Francesca, che nonostante la distanza di 1.440km ha sempre creduto in quello che ho fatto e nelle mie potenzialità.

Un doveroso grazie va rivolto al Prof. Giovanni Maria Farinella, che mi ha aperto

un mondo iniziandomi alla programmazione e facendomi conoscere le potenzialità della Computer Vision, senza di lui “From Face to Data Visualization” non sarebbe esistito, questa

Tesi non sarebbe esistita e non sarebbero esistiti neanche altri progetti, sia lavorativi che artistici, intrapresi in modo autonomo al di fuori dell’Accademia. 65


Importanti punti fermi lungo questo cammino che mi ha portato alla laurea, sono stati i miei

coinquilini, vecchi e nuovi. Da Silvio con cui ho condiviso le mie prime esperienze di “vita catanese” passando per Francesco, amichevolmente Cicciu Masi, che dopo aver già

condiviso l’infanzia e l’adolescenza abbiamo passato anche un anno da coinquilini. Infine arrivando fino a Sarah, Vanessa e Valerio, dove nel corso dell’ultimo anno, tra festini

fatti in casa e tetti pericolanti, ne abbiamo passate tante. In particolare ringrazio Valerio, anche noto come “Me Cusginu” in quanto membro del duo (più o meno comico) I Cugini

Nicastro, è anche grazie a lui se sono arrivato alla fine di questo percorso visto il suo contributo che c’è sempre stato sia fisicamente nel produrre i miei progetti ma anche soltanto concettualmente dandomi l’ispirazione per “fare”.

Un altro ringraziamento da fare, dovuto alla fortuna di aver incontrato persone

fantastiche, va ai miei colleghi con cui nonostante gli alti e bassi, ci siamo sempre trovati

bene affrontando ogni esame che ci separava dalla laurea, insieme. Ringrazio quindi in

ordine sparso: Giacomo, Niki, Roberta, Maristella, Andrea (un collega acquisito), Corrado, Ambra, Milena, Giulia, Federica, Francesco, Giulio, Tatiana, Gaia e tutti gli altri.

Infine ma non per ordine di importanza, ringrazio gli amici “del paese”, con cui ho

condiviso mille esperienze e avventure, viaggiando o semplicemente restando tra le quattro

mura di casa, anche qui in ordine sparso: Francesco (detto Cascio), Filippo (detto Ziu Finu), Angelo, Gianfranco, Michele F. (detto Effe), Michele S., Marco (detto Noyz), Roberto, nonostante la distanza anche a William, Christian e Floriana e ancora i miei fotografi preferiti

Tano Campoccia e Tano Sapiente, i ragazzi dell’Arci Gabriele, Francesco (detto Cusgino Ci), Roberto M., Salvatore D. (detto Rugno), Angelo I. (detto Me Ziu Jà), Alessia, Angelo N.

Spero di non essermi dimenticato di nessuno ma le persone che hanno fatto la differenza in questi anni sono davvero tante. Grazie di tutto

Salvatore 66


67


68


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.